面向对象设计_第1页
面向对象设计_第2页
面向对象设计_第3页
面向对象设计_第4页
面向对象设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象设计目的要求:使学生了解面向对象设计的准则,启发式规则,系统的分解方法,掌握问题域子系统、人机交互子系统、任务管理子系统、数据管理子系统的设计方法。教学重点:问题域子系统、人机交互子系统、任务管理子系统、数据管理子系统的设计。教学难点:问题域子系统、人机交互子系统、任务管理子系统、数据管理子系统的设计讲授内容:面向对象设计的准则,启发式规则,系统的分解方法:问题域子系统、人机交互子系统、任务管理子系统、数据管理子系统的设计。教学目的、要求,重点、难点第2页,共26页,2024年2月25日,星期天

分析是提取和整理用户需求,并建立问题域精确模型的过程; 设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。 从面向对象的分析到面向对象的设计是一个逐渐扩充模型的过程。 面向对象的设计是用面向对象的观点建立求解域模型的过程。 面向对象分和设计的界限是模糊的,许多分析的结果可以直接影射成设计结果。 分析和设计活动是一个反复迭代的过程。第3页,共26页,2024年2月25日,星期天

优秀设计:就是权衡了各种因素,从而使得系统在整个生命周期中总开销最小的设计。(主要特点:应易于维护)。6.1.1模块化

对象就是模块化。它把数据结构和操作这些数据的方法紧密结合在一起所构成的模块。

6.1.2抽象

面向对象的方法不仅支持过程抽象,而且支持数据抽象。类实际上是一种抽象数据类型。某些面向对象的程序设计语言还支持参数化抽象。6.1面向对象设计的准则第4页,共26页,2024年2月25日,星期天6.1.3信息隐蔽

面向对象方法中,信息隐蔽通过对象的封装性实现:类结构分离了接口和实现,从而支持了信息隐蔽。

6.1.4弱耦合

一个软件内部不同模块之间的互连的紧密程度。面向对象方法中,对象是最基本的模块,因此,耦合主要指不同对象之间相互关联的紧密程度。 弱耦合是优秀设计的一个重要指标。 1、交互耦合 2、继承耦合第5页,共26页,2024年2月25日,星期天6.1.5强内聚

1、服务内聚 2、类内聚 3、一般--特殊内聚

6.1.6可重用

重用有两个方面的含义: 1、尽量使用已有的类(包括开发环境提供的类库,以及以往开发类似系统时创建的类); 2、如果确实需要创建新类,则在设计新类的协议时,应该考虑将来的可重复使用性。第6页,共26页,2024年2月25日,星期天6.2.1设计结果应该清晰易懂

1、用词一致; 2、使用已有的协议 3、减少消息模式的数目 4、避免模糊的定义6.2.2一般----特殊结构的深度应适当

一般地,在一个中等规模(大约包含100个类)的系统中,类等级层次数应保持为7

2。6.2启发规则第7页,共26页,2024年2月25日,星期天6.2.3设计简单的类

1、避免包含过多的属性 2、有明确的定义 3、尽量简化对象之间的合作关系 4、不要提供太多的服务6.2.4使用简单的协议6.2.5使用简单的服务6.2.6把设计变动减至最小第8页,共26页,2024年2月25日,星期天6.3系统分解人机交互部分问题域部分任务管理部分数据管理部分主题层类-&-对象层结构层属性层服务层图8.2典型的面向对象设计模型第9页,共26页,2024年2月25日,星期天6.3.1子系统之间的两种交互方式

1、客户--供应商关系 2、平等伙伴关系6.3.2组织系统的两种方案

