二:软件开发过程(RUP概述):
迭代开发过程:
由四个阶段构成,每个阶段都包含软件开发的每个过程:分析、设计、实现和测试阶段
四个阶段:初始阶段、细化阶段、构造阶段、移交阶段
通常在移交阶段后进行总体测试、性能测试、用户培训等
1. 初始阶段:
项目的总体需求、可行性分析等,并确认是否启动该项目
2. 细化阶段:(1/5周期)
启动该项目后,
(1)、实际要做什么?
(2)、如何做?
(3)、将采用什么技术?
风险分析和风险管理
(1)、需求风险:不能偏离用户需要,要充分了解用户需求及各需求的相对优化程度
处理需求风险:用例分析技术。列出该系统的所有用例,安排开发人员与客户交流,以便收集用例。其中要对领域概念模型作充分说明(行业术语,如电信中的产品)。
建立域模型:类图、活动图
(2)、技术风险:你是否有相关技术经验,熟悉程度如何?
使用类图和交互图来描述构件间的通信
使用包图来描述构件的高层结构
使用配置图来描述系统功能的分配
(3)、技能风险:能否得到相关技术人才或专家?
(4)、政策风险:是否存在一些政策性因素影响整个项目的进行
细化阶段的重要结果之一:建立系统的基线体系结构
(1)、用例表:用于描述系统需求
(2)、域模型:用于获取应用领域中的关键类的起点,反映你对系统将要提供的业务和服务的理解
(3)、技术平台:描述重要的实现技术以及技术间的协作和集成
细化阶段何时结束:
(1)、开发人员能给项目估算
(2)、考虑所有的风险,并制定出相应对策和计划
计划:
1.第一阶段:
用例是制定项目计划的基chu,对用例进行分类:
(1)、用户应当列出用例的优先级。通常为三级,首先要实现的,短期内可以没有,长期内可以没有的
(2)、对于每一个用例,开发人员都应考虑体系结构风险。三级:高风险,可能的风险,完全不可能的风险
(3)、开发人员还应评价自己对每个用例开发工作量的做算,称之为进度风险。三级:确信自己对时间的估算,只能估算到人月,无法估算
注意:估算应由开发人员估算,项目经理只是评审复核作用。由些开发人员可以充分理解用例,应估算到人周
2.第二阶段:
确定每次迭代的开发周期,每次迭代的工作量(迭代次数3至5次)
3. 构造阶段
两个概念:(1)、程序重组:指对程序中与新添功能相关的成分进行适当改造,使其在结构上完全适合新功能的加入。(2)、模式:
构造阶段是通过一系列迭代过程建设系统。每次迭代开发都是一个小项目,需要对所有要求的用例进行分析、设计、编码、测试和集成。完成一次迭代后,应向用户演示,并完成系统测试,以表明所要求的用例已正确实现。
4. 移交阶段:
迭代式开发关键在于规范化地进行整个开发过程。在移交阶段,不能再开发新的功能(除了个别小功能或非常基本的以外),而只是集中精力进行纠错工作,优化工作。