齐治昌软件工程(第3版)-第2章UML与RUP统一过程

合集下载

软件工程与实践第三版课件第2章 可行性分析及开发计划

软件工程与实践第三版课件第2章 可行性分析及开发计划

2.2 可行性分析与评审
2.2.2 可行性分析的任务及内容
可行性分析主要任务主要是:决定软件项目“做还是不 做(是否可行)”、及完成对可行项目的“初步方案”。
行性分析主要内容是对问题的定义,主要经过调研与初 步概要分析,初步确定软件项目的规模和目标,明确项目的 约束和限制,并导出软件系统的逻辑模型。然后从此模型出 发,确定若干可供选择的主要软件系统初步研发方案。
客户服务的能力
可能只发挥有限的
作用
以往过程影响为客 户提供高价值服务 能力;从旧方式转变 到新模式;有先行 优势
只看作对过去或目 前过程修改可获得 的收益是有限的; 过程重组可能受到 内外阻力
提高竞争能力;优 不良合作方式可能
化组织关系,保持 难提供差异化竞争
灵活快速反应能力, 力;若内部系统不完
满足个性化用户需 善将阻碍外部学习
技术可行性(Technical Feasibility)是可行性分析中
最关可键行和性最分难析决的断主的要问内题容。主是要对分问析题在的特定定义条,件主下要,初技术步资 确源定、软能件力项、目方的法规等模方和面目的可标用,性问及题其定用义于后解,决要软导件出问软题的件可 系择能同确统的性初定首的主技和 步 性先逻要术调 给现需辑系可研 技实要模统行分 术性进型方性析 可。行。案分论 行问初然。析证性题步后的类分定的内从似析义容概与过,此软包论程要模件括证与分型系:增系析出统对加统,发目新很技确,标软多术定确、件困可软定功功难行件若能能。性项干和的评目性可具估能的体供过的指程规选不标,模、和 目运标行,环明境确及项条目件的、约响束应和时间限、制存。储速度及容量、安全性和可
1.确定软件或项目名称 软件名称用于准确描述软件问题的内涵、主要用途及规 模的项目名称,应与所开发项目内容一致,Web图书销售系统. 2. 软件项目提出的背景 软件项目提出的背景和具体现状及发展趋势包括:软件 所服务的行业属性、主要业务及特征、目前存在的主要问 题、需要改进的具体方面及要求、本项目开发所能够带来 的经济/社会效益和应用前景等。

软件工程 第5章--RUP统一开发过程

软件工程 第5章--RUP统一开发过程
10
(3) 制品(Artifact)
制品是过程生产、修改或使用的一种信息。制 品可分为输入制品和输出制品。
在面向对象设计中,制品被当作活动的参数。 制品有多种可能的形式,如:
模型 : 如用例模型或设计模型; 模型元素 : 如类、用例或子系统; 文档 : 如一个业务用例或体系结构文档; 源代码; 可执行文件。
13
a) 核心工作流
在 RUP 中共有 9 个核心过程工作流。它们将 所有工作人员和活动进行逻辑分组。
核心过程工作流分为 6 个核心工程工作流和 3 个核心支持工作流。
核心工程工作流有:业务建模工作流、需求 工作流、分析和设计工作流、实现工作流、 测试工作流、实施工作流。
核心支持工作流有:项目管理工作流、配置 和变更管理工作流、环境工作流。
11
Iteration Plan Storyboard
Use Case Model Project Measurements User-Interface Prototype
Developer Test
Iteration Assessment
Business Goal Test Environment Configuration
场景的系统大致轮廓; 估计整个项目需要的成本和时间; 评估风险,即分析不确定性的原因;
31
制品
a) 构想文档:有关项目核心需求、关键特 性和主要限制的构想。
b) 用例模型调查:包括所有在此阶段可确 定的用例和参与者。
c) 初期的项目术语。 d) 初始的业务用例:包括业务环境、是否
成功的评价标准、经济预测。 e) 早期的风险评估。 f) 项目计划:表明阶段和迭代。
内部发布 小里程碑
第1个外部发布 (如Beta版本)

917871-软件工程-实验-第2章UML与RUP统一过程

917871-软件工程-实验-第2章UML与RUP统一过程

2020/9/17
国防科技大学计算机学院
22
面向对象方法的优势
➢ 相对于传统的结构化方法,面向对象方法更容易 造就高质量的软件结构,因为面向对象的基本软 件模块(类)的独立性更好,内聚度更强,耦合 度更弱,修改的影响传播范围有可能更小。
➢ 当然,不排除拙劣的面向对象设计导出的软件结 构在内聚/耦合度方面甚至要差于函数调用式的软 件结构。

