软件工程(面向对象即UML)期末复习

目录

1、对象、类、接口,封装,继承,多态,消息,关联,组合,聚合,依赖,实现

2、用例相关概念:参与者,用例,框架用例

3、用例图相关概念:参与者与用例间关系,用例关系

4、类图:类图的作用,绘制方法,类之间的关系

5、活动图:概念,用法,画法

6、顺序图:概念,用途,画法

7、协作图:概念,用法,画法

8、状态图:概念,用法,画法

9、包图:概念,用途

10、组件图:概念,用途

扫描二维码关注公众号,回复: 16802664 查看本文章

11、部署图:概念,用途

12、对象图:概念,用途

13、各类UML图形,哪些是静态视图,哪些是动态视图


1、对象、类、接口,封装,继承,多态,消息,关联,组合,聚合,依赖,实现

(1)对象:对象是系统中描述客观事物的一个实体,他是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成

(2)类:类是具有相同属性和服务的一组对象的集合,他为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分;类代表一个抽象的概念或事务,对象是在客观世界中实际存在的类的实例;类体现了人们认识事物的基本思维方法:分类

(3)接口:接口描述了一个类或构件的服务(操作)集;接口描述了一个元素的外部可见行为

(4)封装:封装是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节

(5)继承:继承是指自雷可以自动拥有父类的全部属性和服务;继承通常又称为概括,子类的公共属性和操作归属于基类,并为每个子类共享,子类继承了基类的特征

(6)多态:多态性是指在父类中定义的属性或服务被子类继承后,可以具有不同的数据类型或表现出不同的行为

(7)消息:消息是对象发出的服务请求,一般包含消息名、提供服务的对象标识、服务标识、输入信息和应答信息等信息

(8)关联:本指事务之间存在的固有的牵连关系,在UML中,是对具有共同结构特征,关系和语义的对象之间的链接描述

(9)组合:是一种特殊形式的聚集,组合关系中的整体与部分具有同样的生存期

(10)聚合:是一种特殊形式的关联,它表示类之间的整体与部分的关系

(11)依赖:两个要素之间的因果关系,其中一个要素(独立要素)发生变化会影响另一个要素(依赖要素)的语义

(12)实现:实现是类元之间的语义关系,其中的一个类元指定了有另一个类元保证执行的契约

2、用例相关概念:参与者,用例,框架用例

(1)参与者:参与者是外部实体与系统交互过程中所扮演的角色;参与者与软件系统交换信息并使用软件系统的功能;参与者既可以是使用该系统的用户,也可以是与系统交互的其他外部系统、硬件设备或组织机构;一个用户扮演多种角色,需要多个参与者来表示同一个用户;多个用户使用目标系统时扮演统一角色,用单一参与者表示

(2)用例:从用户角度描述系统外部可见的功能和行为,是参与者与目标系统之间一次典型的交互作用,不反映功能的实现方式;参与者在系统帮助下完成某项业务功能,或达成某项业务目标;将系统功能描述成一系列事件,是参与者与系统间的交互动作序列,这些事件最终对参与者产生有价值的可观测结果;可以促进与用户沟通,理解正确的需求,同时也可以用来划分系统与外部实体的界限

(3)框架用例
框架用例是指宏观功能已基本明确但内容尚不完整的用例。引人框架用例的概念是为了满足需求获取过程中记录、表示细节尚未完全确定的用例的需要。按照前文所述的需求建模的抽象方法,先创建框架用例,通过若干框架性用例尽可能完整地覆盖软件需求面,待时机成熟后再填充其细节,而非一次性完成用例的所有细节,这是为了避免需求工程师过早地陷入细节而忽视全局。当然,在完成部分关键用例的所有细节后再提取其他不太重要的框架用例也是允许的。

3、用例图相关概念:参与者与用例间关系,用例关系

(1)参与者与用例间的关系

①参与者触发用例的执行,向用例提供信息或者从用例获取信息

②一个参与者~多个参与者,触发用例执行的执行者称为主动参与者,仅从用例获取信息的执行者称为被动参与者

③有向边还是无向边:有向边上的信息传递可能是双向的;强调被动参与者仅从用例获取信息;某个参与者是该用例的主要参与者

(2)用例之间的关系

①关联关系

②泛化关系

③包含关系

④扩展关系

4、类图:类图的作用,绘制方法,类之间的关系

(1)类图的作用:
类图描述面向对象软件系统的静态结构。类图的节点表示系统中的类及其属性和操作,类图的边表示类之间的关系。在需求获取或业务理解的过程中,类图可用于表达领域概念模型,即业务领域中的概念及概念之间的关系;在需求分析阶段,类图可用来表示软件需求模型的静态结构部分;在软件设计和实现阶段,类图表示软件的结构及详细设计。因此,类图的构造在面向对象分析与设计过程中处于核心地位。

(2)绘制方法:

①继承实现:用空心三角箭头表示。

记忆技巧:1、空心三角箭头表示继承或实现。

                  2、实线表示继承,是 is-a 的关系,表示扩展,不虚,很结实;

                  3、虚线表示实现,虚线代表“虚”无实体。

②关联依赖:用普通箭头表示。

记忆技巧:1、虚线表示依赖关系:临时用一下,若即若离,虚无缥缈,若有若无;表示一种使用关系,一个类需要借助另一类来实现功能;一般是一个类将另一个类作为参数使用,或作为返回值。

                2、实线表示关联关系:关系稳定,实打实的关系,铁哥们;表示一个类对象和另一个类对象有关联;通常是一个类中有另一个类对象作为属性。

③组合聚合:用菱形表示。

