软件工程 统一过程软件(RUP) 第5篇随笔

4.2、统一过程软件(RUP)

1.RUP简介

本质:

是“一般的过程框架”

  • 为软件开发,进行不同抽象层之间“映射”,安排其开发活动的次序,指定任务和需要开发的志平,提供了指导
  • 为对项目中的制品和活动进行监控与度量,提供了相应的准则

特点:是一种以用况(Use Case)为驱动的、以体系结构为中心的、迭代、增量式开发

  • 以用况为驱动

  • 以体系结构为中心

  • 迭代、增量式开发

    规定了四个开发阶段

    • 初始阶段(the inception phase)
    • 精化阶段(the elaboration phase)
    • 构造阶段(the construction phase)
    • 移交阶段(the transition phase)

2.需求获取的目标及其基本途径

需求获取面临的挑战

  • 问题空间理解
  • 人与人之间的交流
  • 需求的不断变化

需求获取技术特征

  • 方便通讯(使用易于理解的语言)

  • 提供定义系统边界的方法

  • 提供划分、抽象、投影等方法

  • 允许采用多种可供选择的设计方法

  • 适应需求的变化

  • 支持使用问题空间术语,思考问题和编制文档

    .......

需求获取的目标

对大系统的开发来说,需求一般包括需求获取和需求分析

需求获取的目标:客观问题(系统) => 系统需求获取模型 体系结构描述 Use Case模型

实现需求获取目标的基本途径

实现实际问题到软件开发需求获取层的映射,即从软件开发的角度-实现第一次抽象

需求获取层的术语(概念)及表达模型的工具

  • Use Case
  • actor
  • 4个表达关系的概念:关联、包含、扩展、泛化

如何映射--需求工作流

要做的工作 产生的制品
列出候选的需求 特征列表
理解系统语境 领域模型或业务模型
捕获功能需求 Use Case模型
捕获非功能需求 补充需求或针对一些特定需求的Use Cases
  • 特征:一个新的项及相关的简要描述称为特征

  • 领域模型或业务模型:

    • 领域模型:捕获了系统语境中的一些重要对象类型

      领域类的三种形态:

      • 业务对象:表示被哪些业务所操纵的事务,例如订单、账目
      • 实在对象和概念:例如飞机、火箭
      • 事件:例如飞机到达、飞机起飞
    • 业务模型:

      • 业务 use case 模型:抽象一个特定业务
      • 业务对象模型:一个业务的内部模型
  • Use Case模型

    • 用来表达客户认可的需求-系统必须满足的条件和能力
    • 作为客户和开发人员之间的一种共识
    • 是一个系统的一种模型,包括actors use cases 以及它们之间的关系

3.需求分析的目标及其基本途径

分析类的种类

  • 边界类(Boundary classes):用于模型化系统和其他actors之间的交互
  • 实体类(Entity classes):用于模型化哪些需要长期驻留系统的对象
  • 控制类(Control classes):用于模型化系统的动态性
    • 用于表达协同、定序、事务以及其他对象的控制
    • 用于封装哪些与特定有关的控制
    • 用于表达复杂的推导和计算

分析包

分析包提供了一种组织分析制品的手段,形成一些课管理的部分

分析包可包含分析类、use case 细化以及其他分析包

分析包的主要特征

  • 高内聚、低耦合
  • 表达了对所需要分析问题的一种分离
  • 对具有领域知识的人来说,是可以阅读、理解的
  • 很有可能成为一些子系统或成为一些子系统的组成部分

体系结构分析

  • 任务1:标识分析包
  • 任务2:处理分析包之间的共性
  • 任务3:标识服务包
  • 任务4:定义分析包的依赖
  • 任务5:标识重要的实体类
  • 任务6:标识公共的特定需求

Use Case 分析

目标:

  • 标识哪些在use case事件流的执行中所需要的对象和类
  • 将use case 的行为,分布(Distribute)到交互的分析对象
  • 捕获use case细化上的特定需求

4.设计的目标及其基本途径

目标:设计的基本输入是分析的结果,定义满足分析所需的结构

设计层的术语

  • 设计类:是对系统实现中一个类或类似构造一个无缝抽象
  • 用况细化:是设计模型中的一个协作
  • 设计子系统:提供了一种组织设计制品的手段。成为一些更容易管理的部分
  • 接口:用于规约由设计类和设计子系统提供的操作

设计模型、部署模型

  • 设计模型:是设计子系统的层次结构,包含了设计类、use case细化和接口
  • 部署模型:是一个对象模型,描述了系统的物理发布

设计工作流

实施准备:

  • 非功能需求
  • 有关对程序设计语言的限制
  • 数据库技术
  • 用况技术
  • 事务技术

包含哪些活动:

  • 体现结构设计

    • 目标:给出设计模型和部署模型,以及这两个模型视觉下的体系结构描述

    任务:

    • 任务1:标识结点和它们的网络配置
    • 任务2:标识子系统和它们的接口
    • 任务3:标识在体系结构方面具有意义的设计类和它们的接口
    • 任务4:标识处理一般性的设计机制
  • 用况Use case 设计

    方法:

    • 标识参与用况细化的设计类
    • 标识参与用况细化的子系统和接口
  • 类的设计:进行类的设计,完成在use case 细化中的角色

    包括:

    • 类的操作
    • 类的属性
    • 参与的关系
    • 类方法
    • 类的状态
    • 对一般设计机制的依赖
    • 与现实有关的需求
    • 所提供的那些接口的细化

    任务:

    • 任务1:概括描述设计类
    • 任务2:标识操作
    • 任务3:标识属性
    • 任务4:标识关联和聚合
    • 任务5:标识泛化
    • 任务6:描述方法
    • 任务7:描述状态
  • 子系统的设计:

    目标:

    • 确保子系统尽可能独立于其他子系统或它们的接口
    • 确保子系统提供正确的接口
    • 确保子系统实现了它的目标

    任务:

    • 任务1:维护子系统依赖
    • 任务2:维护子系统所提供的接口
    • 任务3:维护子系统的内容

5.RUP 设计小结

RUP设计方法,由三部分组成:

  • 给出用于表达设计模型中基本成分的四个术语;包括:子系统、设计类、接口和用况细化
  • 规约了设计模型的语法,指导模型的表达
  • 给出了创建设计模型的过程以及相应的指导
posted @   水三丫  阅读(269)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示