➢ 简而言之 ➢ 面向对象 = 对象 + 类 + 继承 + 聚合 + 多态 + 消息
2020/9/17
国防科技大学计算机学院
16
2.2.2 面向对象方法的优势
➢ 相对于传统的结构化方法和面向数据的方法,面 向对象方法除具有上述削减语义断层的作用外, 在简化软件开发过程、支持软件复用、改善软件 结构等方面还有明显优势。
➢ 外界对类的内部数据的访问或修改只能通过该类 对外公开的接口函数施行,这种访问或修改对于 该类而言是可控的。
2020/9/17
国防科技大学计算机学院
21
面向对象方法的优势
➢ 面向对象的软件系统可以看成一群相对独立的类, 它们各司其职,仅当必要时,类的实例对象才会 通过消息请求其他对象提供帮助。
➢ 面向对象方法还通过多态机制适当分离类的对外 接口和内部实现,使得类的使用者得以使用统一 的接口触发不同的功能执行,并且保证内部实现 的变更不会导致接口使用方式的修改。
➢ 如,“数学分析”、“英语”等具体课程可归为 “公共课”类,“软件工程”、“程序设计”等 具体课程可归为“专业课”类。
➢ 在对象的生命周期中的任意时刻,每一属性均有 确定的取值,类则不然。
2020/9/17
国防科技大学计算机学院

第统一软件过程

第统一软件过程
(1)结合WebShop电子商城的开发,以RUP为软件过程指导,请说 明RUP的6个核心工作流的主要活动。 (2)结合WebShop电子商城的开发,以RUP为软件过程指导,请说 明RUP的3个支持工作流的主要活动。 (3)根据软件行业程序员的岗位能力要求,说明RUP实施工作流程和 测试工作流程中主要角色的职责。
第37页/共43页
构造
构造阶段
构造阶段的主要目标包括: 通过优化资源和避免不必要的报废和返工,使开发成本降到最低。 快速达到足够好的质量 快速完成有用的版本(Alpha 版、Beta 版和其他测试发布版) 完成所有所需功能的分析、开发和测试。 迭代式、递增式地开发随时可以发布到用户群的完整产品。这意味着描 述剩余的用例和其他需求,充实设计,完成实施,并测试软件。 确定软件、场地和用户是否已经为部署应用程序作好准备。 开发团队的工作实现某种程度的并行。
第36页/共43页
细化
细化阶段
细化阶段的主要目标包括: 确保构架、需求和计划足够稳定,充分减少风险,从而能够有预见性地 确定完成开发所需的成本和进度。对大多数项目来说,通过此里程碑也就 相当于从简单快速的低风险运作转移到高成本、高风险的运作,并且在组 织结构方面面临许多不利因素。 处理在构架方面具有重要意义的所有项目风险 建立一个已确定基线的构架,它是通过处理构架方面重要的场景得到的, 这些场景通常可以显示项目的最大技术风险。 制作产品质量构件的演进式原型,也可能同时制作一个或多个可放弃的 探索性原型,以减小特定风险,例如: 设计/需求折衷,构件复用 产品可行性或向投资者、客户和最终用户进行演示。 证明已建立基线的构架将在适当时间、以合理的成本支持系统需求。 建立支持环境。
配置与变更请求管理(CM 与 CRM)涉及: 确定配置项; 限制对这些项的变更; 审核变更; 定义与管理配置。

Chap3 统一开发过程(RUP)

Chap3 统一开发过程(RUP)
西安邮电学院计算机学院 舒新峰 shuxf@
3.3 RUP的迭代开发
3、如何进行迭代式开发(P18)
1)第1次迭代前的工作
(1)召开时间定量(例如2天)的需求工作会议。 第1天上午,进行高阶需求分析,确定用例名称和特性 名称,以及关键的非功能需求。 咨询首席架构师和业务人员,选择10%的列表项。选 择依据:重要的架构意义;高业务价值;高风险 剩余时间对选出用例的功能和非功能进行详细分析。 (2)召开迭代会议,选择选出用例的子集,在特定时间 内进行设计、构造和测试。
西安邮电学院计算机学院 舒新峰 shuxf@
3.1 RUP的核心工作流
RUP中有9个核心工作流,分为6个核心过程工作流 (Core Process Workflow)和3个核心支持工作流 (Core Supporting Workflow)。
1. 商业建模(Business Modeling) 该工作流的主要目的是对系统的商业环境 和范围进行建模,确保所有参与人员对开发 系统有共同的认识。
西安邮电学院计算机学院 舒新峰 shuxf@
3.1 RUP的核心工作流
2. 需求分析(Requirements) 定义系统功能及用户界面,明确可以需要的系统 的功能。主要成果是软件需求说明书(SRS)。 3. 分析与设计(Analysis and Design) 把需求分析的结果转化为实现规格。分析设计工 作流的结果是一个设计模型和一个可选的分析模 型。设计模型是源代码的抽象,由设计类和一些描 述组成。设计类被组织成具有良好接口的包 (Package)和子系统(SubSystem),而描述则体现了 类的对象如何协同工作实现用例的功能。
西安邮电学院计算机学院 舒新峰 shuxf@
3.1 RUP的核心工作流