记忆技巧:1、菱形就是像是一个盛东西的器皿(比如盘子);

                   2、聚合:空心菱形,代表空器皿里可以放很多相同的东西,聚集在一起(箭头方向所指的类);整体和局部的关系,两者有独立的生命周期,是 has-a 的关系;弱关系,消极的词:弱-空。

                   3、组合:实心菱形,代表器皿里已经有实体结构的存在,生死与共;整体与局部的关系,和聚合关系对比,关系更加强烈;两者具有相同的生命周期,contains-a 的关系;强关系,积极的词:强-满。

注意:UML 类关系图中,没有实心箭头。

(3)类之间的关系

①常规关联

②限定关联

③关联类

④多元关联

⑤聚合和组合

⑥依赖

⑦泛化

⑧实现 

5、活动图:概念,用法,画法

(1)概念:活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程;活动图描述采取何种操作,做什么(对象状态改变),何时发生(动作序列),以及在何处发生;活动图可以描述并发执行的任务

(2)用法:用于商业过程,工作流,复杂算法的建模

(3)画法

6、顺序图:概念,用途,画法。

(1)概念:顺序图描述了一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。一般情况下,我们使用顺序图描述-一个用例的事件流,标识参与这个用例的对象,并以服务的形式将用例的行为分配到对象上。

(2)用途

1,对于业务人员,顺序图可显示不同的业务对象如何交互,对于交流当前业务如何进行很有用。除记录组织的当前事件外,一个业务级的顺序图能被当作一个需求文件使用,为实现一个未来系统传递需求。

2,对于需求分析人员,顺序图能通过提供一个深层次的表达,把用例带入下一层次。通常用例被细化为一个或者更多的顺序图。顺序图的主要用途之一,是把用例表达的需求,转化为进一步、更深层次的精细表达。

3,对于技术人员,顺序图在记录一个未来系统的行为应该如何表现时非常有用。在设计阶段,架构师和开发者能使用顺序图挖掘出系统对象间的交互,进一步完善整个系统的设计

(3)画法

①一般活动者和对象按照从左到右的顺序排列,主要活动者排在最左边

②表示对象存在的时间,对象下面一条虚线表示。如对象生命期结束,则用注销符号表示。

③控制焦点(focus of control) /激活期

小矩形,表示对象执行某个动作的时期

焦点的长短意味着执行动作时间的长短

 

7、协作图:概念,用法,画法

(1)概念:协作图(也叫合作图、通信图)是另一种交互图(interaction diagram)。它强调的是对象之间的交互关系。表示了协作中各元素所处的位置。在一个协作中,描述了该协作中所有对象组成的网络结构以及相互发送消息的整体行为。协作图虽然也表明了消息的先后顺序,但是相比序列图而言,没有序列图清晰一目了然。

(2)用法

(3)画法

 

 

 

8、状态图:概念,用法,画法

(1)概念:状态图描述一个实体在事件刺激下的反应式动态行为。它包含实体所有可能的状态、在每个状态下能够响应的事件以及事件发生时的状态变迁与响应动作。这里,实体可以是类的典型对象,也可以是一个软件系统(或其子部分)或其中一个软构件,甚至也可以是包含目标软件系统的整个大系统。

(2)用法

(3)画法

 

9、包图:概念,用途

(1)概念:包图刻画包之间的构成和依赖关系。其中,包是UML模型的一种组织单元,它可以包含- -组具有逻辑关联的UML模型元素(如用例、类等)、模型图(如用例图、类图、交互图、状态图、活动图等),以及其他的包。包在模型管理过程中是配置管理的基本单元,同时也为访问控制提供基本手段。在整个软件开发过程中,包图用于以结构化层次化的方式组织管理大型的软件模型,使得分别处理不同包的开发团队之间的相互干扰程度降至最低;在业务分析和需求定义阶段,包图可用于刻画业务系统和用户需求的结构;在设计和实现阶段,包图可用于描述软件系统的高层结构。

10、组件图:概念,用途

(1)概念:
构件图描述软件系统中的构件及构件之间的构成关系和依赖关系。它可适用于以下场合:描述软件系统中构件的接口定义及构件之间的依赖关系,以便评估软件变更的影响范围;描述软件系统或其中某个局部的构件化设计,为在后续开发阶段实现构件化的软件模块订立设计规约;描述软件系统或其局部的某个版本的配置情况,以展示其内部构造。

11、部署图:概念,用途

(1)概念:
部署图表示软件系统的可执行工件( artifact)在运行环境中的分布情况。工件是指软件系统中相对独立的物理实现单元,例如Windows平台下的动态链接库(DLL)文件、Java系统中的类库(jar)文件。在分布计算环境中,部署图为软件配置管理工程师确定软件发布版本的封包方法提供依据,同时也是软件安装维护工程师了解系统部署状况的主要信息源。此外,它还是软件设计、实现人员理解软件运行环境、确定软构件划分的重要参考。

12、对象图:概念,用途

(1)概念:对象图表示一组对象和他们之间的联系,它是一个系统的详细状态在某一时刻的快照

(2)用途:

①对象图实质上是类图的实例。
②对象图常用于表示复杂的类图的一个实例
③对象图的使用相当有限,主要用于表达数据结构的示例,以及了解系统在某个特定时刻的具体情况。

13、各类UML图形,哪些是静态视图,哪些是动态视图

(1)静态视图:类图、对象图、包图,构件图,部署图

(2)动态视图:活动图,状态图、序列图、协作图、活动图

猜你喜欢

转载自blog.csdn.net/lxy20011125/article/details/128437536
今日推荐