原创 软件工程过程规范(裁剪的RUP)第三部分(技术过程) 收藏

 | 旧一篇:  软件工程过程规范(裁剪的RUP)第二部分(管理过程)

第三部分技术过程规范

本规范中将软件开发的整个技术过程分为五个顺序实施的工作流程,分别为需求、分析、设计、实现和测试。在一次迭代过程中,这五个工作流程从总体上是顺序的,但彼此之间又存在交叉和重叠。
9 需求

 
9.1 管理需求
执行角色
系统分析员
活动描述
通过访谈、问卷、审阅合同等形式收集用户需求;
通过走查等非正式形式评估需求收集结果,确保无需求重复、不一致、不清晰等问题;
*对于需求的变更请求,此时的变更请求应当已经过变更控制与项目复审委员会复审,可直接作为正式的需求;
在模型元素与需求之间建立可追踪性链接;
建立需求属性;
制品
需求集;
9.2 查找参与者和用例
执行角色
系统分析员
活动描述
命名并简述已发现的主角;
命名并简述已发现的用例,概述事件流并收集非功能性需求(记录在《增补需求》中);
形成用例模型(描述用例间的关系并将参与者和用例打包);
制品
用例模型(概要的);
《增补需求》;
9.3 排列用例优先顺序
执行角色
构架设计师
活动描述
一般根据用例的重要性、风险来确定用例优先级;优先级可用数字表示,该数字表示该用例在那一次迭代中实现;优先级也可以用关键、重要、辅助等级来表示;
制品
用例模型(更新的);
9.4 详细说明用例
执行角色
用例工程师
活动描述
建模某用例与其他用例、用例与参与者的关系;
详细说明用例事件流;
制品
用例(详细说明的);
《SRS》;
9.5 原型化用户界面
执行角色
用户界面设计员
活动描述
用各种界面元素形成用户界面原型;
制品
用户界面原型;
9.6 组织用例模型
执行角色
系统分析员
活动描述
描述用例间的关系(包含、扩展、泛化),优化用例模型;
制品
用例模型(结构化的);
9.7 复9.8 审需求
执行角色
需求复审员
活动描述
正式核实需求结果符合客户对系统的看法,建议召开复审会议,复审如下内容:
影响现有需求集的变更请求;
整个用例模型;
对用例及其图表的复审(适合每个用例);
制品
《复审记录》;
10 分析

 

10.1 构架分析
执行角色
构架设计师
活动描述
编写构架概述,采取了使用大量图片、示意板或图标化图形的非正规形式来对构架进行概述,这部分工作通常只在项目早期进行;
定义子系统的高层组织,在构架分析中通常侧重于两个高层层次,即应用程序层和业务专用层;
根据该层次组织形成分析包,将一些紧密联系的用例分配给一个具体包,然后在该包中实现相应的功能,确定服务包,同一服务包中的分析类都用于相同的服务;
确定明显的实体类;
确定特殊需求,如分布与并发、永久性机制、安全性机制等;
制品
分析包(概要的);
实体类(概要的);
分析模型;
10.2 用例分析
执行角色
用例工程师
活动描述
确定边界类、实体类和控制类;为每个由人或其他系统充当的参与者确定一个主要的边界类;将参与某个用例实现的分析类收集到一个类图中;
描述分析类间的交互(主要用协作图实现);
确定每个用例实现的所有需求(非功能性需求);
制品
分析类(概要的);
用例实现-分析;
10.3 形成分析类
执行角色
设计员
活动描述
确定分析类的职责,可以用类的成员函数来表示,但仅仅是概念上的;
确定分析类的属性,可以用类的成员变量来表示,但仅仅是概念上的;
确定分析类间的关系;
确定分析类特殊需求;
制品
分析类(完整的)
10.4 形成分析包
执行角色
设计员
活动描述
将相关性较强的分析类打包成一个分析包;
包间应遵循高内聚、低耦合的原则;
制品
分析包(完整的)
10.5 分析复10.6 审
不要求正式复审,但应当对分析过程的制品进行检查
执行角色
建议由构架设计师执行
活动描述
检查或复审分析类、分析包、用例实现-分析、分析模型;
制品

11 设计
 