软件工程(第3版)第2章 人民邮电出版社PPT课件

软件工程(第3版)第2章 人民邮电出版社PPT课件
用于成功开发软件的一组基本观念和原则
6条“最佳实践” 10个“流程要素”
可重用方法内容及流程构建块的框架
可以在定义自己的开发方法和过程
底层方法及流程定义语言
统一方法架构元模型 UML
RUP最佳实践
迭代式开发 需求管理 使用基于组件的架构 可视化建模 验证软件质量 控制软件变更
问题定义 可行性研究 需求分析 概要设计 详细设计 编码和单元测试 集成测试(综合测试) 软件维护
瀑布模型
收集需求 分析 设计 编码 测试 维护
瀑布模型 - 加入迭代过程
收集需求 分析 设计 编码 测试 维护
快速原型法
快速建立一个反映用户 主要需求的原型系统
可视化编程工具的广泛 使用
架构和组件
软件架构(Software Architecture)
构成系统的组件 组件之间的关联和交互
架构刻画了系统的整体设计
去掉了细节部分 突出了系统的重要特征
可视化建模
由于应用领域不同,模型可以有文字、图形或数学 表达式等多种形式,一般说来,使用可视化的图形 更容易令人理解。
验证软件质量
用户故事 需求
测试用例 新用户故事
差错
隐喻 架构试探
制定交付 交付计划 计划
不确定的估计
确定的估计
最新版本
用户认可
迭代开发
验收测试
下一次迭代
小交付
难点试探
XP(极限编程Extreme Programming)的整体开发过程
极限编程
未完成的任务 用户故事 交付计划 项目速率
新用户故事 新项目速率
共享的信息
能力成熟度模型的结构
能力成熟度等级
初始级 可重复级 已定义级 已管理级 优化级

软件工程与 UMLswchapter2

软件工程与 UMLswchapter2

一 结构事物之 3: 协作
• 协作定义了一个交互,它是由一组共同 工作以提供某种协作行为的角色和其它 元素构成的一个群体,这些协作行为大 于所有元素的各自行为总和。因此,协 作有结构、行为和维度。协作表示为包 含名称的虚线椭圆
协作 Chain of responsibility
一 结构有9种图最常用:类图、对象图、用例 图、顺序图、协作图、状态图、活动图、构件 图、实施图(又称布署图),组合这些图可从 不同角度对系统建模 • UML不是一种编程语言,但使用代码生成器工 具,可将UML模型映射成编程语言代码,如 Java,C++,Visual Basic等。或使用反向生成 工具将编程语言代码转换为UML模型。如 Rational Rose等UML建模工具都支持这两种转 换。
分组事物: 是UML模型的组织部分。在所有的分组事物中,最主要的分组事物是包
注释事物: 是UML模型的解释部分。这些注释事物用来描述、说明和标注模型中的任何元素。有 一种主要的注释事物,称为注解
一 结构事物之 1: 类
类是对一组具有相同属性、操作、关系和语义的对象的描述
类 windows origin size open() close() 类的方法 类名 类的属性
有关概念
• 用例:用例是从用户的角度出发对如何 使用系统的描述。 • 操作场景:就是用例的操作步骤序列 • 构架:系统的框架性结构
2 细化阶段
细化阶段是4个阶段中最关键的。细化阶段的活动必须确保构架, 需求和计划足够稳定,风险得到充分的缓解,完成开发的成本 和进度能在一个可接受的范围内被预测。
•迅速地定出实用的构架(其中所有的变更能被合理 地处理、跟踪和维护)。 •规划完成项目的活动,估算完成项目所需的资源。 •为构造阶段定出高精确度的计划 •细化初始阶段的模型

软件开发统一过程(RUP)

