第10章 面向对象的设计方法 教学目的:了解面向对象设计的概念和方法 教学重点:理解面向对象的设计的基本原理,掌 握面向对象的设计方法。

Slides:



Advertisements
Similar presentations
淡妝濃抹總相宜 中華滷味兩千年 淡妝濃抹總相宜 - 中華滷味兩千年 1. 講者簡介 2 講席 : 喻 蓉 蓉 中國文化大學史學博士政治大學歷史所碩士臺灣大學歷史系學士.
Advertisements

1 主持人:洪泰雄主任 104 年 6 月 23 日. 2 議 程 主席報告 監試手冊導讀 播放監試簡報 近年案例說明 考區重要提醒 提問與回應 5 分鐘 10 分鐘 15 分鐘 5 分鐘 10 分鐘.
目錄 引指 P.1 十誡來歷 P.2-P.3 十誡 P.4 十誡的意義 P.5 日常生活上犯十誡的例子.
第八章 土地行政管理.
「互联网金融2.0时代」与房地产的融合 广州互联网金融协会会长、广州e贷总裁 方颂.
企业会计学(三) 人大版本 吕 昌.
<<會計資訊系統課程講義>> 統一塑模語言(UML)語法精要 -- 物件導向概念、需求分析及系統分析
学生入党材料写作规范.
小学科学中的化学 武威十九中 刘玉香.
专题 评析“毛泽东热”.
瑞文氏彩色圖形 推理測驗 莊敬國小/輔導處/親職組 製作.
与优秀的人在一起
第十一章 量測、分析及改善 8.0 量測、分析及改善包括: 規劃量測、分析及改善流程; 監督及量測; 不合格品管制; 資料分析及改善.
據點考核與評鑑 報告人:臺南市政府 照顧服務管理中心.
102年度統一入學測驗 報名作業說明會 時 間:101年12月14日(星期五) A.M.9:00~10:20 地 點:行政七樓講堂
P2P金融信用调查服务 2015年4月 诚信为先 中道厚德.
法學緒論第三單元:立法程序 課程設計: 財經法律系 --楊東連 法學緒論-3.
特殊族群運動健康訓練(I).
依据教材 全国高等教育自学考试指定教材 《西方行政学说史》, 竺乾威主编,高等教育出版社。
第10章 領域、概念與分析模型 10-1 再談物件導向分析 10-2 找出類別建立領域模型 10-3 指定責任建立概念模型
正 信 讀 書 會 主 持 群 : 姚 永 錩 、 鄭 健 、 陳 淑 珍 佛法的生活應用 2008/07/23.
非法集资典型案例评析 南京师范大学法学院 蔡道通 2016年1月.
专题(二) 交往沟通 掌握技能 命 题 解 读 背 景 材 料 新 题 演 练 考 点 链 接 1.
姓名:劉芷瑄 班級:J201 座號:39號 ISBN:957-33-1963-2
小微企业融资担保产品介绍 再担保业务二部 贾天
松竹梅岁寒三友 步入建交 桃李杏村暖一家 迈进职教 活出精彩.
2007年房地产建筑安装企业 税收自查方略 河北省地方税务局稽查局 杨文国.
PPP规范性文件的解读 主讲人:王周欢 2016年4月.
第八单元第二课第一课时 严守法律 温州四中 蒋莉青.
黄 热 病 YELLOW FEVER 上海出入境检验检疫局
考研辅导讲座PPT 思想道德修养与法律基础 主讲:蒋中挺.
众筹实战培训 内蒙古环交所 李 蒙.
高级财务会计.
默写基础知识: 1、家庭是由 关系、 关系或 关系而结合成的亲属生活组织。家里有 ,家中有 。
什么是颈椎病? 颈椎病是指颈椎间盘退行性变,及其继发性椎间关节退行性变所致脊髓、神经、血管损害而表现的相应症状和体征。
組長:黃家逸 組員:殷浩賢、楊煜、吳家朗 毒品的害處.
中国公务员制度 主讲:吴春华 教授 温志强 副教授.
第三方支付风生水起,多路大佬竞角逐 第三方支付为互联网企业带来的巨大利益,各路势力目前 正争相获取第三方支付牌照,但第三方支付平台跑路、盗 刷等问题频出,使得行业未来发展受到挑战,那么未来第 三方支付将走向如何? 对此,九次方大数据结合网络舆情,对第三方支付行业进 行了梳理,您会发现: 1、央行发放支付牌照政策收紧,新增获得第三方支付牌照的企业数量骤降.
第一单元 中国传统文化主流思想的演变.
时政发布 制作:宋虹雷.
密室逃脫在教學上的應用 綜合活動領域輔導團 林蓉姿.
公務人員退休法、撫卹法 法制與實務講習 銓敘部退撫司 中華民國99年8月.
最高行政法院判決99年度判字第403號 (美麗灣渡假村)
《软件工程》 第3篇 设计 姜久雷 副教授 北方民族大学 计算机科学与技术系.
《傅雷家书》 学 科:语文 年 级:九年级 授课教师:王宁宁.
八桥初中九年级思想品德课复习导学案之五---
第6章 系统分析 6.1 概述 6.2 逻辑模型 6.3 逻辑结构分析 6.4 用例分析 6.5 概念类分析.
Public Finance 财政学 (第十四章).
第一節 行政裁量與不確定法律概念 第二節 行政裁量
普通高等教育“十一五”国家级规划教材 信息系统分析与设计 刘腾红 孙细明 主编 科 学 出 版 社.
《战国策》:范雎说秦王学习要点 一、《战国策》题解 二、长沙马王堆汉墓简介 三、《范雎说秦王》说明 四、《范雎说秦王》语言角度分析
《公共事物的治理之道》 Governing the Commons
第八章 分析與設計階段 – 物件導向設計(OOD)
初中图书馆综合阅读课程 图书馆知识普及 2013年3月.
你的潜能是无限的 ——高三心理辅导.
本课设置5个环节 一、限时秒杀--5分钟 二、摩拳擦掌--9分钟 三、刀锋相见--20分钟 四、现炒现卖--5分钟 五、相约课后--1分钟.
从中国与联合国的关系演进 看联合国的产生与发展
管理信息系统 第九章 面向对象的系统开发方法.
实验6 面向对象分析与设计实验.
计算机网络概述 计算机网络原理与技术.
特定消耗品說明 (指碳粉匣、墨水匣) 國立清華大學 保管組製作.
第十一章 物件資料結構塑模.
小学5.
第12章 狀態機圖 12-1 狀態機圖的基礎 12-2 狀態機圖的符號 12-3 再談狀態與轉換 12-4 狀態機圖的塑模範例
加減法文字題 國小低年級學生對加減法文字題的瞭解 小組成員 陳育娟 羅珠綾 侯宜孜
飛行器製作與飛行 講師:劉修建.
乾坤袋:打造金融生态 互联网金融与产业金融的协同发展 王利丽 亿润投资互联网金融中心总经理 乾坤袋创始合伙人.
因果性:一个形而上学的预设 赵敦华 2008年5月.
假代购诈骗钱 P2P网络非法集资洗钱 虚开增值税发票洗钱 非法经营POS机套现 被第三方支付平台骗取资金 买卖信用卡洗钱
臺中市龍山國小 校園常見瓢蟲辨識   瓢蟲屬於鞘翅目瓢蟲科。目前世界上約有5000多種瓢蟲,台灣地區約有80種以上,其中能捕食有害生物的瓢蟲約七十種之多。瓢蟲因為捕食有害生物為主食,所以又稱為『活農藥』。
Presentation transcript:

