第7章IDP项目研发过程资料.docx

上传人:b****6 文档编号:5833969 上传时间:2023-01-01 格式:DOCX 页数:18 大小:71.14KB
下载 相关 举报
第7章IDP项目研发过程资料.docx_第1页
第1页 / 共18页
第7章IDP项目研发过程资料.docx_第2页
第2页 / 共18页
第7章IDP项目研发过程资料.docx_第3页
第3页 / 共18页
第7章IDP项目研发过程资料.docx_第4页
第4页 / 共18页
第7章IDP项目研发过程资料.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

第7章IDP项目研发过程资料.docx

《第7章IDP项目研发过程资料.docx》由会员分享,可在线阅读,更多相关《第7章IDP项目研发过程资料.docx(18页珍藏版)》请在冰豆网上搜索。

第7章IDP项目研发过程资料.docx

第7章IDP项目研发过程资料

第7章

7.1需求开发与管理

需求开发与管理的目的是通过“调研、分析、定义、评审确认、细化跟踪、变更控制”等活动,使开发方和客户对需求有共同、清晰的理解,并依据双方确认的需求开展后续开发工作(如设计、编程、测试等)。

需求开发与管理的流程如图7-1所示,该流程的主要工作成果和责任人见表7-1。

一般地,在立项之前,产品经理应当撰写《产品需求说明书》,项目销售人员应当撰写《合同项目需求说明书》。

但是此时的需求说明书通常是宏观粗略的,不足以让项目开发团队依据此需求说明书开展设计和编程工作。

需求

调研

评审

确认

需求开发

需求

分析

需求

定义

需求管理

细化跟踪

变更控制

项目开发团队应当在产品经理、销售人员的工作成果基础之上,进一步开展需求调研、分析、定义、评审确认、细化和跟踪活动。

项目经理根据本项目的人力资源来确定需求分析员(通常是项目经理或资深开发工程师担任需求分析员)。

图7-1需求开发与管理的流程

关键活动

主要工作成果

主要责任人

需求调研

需求分析

需求定义

《需求调研记录》

《产品需求说明书》或

《合同项目需求说明书》

需求分析员

需求评审确认

需求评审报告,签字确认

开发方和客户方的责任人

需求细化跟踪

需求跟踪表

需求分析员

需求变更控制

需求变更控制报告

开发方和客户方的责任人

表7-1主要工作成果和责任人

7.1.1需求调研

需求分析员起草需求问题表,将调查重点锁定在该问题表内,否则调研工作将变得漫无边际。

需求分析员确定需求调研的方式,例如:

✧与用户交谈,向用户提问题。

✧参观用户的工作流程,观察用户的操作。

✧向用户群体发调查问卷。

✧与同行、专家交谈,听取他们的意见。

✧分析已经存在的同类软件产品,提取需求。

✧从行业标准、规则中提取需求。

✧从Internet上搜查相关资料。

需求分析员与被访谈者建立联系,确定调查的时间、地点、人员等,要特别留意的是不要漏掉典型的用户。

需求分析员在调研过程中随时填写“客户需求记录”,参考格式如表7-2所示。

提示:

集成化研发管理平台RDMS的“客户需求记录”功能满足此要求。

项目名称

需求分析员

被调研者

调研方式

如面谈,电话交谈等

时间、地点

需求标题

描述

表7-2客户需求记录的参考格式

需求分析员整理所有客户需求记录,归纳与总结共性的需求,为撰写详细的《需求说明书》作准备。

调研过程中获取的需求信息可以作为《需求说明书》的附件。

7.1.2需求分析

需求分析的目的是对各种需求信息进行分析,消除错误,刻画细节等。

常见的需求分析方法有“问答分析法”和“建模分析法”两类。

问答分析最重要的问题是:

“是什么”和“为什么”。

每个需求都应当用陈述句说明“是什么”,如果“是什么”的内涵不够清晰,则应补充说明“不是什么”。

如果“是什么”和“不是什么”并不是“理所当然”的,那么应当解释“为什么”,以便加深读者的理解。

追究“是什么”和“为什么”的目的是获得正确、清楚的需求。

对于某些类型的信息,用图形表示要比文本表示更加有效。