软件开发统一过程(RUP)
元素事物Thing代表要定义的所有事物
元模型(meta model) 层组成了UML 的基本元素包
括面向对象和面向组件的概念通常叫做类模型
class model 或类型模型type model
UML 的架构


模型model 层组成了UML 的模型这一层中
的每个概念都是元模型层中概念的一个实
例通过版类化这一层的模型通常叫做类模
和它们之间的关系
UML 的模型视图图与系统架构建模

状态图 (State diagram )

描述了系统元素的状态条件和
UML 的模型视图图与系统架构建模

响应活动图Activity diagram

描述了了系统元素的活动
UML 的模型视图图与系统架构建模

组件图(构件图)(Component diagram)
Class Diagrams,细化类设计。
6. 为Sequence Diagrams中Objects指定对应
Class;
7. 设计系统实现结构,为各个Classes和
Packages指定实现的Component,并画出初步
Component Diagrams。
UML讲解
了解UML
UML 的架构
了解UML
型class model 或类型模型type model
用户模型user model 层这层中的所有元素都
是UML 模型的例子这一层中的每个概念都
是模型层的一个实例
UML 的模型视图图

静态视图


用例图、类图、对象图、组件图、展开图
动态视图

状态图、序列图、活动图、协作图

RUP统一过程

RUP统一过程

1什么是Rational统一过程(Rational Unified Process,RUP)1.1什么是过程1.2什么是软件开发过程1.3什么是统一过程1.3.1统一过程是用例驱动的1.3.2统一过程是以构架为中心的1.3.3统一过程是迭代和增量的1.4关于RUP产品2RUP产品为软件开发过程所提供的主要实践指导2.1迭代的开发产品2.2需求管理2.3基于构件的体系结构2.4可视化软件建模2.5验证软件质量2.6控制软件的变更3过程简介3.1基本定义3.1.1二维结构3.1.2角色3.1.3活动3.1.4产物3.1.5工作流3.2循环或周期3.3阶段3.3.1初始阶段3.3.2细化阶段3.3.3构建阶段3.3.4交付阶段3.4迭代过程3.5核心工作流(Core workflows)3.5.1商业建模3.5.2需求3.5.3分析和设计3.5.4实现3.5.5测试3.5.6发布3.5.7项目管理3.5.8配置和变更管理3.5.9环境1什么是Rational统一过程(Rational Unified Process,RUP)1.1什么是过程过程是为了达到一个确定的目标,需要什么人在什么时间以何种方式做何种工作的集合。

1.2什么是软件开发过程软件开发过程是一个将用户需求转化为软件系统所需要的活动的集合。

1.3什么是统一过程统一过程是一个软件开发过程。

它提供了在开发组织中分派任务和责任的纪律化方法。

它的目标是在可预见的日程和预算前提下,确保实现满足最终用户需求的高质量产品。

统一过程不是一个简单的过程,而是一个通用的过程框架,可用于各种不同类型的软件系统,各种不同的应用领域,各种不同类型的组织,各种不同的功能级别以及各种不同的项目规模。

统一过程是基于构件的,即所构造的软件系统是由软件构件通过明确定义的接口相互连接所建造起来的。

(构件:系统中一个物理上可替代的部分,它符合并提供一组接口的实现)统一过程使用统一建模语言(UML)来制定软件系统的所有蓝图。

软件工程-齐志昌版

软件工程-齐志昌版
类对象的一个组成部分。
10/9/2019
国防科技大学计算机学院
9
面向对象的概念与思想
6.1面向对象的概念与思想
(5)消息
消息传递是对象与其外部世界相互关联的唯一 途径。对象可以向其它对象发送消息以请求服务,
也可以响应其E它va对lu象at传io来n o的n消ly.息,完成自身固有 eated wi的th某As些po操se作.S,li从de而s f服or务.N于E其T它3.对5 C象l。ient Profile 5.2.0
制文件或一个可执行文件。
构件图用于理解和分析软件各部分之间的相互 影响程度。
10/9/2019
国防科技大学计算机学院
16
UML的语言机制
6.2UML概述
o 部署图(deployment diagram) 描述软件系统运行环境的硬件及网络的物理
齐治昌 教授ቤተ መጻሕፍቲ ባይዱ 谭庆平 教授, 宁洪 教授, 董威 博士
软件工程
eated with AspoSsoe.fStwlEidavearsleufoaErtin.oNgnEionTnel3ye..5riCnglient Profile 5.2.0 Copyright 2019-2019 Aspose Pty Ltd.
国防科技大学计算机学院
2019.07
10/9/2019
国防科技大学计算机学院
1
第六章 面向对象的需求分析
o 面向对象的需求分析方法的核心是利用面向对象的概念 和方法为软件需求建造模型。它包含面向对象风格的图 形语言机制以及用于指导需求分析的面向对象方法学。
o 面计向语对言象Sim的u思la6想7。最E1v初9a8起l0u年源at代于io初1n9出6o0n现年ly的代. S中m期al的lta仿lk真语程言序及设其 eated w程it序h A设s计p环os境e.对Sl面id向es对f象or技.N术E的T推3广.5应C用li起en到t了Pr显o著fil的e 5.2.0

