书签 分享 收藏 举报 版权申诉 / 104

类型《软件工程实践与项目管理》课件第6章.ppt

  • 文档编号:2314974
  • 上传时间:2024-07-03
  • 格式:PPT
  • 页数:104
  • 大小:1.43MB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件工程实践与项目管理 软件工程 实践 项目 管理 课件
    资源描述:

    1、第6章 UML建模语言6.1 传统的开发方法6.2 面向对象的开发方法6.3 UML建模语言介绍6.4 UML图的设计6.5 实例:建立图书借阅系统的UML模型第第6章章 面向对象的面向对象的UML设计设计第6章 UML建模语言6.1 传统的开发方法传统的开发方法传统的软件开发方法曾经给软件产业带来巨大进步,在一定程度上缓解了软件危机。但随着人们对软件产品需求的日益增加,软件产品越来越不能满足人们的需要,原因是传统的软件开发的方法存在一定的问题。这些问题主要表现为如下四个方面:第6章 UML建模语言(1)软件生产效率仍然不高;(2)软件重用率很低;(3)软件的维护费用昂贵;(4)生产出的软件产

    2、品往往不能满足用户需求。出现上述问题最根本的原因在于软件的结构化设计方法。用结构化方法开发的软件,其可重用性、可维护性、稳定性都较差。第6章 UML建模语言结构化方法的本质是功能分解,它从系统整体功能入手,自顶向下不断把复杂的功能进行分解,一层一层地分解下去,直到每个功能都相对简单时,再用相应的工具描述实现这些简单的功能。显然这种方法是围绕实现处理功能的“过程”来构造系统的。然而用户需求的变化大部分是功能性变化,因此用户需求的变化往往造成系统结构的较大变化,而这种变化对基于过程的设计是灾难性的,用这种方法设计出的系统结构常常是不稳定的。为了克服这种传统软件开发方法的缺点,人们提出了面向对象的软

    3、件开发方法。第6章 UML建模语言6.2 面向对象的开发方法面向对象的开发方法面向对象的思想方法比较自然,接近于人的思维方式。它把客观世界中的事物映射成对象,把事物间的联系映射成消息,以此模拟客观世界。面向对象的方法把对象分为属性和操作。然后再把属性相同的对象抽象为类,将类划分为层次结构,子类可继承父类的属性和操作,这就是面向对象方法学的基本思想。第6章 UML建模语言面向对象的方法可以用下列式子来概括:面向对象=对象+类+继承+多态性+消息传递。也就是说,面向对象就是使用对象、类和继承等机制,对象之间只能通过传递消息实现彼此通信。面向对象方法的主要优点是:(1)与人类习惯的思维方式一致。(2

    4、)稳定性好。由于现实世界中的实体是稳定的,以对象为中心构造的软件系统也是比较稳定的。(3)把数据和操作封装到对象之中。(4)应用程序具有较好的可重用、易改进、易维护和易扩充性。面向对象方法和面向结构设计方法的比较见表6-1。第6章 UML建模语言表表6-1 面向对象的方法和结构化设计的方法的比较面向对象的方法和结构化设计的方法的比较第6章 UML建模语言6.3 UML建模语言介绍建模语言介绍建模是对现实的抽象和简化。建模的思维方式是软件工程常用的方式,它把现实世界抽象为一种人们可以理解的模型,进而转化为软件可以处理的逻辑模型。模型能够帮助我们按照人的思维模式对系统进行分析,并允许我们详细说明系

    5、统的结构和行为,从而把对系统的决策进行文档化。第6章 UML建模语言自20世纪80年代末以来,随着面向对象技术成为研究的热点,出现了几十种支持软件开发的面向对象方法,例如:Booch方法(创始人是Jim Rumbaugh)、Coad/Yourdon方法(创始人是Ivar Jacobson)、OMT方法(即对象建摸技术,创始人是Grady Booch)和Jacobson方法。这几种方法都有自己的价值和特点。OMT方法在系统分析方面比较强,但是在设计方面比较弱。Booch方法在设计方面很好,但是在分析方面比较弱。Jacobson方法在行为分析方面很好,但是在其他方面比较弱。第6章 UML建模语言最

    6、终,综合上述方法制定出了面向对象方法的标准,并在面向对象软件开发界得到了广泛的认可。而本章介绍的统一建模语言UML(Unified Modeling Language)结合了Booch方法、OMT方法和Jacobson方法的优点,统一了符号体系,并从其他的方法和工程实践中吸收了许多经过实际检验的概念和技术。第6章 UML建模语言UML语言包括UML语义和UML表示法两个部分。(1)UML语义。UML是一种面向对象的建模语言,它的主要作用是帮助用户以面向对象的形式对软件系统进行描述和建模(建模的最终目的是将用户的业务需求映射为代码,并保证代码满足这些需求),它可以完整地描述需求分析、软件实现和测

    7、试的软件开发全过程。(2)UML表示法。UML表示法主要定义UML的符号语法,为开发者或开发工具使用这些图形符号和文本语法进行系统建模提供标准。第6章 UML建模语言1.UML的建模机制的建模机制UML有两种建模机制:静态建模机制和动态建模机制。“静可描形,动可描行”,动和静是系统辩证的两个方面,在UML中,静态建模可以描述系统的组织和结构,而动态建模则可描述系统的行为和动作。静态建模机制使用例图、类图、对象图、包图、组件图和部署图等来描述系统。这些图称为静态视图。动态建模机制使用状态图、时序图、协作图和活动图等来描述系统。这些图称为动态视图。第6章 UML建模语言2.UML的结构的结构UML

    8、的结构包括以下几项:(1)UML的基本构造元素。它们是:事物、关系和图。(2)UML的事物有四种。它们是:结构事物、行为事物、分组事物和注释事物。(3)UML的关系有四种。它们是:依赖、关联、泛化、实现。(4)UML的图有10种。它们是:用例图、类图、对象图、包图、状态图、活动图、序列图、协作图、组件图、部署图(有时称实施图)。第6章 UML建模语言3.UML中的事物中的事物UML中的事物包括结构事物、行为事物、组织事物和辅助事物(也称注释事物)。第6章 UML建模语言1)结构事物结构事物 结构事物主要包括七种,分别是类、接口、协作、用例、活动类、组件和节点。类是具有相同属性、相同方法、相同语

    9、义和相同关系的一组对象的集合。接口是指类或组件所提供的、可以完成特定功能的一组操作的集合,协作定义了交互的操作,使一些角色和其他元素一起工作,提供了一些合作的动作。用例定义了系统执行的一组操作,对特定的用户产生可以观察的结果。活动类是对拥有线程并可发起控制活动的对象(往往称为主动对象)的抽象。组件是物理上可替换的,实现了一个或多个接口的系统元素。节点是一个物理元素,它在运行时存在,代表一个可计算的资源。第6章 UML建模语言2)行为事物行为事物主要有两种:交互和状态机。在UML图中,交互的消息通常画成带箭头的直线。状态机是对象的一个或多个状态的集合。3)组织事物 组织事物是UML模型中负责分组

    10、的部分,可以把它看做一个个盒子,每个盒子里面的对象关系相对复杂,而盒子与盒子之间的关系相对简单。组织事物只有一种,称为包。包是一种有组织地将一系列元素分组的机制。第6章 UML建模语言4)辅助事物辅助事物也称注释事物,属于这一类的只有注释。注释即是UML模型的解释部分。在UML图中,一般表示为折起一角的矩形。第6章 UML建模语言4.UML中的关系及其符号中的关系及其符号UML类有四种关系:关联、依赖、泛化、实现。1)关联关系关联关系表示不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。关联关系是“.has a.”(具有)的关系。在UML图中,关联关系用一条实线表示。关联关系

    11、的属性有:关联关系的名字、关联关系的角色、关联关系的重数。第6章 UML建模语言(1)名字:可以给关系取名字,如图6-1所示。图6-1 关联关系的名字第6章 UML建模语言(2)角色:关系的两端代表不同的两种角色,如图6-2所示。图6-2 关联关系的角色 第6章 UML建模语言(3)重数:表示有多少对象通过一个关系的实例相连,如图6-3所示。图6-3 关联关系的重数 第6章 UML建模语言聚合关系和组合关系是一种特殊的关联关系。聚合关系。聚合关系指的是整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。例如一个航母编

    12、队包括航空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。在需求描述中经常出现如下词语:“包含”、“组成”、“分为部分”等词,这些词语常意味着聚合关系。如图6-4所示。第6章 UML建模语言图6-4 类的聚合第6章 UML建模语言用英语描述,聚合是“.owns a.”(拥有)的关系。它的UML表示法是:空心菱形+实线+箭头,如图6-5所示。图6-5 聚合的UML表示法第6章 UML建模语言 组合关系。组合关系也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。部分对象与整体对象之间具有共生死的关系。用英语描述,组合关系是“.is a pa

    13、rt of.”(是的一部分)的关系。它的UML表示法是:实心菱形+实线+箭头,如图6-6所示。第6章 UML建模语言图6-6 组合关系的UML表示法第6章 UML建模语言聚合和组合的区别在于:聚合关系是“has-a”关系,组合关系是“contains-a”关系;聚合关系表示整体与部分的关系没有组合关系强。聚合关系中代表部分的对象与代表聚合的对象的生存期无关,删除聚合对象不代表删除部分的对象。组合中一旦删除了组合对象,同时也就删除了部分的对象。第6章 UML建模语言下面我们用浅显的例子来说明聚合和组合的区别。“国破家亡”,国灭了,家自然也没有了,“国”和“家”显然是组合关系。而相反的,计算机主机

    14、和它的外设之间就是聚合关系,因为它们之间的关系相对松散,计算机主机没了,外设还可以独立存在,还可以接在别的计算机上。第6章 UML建模语言 在聚合关系中,部分可以独立于聚合而存在,部分的所有权也可以由几个聚合来共享,比如打印机就可以在办公室内被广大同事共用。在组合关系中,组合者和被组合者对于组合的定义有一定约束,组合者要熟悉被组合者的生命周期。第6章 UML建模语言2)依赖关系对于两个对象X、Y,如果对象X发生变化,可能会引起对另一个对象Y的变化,则称Y依赖于X。依赖关系是一种“.uses a.”(使用)关系。在UML图中,依赖关系用一条带有箭头的虚线来表示。电影片和频道的关系是一种依赖关系,

    15、电影片必须通过频道才能播放,如图6-7所示。第6章 UML建模语言图6-7 电影片和频道的关系第6章 UML建模语言例如,人和空气是一种依赖关系,UML图如图6-8所示。图6-8 人和空气的依赖关系第6章 UML建模语言3)泛化关系泛化是一般事物(称为超类或父类)和该事物的较为特殊的类(称为子类)之间的关系,子类继承父类的属性和操作,除此之外通常子类还添加新的属性和操作,或者修改了父类的某些操作。例如,图6-9中,教师(Teacher)、学生(Student)和来宾(Guest)都继承了人(Person)这个“类”,所以Teacher和Person、Student和Person、Guest和P

    16、erson是泛化关系。其中,Person是基类,Teacher、Student、Guest是子类。第6章 UML建模语言图6-9 泛化关系第6章 UML建模语言在图6-9中,空心的三角表示继承关系(类继承),在UML的术语中,这种关系被称为泛化。若在逻辑上B是A的“一种”,并且A的所有功能和属性对B而言都有意义,则允许B继承A的功能和属性。例如,教师是人,Teacher是Person的“一种”(用英语讲的是“a kind of”)。那么类Teacher可以从类Person派生(继承)。如果A是基类,B是A的派生类,那么B将继承A的数据和操作。第6章 UML建模语言4)实现关系实现关系是将一种模型元素(如类)与另一种模型元素(如接口)连接起来,它表示不继承结构只继承行为。通常情况下,实现关系用来规定接口和实现接口的类或组件之间的关系。其中接口只是行为的说明而不是实现,而真正的实现由另一个模型元素来完成。可以在两种情况下使用实现关系:第一,在接口与实现该接口时;第二,在用例以及实现该用例时。在UML图中,实现关系一般用带有一条带有空心箭头的虚线来表示。如图6-10所示。第6章 UML建模语

    展开阅读全文
    提示  兔兜文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《软件工程实践与项目管理》课件第6章.ppt
    链接地址:https://www.tudouwenku.com/doc/2314974.html

    若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理!

    copyright@2008-2025 兔兜文库 版权所有

    鲁公网安备37072502000182号  ICP备案号:鲁ICP备2021021588号-1  百度保障

    兔兜文库
    收起
    展开