《软件工程(第4版?修订版)》—第1章1.7节开发团队的成员

1.7 开发团队的成员
软件工程(第4版•修订版)
在本章的前面,我们看到客户、用户和开发人员在新产品的定义和创建中发挥着重要的作用。开发人员是软件工程师,但是,每一位工程师可能都只擅长于软件开发的某一特定方面。因此,我们在此更深入、详细地讨论开发团队成员的角色。

任何开发过程的第一步都是找出客户想要什么,并且将需求文档化。正如我们已经看到的,分析就是把事物分解成其组成部分的过程,以便我们能够更好地理解它们。因此,开发团队包含一个或多个需求分析员跟客户一起工作,并且把客户想要的分解为离散的需求。

一旦了解了需求并且把需求文档化,分析员就与设计人员一起工作,生成系统层描述(系统要做什么);然后,设计人员与程序员一起工作,以程序员能够编写实现指定需求的代码行的方式来描述系统。

生成代码之后,必须对它进行测试。通常,第一次测试由程序员自己完成;有时,也使用另外的测试人员帮助程序员发现他们忽略的错误。当代码单元被集成为一个个运行的功能组时,测试人员小组与实现小组会在各部分组合构建系统的过程中,验证系统是否能够正确运行,是否符合规格说明。

当开发团队对系统的功能和质量感到满意时,注意力就转向了客户。测试小组和客户一起验证整个系统是否是客户想要的系统。他们通过把系统如何工作与最初需求规格说明进行比较,来完成这项工作;然后,培训人员向用户说明如何使用这个系统。

就很多软件系统而言,客户的验收并不意味着开发工作的结束。如果在系统验收之后发现了故障,维护小组就要修复它们。另外,随着时间的推移,客户的需求可能会发生变化,系统也必须进行相应的改变。因此,维护可能涉及分析人员,由分析人员决定增加或变更哪些需求;还可能涉及设计人员,由设计人员确定改变系统哪个部分的设计;还可能涉及实现这些变化的程序员,确保改动后的系统仍然正确运行的测试人员,以及向用户解释这些变化如何影响系统使用的培训人员。图1-11说明了开发团队的角色与开发步骤的对应关系。

就课程项目而言,学生通常会自己工作或者在一个开发团队的小组中工作。教师所要求的文档是最少的,学生常常不需要编写用户手册或培训文档。再者,布置的作业是相对稳定的,需求在项目的生命周期中不会发生变化。最后,学生构建的系统很可能在课程结束后就丢弃掉,他们的目的是证明他们的能力,而不必为实际的客户解决问题。因此,对于课程项目而言,程序规模、系统复杂性、文档化的需要以及可维护性的需要都是相对很少的。

但是,对一个实际的客户而言,系统的规模可能会很庞大,复杂性可能会很高,可能需要大量的文档,可维护性的要求也可能会很高。对于一个涉及成千上万行代码并涉及开发团队成员间很多交互的项目来说,项目各方面的控制可能是很困难的。为了支持开发团队中的每一个成员,一些人员可能在开发的最开始就要介入系统,并且自始至终都是如此。
资料管理员负责准备和存储在系统生命周期中用到的文档,包括需求规格说明、设计描述、程序文档、培训手册、测试数据、进度等。与资料管理员一起工作的是配置管理小组的成员。配置管理涉及维护需求、设计、实现和测试之间的对应关系。根据这种交叉引用,开发人员可以得知,如果需要改变需求,相应地要改变什么程序;或者如果提议进行某种改变,会影响到程序的哪一部分。配置管理成员还要协调可能建立或支持的系统的不同版本。例如,一个软件系统可能要运行在不同的平台上,或者按一系列不同的发布进行交付。配置管理要确保各个平台上系统的功能都是一致的,而且新发布的功能不会降级。

开发角色可由一个人或几个人承担。就小型项目而言,两三个人就可以承担所有角色。然而,对大型项目,通常要根据开发中的职责,把开发团队分成不同的小组。有时,维护系统的人员与最初设计和编写系统的人员是不同的。对某些规模巨大的开发项目来讲,客户甚至会雇佣一家公司做最初的开发,而用另外一家公司进行维护工作。我们在后面的章节中讨论开发和维护活动时,会讨论每种类型的开发角色需要哪些技能。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

时间: 2024-11-05 05:44:15

《软件工程(第4版?修订版)》—第1章1.7节开发团队的成员的相关文章

《51单片机应用开发范例大全(第3版)》——第1章 单片机C语言开发基础 1.1 MCS-51单片机硬件基础

第1章 单片机C语言开发基础 单片微型计算机(Single Chip Micro Computer)现已正名为微控制器(MCU,Micro Controller Unit),单片机的称谓只是其习惯称呼.它把组成微型计算机的各功能部件(包括中央处理单元CPU.随机存储器RAM.只读存储器ROM.I/O接口电路.定时器/计数器以及串行口等)集成在一块电路芯片上.由于单片机的硬件结构与指令系统的功能都是按工业控制要求而设计的,因此常用在工业检测.控制装置中. 1.1 MCS-51单片机硬件基础 MCS

《设计团队协作权威指南》—第1章1.1节设计团队的要素