UML第15章 统一软件过程(RUP)

UML第15章 统一软件过程(RUP)

图15-24 实现一个类
(5)执行单元测试。主要的输入和制品 如图15-25所示。
图15-25 执行单元测试
15.2.5 测试工作流
• 测试工作流贯穿于软件开发的整个过程。 • 从初始阶段开始,到细化阶段和构造阶段是测
试的焦点。 • 测试是为了找出程序中的错误与缺陷,而不能
证明程序无错。 • 测试是一项相当重要的工作,其工作量占软件
如下:
(1)由于把软件系统分成多个独立部分,采用增量开发,降低了开支风险。 (2)由于是迭代开发,每次迭代生产出一个完整的软件产品,降低了产品无法 按照既定进度进入市场的风险。 (3)由于采用迭代开发,多个小组可以并行工作,加快了整个开发工作的进度。
图15-3 RUP中某个阶段的迭代开发模型
15.2 RUP中的核心工作流
图15-21 架构实现
架构描述 (实现)
(2)系统集成。主要的输入和 制品如图15-22所示。
系统集成 图15-22 系统集成
(3)实现一个子系统。主要的输入和制品如图15-23所示。 (4)实现一个类。主要的输入/输出制品如图15-24所示。
接口(完整)
接口(完整)
图15-23 实现一个子系统
4.交付阶段
• 交付阶段的主要目标如下: (1)进行Beta版测试,按用户的要求验证新系统。 (2)替换旧的系统。 (3)对用户和维护人员进行培训。 (4)对系统进行全面调整,例如调试、性能或可用 性的增强。 (5)与用户达成共识,配置基线与评估标准一致。
• 交付阶段的焦点是实现和测试工作流。
15.1.2 RUP的迭代模型
(1)制定测试计划。主要的输入和 制品如图15-27所示。
补充性需要
图15-27 制定测试计划

rup统一过程中的四个阶段

rup统一过程中的四个阶段

rup统一过程中的四个阶段
RUP是Rational Unified Process的缩写,表示“统一的合理过程”,是指一种软件工程项目的通用模式项目解决方案,是IBM Rational推出的一种面向对象(OO)软件开发方法,结合了面向对象技术、框架、组件等多项技术形成的一种完整的软件开发应用过程。

RUP统一过程中的四个阶段分别是:分析、设计、实现和测试。

首先是分析阶段,主要任务是定义项目的需求,通过收集、分析和审查,并制定项目的架构;在这个阶段,将确定到底需要做什么,要实现什么目标,以及需要使用哪些技术。

接着是设计阶段,在这个阶段主要任务是制定面向对象架构,制定模式和类等细节设计,有效管理细分角色,并最大限度提高效率;在这个阶段,将实现分析阶段定义好的业务目标,以及实现其相关功能。

紧接着是实现阶段,主要完成编码,产品功能、质量等任务;在这个阶段,将依据设计的架构以及企业的业务需求,实现项目的各种功能和质量诉求。

最后是测试阶段,主要是验证实现的功能和质量是否满足了客户的要求,消除违反客户项目的问题;在这个阶段,将通过自动化测试、回归测试等测试工具,最大限度地确保产品满足要求。

RUP统一过程中的四个阶段紧密相连,是一趟不断完成从分析到验证的过程,既可以用于中小型项目,也可以用于大型综合项目,将令互联网行业的软件工程项目监管更加规范化,从而推动数字化转型的进程。

软件工程-齐志昌版 (3)[1]简版

软件工程-齐志昌版 (3)[1]简版

软件工程-齐志昌版 (3)软件工程-齐志昌版 (3)1. 引言本文档是软件工程课程的第三篇文档,旨在介绍软件工程的一些基础知识和概念。

软件工程是一个涵盖软件开发全过程的学科,旨在提高软件开发的效率、质量和可维护性。