所以将图形与文本结合起来描述需求是很自然的方法。

需求建模就是指用图形符号来表示、刻画需求。

现代建模工具如Rose有非常丰富的图形符号和文字标注,能很好地表达模型的细节。

要注意的是:

在建模时使用花样过多的图形符号或文字意味着模型表示的复杂化,将使开发人员更难掌握,而且使图形文档更加杂乱。

世上不存在一个包罗万象的图用以完整地描述需求。

需求建模不可能取代文字描述。

在需求文档中,文字描述是第一重要的,建模主要是起分析、解释作用。

建议将模型存放在需求文档的附录中,便于正文引用。

7.1.3需求定义

需求分析员根据需求调查和需求分析的结果,进一步定义准确无误的需求,产生《需求说明书》。

产品需求说明书的模板参见表5-2,合同项目需求说明书的模板参见表5-7。

好的需求说明书有如下特征:

Ø正确:

需求文档应当正确地反映客户的真实意图。

Ø清楚:

清楚的需求让人易读易懂。

Ø无二义性:

每个需求只有唯一的含义。

Ø一致:

需求文档的上下文之间不会发生矛盾。

Ø必要:

需求文档中的各项需求对用户而言应当都是必要的。

Ø完备:

需求文档中没有遗漏必要的需求。

Ø可实现:

需求文档中的各项需求对开发方而言应当都是可实现的。

Ø可验证:

需求文档中的各项需求对客户方而言应当都是可验证的。

7.1.4需求评审确认

一、需求评审

需求分析员邀请项目成员(包括项目经理)和客户代表共同评审《需求说明书》,大家尽最大努力使《需求说明书》能够正确无误地反映用户的真实意愿。

申请

申请人

评审人

需求评审

需求评审会议

执行

执行负责人

需求评审的流程和技术评审流程相同,如图7-2所示。

一般地,需求分析员为申请人,项目经理为评审负责人,项目成员和客户代表可以担任评审员。

所有评审人员认真检查需求文档,力求使需求文档达到正确、清楚、无二义性、一致、必要、完备、可实现、可验证。

图7-2需求评审流程

二、需求确认

需求确认是指当《需求说明书》通过评审之后,开发方负责人和客户方负责人作书面承诺,使之具有商业合同效果。

提示:

书面承诺一般放在《需求说明书》的最后一页。

人们作出书面承诺之前务必要认真阅读文档,一定要明白签字意味着什么。

“书面承诺”的示例如下:

本《需求说明书》建立在双方对需求的共同理解基础之上,我同意后续的开发工作根据该《需求说明书》开展。

如果需求发生变化,我们将按照“需求变更控制流程”执行。

我明白需求的变更将导致双方重新协商成本、资源和进度等。

开发方负责人签字

客户方负责人签字

7.1.5需求细化跟踪

在后续开发过程中,人们会对原先的需求文档进行细化。

为了提高工作效率,补充需求细节不必按照需求变更来处理。

需求分析员将补充的需求内容保存在新的文档中,及时通知相关开发人员,只要大家正确理解了新的需求内容即可。

需求分析员要填写需求跟踪表,及时检查后续开发成果是否和需求保持一致。

CMMI建议的“需求跟踪矩阵”要把“需求-设计-代码-测试”的所有关系全部罗列出来,过于复杂和麻烦。

根据作者调查,几乎没有人能够长期使用理想化的“需求跟踪矩阵”。

为了提高需求跟踪的效率,应当简化需求跟踪表,如表7-3所示。

提示:

集成化研发管理平台RDMS的“项目需求管理”功能满足此要求。

项目名称

需求目录

需求变更

对应测试用例

相关缺陷

跟踪记录

表7-3简化的需求跟踪表

7.1.6需求变更控制

对大多数项目而言,需求发生若干次变更似乎是不可避免的。

需求发生变更的起因主要有:

Ø随着项目的进展,人们(包括开发方和客户方)对需求的了解越来越深入。

原先的需求文档可能存在这样那样的错误或不足,因此要变更需求。

Ø市场发生了变化,原先的需求文档可能跟不上当前市场需求,因此要变更需求。

提出需求变更的动机是好的,目的是希望产品更加符合用户的需求。

