




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象分析与设计(UML)授课教师:刘秉瀚联系电话:83716525Email:lbh@1UML课程——福州大学计算机系共69页,您现在浏览的是第1页!内容提要部分内容概要:介绍面向对象软件开发所使用的过程和技术,讲解UML的基础知识及其应用
1.基本概念和背景知识
2.UML语言详述
3.UML对象分析设计第二部分Rose的使用:介绍支持UML的CASE软件开发工具RationalRose第三部分学习实例:结合实例,应用面向对象思想,分析UML的应用方法与技巧2UML课程——福州大学计算机系共69页,您现在浏览的是第2页!参考书面向对象分析与设计(UML2.0版)[美]MikeO,Docherty著俞志翔译清华大学出版社介绍面向对象的软件开发所使用的过程和技术,描述了UML语言以及UML在面向对象的软件系统分析与设计中的应用UML基础、案例与应用
[美]JosephSchmuller著李虎王美英万里威译人民邮电出版社通俗易懂UML与RationalRose2002从入门到精通[美]WendyBoggsMichaelBoggs著邱仲潘等译电子工业出版社很大篇幅介绍Rose的使用,适于入门UML参考手册最经典的书籍,由三剑客编写,适于精通
3UML课程——福州大学计算机系共69页,您现在浏览的是第3页!资源链接中国UML论坛:.umlforum..umlchina.大量有关UML的资源和讨论Rational公司.rational.了解UML和Rose进展的站点资源链接4UML课程——福州大学计算机系共69页,您现在浏览的是第4页!基本概念及背景知识软件开发方法概述面向对象的系统分析与设计UML(UnifiedModelingLanguage)诞生5UML课程——福州大学计算机系共69页,您现在浏览的是第5页!方法学的优势开发中小型系统有助于对编码设置规则。增进对问题的理解,提高解决方案的质量。有助于在提交源代码之前找出概念错误和实践性的错误。能明确指定下一步工作。有助于编写出扩展性更高(可用于解决其他问题)、可靠性更高(容易修改)、更容易调试(有较多的说明)的代码。开发大型项目文档说明:开发的每个阶段提供全面的说明,完成的系统不会艰涩难懂。等待时间减少:由于工作流、活动的相互依赖性更容易理解,资源等待工作做的可能性也减少了。工作能及时交付,且不超过预算。人员之间有更好的交流:好的方法学建立在逻辑和常识的基础之上,所有参与者较容易抓住其根本,因此,开发更有序,误解和浪费资源的情况也较少。可重复性:类似项目可重用。更准确的成本。6UML课程——福州大学计算机系共69页,您现在浏览的是第6页!软件开发阶段的关键问题需求阶段:什么是我们的上下文?要达到什么目的?分析阶段:要处理什么实体?如何确保有正确的实体?系统设计阶段:如何解决问题?在完成的系统中需要什么硬件和软件?
子系统设计阶段:如何实现解决方案?源代码和支持文件有哪些?规范阶段:哪些规则控制着组件之间的接口?可以去除模糊,确保正确吗?实现阶段:如何编写符合规范要求的组件?如何编写漂亮代码?测试阶段:完成的系统满足要求吗?系统能否被攻破?部署阶段:系统管理员必须做什么?如何培训最终用户?维护阶段:可以找出和更正错误吗?可以改进系统吗?7UML课程——福州大学计算机系共69页,您现在浏览的是第7页!瀑布开发维护部署测试实现规范设计分析需求8UML课程——福州大学计算机系共69页,您现在浏览的是第8页!瀑布模型的缺点:僵化瀑布模型要求:各阶段要遵守严格的顺序。瀑布模型要求:预先定义并“冻结”软件需求。实际情况是:软件开发往往在反复实践中完成。实际情况是:某些系统的需求的一个逐渐明确的过程,且预先定义的需求到软件完成时可能已经过时9UML课程——福州大学计算机系共69页,您现在浏览的是第9页!螺旋式方法学规范分析设计需求实现测试部署维护在完成了一次循环后,就增进了对问题域和解决方案的理解,还使用户参与进来,这样用户就可以更正我们对最终系统中包含的事务或功能的误解。在经过三四遍的开发过程,完成系统后,就可以全面测试和部署系统了。10UML课程——福州大学计算机系共69页,您现在浏览的是第10页!迭代方法学规范分析设计需求实现测试部署维护允许重复各阶段,根据需要前后移动或来回移动。把软件从早期阶段传递给下述完备、使所有用户满足的整体系统。有三个原则避免混乱:经典阶段提醒我们应该在每个阶段做什么,向什么方向移动。经典阶段的工作中产生的制品(图、描述、代码等)不应抛弃,应在进入部署阶段的过程中逐步改进。支持所选方法学的软件生产工具和表示法有助于保持制品的一致性,并在一个地方保存所有制品。11UML课程——福州大学计算机系共69页,您现在浏览的是第11页!合并方法学在最高层上,根据递增式方法学,必须规划一系列递增部分。在每个递增部分,螺循式方法学建议,开发每个递增部分至少应进行二遍。在每一遍中,瀑布方法学制定了各个阶段和它们的顺序。在每一个子瀑布中,迭代式方法学允许重复各个阶段,直至满足需求为止。迭代式方法学还允许一发现问题就更正它。时间发布1.01.12.02.112UML课程——福州大学计算机系共69页,您现在浏览的是第12页!面向对象技术面向对象是一种新的软件工程方法,新的程序设计范型基本技术:使用对象、类、继承、封装、消息等基本概念进行程序设计和实现基本思想:尽可能地运用人类的自然思维方式来构造软件系统。现实世界的问题是由客观实体和实体之间的联系构成的,对象就是客观实体的抽象。13UML课程——福州大学计算机系共69页,您现在浏览的是第13页!面向对象的软件工程(OOSE)方法面向对象的分析(OOA)面向对象的设计(OOD)面向对象的编程(OOP)面向对象的测试(OOT)面向对象的维护(OOSM)14UML课程——福州大学计算机系共69页,您现在浏览的是第14页!2、人员交流与通讯障碍:
软件开发是一项创造性的思维活动,在软件开发过程中人员的交流十分频繁。软件开发项目的有关人员包括用户、领域专家、系统分析员、软件设计员、程序员、测试员、项目管理员等,需要经常交流,探讨系统的需求,明确软件成分的定义,协商系统的结构与衔接,进行工作的交接等,因而,软件工程是“面向人”的。
通讯障碍常是人员交流的一个困难。例如,用户、领域专家或项目管理员看不懂、不明白软件开发人员表达问题的概念、术语、表示法,反之亦然。
需要有一套通用的思维方法和便于交流的语言,包括系统的模型、术语、表示法、文档书写格式等。15UML课程——福州大学计算机系共69页,您现在浏览的是第15页!4、软件重用:软件重用是提高软件开发效率、改善软件质量的重要途径。正如一座房屋由许多门、窗、墙、楼板等构件构成,一台机器由许多零部件构成一样,一个软件系统也是由许多软件构件构成的,其中很大部分可以复用已有的软件构件,无须重复设计和编程。
需要解决重用构件的提取和制作、重用构件库的组织、重用构件的检索、重用构件的组装等技术问题。16UML课程——福州大学计算机系共69页,您现在浏览的是第16页!面向对象的软件开发语言与工具1981推出的Smalltalk-80面向对象的C/C++、Basic、Pascal、Fortran、Lisp、ADA、Java等MicroSoft公司的VisualC++、VisucalBasic计算机辅助软件工程(CASE—ComputerAidedSoftwareEngineering)RationalRose—一个面向对象的且支持UML的CASE工具17UML课程——福州大学计算机系共69页,您现在浏览的是第17页!什么是对象?(Object)一个对象代表了一个现实的或虚构的实体自然实体(有形)概念实体(无形)化学过程生产计划18UML课程——福州大学计算机系共69页,您现在浏览的是第18页!在面向对象软件中,真实世界中的对象会转化为代码。在编程术语中,对象是独立的模块,有自己的数据和操作。Person对象:有头衔、名字、出生日期和地址,它还可以改名,搬到新地址,告诉我们它有多大等。
如果以后需要知道Person身高,就可以把身高的知识和相关的行为直接添加到Person代码中。在系统的其余部分中,只有需要身高属性的代码才需要修改,其余代码保持不变。面向对象软件的重要特征:改变的简单性和本地化。电视机对象呢?-----改变其价格?给自己做一个新广告?
如果电视机不做这些工作,系统的其余部分就要做。问题:电视的特性泄漏给代码的其余部分,违背简单性和本地化。19UML课程——福州大学计算机系共69页,您现在浏览的是第19页!类的示例
StructureNameAddressPositionSalaryStartDateEndDateClassEmployeeBehaviorHireFirePromoteIncreaseSalaryRetire20UML课程——福州大学计算机系共69页,您现在浏览的是第20页!对象的类您看到了几个类?21UML课程——福州大学计算机系共69页,您现在浏览的是第21页!属性取决于视点从销售人员的角度
型号价格颜色里程数从维修人员的角度马达类型传动类型维修记录一辆汽车具有的属性:22UML课程——福州大学计算机系共69页,您现在浏览的是第22页!操作取决于视点从销售人员的角度
处理客户定单准备销售合同加入清单从清单中删除从维修人员的角度
测试刹车修理刹车转动轮胎检查马达速度一辆汽车具有的操作:23UML课程——福州大学计算机系共69页,您现在浏览的是第23页!类和对象的关系每一个对象都是某一个类的实例每一个类在某一时刻都有零个或更多的实例类是静态的;它们的存在、语义和关系在程序执行前就已经定义好了对象是动态的;它们在程序执行时可以被建立和删除24UML课程——福州大学计算机系共69页,您现在浏览的是第24页!继承(Inheritance)子类(特化类、派生类)可以自动拥有父类(基类、泛化类、超类)的属性和操作。例如:“洗衣机”、“冰箱”、“电视机”公共的属性:开关、电线“家用电器”公共的操作是:开机、关机则:“家用电器”类是父类“洗衣机”、“冰箱”、“电视机”等是子类继承可以提高软件的可重用性。25UML课程——福州大学计算机系共69页,您现在浏览的是第25页!封装(Encapsulation)将属性和操作包装成一个单元,使得对状态的访问和修改只能通过封装提供的接口进行。封装体现了面向对象方法的“信息屏蔽与局部化”的原则。26UML课程——福州大学计算机系共69页,您现在浏览的是第26页!关联(Association)关联:对象之间所存在的联系。联系:分类关系(一般与特殊),聚集和组成关系(部分与整体),属性之间的静态联系(实例连接),对象行为的动态联系(消息连接)。多重性:关联中一个类的对象可以对应另一个类的多个对象。27UML课程——福州大学计算机系共69页,您现在浏览的是第27页!面向对象分析问题论域分析发现和定义对象和类识别对象的外部联系建立系统的静态结构模型建立系统的动态行为模型28UML课程——福州大学计算机系共69页,您现在浏览的是第28页!面向对象分析(2)
---发现和定义对象和类
识别对象和类,确定它们的内部特征:属性和服务操作。这是一个从现实世界到概念模型的抽象过程,是认识从特殊到一般的上升过程。例如,系统中的对象是现实世界中事物的抽象,对象的属性是事物的静态特征的抽象(数据抽象),对象的服务是事物动态特征的抽象(过程抽象),对象的类是对象的抽象,一般类是特殊类的抽象等等。29UML课程——福州大学计算机系共69页,您现在浏览的是第29页!面向对象分析(4)
---建立系统的静态结构模型分析系统的静态结构,建立系统的静态结构模型,并把它们用图形和文字说明表达出来。这主要是在前面对于类和对象,及其联系的分析的基础上,绘制对象类图和对象图、系统与子系统结构图等,编制相应的说明文档。30UML课程——福州大学计算机系共69页,您现在浏览的是第30页!面向对象分析---总结OOA对系统行为的分析以对象为单位,包括对象的服务操作,对象之间的交互、工作流、事件流、消息传递、对象状态转换等。现实世界中的事物的行为是及其复杂的,需要从中抽象出对建立系统模型有意义的行为。在分析中需要控制系统行为的复杂性,应当注意确定行为的归属和作用范围,确定事物之间的行为依赖关系,区分主动和被动,认识并发行为和状态对行为的影响。系统的静态结构模型和动态行为模型,以及必要的需求分析说明书、系统分析说明书一起构成了系统的分析模型,即对象模型。它是系统分析活动的成果,是下一步进行系统设计的基础。31UML课程——福州大学计算机系共69页,您现在浏览的是第31页!面向对象设计(1)
---设计对象与类在OOA的对象模型的基础上具体设计对象与类的属性、服务操作(设计数据结构和操作的实现算法),设计对象与类的各种外部联系的实现结构,设计消息与事件的内容、格式等。类和对象的设计可以并且应当充分利用预定义的系统类库或其它来源的现有的类,把它们加入到解决方案中去,并采用继承、复用、演化等方法设计所需要的新类。32UML课程——福州大学计算机系共69页,您现在浏览的是第32页!面向对象设计(3)
---设计问题论域子系统问题域子系统应包括与应用领域的业务直接有关的全部的类和对象。OOD继承OOA对问题域的分析工作,适当地进行改进和补充,对OOA模型中的某些类、对象、结构、属性、操作进行调整,根据软件实现的要求增加必要的类、属性和联系。例如,把问题域的专用类关联在一起,建立类层次;为公共操作建立一般类;调整继承的表示结构等。在设计中应当考虑对时间与空间的折衷与权衡,以及内存管理等问题。33UML课程——福州大学计算机系共69页,您现在浏览的是第33页!面向对象设计(5)
---设计数据管理子系统
数据管理子系统负责数据的管理,包括数据的录入、操纵、检索、存储,以及对数据的访问控制等。设计数据管理子系统的主要任务是:确定数据管理的方法,设计数据库与数据文件的逻辑结构和物理结构,设计实现数据管理的对象类。34UML课程——福州大学计算机系共69页,您现在浏览的是第34页!面向对象设计(7)
---设计优化,提高系统的性能
一个系统的质量和性能指标有多个,如运行速度、内存开销、资源占用等,它们的重要性是不同的,指标之间还存在着矛盾。例如,要求运行速度高常导致多用内存,多占资源。因此,应根据实际情况制定一个设计优化的折衷方案,进行系统优化,提高系统的性能和质量。35UML课程——福州大学计算机系共69页,您现在浏览的是第35页!UML的诞生从1995年起,著名的软件工程学家GradyBooch、IvarJacobson、JimRumbaugh携手合作、共同努力,综合了他们各自原创的面向对象的分析与设计方法,加以扩充改进,并汲取其他同类方法的优点,提出了统一建模语言UML。1997年被美国工业标准化组织OMG(ObjectManagementGroup)接受,并发布了UML的标准版本,提供给计算机业界使用。36UML课程——福州大学计算机系共69页,您现在浏览的是第36页!考试方式40%-------笔试60%-------课程设计37UML课程——福州大学计算机系共69页,您现在浏览的是第37页!软件开发方法概述
方法学(过程、方法):指开发项目通常应遵循的一系列规则,其中可能包含文档的描述、设计模式及其他按某种顺序产生的产品。38UML课程——福州大学计算机系共69页,您现在浏览的是第38页!软件开发中的经典阶段需求:需求捕获就是找出新软件要达到的目标,包含两方面:业务建模与系统需求建模。分析:分析表示理解我们要处理的商务。在设计解决方案之前,需要了解相关实体、它们的属性和相关关系。设计:在设计阶段,要确定如何解决问题。系统设计把系统分解为逻辑设计子系统(过程)和物理设计子系统(计算机和网络)。规范:规范是按合同设计的、至关重要的底层规则,用来描述编程组件的期望行为。如:需求阶段的结果是系统必须做什么的规范;分析的结果是我们要处理什么事务的规范,等。实现:编写代码,形成子系统。子系统之间协同工作,形成整个系统。测试:软件完成后,根据系统需求对其进行测试,检测系统是否符合最初目标。部署:将硬件和软件交付给最终用户,并提供手册和培训材料。维护:投入运行后,对系统进行修改和完善。39UML课程——福州大学计算机系共69页,您现在浏览的是第39页!软件开发方法概述瀑布方法学螺旋式方法学迭代式方法学递增式方法学合并方法学面向对象方法学40UML课程——福州大学计算机系共69页,您现在浏览的是第40页!瀑布模型的优点使早期的手工作坊式的软件开发转变为软件工程消除非结构化软件、降低软件复杂度有一套严格的计划、步骤、规格、方法,保证软件产品达到预期的质量要求20世纪70年代以来得到广泛的传播41UML课程——福州大学计算机系共69页,您现在浏览的是第41页!瀑布模型适用于:重复某种区别很小的开发。作为一个架构,来学习软件开发中使用不同的技术:尽管瀑布方法对于实际的开发来说过于简单,但仍包含逻辑顺序的经典阶段,适合于学习。是螺旋方法学中的一遍过程。作为支持迭代方法学的架构。用于开发人员较少的小项目的快速开发。如:原型、概念证明或快速应用程序开发等。42UML课程——福州大学计算机系共69页,您现在浏览的是第42页!与瀑布相比,问题少:用户参与整个生命周期;每个人都可以看到开发人员的工作;可以调整改动的次数和每次改动所花的时间;比较适合于软件开发的创新性。不完美之处:只是把瀑布开发过程进行了三四次,尽管问题越来越小,但并没有消失。不灵活,在经典阶段要按照有序的方式进行。如果发现错误,必须在下一遍开发过程中才能更正。螺旋式方法学43UML课程——福州大学计算机系共69页,您现在浏览的是第43页!递增式方法学在首次交付的系统版本(1.0)中,将包含最基本、最重要的功能。在以后的某个时间交付1.1版本,其中包含附加的功能(替代1.0)。之后,在对整体进行大的修改,交付2.0版本。这将延续至系统的生命周期。能满足不断变化的需求,适应市场的变化。时间发布1.01.12.02.144UML课程——福州大学计算机系共69页,您现在浏览的是第44页!软件设计准则认识抽象:建立软件的设计模型时常采用分层抽象的办法。在最高的抽象层次上,可以采用问题的环境语言概括地描述问题的解法;在较低层次上,则采用过程化的方法描述问题的解法。模块化:模块化把一个复杂的软件系统的设计问题转化为若干个较小的、容易处理的模块的设计问题,便于分别解决。信息屏蔽和局部化:信息隐蔽是指每个模块的实现细节(过程和数据)对于其它模块是隐蔽的和不能访问的。信息局部化是指把一切关系密切的软件元素物理地就近安置。结构化程序设计:采用自顶向下逐步求精方法。
基本控制结构:顺序、选择、循环。软件规范:当今国际和国内都制订了一系列的软件规范,对软件开发的目标、开发方法、开发过程、软件文档、质量标准等都给出了明确的规定。45UML课程——福州大学计算机系共69页,您现在浏览的是第45页!面向对象技术的基本观点客观世界是由对象组成的。具有相同类型数据和相同操作的对象可以归并为一类,对象是类的一个实例。类可以产生对象。类可以派生子类,子类继承父类的特性。对象之间通过消息传递相互联系。软件工程学家认为:面向对象=对象+类+继承+通讯46UML课程——福州大学计算机系共69页,您现在浏览的是第46页!传统软件系统分析与设计存在的问题
1、问题域和系统责任:
问题域是指待开发的系统的应用领域,也称为业务领域。系统责任是指待开发的系统应具备的职能。问题域与系统责任密切相关,但两者侧重点不同。
准确、透彻地理解问题域与系统责任是软件系统开发的首要任务。但要做到这一点很不容易,其原因有:软件开发人员往往不是领域专家,对业务领域的理解深度有限,而参与系统分析的领域专家又往往对软件开发的一些要求和方法不熟悉,难以恰当地归纳和提供软件系统分析所要求的领域知识。迫切需要有效的方法和工具能够简单明了地描述待开发软件的问题域与系统责任。47UML课程——福州大学计算机系共69页,您现在浏览的是第47页!3、系统需求变化:在软件开发过程中系统的需求常不断地发生变化。这种变化可能由多种原因引起。最常见的是用户对系统的要求发生了改变。在软件开发之初,用户对系统的需求认识可能不够深入,随着软件开发的进展,用户提出对早期的系统需求进行修改和补充;也可能是客观情况发生了变化,用户提出新的需求。其它如经费、技术因素、竞争因素等都可能引起系统需求的变化。一个好的软件开发方法和技术要能有效的应付系统需求的变化。48UML课程——福州大学计算机系共69页,您现在浏览的是第48页!面向对象方法的优点按照人类的自然思维方式,面对客观世界建立软件系统模型。有利于对问题域和系统责任的理解,有利于人员交流。对需求变化的适应性。把最稳定的部分,即对象作为构筑系统的基本单位,而把容易发生变化的部分,既属性与服务,封装在对象之内,对象之间通过接口联系,使得需求变化的影响尽可能地限制在对象内部。可维护性好。支持软件重用。对象所具有的封装性和信息屏蔽等特性,使它容易实现软件重用。类可以产生实例对象,对象类可以派生出新类,这些就实现了对象类的数据结构和操作代码的软构件重用。49UML课程——福州大学计算机系共69页,您现在浏览的是第49页!面向对象的系统分析与设计方法
---面向对象中的基本概念对象(Object)/类(Class)抽象(Abstraction)继承(Inheritance)多态性(Polymorphism)封装(Encapsulation)消息(Message)关联(Association)聚集(Aggregation)50UML课程——福州大学计算机系共69页,您现在浏览的是第50页!对象(对象技术围绕对象的概念来建立)对象从不同的角度有不同的含义问题论域:对象指现实世界中的一个事物。如:人、房屋、洗衣机等建模和实现:对象描述客观事物的一个实体,是构成系统的基本单元。对象特征:静态特征和动态特征问题论域:一个对象所包含的特性和行为系统:一个对象所包含的数据(属性)和使用这些数据的所有功能(操作)
对象属性:描述对象静态特征的数据项
对象操作:是对象动态特征的体现对象之间通过消息通信一个对象通过向另一个对象
发送消息激活某一个功能51UML课程——福州大学计算机系共69页,您现在浏览的是第51页!什么是类?(Class)类是对象的抽象,它给出了属于该类的全部对象的抽象定义。(从对象产生类)问题域:类是一组具有相同特性和行为的对象的通用定义系统:共同的特性通过属性表现出来(数据)共同的行为通过操作表现出来(功能)类是对象的模板,用它可以产生多个对象,一个具体的对象只是类的一个实例。(从类产生对象)在面向对象的系统分析与设计中,并不需要对逐个对象进行说明,而是着重描述代表一批对象共性的类52UML课程——福州大学计算机系共69页,您现在浏览的是第52页!类具有相同特征和操作的对象可以归到同一类中。在下面这副图中您看到了什么类?53UML课程——福州大学计算机系共69页,您现在浏览的是第53页!属性属性是类的特征或特性属性的值是某一特定对象的属性值在类中属性名必须是唯一的每一个类的实例都有为这个类定义的所有属性的值例如:银行帐户类属性帐号银行名称拥有者金额Mary的银行帐户属性值12345678FirstNationalBankMarySmith$1024.4854UML课程——福州大学计算机系共69页,您现在浏览的是第54页!操作对象的行为是由为此对象定义的一系列操作决定的操作访问或修改对象的属性值一个类的所有实例都可以使用在这个类中定义的操作55UML课程——福州大学计算机系共69页,您现在浏览的是第55页!属性和操作的标记法在类的图标中描述属性和操作通常只显示最重要的属性和操作,避免图形混乱属性显示在操作上方,操作的名字后跟有()班机flightNumberdatedeparturetimestatusrelease()takeOff()属性操作56UML课程——福州大学计算机系共69页,您现在浏览的是第56页!抽象(
Abstraction
)一个对象是现实世界中一个实体的抽象抽象是一种单一化的描述:
强调与给出应用有关的特性
抑制不相关的特性一个类是一组对象的抽象抽象通过注重主要的、与问题有关的特性,帮助我们处理复杂系统关键在于找出重要的、有关的类,以及每个类中重要、有关的操作和属性57UML课程——福州大学计算机系共69页,您现在浏览的是第57页!多态性(Polymorphism)在父类中定义的属性和服务为其子类继承后,可以具有不同的数据类型或表现出不同的行为。如:“打开一扇门”“打开一个银行帐号”“打开一段对话”等,虽然都是“打开”操作,但执行的是不同的行为动作。对建模者,多态性也很重要,它可以让建模者用客户的语言和术语与客户交流。有些术语可能导致操作词有多种不同的含义。理解多态性的概念可以让建模者省去发明新术语以及维护术语一致性的麻烦。多态性机制不但为软件的结构设计提供了灵活性,减少信息冗余,而且显著提高了软件的可复用性和可扩充性。58UML课程——福州大学计算机系共69页,您现在浏览的是第58页!消息(Message)对象间在交互中所传送的通讯信息。如:电视机,遥控器对象向电视机对象发送消息。59UML课程——福州大学计算机系共69页,您现在浏览的是第59页!面向对象的系统分析与设计方法面向对象分析(OOA-ObjectOrientedAnalysis)的主要任务是分析问题论域,找出问题解决方案,发现对象,分析对象的内部构成和外部关系,建立软件系统的对象模型。面向对象设计(OOD-ObjectOrientedDesign)的主要任务是根据已确立的系统对象模型,运用面向对象技术,进行系统软件设计。系统建模—软件开发中极其重要的环节。在系统分析阶段,建立系统的分析模型。在系统设计阶段,建立系统的设计模型。60UML课程——福州大学计算机系共69页,您现在浏览的是第60页!面向对象分析(1)
---问题论域分析分析应用领域的业务范围、业务规则和业务处理过程,确定系统的责任、范围和边界,确定系统的需求。在分析中需要着重对系统与外部用户和其它系统的交互进行分析,确定交互的内容、步骤和顺序。61UML课程——福州大学计算机系共69页,您现在浏览的是第61页!面向对象分析(3)
---识别对象的外部联系在发现和定义对象与类的过程中,需要同时识别对象与对象、类与类之间的各种外部联系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省郯城第三中学高一体育 足球:脚内侧传球教学实录 新人教版
- 毛织造企业融资策略考核试卷
- 林业政策法规研究考核试卷
- 投影设备在能源管理与节能改造的应用考核试卷
- 放射性矿物选矿的放射性污染治理技术考核试卷
- 搪瓷企业市场竞争力分析考核试卷
- 家居商场的家居购物考核试卷
- 木片加工中的刀具磨损与寿命评估考核试卷
- 前台文员的多任务处理能力提升计划
- 学校环保教育秋季计划
- 新版食品安全法解读(新食品安全法培训资料)
- 职工代表选举票样和登记表
- 切削液配制记录表
- 梁单元的几何非线性有限元法PPT
- 电厂粉煤灰储灰场施工组织设计(DOC89页)
- 单晶炉热场结构ppt课件
- 安全保卫实务实训教学大纲
- 《炼油设备培训》ppt课件
- 《广告学概论》教案
- 健康教育护理服务质量评价标准
- [合同协议]车辆挂靠协议书
评论
0/150
提交评论