1、王贵用王贵用管理信息系统4.2 4.2 面向对象系统分析面向对象系统分析2/61闽南科技学院经济管理系4.2.1 4.2.1 面向对象系统分析的基本过程面向对象系统分析的基本过程 4.2.2 4.2.2 统一建模语言统一建模语言 4.2.3 4.2.3 面向对象的系统需求分析面向对象的系统需求分析4.2.4 4.2.4 面向对象的系统分析活动面向对象的系统分析活动4.2.5 4.2.5 建立对象模型建立对象模型4.2.6 4.2.6 建立动态模型建立动态模型4.2.7 4.2.7 建立功能模型建立功能模型 4.2.8 4.2.8 案例案例目录目录3/61闽南科技学院经济管理系4.2.1.1 概
2、述概述u面向对象分析面向对象分析(Object-Oriented Analysis(Object-Oriented Analysis,OOA)OOA),就是抽取和整理用户需求,按照面向对象的思,就是抽取和整理用户需求,按照面向对象的思想来分析问题,最后建立问题域的精确模型。想来分析问题,最后建立问题域的精确模型。u分析的过程就是识别分析的过程就是识别问题域问题域和和系统责任系统责任,提取系统提取系统需求的过程,分析工作包括需求的过程,分析工作包括3 3项内容,即理解、表项内容,即理解、表达、验证。分析过程得出的最重要的文档资料是达、验证。分析过程得出的最重要的文档资料是软件需求规格说明软件需求
3、规格说明,在面向对象分析中,主要由,在面向对象分析中,主要由对象模型对象模型、动态模型动态模型和和功能模型功能模型组成。组成。4.2.1 面向对象分析的基本过程面向对象分析的基本过程4/61闽南科技学院经济管理系4.2.1 面向对象分析的基本过程面向对象分析的基本过程u面向对象系统分析过程可分为两个阶段面向对象系统分析过程可分为两个阶段u需求分析阶段需求分析阶段:通过详细调查了解用户的需求,对现实问:通过详细调查了解用户的需求,对现实问题进行分析,确定用户需求。题进行分析,确定用户需求。u系统分析阶段系统分析阶段:利用需求分析的结果来确定系统的范围和:利用需求分析的结果来确定系统的范围和主要功
4、能。主要功能。4.2.1.1 概述概述5/61闽南科技学院经济管理系4.2.1.2 面向对象的基本过程面向对象的基本过程4.2.1 面向对象分析的基本过程面向对象分析的基本过程OOA过程模型6/61闽南科技学院经济管理系uOOA过程由5项主要活动组成:(1)识别问题域中的类和对象(2)确定结构(3)确定主题(4)定义属性(5)定义服务4.2.1.2 面向对象的基本过程面向对象的基本过程4.2.1 面向对象分析的基本过程面向对象分析的基本过程7/61闽南科技学院经济管理系uOOA模型由5个层组成:(1)主题层,按模块进行划分,从而降低模型的复杂程度;(2)类与对象层,描述了系统中的类与对象;(3
5、)结构层,描述了类之间的继承关系和“整体-部分”结构;(4)属性层,描述了属性以及类和对象之间的实例连接;(5)服务层,描述了方法以及类和对象之间的消息连接。OOA过程的5项活动分别对应OOA 模型的5个层次,这5项活动和5个层次又继续贯穿在OOD(面向对象的设计)过程中。4.2.1.2 面向对象的基本过程面向对象的基本过程4.2.1 面向对象分析的基本过程面向对象分析的基本过程8/61闽南科技学院经济管理系4.2.1 面向对象分析的基本过程面向对象分析的基本过程u面向对象的系统需求分析面向对象的系统需求分析:系统需求描述;发现和确定角:系统需求描述;发现和确定角色;发现和确定用例;绘制用例图
6、及进行用例描述。色;发现和确定用例;绘制用例图及进行用例描述。u对象、类静态建模对象、类静态建模:标识系统实体类;标识对象、类的属:标识系统实体类;标识对象、类的属性;确定对象、类间的关联;建立系统类图。性;确定对象、类间的关联;建立系统类图。u对象、类动态建模对象、类动态建模:建立系统对象交互图;建立系统状态:建立系统对象交互图;建立系统状态图和活动图;审查动态模型。图和活动图;审查动态模型。u对象、类功能建模对象、类功能建模4.2.1.1 面向对象系统分析的任务面向对象系统分析的任务9/61闽南科技学院经济管理系lOOAOOA的主要原则的主要原则(1)抽象原则。系统中的对象是对现实世界中事
7、物的抽象;类是系统中对象的抽象。(2)分类原则。就是把具有相同属性和服务的对象划分为一 类,用类作为这些对象的抽象描述。(3)聚合原则。聚合将一个复杂的事物看成由若干比较简单 的事物组合形成的,从而简化对复杂事物的描述。(4)关联原则。在面向对象分析过程中,运用关联原则可以 在系统模型中明确地标识对象之间的静态联系。(5)消息通信原则。这一原则要求对象之间只能通过消息进 行通信,而不允许在对象之外直接地存取对象内部的属 性。通过消息进行通信是由于封装原则而引起的。4.2.1 面向对象分析的基本过程面向对象分析的基本过程10/61闽南科技学院经济管理系lOOAOOA的主要优点(的主要优点(1 1
8、)(1)OOA是在人类思维组织的基本方法框架下定义并表达 需求,直观性好。(2)便于分析人员集中精力于问题空间的理解和分析,有利于超越系统的复杂性困难。(3)把属性和有关服务方法作为对象整体来看待,比较 自然。(4)使用对象间的最小相关性来分析和说明。这有利于 实行封装性原则,并使OOA适应开发需求的变化,也 有利于制作和提取可复用的部件。4.2.1 面向对象分析的基本过程面向对象分析的基本过程11/61闽南科技学院经济管理系lOOAOOA的主要优点(的主要优点(2 2)(5)通过对共性的显式表示而提高表达能力。抽 象层次与后续OOP结合,编程思路清晰,特 别是有利于提高程序效率。(6)分析法
9、与设计法的一致性,密切配合建造一 个问题域模型。(7)对系统族的适用性和可扩展性强。4.2.1 面向对象分析的基本过程面向对象分析的基本过程12/61闽南科技学院经济管理系UML构成 UML由视图(views)、图(Diagrams)、模型元素(Model elements)和通用机制(general mechanism)等几个部分构成。(1)视图用来表示被建模系统的各个方面(2)图由各种图片(graph)构成,用来描述一个视图的内容。(3)模型元素代表面向对象中的类、对象、消息和关系等概念,是构成图的最基本的常用概念。(4)通用机制用于表示其它信息 4.2.2 统一建模语言统一建模语言13/
10、61闽南科技学院经济管理系UML的五种主要图:(1)用例图(Use-case diagram),用例图用于显示若干角色(actor)以及这些角色与系统提供的用例之间的连接关系。(2)静态图(Static diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构。(3)行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。(4)交互图(Interactive diagram),描述对象间的交互关系。(5)实现图(Implementation diagram)4.2.2 统一建模语言统一建模语言14/61闽南科技学院经济管理系(1)用例图(Use-c
11、ase diagram)用于系统需求分析的工具 客户 保险销售员 签定保险单 销售统计资料 客户数据资料 保险商务系统 4.2.2 统一建模语言统一建模语言15/61闽南科技学院经济管理系(2)类和对象图类图是用类和它们之间的关系描述系统的一种图示,是从静态角度表示系统的。类图是构建其它图的基础,没有类图,就没有状态图、协作图等其它图,也就无法表示系统的其它各个视图。学生姓名:string学号:string书书名:string价格:real王平:学生姓名:王平学号:020106英语:书书名:英语价格:26.5数学:书书名:数学价格:21.84.2.2 统一建模语言统一建模语言16/61闽南科技
12、学院经济管理系(3)状态图和活动图状态图:用来描述一个特定对象的所有可能状态及其引起状态转移的事件。到达楼层 上升楼层 大楼的某层 向上升 空 闲 向下降 下降楼层 移到一层 超时 到达一层 上升楼层 4.2.2 统一建模语言统一建模语言17/61闽南科技学院经济管理系(3)状态图和活动图活动图:用来描述对象操作(方法)的行为,也可以描述用例和对象内部的工作过程。空闲磁盘空间 在屏幕上 显示磁盘满 Printer.Print(file)磁盘满 在屏幕上 显示打印 产生附录文件 擦除屏幕上 的提示信息 Printfile()4.2.2 统一建模语言统一建模语言18/61闽南科技学院经济管理系(4
13、)行为图顺序图(Sequence diagram)顺序图是按照时间顺序来安排,反映对象之间的交互情况。打印(文件):计算机:打印服务器:打印机:队列 打印(文件)打印机空闲 打印(文件)打印机忙 存储(文件)4.2.2 统一建模语言统一建模语言19/61闽南科技学院经济管理系(4)行为图协作图:用于描述相互协作的对象间的交互关系和链接关系。:计算机:打印服务器:打印机:队列 1:打印(文件)打印机空闲 1.1:打印(文件)打印机忙 1.2:存储(文件)4.2.2 统一建模语言统一建模语言20/61闽南科技学院经济管理系(5)组件图和部署图组件图:用来反映系统软件的物理结构,显示组件和组件之间的
14、关系。窗口控制(whnd.cpp)通信控制(comhnd.cpp)通信控制(comhnd.obj)窗口控制(whnd.obj)主控模块(main.cpp)主控模块(main.obj)图形库(graphic.dll)客户程序(client.exe)4.2.2 统一建模语言统一建模语言21/61闽南科技学院经济管理系(5)组件图和部署图部署图:用来描述处理器、设备和软件在运行时的物理构架。“TCP/IP”客户 A:Compaq Pro PC客户 B:Compaq Pro PC数据库服务器:VAX应用服务器:Silicon Graphics O2“TCP/IP”“DecNet”4.2.2 统一建模语
15、言统一建模语言22/61闽南科技学院经济管理系UML的视图:(1)用例视图(Use case view)(2)逻辑视图(Logical view)(3)组件视图(Component view)(4)展开视图(Deployment view)(5)并发视图(Concurrency view)4.2.2 统一建模语言统一建模语言23/61闽南科技学院经济管理系模型元素(Model element):(1)依赖(Dependencies)(2)关联(Association)(3)泛化(Generalization)(4)实现(Realization)4.2.2 统一建模语言统一建模语言24/61闽南
16、科技学院经济管理系通用机制(General Mechanism):扩展机制:一种通用机制 (1)版型:在基于现有各类模型元素的外形中定义模型元素的新类型 (2)标记值:贴在任何模型元素上的被命名的信息片 (3)约束:以自然语言或特定形式语言的正文表示的语言条件或限制4.2.2 统一建模语言统一建模语言25/61闽南科技学院经济管理系UML在系统开发全过程的应用:(1)需求分析阶段(2)系统分析阶段(3)系统设计阶段(4)构造编码阶段(5)测试阶段 4.2.2 统一建模语言统一建模语言26/61闽南科技学院经济管理系4.2.3 面向对象的系统需求分析面向对象的系统需求分析系统需求的获取与分析:(
17、1)系统需求的层次性:业务需求;用户需求;功能需求;非功能需求(2)系统需求的获取:需求来源;需求的获取路径(3)系统需求的分析:用图形描述系统的整体结构;通过需求原型等向用户提供可视化界面;需求实现的可行性研究;用模型描述实体的功能项、数据实体等方面内容27/61闽南科技学院经济管理系4.2.3 面向对象的系统需求分析面向对象的系统需求分析系统功能和角色的识别:(1)功能的识别。系统功能就是系统所提供的加工、分析和处理用户请求的方法和过程。(2)角色的识别。系统的角色包括:系统使用者;系统信息的来源;系统管理和维护的参与者;与其交互的应用系统;系统使用涉及的硬件;使用者的类型和细节功能;系统
18、使用的外部环境28/61闽南科技学院经济管理系4.2.3 面向对象的系统需求分析面向对象的系统需求分析系统需求的分析过程:(1)系统需求描述(2)发现和确定角色(3)发现和确定用例(4)绘制用例图及进行用例描述*以学籍管理系统为例说明系统需求分析过程29/61闽南科技学院经济管理系 获取对象和类获取对象和类 面向对象系统分析过程也是这样的,虽然对象是面向对象方法中的核心概念,也是构成系统的基本单位,但是在OO建模和OOP中,所有的对象都是通过类来描述的,类是具有相同属性和操作的一组对象的集合。OOA活动的最终目标是建立所有对象的类。4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2
19、.4.1 获取对象和类获取对象和类30/61闽南科技学院经济管理系 确定关联确定关联 关系就是事物之间的联系,当两个或多个类之间有相互依赖、相互作用的关系就是关联。一个面向对象的系统中,类之间存在以下四种关系:u一般特殊u关联 u实现 u依赖关系 4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.2 确定关联确定关联31/61闽南科技学院经济管理系u一般一般特殊结构特殊结构 一般特殊关系又称类属关系,是现实世界中一般对象和特殊对象之间的关系,反映了现实世界中事物之间的分类关系。前者称为父类,后者称为子类,子类继承父类的特性(属性、操作、关联等),同时又拥有自己的特性。4.2.
20、4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.2 确定关联确定关联32/61闽南科技学院经济管理系例如图书借阅管理系统中,对象类“人员”是类“管理员”和“借阅者”类的父类,而子类“管理员”又是类“系统维护人员”和类“一般操作人员”的父类。一般特殊关系4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.2 确定关联确定关联 一般一般特殊结构特殊结构33/61闽南科技学院经济管理系u关联关联 对象实例之间的整体部分关系,反映了现实世界中的事物之间的构成关系。关联又可以从两个方面来反映:u聚合关系表示对象实例之间的整体与部分的关系,作为整体的对象拥有作为部分的对象。u组
21、合关系是聚合关系的一种特殊形式。在组合关系中,整体和部分之间有着很强的关系和一致的生命周期。4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.2 确定关联确定关联34/61闽南科技学院经济管理系4.2.4 面相对象的系统分析活动面相对象的系统分析活动 聚合关系 A公公司司财财务务部部人人力力资资源源部部信信息息资资源源部部1112组合关系4.2.4.2 确定关联确定关联 关联结构关联结构35/61闽南科技学院经济管理系u实现实现 表示接口和实现接口的类之间的语义关系。接口指定了由“实现类”保证执行的操作。4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.2
22、确定关联确定关联36/61闽南科技学院经济管理系u依赖关系依赖关系 一个模型元素的变化影响另一个模型元素,则两个元素之间存在依赖关系。以X和Y两个元素为例,当修改Y的定义时,引起X的定义的修改,则称X依赖于Y。4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.2 确定关联确定关联37/61闽南科技学院经济管理系 确定主题确定主题 主题是指事物的总体概貌和总体分析模型。在开发大型、复杂系统的过程中,为了降低复杂程度,人们习惯于把复杂系统进一步划分为几个不同的主题,即在概念上把系统包含的内容分解成几个小的范畴。对于一个复杂的系统,一般情况下在获取对象与类、确定结构之后,然后划分主
23、题。这样有利于系统开发人员观察整个系统模型。主题的划分不是按照功能进行分解的,而是按照问题域进行划分的。另外,遵循最少原则进行主题划分,即不同主题内的对象之间依赖和交互关系最少。4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.3 确定主题确定主题38/61闽南科技学院经济管理系l确定属性确定属性 对象的属性是描述对象静态特征的,确定对象属性时要从问题域和目标系统两方面进行。一般说来,确定属性的过程包括分析和选择两个步骤。4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.4 确定属性确定属性39/61闽南科技学院经济管理系u分析分析,从以下角度去确定对象应具
24、有的属性:按一般常识,该对象应具有哪些属性;在当前问题论域中,该对象应具有哪些属性;根据系统责任的要求,该对象应具有哪些属性;建立该对象是为了保存和管理哪些信息;对象为了在服务中实现其功能,需要增设哪些属性;是否需要增设属性来区别对象的不同状态;用什么属性来表示对象的整体部分联系和实例连接。4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.4 确定属性确定属性 40/61闽南科技学院经济管理系u选择,选择,通常有以下几种常见情况:误把内部状态当成了属性;如果某个性质是对象的非公开的内部状态,则应该从对象模型中删掉这个属性。过于细化;在分析阶段应该忽略那些对大多数操作都没有影响
25、的属性。存在不一致的属性;类应该是简单而且一致的。如果得出一些看起来与其他属性毫不相关的属性,则应该考虑把该类分解成两个不同的类。4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.4 确定属性确定属性41/61闽南科技学院经济管理系 确定方法确定方法 方法,也称服务、操作或行为等,用来描述对象的动态特征。对象的方法可以从两方面确定:(1)获取或修改对象自身属性的方法 (2)相应事件或消息的方法 4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.5 确定方法确定方法42/61闽南科技学院经济管理系 确定方法确定方法 有的面向对象的程序设计语言中,又将服务称之为
26、类的成员函数(Member Function)或简称函数(Function)。一般从以下几个方面发现和定义对象方法:u系统责任 u问题域 u对象状态 4.2.4 面相对象的系统分析活动面相对象的系统分析活动4.2.4.5 确定方法确定方法43/61闽南科技学院经济管理系4.2.5 建立对象模型建立对象模型建立对象模型建立对象模型u对象对象/类模型的组成类模型的组成:实体类;属性类;界面类;业务逻辑类。44/61闽南科技学院经济管理系u对象对象/类静态建模类静态建模(1)标识对象的方法方法:自然语言分析法(2)筛选对象规则规则(3)对象/类模型建立过程过程。4.2.5 建立对象模型建立对象模型建
27、立对象模型建立对象模型45/61闽南科技学院经济管理系u对象对象/类模型建立过程类模型建立过程:标识系统实体类;标识对象/类的操作;标识对象/类的属性;标识界面类(交互类)确定对象/类之间的关系建立系统类图4.2.5 建立对象模型建立对象模型建立对象模型建立对象模型46/61闽南科技学院经济管理系4.2.5 建立对象模型建立对象模型建立对象模型建立对象模型确定系统的静态模型确定系统的静态模型类图、对象图、包图类图、对象图、包图 系统的静态描述主要用类图来描述,类图清晰地反映了系统的结构以及类之间的继承关系、关联关系、依赖关系和实现关系。47/61闽南科技学院经济管理系建筑设计院公文审批类图 4
28、8/61闽南科技学院经济管理系u类图作用对系统的静态对象建模。如图书借阅系统的Book类、reader类,学生管理系统的Student类等。对简单的协作建模。协作是一些共同行为的类、接口和其他元素的群体。协作是指一些类、接口和其他的元素一起工作提供一些合作的行为,这些行为不是简单地将元素累加能得到的。对逻辑数据库模式建模。在很多领域中,都需要在关系数据库或面向对象数据库中存储永久信息,系统分析者可以用类图对这些需要永久化的实体建模。4.2.5 建立对象模型建立对象模型建立对象模型建立对象模型49/61闽南科技学院经济管理系对象图对象图对象图表示在某一时刻系统对象的状态、对象之间的联系的状态以及
29、对象行为的静态方面的状态。对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。4.2.5 建立对象模型建立对象模型建立对象模型建立对象模型50/61闽南科技学院经济管理系u对象图的用途:捕获实例和连接在分析和设计阶段创建捕获交互的静态部分举例说明数据/对象结构详细描述瞬态图由分析人员、设计人员和代码实现人员开发4.2.5 建立对象模型建立对象模型建立对象模型建立对象模型51/61
30、闽南科技学院经济管理系 包图包图 包(Package)是一种常规用途的组合机制。UML中的一个包直接对应于Java中的一个包。在Java中,一个包可能含有其他包、类或者同时含有这两者。进行建模时,通常使用逻辑性的包,用于对模型进行组织;使用物理性的包,用于转换成系统中的Java包。每个包的名称对这个包进行了惟一性的标识。4.2.5 建立对象模型建立对象模型建立对象模型建立对象模型52/61闽南科技学院经济管理系u包图建模:将一个框架的所有类放置在相同的包中;将相同继承层次的类放在相同的包中;彼此间有聚集或组成关系的类通常放在相同的包中;彼此合作频繁的类、信息能够通过UML顺序图和UML合作图反
31、映出来的类,通常放在相同的包中;确定包与包之间的依赖关系或泛化关系。4.2.5 建立对象模型建立对象模型建立对象模型建立对象模型53/61闽南科技学院经济管理系确定系统的动态模型确定系统的动态模型 依据系统的静态模型和用例及用例事件流描述,通过顺序图、活动图、状态图描述系统的动态模型4.2.6 建立动态模型建立动态模型54/61闽南科技学院经济管理系 动态模型是与时间和变化有关的系统性质。该模型描述了系统的控制结构,它表示了瞬间的、行为化的系统控制性质,它关心的是系统的控制,操作的执行顺序,它表示从对象的事件和状态的角度出发,表现了对象的相互行为。该模型描述的系统属性是触发事件、事件序列、状态
32、、事件与状态的组织。使用状态图作为描述工具。它涉及到事件、状态、操作等重要概念。4.2.6 建立动态模型建立动态模型55/61闽南科技学院经济管理系时间上的对象间交互关系建模时间上的对象间交互关系建模 序列图描述对象在时间上是如何交互的,并且将重点放在消息的顺序上,也就是说,描述消息如何在对象间发送和接收。绘制序列图可以从以下几个方面入手:绘制序列图可以从以下几个方面入手:(1)识别参与交互的对象(2)确定系统对象的交互过程(3)为每个对象设置生命线(4)从引发交互过程的初始消息开始,自顶向下进行绘制(5)可以采用控制焦点和消息说明4.2.6 建立动态模型建立动态模型56/61闽南科技学院经济
33、管理系(4)序列图序列图(Sequence diagram)是按照时间顺序来安排,反映对象之间的交互情况。打印(文件):计算机:打印服务器:打印机:队列 打印(文件)打印机空闲 打印(文件)打印机忙 存储(文件)4.2.6 建立动态模型建立动态模型57/61闽南科技学院经济管理系链接的对象间交互关系建模链接的对象间交互关系建模 协作图侧重描述对象、对象间的链接以及链接对象之间如何发送消息,它只对相互之间具有交互作用的对象和对象间的关联建模,而忽略其他对象和关联。绘制协作图可以从以下几个方面入手:绘制协作图可以从以下几个方面入手:(1)识别参与交互的对象(2)确定系统对象的交互过程(3)如果需要
34、为每个对象设置初始特征(4)设置对象之间的链以及沿着链的消息(5)从引发交互过程的初始消息开始,将随后的每个消息附到相应的链上(6)根据需要表示消息的嵌套(7)根据需要说明消息的时间约束(8)根据需要为每个消息附上前置条件和后置条件4.2.6 建立动态模型建立动态模型58/61闽南科技学院经济管理系(4)协作图协作图:用于描述相互协作的对象间的交互关系和链接关系。:计算机:打印服务器:打印机:队列 1:打印(文件)打印机空闲 1.1:打印(文件)打印机忙 1.2:存储(文件)4.2.6 建立动态模型建立动态模型59/61闽南科技学院经济管理系单个对象动态行为和状态建模单个对象动态行为和状态建模
35、 状态图主要描述一个对象在其生存期间的动态行为,展示一个对象所经历的状态序列、引起状态转移的事件以及因状态转移而伴随的动作。绘制序列图可以从以下几个方面入手:绘制序列图可以从以下几个方面入手:(1)识别参与交互的对象(2)确定对对象有意义的状态(3)决定对象可能的状态(4)从确定初始状态开始,依次将分析出来的状态画出,直到状态的结束4.2.6 建立动态模型建立动态模型60/61闽南科技学院经济管理系 事件事件;事件是指定时刻发生的某件事。状态状态;状态是对象属性值的抽象。对象的属性值按照影响对象显著行为的性质将其归并到一个状态中去。状态指明了对象对输入事件的响应。状态图状态图;状态图是一个标准
36、的计算机概念,他是有限自动机的图形表示,这里把状态图作为建立动态模型的图形工具。u状态图反映了状态与事件的关系。当接收一事件时,下一状态就取决于当前状态和所接收的该事件,由该事件引起的状态变化称为转换。u状态图是一种图,用结点表示状态,结点用圆圈表示;圆圈内有状态名,用箭头连线表示状态的转换,上面标记事件名,箭头方向表示转换的方向。4.2.6 建立动态模型建立动态模型61/61闽南科技学院经济管理系4.2.6 建立动态模型建立动态模型电话状态图62/61闽南科技学院经济管理系 功能模型描述了系统的所有计算,着重于系统内部数据的传送和处理,功能模型定义“做什么”,动态模型定义“何时做”,对象模型
37、定义“对谁做”。功能模型表明一个计算如何从输入值得到输出值,它不考虑计算的次序。功能模型由多张数据流图组成。数据流图用来表示从源对象到目标对象的数据值的流向,它不包含控制信息,控制信息在动态模型中表示,同时数据流图也不表示对象中值的组织,值的组织在对象模型中表示。4.2.7 建立功能模型建立功能模型63/61闽南科技学院经济管理系公文发文数据流图4.2.7 建立功能模型建立功能模型64/61闽南科技学院经济管理系u3种模型之间的关系:针对每个类建立的动态模型,描述了类实例的生命周期或运行周期。状态转换驱使行为发生,这些行为在数据流图中被映射成处理,在用例图中被映射成用例,它们同时与类图中的服务
38、相对应。功能模型中的处理(或用例)对应于对象模型中的类所提供的服务。数据流图中的数据存储,以及数据的源点/终点,通常是对象模型中的对象。4.2.7 建立功能模型建立功能模型65/61闽南科技学院经济管理系u3种模型之间的关系:数据流图中的数据流,往往是对象模型中对象的属性值,也可能是整个对象。用例图中的行为者,可能是对象模型中的对象。功能模型中的处理(或用例)可能产生动态模型中的事件。对象模型描述了数据流图中的数据流、数据存储以及数据源点/终点的结构。4.2.7 建立功能模型建立功能模型66/61闽南科技学院经济管理系 项目概述项目概述 某建筑设计院立项开发工程设计综合项目管理信息系统,总体目
39、标是对设计院核心业务流程进行梳理和优化,规范工作流程和管理制度,并运用计算机技术和信息技术实现设计院经营管理和工程设计的信息化,提高运营效率,以适应不断变化的市场需求,更好地为社会提供一流的产品和服务。办公自动化系统是该系统的一个子系统,其中公文管理模块要求实现公文收、发文处理、审批、公告、督办催办、归档、查询等功能。工作流技术采用JBPM工作流引擎,系统开发采用Struts2.0+Spring2.5+Hibernate3.2+DWR2.0框架技术,服务器是JBoss服务器。4.2.8 案例案例67/61闽南科技学院经济管理系 通过对用户需求调研分析,公文发文业务流程如图所示。4.2.8 案例
40、案例系统需求系统需求68/61闽南科技学院经济管理系 通过对问题域的认真分析,识别出公文发文系统对象,如右图所示:(1)院办工作人员(2)总师办工作人员(3)院办主任(4)总工(5)分管院长(6)室、所负责人(7)公文 4.2.8 案例案例识别对象识别对象院办工作人员院办主任总工室、所负责人分管院长总师办工作人公文69/61闽南科技学院经济管理系(1)院办主任或总工通知本门工作人员撰写公文草稿(2)院办主任或总工对公文草稿进行校对(3)院办主任或总工向分管院长提交待签公文草稿(4)分管院长审批公文草稿,返回给院办主任或总工(5)院办主任或总工通知工作人员,发文并归档(6)室、所负责人接受公文4
41、.2.8 案例案例识别用例识别用例公文审批用例公文审批用例70/61闽南科技学院经济管理系4.2.8 案例案例对需求进行完整的捕获与描述对需求进行完整的捕获与描述 公文发文系统用例图71/61闽南科技学院经济管理系4.2.8 案例案例公文发文类图公文发文类图 72/61闽南科技学院经济管理系4.2.8 案例案例公文发文顺序图公文发文顺序图 73/61闽南科技学院经济管理系4.2.8 案例案例公文发文状态图公文发文状态图 74/61闽南科技学院经济管理系“院办主任/总工批示”状态u创建“公文文件夹”对象u创建“公文批文”对象记录院办主任/总工对所要求起草的公文文件内容,或记录院办主任/总工对所要
42、求修改的文件内容,或记录院办主任/总工向分管院长提交的内容,或记录院办主任/总工对发文提出的要求。4.2.8 案例案例公文发文状态图公文发文状态图 75/61闽南科技学院经济管理系“拟稿”状态u创建“公文文件”对象记录所起草文件的内容。“修改”状态“审批”状态u创建“公文审批”对象记录分管院长对提交的公文审批意见。“发文”状态u创建“公文发文”对象记录发文时间及接受室、所4.2.8 案例案例公文发文状态图公文发文状态图 76/61闽南科技学院经济管理系“签收”状态u创建“公文签收”对象记录收文时间及签收室、所“归档”状态u创建“公文归档”对象记录本次公文相关情况。4.2.8 案例案例公文发文状
43、态图公文发文状态图 77/61闽南科技学院经济管理系 面向对象分析是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。OOA模型由5个层次(主题层、对象类层、结构层、属性层和服务层)和5个活动(标识对象类、标识结构、定义主题、定义属性和定义服务)组成。OOA在定义属性的同时,要识别实例连接。实例连接是一个实例与另一个实例的映射关系。OOA在定义服务的同时要识别消息连接。当一个对象需要向另一对象发送消息时,它们之间就存在消息连接。小结小结78/61闽南科技学院经济管理系 主要内容:主要内容:问题域与系统责任,问题域与系统责任,OOAOOA的主要原则,基于用例的主要原则,基于用例的需求分析,用例图和用例事件流描述,问题域的需求分析,用例图和用例事件流描述,问题域对象的识别,类层次确定,对象间实例连接和消对象的识别,类层次确定,对象间实例连接和消息连接,静态模式,动态模式。息连接,静态模式,动态模式。重重 点:点:一般与特殊,整体和部分,静态模型,动态模型一般与特殊,整体和部分,静态模型,动态模型类。类。难难 点:点:类的层次划分,对象关联的确定,定义服务。类的层次划分,对象关联的确定,定义服务。小结小结