UML面向对象的分析

上传人:pu****.1 文档编号:483429229 上传时间:2023-11-13 格式:DOCX 页数:19 大小:48.22KB
返回 下载 相关 举报
UML面向对象的分析_第1页
第1页 / 共19页
UML面向对象的分析_第2页
第2页 / 共19页
UML面向对象的分析_第3页
第3页 / 共19页
UML面向对象的分析_第4页
第4页 / 共19页
UML面向对象的分析_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《UML面向对象的分析》由会员分享,可在线阅读,更多相关《UML面向对象的分析(19页珍藏版)》请在金锄头文库上搜索。

1、第一章面向对象的软件工程简介一、传统软件工程方法存在的问题软件工程提出至今,并没有从根本上解决软件开发问题,软件危机现象依然存在。就其原因: 主要是随着软件应用范围的扩大,软件问题越来越复杂,但也有传统软件工程本身存在的问 题,表现在:1、预定义需求的假设是不现实的:需求是模糊的、变化的;需求的沟通是困难的。2、结构化分析和设计方法存在的问题:需求以功能为基础,分析和设计以过程为基础。3、思维方式(认识、分析问题的思想方法)与人们平常的习惯不一致。为了解决这一问题,软件工程有了新的发展:快速原型法和面向对象法。下面只介绍面向对 象的软件工程方法。二、面向对象的软件工程方法简介1、基本思想:使软

2、件开发的过程、方法和思想与现实问题的结构以及人类认识和解决问题的方法相一致。要点:认为客观世界是由各种对象组成的所有对象都划分成各种对象类自然界中的所有类组成类的层次结构对象之间通过消息相互联系面向对象=对象+类+继承+通讯软件开发的优点: 与人类习惯的思维方式一致稳定性好:传统方法基于功能的分析和分解,功能的变化常常会引起软件系统结构的变 化。而在OO方法中,功能的变化往往采用从已有类派生出新的子类的方法以实现功能 的扩充和修改。可重用性好:对象和类都是可重用的软件“预制件”通过参数化和实例化增加重用性。可维护性好:独立性好,稳定、易于修改、修改造成的影响小、易于理解。2、基本概念:对象:是

3、现实中任何可以明确界定和区别的事物或其抽象的实体和概念。Object =其中:ID:标识;MS:操作集合;DS:数据结构;MI:消息集合类:一组对象共同属性(数据和操作)的抽象。实例:一个具体的个体。消息:对象操作的具体调用说明。方法:操作的具体算法。属性:描述对象特性的数据。继承:子类自动共享父类中定义的数据和方法的机制。 对象之间的关系:ISA (抽象),PART -OF (聚合),关联(除此之外)。多态性:类层次中不同对象对同一消息的响应方式不同的机制(不同动物对“叫”不同响应)。重载:函数重载:同一作用域内若干参数特征不同的函数可以使用相同的函数名 运算符重载:同一运算符可以施加于不同

4、类的操作数上。3、几种主要的面向对象的软件工程方法的概况Coad/Yourdon : OOA/OOD 方法;OOA的过程和步骤:标识对象,标识结构,标识主题,定义属性,定义服务。OOD设计:系统设计和对象设计系统设计:人机交互部分;问题域部分;任务管理部分;数据管理部分对象设计:关联设计;服务设计Booch方法;基于四个主图和两个辅图;主图:类图(类及其关系:P24),对象图(对象和对象间消息),模块图(实现类和对象的程 序构件:P24)和进程图(分布环境下,进程与CPU及硬件的关系:P25)辅图:状态图(描述一个类的状态变化和变化条件:P25),时序图(对象交互的时间特性: P26)方法的过