第10章 面向对象的设计方法 教学目的:了解面向对象设计的概念和方法 教学重点:理解面向对象的设计的基本原理,掌 握面向对象的设计方法。 第10章 面向对象的设计方法 教学目的:了解面向对象设计的概念和方法 教学重点:理解面向对象的设计的基本原理,掌 握面向对象的设计方法。 教学难点:对用例图的理解 教 具:多媒体教室、电子教案 作 业:

第10章 面向对象的设计方法 本章采用基于UML的面向对象设计方法将分析模型转换为设计模型。如第六章所述,面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成;设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。为了完成这些转换设计人员必须处理好下列问题: (1) 针对分析模型中的用例,设计实现方案,实现方案用UML交互 图表示 (2)设计技术支撑设施 (3)设计用户界面 (4)针对分析模型中的领域概念模型以及第(2)、(3)两步引用的的新类,完整、精确地确定每个类的属性和操作,并完整地标示类之间的关系

10.1 设计用例实现方案 UML的交互图(顺序图、协作图)适于用例实现方案的表示。 设计方法包含三步: (1)提取边界类、实体类和控制类 10.1 设计用例实现方案 UML的交互图(顺序图、协作图)适于用例实现方案的表示。 设计方法包含三步: (1)提取边界类、实体类和控制类 (2)构造交互图 (3)根据交互图精化类图