1、层次组织 2、块状组织6.3.3设计系统的拓扑结构第10页,共26页,2024年2月25日,星期天窗口图形屏幕图形像素图形人机对话控制仿真软件包操作系统计算机硬件应用软件包图6.3典型应用系统组织结构第11页,共26页,2024年2月25日,星期天6.4.1调整需求6.4.2重用已有的类6.4.3把问题域类组合在一起6.4.4增添一般化类以建立协议6.4.5ATM系统之例6.4设计问题域子系统第12页,共26页,2024年2月25日,星期天ATM现金兑换卡总行柜员柜员终端事务数据库账户储户信息卡权限储户ATM站中央计算机分行计算机站号分行代码事务事务电话线电话线图6.4ATM系统问题域子系统的结构第13页,共26页,2024年2月25日,星期天

人--机交互部分的设计结果,将对用户情绪和工作效率产生重要影响。6.5.1设计人--机交互界面的准则

1、一致性 2、减少步骤 3、及时提供反馈信息 4、提供撤消命令 5、无须记忆 6、易学 7、富有吸引力6.5设计人--机交互子系统第14页,共26页,2024年2月25日,星期天6.5.2设计人--机交互子系统的策略 1、分类用户 按技能水平分类(初级/中级/高级) 按职务分类(总经理/部门经理/职员) 按工作性质分类(行政人员/技术人员) 按专业知识分类(外专业/专业/系统员) 2、描述用户

应该仔细了解将来使用系统的每类用户的情况,把获得的下列各项信息记录下来: 用户类型 使用系统欲达到的目的 特征(年龄,性别,受教育程度,限制因素等) 关键的成功因素(需求,爱好,习惯等) 技能水平 完成本职工作的脚本第15页,共26页,2024年2月25日,星期天 3、设计命令层次

设计命令层次的工作应包含以下几项内容: 1)研究现有的人--机交互含义和准则 2)确定初始的命令层次 3)精化命令层次 4、设计人--机交互类第16页,共26页,2024年2月25日,星期天6.6.1分析并发性

通过面向对象分析建立起来的动态模型,是分析并发性的主要依据。如果两个对象彼此之间不存在交互,或它们同时接受事件,则这两个对象在本质上是并发的。8.6.2设计任务管理子系统

1、确定事件驱动型任务 2、确定时钟驱动型任务 3、确定优先任务 4、确定关键任务 5、确定协调任务 6、尽量减少任务数 7、确定资源需求6.6

设计任务管理子系统第17页,共26页,2024年2月25日,星期天

数据管理子系统是系统存储或检索对象的基本设施,它建立在某种数据存储管理系统之上,并且隔离了数据存储管理模式的影响。

6.7.1选择数据存储管理模式

1、文件管理系统 2、关系数据库管理系统 3、面向对象数据库管理系统6.7

设计数据管理子系统第18页,共26页,2024年2月25日,星期天6.7.2设计数据管理子系统 1、设计数据格式 1)文件系统 2)关系数据库管理系统 3)面向对象数据库管理系统 2、设计相应的服务 1)文件系统 2)关系数据库管理系统 3)面向对象数据库管理系统第19页,共26页,2024年2月25日,星期天6.8.1确定优先级6.8.2提高效率的几项技术

1、增加冗余关联以提高访问效率; 2、调整查询次序 3、保留派生属性6.8

设计优化第20页,共26页,2024年2月25日,星期天6.8.3调整继承关系

1、抽象与具体 2、为提高继承程度而修改类定义 3、利用委托实现行为共享

下面通过一个非常熟悉的例子,说明设计类继承的从具体到抽象,再从抽象到具体的过程。第21页,共26页,2024年2月25日,星期天研究生学号姓名性别研究方向上课做实验搞研究本科生学号姓名性别专业上课做实验做论文学生学号姓名性别专业上课做实验研究生研究方向搞研究本科生专业做论文(a)创建一些具体类(b)归纳出抽象类第22页,共26页,2024年2月25日,星期天学生学号姓名性别上课做实验本科生专业做论文专科生专业学制做论文(c)进一步具体类研究生研究方向搞研究第23页,共26页,2024年2月25日,星期天学生学号,姓名,性别上课,做实验本科生学位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论