在本文档中,我们将介绍软件工程的重要性、软件生命周期、软件开发方法和软件开发团队的组织结构。

2. 软件工程的重要性软件工程在现代社会中变得越来越重要。

随着互联网和移动应用的普及,软件已经成为人们日常生活和工作中不可或缺的一部分。

良好的软件开发过程可以提高软件的质量,减少错误和缺陷的数量,并提高软件的可维护性和可扩展性。

软件工程的实践可以帮助开发团队有效地规划、设计、开发、测试和交付高质量的软件产品。

3. 软件生命周期软件生命周期包括需求分析、设计、编码、测试和维护等阶段。

每个阶段都有特定的目标和活动,旨在确保软件开发过程的高效性和质量。

软件工程师需要在每个阶段采用适当的工具和技术,严格遵循软件工程的规范和最佳实践。

3.1 需求分析阶段需求分析阶段是软件开发过程的第一阶段,其目标是收集、分析和明确系统的功能和性能需求。

在这个阶段,软件工程师通常与客户合作,使用一些需求工程的技术和方法。

需求分析的输出结果是软件需求规格说明书,它包含了对系统需求的详细描述和功能规划。

3.2 设计阶段设计阶段是根据需求分析的结果,进行系统的设计和架构的阶段。

在设计阶段,软件工程师使用各种建模工具和技术,如UML (统一建模语言),来描述系统的逻辑结构和组件之间的交互。

输出结果是系统的设计文档,它描述了系统的整体架构和关键模块的设计。

3.3 编码阶段编码阶段是将设计文档转化为实际可执行的代码的阶段。

软件工程师使用程序设计语言,如Java、C++、Python等,根据设计文档编写代码。

在编码阶段,需要注意代码的可读性、可维护性和可测试性。

3.4 测试阶段测试阶段旨在验证软件的质量和功能正确性。

在这个阶段,软件工程师使用各种测试技术和工具,如单元测试、集成测试和系统测试,来检测和修复软件中的错误和缺陷。

SWPU统一软件过程(RUP)复习资料

SWPU统一软件过程(RUP)复习资料

SWPU统一软件过程(RUP)复习资料1.软件开发过程、统一过程、统一过程的突出特点软件开发过程(process)是一个将用户需求转化为软件系统所需要的活动的集合。

统一过程是一个软件开发过程,一个通用的过程框架,可用于各种不同类型的软件系统、各种不同的应用领域、各种不同类型的组织、各种不同的功能级别以及各种不同的项目规模。

统一过程是基于构件的,使用UML来制定软件系统的所有蓝图统一过程的突出特点:用例驱动、以构架为中心、迭代和增量。

这是统一过程所特有的。

2.使用用例的主要原因(1)用例着眼于为用户增加价值,提供了一种捕获功能需求的系统而且直觉的方法。

(2)用例可驱动整个开发过程,分析、设计和测试等大部分活动都是从用例开始执行的。

设计和测试可根据用例进行规划和协调。

3.采用迭代和增量的开发方法的好处为了尽早处理关键风险和重要风险;为了建立一个构架来指导软件开发;为更好地处理不可避免的需求以及其他变化而提供一个框架;为了随时间而递增地构建系统;为了提供一个开发过程,使所有工作人员可以更高效地工作。

4.需求捕获中用到的主要制品需求捕获中用到的主要制品是用例模型,包括用例和参与者:(1)用例模型∙用例模型可以使软件开发人员和客户在需求方面达成共识∙用例模型是一种包括参与者、用例以及它们之间关系的系统模型(2)参与者∙参与者包括用户及与系统进行交互的外部系统∙一个参与者实例是与该系统进行交互的一个具体用户(3)用例∙用例确定了一个与系统参与者进行交互、并可由系统执行的动作序列∙用例是一个类元,具有操作和属性∙用例说明可以包括状态图、活动图、协作图和顺序图∙事件流规定了在执行确定的用例时系统要完成的工作以及系统如何与参与者进行交互∙特殊需求是汇集了一个用例的所有需求的文本描述,主要是与用例有关的非功能性需求,需要在后续的工作流中进行处理。

5.设计在软件生命周期中的作用设计工作集中在细化阶段的末期到构造阶段的初期,产生合理而稳定的构架,创建实现模型的蓝图;设计模型非常接近实际的系统,在整个软件生命周期里要保持并维护好设计模型;在双向工程中,设计模型可用来可视化地刻画系统实现并支持图形化编程技术。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018/10/18 11
UML通过图形化的表示机制从多个侧面对系统的
UML概述
分析和设计模型进行刻画。 定义五类图形机制: 用例视图(use case view)从外部用户的角度 描述系统的功能,并指出功能的参与者。
用例图(use case diagram)
结构视图(structural view)从不同的层面表示
需求 设计 实现 V&V 实施 配置变更管理 项目管理 环境 过程迭代