10.1.1 顺序图 顺序图用来描述对象之间动态的交互关系,着重表现对象间消息传递的时间顺序。 在顺序图中,参与交互的对象位于顶端的水平轴上,垂直轴表示时间,时间推移的方向是自上而下。对象下方的垂直虚线表示对象的生命线。对象生命的终结用叉号表示;附在对象生命线上的矩形框表示对象在此期间内活跃;对象之间的通信表现为对象生命线之间的消息传递。 UML的消息有四种类型: (1)简单消息 (2)同步消息 (3)异步消息 (4)返回消息

10.1 设计用例实现方案 10.1.2 协作图 协作图用于描述相互合作的对象间的交互关系和连接关系。 10.1 设计用例实现方案 10.1.2 协作图 协作图用于描述相互合作的对象间的交互关系和连接关系。 在协作图中,对象可以在二维平面中自由占位。 区别:顺序图强调消息交互的时间序,而协作图强调交互对象间的静态链接关系。

10.1.3 提取边界类、实体类和控制类 边界类---用于描述目标系统与外部环境之间的交互,并负责实现如下功能: (1)界面控制 10.1.3 提取边界类、实体类和控制类 边界类---用于描述目标系统与外部环境之间的交互,并负责实现如下功能: (1)界面控制 (2)外部接口 (3)环境隔离 <<boundary>>作为特殊标识 实体类----表示目标软件系统中具有持久意义的信息项及其操作。<<entity>>作为特殊标识 控制类---作为完成用例任务的责任承当者,协调、控制其他类共同完成用例规定的功能或行为。<<control>>作为特殊标识

10.1.4 构造交互图 在标识了边界类、实体类和控制类之后,接着把分析模型中的用例描述转化成UML的交互图。 定义:顺序图描述交互的对象在特定的时间周期内的消息传递情况,同时还描述了对象之间相互作用,并详细地说明了类、接口,以及它们可能使用的操作行为。 作用:顺序图一般用来描述用例的实现过程。 布局规则:框图顶部显示了涉及的角色和对象,并表明对象所属类的对象一般以“对象名:类名”的方式标识。对象的下方用垂直虚线表示对象的生命线,即对象在某段时间内存在。附着在生命线上的矩形框表示对象在此段时间内活跃。对象间的通信表现为对象的生命线之间的消息传递。在消息边上需附加消息名和消息参数。有时也以序号强调消息的时序。消息的源对象和目标对象可以相同。可以在消息名前面的方括号中书写条件表达式,表明仅当条件成立时该消息才发送。

10.1.4 构造交互图 下图显示了考场管理的实现过程。监考人员在登录窗口w_login中输入用户口令,登录窗口校验口令,如果口令正确,系统打开监考主控窗口w_server_main,否则报错;登录成功后,监考人员首先发放试卷,然后发开考指令,此时系统进入考场监控状态,考试结束监考人员发结束考试指令,最后发评分指令,完成监考任务。

