第五讲 面向对象分析与设计(Object-oriented Analysis and Design)
- 格式:ppt
- 大小:6.42 MB
- 文档页数:258


面向对象:面向对象是软件开发方法。
面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
面向对象分析与设计:OOAD是现代软件企业广为采用的一项有效技术。
OOAD方法要求在设计中要映射现实世界中指定问题域中的对象和实体,例如:顾客、汽车和销售人员等。
这就需要设计要尽可能地接近现实世界,即以最自然的方式表述实体。
目前众多的软件项目有什么样的问题呢?早些时候上ERP的企业在企业发展的时候发现原有的ERP系统需要改进,可是要改进或者是更改现有的ERP系统,唯一的方法就是重新开发一个ERP系统。
这对于企业来说是笔不小的支出。
此时,落后的信息系统就成为制约企业发展的重要因素。
是什么原因造成了这种情况呢?主要的因素是传统的系统分析是在假定需求不变的情况下进行的,这样可以把企业的资源配置到最优的程度。
可是在现代瞬息万变的社会,一个企业固守旧有模式,势必会在竞争中处于劣势(因此现在也出现了"组件化"的ERP,这是题外话)。
既然企业的需求是变化的、不稳定的,那么以变化的需求为基础建立起来的企业信息系统当然也就不稳定了。
这时候,有个问题就产生了,前面我们已经说过,需求是项目的根本,既然需求都是不稳定的,那么何以建立起稳定的企业信息系统呢?要回答这个问题,首先要比较面向过程和面向对象的开发方法的差别,传统的面向过程的开发方法在前20年大行其道,为中国企业的信息化建设立下了汗马功劳。
之所以称为面向过程,是因为开发的焦点集中于过程,开发者集中于以函数为核心的过程,例如前些年很多人试图编写一些通用转账函数来满足银行的需求。
面向过程的开发语言包括:Cobol、Pascal、C及C的变形语言。
面向对象的概念是在近10年才进入中国的,而它的思想至今也没有真正意义上得到普及。
1.1软件开发过程1.2 面向对象技术面向对象(Object-oriented)技术是一种新型程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象、类、封装、继承、聚合、关联、消息、多态等基本概念来构造系统的软件开发方法。
它充分体现了分解、抽象、模块化、信息隐蔽等思想,可以有效地提高软件生产率、缩短软件开发时间、提高软件质量,是控制软件复杂性的有效途径。
(1)传统结构化方法与面向对象方法比较?传统的结构化方法着眼于一个信息系统需要什么样的方法和处理过程。
以过程抽象来对待系统的需求,其主要思想就是对问题进行功能分解,如果分解后得到的功能过大,那么再对这些功能进行分解,直到最后分解得到的功能能比较方便地处理和理解为止。
它从算法的角度进行建模,所有的软件都用过程或者函数作为其主要构造块,所以,具有模型脆弱、难以适应需求的变动、维护较困难等特点。
与传统的结构化方法相比,面向对象方法在描述和理解问题域时采用截然不同的方法。
其基本思想是,对问题域进行自然分割,以更接近人类思维方式建立问题域模型,从而使设计出的软件尽可能直观地描述现实世界,具有更好的可维护性,能适应用户需求的变化。
面向对象技术优点:首先,用面向对象技术开发的系统比较稳定,较小的需求变化不会导致大的系统结构的改变。
其次,用面向对象技术开发的系统易于理解。
结构化方法和面向对象方法对现实世界采用了不同的映射方法。
在结构化方法中,现实世界被映射为功能的集合;在面向对象方法中,现实世界中的实体及其相互关系被映射为对象及对象间的关系,实体之间的相互作用被映射为对象间的消息发送,以及其他类似的各种映射关系。
第三,采用面向对象技术开发的系统具有更好的适应性,能更好地适应用户需求的变化,有助于改造大型软件系统。
第四,用面向对象技术开发的系统具有更高的可靠性,有助于软件的维护与复用。
第五,面向对象技术有助于提高软件的质量和生产率。
(2)面向对象的基本原则抽象、封装、委托、分类、继承1.3 面向对象基本概念对象:对象(object)是系统中用来描述客观事物的一个实体,它是构造系统的一个基本单位。
面向对象分析与设计综述摘要:OO(面向对象)是当前计算机界关心的重点,而OOA (面向对象分析方法)和OOD(面向对象设计)是面向对象软件开发生命周期中两个重要的阶段。
而UML 作为一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟的建模技术,广泛地适用于各个应用领域。
关键字:OO,OOA,OOD,UMLAbstract:OO (object-oriented) were concerned about the focus of the current computer, while the OOA (object-oriented analysis) and OOD (object-oriented design) is the object-oriented software development are two important stages in the life cycle. UML as a powerful object oriented visualization system analysis, modeling language, it USES a set of mature modeling technology, widely applicable to various applications.Key words: OO, OOA, OOD, UML一、引言OO(面向对象)是当前计算机界关心的重点,它是90年代软件开发方法的主流。
面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。
如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
随着计算机硬件的迅猛发展,软件开发方法也不断推陈出新,面向对象(OO)方法就是在结构化方法、信息建模方法等基础上发展起来的。
OO方法认为现实世界由一组对象构成,对象间的分工合作构成了现实世界运行,它利用封装、继承、多态等技术对软件系统(简称系统)进行高度抽象。
《面向对象分析与设计》2012复习大纲英文名称:Object-Oriented Analysis and Design课程编码:学时:32适用专业:软件工程适用对象:软件工程硕士一、课程教学目的和任务“面向对象分析与设计”是软件工程专业的一门重要的专业基础课。
本课程从应用实践需求出发,主要介绍了公认的面向对象建模语言UML,让学生对UML 的基础知识有所了解,同时,初步掌握UML在面向对象的软件系统分析和设计中的应用,为学生将来在面向对象分析和设计过程中使用UML为系统建模奠定基础。
二、课程教学基本内容和要求本课程首先在绪论部分简要介绍了一个项目的成功所需要的三个方面的支持:符号——UML、过程——Rational统一过程和工具,然后以UML为重点展开全面讲解。
教学中将首先使学生了解UML中共性部分:UML的关系和UML的符号,然后简要介绍软件系统体系结构的视以及为系统建模的图,然后分别具体对用例图、类图、交互作用图、活动图、状态机图以及组件图与部署图进行讲解,最后结合应用实例对UML建模进行阐述,让学生初步掌握UML建模技术及其应用。
三、教学内容要点和要求第一章绪论●了解UML的背景、内容,掌握UML的主要特点、功能和UML的组成;●了解什么是RUP,RUP的发展历程;●掌握RUP吸收的最佳工程实践经验和RUP过程;●了解UML相关工具。
第三章 UML的关系●掌握UML的四种关系及其表示:依赖关系、类属关系、关联关系和实现关系第四章 UML的符号●掌握各种UML符号及其表示:参与者、用例、类和对象、消息、状态、跃迁、包、组件、接口、节点等。
●了解UML的扩充机制:衍型、标记值和约束。
第五章 UML的视与图●掌握软件系统体系结构的5个视●了解UML系统建模的13种图第六章用例图●掌握用例图的说明和使用●掌握用例的描述——事件流文档模版第七章类图、对象图和包图●掌握类图、对象图和包图的说明和使用●掌握包对类、用例和图中建模元素进行分类的经验法则第八章交互作用图●掌握顺序图和通信图的说明、使用●掌握顺序图和通信图的相互转化第九章活动图●了解活动图和状态机图的区别和联系●掌握活动图的说明和使用第十章状态机图●掌握状态机图的说明和使用●掌握简单状态机图的代码转换第十一章组件图与部署图●掌握组件图与部署图的说明和使用第十六章 web应用程序设计●了解浏览器与web服务器的交互●掌握Web应用程序的三层结构●掌握Web体系结构的三种模式(瘦客户端模式、胖客户端模式和web发送模式)及其程序设计中的UML建模四、教材及主要参考书1.《UML系统分析与设计教程》,冀振燕,人民邮电出版社,20092.《UML和模式应用》,Craig Larman著,李洋、郑译,机械工业出版社,2006五、评分标准及考试说明评分标准:课堂表现(20%)+作业(30%)+考试(50%)作业提交说明:只提交习题中红色加粗的习题答案,其余习题请自行完成。