当前位置:文档之家› 面向对象的需求分析

面向对象的需求分析

2018/8/9 33
4 移交
在移交阶段,开发人员对构造阶段获得的软件 系统在用户实际工作环境(或接近实际的模拟环 境)中试运行,根据用户的修改意见进行少量调 整。
2018/8/9
34
6.3 基于UML的需求分析
初步业务需求描述形成后,基于UML的需求分析分为以下 步骤: (1)利用用例及用例图表示需求:从业务需求描述出发获 取执行者和场景;对场景进行汇总、分类、抽象,形成用 例;确定执行者与用例、用例与用例图之间的关系,生成 用例图。 (2)利用包图及类图表示目标软件系统的总体框架结构: 根据领域知识、业务需求和工作经验,设计目标软件系统的顶 层架构; 从业务需求描述中提取“关键概念”,形成领域概念模型; 从概念模型和用例出发,研究系统中主要的类之间的关系,生 成类图。
2018/8/9 14
(3)行为图 交互图(interactive diagram) 状态图(statechart diagram ) 活动图(activity diagram) 它们从不同的侧面刻画系统的动态行为。 交互图描述对象之间的消息传递。它又可分为顺序 图 (sequence diagram) 与 合 作 图 (collaboration diagram)两种形式。顺序图强调对象之间消息发送 的时间序。合作图更强调对象间的动态协作关系。 合作图也可通过消息序号来表示消息传递的时间序, 只不过这种表示不如顺序图那样直观。 2018/8/9 15
2018/8/9
4

如:人这个实体 属性:姓名、年龄、职业 行为:跑、跳
Tom Tom Name Name Age Age Professior Professior Walk Walk Dance Dance 属性 属性
行为 行为
2018/8/9
5
面向对象的概念与思想
(2)类。 类表示某些对象在属性和操作方面的共同特征。 例如,直升飞机、大型客机、轰炸机可归为飞行器 类。共同属性有:位置、速度和颜色等。 共同操作有:起飞、降落、加速和维修等。
2018/8/9
9


机身
机械控制系统
电子控制系统
2018/8/9
10
面向对象的概念与思想
(5)消息 消息传递是对象与其外部世界相互关联的唯一 途径。对象可以向其它对象发送消息以请求服务, 也可以响应其它对象传来的消息,完成自身固有 的某些操作,从而服务于其它对象。 例如,直升飞机可以响应轮船的海难急救信号, 起飞,加速,飞赴出事地点并实施救援作业。因 为对象的操作主要用来响应外来消息并为其它对 象提供服务,所以它们也被称作“外部服务”。
2018/8/9 13
对象图(object diagram) 对象图是类图的一个实例。它描述在某种状态下, 或者在某一时间段系统中活跃的对象及其关系。 在对象图中,一个类可以拥有多个活跃的对象实 例。 包图(package diagram) 包图描述系统的分解,表示包(package)以及包之间 的关系。 包由子包及类组成。 包之间的关系包括继承、构成与依赖关系。
飞行器类:
位 速 颜 起 降 加 维 置 度 色 飞 落 速 修
6
2018/8/9
面向对象的概念与思想
(3)继承 类之间的继承关系是现实世界中遗传关系的模 拟,它表示类之间的内在联系 以及对属性和操作 的共享,即,子类可以沿用父类 ( 被继承类 ) 的某 些特征。子类也可以具有自己独有的属性和操作。 例如,飞行器、汽车和轮船可归于交通工具类, 飞行器类可以继承交通工具类的某些属性和操作。 直升飞机、大型客机、轰炸机可归为飞行器类。

2018/8/9 19
课程注册管理系统的类图
2018/8/9
20



图6.2表示课程注册管理系统包括: “教务管理人员”、“学生”、“老师”、“课程”、 “课程设置”、“课程注册表”、“课程注册管理器”、 “课程管理器”八个类。 前三个类为一般化的“用户”类的子类。 一门“课程”可由一到多个“课程设置”构成,例如,对 于全校性的公共基础课,由于选修的学生太多,必须安排 不同的老师、不同的教室或者不同的时间段。 “学生”、“老师”与“课程设置”之间,“课程注册表” 与“课程注册管理器”之间,以及“课程注册管理器”与 “课程”之间存在着关联关系。


状态图描述类的对象的动态行为。它包含对象所 有可能的状态、在每个状态下能够响应的事件以 及事件发生时的状态迁移与响应动作。 活动图描述系统为完成某项功能而执行的操作序 列,这些操作序列可以并发和同步。活动图中包 含控制流和信息流。控制流表示一个操作完成后 对其后续操作的触发,信息流则刻画操作之间的 信息交换。
2018/8/9
3
面向对象的概念与思想
OO (1) 对象 对象是现实世界中个体或事物的抽象表示, 是其属性和相关操作的封装。属性表示对象的性 质,属性值规定了对象所有可能的状态。对象的 操作是指该对象可以展现的外部服务。例如,大 型客机可视为对象,它具有位置、速度、颜色、 容量等属性,对于 该对象可施行起飞、降落、加 速、维修等操作,这些操作将或多或少地改变飞 机的属性值(状态)。
2018/8/9
17