时间组织
2018/10/18 26
图中的浪线部分描述了不同的工作流,在
不同的时间段内工作量的不同。值得注意 的是,几乎所有的工作流,在所有的时间 段内均有工作量,只是大小不同而已。这 与瀑布过程有明显的不同。
初始 细化 构造 交付
14
UML概述
状态图描述类的对象的动态行为。 它包含对象所有可能的状态、在每个状态下能够响应 的事件以及事件发生时的状态迁移与响应动作。 活动图描述系统为完成某项功能而执行的操作序
列,这些操作序列可以并发和同步。
活动图中包含控制流和信息流。
控制流表示一个操作完成后对其后续操作的触发,信
2018/10/18 13
行为视图(behavioral view)从不同的侧面
UML概述
刻画系统的动态行为。
交互图描述对象之间通过消息传递进行的交互
交互图(interactive diagram) 状态图(statechart diagram) 活动图(activity diagram)
2018/10/18 7
面向对象方法的优势
(2)支持软件复用。 在源代码级复用方面,面向对象方法通过继承 机制和代理方法,使得复用者不需要直接修改被 复用的类; 在设计级复用方面,近年来迅速发展的设计模式 技术在软件业界大显身手,贡献良多。
2018/10/18
8
面向对象方法的优势
(3)改善软件结构。 面向对象方法通过对属性和操作的封装实现了软 件工程倡导的信息隐藏原则。 在面向对象的软件结构中,每个类均拥有完成其 操作所必需的数据 这些数据通过访问权限控制关键字private隐藏于 类的内部,或通过protected关键字隐藏于类及 其子类的内部 外界对类的内部数据的访问或修改只能通过该类 对外公开的接口函数施行,这种访问或修改对于 该类而言是可控的。
国防科技大学计算机学院
17
UML概述
在4.1.2节介绍的课程注册管理系统的用例图包含7个主要
用例: 设定课程信息、制订课表、制订选课计划 查询课表及课程信息、查询选课计划 查询选课学生信息、汇总选课计划 教务管理员使用“制订课表”用例,设置或修改课程设置 的属性(时间、地点、任课教师等),增删课程设置; 学生使用“制订选课计划”用例选课、修改自己的个人课 表; 收费管理系统基于每个学生的最终选课情况计算应缴费用; 教师使用“查询选课学生信息”用例获取选修这门课程的 学生花名册。
2018/10/18
2
案例1:课程注册管理系统
为学校教务部门开发一个课程注册管理系统。 该校实施学分制,每学期开学前,教务管理人员利用
该系统输入本学期开设的全部课程及相关信息、提 供课程总表(所有课程的任课教师、每门课程上课 时间、地点)。 开学后,学生利用该系统查询课程和课表信息,在 第一周注册课程或撤销对课程的注册。 软件系统为每个学生提供所选课程的课程表,并通知 计费系统计算学生的选课费用。 软件系统为任课教师在学期内提供随时查询选修其 所开课程的学生信息。 学生可随时查询课程信息、本人所选课程及课程表, 教务管理人员可随时查询所有收录的课程信息。
RUP以一种能够被大多数项目和开发组织适
应的形式建立整个过程,包含6项最佳实践: ① 迭代式软件开发; ② 需求管理; ③ 基于构件的架构应用; ④ 建立可视化的软件模型; ⑤ 软件质量验证; ⑥ 软件变更控制;
23
2.4.1 RUP软件过程框架
RUP将软件开发过程分解为九个工作流,即子过
系统的静态结构。
包图(package diagram) 类图(class diagram) 对象图(object diagram)
2018/10/18
12
UML概述
包图描述系统的分解结构,表示包(package)以
及包之间的关系。 包由子包及类构成。 包之间的关系包括继承、构成与依赖关系。 类图描述系统的静态结构,类图的结点表示系统中 的类及其属性和操作,类图的边表示类之间的联系, 包括继承、聚合、关联、依赖等。 关联和依赖关系是UML在面向对象的基本概念体系 之外引进的两种新关系,稍后将解释关联关系。 对象图是类图的实例。它描述在某种状态下,或者 在某一时间段系统中活跃的对象及其关系。 对象图中,一个类可以拥有多个活跃的对象实例。
2018/10/18
与协作。 交互图分为顺序图(sequence diagram)与 通信图(communication diagram)两种 形式。 顺序图描述对象之间消息发送的时间序。 通信图描述对象间的动态协作关系。 通信图通过消息序号表示消息传递的时间序, 这种表示不如顺序图直观。
2018/10/18 3
案例2:家庭保安系统
建立基于微处理器的家庭保安系统,它能够识别
异常事件并采取相应的防护措施。 这些异常事件应包括非法进入、火灾,等等。一旦 异常情形被相应的传感器探测出来,系统应自动 发出警报,并用电话向监控中心报警。 系统应允许户主对其行为实施程序式控制。