对项目开发团队而言,变更需求意味着要调整资源、重新分配任务、修改前期工作成果等,开发团队要为此付出较重的代价。

如果每次需求变更请求都被采纳的话,这个项目也许永远不能按时完成。

需求变更控制的动机是:

(1)如果需求变更带来的好处大于坏处,那么允许变更,但必须按照已定义的变更规程执行,以免变更失去控制。

(2)如果需求变更带来的坏处大于好处,那么拒绝变更。

需求的变更应当遵循“变更控制流程”,即“变更申请->审批->执行”,详见本书第6.3.2节“变更控制”。

7.2软件系统设计

系统结构设计

软件系统设计

用户界面设计

数据库

设计

系统设计评审

产生《软件系统设计说明书》和“可运行系统框架”

软件系统设计的主要内容有体系结构设计、用户界面设计、数据库设计和设计评审,在需求与代码之间建立桥梁,指导工作人员开发能够满足用户需求的软件系统。

如图7-3所示。

图7-3软件系统设计的示意图

项目经理根据本项目的人力资源来确定系统设计师(可以多人)。

系统设计师撰写《软件系统设计说明书》,并构造可运行的软件系统框架,所有的模块都是在该系统框架上开发和运行。

《软件系统设计说明书》的模板参见表7-4。

软件系统设计说明书

1.系统概述

2.设计约束

3.开发、测试与运行环境

4.软件系统结构图

5.功能模块设计概述

5.1模块汇总

5.2模块之间的关系

6.数据库设计概述

6.1数据库环境说明

6.2数据库命名规则

6.3安全性设计说明

6.4表汇总和表设计(使用表设计工具PowerDesign)

7.用户界面设计概述

8.综合考虑(可选)

8.1稳定性和可扩展性

8.2性能分析

8.3复用和移植

8.4防错与出错处理

8.5其它

表7-4软件系统设计说明书

7.2.1系统结构设计

系统设计师进行系统结构设计:

Ø确定本系统的约束条件;

Ø确定本系统的开发、测试和运行环境;

Ø将系统分解为模块,确定每个模块的功能,以及模块之间的关系,绘制系统结构图。

7.2.2用户界面设计

系统设计师设计和构建用户界面原型,目的是:

Ø加深开发方和客户方对软件需求的理解(界面原型直观地反映了软件需求);

Ø在编程之前让相关人员看到用户界面原型,不仅可以提高界面的易用性,还提高了程序员的开发效率(避免反复修改界面及其代码)。

第1步绘制界面示意图

系统设计师首先分析用户对界面的需求,例如:

Ø用户的工作习惯

Ø用户对界面有什么喜好

Ø有什么强制要求

Ø是否有范例

系统设计师构思并绘制用户界面示意图,常用方式如下:

Ø在纸张上绘制用户界面示意图(效率高但是不便于保存)

Ø用Word或者Visio等工具绘制线框图(效率低但可以作为文档保存)

第2步制作界面原型

系统设计师制作界面原型(通过编程或者绘图等方式),将所有界面原型的图片保存在指定的文件夹中,并用HTML建立简要的索引,这样做的好处有:

Ø便于其他人员审阅(使用IE浏览);

Ø需求分析员不必将界面原型图片插入到需求文档中;

Ø修改界面原型图片将不会影响其它文件;

第3步体验和改进

界面设计师邀请项目成员或者用户来体验界面原型,大家给出改进建议,力求使用户界面满足以下10个设计要素:

(1)用户界面适合于展现软件的功能

(2)适合用户群体

(2)容易理解

(3)及时反馈信息

(4)防错处理

(5)合理的布局

(6)合理的色彩

(7)风格一致和必要的个性化

(9)最少操作步骤(最高效率)

(10)国际化、可复用等

7.2.3数据库设计

系统设计师进行数据库设计:

Ø确定数据库的环境说明

Ø确定数据库的命名规则

Ø确定安全性设计方法

Ø使用表设计工具PowerDesign设计主要的表结构

7.2.4系统设计评审

当系统设计师撰写完成《软件系统设计说明书》并构建可运行的系统框架之后,邀请项目成员(包括项目经理)和本公司技术专家开展系统设计评审。

