《概述系统设计过程度不同设计用例实现方案ppt课件》由会员分享,可在线阅读,更多相关《概述系统设计过程度不同设计用例实现方案ppt课件(51页珍藏版)》请在金锄头文库上搜索。
1、 第第 1 页页北京理工大学计算机系北京理工大学计算机系 7.1 概述概述 7.2 系统设计过程度系统设计过程度 7.3 不同设计用例实现方案不同设计用例实现方案 7.3 精华设计模型精华设计模型 第第 7 7 章章 面向对象的设计方法面向对象的设计方法 第第 2 页页北京理工大学计算机系北京理工大学计算机系7.1 7.1 概述概述面象对向的设计目的面象对向的设计目的设计分类设计分类面向对象设计与分析面向对象设计与分析面向对象设计的根本原面向对象设计的根本原理理面向对象设计层次图面向对象设计层次图面象对向的设计目的:面象对向的设计目的:对面象对向的需求分析的无缝过度对面象对向的需求分析的无缝过
2、度设计模型包含以包图表示的软件体系构设计模型包含以包图表示的软件体系构造图,以交互图表示的用例实现图、完造图,以交互图表示的用例实现图、完好准确的类图、针对复杂对象的形状图好准确的类图、针对复杂对象的形状图及用以描画流程化处置过程的活动图。及用以描画流程化处置过程的活动图。面象对向的设计分类:产品设计和类设计面象对向的设计分类:产品设计和类设计产品设计产品设计:产品设计的目的是建立系统与产品设计的目的是建立系统与外部实体,包括和用户、进程外部实体,包括和用户、进程之间的有效交互。注重过程的之间的有效交互。注重过程的体系构造、进程间的通讯、用体系构造、进程间的通讯、用户界面及类户界面及类/对象的
3、存储。对象的存储。类设计:类设计:系统内部类的定义和它们间系统内部类的定义和它们间的关系。包括类的架构、属的关系。包括类的架构、属性、方法特征标志和语义。性、方法特征标志和语义。不直接与外部系统交互。如不直接与外部系统交互。如图图 第第 3 页页北京理工大学计算机系北京理工大学计算机系远程进程用户界面类类类DBMS远程文件内部构造外部构造数据处置软件的内部和外部构造图数据处置软件的内部和外部构造图 第第 4 页页北京理工大学计算机系北京理工大学计算机系l面向面向对象分析象分析OOAOOA与面向与面向对象象设计OODOOD有如下关系:有如下关系:l 1 1 OOAOOA识别和和定定义的的类和和对
4、象象,是是一一些些直直接接反反映映问题空空间和和系系统义务的的,而而OODOOD识别和和定定义对象象那那么么是是附附加加,反映需求一种反映需求一种实现对话层、义务管理管理层、数据管理、数据管理层。l 2 2 OOAOOA与与OODOOD分分别在在不不同同的的笼统层次次上上进展展。OOAOOA是是独独立立于于程程序序设计言言语的的,属属于于较高高层次次的的笼统。初初步步的的OODOOD同同样在在很很大大程程度度上上与与言言语无无关关,但但详细OODOOD那那么么依依赖于于程序程序设计言言语。l从从非非面面向向对象象分分析析到到面面向向对象象设计,应将将一一个个非非面面向向对象象的需求的需求阐明快
5、速明快速转变为面向面向对象分析模型。象分析模型。 面向对象设计与分析面向对象设计与分析 第第 5 页页北京理工大学计算机系北京理工大学计算机系笼统过程,数据笼统过程,数据封装封装承继承继音讯音讯组组织织方方法法对对象象和和属属性性、类类及及成成员员、整整体体与与部部分分功能分类功能分类组装构造组装构造实例衔接实例衔接音讯衔接音讯衔接 面向面向对象象设计的根底的根底 OOA OOA得出的概念和关系得出的概念和关系 第第 6 页页北京理工大学计算机系北京理工大学计算机系 面向对象设计的根本原理面向对象设计的根本原理 1 1 指出指出对象及其属性象及其属性 2 2 指出能指出能够适用于适用于对象的效
6、力象的效力 3 3 阐明明对象及效力象及效力 4 4 确定将确定将为对象提供象提供实现描画的描画的详细设计问题 5 5 细化面向化面向对象分析的任象分析的任务,找出子,找出子类、音、音讯 特性和其它特性和其它详尽的尽的细节 6 6 表示与表示与对象属性关象属性关联的数据构造的数据构造 7 7 表示与每个效力关表示与每个效力关联的的过程程细节 第第 7 页页北京理工大学计算机系北京理工大学计算机系 划分子系划分子系统统 并并发发性性设计设计 义务义务管理管理设计设计设计设计用例用例实现实现方案方案 用用户户界面界面设计设计数据管理数据管理设计设计 系系统间统间通通讯设计讯设计 运用运用设计设计方
7、式方式7.2 7.2 系统设计系统设计系统设计活动:系统设计活动: 第第 8 页页北京理工大学计算机系北京理工大学计算机系划分子系统一切元素共享某些公共性质能够协同完成一个功能能够驻留在一个硬件产品中它们能够由一样的类管理资源子系统构成的是一种责任或效力划分子系统根据的根本概念原那么:效力提供一组可标识的操作效力完成特定的功能例如:字处置文件管理生成三维识图紧缩数字图像等等效力是分层提供的,层次与处置的外界可视性相关 第第 9 页页北京理工大学计算机系北京理工大学计算机系层次划分表示图例子表示层效力A效力B效力C运用层效力X效力Y效力n效力Z数据预备层效力I效力J效力m效力K数据存储层.外界可
8、视性C/S方式方式P2P方式方式C/S方式方式P2P方式方式C/S方式方式P2P方式方式层的接口层的接口层的接口层的接口层的接口层的接口划分子系统 第第 10 页页北京理工大学计算机系北京理工大学计算机系C/S方式(Client/Server) P2P方式(Peer-to-Peer)客户/效力器(Client/Server)方式:客户恳求效力,效力器承接效力并完效果劳,前往效力结果。效力是被动的,客户是自动的。效力器不需求知道客户是谁,客户必需知道对应的效力器,呈现主从方式。对等效力(Peer-to-Peer)方式:每一方既是恳求效力方也是接受效力方,都可以承接效力并可以恳求效力,不分主从随需
9、求扮演必要的角色,效力是双向流动的。两种效力方式:划分子系统 第第 11 页页北京理工大学计算机系北京理工大学计算机系分层设计步骤:1)建立分层规范-怎样的层次组合方式2)确定层次数量-层次总的数量要适中3)层次命名-封装具有一致运转和管理方式的效力并命名4)建立各层的内部构造-组织层内的效力访问方式5)定义层接口-定义各层的交互方式和音讯方式6)评审设计-保证层之间的低耦合7)迭代精化以上过程 第第 12 页页北京理工大学计算机系北京理工大学计算机系并发性设计并发的概念: 各事务独立运作,执行顺序无依赖关系。同步的概念: 各事务独立运作,但执行顺序相互制约。对象都是并发存在的:对象是在系统中
10、各自独立的进程,是并发存在的,它们可以在同一个机器空间,也可以被分配到不同的机器空间例如:SafeHome系统中的:传感器对象对象是相互独立的并发对象,它们的动作无依赖顺序,可同时活泼在系统中控制面板对象 第第 13 页页北京理工大学计算机系北京理工大学计算机系并发性设计并发性设计一个控制线程中的并发对象操作:一个控制线程中的并发对象操作:在实践运用中,一组顺序执行的序列有能够是由假设干对象的在实践运用中,一组顺序执行的序列有能够是由假设干对象的操作构成的,而这些对象有能够被分配到不同的机器空间。操作构成的,而这些对象有能够被分配到不同的机器空间。关于控制线程概念:一组顺序执行的序列关于控制线
11、程概念:一组顺序执行的序列对象对象A A操作操作aiai对象对象B B操作操作bjbj对象对象C C操作操作ckck.操作操作aiai操作操作bjbj操作操作ckck.机器机器X机器机器Y并发设计必需思索并发设计必需思索: :机机器器X X与与Y Y之间的通讯处置之间的通讯处置开销及带来的本钱开销及带来的本钱控制线控制线程程 第第 14 页页北京理工大学计算机系北京理工大学计算机系营业部计算机营业部计算机营业部计算机ATM机器 并发性设计ATM机器 一个控制线程中的并发对象操作例子ATM机器 业务对象读密码操作联营计算机业务对象分理对应营业部操作营业部计算机业务对象密码验证操作控制线程: 读密
12、码 分理对应营业部 密码验证密码验证事务为非同步方式密码验证事务为同步方式. 第第 15 页页北京理工大学计算机系北京理工大学计算机系义务管理设计设计系统中分散的对象,组成为独立并发的义务大粒度对象义务管理设计步骤: 确定义务的特征 定义义务中所关联的对象集成义务中所关联的对象义务初始化方式义务优先级义务关键度义务名-义务对象称号描画-义务目的表达优先级-低级、中级和高级效力-义务的一组操作协调-调用方式通讯-I/O方式 第第 16 页页北京理工大学计算机系北京理工大学计算机系技术支撑方案的设计:技术支撑方案的设计:1取决于目的软件系统对公共技术效力的需求;取决于目的软件系统对公共技术效力的需
13、求;2取决于设计人员对软件技术手段的把握和选取。取决于设计人员对软件技术手段的把握和选取。设计技术支撑设备:包括在系统中,需求思索的数据存储、设计技术支撑设备:包括在系统中,需求思索的数据存储、平安性、远程登陆等内容。平安性、远程登陆等内容。 技术支撑方案应该为多个用例的软实现提供技术效力。技术支撑方案应该为多个用例的软实现提供技术效力。所以,它应该成为整个目的软件系统中全局性的公共技术平所以,它应该成为整个目的软件系统中全局性的公共技术平台。当用户需求发生改动时,技术支撑平台应具有良好的稳台。当用户需求发生改动时,技术支撑平台应具有良好的稳定性。定性。设计技术支撑方案设计技术支撑方案 第第
14、17 页页北京理工大学计算机系北京理工大学计算机系数据耐久存储效力数据耐久存储效力 设计数据耐久存储效力的目的,是将目的软件系统中依设计数据耐久存储效力的目的,是将目的软件系统中依赖于系统运转环境的数据存取部分于其它部分相分别。这样,赖于系统运转环境的数据存取部分于其它部分相分别。这样,既有利于软件的扩展、移植和维护,又简化了软件设计、编既有利于软件的扩展、移植和维护,又简化了软件设计、编码和测试的过程。码和测试的过程。数据耐久存储效力的设计包括:数据耐久存储效力的设计包括:1定义数据格式。根据目的软件系统对数据存储的要求,定义数据格式。根据目的软件系统对数据存储的要求,思索耐久存储介质的特性
15、,设计数据的存储格式。思索耐久存储介质的特性,设计数据的存储格式。2定义数据存取操作。数据耐久存储效力至少包含数据的定义数据存取操作。数据耐久存储效力至少包含数据的存储和读取两种操作。存储和读取两种操作。并并发与与同步控同步控制效力制效力 设计并发与同步控制效力的目的,是将目的软件系设计并发与同步控制效力的目的,是将目的软件系统中依赖于子系统运转环境的并发于同步控制部分和统中依赖于子系统运转环境的并发于同步控制部分和其它部分相分别,其它部分中有关并发与同步控制功其它部分相分别,其它部分中有关并发与同步控制功能的实现均经过该效力来完成。能的实现均经过该效力来完成。 第第 18 页页北京理工大学计
16、算机系北京理工大学计算机系数据管理设计数据库系统的利用:通常,数据库系统可作为对象实体的管理工具。对象实体可以被数据库管理系统直接查询、插入、删除和修正。但对应属性的复杂操作需求方法的实现。数据管理包括:管理对象属性和对应的属性操作分别数据构造的支配数据属性的支配高层需求低层需求数据库系统对应类方法的实现数据管理设计方法: 第第 19 页页北京理工大学计算机系北京理工大学计算机系数据管理设计例如:传感器文件 编号 类型 性能 . ac-0013 ACPK 光敏感应 . dc-0028 DCKH8 触点传导 . . . . .传感器属性的支配传感器构造的支配编号方法类型方法性能方法功能方法 .各
17、传感器实例 实现集传感器类对应对应某数据库管理系统 第第 20 页页北京理工大学计算机系北京理工大学计算机系合约系统间通讯设计定义系统中效力之间的协作关系系统中效力之间的协作关系:也叫做 “合约包括:音讯格式、访问的登记、注册权限合合约的方式和内容:的方式和内容: 列出可被列出可被恳求的效力求的效力 制定合制定合约履行的履行的责任和操作任和操作 建立合建立合约表表协作表作表 协作作图描画描画客户子系统效力器子系统合约效力器子系统合约效力器子系统恳求恳求恳求效力子系统之间协作模型 第第 21 页页北京理工大学计算机系北京理工大学计算机系建立合约表协作表:系统间通讯设计协作图描画例子:约合 类型
18、协作者 类 操作 音讯格式 控制面板 子系统 传感器 子系统 中心通讯 子系统形状恳求赋值区域测试形状系统形状恳求警告周期形状检查的类型阐明恳求警告通知根据需求周期检查配置修正在交互操作中,激活合约处置,查找协作表的合约来确定操作 第第 22 页页北京理工大学计算机系北京理工大学计算机系设计算法和数据构造类的属性和操作是对应的,一切的操作都会作用于属性操作的类型:1对属性数据的直接操作。例如:参与、去除、格式化、判别选择2完成某算法步骤的操作3监控某对象,等待某控制事件出现的操作例如:传感器类的“赋值操作,将编号和类型赋给传感器的两个属性系统类的“编程操作,将号码、警告延迟、主人密码装入系统系
19、统类有“启动和“封锁系统的操作,将系统形状设为arm/disarm发音讯给相关的设备对象 第第 23 页页北京理工大学计算机系北京理工大学计算机系运用设计方式在现代软件工程学中,设计要求尽量运用现有的设计方式设计方式的描写包括: 方式名字 方式意图 方式运用的条件、应对的问题和处理方案 方式的类、责任和协作 有效设计的原那么 例子和模板 方式的交叉援用设计方式的两种机制:承继-经过承继现存的设计方式,产生新的设计,原方式中的属性和操作也成为新方式中的一部分复合-经过聚合现存对象,以及现存的聚合方式,构成新的设计方式黑盒方式黑盒方式是较好的方式复用方式 第第 24 页页北京理工大学计算机系北京理
20、工大学计算机系用户界面设计的战略与步骤:用户界面设计的战略与步骤:1熟习用户并对用户分类。熟习用户并对用户分类。2按用户类别分析用户的任务流程与习惯。按用户类别分析用户的任务流程与习惯。3设计命令系统并进展优化。设计命令系统并进展优化。4设计用户界面的各种细节。设计用户界面的各种细节。5添加用户界面公用的类与对象。添加用户界面公用的类与对象。6利用快速原型演示,改良界面设计。利用快速原型演示,改良界面设计。 在需求分析阶段,要确定人机交互的属性和外部效力,而在在需求分析阶段,要确定人机交互的属性和外部效力,而在设计阶段要给出有关人机交互的一切系统成分,包括用户如何操设计阶段要给出有关人机交互的
21、一切系统成分,包括用户如何操作系统、系统如何呼应命令和系统显示信息的报表格式等。作系统、系统如何呼应命令和系统显示信息的报表格式等。用户界面设计用户界面设计 第第 25 页页北京理工大学计算机系北京理工大学计算机系 面向面向对象的象的设计方法,采用基于方法,采用基于UML的面向的面向对象象设计方法,将分析模型方法,将分析模型转换为设计模型。模型。这一一转换过程需求完成:程需求完成:1针对分析模型中的用例,分析模型中的用例,设计实现方案;方案;2设计技技术支撑支撑设备。支撑。支撑设备包括在系包括在系统中,中,需求思索的数据存需求思索的数据存储、平安性、平安性、远程登程登陆等内容。等内容。3设计用
22、用户界面;界面;4针对分析模型中的分析模型中的领域概念模型以及第域概念模型以及第2、3两个步两个步骤引引进新新类,完好、准确地确定每个,完好、准确地确定每个类的属性和操作,并完好地的属性和操作,并完好地标示示类之之间的关系。的关系。7.37.3不同设计用例实现方案不同设计用例实现方案 第第 26 页页北京理工大学计算机系北京理工大学计算机系用例描画及用例描画及用例图用例图领域概念模型领域概念模型设计用例实施方案设计用例实施方案设计技术支撑方案设计技术支撑方案设计用户界面设计用户界面精化设计模型精化设计模型体系构造图体系构造图用例实现图用例实现图类图类图其它形状图、活动图等其它形状图、活动图等分
23、析模型分析模型设计模型设计模型设计师设计师面向对象的软件设计过程面向对象的软件设计过程 第第 27 页页北京理工大学计算机系北京理工大学计算机系u交交互互图图描描画画对对象象之之间间的的动动态态协协作作关关系系以以及协作过程中的行为次序。及协作过程中的行为次序。u交交互互图图经经常常用用来来描描画画一一个个用用例例的的行行为为,显显示示该该用用例例中中所所涉涉及及的的对对象象以以及及这这些些对对象之间的音讯传送情况。象之间的音讯传送情况。u交互图有顺序图和协作图两种方式。交互图有顺序图和协作图两种方式。交互交互图:包括:包括顺序序图和和协作作图 第第 28 页页北京理工大学计算机系北京理工大学
24、计算机系顺顺序序序序图图:用来描画:用来描画:用来描画:用来描画对对象之象之象之象之间动态间动态的交互关系,着重表的交互关系,着重表的交互关系,着重表的交互关系,着重表现对现对象象象象间间音音音音讯传讯传送的送的送的送的时间顺时间顺序。序。序。序。UMLUML的音的音的音的音讯类讯类讯类讯类型:型:型:型: 1 1 简单简单简单简单音音音音讯讯讯讯 Simple MessageSimple Message :用:用:用:用简单笼统简单笼统简单笼统简单笼统的函数表示的函数表示的函数表示的函数表示对对对对象之象之象之象之间间间间的信息的信息的信息的信息传传传传播。普通情况下,可以把播。普通情况下,
25、可以把播。普通情况下,可以把播。普通情况下,可以把简单简单简单简单音音音音讯讯讯讯看做同步音看做同步音看做同步音看做同步音讯讯讯讯。 2 2 同步音同步音同步音同步音讯讯讯讯 Synchronous MessageSynchronous Message :对对对对象象象象发发发发出的音出的音出的音出的音讯讯讯讯,必需等,必需等,必需等,必需等待音待音待音待音讯处讯处讯处讯处置置置置过过过过程程程程终终终终了,才干了,才干了,才干了,才干进进进进展后展后展后展后续续续续操作。操作。操作。操作。 3 3 异步音异步音异步音异步音讯讯讯讯 Asynchronous MessageAsynchrono
26、us Message :对对对对象象象象发发发发出的音出的音出的音出的音讯讯讯讯,不用等,不用等,不用等,不用等待音待音待音待音讯处讯处讯处讯处置置置置过过过过程程程程终终终终了,即可了,即可了,即可了,即可进进进进展后展后展后展后续续续续操作。操作。操作。操作。 4 4 前往音前往音前往音前往音讯讯讯讯 Return MessageReturn Message :所:所:所:所发发发发送音送音送音送音讯讯讯讯的的的的处处处处置置置置过过过过程程程程终终终终了后的了后的了后的了后的前往前往前往前往结结结结果。果。果。果。辅辅助参助参助参助参见书见书233233页图页图 第第 29 页页北京理工
27、大学计算机系北京理工大学计算机系协协作作作作图图:用于描画相互:用于描画相互:用于描画相互:用于描画相互协协作的作的作的作的对对象象象象间间的交互关系和的交互关系和的交互关系和的交互关系和链链接关系。接关系。接关系。接关系。顺序图强调音讯交互的时间序,而协作图那么强调交互对象间顺序图强调音讯交互的时间序,而协作图那么强调交互对象间的静态链接关系。的静态链接关系。在协作图中,音讯的内容包含称号、参数、前往值以及序列号,在协作图中,音讯的内容包含称号、参数、前往值以及序列号,前往值和序列号都是可选的。前往值和序列号都是可选的。辅辅助参助参助参助参见书见书234234页图页图协作作图中最常用的音中最
28、常用的音讯执行行顺序的序的编号方案有两种:号方案有两种:顺序法:用序法:用简单编号方案,从号方案,从1 1开开场,由小到大,由小到大,顺序序陈列。列。层次次法法:用用小小数数点点制制编号号方方案案,此此时经常常要要求求表表示示系系统号号、子子系系统号和模号和模块号。号。UMLUML运用了小数点方案。运用了小数点方案。 第第 30 页页北京理工大学计算机系北京理工大学计算机系边境类、实体类和控制类边境类、实体类和控制类边境类:用于描画目的软件系统于外部环境之间的交互。通常边境类:用于描画目的软件系统于外部环境之间的交互。通常在下面部分能够出现边境类:在下面部分能够出现边境类:1界面接口。包括人机
29、交互接口、输入界面接口。包括人机交互接口、输入/输出接口。输出接口。2外部接口。系统与外部系统、外部设备之间的数据传送和外部接口。系统与外部系统、外部设备之间的数据传送和互操作。互操作。3环境隔离。系统与数据管理、运转环境、网络效力等坚持环境隔离。系统与数据管理、运转环境、网络效力等坚持独立的部分。独立的部分。实体类:表示目的软件系统中具有耐久意义的信息项及其操作。实体类:表示目的软件系统中具有耐久意义的信息项及其操作。通常只提供系统接口操作,并不涉及到系统业务逻辑流程。如异通常只提供系统接口操作,并不涉及到系统业务逻辑流程。如异常事件、数据读写等。常事件、数据读写等。控制类:用于协调、控制其
30、它类共同完成用例规定的功能或行为。控制类:用于协调、控制其它类共同完成用例规定的功能或行为。 第第 31 页页北京理工大学计算机系北京理工大学计算机系 交互图的用例:订货系统交互图的用例:订货系统(1)订单提交窗口对象发送“prepare音讯给订单对象。 (2)订单对象发送“prepare音讯给订单上的每个订单项对象。 (3) 每个订单项检查其对应的仓库货物:假设检查结果为真,那么订单项对象从对应的仓库货物中减去所订购的数量;否那么,仓库要求一次新的进货。 第第 32 页页北京理工大学计算机系北京理工大学计算机系订订货货系系统统的的顺顺序序图图needsToRecorder=“true new
31、创建创建交付货物交付货物check=“true new前往前往进货货物进货货物check=“false remove()needsToRecorder()回授回授订单提交窗口订单提交窗口订单项订单项仓库货物仓库货物对象对象check()条件条件订单订单prepare()音讯音讯迭代迭代* prepare()对象的生命线对象的生命线 第第 33 页页北京理工大学计算机系北京理工大学计算机系2*:prepare()对象对象音讯音讯3:check()4:check=falseremove()7:check=truenew1:prepare():订单提交窗口订单提交窗口:订单订单:交付货物交付货物电视
32、栏目电视栏目:订单项订单项5:needsToRecorder()时序号时序号 回授回授:购进货物购进货物6:new电视库存电视库存:仓库货物仓库货物 简单编号方案的协作图简单编号方案的协作图 第第 34 页页北京理工大学计算机系北京理工大学计算机系 小 结u顺序序图突突出出对象象的的执行行时序序,协作作图能能更更清清楚楚地地表表示示对象象之之间的的静静态衔接关系。接关系。u交交互互图擅擅长显示示对象象之之间的的协作作关关系系,虽然然它它并并不不对这些些对象象的的行行为进展展准准确确定定义。如如要要描描画画一一个个用用例例中中几几个个对象象协同同任任务的的行行为时,交交互互图是一种有力的工具。是
33、一种有力的工具。u虽然然交交互互图能能清清楚楚地地显示示音音讯机机制制,但但当当音音讯中中有有太太多多的的条条件件或或循循环时,交交互互图就就失失去去其其简明明性性。交交互互图仅适适用用于于条条件件判判别和和循循环不不太太多多的的时序序过程。程。u当当行行为比比较简单时,交交互互图比比较好好;当当行行为比比较复复杂时,那那么么应运运用用活活动图。u假假设想想描描画画跨跨越越多多个个用用例例的的单个个对象象的的行行为,该当当运运用用形形状状图。假假设想描画跨越多个用例或多个想描画跨越多个用例或多个线程的复程的复杂行行为,那么,那么应运用活运用活动图。u最最根根本本的的选择原原那那么么是是用用哪哪
34、种种图更更简明明清清楚楚那那么么选用用哪哪种种图。“越越简明明,价价值越大。越大。 第第 35 页页北京理工大学计算机系北京理工大学计算机系对设计模型的精化需思索如下义务:对设计模型的精化需思索如下义务:1以顶层架构图为根底,精华目的软件系统的体系构造;以顶层架构图为根底,精华目的软件系统的体系构造;2精化类之间的关系;精化类之间的关系;3精化类的属性和操作;精化类的属性和操作;4针对具有明显形状转换特征的类,设计形状图;针对具有明显形状转换特征的类,设计形状图;5针对比较复杂的类方法,设计活动图。针对比较复杂的类方法,设计活动图。精化设计:就是对曾经完成的静态构造模型顶层框架图、精化设计:就
35、是对曾经完成的静态构造模型顶层框架图、类图和动态行为模型交互图进展分析和优化,以生成类图和动态行为模型交互图进展分析和优化,以生成高质量的设计模型。高质量的设计模型。7.4 7.4 精华设计模型精华设计模型 形形状状图图u形形状状图图有有多多种种方方式式,以以基基于于 David David Harel Harel 的的形形状状表表方方法法在在 OO OO 技技术术中中最最为为流流行行。形形状状图图描描画画系系统统对对象象的的动动态态行行为为,普普通通描描画画一一个个特特定定对对象象在在其其生生命命周周期期中中的的一一切切能能够够形状以及由于各种事件的发生而引起的形状转移。形状以及由于各种事件
36、的发生而引起的形状转移。 第第 36 页页北京理工大学计算机系北京理工大学计算机系 形状形状语法和法和转移移语法法u形形状状之之间的的转移移可可带有有标注注,由由三三部部分分组成成(每每一一部分都可省略部分都可省略),其,其语法法为:u 事件名事件名 条件条件 / 动作名作名u形形状状图中中的的形形状状包包含含一一个个活活动,由由两两部部分分组成成 (每一部分也都可省略每一部分也都可省略),其,其语法法为:u do / 活活动名名u动作作与与活活动都都是是一一种种过程程,都都由由订单对象象中中的的方方法法来来实现,但但动作作与与转移移关关联,处置置较快快且且不不会会被被中中断断;活活动与与形形
37、状状关关联,处置置时间较长且且可可以以被被事事件件中断。中断。 第第 37 页页北京理工大学计算机系北京理工大学计算机系 形状的形状的转移条件移条件u转移移中中的的事事件件表表示示输入入条条件件:一一个个非非真真即即假假的的逻辑判判别。当且当条件。当且当条件为“真真时才才发生生转移。移。 u当当形形状状中中的的活活动完完成成后后,且且当当相相应的的输入入事事件件发生生时,转移移才才会会发生生;如如转移移上上没没有有标明明引引发转移移的的事事件件,那那么么表表示示形形状状中中的的活活动一一旦旦完完成成,转移立刻移立刻发生。生。u在在下下例例中中,从从检查形形状状出出来来三三个个转移移,而而且且都
38、都标有条件。有条件。 第第 38 页页北京理工大学计算机系北京理工大学计算机系 实例:例:订单对象的形状象的形状图all items checked &all items available收到货物收到货物all items available发货发货活动活动do/initiatedelivery发货形状发货形状/get first itemall items checked &some items not in stock取下一项取下一项not all items checked开场开场do/checkitem检查形状检查形状收到货物收到货物some items not in stock 转
39、移转移 形状形状回授回授等待形状等待形状已发货已发货 形状形状事件名事件名 条件条件/动作名动作名do/活动名活动名 第第 39 页页北京理工大学计算机系北京理工大学计算机系 转移条件的互斥性移条件的互斥性u对对于于一一个个给给定定形形状状,只只能能产产生生一一个个转转移移。因因此此从从一一样样形形状状出出来来的的、事事件件一一样样的的几几个个转转移移条条件件是是互互斥的。斥的。u图中列出了从检查形状引出的三个条件。图中列出了从检查形状引出的三个条件。u如如没没有有检检查查完完一一切切项项,那那么么取取下下一一项项并并回回到到检检查形状继续检查。查形状继续检查。u如如已已检检查查完完一一切切项
40、项,且且都都有有足足够够的的货货物物,那那么么转移到发货形状。转移到发货形状。u如如已已检检查查完完一一切切项项,但但有有一一些些项项缺缺货货,那那么么转转移到等待形状。移到等待形状。 第第 40 页页北京理工大学计算机系北京理工大学计算机系 形状形状图的基形状表示法的基形状表示法do/checkitem检查形状检查形状等待形状等待形状取消形状取消形状do/initiatedelivery发货形状发货形状已发货已发货 形状形状取消形状取消形状do/initiatedelivery发货形状发货形状do/checkitem检查形状检查形状等待形状等待形状已发货已发货 形状形状发货形状发货形状基形状
41、名基形状名 第第 41 页页北京理工大学计算机系北京理工大学计算机系 并并发形状形状图起点起点回绝回绝 形状形状已发货已发货形状形状取消取消 形状形状终点终点已确认已确认形状形状付款确认付款确认 形状形状等待等待 形状形状发货发货 形状形状检查检查 形状形状 第第 42 页页北京理工大学计算机系北京理工大学计算机系 并并发形状形状图(续)u并并发发形形状状图图由由两两个个或或多多个个并并发发子子图图组组成成,每每个个子子图图叫叫作作一一个个并并发发段段。在在任任何何时时辰辰,一一个个对对象象的的形形状状是是每每个个并并发发段段中中各各取取一一个个形形状状的的组组合合。当当对对象象分分开开并并发
42、段后,它又恢复成一个单一的形状。发段后,它又恢复成一个单一的形状。u假假设设并并发发子子图图中中的的一一个个形形状状首首先先完完成成,它它将将首首先先转转入入下下一一个个形形状状。但但是是,假假设设异异常常事事件件发发生生,那那么么进进入独一的异常形状。入独一的异常形状。u当当一一个个对对象象有有几几个个相相互互独独立立的的行行为为时时,并并发发形形状状图图可可以以方方便便地地描描写写它它的的行行为为。但但一一个个对对象象的的并并发发行行为为不应太多;假设太多,应将其形状图分细。不应太多;假设太多,应将其形状图分细。 第第 43 页页北京理工大学计算机系北京理工大学计算机系精化体系构造精化体系
43、构造精化体系构造精化体系构造承继关系:一个类的一切信息能被另一个类所共享的机制,就承继关系:一个类的一切信息能被另一个类所共享的机制,就是承继。是承继。基类基类派生类派生类1派生类派生类2承继关系承继关系属性属性方法方法属性属性方法方法属性属性方法方法 第第 44 页页北京理工大学计算机系北京理工大学计算机系依赖关系:用以描画两个模型元素类、组合、用例等之间依赖关系:用以描画两个模型元素类、组合、用例等之间的语义上的衔接关系。的语义上的衔接关系。类类B类类A依赖关系依赖关系属性属性方法方法属性属性方法方法精化体系构造精化体系构造精化体系构造精化体系构造精化体系构造精化体系构造精化体系构造精化体
44、系构造关联关系:表示音讯传送通道在整个对象的生命周期中稳定关联关系:表示音讯传送通道在整个对象的生命周期中稳定存在,它是依赖关系的强化。存在,它是依赖关系的强化。车车人人属性属性方法方法属性属性方法方法拥有拥有1.*0.*被拥有被拥有关联关系关联关系 第第 45 页页北京理工大学计算机系北京理工大学计算机系聚集关系:表示音讯传送通道在整个对象的生命周期中稳定存聚集关系:表示音讯传送通道在整个对象的生命周期中稳定存在,它是依赖关系的强化。在,它是依赖关系的强化。聚集关系聚集关系窗口窗口文本框文本框列表框列表框属性属性方法方法属性属性方法方法属性属性方法方法按钮按钮属性属性方法方法菜单菜单属性属性
45、方法方法包含包含0.*0.*0.*0.*精化体系构造精化体系构造精化体系构造精化体系构造 第第 46 页页北京理工大学计算机系北京理工大学计算机系构成关系:构成关系是聚集关系构成关系:构成关系是聚集关系构成关系:构成关系是聚集关系构成关系:构成关系是聚集关系的的的的强强化。化。化。化。整体类整体类部件类部件类1部件类部件类2111n1n构成关系构成关系精化体系构造精化体系构造精化体系构造精化体系构造精化精化精化精化类类之之之之间间的关系的关系的关系的关系在已获取的类图的根底上,在已获取的类图的根底上,研讨类之间的关系:研讨类之间的关系:1根据衔接的语义强度,根据衔接的语义强度,将它们准确地断定
46、为将它们准确地断定为UML的的依赖、关联、聚合或构成关依赖、关联、聚合或构成关系之一。系之一。2确定衔接的方向及参与确定衔接的方向及参与衔接的类的对象之间的数量衔接的类的对象之间的数量对应关系。对应关系。3根据软件重用的要求及根据软件重用的要求及软件构造简约化、明晰化的软件构造简约化、明晰化的要求,优化类之间的关系。要求,优化类之间的关系。 第第 47 页页北京理工大学计算机系北京理工大学计算机系精化精化精化精化类类之之之之间间的关系的关系的关系的关系 例一例一例一例一EmploymentHistorycompanyemployeebeginDate()endDate()属性属性属性属性方法方
47、法属性属性方法方法1.n1.nemployeremployeecompanyemployee属性属性方法方法属性属性方法方法EmploymentHistorybeginDate()endDate()属性属性1.n1.n11精精化化 第第 48 页页北京理工大学计算机系北京理工大学计算机系精化精化精化精化类类之之之之间间的关系的关系的关系的关系 例二例二例二例二Telephone+ dial()+ hangup()+ transmitVoice()dialToneFax+ dial()+ hangup()+ transmitVoice()+ sendFax()+ recvFax()dialTon
48、emode设计模型中的类设计模型中的类被重用的类被重用的类commMachine+ dial()+ hangup()+ transmitVoice()dialToneFax+ sendFax()+ recvFax()modeTelephone公共父类公共父类 第第 49 页页北京理工大学计算机系北京理工大学计算机系活活动图根本概念根本概念u从从概概念念层看看,活活动表表示示需需求求由由人人或或计算算机机来来完完成成的的义务。图中中描描画画了了“人人找找饮料料喝喝这一一过程。程。u从从阐明明层或或实现层看看,活活动表表示示类中中的的方方 法法。图中中描描画画了了名名字字为“人人的的对象象类中中一
49、一个个关于关于“找找饮料喝的方法。料喝的方法。u来来源源: 活活动动图图主主要要来来源源于于 Jim Odell 的的事事件件图图、SDL形状建模技术和形状建模技术和 Petri 网技术。网技术。u活活动动图图的的中中心心符符号号是是活活动动,经经过过衔衔接接将将活活动动组组成活动图。成活动图。 第第 50 页页北京理工大学计算机系北京理工大学计算机系 活活动图例例如如 没有可口可乐没有可口可乐 断定活动断定活动 找到可找到可 口可乐口可乐 活动活动 找到咖啡找到咖啡 没有咖啡没有咖啡 同步条件同步条件找饮料找饮料将咖啡放到将咖啡放到 过滤器中过滤器中取一听取一听可口可乐可口可乐加水到加水到容器中容器中取出取出咖啡杯咖啡杯人人熄灭咖啡炉熄灭咖啡炉 点燃点燃咖啡炉咖啡炉把过滤器放把过滤器放到咖啡炉上到咖啡炉上冲调咖啡冲调咖啡终点终点喝饮料喝饮料倒咖啡倒咖啡判别条件判别条件 第第 51 页页北京理工大学计算机系北京理工大学计算机系 活活动的元模型的元模型 活活动动的的元元模模型型基基于于 SADT 技技术术,它它包包含含五五个个元元 素:素: 输入,输出,支持,控制和活动。输入,输出,支持,控制和活动。活活 动动控控 制制输输 入入输输 出出支支 持持