11.1 构架设计
执行角色
构架设计师
活动描述
识别节点和网络配置,将这些元素映射到实施模型;
识别子系统及其接口(一般来讲一个子系统映射到一个分析包,子系统对应到一个可执行构件);
识别对构架有重要意义的类(不要设计细节,数目不要太多),识别主动类(进程和线程),考虑并发要求,将这些主动类分布到具体的节点上;
制品
子系统(概要的);
接口(概要的);
设计类(概要的);
实施模型(概要的);
构架描述(设计模型和实施模型视图);
11.2 用例设计
执行角色
用例工程师
活动描述
识别设计类,使用类图来表示参与某一用例的类;
描述设计对象间的交互(可以用序列图来表示对相间的交互);
识别参与的子系统和接口;
描述子系统间的交互作用(用序列图);
捕获实现性需求(非功能性需求);
制品
子系统(概要的);
接口(概要的);
设计类(概要的);
 用例实现-设计;
11.3 形成设计类
执行角色
设计员
活动描述
根据分析类或接口来勾画一个设计类:边界类à用户界面类;实体类à数据库管理类;控制类à一个或一组类;
识别操作(跟踪分析类的职责、分析类的非功能性需求及接口);
识别属性;
识别类之间的关系;
要对方法进行描述,尤其要对复杂的方法进行详细描述,可以由自然语言或伪码进行描述,也可以用状态图进行描述;
对于状态控制的设计对象,可以用状态图进行描述;
制品
设计类(完整的);
11.4 形成设计子系统
执行角色
设计员
活动描述
形成设计子系统;
形成设计子系统的接口;
制品
子系统(完整的);
接口(完整的);
11.5 数据库设计
执行角色
数据库设计师
活动描述
在组件视图中创建数据库模型;
在逻辑视图中创建方案,将该方案分配给数据库;
在该方案中创建对象模型视图;
在方案中创建表、视图等;在表中创建列;
在数据模型视图中创建表之间的关系;
为数据库分配存储过程、触发器等行为;
制品
数据模型;
11.6 复11.7 审设计
执行角色
设计复审员
活动描述
复审设计模型总体,在先启阶段和精化阶段的早期,总体复审着重检测模型的整体结构,尤其重点检查分层和接口;
复审每个用例实现;
复审每个子系统(及其内容)或类(如果系统很小);
制品
无;
11.8 复11.9 审构架
执行角色
构架复审员
活动描述
进行软件构架评估的最佳时机就是在精化阶段结束的时候。该阶段主要集中在对需求进行详尽研究,并建立构架的基线。构架复审由在该阶段的里程碑的流程确定。在此情形下,可以进行大范围的构架质量检查。
制品
无;


12 实现
 
12.1 构架实现
执行角色
构架设计师
活动描述
确定在生命周期早期对构架有重要意义的构件,以启动实现工作;
建立实现模型;
把可执行构件映射到节点上;
制品
实现模型;
构件(概要的,可能被映射到节点上);
构架描述(实现模型和实施模型的视图);   
12.2 制定集成构造计划
执行角色
任意角色
活动描述
计划应实施哪些子系统,以及在当前迭代中按照什么顺序集成子系统;
根据一个完整的用例实现寻找要实现的构件并分配给不同的构造;
制品
实现模型;
《集成构造计划》;   
12.3 实现一个子系统
执行角色
程序员
活动描述
当前构造所需的子系统内的每个类应当由实现子系统中的构件来实现;
当前构造所需的子系统的每个接口也应当由实现子系统实现;
制品
实现子系统(已完成设计的); 
接口; 
12.4 实现一个类
执行角色
程序员
活动描述
实现成员函数;
制品
构件(完整的);   
12.5 单元测试
略。
12.6 集成系统
执行角色
任意角色
活动描述
验证工作版本并晋升基线;
制品
工作版本(更新的);   
12.7 复12.8 审代码
执行角色
代码复审员(可以由技术监督小组成员兼任)
活动描述
走查/审查代码是否符合《编码规范》,提出更改/返工意见;
制品
无;
13 测试
 

