书签 分享 收藏 举报 版权申诉 / 334
上传文档赚钱

类型UML统一建模项目教程138886[334页]课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3371028
  • 上传时间:2022-08-24
  • 格式:PPT
  • 页数:334
  • 大小:9.29MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《UML统一建模项目教程138886[334页]课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

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

    特殊限制:

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

    关 键  词:
    334页 UML 统一 建模 项目 教程 138886 334 课件
    资源描述:

    1、中国人民大学出版社中国人民大学出版社第1单元 软件工程概述第2单元 面向对象技术简介第3单元 UML语言基础第4单元 类图和对象图第5单元 包图第6单元 用例图第7单元 交互图第8单元 活动图第9单元 状态机图第10单元 交互概述图第11单元 构件图第12单元 部署图第13单元 UML应用实例网络教学系统建模【单元目标】【单元目标】1.理解软件的概念与特点。2.了解软件危机的形成并掌握缓解软件危机的方法与途径。3.了解软件工程的概念与基本目标。4.掌握软件生存周期的各个阶段需要完成的主要任。5.掌握常用的软件开发模型。6.能够使用软件工程的思想来解决软件开发中遇到的问题。【任务描述】【任务描述

    2、】计算机软件的发展与进步,是与计算机硬件的发展和计算机的普及是分不开的。同其他事物的发展规律一样,也经历了从产生、发展到成熟的过程。在这个过程中也经历了软件的危机,为吸取历史经验教训,应该认真研究产生软件危机的原因,探讨消除软件危机的途径。【任务目标】【任务目标】首先,了解软件的概念与软件的发展情况,并掌握软件的特点。其次,了解软件危机的形成与表现形式,并学会解决软件危机的方法与途径。1.1.1 软件的发展软件的发展 现在对软件的一种公认的解释为:软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据为进行

    3、通信、解释和处理而使用的信息的形式化表现形式。文档是与程序开发、维护和使用有关的图文材料。1.1.2 1.1.2 软件的特点软件的特点与硬件相比,软件主要有以下特点。1.软件是一种逻辑实体,不是具体的物理实体 2.软件与硬件的生产方式不同3.软件与硬件的维护不同 4.软件是复杂的 5.软件成本相当昂贵 1.1.3 1.1.3 软件危机软件危机 1.软件危机的表现(1)人们对软件开发的成本和进度的估计常常不够准确。(2)用户对已完成的软件不满意的现象时有发生。(3)软件常常是不可维护的。(4)软件产品的质量往往不可靠。(5)软件开发生产率提高的速度远远跟不上日益增长的软件需求,满足不了社会发展的

    4、需要。2.缓解软件危机的途径(1)加强软件开发过程的管理,做到组织有序、各类人员协同配合,共同保证工程项目完成,避免软件开发过程中个人单干的现象。(2)推广使用开发软件的成功技术和方法,并且不断探索更好的技术和方法,消除一些错误的概念和做法。(3)开发和使用好的软件工具,支持软件开发的全过程。【任务描述】【任务描述】学习软件工程的基本理论与方法,建立并使用正确的工程方法开发出成本低、可靠性高并能高效运转的软件,从而解决或缓解软件危机。【任务目标】【任务目标】了解软件工程的概念,掌握软件工程的三要素,理解软件工程的基本原理,掌握软件工程的基本目标。学会使用软件工程的理论来解决软件危机的方法。1.

    5、2.1 1.2.1 软件工程的概念软件工程的概念软件工程包括3个要素:方法、工具和过程。(1)软件工程方法为软件开发提供了“如何做”的技术,是指导研制软件的某种标准规范。(2)软件工具是指软件开发、维护和分析中使用的程序系统,为软件工程方法提供自动的或半自动的软件支撑环境。(3)软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。1.2.2 1.2.2 软件工程的基本原理软件工程的基本原理软件工程的这7条基本原理包括:1.用分阶段的生存周期计划严格管理 2.坚持进行阶段评审 3.实行严格的产品控制 4.采用现代程序设计技术 5.结果应能清楚地审查6.开发

    6、小组的人员应少而精7.承认不断改进软件工程实践的必要性 1.2.3 1.2.3 软件工程的基本软件工程的基本目标目标从技术和管理上采取多项措施以后,组织实施软件工程项目的最终目的是保证项目成功,即达到以下几个主要目标:付出较低的开发成本;达到预期的软件功能;取得较好的软件性能;使软件易于移植;需要较低的维护费用;能按时完成开发工作,及时交付使用。软件工程目标之间的关系 【任务描述】【任务描述】利用所学知识进行软件生存周期的各个阶段任务的划分。划分原则是保证各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过

    7、程的组织管理。【任务目标】【任务目标】首先了解软件生存周期的概念,其次,熟练掌握软件生存周期各个阶段的工作流程及主要工作任务。1.3.1 1.3.1 软件生存周期的概念软件生存周期的概念同任何事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。软件生存周期是指一个计算机软件从功能确定、设计,到开发成功投入使用,并在使用中不断地修改、增补和完善,直到停止该软件的使用的全过程。1.3.2 1.3.2 软件生存周期的主要阶段软件生存周期的主要阶段软件生存周期主要包括制定计划、需求分析、软件设计、程序编码、软件测试和运行维护等6个阶段。以下对这6个阶段的工作流程及主要任务做一概括的描述。1.

    8、制定计划 在软件系统开发之前,首先应当制定项目开发计划,该阶段是软件生存周期的第一阶段。其主要任务如。确定要开发软件系统的总目标。给出功能、性能、可靠性以及接口等方面的要求。完成该软件任务的可行性研究。估计可利用的资源(硬件、软件和人力等)、成本、效益和开发进度。制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。2.需求分析当完成计划制定之后,需要对用户的需求去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言表达出来。其主要任务如下。去用户处做需求调研,让用户提出对软件系统的所有需求。对用户提出的需求进行分析、综合,并给出详细的定义。编写软件需求说明书及初步的系统用户手

    9、册,提交管理机构评审。3.软件设计 需求分析和定义阶段结束之后,对于软件必须“做什么”的结论已经明确,下一步是如何实现软件的需求,即进入软件设计阶段,该阶段又可分为概要设计和详细设计两部分。其主要工作如下。概要设计:把各项软件需求转化为软件系统的总体结构和数据结构,结构中每一部分都是意义明确的模块,每个模块都和某些需求相对应。详细设计:即过程设计,对每个模块要完成的工作进行具体的描述,即给出详细的数据结构和算法,为源程序的编写打下基础。编写设计说明书,提交评审。4.程序编写 软件设计解决了软件“怎么干”的问题,而程序编写是在计算机上真正实现一个具体的软件系统。具体的工作包括以下两个方面。把软件

    10、设计转换成计算机可以接受的程序代码,即写成以某一种特定的程序设计语言表示的“源程序清单”。这一步工作也称为编码。要求写出的程序应该是结构良好、清晰易读的,且与设计相一致。5.软件测试 软件分析和设计、程序编写过程其中难免有各种各样的错误,需要通过测试来查找和修改,以保证软件的质量。其主要工作如下。单元测试:查找各模块在功能和结构上存在的问题并加以纠正。集成测试:将已测试通过的模块按一定顺序组装起来进行测试。有效性测试:按规定的各项需求,逐项进行测试,判断已开发的软件是否合格,能否交付用户使用。6.运行/维护 软件维护有4种类型,它们分别完成以下任务。纠正性维护:运行中发现了软件中的错误而进行的

    11、修改工作。适应性维护:为了适应变化了的软件工作环境,而做出适当的变更。完善性维护:为了增强软件的功能而做出的变更。预防性维护:为未来的修改与调整奠定更好的基础而进行的工作。【任务描述】【任务描述】在某个信息系统组织中,作为应用程序项目的管理者,开发小组之前已开发过项目,此次项目规模大且复杂,并且需求已由用户写出文档,请选择适当的软件开发模型来完成。【任务目标】【任务目标】掌握常用的软件开发模型的特点,能够根据不同软件开发项目的特点来选择合适的软件开发模型进行建模。1.4.1 瀑布模型瀑布模型规定了各项软件工程活动,包括制定开发计划、需求分析和说明、软件设计、程序编码、测试和运行、维护,并且规定

    12、了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落,如图所示。1.4.2 1.4.2 快速原型模型快速原型模型 快速原型模型的基本思想是:软件开发人员根据用户提出的软件基本需求快速开发一个原型,以便向用户展示软件系统应有的部分或全部的功能和性能,在征求用户对原型的评价意见后,进一步使需求精确化、完全化,并据此改进、完善原型,如此迭代,直到软件开发人员和用户都确认软件系统的需求并达成一致的理解为止。软件需求确定后,便可进行设计、编码、测试等以后的各个开发步骤。可见,原型主要是为了完成需求分析阶段的任务而构建的。利用原型确定软件系统需求的过程如图所示。1.4.3 1.4.3 螺旋模型螺旋模

    13、型螺旋模型的结构如图所示,它由 4 部分组成:制定计划、风险分析、实施开发、客户评估。在笛卡儿坐标的4个象限上分别表达了4个方面的活动。1.4.4 1.4.4 增量模型增量模型在增量模型中,产品的设计、实现、集成和试验是以一系列增量构件为基础进行的,构件是由一些模块的编码构成并能提供特定的功能。例如,在操作系统中,调度程序是一个构件,文件管理系统也是一个构件。在增量模型的每一个阶段,都要编码一个新的构件,然后集成到先前已构成的产品中并作为一个整体进行测试,当这个产品满足规定的功能,即满足它的需求规范时,这个过程停止。1.4.5 1.4.5 喷泉模型喷泉模型喷泉模型是一种以对象为驱动、以用户需求

    14、为动力的模型,主要用于描述面向对象的软件开发过程。该模型认为软件开发过程中自下而上周期的各阶段是相互重叠和多次反复的,类似一个喷泉,水喷上去又可以落下来。各个开发阶段没有特定的次序要求,并且可以交互进行,可以在某个开发阶段中随时补充其他任何开发阶段中的遗漏。采用喷泉模型的软件开发过程如图所示。【单元小结单元小结】在本单元中,我们对软件工程的基本知识进行了概要的讲解。首先介绍了软件与软件危机的概念,接着介绍了软件工程的概念以及软件的生存周期,最后对软件的开发模型进行了简要的介绍。本单元是对软件工程的概念进行的综合描述,重点是软件生存周期各阶段的主要任务以及各种软件开发模型。【概念复习】【概念复习

    15、】软件 软件危机 软件工程 软件生存周期 软件开发模型【习题练习】【习题练习】1.填空题(1)通常软件包括 、三方面的内容。(2)软件工程的三要素包括 、。(3)软件生存周期一般可分为 、_ 、6 个阶段。(4)软件开发模型主要包括 、_ 、。(5)螺旋模型的结构由4个部分组成:、。2.选择题(1)软件工程的目的是()。A.建造大型的软件系统 B.软件开发的理论研究 C.软件的质量保证 D.研究软件开发的原理(2)软件产品的开发主要是()。A.进行软件复制 B.进行软件的研制 C.进行软件的销售 D.进行软件的测试(3)在软件开发模型中,提出最早、应用最广泛的模型是()。A.瀑布模型 B.喷泉

    16、模型 C.增量模型 D.螺旋模型(4)需求分析是在()进行的。A.客户 B.用户和分析设计人员之间 C.开发人员内部 D.使用和维护人员间(5)软件的主要结构和功能是在()阶段决定的。A.分析设计 B编程 C.测试 D维护(6)软件危机具有下列表现()。.对软件开发成本估计不准确 .软件产品的质量往往靠不住.软件常常不可维护 .软件成本逐年上升 A.、和 B.、和 C.、和 D.以上都正确(7)软件工程的出现是由于()。A.软件危机的出现 B.计算机硬件技术的发展 C.软件社会化的需要 D.计算机软件技术的发展(8)()分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。A.

    17、增量模型 B.喷泉模型 C.快速原型模型 D.瀑布模型(9)“软件危机”是指()。A.计算机病毒的出现 B.利用计算机进行经济犯罪活动 C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统(10)为了克服软件危机,人们提出了用()的原理来设计软件,这就是软件工程诞生的基础。A.数学 B.软件学 C.运筹学 D.工程学【问题思考】【问题思考】1.软件的发展过程。2.软件的特点。3.软件危机主要有哪几种表现?4.软件工程的基本原理。5.软件工程的目标是什么?6.什么是软件生存周期?7.什么是软件开发模型?主要有哪些?各有何特点?8.假设要求你开发一个软件,该软件的功能是把读入的浮点数开

    18、平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该产品将被抛弃。你打算选用哪种软件生命周期模型?请说明你做出选择的理由。【单元目标】【单元目标】1.了解面向对象的基本概念。2.掌握面向对象的三大特征。3.了解软件建模的基本概念,深刻体会软件建模的目的和原则。4.能够运用面向对象建模原则建立系统模型。5.学会面向对象的系统分析与设计方法。【任务描述】【任务描述】面向对象的程序设计(Object-Oriented Programming,OOP)旨在创建软件重用代码,具备更好的模拟现实世界环境的能力,这使得它被公认为是编程的最佳选择。面向对象的编程语言使得复杂的工作条理清晰、编写容

    19、易。通过对面向对象的基本概念的学习来掌握面向对象的程序设计方法。【任务目标】【任务目标】了解面向对象的发展以及它的特点,掌握面向对象的基本概念。能够运用面向对象的思想进行程序设计。2.1.1 2.1.1 面向对象的概念面向对象的概念面向对象的方法起源于面向对象的程序设计语言。在20世纪60年代中期Simula-67的设计者Dahl和Nygaard提出对象的概念,在程序设计语言中开始使用数据封装的概念。面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。在结构上,面向对象程序设计和结构化程序设计也有很大的不同。结构化程序设计首先应该确定的是程序的流程怎样走,函数间的调用

    20、关系怎样,也就是函数间的依赖关系是什么。2.1.2 2.1.2 对象对象对象是面向对象系统的基本构造块,是一些相关变量和方法的软件集。对象经常用于建立现实世界中我们身边的一些对象的模型。对象是理解面向对象技术的关键。对象的特性包括:(1)对象具有封装性。(2)对象具有自治性。(3)对象具有通信性。(4)对象具有被动性。(5)对象具有暂存性。2.1.3 2.1.3 类类类的确定和划分没有一个统一的标准和方法,基本上依赖于设计人员的经验、技巧以及对实际项目中问题的把握。通常的标准是“寻求共性、抓住特性”,即在一个大的系统环境中,寻求事物的共性,将具有共性的事物用一个类进行表述,在用具体的程序实现时

    21、,具体到某一个对象,要抓住对象的特性。确定一个类的步骤通常包含以下方面。(1)确定系统的范围。(2)在系统范围内寻找对象,该对象通常具有一个和多个类似的事物。(3)将对象抽象成为一个类,按照上面类的定义,确定类的数据和操作。2.1.4 2.1.4 消息与事件消息与事件1.消息所谓消息,是指描述事件发生的信息,是对象间相互联系和相互作用的方式。一个消息主要由五部分组成:消息的发送对象、消息的接收对象、消息的传递方式、消息内容、消息的返回。传入消息内容的目的有两个,一个是让接收请求的对象获取执行任务的相关信息,另一个是行为指令。2.事件所谓事件,通常是指一种由系统预先定义而由用户或系统发出的动作。

    22、事件作用于对象,对象识别事件并作出相应的反应。与对象的方法集可以无限扩展不同,事件的集合通常是固定的,用户不能随便定义新的事件。但是现代高级语言中可以通过一些其他技术在类中加入事件。我们通常所熟悉的一些事件,比如Click,鼠标左键单击对象时发生的事件;Load,当界面被加载到内存中时发生的事件等。【任务描述】【任务描述】研究面向对象的三大特征:封装、继承、多态,这些特征保证了程序的安全性、可靠性、可重用性和易维护性。随着技术的发展,把这些思想用于硬件、数据库、人工智能技术、分布式计算、网络、操作系统等领域,越来越显示出其优越性。【任务目标】【任务目标】掌握面向对象的三大基本特征,深刻理解封装

    23、、继承和多态的含义。2.2.1 2.2.1 封装封装(Encapsulation)(Encapsulation)封装就是把对象的状态和行为绑到一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的内部细节。通过公共访问控制器来限制对象的私有属性,有以下好处:避免对封装数据的未授权访问。当对象为维护一些信息,并且这些信息比较重要,不能够随便向外界传递,这个时候,只需要将这些信息属性设置为私有的即可。帮助保护数据的完整性。当对象的属性设置为公共访问的时候,代码可以不经过对象所属类希望遵循的业务流程而去修改对象的值,对象很容易失去对其数据的控制。当类的私有方法必须修改时,限制了对整个应用程序内

    24、的影响。2.2.2 2.2.2 继承继承(Inheritance)(Inheritance)继承是一种使用户得以在一个类的基础上建立新的类的技术。新的类自动继承旧类的属性和行为特征,并可具备某些附加的特征或某些限制。继承是一种连接类与类之间的层次模型。继承是指特殊类的对象拥有其一般类的属性和行为。继承意味着“自动地拥有”,即在特殊类中不必重新对已经在一般类中定义过的属性和行为进行定义,而是自动地、隐含地拥有其一般类的属性和行为。继承对类的重用性提供了一种明确表述共性的方法。2.2.3 2.2.3 多态多态(Polymorphism)(Polymorphism)多态是指两个或多个属于不同类的对象

    25、对于同一个消息或方法调用所做出不同响应的能力。面向对象设计也借鉴了客观世界的多态性,体现在不同的对象可以根据相同的消息产生各自不同的动作。下图就是多态性的表现。【任务描述】【任务描述】我们在解决问题之前首先要理解所要解决的问题,对问题理解得越透彻,就越容易解决它。为了更好地理解问题,通常采用建立问题模型的方法。【任务目标】【任务目标】掌握面向对象建模的概念,理解软件建模的原因、目的及原则,掌握面向对象建模的三种模型,能够对实际问题进行建模。2.2.3 2.2.3 面向对象的建模概述面向对象的建模概述1.模型所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。(1)

    26、模型是对现实世界的简化。(2)模型是对问题的抽象。(3)模型是为了简化问题而做出的一种抽象。(4)模型是对问题的书面上的、图形或文字的、无歧义的描述。2.建模建模即建立模型,实际上,建模就是要寻求和种简明易懂的语言,该语言能够清晰、准确、完整地表达对问题的认识,在此基础上,以该语言为媒介,彼此沟通,构造出未来系统的模型,通过该模型看到未来系统的静态和动态的样子,使人们在建造出实际系统之前就能够全面了解未来系统,减少返工、出差错的可能性。3.建模的目的(1)模型能够可视化软件系统。(2)模型能够说明软件系统的结构和行为。(3)模型能够构造软件系统。(4)模型能够文档化软件系统。4.建模的原则(1

    27、)选择好的模型,有利于问题的解决。(2)每个模型可以表达到不同的抽象程序,选择适当的抽象层次,有利于对问题的理解。(3)最好的模型应该和现实相联系。(4)一个模型往往仅仅对现实的一个方面建模,使用多个模型对现实的多个方面建模。2.3.2 2.3.2 对象模型对象模型 对象模型表示系统静态的数据结构,是对模拟客观世界实体的对象以及对象彼此间的关系的映射,表达了系统是由哪些对象构成,对象与对象间的关系怎样,每个对象有哪些属性和方法。它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。面向对象方法强调围绕对象而不是围绕功能来构造系统。对象模型为建立动态模型和功能模型,提供了

    28、实质性的框架。2.3.3 2.3.3 动态模型动态模型 动态模型表示系统的控制结构,是对模拟客观世界实体的对象类以及对象类彼此间的相互作用的映射,表达了对象类的状态变化,以及对象间的消息传递过程,描述了对象模型中的对象的合法变化序列。2.3.4 2.3.4 功能模型功能模型 功能模型表示系统的功能性质,指明系统应该完成哪些功能,直接表明了系统为外界所提供的服务,也就是用户对目标系统的需求。2.3.5 2.3.5 三种模型之间的关系三种模型之间的关系在面向对象方法学中,对象模型是最基本最重要的,它为其他两种模型奠定了基础,我们依靠对象模型完成 3 种模型的集成。三种模型之间的关系总结如下:(1)

    29、针对每个类建立的动态模型,描述了类实例的生命周期或运行周期。(2)状态转换驱使行为发生,这些行为在数据流图中被映射成处理,它们同时与对象模型中的服务相对应。(3)功能模型中的处理(或用例)对应于对象模型中的类所提供的服务。通常,复杂的处理(或用例)对应于复杂对象提供的服务,简单的处理(或用例)对应于更基本的对象提供的服务。有时一个处理对应多个服务,也有个服务对应多个处理的时候。(4)数据流图中的数据存储,以及数据的源点/终点,通常是对象模型中的对象。(5)数据流图中的数据流,住往是对象模型中的对象的属性值,也可能是整个对象。(6)用例图中的行为者,可能是对象模型中的对象。(7)功能模型中的处理

    30、(或用例)可能产生动态模型中的事件。(8)对象模型描述了数据流图中的数据流、数据存储以及数据源点/终点的结构。【任务描述】【任务描述】面向对象程序设计语言趋于成熟,作为一种新的程序模式开始为社会所关注,为更多的人们所理解和接受。这一成就促使研究者把一部分注意力转向更广、更深层次的研究。首先,把面向对象的思想用于设计阶段,于是有了面向对象的设计;更进一步,又把面向对象的思想用于分析阶段,产生了面向对象的分析。【任务目标】【任务目标】学会面向对象的分析方法,学会面向对象的设计方法。2.4.1 2.4.1 面向对象的分析面向对象的分析面向对象分析就是抽取和整理用户需求并建立问题域精确模型的过程。面向

    31、对象分析的关键,是识别出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。面向对象的分析过程如下图所示:2.4.2 2.4.2 面向对象的设计面向对象的设计面向对象设计是把分析阶段得到的需求转变成符合成本和质量要求的抽象的系统实现方案的过程。从面向对象分析到面向对象设计是一个逐渐扩充模型的过程。1.面向对象设计的准则(1)模块化。(2)抽象。(3)信息隐藏。(4)低耦合。(5)高内聚。2.面向对象设计的启发规则(1)设计的结果应该清晰易懂。(2)一般到具体结构的深度应适当。(3)尽量设计小而简单的类。(4)使用简单的消息协议。(5)使用简单的函数或方法。(

    32、6)把设计变动减至最小。3.系统设计(1)分解系统。(2)确定并发性。(3)处理器及任务分配。(4)数据存储管理。(5)全局资源的处理。(6)选择软件控制机制。(7)人机交互接口设计。【单元小结单元小结】在本单元中,我们介绍了有关面向对象技术的基本概念,这有助于我们使用面向对象技术实现软件系统的建模工作。同时先后介绍了面向对象的三大基本特征和面向对象建模的基本概念与三种模型之间的关系,最后介绍了面向对象分析和设计的一般步骤。本单元是对UML建模的面向对象的概念等进行的总体描述,重点是面向对象的特征以及面向对象设计的方法。【概念复习】【概念复习】对象、类、消息、事件、封装、继承、多态、对象模型、

    33、动态模型、功能模型、面向对象的分析、面向对象的设计【习题练习】【习题练习】1.填空题(1)是面向对象技术领域内占主导地位的标准建模语言,它统一了过去相互独立的数十种面向对象的建模语言共同存在的局面,形成了一个统一的、公共的、具有广泛适用性的建模语言。(2)类是具有相同_ _和_ _的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。(3)面向对象程序的三大特征是 、和 。(4)面向对象方法中的 机制使子类可以自动地拥有(复制)父类全部属性和操作。(5)面向对象的系统分析要确立的三个系统模型是 、和 。2.选择题(1)在软件工程学中,我们把具有相同属性和服务的一组对象的集合定义为()。

    34、A.类 B.属性 C.对象 D.消息(2)下列关于类与对象的关系说法正确的是()。A.有些对象是不能被抽象成类的B.类给出了属于该类的全部对象的抽象定义C.类是对象集合的再抽象D.类是用来在内存中开辟一个数据区,存储新对象的属性(3)通过执行对象的操作改变该对象的属性,但它必须通过()来执行。A.接口 B.消息 C.信息 D.操作(4)在面向对象方法学中,信息隐蔽的实现是通过对象的()。A.分类性 B.继承性 C.封装性 D.共享性(5)面向对象的主要特征除对象唯一性、封装性、继承性外,还有()A.多态性 B.完整性 C.移植性 D.兼容性(6)面向对象分析阶段建立的三个模型中,其核心模型是(

    35、)。A.功能模型 B.动态模型 C.对象模型 D.分析模型【问题思考】【问题思考】1.试述对象和类的关系。2.面向对象建模的方法。3.面向对象的分析中,如何书写需求陈述?【单元目标】【单元目标】1.了解UML的发展历史。2.掌握UML的主要内容。3.了解UML的特点与应用领域。4.学会一种UML开发工具。5.掌握UML语言的基本组成元素。【任务描述】【任务描述】UML为面向对象软件设计提供统一的、标准的、可视化的建模语言,广泛适用于各种应用领域,并得到了工业界的广泛支持,成为标准建模语言。本小节进行UML基础知识的学习。【任务目标】【任务目标】了解UML的发展,掌握UML的主要内容,学会UML

    36、开发工具的使用。3.1.1 UML3.1.1 UML的发展的发展UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言,它融入了软件工程领域的新思想、新方法和新技术。它的作用域不仅支持面向对象的分析和设计,还支持从需求分析开始的软件开发的全过程。UML的发展过程如下图所示:3.1.2 UML3.1.2 UML的内容的内容1.UML定义作为一种建模语言,UML 的定义包括UML语义和UML表示法两个部分。UML语义:描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外,

    37、UML还支持对元模型的扩展定义。UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法,以及为系统建模均提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。2.UML中的图形UML 描述了一个系统的静态结构和动态行为。UML可以对任何具有静态结构和动态行为的系统进行建模。静态结构定义了系统中的重要对象的属性和操作以及这些对象之间的相互关系。动态行为定义了对象的时间特性和对象为完成目标而相互进行通信的机制。UML提供了以下这些图形。3.1.3 UML3.1.3 UML的特点的特点1.统一的建模语言2.支持面向对象3.支持可视化建模4.

    38、强大的表达能力3.1.4 UML3.1.4 UML的应用领域的应用领域UML的目标是以对象模型为基础描述任何类型的系统,具有很宽的应用领域,包括常用的建立软件系统的模型,也可描述非软件领域的系统,如机械系统、企业机构或事务过程。总之,UML 作为通用的标准建模语言,可对任何具有静态结构和动态行为的系统进行建模。【任务描述】【任务描述】UML工具是帮助软件开发人员方便使用UML的软件,它的主要功能包括:支持各种UML模型图的输入、编辑和存储;支持正向工程和逆向工程;提供和其他开发工具的接口。不同的工具提供的功能不同,各个功能实现的程序也不同。使用Rational Rose工具进行UML建模基本操

    39、作。【任务目标】【任务目标】了解主要的UML建模工具,学会Rational Rose的安装和使用。3.2.1 UML3.2.1 UML主要工具介绍主要工具介绍1.Rational Rose2.Enterprise architect3.JUDE4.StarUML5.Visio3.2.2 Rational Rose3.2.2 Rational Rose简介简介1.Rational Rose的安装(1)双击启动Rational Rose 2003的安装程序,进入安装向导界面,如下图所示。(2)单击“下一步”按钮,进入产品选择界面,如下图所示。选择第二项,即Rational Rose Enterpr

    40、ise Edition。(3)单击“下一步”按钮,进入部署方法选择界面,如下图所示。使用其默认的选项,即Desktop installation from CD image。(4)单击“下一步”按钮,开始加载安装包,之后进入下图所示的界面。(5)单击Next按钮,进入下图所示的产品声明界面。(6)继续单击Next按钮,进入下图所示的协议许可界面。选择I accept the terms in the license agreement单选项。(7)继续单击Next按钮,进入下图所示安装路径设置界面。可以单击Change按钮修改安装路径。(8)安装路径设置完成后,单击Next按钮进入下图所示自定

    41、义安装设置界面。用户可以根据需要进行选择。(9)继续单击Next按钮,进入下图所示开始安装界面。(10)单击Install按钮开始安装,直到系统安装完毕。(11)单击Finish按钮,弹出注册对话框,如下图所示,要求用户对软件进行注册。用户可以选择多种注册方式,如果是试用版则不用注册。2.Rational Rose的启动(1)单击“开始”“程序”Rational SoftwareRational Rose Enterprise Edition命令,得到启动界面。(2)如果模型中涉及具体的编程语言,则需要选择相应编程语言的模板;如果暂时不需要任何模板,则直接单击Cancel(取消)按钮。3.Ra

    42、tional Rose的主界面Rose的工作区主要由4个部分组成:列表区(用于快速浏览模型中的各个视图及其组件)、编辑区(用于绘制图形)、文档区(用于编辑与各组件相关的说明性文字)、日志区(记录对模型所做的重要动作)。【任务描述】【任务描述】UML语言是由构造元素(基本构造块)、规则和公共机制构成。构造元素描述事物的基本元素,这些基本元素按某种规则关联在一起组成图;同时,这些基本元素都遵循通用规则,即公共机制。【任务目标】【任务目标】了解UML语言的组成结构,掌握UML语言的基本元素,掌握UML的图和视图及公共机制。3.3.1 UML3.3.1 UML语言组成语言组成1.构造元素构造元素包括基

    43、本元素、关系和图。这3种元素代表了软件系统或业务系统中的某个事物或事物间的关系。2.规则构造元素应该具有命名、范围、可见性、完整性和执行等属性。规则是对软件系统或业务系统中的某些事物的约束或规定。3.公共机制公共机制包括详述、修饰、通用划分、扩展机制等,它是指适用于软件系统或业务系统中每个事物的方法或规则。UML语言的组成结构如下图所示。3.3.2 UML3.3.2 UML基本元素基本元素UML基本元素分为4类:结构元素、行为元素、分组元素和注释元素。1.结构元素结构元素定义了业务或软件系统中的某个物理元素,描述事物的静态特征。结构元素常用名词来表示。结构元素有7种:类和对象、接口、主动类、用

    44、例、协作、构件、节点。类的表示:对象的表示:接口的表示:主动类Radio的表示:用例“销售房产”的表示:用例“销售房产”,用协作“销售房产”表示:构件是用带有两个小方框的矩形来表示:节点Server的表示方法:交互的表示方法:“等待”状态的表示方法:“数据访问”包的表示方法:注释符号的表示方法:3.3.3 3.3.3 关系元素关系元素在UML中共定义了24种关系,如表3-2所示。1.关联关系在关联关系中,有两种比较特殊的关系,它们是聚合关系和组合关系。聚合关系和组合关系是更具体的关系。(1)聚合关系。(2)组合关系。2.泛化关系泛化关系描述了从特殊事物到一般事物之间的关系,也就是子类到父类之间

    45、的关系。从父类到子类的关系,则是特化关系。泛化关系的表示方法如图3-29所示。3.实现关系实现关系是用来规定接口和实现接口的类或组件之间的关系。实现关系是从类指向接口的带空心箭头的虚线表示,如图3-30所示。4.依赖关系有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。依赖关系用一个带箭头的虚线表示,如图3-31所示。5.扩展关系扩展表示把一个构造型附加到一个元类上,使得元类的定义中包括这个构造型。它是一种UML提供的底层的扩展机制,与用例之间的扩展(Extend)关系是不同的。扩展关系用一个带箭头的实线表示,如图3-3

    46、2所示。3.3.4 3.3.4 图和视图图和视图在UML 2.0中共定义了13种图,比UML 1.0新增了3种。表3-3列出了这13种图及其功能。一个图只能反映系统中某个侧面和特征,多个图结合在一起可以反映系统的某些侧面和多个特征。我们把能反映系统某些侧面和特征的多个图的集合称为视图。在UML参与手册第2版中,将UML图划分为四大领域9种视图,如表3-4所示。从使用的角度来看,将UML的13种图分为结构模型(也称为静态模型)和行为模型(也称为动态模型)两大类。这里讲的结构和行为其含义与前面所说的是有一定区别的:前者是从定义角度,后者则是从使用角度,其分类如图3-33所示。3.3.5 3.3.5

    47、 规则和机制规则和机制1.规则在UML中,构造元素在使用时应该遵守一系列规则,这些规则指导人们如何将构造元素连接成为一个模型。2.公共机制以图的方式建立模型是不够的,还要按一定要求进行详细说明和解释,从而构成完整的模型。公共机制指适用于软件系统或业务系统中每个事物的方法或规则。公共机制可以使模型更容易理解。用具体的可视性的符号修饰元素(在类图中属性和方法前加上公共性或私有性的修饰符“+”和“-”),用斜体字表示抽象类。如图3-35所示。在面向对象设计中,有许多事物可以划分为抽象的描绘和具体的实例、接口和实现这两种存在形式。UML的通用划分,即对UML元素进行分类,包括两种分类方法:类与对象、接

    48、口与实现。类与对象:类是一种抽象、一个模型;对象是类的实例。接口与实现:接口是一种声明、是一个合同、一个计划;实现则是完成一个计划、一个合同、执行声明。构造型构造型就是构造一种新的UML元素,例如,我们构造一个元素exception,用该元素来表示软件的异常。有三种构造方法,如图3-36所示。标记值标记值是用来为事物(元素)添加新特征的。标记值的表示方法是用形如:“标记信息”的字符串表示。标记信息通常由名称、分隔符和值组成。标记值是对元素属性的表示,因此,标记值是放在UML元素中的。如图3-37所示。【单元小结单元小结】在本单元中,介绍了UML语言的基础知识。首先介绍UML的基本概念、发展历史

    49、、主要内容和应用领域,接着介绍了UML常用工具Rational Rose,最后对UML语言进行了比较详细的介绍。通过本单元的学习,我们对UML有了一定的认识和了解,为后面各单元的学习打下良好的基础。【概念复习】【概念复习】UML、基本元素、关系元素、视图、规则、机制【习题练习】【习题练习】1.填空题(1)作为一种建模语言,UML 的定义包括_和_两个部分。(2)UML语言由3部分组成,它们分别是_、_、_。(3)UML的基本元素分为4类,分别是_、_、_和_。(4)UML中定义了4种可见性规则,分别是_、_、_和_。(5)UML语言中定义了4种公共机制,分别是_、_、_和_。2.选择题(1)如

    50、果要描述一个类的语义,则应该采用()。A.标记值 B.规格描述C.注释 D.构造型(2)图示 表示()关系。A.依赖 B.聚集 C.泛化 D.实现【问题思考】【问题思考】1.常用的UML工具有哪些?各有什么特点?不局限于教材中提到的,可以通过网络查找相关的知识。2.Rational Rose提供了几种视图?分别是哪些?3.Rational Rose中支持哪些UML图?4.Rational Rose所支持的UML图分别可以建模在哪种视图中?5.查阅相关资料,分组讨论UML在应用中所起的作用。【单元目标】【单元目标】1.理解类和对象的概念。2.学会设计和使用类图的方法。3.掌握类与类之间四种关系的

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:UML统一建模项目教程138886[334页]课件.ppt
    链接地址:https://www.163wenku.com/p-3371028.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库