软件工程4-4

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需求定义文档需求规格说明循环需求分析需求获取与需求分析的区别需求获取是面向用户在较高的抽象级别上对系统特性的定义可以更多地关注系统的特性以及如何体现用户的需求以便更好地理解系统的形状和形式可以对系统的完整性一致性以及对环境的适应性进行评估在继续大量投入之前可以利用这些信息决定可行性和管理系统的范围可以脱离对具体需求进行取舍和决策所带来的风险需求获取的目标是用户的认可因此阶段的验收标志是用户签字确认的需求描述需求分析需求获取与需求分析的区别需求分析是面向系统实现严格对系统需求的定义定义系统的输入输出功能属性以及系统环境的属性决定系统的完整集合面向系统技术实现讨论系统应该做什么因此应避免受项目进度计划预算设计测试等的影响需求和设计是迭代进行的但需求将引导设计也受设计方法的制约需求分析的验收标志是组织的需求评审需求分析细化系统定义在需求获取阶段我们已经通过建立业务模型系统模型与用户共同确定了系统的特性
类, 接口, 协作
用例
组件
用例图
过程视图 分布视图
活动类
节点
组织: 包, 子系统
动态 交互 状态机
UML静态图
用例图(Use Case Diagram) 类图(Class Diagram) 对象图(Object Diagram) 构件图(Component Diagram) 部署图(Deployment Diagram)
详细内容,请学习《统一软件开发过程》(The Unified Software Development Process)(美)Ivar Jacobson、 Grady Booch、James Rumbaugh著,周伯生、冯学民、樊 东平译(机械工业出版社)

UML概要

UML是一种语言:
可视化
OMT
OOSE
UML概念(1)

Method
方法告诉使用者做什么、怎么做、什么时候做、为什
么做(特定活动的目的),方法包括模型

Modeling
模型用来描述使用某种方法的结果,例如,通过不同
角度的简化视图,描述对象系统的设计与实现结果, 模型用建模语言来表达

Language
建模语言由记号(模型使用的符号)和一组规则(语

UML动态图
状态图(State Diagram) 时序图(Sequence Diagram) 协作图(Collaboration Diagram) 活动图(Activity Diagram)

UML建模方法与视图



用例建模 用例图 类和对象(结构)建模: 类图 对象图 行为(动态)建模 用例图 交互图(顺序图、协作图) 活动图 状态图 物理体系结构建模 构件图 实施图
它描述了存在的actors(外部系统)、use
case(该系
统应该执行什么)以及它们的关系


在Use Case视图中可以包含以下的图形 Use Case图:包括:包、actors、use case和关系 相互作用图(序列图或协同图):包括:对象和消息 符号表示:
系统名称
用例名 系统 用例 角色 关联
行为元素
交互,
状态机
组元素
包,
子系统
类、对象与接口
其它元素
注解
UML的图表与视图

一个系统往往可以从不同的角度进行观察,一个 角度构成了一个视图 UML有九种图表,构成5种视图:
1、用例图(use
case diagram) 1-用例视图 2、类图(class diagram) 静态逻辑视图 3、对象图(object diagram) 2-逻辑视图 4、状态图(state diagram) 动态逻辑视图 5、时序图(sequence diagram) 6、协作图(collaboration diagram) 7、活动图(activity diagram) 3-并发视图 8、构件图(component diagram) 4-构件视图 9、部署图(deployment diagram) 5-部署视图
Scenario Scenario Diagrams Diagrams 协作图
模型
State State Diagrams Diagrams 组件图
Scenario Scenario Diagrams Diagrams 状态图 活动图
Component Component Diagrams Diagrams 分布图
UML过程


描述组件的分布 标识系统性能瓶颈

由集成人员、网络工程师和系统工程师开 发
交互图

交互图描述了系统在逻辑设计中存在的对象及其 间的关系
它可以代表系统中对象的结构

UML中包含两种交互图,它们对同一交互操作提 供了不同的浏览视角
时序图
按时间顺序排列对象交互操作 协作图 围绕对象及其间的链接关系组织对象的交互操作
《现代软件工程》
第四部分
现代软件工程的需求过程
第四部分 现代软件工程的需求过程
传统的需求分析方法-1 面向对象的需求分析方法-2 基于UML的需求分析方法-3 需求工程与需求管理实现-4
第四部分 现代软件工程的需求过程
第三章 基于UML的需求分析方法
UML概述-3.1 需求获取与用例建模-3.2 类与对象建模-3.3 动态建模-3.4 物理体系结构建模-3.5
详细描述的 构造性的
文档化的

UML的价值
是一个开发的标准
支持完整的软件开发生命周期模型
支持不同的应用领域 是基于经验的和用户群体需要的
被许多工具支持
UML概念

UML—— Unified Modeling Language.
组合了当前最好的面向对象软件建模方法 UML三位主要贡献者
UML概念


1994年,Booch和Rumbaugh在Rational开始了 UML的工作,但是的目标是创建一个“统一方法” 他们把Booch93和OMT2统一起来,与95年发布 了UM0.8(Unified Method) 1995年OOSE的创始人Jacobson加入到这个联盟 中,开始把工作重点放到创建一种标准建模语言, UML—— Unified Modeling Language。 他们以Booch方法、OMT方法、OOSE方法为基 础,吸收了其他流派的长处,于96年6月、10月、 97年1月、11月分别推出了UML0.9、0.91、1.0和 1.1

时序图

捕获系统的动态行为(面向时间的)
时序图
捕获系统的动态行为(面向时间的) 目的

模型流程的控制
举例说明典型的脚本
时序图(Sequence Diagram)
打印文件 计算机 打印服务器 计算机 打印队列
打印文件
[打印机就绪] 打印文件
[打印机忙] 保存文件
协作图

捕获系统的动态行为 (面向消息的)
模型是对一个系统
模型,视图,和图表
Use Case Use Case Diagrams Diagrams 时序图 Use Case Use Case Diagrams Diagrams 用例图
从详细观察的角度 的描述
State State Diagrams Diagrams 类图
State State Diagrams Diagrams 对象图
法、语义等)组成
UML概念(2)



