软件工程第十二讲

软件工程第十二讲

ID:46574613

大小:594.00 KB

页数:99页

时间:2019-11-25

软件工程第十二讲_第1页
软件工程第十二讲_第2页
软件工程第十二讲_第3页
软件工程第十二讲_第4页
软件工程第十二讲_第5页
资源描述:

《软件工程第十二讲》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第十二讲面向对象方法学(续)主讲人:杨兵面向对象的概念面向对象的开发过程面向对象分析与模型化面向对象设计面向对象程序的实现与测试面向对象技术面向对象设计(OOD)面向对象设计继续做面向对象分析阶段的工作,建立软件的结构。主要工作分为两个阶段:高层设计类设计高层设计高层设计阶段开发系统的结构,即构造应用软件的总体模型。高层设计阶段标识在计算机环境中进行问题解决工作所需要的概念,并增加了一批需要的类。这些类包括那些可使应用软件与系统的外部世界交互的类。此阶段的输出是适合应用软件要求的类、类间的关系、应用的子系统视图规格说明。高层设计模型高层设计的

2、特点高层设计可以表征为标识和定义模块的过程。模块可以是一个单个的类,也可以是由一些类组合成的子系统。类接口的协议如同“合同”:需方提出的请求必须列在协议表中,供方则必须提供所有协议的服务。高层设计应遵循的原则应使得在子系统的各个高层部件之间的通信量达到最小;子系统应当把那些成组的类打包,形成高度的内聚;逻辑功能分组,提供一个一个单元,识别并定位问题事件;类设计类与具有概念封装的子系统十分类似。每个子系统都可以被当做一个类来实现,这个类聚集它的部件,提供了一组操作。类和子系统的结构是正交的,一个单个类的实例可能是不止一个子系统的一部分。高层设计

3、和类设计这两个阶段是相对封闭的。应用软件中的每一个事物都是一个对象,包括应用软件自身在内!两个阶段是连接的。Coad与Yourdon高层设计方法Coad与Yourdon在设计阶段中继续采用分析阶段中提到的五个层次。在设计阶段中,这五个层次用于建立系统的四个组成成份。问题论域部分人机交互部分任务管理部分数据管理部分问题论域部分问题论域部分包括与应用问题直接有关的所有类和对象。识别和定义这些类和对象的工作在OOA中已经开始,在OOA阶段得到的有关应用的概念模型描述了我们要解决的问题。在OOD阶段,应当继续OOA阶段的工作,对在OOA中得到的结果进

4、行改进和增补。问题论域部分的设计在OOA阶段得到的概念模型描述了要解决的问题在OOD阶段,继续OOA阶段的工作,对在OOA中得到的结果进行改进和增补。对OOA模型中的某些类与对象、结构、属性、操作进行组合与分解。要考虑对时间与空间的折衷、内存管理、开发人员的变更、以及类的调整等。1.复用设计根据问题解决的需要,把从类库或其它来源得到的既存类增加到问题解决方案中去。标明既存类中不需要的属性和操作,增加从既存类到应用类之间的一般化-特殊化的关系。把应用类中因继承既存类而成为多余的属性和操作标出。修改应用类的结构和连接。2.把问题论域相关的类关联起

5、来在设计时,从类库中引进一个根类,做为包容类,把所有与问题论域有关的类关联到一起,建立类的层次。把同一问题论域的一些类集合起来,存于类库中。3.加入一般化类以建立类间协议有时,某些特殊类要求一组类似的服务。此时,应加入一个一般化的类,定义为所有这些特殊类共用的一组服务名,这些服务都是虚函数。在特殊类中定义其实现。4.调整继承支持级别在OOA阶段建立的对象模型中可能包括有多继承关系,但实现时使用的程序设计语言可能只有单继承,甚至没有继承机制,这样就需对分析的结果进行修改。多继承模式有两种:狭义的菱形广义的菱形针对单继承语言的调整把特殊类的对象看

6、做是一个一般类对象所扮演的角色,通过实例连接把多继承的层次结构转换为单继承的层次结构。把多继承的层次结构平铺,成为单继承的层次结构。在这种情况下,有些属性或操作在同层的特殊类中会重复出现。针对无继承语言的调整当使用无继承的程序设计语言时,必须把具有继承关系的类层次结构平铺开来,成为一组类和对象。一般可利用命名惯例,把这些类或对象关联起来。5.改进性能提高执行效率和速度是系统设计的主要指标之一。有时,必须改变问题论域的结构以提高效率。如果类之间经常需要传送大量消息,可合并相关的类以减少消息传递引起的速度损失。增加某些属性到原来的类中,或增加低层

7、的类,以保存暂时结果,避免每次都要重复计算造成速度损失。6.加入较低层的构件在做面向对象分析时,分析员往往专注于较高层的类和对象,避免考虑太多较低层的实现细节。在做面向对象设计时,设计师在找出高层的类和对象时,必须考虑到底需要用到哪些较低层的类和对象。用户界面部分的设计在OOA阶段给出了所需的属性和操作,在设计阶段必须根据需求把交互细节加入到用户界面设计中,包括人机交互所必需的实际显示和输入。用户界面部分设计主要由以下几个方面组成。1.用户分类按技能层次分类:外行/初学者/熟练者/专家按组织层次分类:行政人员/管理人员/专业技术人员/其它办事

8、员按职能分类:顾客/职员2.描述人及其任务的脚本对以上定义的每一类用户,列出对以下问题做出的考虑:什么人、目的、特点、成功的关键因素、熟练程度以及任务脚本。例子:什

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。