13.1 制定测试计划
执行角色
测试员
活动描述
确定测试需求,包括功能性需求(参与测试的用例)和性能需求;
确定测试优先顺序,一般分为:
H - 必须测试
M - 应该测试,只有在测试完所有 H 项后才进行测试
L - 可能会测试,但只有在测试完所有 H 和 M 项后才进行测试;
制定测试策略;
确定测试资源,包括人员、测试环境等;
制定测试进度;
形成《测试计划》;
制品
《测试计划》;
13.2 设计测试
执行角色
测试员
活动描述
确定并说明测试用例,测试用例应考虑分支情况;
构造用户说明如何执行测试用例的测试规程(若测试用例足够详细,测试规程可以省略);
制品
测试用例;
《测试规程》;
13.3 实现测试
执行角色
程序员
活动描述
该部分主要用来产生测试构件以使测试自动化;该部分常用来产生测试数据、显示测试结果等;该步骤不是必需的;
制品
测试构件;
13.4 执行集成测试
执行角色
测试员
活动描述
对当前构造的每一个用例执行测试规程,或运行测试构件自动执行测试规程;
将测试结果与预期结果比较;
记录并提交缺陷;
制品
缺陷;
13.5 执行系统测试
执行角色
测试员
活动描述
与集成测试类似;
制品
缺陷;
13.6 评估测试
执行角色
测试员
活动描述
分析测试结果并提交变更请求;
评估基于需求的测试覆盖;
评估基于代码的测试覆盖;
确定是否达到了测试的完成标准和成功标准;
生成测试评估摘要;
制品
《测试评估摘要》;


 

发表于 @ 2004年10月21日 21:01:00|评论(loading...)|编辑

 | 旧一篇:  软件工程过程规范(裁剪的RUP)第二部分(管理过程)

评论

#twirk 发表于2004-10-26 15:17:00  IP: 61.138.13.*
要是有详细的Pdf文档下载就好了!当然了,如果有具体的例子就更好了。
#dear_book 发表于2004-11-02 15:03:00  IP: 211.150.236.*
电话:010-82645151 详情参见:www.f c s o f t.com.cn
什么是eform开发平台?
eform是基于浏览器的表单自定义工具,eform是页面设计工具,eform内含大量构件.不用写一行代码便能用eform开发出来常见的功能点.

使用eForm平台有如下好处:
1、用eform平台开发能降低开发人员的技术门槛,使很低水平的人就能开发一个软件项目中常见的功能.例如数据库的数据增删改查打印等等,而这部分功能往往也占居了一个软件项目的大部分.这样一个软件项目开发成员中可以有一大部分人是中专生甚至是高中生就能胜任.从而大大降低了整个软件项目的开发成本.另一方面因为低水平的开发人员很容易招聘到,这样也使软件项目更加容易完成.

2、用eform平台开发的代码一致性比较好,以后维护升级方便.因为只有个性化的功能才需要编写事件代码.所以代码量很少,大量的调用底层的代码,这样代码的集成度高.以后维护升级时修改的代码量非常少.


3、用eform平台开发能大大提高开发效率.eform平台采用对常见的功能和控件内置的方法,使得开发一些常见的功能(如数据库的增删改查,树控件,表格控件)非常容易方便.几乎不用写一行代码.直接通过控件的拖拉然后再设置属性和事件即可完成.开发程序的工作就象是打字员的工作一样.(如图所示开发效率对比示意图)

4、用eform平台开发能很好地应对软件开发项目成员的流动的问题.因为程序员的离职而造成整个项目瘫痪的事例很多.而用eform平台,因为大家都是采用同一模式开发的表单,因而一个人开发的表单很容易被另一个人看懂和使用.这样就使开发人员的流动造成的影响大大降低.企业不再受制于人.
5、用eform平台开发可以使项目不再没完没了,无法关闭.因为可以培训最终用户中的精英,让他们掌握eform平台的使用方法,这样大多需求他们便可以自己做好,而不用麻烦软件开发商了.

eform的设计思路是将数据库程序开发中常用的控制或功能点在eform平台中设计好,通过简单的设置参数或属性即可调用.而遇到很个性化的功能点则可以用传统的代码方式进行开发.因为一个数据库程序开发中大量是增,删,改,查,打印,报表,图表,数据校验等常见的功能点,而这些功能点在eform平台中都做好了,只要简单地设置一下即可完成这些功能点,而且这个设置过程也是可视化的,有相应的设置界面.这样做这些常见的功能点就非常简单快速.而少量的特别的功能点又可通过写代码的方式来完成.也就是说在一张表单中可以一部分功能是直接通过简单的设置一下来完成,另一部分功能是用代码来硬写出来的.这样就达到了常见的功能可以直接调用eform底层的api来实现以提高开发效率,但一个表单又不限定只能实现这些常见功能,你也可随意地用代码来进行无限扩充.这样就达到了既提高了开发效率又能实现很复杂的功能.
eform开发平台分为eform.j2ee和eform.net两个版本.eform.j2ee是用java编写的,面向j2ee应用.eform.net是用.net编写的,面向.net应用.实际上整个eform开发平台共有三部分的代码,① 一部分是htc js dhtml等前台的代码,② 一部分是java的代码,③ 一部分是.net的代码(c#语言的)
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © davidzhang1972