CONTENTS

m1. 软件过程
Ø问题
Ø定义
Ø含义
Ø过程结构
m2. 统一软件过程
Ø特点
Ø实践过程
Ø过程模型

软件过程问题的提出

第九章 RUP

m以软件开发中使用 的方法、技术、 工具和环境为基础的思维方式是软件过程的基本雏形
m20世纪70年代——进入工程化轨道
m20世纪80年代——软件过程框架提出
m198410——正式提出软件过程概念
m90年代——得到发展

软件过程的定义

ISOIEEE指出:

m软件过程也称软件生命周期过程或软件过程组,是指软件生存周期中的一 系列相关过程。
m过程就是活动 的集合。
m活动是任务的集合。
m任务则起到把输入加工成输出的作用。活动的执行可以是顺序的 、迭代的、并行的、嵌套的或者是有条件地引发的。

过程的含义

m个体含义:指软件或 系统在生存周期中某一类 活动的集合.如获取过程、供应过程、 开发过程、管理过程。
m整体含义:指软件或系统在上述含义下软件过程 的总体。
m工程含义:应用软件工程的原则 、方法来构造 软件过程模型,实例化后,在用户环境下运作,提高软件开发效率。

软件过程的结构

第九章 RUP

RUP简介

mRUPRational软件公司开发的一种软件过程工程.
mRUP提供了如何在软件开发组织中严格分配任务和职责的方法.
mRUP是一个营销的软件过程产品(Process Product) .
mRUP有规范的过程框架 (Process framework)
mRUP的目标是:按照制定的时间计划和经费预算,开发高质量的软件产品,满足最终用户需求.
m统一过程RUP的应用是广泛的. 可用于
Ø各种不同类型的软件系统、
Ø各种不同的应用领域、
Ø各种不同类型的组织、
Ø各种不同的功能级别 、
Ø各种不同的项目规模.

RUP特点

m用例驱动
Ø传统的系统动能:“系统能做什么”
ØRUP:“系统能为每个用户做什么”
m以架构为中心

软件构架刻画了系统的整体设计,包含了系统中最重要的静态和动态特征。

构架和用例并行进行,用例在实现时必须适合于构架,构架必须预留空间以实现现在或将来所有需要的用例。

m迭代式、增量式

       迭代是指工作流中的步骤

       增量是指产品中增加的部分

       迭代是按计划好的步骤有选择地执行

       首先,迭代过程要处理一组用例,这些用例合起来能够扩展所开发产品的可用性.

      其次,迭代过程要解决最突出的风险问题.后继的迭代过程建立在前一次迭代末期所开发的制品之上.

       一个增量不一定是对原有制品的增加,也可以用更加详细和完善的设计代替初始简单设计.

m风险驱动
Ø减小对项目成功、预算、进度造成危害的严重风险.
m基于构件
Ø重用构造块减少成本,提高质量.

RUP实践活动

m(1) 迭代式的软件开发
m(2) 管理需求
m(3) 应用基于构件的架构
m(4) 为软件建立可视化模型
m(5) 不断的验证软件的质量
m(6) 控制软件的变更
1)迭代式的软件开发

第九章 RUP

迭代式的软件开发,提供了一系列解决软件开发根本问题的方案:

Ø得到一个健壮的构架.
Ø早期发现对需求理解的严重错误,并及时修改.处理不断变化的需求.
Ø鼓励用户反馈信息,获取真实需求.
Ø降低或屏敝风险,重视项目中最关键问题.
Ø及时发现需求、设计、实现的不一致.
Ø实现持续集成
Ø迭代测试,对项目客观评价,合理改进、合理分配、调整工作量
2)管理需求

需求是系统必须达到的条件和性能.

管理需求解决软件开发根本问题的方法是:

Ø规定原则性方法.
Ø对功能、性能客观评价.发现需求不一致
Ø区分优先级.
Ø管理需求变更.特别是动态需求管理(提取、过滤、跟踪、评估 、记录、权衡、决定需求)
3)应用基于构件的架构
m构件 (Component )

       是软件、模块、包或子系统的一个重要部分.是概要设计在物理上的实现.

