软件工程—第6章 面向对象设计

软件工程—第6章 面向对象设计

ID:21525013

大小:525.50 KB

页数:110页

时间:2018-10-19

软件工程—第6章 面向对象设计_第1页
软件工程—第6章 面向对象设计_第2页
软件工程—第6章 面向对象设计_第3页
软件工程—第6章 面向对象设计_第4页
软件工程—第6章 面向对象设计_第5页
资源描述:

《软件工程—第6章 面向对象设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章面向对象设计传统方法学概述传统方法学存在的问题生产率提高的幅度远远不能满足需要软件重用程度很低软件仍然很难维护软件往往不能真正满足用户需要出现问题的原因僵化的瀑布模型*某些类型的系统需求是模糊的*项目参与者之间存在通信鸿沟*预先定义的需求可能是过时的结构化技术的缺点*用这种技术开发出的软件,其稳定性、可修改性和可重用性都比较差。*结构化分析、设计技术的本质是功能分析。从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,层层分解下去,直至仅剩下若干个容易实现的子处理为止。功能与数据分离的软件设计结构与人类的现实

2、世界环境很不一样,和人的自然思维也就很不一致,因此对现实世界的认识与编程之间存在着一道很深的理解上的鸿沟。系统是围绕着如何实现一定的行为来进行的,当系统行为易变,需要常常修改时,修改极为困难。在系统中模块之间的控制作用有重要影响时,也就是说,实际的控制发生的根源来自分散的各个模块之中时,由于在“好的模块结构”中的模块间的控制作用只能通过上下之间的调用关系来进行,造成信息传递路径过长,效率低,易受干扰,甚至出错。自顶向下功能分解的分析方法极大地限制了软件的可重用性。面向对象思想最初起源于20世纪60年代末的simula语言。面向对象方法的基

3、本要点首次在simula语言中得到了表达和实现。80年代,位于美国加州的Xerox研究中心推出smalltalk语言及其程序设计环境,使得面向对象程序设计方法得到比较完善的实现,掀起了面向对象研究的高潮。到80年代中后期,面向对象的软件设计和程序设计方法已发展成为一种成熟有效的软件开发方法。相比而言,面向对象的分析技术发展得比较滞后。面向对象方法学概述“面向对象”(Object-Oriented)是针对“面向过程”一词提出的,是从本质上区别于传统的结构化方法的一种新方法,新思路。OO技术的基本原理是:按照问题域的基本事物实现自然分割,按人

4、们通常的思维方式建立问题域的模型,设计尽可能直接自然表现问题求解的软件系统。为此,OO技术引入了对象(object)概念来表现事物,用消息(message)传递建立事物间的联系。用类(class)和继承(inheritance)作为适应人们一般思维方式的描述模型。用方法(method)表示作用在对象上的各种操作。面向对象方法学概述建立在对象、消息、类、继承和方法等概念基础上的面向对象软件的基本特征是对象的封装性和继承性。通过封装可以将对象的定义与对象的实现分开。这样,无论是对象功能的完善扩充,还是对象实现的修改,影响仅限于该对象内部,保证

5、了面向对象软件的可构造性和易维护性。通过继承可以表达类与类之间的联系,大大减少了重复定义,同时也使系统的结构更加清晰、易于理解和维护。§6.1面向对象设计概述§6.2系统设计§6.3对象设计§6.4领域对象设计教学内容:在第五章讲述了软件设计的几条基本原理,这些原理在进行面向对象设计时仍然成立,但是增加了一些与面向对象方法密切相关的新特点,从而具体化为下列的面向对象设计准则:模块化——对象就是模块;抽象——类实际上是一种抽象数据类型;信息隐蔽——通过对象的封装性实现;弱耦合——主要指不同对象之间相互关联的紧密程度;强内聚——设计中使用的一

6、个构件内的各个元素,对完成一个定义明确的目的所做出的贡献程度;可重用——尽量使用已有的类,确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性;面向对象设计分析是提取和整理用户需求,并建立问题与精确模型的过程。设计则是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。面向对象设计就是用面向对象观点建立求解域模型的过程。OOA与OOD的本质:OOA是一个分类活动,即分析问题力图确定在开发解决方案时可应用的对象类,同时确定对象关系和行为。OOD使得软件工程师能够确定从类中导出的对象,以及这些对象的相互

7、关联,此外,OOD描述了:对象间的关系如何达到;行为如何实现;对象间通信如何实现。从OOA到OOD逐渐扩充模型的过程OOD分为两个阶段:高层设计(系统设计)低层设计(对象设计)§6.1面向对象设计概述OOD则主要考虑“如何实现”的问题,因而这一阶段注意的焦点从问题空间转移到解空间。着重完成各种不同层次的模块设计。1.面向对象设计的任务系统设计对象设计消息设计复审设计模型系统设计主要完成系统整体结构的设计,包括将子系统分配到处理器和任务,选择实现数据管理、界面支持和任务管理的设计策略,为系统设计合适的控制机制等。对象设计,对OOA模型中的类

8、对象模型具体化、详细化。消息设计使用对象间的协作和对象—关系模型,设计出消息模型。复审设计模型,对设计模型进行复审,并伴随着附加的OOA活动。和传统的结构化设计一样,面向对象设计也是将分析阶段

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

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

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