第8章 面向对象方法学与UML

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《软件工程》陆惠恩主编1第8章面向对象方法学与UML面向对象方法简称为OO(ObjectedOriented)方法面向对象分析(ObjectOrientedAnalysis,简称OOA)面向对象设计(ObjectOrientedDesign,简称OOD)统一建模语言UML(UnifiedModelingLanguage)是一种直观的、通用的、可视化建模语言。本章主要内容:面向对象方法概述UML概述UML图本章重点:面向对象方法学的主要概念UML图《软件工程》陆惠恩主编28.1面向对象方法概述对象(Object):面向对象方法把客观世界中的实体抽象为问题域中的对象。类(Class):类是对具有相同数据和相同操作的一组相似对象。继承(Inheritance):在层次结构中,下层的派生类具有和上层的基类相同的特性(包括数据和方法),这种现象称为继承。消息传递:对象彼此之间仅能通过传递消息相互联系。封装性:对象的信息都被封装在该对象类的定义中,必须发消息请求它执行其某个操作,处理它的数据,不能从外界直接对它的数据进行操作。OO=Objects+Classes+Inheritance+CommunicationwithMessages面向对象=对象+类+继承+消息传递《软件工程》陆惠恩主编38.1.1面向对象方法学的主要优点1.与人类习惯的思维方法一致2.稳定性好3.可重用性好4.较易开发大型软件产品5.可维护性好《软件工程》陆惠恩主编48.1.2面向对象的概念1.对象(object)(1)对象的定义:在应用领域中有意义的、与所要解决的问题有关系的任何事物都可作为对象。(2)对象的特点2.类(Class):类是具有相同属性和相同方法的一组对象的集合。3.实例(Instance):一个对象是类的一个实例。4.属性(Attribute):是类中所定义的数据。5.消息(Message):消息就是向对象发出的服务请求。6.方法(Method):方法是对象所能执行的操作,是类中所定义的服务。7.封装(Encapsulation)8.继承(Inheritance)单继承和多重继承。9.多态性(Polymorphism)10.重载(Overloading)《软件工程》陆惠恩主编58.2UML概述8.2.1UML的发展统一建模语言UML(UnifiedModelingLanguage)模型由一组图形符号和组织这些符号的规则组成,模型的描述应当无歧义。8.2.2UML设计目标和内容UML是一种描述、构造、可视化和文档化的软件建模语言。UML是面向对象技术软件分析与设计中的标准建模语言统一了面向对象建模的基本概念、术语及其图形符号,建立了便于交流的通用语言。1.UML的设计目标2.UML的内容包括UML语义、UML表示法和几种模型。UML表示法由UML图、视图、模型元素、通用机制和扩展机制组成。《软件工程》陆惠恩主编6UML表示法:由UML图、视图、模型元素、通用机制和扩展机制组成。(1)图(diagram)5类9种图。1)2)静态图:包括类图及包、对象图。3)行为图:包括状态图和活动图4)交互图:包括顺序图和合作图5)(2)视图(view)(3)模型元素(modelelement)(4)通用机制:(5)扩展机制:标签、约束、版型UML模型:用例模型静态模型动态模型《软件工程》陆惠恩主编78.3UML图以下几种符号在各种UML图中可能都要用。注释(a)消息(b)《软件工程》陆惠恩主编88.3.1用例图用例图从用户的角度描述系统功能,并指出各功能的操作者。(1)用例(2)执行者:执行者也称为角色,用一个小人图形表示。(3)通信联系(4)脚本【例8.1】饮用水自动售水系统如果投入1元硬币,则自动放水5立升;投入5角硬币,放水2.5立升;如果选择1元,投入2个硬币,也可放水5立升。如果饮用水来不及生成,会把硬币落下来并亮红灯。硬币由收银员定时回收。《软件工程》陆惠恩主编98.3.2类图和包1.类图的符号属性的语法格式为:可见性属性名:类型名=初值{性质串}操作的语法规则为:可见性操作名(参数表):返回值类型{性质串}《软件工程》陆惠恩主编102.类的关联关系类的关联关系表示类与类之间存在某种联系。普通关联限定关联关联类共享聚集复合聚集《软件工程》陆惠恩主编113.类的一般-特殊关系4.类的依赖关系.《软件工程》陆惠恩主编125.类的细化关系:用于表示类的模型的相互关系。类图可分为三个层次概念层类图说明层类图实现层类图《软件工程》陆惠恩主编136.包重用等价原则共同闭包原则共同重用原则非循环依赖原则8.3.3对象图对象有三种表示方式:对象名:类名:类名对象名《软件工程》陆惠恩主编148.3.4状态图【例8.2】状态机举例《软件工程》陆惠恩主编158.3.5顺序图顺序图有两个方向:【例8.3】用顺序图描述打电话的操作过程。《软件工程》陆惠恩主编168.3.6活动图活动图(activitydiagram)是状态图的一种特殊情况。【例8.4】用活动图描述打电话过程。《软件工程》陆惠恩主编178.3.7协作图《软件工程》陆惠恩主编188.3.8构件图《软件工程》陆惠恩主编198.3.9部署图含有以下要素:结点及其连接,构件及其接口,对象。【例8.5】用部署图描述使用金龙卡的饮食销售系统。《软件工程》陆惠恩主编20第8章小结面向对象方法是一种将数据和处理相结合的方法。面向对象方法不强调分析与设计之间的严格区分。从面向对象分析(OOA)到面向对象设计(OOD),是一个反复多次迭代的过程。面向对象方法使用对象、类和继承机制,对象之间仅能通过传递消息实现彼此通信。可以用下列方程来概括:面向对象=对象+类+继承+用消息通信UML是面向对象方法使用的标准建模语言。UML图有9种:用例图、类图、对象图、状态图、顺序图、活动图、协作图、构件图、部署图。包由类图或另一个包构成,表示包与包之间的依赖、细化和泛化等关系。包通常用于对模型的管理,有时可把包称为子系统。UML是一种有力的软件开发工具,它不仅可以用来在软件开发过程中对系统的各个方面建模,还可以用在许多工程领域。

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功