详见“技术评审”的流程。

系统设计评审的目的是,在同行专家的帮助下,尽早地发现本系统中存在的设计缺陷,及时消除设计缺陷。

7.3模块开发和集成

增量模式的模块开发和集成流程如图7-4所示,主要内容有:

“模块需求细化”、“模块设计”和“模块实现和集成”。

模块需求细化

《模块需求说明书》

模块设计

模块实现和集成

《模块设计说明书》

可运行模块,交付测试

增量开发

项目经理分配任务给开发工程师,开发工程师对模块的质量和进度负最大责任。

图7-4模块开发和集成的流程

7.3.1模块需求细化

开发工程师阅读《产品需求说明书》或《合同项目需求说明书》,分析并细化自己承担的模块需求,撰写详细的《模块需求说明书》,模板参见表7-5。

如果发生比较大的需求变更,则按“变更控制流程”执行,向项目经理申请需求变更。

模块需求说明书

项目名称

撰写人/修改人

模块名称

完成日期

1.模块用途和功能介绍

2.模块流程介绍(可选)

3.字段说明

字段名称

必填项*

说明

4.操作说明

操作名称

功能说明

用户角色和权限

……

表7-5模块需求说明书的参考模板

7.3.2模块设计

模块设计的主要内容:

Ø设计模块的接口;

Ø设计模块的数据结构和算法;

Ø设计和细化本模块相关的用户界面;

Ø设计和细化本模板相关的数据库;

对于比较复杂的模块,开发工程师应当撰写必要的《模块设计说明书》,参考模板见表7-6。

模块设计说明书

项目名称

撰写人/修改人

模块名称

完成日期

1.主要编程接口

2.主要数据结构

3.主要算法

4.相关的用户界面设计说明

5.相关的数据库设计说明

……

表7-6模块设计说明书的参考模块

7.3.3模块实现和集成

所有开发工程师按照既定的编程规范来实现自己承担的模块,并在系统框架中和其它模块集成一起。

开发工程师自己必须先进行测试,必须走通模块的功能,消除自己已经发现的缺陷。

开发工程师把待测试的软件包发布到约定的测试机器上,把本模块相关的需求说明书、设计说明书交付给测试人员,并向测试人员解释清楚待测试模块的特征。

7.4测试与改错

测试与改错的目的是在给定的项目条件下(人员、时间、工具等限制)尽可能地找出软件中的缺陷,并及时消除这些缺陷。

测试与改错的流程如图7-5所示,关键活动是“准备测试”、“执行测试”和“消除缺陷”。

建议使用缺陷跟踪工具和测试管理工具,用于记录测试用例和修改Bug的整个过程。

提示:

集成化研发管理平台RDMS的“测试管理”和“缺陷跟踪”功能满足此要求。

图7-5软件测试与改错的流程

7.4.1测试准备

测试准备主要有3件事情:

制定测试计划,设计测试用例,构建测试环境。

一、制定测试计划

测试工程师和项目经理商议测试计划,撰写《测试计划》,最好用软件工具来管理测试工程师的任务。

二、设计测试用例

测试用例是用于检验目标软件是否符合要求的一种“示例”,基本要素有:

前提条件、输入数据或动作、期望的响应。

《测试用例》就是描述各种测试用例的文档,相当于一本“测试操作手册”。

关于测试用例的一些常识如下:

(1)设计测试用例的目的是找出需求、设计、代码中的毛病,因此最好尽可能早地设计。

(2)测试用例的设计需要动脑筋,不见得比“正向设计”简单。

(3)不同的测试用例其用途应当不一样,不要累赘。

(4)显而易见的测试用例不必完整地用文字描述,因为此时文字描述的价值不大、反而消耗时间。

测试工程师根据模块需求说明书和设计说明书,撰写《测试用例》,格式见表7-8。

开发工程师审阅《测试用例》,提出改进建议,双方达成共识。

测试用例

项目名称

用例名称

撰写人

测试工程师

功能描述

前提条件

输入/动作

期望的输出

示例:

典型值…

示例:

边界值…

示例:

异常值…

审阅人

开发工程师

审阅意见

 

表7-8测试用例的参考模板

