第2章 UML通用知识点概述分解
- 格式:ppt
- 大小:346.50 KB
- 文档页数:29
UML基本概念与语法解析软件开发是一个复杂而繁琐的过程,为了更好地组织和管理这个过程,人们发明了一种通用的建模语言——UML(Unified Modeling Language)。
UML提供了一套丰富的图形符号和规则,用于描述和分析软件系统的结构、行为和交互。
在本文中,我们将深入探讨UML的基本概念和语法,帮助读者更好地理解和应用UML。
首先,让我们从UML的基本元素开始。
UML中最重要的元素是类(Class),它是描述对象的属性和行为的基本单位。
类可以用矩形图形表示,矩形中包含类的名称、属性和方法。
属性表示类的特征,方法表示类的行为。
除了类,UML还提供了其他重要的元素,如接口(Interface)、对象(Object)和关联(Association)等。
接口用来定义类的行为规范,对象表示类的实例,而关联则描述类之间的关系。
在UML中,类之间的关系是非常重要的。
UML提供了多种关系类型,如继承(Inheritance)、关联(Association)、聚合(Aggregation)和组合(Composition)等。
继承表示一个类从另一个类继承属性和方法,关联表示两个类之间的关系,聚合表示一个类包含另一个类的实例,而组合则表示一个类包含另一个类的实例,并且这个实例的生命周期与包含它的类相同。
通过使用这些关系,我们可以更好地描述和分析软件系统的结构和行为。
除了类和关系,UML还提供了多种图形符号来表示软件系统的结构和行为。
其中最常用的图形符号是用例图(Use Case Diagram)、类图(Class Diagram)和序列图(Sequence Diagram)。
用例图用来描述软件系统的功能需求,类图用来描述软件系统的静态结构,而序列图则用来描述软件系统的动态行为。
通过使用这些图形符号,我们可以更直观地理解和交流软件系统的设计和实现。
在使用UML进行软件开发过程中,我们还需要遵守一些基本的语法规则。
UML各章知识点小结第一章面向对象分析和设计在OO开发中,至关重要的能力是什么?为软件对象分配职责什么是分析?▪强调的是对问题和需求的调查研究,而不是解决方案▪澄清两个概念:需求分析:对需求的调查研究面向对象分析:对领域对象的调查研究什么是设计?▪强调的是满足需求的概念上的解决方案(在软件方面和硬件方面),而不是其实现。
面向对象分析(做正确地事)▪强调的是在问题领域内发现和描述对象(或概念)面向对象设计(正确地做事)▪强调的是定义软件对象以及它们如何协作以实现需求。
OOAD 最关心流程与元件1. 描述流程(剧情) ---- 分析2. 安排主/配角(元件)演出---- 设计OOAD 最主要的工具UML (Unified Modeling Language)第一章思维导图第二章迭代、进化和敏捷动机:迭代和进化式瀑布生命周期▪在编程之前就预先完成需求和设计步骤▪软件项目的高失效率迭代和进化式开发▪及早地引入编程和测试,并重复这一循环▪会在还没有详细定义所有需求的情况下假设开发开始▪使用反馈来明确和改进演化中的规格说明▪依赖于短时快速的开发步骤、反馈和改写来不断明确需求和设计▪软件项目的较高成功率什么是迭代和进化式开发如何在迭代项目中处理变更抱以接受变更和改写的态度,是迭代和进化式开发真正本质的驱动力!!迭代反馈和进化向预期系统的方向发展。
需求和设计的不稳定性随着时间逐步下降迭代开发的优点⏹减少项目失败可能性,提高生产率、降低缺陷率⏹在早期缓解高风险⏹早期可见的进展⏹早期反馈、用户参与和调整,会产生更接近涉众真实需求的精华系统⏹可控复杂性⏹一次迭代中的经验可以被系统地用于改进开发过程本身UP的阶段第三章案例研究案例研究中涵盖的内容☐一个应用程序通常包括:✓UI元素✓核心应用逻辑✓数据库访问✓与外部软硬件的协作用户界面应用逻辑层其它层或构件较少关注讨论如何与其它层连接案例研究主要关注讨论如何设计对象次要关注UP 思维导图敏捷开发 思维导图第四章初始不是需求阶段初始阶段是建立项目共同愿景和基本范围的比较简短的起始步骤它包括:▪10%的用例进行分析▪关键的非功能需求的分析▪业务案例创建▪开发环境的准备▪初始阶段需解决的问题:本项目的愿景(vision)和业务案例(business case)?可行性(Feasible)?购买/开发(Buy and/or build)?粗略估计成本(cost): 1万-10万,还是百万?项目是进行下去还是停止?什么是初始阶段用一句话来概括初始阶段:预见项目的范围、愿景和业务案例用一句话来概括初始阶段要解决的主要问题:涉众是否就项目愿景基本达成一致,项目是否值得继续进行认真研究。
UML系统建模基础教程课后答案第一章面向对象设计与UML1.填空题(1)UML(2)封装继承多态(3)继承(4)瀑布模型喷泉模型基于组件的开发模型XP开发模型2. 选择题(1)C(2)A B C D(3)A B C D(4)A B C(5)A3.简答题1.试述对象和类的关系。
(1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。
第二章UML通用知识点综述1.填空题(1)依赖泛化关联实现(2)视图图模型元素(3)实现视图部署视图(4)构造型标记值约束(5)规格说明修饰通用划分2. 选择题(1)D(2)C(3)A(4)A B(5)D3.简答题(1)在UML中面向对象的事物有哪几种?在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。
(2)请说出构件的种类。
构件种类有:源代码构件、二进制构件和可执行构件。
(3)请说出试图有哪些种类。
在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。
(4)请说出视图和图的关系。
视图和图是包含和被包含的关系。
在每一种视图中都包含一种或多种图。
(5)请简述UML的通用机制。
UML提供了一些通用的公共机制,使用这些通用的公共机制(通用机制)能够使UML在各种图中添加适当的描述信息,从而完善UML的语义表达。
通常,使用模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通用机制可以有效地帮助表达,帮助我们进行有效的UML建模。
UML提供的这些通用机制,贯穿于整个建模过程的方方面面。
前面我们提到,UML的通用机制包括规格说明、修饰和通用划分三个方面。
第三章Rational统一过程1.填空题(1)角色活动产物工作流(2)逻辑视图过程视图物理视图开发视图用例视图(3)设计开发验证(4)二维(5)周期迭代过程里程碑2.选择题(1)A B C D(2)A C D(3)A C D(4)A B C(5)A B C D3.简答题(1)请描述迭代过程有几个阶段。
UML知识点概述UML(Unified Modeling Language)是一种为面向对象软件系统的开发和设计提供标准化描述的语言。
它是一种图形化的语言,旨在帮助软件开发人员和系统分析师更好地理解、设计和构建现代软件系统。
UML包含了一系列的图形符号和规则,可以描述软件系统的结构、行为和交互。
本文将对UML的基本概念和知识点进行概述。
1.UML的历史与发展UML最初由Grady Booch、Jim Rumbaugh和Ivar Jacobson等软件工程领域的专家共同创建于1994年。
他们试图将各自开发的建模方法结合起来,形成一个统一的建模语言,以解决在软件开发过程中的沟通和理解问题。
UML从那时起逐渐成为业界标准,并于1997年被OMG(Object Management Group)正式接受为标准规范。
2.UML的基本元素UML主要包括结构图和行为图两种类型的图。
结构图用于描述系统的静态结构,行为图用于描述系统的动态行为。
UML的基本元素主要包括类、对象、接口、用例、活动、组件、节点等。
其中,类是UML中最基本的元素,它用于描述系统中的对象类型和对象之间的关系。
3.UML的结构图UML的结构图主要包括类图、对象图、组件图、部署图等。
类图用于描述系统中的类及之间的关系,包括类的属性和方法;对象图用于描述系统中对象之间的关系,主要用于实例化类图中的类;组件图用于描述系统的组件及其之间的关系;部署图用于描述系统的物理部署情况,包括系统的硬件和软件设备。
4.UML的行为图UML的行为图主要包括用例图、活动图、状态图、时序图、通信图、交互概述图等。
用例图用于描述系统的功能需求,包括系统的参与者和用例之间的关系;活动图用于描述系统中的活动过程,显示系统中各个活动之间的控制流程;状态图用于描述系统中对象的状态和状态之间的转换;时序图用于描述系统中对象之间的交互过程;通信图用于描述对象之间的消息传递关系;交互概述图用于描述多个交互图的关系。
第一章:1:Uml:中文名为统一建模语言。
(已纳入OMG标准,成为业务,应用和系统架构的标准可视化建模语言)2:uml的三大特性:UML是一种Language(语言);UML是一种Modeling(建模)Language;UML是Unified(统一)Modeling Language。
3:uml的发展现状:(1)已进入全面应用阶段的事实标准(2)应用领域正在逐渐扩展,包括嵌入式系统建模、业务建模、流程建模等多个领域(3)成为“生产式编程”的重要支持技术:MDA、可执行UML等4:模型是对现实的简化:常见的模型:生活相关:气象图、道路交通图、交通标志…:展示相关:建筑物模型、沙盘、公司总部的3D复制品…;数据分析相关:条形图、饼状图…;业务分析相关:组织结构图、跨职能流程图……;设计相关:建筑平面图、管线图、电路板设计图5:对于软件系统而言,涉及的模型主要是描述业务,业务规则,系统使用,运用程序,系统架构以及系统内交互的一种可视化表示方式。
6:建模的最大好处在于:更好的理解正在开发的系统。
7:建模的目的(1)帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化;(2)仅当需要模型时,才构建它建模的原则:选择要创建什么模型对如何动手解决问题和如何形成解决方案有着意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系的;单个模型是不充分的。
对每个重要的系统最好用一组几乎独立的模型去处理8:为什么使用UML建模,可以建立什么模型:(1)UML是一种统一的、标准化的建模语言(2)UML是一种应用面很广泛的建模语言10:草图与蓝图:蓝图一般是指采用CASE工具绘制的、正式的、规范的UML模型;草图则通常是指手工绘制的、规范度较低的在纸张的UML模型11:选择蓝图和草图的原则:大胆地绘制草图,尽可能基于草图进行讨论。
(一)用例图(1)要用好UML,要多多培养:(1)书面表达能力;(2)归纳总结能力;(3)“面向对象”的思维能力和抽象能力;(2)下面通过这个表格来总结一下我在需求分析工作中应用各种UML图的情况:(3)用例图:用例图源于Jacobson的OOSE方法,用例图是需求分析的产物,描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。
它的主要目的就是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系以及系统各个功能之间的关系。
它通过用例(Use Case)来捕获系统的需求,再结合参与者(Actor)进行系统功能需求的分析和设计。
用例图表达的是什么角色通过软件系统能做什么事情,我们可以使用用例图系统地表达软件系统的绝大部分需求。
(4)用例图有四部分组成:用例(Use Case)、参与者(Actor)、系统边界、关联参与者:在一个系统开发前,我们必定首先要确定系统的用户,系统的用户就是系统的参与者。
除此以外,我们还会想打,我们开发的系统与其他的系统有什么关联?因此,系统的参与者可分为两类,一类是人,包括系统的使用者、维护者等,另外一类是其他系统。
用例:用例(Use Case)是参与者(Actor)可以感受到的系统服务或功能单元。
任何用例都不能在缺少参与者的情况下独立存在。
同样,任何参与者也必须要有与之关联的用例,所以识别用例的最好方法就是从分析系统参与者开始,在这个过程中往往会发现新的参与者。
用例是有粒度的,用例的粒度指的是用例所包含的系统服务或功能单元的多少。
用例的粒度越大,用例包含的功能越多,反之则包含的功能越少。
系统边界:所谓系统边界是指系统与系统之间的界限。
把系统边界以外的同系统相关联的其他部分称之为系统环境。
关联:为了减少模型维护的工作量、保证用例模型的可维护性和一致性,可以在用例之间抽象出包含(Include)、扩展(Extend)和泛化(Generalization)这几种关系;包含关系是指用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。