10.1.4 构造交互图 定义:协作图显示的信息与顺序图相同。它们之间的区别主要表现在协作图集中在活动着的对象上,它表现的是相互协作的对象之间的消息传递,不参照时间;而顺序图侧重于在某种特定的情形下对象之间消息传递的时序性。 下面的协作图对应于上面的顺序图。协作图通过在消息上加序号表示消息传递的次序。

10.1.5 精化类图 类图描述系统的静态结构,类图的节点表示系统中的类及其属性和操作,类图的边表示类之间的联系,包括继承、关联、依赖、聚合等。在考试系统中,考生类和成绩类之间的关联关系。 图元表示:类图中每个类用方框表示,分成三部分,第一部分为类名,第二部分为类包含的属性,第三部分为类的操作,即类提供的功能。 分析人员可以用类图显示系统的细节,开发人员可以用类图来开发类。类图可以显示用例图中类的相互关系,也可显示整个系统或子系统。

10.1.5 精化类图 考生成绩类图

10.2 设计技术支撑方案 技术支撑方案应该为多个用例的软件实现提供技术服务,所以,它应该成为整个目标软件系统中全局性的公共技术平台。 数据持久存储服务 并行与同步控制服务 技术支撑方案与用例实现方案的融合

10.3 设计用户界面 需求分析和软件设计阶段都必须考虑人机交互问题。在需求分析阶段要确定人机交互的属性和外部服务,而在设计阶段要给出有关人机交互的所有系统成份,包括用户如何操作系统、系统如何响应命令和系统显示信息的报表格式等。 用户界面设计策略与步骤如下: (1) 熟悉用户并对用户分类 (2)按用户类别分析用户的工作流程和习惯 (3)设计命令系统并进行优化 (4)设计用户界面的各种细节 (5)增加用户界面专用的类与对象 (6)利用快速原型法改进界面设计

10.4 精化设计模型 对设计模型精化需要考虑以下任务: (1)以顶层架构图为基础,精化目标软件系统的体系结构 (2)精化类之间的关系 10.4 精化设计模型 对设计模型精化需要考虑以下任务: (1)以顶层架构图为基础,精化目标软件系统的体系结构 (2)精化类之间的关系 (3)精化类的属性和操作 (4)针对具有明显状态转换特征的类,设计状态图 (5)针对比较复杂的类图方法,设计活动图

10.4.1 状态图 状态图用来描述一个特定类的对象的所有可能状态以及因事件而引起的状态转移。状态图的节点包含状态名和活动两部分内容。活动是可选的,可分为如下四种: (1)entry活动。一旦对象进入该状态,相应的活动即被触发 (2)exit活动。一旦对象离开该状态,相应的活动被触发执行 (3)do活动。当对象位于该状态时,执行相应活动,对象的状态不变 (4)on-event。当对象位于该状态并且接收到某一事件后,执行相应的事件响应活动

10.4.1 状态图 在状态图的状态转移边上可以附加以下信息:事件名(事件参数表)[条件表达式]/ 动作 ^事件目标.事件名(事件参数表)。第一个事件是引发对象状态迁移的触发事件;条件表达式表示此转移边所代表的状态迁移的发生条件;动作表示对象在进行状态迁移时同时还将执行的处理功能;最后一个事件表示对象在进行状态迁移时还可以向其它对象发送的事件。所有上述语法成分都是可选项,并不是必须的。如果状态转移边上没有触发事件,则表明对象在到达该边的源节点时,内部活动执行完毕后自动触发状态迁移,但是否真正发生迁移还取决于条件表达式的真假。如果条件表达式不存在,则认为迁移条件恒成立。

10.4.1 状态图 状态图描述类的对象的状态迁移与响应动作。 10.4.1 状态图 状态图描述类的对象的状态迁移与响应动作。 下图显示了考生对象的各种状态方式及其转换。该图表明考生启动程序后进入“登录”状态,当输入学号后,系统校验学号是否有效和开考指令是否下达,若学号有效且开考指令已下达,进入“答题”状态,否则保持登录状态。考生在进入“答题”状态后系统启动计时器,开始计时;考生答题完毕,进入“答题完毕”状态,交卷后考试结束。若考试时间用完,系统自动结束考试。