5、程和步骤:P26Rambough: OMT方法(对象模型技术,也叫三视点技术);基于三个模型:对象模型;动态模型和功能模型。(对象模型技术:OMT,也叫三视点技术)对象(加虚框)对象模型:表示问题域中的对象和类的组成以及它们之间的关系。类名 属性 服务类对象与对象之间的关系有:归纳(ISA);组合(Part of);其它关联关系(数量、关联性质: 用链属性、用限定以及消息关联等)。它们的含义和表示方法此处略。具体表示方法与书上P277有一点差异。动态模型:对所有对象由于受外来事件的影响而产生的行为和状态变化的抽象表示。表 示形式:状态图(具体形式略)。事件(操作):表示某个特定时刻所发生的事情

6、,它瞬间完成。状态:表示对象在生命期中某个特定阶段所处的某种形态,用对象属性的一组取值表示,它 是持续性的。行为(活动):对象达到某种状态时所做的一系列处理操作。功能模型:表示系统所完成的“功能”,用DFD来表示。三个模型的关系:对象模型表示是谁,动态模型表示了在什么时候、什么情况下,功能模型 表示做了什么,完成了什么功能。Jacboson: OOSE 方法主要通过建立五个模型来完成系统的开发,这五个模型是: 需求模型(RM):主要包括用例图(Use Case,是OOSE的核心),问题域对象模型以 及人与系统接口界面。分析模型(AM):通过定义实体对象、界面对象和控制对象来描述系统的逻辑关系,

7、建 立问题域对象与AM中三个对象之间的关系。设计模型(DM):考虑AM在真实环境中的实现,并表现一个个类模块,有较详细的算 法实现。实现模型(IM):对DM的基于某种语言的具体实现。测试模型(TM):类底层测试、组装测试、集成测试等,依据RM和AM。OOSE开发的三个核心步骤:分析(RM、AM),构造(DM、IM)和测试(TM)有关用例(Use Case)以及用例之间的扩展和使用关系以后再介绍。UML: Unified Modeling Language来源:以Booch、OOSE以及OMT方法为基础,通过改进和演化而来。软件的开发过程就是以计算机能够运行的形式对现实问题及其问题的解法进行建模

8、的过程。UML不仅可以用来进行软件建模,也可以用于其它方面的建模。4、面向对象的分析和设计方法(Coad与Yourdon分析和设计方法)(基于OMT的OOA/OOD的方法)1)基本概念和基本方法:对象的五个层次:类-&-对象;结构(关联关系);主题;属性;服务。主题:是指导读者理解大型复杂模型的一种机制,通过主题将一个大型复杂的对象模型分解 成一个个不同概念范畴。需求陈述:通过调研形成的,对系统应做什么的一种自然语言描述。2)OOA的基本方法:理解、表达与验证-反复的过程调研形成需求陈述-识别类-&-对象-识别结构-划分主题-定义属性-定义动态模型 -定义功能模型-定义服务。 建立对象模型:确

9、定类-&-对象:从需求陈述中找名词,找出侯选的类-&-对象,筛选出正确的类-&-对象。确定关联:从需求陈述中找动词词组,找出侯选的关联,筛选出正确的关联划分主题:按问题域,不要按功能,对应以后的子系统。确定属性:从需求陈述中找名词词组或形容词,找出侯选的属性,筛选出正确的属性。识别继承:自底向上或自顶向下。反复验证和修改。建立动态模型:编写脚本(设想用户界面)-提取事件-排列事件次序-画事件跟踪图(原P279)-画状态图(原P285)建立功能模型:画数据流程图(DFD)定义服务:常见服务:常规行为;从事件导出;与DFD中的处理框对应,利用继承减少冗余服务。3)OOD的基本方法分析:建立问题域模

10、型设计:建立解空间模型。面向对象的设计分成:系统设计和对象设计两部分系统设计:主要完成目标系统的高层结构设计以及与实现策略有关的设计。主要包括:问题 域子系统设计;人-机交互子系统的设计;任务管理子系统的设计以及数据管理子系统的设 计等内容:对象设计:包括服务设计和关联设计。面向对象设计结果的优化处理。关于面向对象的设计今后就不再讲了,本课程重点介绍基于UML的面向对象的分析方法。 关于面向对象的实现主要是选择一个语言和开发环境,按设计结果进行实现。面向对象的测试有其特殊性和复杂性,以后再讲第二章UML简介一、UML的出现和发展四个发展阶段:各自为政(70年代中一93年,尤其是89年以后):5