部署图(deployment diagram) 描述软件系统运行环境的硬件及网络的物理 体系结构。 结点表示实际的计算机和设备,边表示结点 之间的物理连接关系,也可显示连接的类型及结 点之间的依赖性。 在结点内部,可以放置可执行部件和对象以 显示结点与可执行软件单元之间的对应关系。 部署图对于软件安装工程师有重要的参考 价值。
第六章 面向对象的需求分析



面向对象的需求分析方法的核心是利用面向对象的概念 和方法为软件需求建造模型。它包含面向对象风格的图 形语言机制以及用于指导需求分析的面向对象方法学。 面向对象的思想最初起源于1960年代中期的仿真程序设 计语言Simula67。1980年代初出现的Smalltalk语言及其 程序设计环境对面向对象技术的推广应用起到了显著的 促进作用。 1990 年代中后期诞生并迅速成熟的 UML (统一建模语 言,Unified Modeling Language)是面向对象技术发展 的一个重要里程碑。 UML 统一了面向对象建模的基本 概念、术语和表示方法,不仅为面向对象的软件开发过 程提供了能力丰富的表达手段,而且也为软件开发人员 提供了互相交流、分享经验的共用语言。
1)用例及用例图。它们是开发人员在构造阶段进行分 析和设计的基础。 2)类图。在领域概念模型的基础上引进为软件实现所 必需的类、属性和方法。 3)交互图:表示针对用例设计的软件实现方法。 4)状态图:表示类的对象的状态—事件—响应行为。 5)活动图:表示复杂的算法过程,尤其是过程中的并 发和同步。 6)包图:表示目标软件系统的顶层结构。 7)构件图。8)部署图。
2018/8/9
12
UML的语言机制
UML 通过图形化的表示机制从多个侧面刻画系统的分 析和设计模型。 UML共定义十种视图,可分四类: (1) 用例图(use case diagram) 从外部用户的角度描述系统的功能, 并指出功能的执行者。 (2)静态图 类图(class diagram)、 类图描述系统的静态结构,类图的结点表示系统中的 类及其属性和操作,类图的边表示类之间的联系, 包括继承、关联、依赖、聚合等。
2018/8/9
30
综上,在细化阶段可能需要使用的UML语言机 制包括:描述用户需求的用例及用例图,表示领 域概念模型的类图,表示业务流程处理的活动图, 表示系统高层结构的包图,表示用例内部实现过 程的交互图等。
2018/8/9
31
3 构造:
2018/8/9
32
构造阶段可能使用的UML语言机制:
21
2018/8/9
用UML顺序图表示“个人课程规划” 用例中的学生选课过程
2018/8/9
22
用UML协作图表示“个人课程规划” 用例中的学生选课过程

Hale Waihona Puke 2018/8/923
UML状态图示例
“ 课程设置”对象的状态图表示,每个“课程设置”最多 只能容纳50个选课学生。

2018/8/9
24
6.2.2 基于UML的软件开发过程
1
2018/8/9
面向对象的需求分析

面向对象的概念与思想 UML概述 基于UML的需求分析 以“家庭保安系统”为实例,介绍与需求分析相 关的部分 UML 语言机制以及基于 UML 的面向对 象的需求分析方法和过程。
2018/8/9
2
6.1 面向对象的概念与思想



客观世界中的应用问题都是由实体及其相互关系构成的。 可以将客观世界中与应用问题有关的实体及其属性抽象为 问题空间中的对象。 为应用问题寻求软件解,是借助于计算机语言对其提供的 实体施加某些动作,以动作的结果给出问题的解。 面向对象 (Object-Oriented, 简称 OO) 的需求分析方法通过 提供对象、对象间消息传递等语言机制让分析人员在解空 间中直接模拟问题空间中的对象及其行为
2018/8/9
7
飞行器类 位 置,速 度,颜 色 起 飞、降 落、加 速、维 修
轰炸机
直升飞机
大型客机
2018/8/9
8
面向对象的概念与思想
(4)聚集 现实世界普遍存在部分—整体关系。 例如,飞机可由发动机、机身、机械控制系统、 电子控制系统等构成。 部分 —整体关系在 OO方法学中表示为类之间的 聚集关系。在聚集关系下,部分类的对象是整体 类对象的一个组成部分。
2018/8/9
28
(2)初步的高层设计。如果目标软件系统的规 模比较庞大,那么,经初步需求分析获得的用 例、类将会非常多。此时,可以考虑根据用例、 类在业务领域中的关系,或者根据业务领域中 某种有意义的分类方法将整个软件系统划分为 若干个包,利用 UML 的包图刻画这些包及其关 系。如此,用例、用例图、类、类图将依据包 的划分方法分属于不同的包,从而给出整个目 标软件系统的高层结构。
相关主题