UML完整复习资料(大学考试专用)
- 格式:doc
- 大小:387.00 KB
- 文档页数:12
UNIT 1 UML概述 1.UML的全称是The Unified Modeling Language 统一建模语言,是应用于软件系统的分析、设计和开发过程中的一种有效建模手段。
2.软件开发方法概述:a.瀑布型 b.原型法 c.面向对象 3. 什么是建模?模型是对现实的简化。
建模就是建立系统模型的过程,又称模型化。
4.UML的特点:统一标准面向对象可视化、表达能力强独立于过程易掌握,易用UNIT 2 UML 关系 1.UML中的四种关系: a.依赖(Dependency)描述了类之间的使用关系。
b/类属(Generalization)描述了类之间的“一般”和“特殊”的关系。
c .关联(Association)描述了对象之间的结构关系。
D.实现(Realization)描述了规定协议的元素和遵守协议的元素之间的关系。
依赖关系(Dependency)(最弱)图形表示:带有箭头的虚线表示。
Y (源) X(目的)类属关系(Generalization)图示表示:用带有空心箭头的直线表示。
子元素父元素关联关系(Association)对象A (关联名称)对象B Car wheels (聚合)关联上的四种修饰阶元的表示:1)0…n代表0~∞,表示0个或任意多个。
2)1…n代表1~∞,表示1个或任意多个。
3)单个数字表示。
1表示一个,2表示两个等等。
4)连续或不连续的数字范围表示。
0…2,4…6,8…*,表示除了3,7之外的任何数量。
聚合关系表示了整体和部分的关系用“has-a”来表示图形表示:用带有空心菱形箭头的直线表示。
部分整体组合关系部分离开整体后就没有实际意义了。
用“contains-a”来表示这种关系。
部分整体实现关系一方作为要求被提出,另一方具体履行要求中声明的任务1、2 总结复习关联关系的两种特殊情况:聚合和组合。
UML统一的是什么?(统一的是符号标记Notation,不是过程Process)传统的软件工程方法叫什么?分为几个阶段?瀑布模型。
1、什么是UML?UML是软件开发和系统建模的标准工具,它主要包括的视图为静态视图、用例视图、交互视图、状态机视图、活动视图、物理视图和模型管理视图。
2、UML的通用机制规格说明:模型元素实例需要附加相关的规格说明来添加模型元素的特性;修饰:每个模型元素都有一个基本符号,这个基本符号可视化的表达了元素模型最重要的信息;通用划分:是一种保证不同抽象概念层次的机制。
通常可以采用两种方式:一种是类和对象的划分,另一种是将接口和实现分离。
3、UML的扩展机制构造型:如<<****>>,是对模型元素的额外定义标记值:如{标记名=标记值},用来存储有关模型元素或者表达元素的一些相关信息约束:如+{约束内容},用于扩展UML构造块的语义4、包图的作用1)对语义上相关的元素进行分组;2)定义模型中的“语义边界”;3)提供配置管理单元;4)在设计时,提供并行工作的单元;5)提供封装的命名空间,其中所有名称必须惟一5、包图的三个层次用户界面层:代表与与用户进行交互的界面业务逻辑层:用来处理系统的业务流程数据访问层:是程序中和数据库进行交互的层6、包图的可见性Public:“+”+类名protected:“#”+类名private:“-”+类名7、构件图与部署图构件图是用来表示系统中构件与构件之间、以及定义的类或接口与构件之间关系的图;部署图描述了一个系统运行时的硬件节点,以及在这些节点上运行的软件构件将在何处物理地运行和它们将如何彼此通信的静态视图。
BBS论坛系统用例图在用例图中可以看到管理员、会员和游客对于本系统的所有用例管理员的用例:(1)登陆系统(2)管理论坛发帖(3)版主管理(4)会员管理(5)BBS维护会员的用例:(1)登陆系统(2)发帖(3)查看发帖(4)评论游客的用例:(1)注册(2)查看发帖类图一、参与者相关类参与者有:游客、会员、版主、系统管理员,把游客、会员和版主划分为bbsuser类,吧系统管理员划分为bbsadmin类二、系统中的其他类bbs类是论坛中发表的帖子类。
uml复习资料Uml复习资料第一章1.面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。
——自下而上的程序设计方法。
2.对象是由状态和行为构成的。
3.类(Class)是具有相同属性和操作的一组对象的组合,也就是说,抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。
4.抽象、封装、继承、多态是面向对象程序的基本特征。
5.对象是某种可被人感知的事物,也是思维、感觉或动作所能作用的物质或精神体。
6.下列关于类与对象的关系的说法不正确的是:有些对象是不能被抽象成类的。
7.类的定义可以不包含的要素是:类的编号。
第二章1.在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。
2.uml图包括:用例图、类图、状态图、序列图、活动图、构件图和部署图。
3.用例视图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。
一个用例是系统的一个功能单元,是系统参与者与系统之间进行的一次交互作用。
4.状态机视图是通过对象的各种状态来建立模型来描述对象随时间变化的动态行为,并且它是以独立的对象为中心进行描述的。
5.用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系。
6.在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。
7.UML中主要包含四种关系,分别是依赖、关联、泛化和实现。
8.下列关于视图的说法不正确的是:构件视图表示运行时的计算资源(例如计算机以及它们之间的连接)的物理布置。
9.构件不包括uml图。
10.下列关于交互视图说法不正确的是:交互视图包含类图和顺序图。
应该是序列图和协作图。
11.下列关于对象约束语言的特性,说法不正确的是:对象约束语言是一种弱类型语言。
UML复习整理1、什么是UML,UML的组成?(Unified Modeling Language,统一建模语言)是一种面向对象普遍适用的建模语言,它是运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。
UML包括:10种模型图。
用例图(Use casediagram);类图(Classdiagram)、对象图(Objectdiagram)、包图(Packagediagram);状态图(Statechartdiagram)、活动图(ActivityDiagram);顺序图(Sequence diagram)、协作图(Collaboration diagram);构件图(Component diagram)、部署图(Deployment diagram)。
2、面向对象程序设计的基本特征包括了什么?试举例说明三大特征。
面向对象程序设计的基本特征包括了封装、继承和多态。
举例:封装—电脑由电子元件组成,每个部分都有自己的功能、性能、指标。
但在适用电脑时用户不需要了解这些电子元件的功能只需要通过键盘鼠标等来实现自己想要的功能。
这就是封装,用户不需要了解电脑内部原理,只需要知道如何使用键盘鼠标。
继承—一个类的的定义可以基于另外一个已经存在的类,既子类基于父类,从而实现代码的重用。
多态—不同的类对象收到同一消息可以产生完全不同的响应效果,这种现象叫多态。
多态性依托与继承性是面向对象程序设计的精髓之一。
3、用例图的组成要素,根据某些需求会画用例图,会把握用例与用例之间的关系。
用例图由以下几种元素组成:执行者、用例、系统、关系、用例描述。
用例与用例之间的关系主要包括:关联(association)、包含(include)、扩展(extend)、泛化(generalization)。
4、活动图的要素。
会画活动图(比如登陆)。
活动图主要包括:起点和终点、活动、转移、接受信号和发送信号、决策点和汇合点、分叉和汇合、控制流终点、泳道。
UML课堂测试题一、选择题:(1-30小题单选,每题2分,31-35多选,每题3分,共75分)1.UML图不包括( D )(A)用例图(B)类图(C)状态图(D)流程图2.在类图中,下面哪个符号表示继承关系( C3.在类图中,“#”表示的可见性是( B )(A)Public (B)Protected (C)Private (D)Package4.消息的组成不包括( C )(A)接口(B)活动(C)发送者(D)接收者5.下面哪个视图属于UML语言的交互图( D )(A)行为图(B)状态图(C)实现图(D)顺序图6.类之间的关系不包括( D )(A)依赖关系(B)泛化关系(C)实现关系(D)分解关系7.在UML中,协作图的组成不包括( C )(A)对象(B)消息(C)发送者(D)控制点8.下面哪个符号代表包图( A )9.下列对状态图描述不正确的是( C )(A)状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为(B)状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件如何随着时间的推移来影响这些状态(C)状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率(D)状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件作出反应10.多对象是UML哪个视图中的概念( C )(A)类图(B)状态图(C)协作图(D)组件图11.组件图的组成不包括( C )(A)接口(B)组件(C)发送者(D)依赖关系12.部署图的组成不包括( C )(A)处理器(B)设备(C)组件(D)关联13.下面哪个UML视图是描述一个对象的生命周期的( B )(A)类图(B)状态图(C)协作图(D)顺序14.顺序图由对象,生命线,激活和(B)组成(A)关系(B)消息(C)用例(D)实体(B)(A) (C) (D)(B)(A) (D)15.UML中关联的多重度是指( B )(A)一个类有多个方法被另一个类调用(B)一个类的实例能够与另一个类的多个实例相关联(C)一个类的某个方法被另一个类调用的次数(D)两个类所具有的相同的方法和属性16.UML中的事物包括:结构事物,分组事物,注释事物和(D)A、实体事物B、边界事物C、控制事物D、动作事物17.下面哪个不是UML中的静态视图(A)A.状态图B.用例图C.对象图D.类图18.(A)技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。
2011UML复习题纲一、选择、判断、填空第一章UML与面向对象1、UML(Unified Modeling Language,统一建模语言)是软件和系统开发的标准建模语言,它主要以图形的方式对系统进行分析、设计。
2、UML是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统建模的语言。
它为开发人员与客户之间,以及开发人员之间的沟通与理解架起了“桥梁”。
3、UML不是开发工具,只是建模语言。
4、OOA三种基本模型:功能模型、对象模型、动态模型。
5、软件是程序、数据和相关文档的完整集合。
6、软件开发过程分为如下几个阶段:需求分析、总体设计、详细设计、编程与测试、维护。
7、面向对象的软件工程方法包括面向对易用的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)。
8、软件方法学包含3个要素:方法、工具和过程。
9、对象是现实世界中一个实际存在的事物,它可以是看得见摸得着的东西。
10、类是一组具有相同属性的操作的对象集合,它为所有属于该类的对象提供了统一的描述。
11、封装是指将对象属性和操作结合在一起,构成一个独立的对象。
封装使得对象属性和操作紧密结合在一起,这反映了事物的状态特性与动作是事物不可分割的特征。
12、继承是指子类可以拥有父类的全部属性和操作,继承是OO方法的一个重要的概念,并且是OO技术可以提高软件开发效率的一个重要原因。
13、多态性是指在父类中定义的属性和操作被子类继承后,可以具有不同的数据类型或表现出不同的行为。
14、OO开发中的三层设计:问题域类、GUI类和数据访问类。
15、面向对象设计准则:模块化、抽象、信息隐藏、低耦合、高内聚。
16、UML的构成:元元模型层、元模型层、模型层、用户模型层。
17、UML的核心是由视图、图、模型元素、通用机制组成。
18、UML中的视图细分:(1)用例视图(用例视图强调从系统的外部参与者角度需要的功能,描述系统应该具有的功能);(2)逻辑视图(逻辑视图的使用者主要是设计人员和开发人员,描述用例视图提出的系统功能的实现);(3)并发视图(并发视图的使用者主要是开发人员和系统集成人员,它主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理);(4)组件视图(组件是不同类型的代码模块,它是构造应用的软件单元。
UML课堂测试题一、选择题:(1-30小题单选,每题2分,31-35多选,每题3分,共75分)1.UML图不包括( D )(A)用例图(B)类图(C)状态图(D)流程图2.在类图中,下面哪个符号表示继承关系( C3.在类图中,“#”表示的可见性是( B )(A)Public (B)Protected (C)Private (D)Package4.消息的组成不包括( C )(A)接口(B)活动(C)发送者(D)接收者5.下面哪个视图属于UML语言的交互图( D )(A)行为图(B)状态图(C)实现图(D)顺序图6.类之间的关系不包括( D )(A)依赖关系(B)泛化关系(C)实现关系(D)分解关系7.在UML中,协作图的组成不包括( C )(A)对象(B)消息(C)发送者(D)控制点8.下面哪个符号代表包图( A )9.下列对状态图描述不正确的是( C )(A)状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为(B)状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件如何随着时间的推移来影响这些状态(C)状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率(D)状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件作出反应10.多对象是UML哪个视图中的概念( C )(A)类图(B)状态图(C)协作图(D)组件图11.组件图的组成不包括( C )(A)接口(B)组件(C)发送者(D)依赖关系12.部署图的组成不包括( C )(A)处理器(B)设备(C)组件(D)关联13.下面哪个UML视图是描述一个对象的生命周期的( B )(A)类图(B)状态图(C)协作图(D)顺序14.顺序图由对象,生命线,激活和(B)组成(A)关系(B)消息(C)用例(D)实体(B)(A) (C) (D)(B)(A) (D)15.UML中关联的多重度是指( B )(A)一个类有多个方法被另一个类调用(B)一个类的实例能够与另一个类的多个实例相关联(C)一个类的某个方法被另一个类调用的次数(D)两个类所具有的相同的方法和属性16.UML中的事物包括:结构事物,分组事物,注释事物和(D)A、实体事物B、边界事物C、控制事物D、动作事物17.下面哪个不是UML中的静态视图(A)A.状态图B.用例图C.对象图D.类图18.(A)技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。
1.(名词解释)软件工程是一门建立在系统化、规范化、数量化等工程原则和方法上的,关于软件开发各个阶段的定义、任务和作用的工程学科。
软件工程包括两个方面的内容:(1)软件开发技术。
包括软件开发方法学、软件工具和软件工程环境。
(2)软件项目管理。
包括软件度量、项目估算、进度控制、人员组织、配置管理和项目计划等。
2.软件开发分为以下5个阶段:需求捕获阶段、系统分析与设计阶段、系统实现阶段、测试阶段和维护阶段。
(选择或填空)3.软件工程的三大目的是软件的可维护性、软件的可复用性和软件开发的自动化。
(选择或填空)4.UML是标准的建模语言,而不是标准的开发过程。
(判断)5. (判断或填空)UML有两套建模机制:静态建模机制和动态建模机制。
静态建模机制包括用例图、类图、对象图、包、组件图和配置图。
动态建模机制包括消息、状态图、时序图、协作图和活动图。
6.Rational Rose的界面分为以下三个部分:(填空或判断)(1)Browser窗口:用来浏览、创建、删除和修改模型中的模型元素。
(2)Diagram窗口:用来显示和创作模型的各种图。
(3)Document窗口:用来显示和书写各个模型元素的文档注释。
7.Rational Rose的特点1. 保证模型和代码高度一致2. 支持多种语言3. 为团队开发提供强有力的支持4. 支持模型的Internet发布5. 生成使用简单且定制灵活的文档6. 支持关系型数据库的建模8.UML用来描述模型的内容有3种,分别是事物(Things)、关系(Relationships)和图(Diagrams)(填空)9.UML中的事物(Things)包括结构事物、行为事物、组织事物和辅助事物(也称注释事物)(填空)10.接口是为类或组件提供特定服务的一组操作的集合。
11.行为事物也称动作事物,是UML模型中的动态部分,代表时间和空间上的动作。
行为事物主要有两种:交互和状态机。
12.UML中的关系主要包括4种:关联关系、依赖关系、泛化关系和实现关系。
1.面向对象的基本含义所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,充分利用接口和多态提供灵活性,来认识、理解、刻划客观世界和设计、构建相应的软件系统。
2.多态性是一种方法,这种方法使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。
多态性是一种特性,这种特性使得一个属性或变量在不同的时期可以表示不同类的对象。
在一个接口后面隐藏了许多不同的实现3.覆盖(overriding)和重载(overloading)覆盖(overriding):是指在子类中重新定义与父类同名的方法。
重载(overloading):是指在同一个类中定义的几个操作或操作符都具有相同的名字。
4.接口(Interface)的概念:所谓接口就是对操作规范的说明。
通俗地说,接口只是说明函数应该做什么(What),但没有定义函数如何做(How)。
5.UML的主要包括3种构造块(Building Blocks):1)事物(Things):构成模型图的一些基本图示符号,它们表示一些面向对象的基本概念。
2)关系(Relationships):表示基本图示符号之间的关系。
3)图(Diagrams):特定的视角对系统所作的抽象描述。
事物是对模型中最具有代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。
6.在UML中有4种事物:- 结构事物Structural thing:class, interface, collaboration, use case, active class, component, node- 行为事物Behavioral thinginteraction, state machine- 分组事物Grouping thingpackage, subsystem- 注释事物Annotational thingnote7.协作(collaboration):协作定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其它元素构成的群体,这些协作行为大于所有元素的各自行为的总和。
UML复习资料(整理)一、关于面向对象方法论OOM1. 结构化分析与设计的主要特点:A. 功能分解.以实现功能的过程为中心,而用户的需求变化主要是针对功能的。
这就使基于过程的设计不易被理解;且功能变化往往引起结构变化较大,稳定性不好B. 自顶向下.边界定义明确,且系统结构依赖于系统边界的定义,这样的系统不易扩充和修改C. 数据与操作分离,可能造成软构件对具体应用环境的依赖,可重用性(reusability)较差2. 面向对象方法与结构化方法的区别?传统结构化方法面向对象方法(UML建模工具为例)需求模型输入I、处理P、输出O的视角,面向功能的文档(用户需求规格说明书)需求变化,其功能变化,所以系统的基础不稳固从用户和整体角度出发使用系统抽象出用例图、活动图,获取需求;如需求变化,对象的性质相对功能稳定,系统基础稳定分析模型面向过程的数据流图DFD、实体—关系图ERD、数据字典DD表示分析模型功能分解,数据和功能/过程分开把问题作为一组相互作用的实体,显式表示实体间的关系数据模型和功能模型一致类、对象图表示分析模型,状态、顺序、协作、活动图细化说明设计模型功能模块(SC图),模块之间的连接/调用是模块的附属形式类和对象实现, 类/对象的关联、聚集、继承等连接、连接规范和约束作为显式定义实施模型体系结构设计构件图,配置图测试模型根据文档进行单元测试,集成测试,确认测试单元测试采用类图,集成测试用实现图和交互图,确认测试采用用例图3. 什么是面向对象方法,以及其要点?答:OO方法是基于“对象、类、封装性、继承性、多态性、消息机制等技术特征”的构造系统的软件开发方法。
它有以下一些特点:(1)客观世界由具有各种对象组成。
OO的软件系统也是由对象组成的,任何复杂的软件都是由简单的对象以及对对象的处理组合而成的。
(2)所有对象都可以划分为不同的对象类,具体的对象只是对象类中的一个实例,每个对象都有自己特定的数据和方法(对数据的操作)。
第一部分基本概念一.UML定义:UML(Unified Modeling Language)统一建模语言,是一种面向对象的建模语言,它的主要作用是帮助用户对软件系统进行面向对象的描述和建模(建模是通过将用户的业务需求映射为代码,保证代码满足这些需求,并能方便地回溯需求的过程),它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。
二.软件工程生命周期:需求捕获→系统分析与设计→系统实现→测试→维护需求分析步骤:获取需求---- >>分析需求---- >>描述需求---- >>验证需求三UML的统一:根据应用需求→对不同建模语言对比→取其精华去其糟粕→求同存异→统一建模语言UML四.UML的内容结构:UML中的五种视图:五.UML中的关系:依赖:依赖是指一个类使用了另一个类,它是一种使用关系,描述了一个事物的规格说明的变化可能会影响到使用它的另一个事物(反之不一定)。
最常见的依赖关系是一个类的内部使用到了另一个类的定义。
关联:关联关系是一种结构化的关系,指一种对象和另一种对象有联系。
给定关联的两个类可以从其中的一个类的对象访问到另一个类的相关对象。
泛化:是一个较广泛的元素和一个较特殊元素之间的类元关系。
较特殊的元素完整地包含了较广泛元素,并含有更多的信息。
实现:实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来第二部分UML的几种基本图一.类图:(Class Diagram)类图是描述类、接口、协作以及它们之间的关系的图。
用来显示系统中各个类的静态结构。
类包括:类名,属性,方法类图包括:类,接口,协作(关系)类图的建模过程:确定对象与类---- >>确定类的属性---- >>确定类的关系二.对象图:(Object Diagram)对象图表示在某一时刻一组对象以及他们之间的关系的图。
三.包图:(Package)由包和包之间的关系构成,它是维护和控制系统总体结构的重要建模工具。
包:是一种分组机制,表示一个类图集合。
四.用例图:(Use Case Diagram)用例图表述了一组用例、参与者以及他们之间的关系用例模型包括:用例图和用例规约用例规约包括:基本流和备选流用例图包含:用例(Use Case) 参与者(Actor) 参与者之间的关系(泛化、包含、扩展)参与者:系统外部的一个实体(可以是任何事物或人),它以某种方式参与了用例的执行过程用例:是对一个系统或一个应用的一种单一的使用方式所做的描述,是关于单个活动者在与系统对话包含关系 泛化关系 扩展关系中所执行的处理行为的陈述序列。
用例模型中的关系:1.包含:表示基础用例会用到被包含的用例2.扩展:基础用例中定义了一个到多个扩展用例3.泛化:多个用例共同拥有一种类似的结构和行为时,我们可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。
4.关联三种关系的区别:✓ 泛化侧重表示子用例间的互斥性;✓ 包含侧重表示被包含用例对Actor 提供服务的间接性; ✓ 扩展侧重表示扩展用例的触发不定性用例图的建模步骤:1.寻找参与者2.确定用例3.分析关系4.细化用例规约5.精化细化用例模型五.时序图:(Sequence Diagram )时序图包括:对象(Object )生命线 (Lifeline ) 激活(Activation )消息(Message ) 对象:对象代表时序图中的对象在交互中所扮演的角色生命线:一条垂直的虚线,代表时序图中的对象在一段时期内的存在 激活:生命线拓宽成为矩形,代表时序图中的对象执行一项操作的时期消息:定义交互和协作中交换信息的类,信息用于在实体间传递信息 时序图的建模步骤: ① 设置交互的语境。
② 通过识别对象在交互中扮演的角色,设置交互的场景。
③ 为每个对象设置生命线。
④ 从引发某个消息的信息开始,在生命线之间画出从顶到底依次展开的消息,显示每个消息的特性(如参数)。
⑤ 如果需要可视化消息的嵌套或实际计算发生时的时间点,可以用激活修饰每个对象的生命期。
⑥ 如果需要说明时间或空间的约束,可以用时间标记修饰每个消息,并附上合适的时间和空间约束。
⑦ 如果需要更形式化的说明某控制流,可以为每个消息附上前置和后置条件。
六.协作图:(Collaboration Diagram )协作图包括:对象(Object )链(Link )消息(Message ) 协作图的建模步骤:① 设置交互的语境。
②通过识别对象在交互中扮演的角色,设置交互的场景。
③对每个对象设置初始特性。
④描述对象之间可能有信息沿着它传递的链。
⑤从引起交互的消息开始,适当地设置其顺序号,然后将随后的每个消息附到适当的链上。
⑥如果需要说明时间或空间约束,可以用时间标记修饰这个消息,并附上合适的时间和空间约束。
⑦如果需要更形式化地说明这个控制流,可以为每个消息附上前置和后置条件。
时序图与协作图的比较:1.相同点:规定责任,支持消息,衡量工具2.不同点:时序图描述了交互过程中的时间顺序,但没有明确地表达对象之间的关系。
协作图描述了对象之间的关系,但时间顺序必须从顺序号获得。
七.状态图:(State Diagram)1.状态图包括:状态(State)转换(Transtition)2.状态机:展示状态与状态转换的图,包含了一个类的对象在其生命期间所有状态的序列以及对象对接受到的事件所产生的反应。
3.一个状态图表示一个状态机,表现从一个状态到另一个状态的控制流。
4.状态图由表示状态的节点和表示状态之间转换的带箭头的直线组成。
5.状态图中的状态一般是给定类对象中的一组属性值,这组属性值是对象所有属性的子集。
6.状态图的建模步骤:①找出适合用模型描述其行为的类。
②确定对象可能存在的状态。
③确定引起状态转换的事件。
④确定转换进行时对象执行的相应动作。
⑤对建模的结果进行相应的精化和细化。
八.活动图(Activity Diagram)活动图是一种描述系统行为的图,它用于展现参与行为的类所进行的各种活动的顺序关系。
活动图包括:动作状态(Action State)、活动状态(Activity State)、动作流(Action Flow)分支(Branch)与合并(Merge)、分叉(Fork)与汇合(Join)、泳道(Swimlane)、对象流(Object Flow)活动图建模步骤:①识别要对其工作流描述的类或对象。
②确定工作流的初始状态和终止状态,明确工作流的边界。
③对动作状态或活动状态建模。
④对动作流建模。
⑤对对象流建模。
⑥对建立的模型进行精化和细化。
活动图与状态图的区别:活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。
状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。
九.组件图:组件图描述了软件的各种组件和他们之间的依赖关系组件图包括:组件(Component)、接口(Interface)、依赖关系(Dependency)组件图的建模步骤:对系统中的组件建模。
⏹对相应组件提供的接口建模。
⏹对组件之间的依赖关系建模。
⏹将逻辑设计映射成物理实现。
⏹对建模的结果进行精化和细化。
十.配置图:配置图描述了运行软件的系统中硬件和软件的物理结构配置图包括:节点(Node)关联关系(Association)配置图的建模步骤:①对系统中的节点建模。
②对节点之间的关联关系建模。
③对驻留在节点上的组件建模。
④对驻留在节点上的组件之间的依赖关系建模。
⑤对建模的结果进行精化和细化。
第三部分应用一.传统的软件开发模型瀑布模型(Waterfall Model)•瀑布模型是一种线性模型。
•瀑布模型将软件生存周期划分为7个阶段:①问题定义②可行性研究③需求分析④设计⑤实现⑥测试⑦运行和维护•瀑布模型最为突出的缺点是缺乏灵活性。
螺旋模型•螺旋模型使用原型作为降低风险的机制。
•螺旋模型使开发者在产品演化的任意阶段均可使用原型方法。
•螺旋模型体现了RUP中迭代的思想。
•一个螺旋的周期一般包括四个阶段:①确定目标,选择方案,选定完成目标的策略。
②风险分析。
③启动开发阶段。
④评审前一阶段的工作,计划下一阶段工作。
二.软件项目失败的原因:①混乱的需求管理。
②开发者之间以及开发者和用户不清晰的交流。
③架构不够坚固。
④没有发现需求、设计和实现中的不一致。
⑤缺少有效的测试。
⑥对项目状态的主观估计。
⑦没有正确地处理项目开发过程中的风险。
⑧没有对项目变更进行控制。
三.RUP二维软件开发模型Rational Unified Process(RUP,统一开发过程)是一套面向对象的软件工程过程。
四.RUP开发过程中各阶段的核心工作流:1.初始阶段:需求和分析2.细化阶段:需求、分析和设计3.构造阶段:实现4.交付阶段:实现和测试五.RUP的迭代开发模型六.Rose双向工程类的关系决定生成什么代码第四部分档案管理系统软件需求的层次:业务需求、用户需求、功能需求需求分析步骤:获取需求---- >>分析需求---- >>描述需求---- >>验证需求一.分析需求:二.创建用例图:过程:1.寻找参与者2.确定用例 3.分析关系4.细化用例规约5.精化细化用例模型寻找参与者:一般人员、档案室人员、借阅管理员、系统管理员确定用例:一般人员用例、档案室人员用例、借阅管理员用例、系统管理员用例分析:一般人员活动:登录系统、查找档案、网上借阅、借阅档案、归还档案档案室人员活动:系统参数设置、数据信息录入、数据查询、操作并查看日志借阅管理员活动:借阅查询、处理网上借阅、借阅登记系统管理员活动:登录系统、用户管理、权限管理、日志管理、数据管理、参数设置、报表打印、网上借阅管理关系:确定用例图:其他用例图参照上图三.创建类图:过程:确定对象与类---- >>确定类的属性---- >>确定类的关系类与对象:用户、用户角色、权限、用户权限关系、参数表、档案案卷信息、档案文件信息、借阅关系、日志四.创建时序图:步骤:确定对象---- >>确定交互流程---- >>分析消息1.系统管理员添加用户2. 档案管理员录入数据其他时序图参照上图五.创建协作图:1.系统管理员添加用户2. 档案管理员录入数据其他协作图参照上图六.创建状态图:步骤:标识建模实体---- >>标识实体的各种状态---->>标识相关事件---->>对所建模型精化和细化实体:档案、用户账户(借阅者)档案状态和事件:新建档案、可借阅、借出借阅者状态和事件:新建借阅者、可用、不可用、已删除档案状态图:借阅者状态图:七.创建活动图:一般人员活动图:借阅管理员活动图:档案室人员录入档案活动图:系统管理员维护系统数据活动图:系统管理员维护用户活动图:系统管理员设置系统参数活动图:类图、组件图、配置图见课本第五部分BBS论坛系统一.分析需求:二.用例图:参与者:游客、注册用户、版主、系统管理员游客用例:注册、登陆系统、查询帖子注册用户用例:登陆系统、发表帖子、查询帖子、回复帖子版主用例:登陆系统、帖子管理(增、删、改、查)、加精贴、置顶帖系统管理员用例:登录系统、帖子管理(增、删、改、查)、会员管理、论坛分类管理、加精贴、置顶贴确定用例图:三.时序图:会员发帖/回帖时序图:论坛管理员管理会员时序图:论坛管理员管理论坛分类时序图:论坛管理员管理帖子时序图:四.协作图:会员发帖/回帖时序图:论坛管理员管理会员时序图:论坛管理员管理论坛分类时序图:论坛管理员管理帖子时序图:其他用例图、时序图、协作图、活动图、状态图见课本。