三、构建测试环境

测试工程师(和开发工程师)构建测试环境,注意测试环境要尽可能接近用户的运行环境。

7.4.2执行测试

测试人员按照《测试用例》执行测试。

如果发现Bug,则记录在Bug跟踪工具中,并通知项目经理或开发人员。

开发人员及时消除Bug后,更改Bug跟踪工具中的相关信息。

测试人员验证后,关闭该Bug。

7.4.3消除缺陷

消除缺陷的第一步是找出缺陷的根源,如同医生治病,必须先找出病因才能“对症下药”。

开发人员必须从结果出发,逆向思考。

一旦找到了根源,开发人员通常知道如何消除缺陷。

查找缺陷的基本方法是“粗分细找”。

对于隐藏得很深的Bug,应该运用归纳、推理、“二分”等方法先“快速、粗略”地确定错误根源的范围,然后再用调试工具仔细地跟踪此范围的源代码。

开发人员在改错时,要注意以下事项:

(1)找到错误的代码时,不要急于修改,先思考一下:

修改此代码会不会引发其它问题?

如果没有问题,可以放心修改。

如果有问题,那么可能要改动程序结构,而不止一行代码。

(2)有些时候,软件中可能潜伏同一类型的许多错误(例如由不良的编程习惯引起的)。

好不容易逮住一个,应当乘胜追击,全部歼灭。

(3)在改错之后一定要马上重新测试,以免引入新的错误。

改了一个程序错误固然是喜事,但要防止乐极生悲。

更加严格的要求是:

不论原先程序是否绝对正确,只要对此程序作过改动(哪怕是微不足道的),都要重新测试。

(4)上述事情做完后,应当好好反思:

我为什么会犯这样的错误?

怎么能够防止下次不犯相似的错误?

最好能写下心得体会,与他人共享经验教训。

7.5软硬件系统集成

软硬件系统集成既可能是客户的需求(合同项目),也可能是本公司的应用需求。

软硬件系统集成的一般流程如图7-6所示,关键活动是“系统集成方案设计”、“选择设备供应商”、“设备采购和验收”和“设备安装调试”。

图7-6软硬件系统集成的一般流程

7.5.1系统集成方案设计

项目开发团队设计系统集成方案,主要工作:

(1)根据需求,构思设计系统集成方案。

(2)编写《系统集成方案》。

(3)项目开发团队和客户共同评审《系统集成方案》,通过后进入下一步。

7.5.2选择设备供应商

项目经理和采购人员共同“选择设备供应商”,主要工作:

(1)对比分析多家候选供应商的设备。

(2)从多家候选供应商中选择合适的供应商。

(3)和选定的供应商进行合同谈判。

(4)和选定的供应商签订设备采购合同。

7.5.3设备采购和验收

项目经理和采购人员“采购设备并验收设备”,主要工作:

(1)跟踪设备采购,确保供应商在计划时间内送货。

(2)设备验收,确保设备符合质量要求。

(3)根据合同支付相应的款项。

7.5.4设备安装调试

项目经理安排“设备安装调试、软件部署”的工作计划,主要工作:

Ø项目经理协助供应商将设备安装在客户指定的场地。

Ø供应商负责调试设备,项目经理检查,确保设备正常运行。

Ø在“部署试用”过程域中,项目成员将软件部署到指定的环境中,详见7.6节。

7.6部署试用

部署试用过程域的关键活动是“撰写文档”、“软件部署”、“客户培训”和“客户试用”,流程见图7-7,主要工作成果见表7-9。

图7-7部署试用的流程

 

关键活动

主要工作成果

责任人

撰写文档

软件部署

客户培训

软件部署说明书

安装和使用手册

项目指定人员

客户试用

客户试用反馈

项目经理

表7-9主要工作成果

7.6.1撰写文档

当项目开发完成并经过测试之后,项目经理指定项目成员及时撰写《安装手册》、《使用手册》、《软件部署说明书》等必需文档。

7.6.2软件部署

项目经理审阅《软件部署说明书》,模板参见表7-10,如果发现问题,则及时指正。

项目经理确认无误后,再安排开发工程师为客户(或者本公司)部署软件系统:

✧为客户安装(或更新)软件系统,迁移数据;