2018/10/18
第二章 UML与RUP统一过程
2.1 案例说明 2.2 面向对象的软件开发方法 2.3 UML概述 2.4 RUP统一过程
2018/10/18
1
2.1 案例说明
贯穿全书的案例共有两个:
课程注册管理系统和家庭保安系统。 前者的业务背景是信息处理系统,书中主要用于 解释软件工程中的概念; 后者属嵌入式应用问题,用于综合演示每章所述 的软件工程技术和过程的应用方法。
2018/10/18
28
图2.2 RUP软件过程和软件生存周期
细化
策划: 管理、需求 初始 建模: 需求、设计
2018/10/18
19
2.4 RUP统一过程
本节介绍: RUP统一过程的软件过程框架 软件进化的五个阶段 软件过程的九个工作流
2018/10/18
20
什么是Rational统一过程(RUP)
Rational
: Rational 统 一 过 程 是 由 Rational 公司开发并维护的,可以将RUP看 成一款软件产品,并和一系列软件开发工具 紧密集成; 统一:Rational统一过程拥有自己的一套架 构,并且这套架构是以一种大多数项目和开 发组织都能够接受的形式存在; 过程:Rational统一过程是一种软件开发过 程,提够了如何对软件开发组织进行管理的 方式,并拥有自己的目标和方法;
21
什么是Rational统一过程(RUP)
Rational统一过程是一种软件工程过程; Rational统一过程是一个过程产品; Rational统一过程拥有一套自己的过程框架;
Rational统一过程包含了许多现代软件开发中
的最佳实践;
22
什么是Rational统一过程(RUP)
工作量
5 %
20 %
65 %
10%
进度
10 %
30%
50%
10%
27
RUP软件过程框架
RUP五个阶段和九个工作流组成的框架可根据软
件开发项目需要进行剪裁。 RUP支持软件工程的迭代开发、管理软件需求、 基于构件的架构、可视化建模、软件质量保证、 软件变更管理等。 图2.2描述了软件开发各个子过程(即工作流)与 软件生存周期各个阶段(软件制品的状态)之间 的“一种”对应关系。
息流则刻画操作之间的信息交换。
2018/10/18
15
UML概述
构件视图(component view)
构件图(component diagram)描述软件系 统中各组成构件、构件的内部结构以及构件之 间的依赖关系。 一个构件是对一组软件单元的封装,这些软件 单元联合对外提供统一的接口。 构件中的典型软件单元包括类和(子)构件。 构件图主要用于理解和分析软件系统中各构件 之间的相互协作关系,以及相互影响的程度和 范围。
2018/10/18 9
面向对象方法的优势
面向对象的软件系统可以看成一群相对独立的类,
它们各司其职,仅当必要时,类的实例对象才会 通过消息请求其他对象提供帮助。 面向对象方法还通过多态机制适当分离类的对外 接口和内部实现,使得类的使用者得以使用统一 的接口触发不同的功能执行,并且保证内部实现 的变更不会导致接口使用方式的修改。
4
2.2 面向对象的软件开发方法
面向对象 = 对象 + 类 + 继承 + 聚合 + 多
态 + 消息
2018/10/18
5
2.2.2 面向对象方法的优势
相对于传统的结构化方法和面向数据的方法,面
向对象方法除具有上述削减语义断层的作用外, 在简化软件开发过程、支持软件复用、改善软件 结构等方面还有明显优势。
2018/10/18 18
UML概述
课程注册管理系统的类图包括六个类:
教务管理员、学生、老师、课程、课程设置、课表 前3个类为“用户”类的子类。 一门“课程”可由一到多个“课程设置”构成 一张“课表”可由若干“课程设置”聚合而成 “学生”、“老师”与“课程设置”之间,“教务管理员 ”与“课程”和“课表”之间,“学生”与“课程”和“ 课表”之间,以及“学生”与“老师”之间存在关联关系。
相关文档
最新文档