m架构

       关注结构和行为 、用途、功能、性能、 弹性、重用 、综合性、经济性、技术限制的权衡.

m基于构件的开发

       从成百上千的商业运作上可获得的资源中找到可重用或可客户化的构件.

m基于构件的开发解决软件开发根本问题的方案:
Ø创建有弹性的构架
Ø关注系统中易改变的元素,为自配置管理提供了基础.
Ø有可视化开发工具支持.
Ø使用标准化构架提高重用。如微软的COM,OMG CORBASUN公司的EJB
4)为软件建立可视化模型

第九章 RUP

m可视化建模提供的解决软件开发根本问题的方案
Ø通过用例和情景可以无二义性地详细说明行为.
Ø通过模型可以无二义性地理解软件设计,揭示不一致性.
Ø可以暴露非模型和不灵活性.
5)不断验证软件的质量

m验证软件质量提供的解决软件开发根本问题的方案:
Ø验证可揭示需求、设计、实现的不一致性.
Ø将注意力集中在高风险问题上.
Ø提早发现缺陷,降低修改软件费用.
Ø通过验证、测试客观评价测试数据.
6)控制软件的变更

m提供的解决软件开发根本问题的方案:
Ø变更请求和促进交流.
Ø变更率为客观,评价项目状况,提供了很好的度量.
Ø及时定义需求变史的工作流.

RUP模型

第九章 RUP

m四种模型元素
ØWHO
ØWHAT
ØHOW
ØWHEN
m谁做——工作人员(行为、职责、角色)

    如:

        系统分析员:概述系统功能、边界,引发和协调需求,用例建模。

        设计师:定义一个或多个类,调整类适应实现环境

        测试工程师:制定测试计划、产生设计模型、设计、实现、评估测试

m做什么——制品(artifact

    是工作人员的责任,一个人可拥有该制品,其他人使用该制品。

    制品的几种形式:

  模型

  模型元素

  文档

  源代码

  可执行文件

m3)怎么做——活动(activity

       工作人员执行工作,思考步骤、 执行步骤、评审步骤.如:

       项目经理活动:计划 、迭代过程

       分析员活动:寻找用例、参与者、设计

       评审员活动:评审设计.

m4)什么时候做——工作流
m表示能够产生出有用成果的有重要意义的活动序列 。(工作流与活动、工作人员密切关联)
m核心工作流
Ø业务建模
Ø需求
Ø分析设计
Ø实现
Ø测试
Ø部署
m支持工作流
Ø配置变更管理
Ø项目管理
Ø环境管理
m四个阶段(phase
Ø起始阶段(inception
Ø细化阶段(elaboration
Ø构造阶段(construction
Ø移交阶段(transition
第九章 RUP

每个阶段可以进一步分解为迭代

第九章 RUP

例:ATM系统

m参与者 “银行储户 ” 使用ATM从账户中取款或存款到账户中,或在不同的账户间转账
第九章 RUP

m取款用例

(1)银行储户表明自己的身份

(2)银行储户选择从哪个账户取款,确定取款金额

(3)系统从账户上减掉该数量的金额,发给该储户相应金额的现金

第九章 RUP

m分析类的结构
第九章 RUP

m用协作图描述用例的实现
第九章 RUP

m设计模型的设计类跟踪到分析模型的分析类
第九章 RUP

m设计模型中部分实现“取款”用例的类图
第九章 RUP

m取款用例的顺序图
第九章 RUP

m按子系统对类分组
第九章 RUP

m实现设计类的构件
第九章 RUP

m根据用例确定测试用例
第九章 RUP

m测试用例
第九章 RUP

m部署视图
第九章 RUP



























































相关文章:

  • 2021-07-17
  • 2021-06-24
  • 2021-06-27
  • 2021-07-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-14
  • 2021-12-03
相关资源
相似解决方案