10.4.1 状态图 考生类的状态图

10.4.2 精化体系结构 精化体系结构的主要目的是寻找一种理想的包划分方案,使得每个包中直接包含的类的数量规模适中,包的边界清晰、自然,并且包间的偶合度较低。在包图中耦合度主要取决于依赖关系,而包间的依赖关系又取决于分属两个包的类之间的关系。下面是类之间耦合程度从高到低的判断方法: (1)继承关系 (2)构成关系 (3)聚合关系 (4)关联关系 (5) 依赖关系 (6)两个类的对象受同一执行者变化的影响

10.4.2 精化体系结构 弱化包间耦合的方法: (1)分拆 (2)调整类的摆放位置 当一个系统有几十个或上百个类时,理解和修改这个系统就变得很困难了,总是希望将复杂系统进行分解。解决这个问题的办法就是将许多类组合成一个更高层次的单位,这些高内聚、低耦合的类的集合称为包。将这些包关联起来就形成了包图

10.4.2 精化体系结构 考试系统包图

10.4.2 精化体系结构 弱化包间依赖关系既无必要,也不合理,但应尽量遵循以下原则: (1) 避免包间的循环依赖关系,即排除包P1依赖P2,P2又依赖于P1的情形 (2) 在层次结构中,位于较低层次的通用包不应当依赖于较高层次中的专用包 (3) 在层次结构中,较高层次的包依赖于较低层次的包,但此种以来应尽量在相邻的层次间发生 (4) 如果针对某些子系统专门划分了接口包和实现包,那么其他与该系统相关的包只能依赖于接口包,不能依赖于实现包。

10.4.3 精化类之间的关系 在分析阶段形成 的类图的基础上进行精化类间关系。 10.4.3 精化类之间的关系 在分析阶段形成 的类图的基础上进行精化类间关系。 (1) 根据这些连接的语义强度,将它们精确判定为UML的依赖、关联、聚合或构成关系 (2) 确定连接的方向及参与连接的类的对象之间的数量对应关系 (3) 根据软件重用的要求及软件结构简洁化、清晰化的要求,优化类之间的关系 对象间消息传递机制: (1) 引用全局对象 (2) 通过参数传递 (3) 引用局部对象 (4)通过类的成员变量 精化类之间的关系时,往往需要考虑到软件重用的需要而对类进行调整

10.4.3 精化类之间的关系 类图描述系统的静态结构,类图的节点表示系统中的类及其属性和操作,类图的边表示类之间的联系,包括继承、关联、依赖、聚合等。类图中每个类用方框表示,分成三部分,第一部分为类名,第二部分为类包含的属性,第三部分为类的操作,即类提供的功能。 分析人员可以用类图显示系统的细节,开发人员可以用类图来开发类。类图可以显示用例图中类的相互关系,也可显示整个系统或子系统。 在考试系统中,考生类和成绩类之间的关联关系如下图所示:

10.4.3 精化类之间的关系 1、提取关联类 2、提取公共父类 3、将多重继承化为单重继承

人员 人员 角色 店主 店员 店主兼店员 店主 店员 图11-2-4 多重继承 图11-2-5 用部分-整体的关系 表示多重继承

人员 店主 店主兼店员 店员 图11-2-6 多重继承平板化

10.4.4 精化类的属性和操作 属性和操作范围有以下三种 (1) PUBLIC。对软件系统中的所有类都可见 (2) PROTECT。仅对本类及其子类可见 (3) PRIVATE。仅对本类可见

10.4.5 设计状态图 10.4.6 设计活动图 状态图适合于表示跨越多个用例的单个对象的行为。 10.4.6 设计活动图 活动图适合表示用例中的事件流和过程,也可以用来表示复杂的酸法以及并发处理过程。 返回目录