11、0多种,主要的以上介绍的四种, 使用无所适从,统一成为需要和趋势。 统一阶段(9496): Booch 和 OMT 结合形成 UM0.8+OOSEUML0.9 和 UML0.91 标准化(9697):企业参与,成立UML成员协会,发布UML1.0(97.1)和UML1.1(97.10) 工业化(97今):97.11,UML 正式被 OMG (Object Management Group)正式接受为 标准后,大大推动了 UML在工业界的应用。二、UML的主要内容和特点1、主要内容:5大类9种图形。用例图:从用户的角度描述系统的功能,一个用户可以扮演多种角色。静态图:类图(类及其类与类的关系,长

12、期有效),对象图(一段时间有效)和包图。行为图:状态图(对必要的类),活动图(对用例,可描述并发活动)交互图:描述对象间的交互关系。包括:顺序图(强调时序)和合作图(强调连接)实现图:构件图(物理实现),配置图(实现系统的体系结构)2、特点: 统一性:统一了 Booch、OMT和OOSE的概念和方法,带来了广泛的认同,表达形式 更加清晰、更加一致。发展性:不仅吸取了众家之长,而且在演变过程中有所发展,因而更加实用,表达能力 更强。完整性:实用范围更加广泛(不仅用于信息系统建模,还可以用于机械系统、企业系统、 商业系统等的建模);支持从需求、设计、实现直到系统的测试和维护的系统的全生命 周期。三

13、、UML面向对象分析的一般过程1、调研、交流形成系统的问题域描述2、从用户的角度,确定系统的边界、主要功能和活动,建立用例模型3、深入分析用例中用户需求的功能,分析这些功能实现的活动。使用顺序图、合作图 和活动图来辅助进行。4、分析用户功能的完成基础,建立类和对象模型。5、对某些具有复杂状态变化关系的类建立状态图,深入分析它们的行为和状态的变 化。6、在上述过程中,要收集并整理系统的性能指标,研究系统的测试策略和测试方法, 并对照用例模型检测系统需求结果。1、用例驱动2、分析要建立系统的需求模型,主要包括静态模型和动态模型。3、虽与设计无明显的界限,但不要过早引入设计因素和实现细节。四、有关本

14、课程介绍内容的几点说明:1、重点介绍基于UML的面向对象的分析建模,有关设计和实现等较少涉及。2、侧重介绍UML面向对象的分析建模的实践操作,不介绍UML形式化的描述语言OCL(Object Constraint Language) 03、以UML1.1为基础进行介绍,与UML1.3版在细节上有区别:如:用例的使用(uses) 和扩展(extends)关系在UML1.3中已被用例的继承关系所代替。4、现有UML版本存在的问题:构件图和配置图的描述能力不够不支持用户和系统交互界面建模不能有效支持数据密集型应用系统建模目前UML仍然在发展。第三章UML静态建模机制 静态建模:通过某些手段和方法对系

15、统的静态结构进行描述的过程。UML静态建模机制:主要包括用例图、类和对象图、包图以及构件图和配置图。本章主要介绍用例图、类和对象图,简单介绍包图。构件图和配置图与系统的设计和实现有 关,而且UML中这两类图还不是很成熟,因此就不介绍了。一、用例图(Use Case)1、几个概念:角色、用例、用例图、扩展关系、使用关系角色:是系统用户为完成系统功能而表现的职责体现。角色不同于用户:一个用户在一个系统中可承担多个不同的角色,一个角色也有可能由 多个用户担当。角色与系统的功能实现有关,也一定与系统具有交互行为。角色是一个类,而不是类的实例,因此角色之间可以具有继承关系。角色的表示:稻草人(见P36)用例:是系统角色对系统的使用情况和过程,用来描述角色感受的完整的系统功能。UML定义为:“由系统执行的一个动作序列,并能产生可观察的结果值给某个特定的角色” 用例通

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号