✧为客户初始化业务数据,确保软件能够正常运行;

注意:

部署的软件系统必须是从配置库中提取已经测试通过的软件包。

最好通过Internet进行远程部署,节省交通费用和时间。

软件部署说明书

项目(系统)名称

撰写人

1.部署环境说明(硬件和软件系统)

2.需要初始化的数据

3.需要迁移(升级)的数据

4.注意事项

项目经理审阅意见

部署过程中的

主要事项记录

表7-10软件部署说明书

7.6.3客户培训

项目经理指定项目成员(即讲师)负责给客户培训。

讲师和客户商定培训计划(确定时间、地点、人员批次等)。

讲师按照计划给客户培训,并填写《客户培训记录》,格式参见表7-11,作为培训服务的依据。

客户培训记录

讲师

课程名称

培训时间

地点

客户名称

学员

 

培训内容介绍

 

相关资料

客户签字确认

表7-11客户培训记录

7.6.4客户试用

对于自主产品,项目成员把软件部署到本公司指定的机器上,产品经理邀请潜在客户试用本软件。

对于合同项目,项目成员把软件部署到客户指定的机器上,客户方人员试用软件。

客户方和开发方在签订合同的时候,应当确定“试用协议”。

如果事先没有商定,双方可以根据软件复杂程度协商后补充“试用协议”。

常见的“试用协议”如下:

当乙方(开发方)为甲方(客户方)部署软件并进行培训后,甲方组织人员进行为期X周的软件试用。

在试用期间内,如果甲方发现软件中存在严重的Bug(如死机、数据丢失、无法运行等),则乙方应当在24小时之内给出解决问题的措施。

如果超过试用期,乙方仍然没有完全消除甲方报告的Bug,那么试用期顺延,直到乙方完全消除甲方报告的Bug为止。

如果甲方在试用期间内没有报告严重Bug,那么试用期结束时,视为顺利通过试用。

如果试用期间,甲方提出改进需求、以及报告了一些不严重的缺陷,乙方作为正常维护工作来处理,不延误甲方验收产品。

客户在试用软件的过程中,将发现的Bug以及对软件的建议及时告知开发方。

项目经理和开发工程师及时处理客户反馈来的Bug和建议。

✧对于客户发现的Bug,开发方应当立即纠正。

✧对于一些难以马上实现的有益建议,由项目经理(或上级领导)决定如何处理。

✧开发方应当及时把处理结果回复给客户,否则客户可能因得不到开发方的重视而降低试用的积极性。

提示:

集成化研发管理平台RDMS的“客户问题受理”功能满足此要求。

7.7软件维护

软件维护可以划分为两大类:

Ø纠错性维护。

由于前期的测试不可能揭露软件系统中所有潜伏的Bug,用户在使用软件时仍将会遇到Bug,诊断和改正这些Bug的过程称为纠错性维护。

Ø完善性维护。

在软件的正常使用过程中,用户还会不断提出新的需求。

为了满足用户新的需求而增加软件功能的活动称为完善性维护。

如果需求变更很大,那么完善性维护将转变为软件新版本的开发(即新的项目)。

接受维护请求

执行软件维护

分析维护请求

客服人员

负责人

维护人员

软件维护的一般流程见图7-8,主要活动有“接受维护请求”、“分析维护请求”和“执行软件维护”。

图7-8软件维护的一般流程

7.7.1接受维护请求

公司应当建立通畅的软件维护通信渠道,包括网站、电话、Email等手段。

客户通过各种渠道向公司的客服人员提出软件维护请求。

本公司客服人员记录这些维护请求。

如果公司有专门的维护小组,那么客服人员把维护请求转发给维护小组,由维护小组负责处理。

如果公司没有专门的维护小组,那么客服人员把维护请求转发给相关的负责人,例如是该软件的项目经理,如果项目已经结束,则转交给开发部门的领导。

7.7.2分析维护请求

负责人接受到维护请求后,进行分析:

(1)对于“纠错性维护”,首先确认Bug的真实情况,然后指定维护人员,协商安排修改Bug的任务进度。

然后告知客户相应的维护计划。

(2)对于“完善性维护”,负责人要综合

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1