RUP(Rational Unified Process),统一软件开发过程,是目前影响较大的、面向对象的软件开发过程。
为了更好的支持和促进软件开发,RUP以保持最佳实践的中心思想提供了一套以UML为基础的开发准则,用以指导软件开发人员以UML为基础进行软件开发,使得开发团队成员可以共享同一个知识库、同一个开发过程、同一个开发视图、同一种建模语言;并通过迭代式开发、管理需求、使用构件架构、可视化建模、检验质量、控制变更等措施避免了软件开发危机(如开发周期大大超过规定日期、开发成本严重超标、质量问题等),目标是能够在预定的进度和预算中,提供高质量的能满足最终用户需求的软件。
迭代式开发过程:
详述
1, 迭代是一种技术,用来把系统功能传递到一系列连续的增量的完整版本。
2, 迭代代表一个完整的开发周期,从在分析中捕获的需求到实现和测试,产生一个可 行的项目发布版本。
3, 每个版本都在一个特定固定的时间段被开发,该时间段称之为迭代。
4, 迭代的成果是一个可执行产品的一个版本,是最终系统产品的一个子集。
5, 通过多次迭代连续增加和精化系统,在每个迭代过程中逐步增加信息、进行细化。
6, 每次迭代都选择目前对风险影响最大的使用实例进行,以分解和降低风险。
特征
1. 在进行规模的投资之前就解决了关键的风险问题、
2. 使得早期的用户反馈在初始迭代中就能出现
3. 连续进行测试和集成
4. 各个目标里程碑提供了短期的焦点、
5. 对过程的测量是通过对实现的评定来进行的。
6. 可以对局部的实现进行部署。
优点
1, 降低风险
2, 得到早期用户反馈
3, 持续的测试和集成
4, 适应性变更
5, 提高复用性
需求管理
需求管理师一种用于查找、记录、组织和跟踪系统需求变更的系统化方法。确保能够解决正确的问题,建立正确的系统。
管理内容
1, 提取、组织系统的功能和约束,并将它们写成文档.
2, 估计需求的变化并评估它们会产生的影响。
3, 跟踪需求的实现。
使用构件架构
1, 对体系结构进行自下而上的设计、实现和测试。
2, 用一种系统化的做法来定义好的体系结构。
3, 采用定义明确的接口来使得变更有弹性。
4, 采用现成的和通过逆向工程得到的构件。
5, 由高级别的用例来驱动。
6, 易于直观上的理解、。
可视化建模
1, 描述体系结构特点和结构。
2, 描述系统里的各个元素如何组合在一起。
3, 保证设计和实现上的一致性、
4, 保证没有歧义的沟通。
检验质量
1, 为每个关键模块创建测试用例并测试,从而保证所有的需求被正确的实现。
2, 不可接受的应用性能和不能接受的可靠性对一个软件系统的影响同等重要。
3, 验证软件可靠性
4, 对每一次迭代进行测试。
变更管理
1, 控制、追踪和监控项目的所有变更,从而启动每次迭代。
2, 为每个开发者建立安全的工作空间。
3, 对不同工作空间的改动提供隔离机制。
4, 控制所有的软件制品:模型、代码、文档等。
一个RUP分为若干个周期,一个周期分为四个阶段:起始阶段、细化阶段、建造阶段、提交阶段,每个阶段进行若干次迭代。
开发周期四个阶段归纳
RUP使得软件开发过程在最大可能避免各种问题的情况下高质量、高效率的进行。