第1章 当设计师成为参与者设计团队协作权威指南设计师,总是团队中最雄心勃勃的人.毕竟那些成功的设计概念和产品享有广泛的知名度.任何行业内,往往那些知名的设计师们会被人们视为唯一一个有远见的人,比如:史蒂夫·乔布斯.迪特·拉姆斯,还有保罗·兰德.然而,所有成功的产品,都不会是某个创意的灵光一闪那么简单.设计师们更喜欢这样的故事,在他们看来这种充满神秘感的体验就是设计的本质,但终有一天他们会看到事实的真相:设计不是个体行为.本书将围绕这一点阐述很多理由.至于"自家后院车库里的天才"这种故事

《Ruby程序员修炼之道》(第2版)—第1章1.1节进入Ruby的世界

第1章 进入Ruby的世界 Ruby程序员修炼之道(第2版) 本章主要内容 Ruby语法的生存工具箱① Ruby基础编程指引:程序编写.保存.运行和错误检查 Ruby安装指南 Ruby的扩展机制 Ruby中易用的命令行工具,包括交互式Ruby解释器(irb) 本书的内容是Ruby基础,而本章是基础中的基石.本章的目标是让读者在开始学习Ruby之前掌握足够的知识和技巧. 接下来读者将看到Ruby的基本语法和技术,以及Ruby的运行机制:如何写一个程序,怎样使用Ruby运行程序,以及如何把一个程序分

《Ruby程序员修炼之道》(第2版)—第1章1.4节易用的Ruby工具和应用程序

1.4 易用的Ruby工具和应用程序 安装Ruby后,就可以得到一组重要的命令行工具,它们被安装在配置信息bindir所指定的文件夹中,通常是/usr/local/bin./usr/bin或者/opt同等的目录中.(可以使用require "rbconfig"去测试一下RbConfig::CONFIG["bindir"]返回的结果.)这些命令行工具具体是以下几个. ruby:解释器. irb:Ruby交互式解释器. - rdoc和ri:Ruby文档工具. rake:

《软件测试技术大全:测试基础 流行工具 项目实战(第3版)》—第1章1.6节模拟面试问答

1.6 模拟面试问答 本章介绍的是软件测试相关的背景,以及软件测试的发展情况等.身为软件测试员,应该或多或少地了解软件测试的发展动态,及其相关的历史事件等内容,这样无论是在与同行交流,向开发人员介绍和讲解测试,还是在应聘面试中,都会有更多的话题. 一般在应聘过程中,面试官可能会问到以下一些问题,读者可以根据自己的了解以及在本章中学到的内容做出相应的回答. (1)您觉得目前的软件测试行业的现状是怎样的? 参考答案:目前的软件测试行业在国内正在蓬勃地发展中,但是由于起步比较晚,虽然大部分公司都已经设

《Ruby程序员修炼之道》(第2版)—第1章1.3节Ruby扩展和编程库

1.3 Ruby扩展和编程库本节的要点并不是关于Ruby标准库的参考.曾在引言中解释过,本书的目标不是编写一本Ruby语言的参考文档,而是教会读者使用Ruby语言并掌握它,并最终拓宽视野. 相应地,本节的目标是讲述扩展的工作方式,即如何使用Ruby运行这些扩展.它们之间技术实现的不同,并最终能让用户自己编写扩展和库文件的扩展架构. 随Ruby发布的扩展通常全部作为标准库来引用.标准库包括为不同项目和任务所提供的扩展,如数据库管理.网络.数学领域.XML处理等.标准库精密的结构每次改变,哪怕只有一

《编程珠玑(续)(修订版)》—第1章1.4节开发性能监视工具

1.4 开发性能监视工具开发一个真正的性能监视工具是件困难的事情.Peter Weinberger⑤开发了C行计数性能监视工具,我们前面看到的输出就是这个工具产生的.他在几个月时间内断断续续干了好几周才完成这个项目.本节描述如何更容易地开发一个简化版本. Dick Sites声称他的朋友"在某个周末实现了语句计数".我觉得这简直难以置信,于是我决定要试着为附录A描述的Awk语言(这种语言还没有性能监视工具)开发一个性能监视工具.几小时后,当我运行程序P6的Awk版本时,我的性能监视工具

《Ruby程序员修炼之道》(第2版)—第1章1.2节剖析Ruby的安装

1.2 剖析Ruby的安装在系统上安装Ruby意味着在许多磁盘目录中安装了Ruby语言的库和支持文件.大多数时候,Ruby都知道如何找到其所需要的这些目录而不用弹出提示.但是了解Ruby安装的知识对了解Ruby本身大有益处. 查看Ruby的源代码 除了Ruby安装目录体系之外,Ruby的源代码目录也安装好了.如果没有,可以到Ruby的主页中下载.源代码目录中包含了许多在最终安装中出现的Ruby文件和许多已编译为目标文件并安装好的C语言文件.另外,源代码目录包含了一些如ChangeLog和软件授权

《设计团队协作权威指南》—第1章1.2节设计团队是一个凝聚的整体

1.2 设计团队是一个凝聚的整体构成设计团队的元素和指导项目构造的原则组成一个框架,这个框架看起来是由一些要素.方法和环境构成的.但是,它首先是一群团队成员紧紧抱团的集体. 1.2.1 基本价值观每一个设计团队都有属于他们的基本价值观.没有这些,设计团队无法有效发挥作用.这些价值观决定了团队成员相处的态度.这些基本价值观中最重要的是尊重.谦虚和包容. 尊重设计师通过他们伟大的工作赢得尊重,从而赢得投资方或其他同事的认可.知名设计师可能会得到其他设计师的尊重,但那是由他在市场上取得的成功带来的,一