UML是一种语言 遵循特定的规则 允许创建各种模型 并不告诉设计者需要创建哪些模型 并不提供开发过程 UML是可视化语言 UML是图形化语言 图形便于交流(一幅图抵上千文字) UML是用于构造系统或理解系统的语言 UML既支持正向工程,又支持反向工程

UML是文档化语言
将所建造的系统记录下来 便于新程序员跟进 开发产品新版本时很有用处
UML的概念(3)
模型元素 关系 扩展的机制 图表

模型元素
UML构成:
模型元素 关系 扩展的机制 图表
关系
图表
模型元素

结构元素
类,接口,协作 用例,主动类,构件 节点


构件图

捕获实现的物理结构
构件图
捕获实现的物理结构 作为体系结构规范的一部分实现 目的

组织源代码 构造一个可执行的发布版本 指定物理数据库

由集成人员和程序人员创建
分布图

捕获系统硬件的拓扑结构
分布图
捕获系统硬件的拓扑结构 作为系统结构规范的一部分被创建 目的
Use Case图例
保险商务系统 签定保险 单
销售统计
客户
客户统计
保险销售员
类图



捕获系统的词汇表 在开发过程中被创建和精确化 目的
系统中的名字和模型概念
详细描述协作关系
详细描述逻辑数据库表

由分析人员、设计人员和代码实现人员开发
类图Class Diagram
类图描绘系统的静态视图 它描述了系统逻辑设计中存在的包、类以及它们之间的关系 类图可以代表该系统中部分或全部的类结构
3.1 UML概述
UML——统一OO方法大战的努力

1960年 - 70年代
COBOL,
FORTRAN, C 结构化分析和设计技术

1980年 - 1990年前
Smalltalk,
Ada, C++, Visual Basic 早期面向对象生成(代码)方法

1990年中晚期
Java Unified
协作图
捕获系统的动态行为 (面向消息的) 目的

模型流程控制
举例说明对象结构和控制的协调
协作图(Collaboration Diagram)
计算机 [打印机忙] 保存文件 打印文件 [打印机就绪] 打印文件 打印队列
打印服务器
打印机
状态图

捕获系统动态行为(面向事件的)
状态图
捕获系统动态行为(面向事件的) 目的
活动图
捕获动态行为(面向活动的 目的

给商业工作流建模
给操作建模
活动图Activity Diagram
Win.printAll() Disk full
显示磁盘满
Disk free 显示在打印 建立打印文件
^printer.print()
删去显示信息
体系结构和UML
设计视图 实现视图
图表

图表是模型的视图
表现给投资者看得详细的描述; 提供了系统的局部详细描述; 和别的视图保持语义一致;

在UML中,有九种标准图表
静态视图:
用例图, 类图,对象图,组件图 , 分布图 动态视图: 时序图,协作图,状态图,活动图
用例图

捕获用户能够看到的系统
通过对”场景”的描述,定义系统的功能和性
Process
什么是UML?



Unified Modeling Language(统一建模语言)是 国际对象管理组织OMG制定的一个通用的、可视 化建模语言标准 用于描述(specify)、可视化(visualize)、构 造(construct)和记载(document)软件密集型 系统的各种工件 UML提供了一系列建模元素、概念、关系以及规则, 应用于软件开发活动
能,并获得用户和开发团队的共同认可 提供清楚和无二义的用户与系统的交互描述
用例图
在开发过程的早期创建 目的:

详细说明系统的表达含义; 捕获系统的需求; 验证系统的体系结构;
驱动实现和生成测试用例。

由分析人员和领域专家开发
Use Case图

Use Case图形描述了一个系统应该执行的什么或应该有 什么外部系统
1. OMT方法(对象、动态、功能模型,James Rumbaugh) 2. The Booch method (5个步骤,Grady Booch) 3. OOSE (User Case图,Ivar Jacobson)

James Rumbaugh
Grady Booch
Ivar Jacobson

对象生命周期模型
为起反作用的对象(用户接口、设备等)建模
状态图State Diagram
状态图描述了: 给定类的状态转换空间 导致状态转换的事件 导致状态改变的动作 为类的重要动态行为建立状态转换图
在底楼
到达 向底楼移动 向下移动 上楼
向上移动
到达 上楼
到达
上楼
空闲
超时
活动图

捕获动态行为(面向活动的)
英语:书 书名:英语 价格:26.5 王平:学生 姓名:王平 学号:020106 数学:书 书名:数学 价格:21.8
对象间关系
关联关系 (Association) 聚集关系(Aggregation) 泛化关系(Generalization) 依赖关系(Dependency) 细化关系 (Refinement)
学生 1 书 购买 0..* 属于 书名:string 价格:real
姓名:string 学号:string
对象图

捕获实例和 连接
对象图
捕获实例和连接 在分析和设计阶段创建 目的

举例说明数据/对象结构 详细描述瞬态图

由分析人员、设计人员和代码实现人员开 发
对象图Object Diagram
创建UML
OMG 认可, Nov 1997
UML 1.3 UML 1.1
UML 1.0 UML 0.9
Unified Method 0.8
最后提交给 OMG, Sep ‘97
公共 反馈 第一次提交给OMG, Jan ´97 UML 团体 Web - June ´96
OOPSLA ´95
其他方法
Booch 方法
相关文档
最新文档