uml复习.docx
- 文档编号:24728875
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:11
- 大小:382.75KB
uml复习.docx
《uml复习.docx》由会员分享,可在线阅读,更多相关《uml复习.docx(11页珍藏版)》请在冰豆网上搜索。
uml复习
UML
●软件生命周期的主要阶段
需求分析
软件设计
编码
测试/调试
运行/维护
●几种经典的软件过程模型及其相应的特点
瀑布模型
1.软件开发各阶段严格按照顺序进行,前一阶段的任务没有完成,不能进入下一阶段
2.每一阶段的工作成果必须经过评审,确认无误,才能作为下一阶段的输入和依据
3.每一阶段结束时要求交出规定的软件文档资料
4.缺乏灵活性
5.对软件开发过于理想化,如对系统的需求分析
快速应用开发(RAD)模型
1.重用在以前项目中开发过和测试过的构件
2.开发速度快
3.适用于在开发过程之前就充分理解需求的情况
4.需要有足够的人力资源以建立相应的RAD小组
5.RAD不适合技术风险很高或系统难以模块化的情况
原型模型
a)循环模式(Circulation)
b)引入用户评价
c)逐步求精
增量模型
1.从一组给定的需求开始,通过构造一系列可执行的中间版本来实现开发活动
2.第一个中间版本实现一部分需求,下一个版本纳入更多的需求,以此类推,直至系统完成
螺旋模型
1.具有原型模型的迭代性和瀑布模型的线性特点
2.在螺旋模型的每一次迭代中,开发过程遵循分阶段的线性法。
每次循环结束时,客户评价现阶段的成果,并提供反馈意见。
在反馈意见的基础上,软件开发进入下一个循环。
这一过程不断反复
●面向对象的基本建模原则
抽象、封装、继承、分类、关联
●面向对象分析的大致过程
分析用户需求陈述的文件、建立快速原型、建立分析模型、后继的设计阶段将以分析模型为基础
1.描述需求
2.识别潜在对象
3.筛选对象
4.对象的命名
5.识别对象的属性
6.识别对象的行为
7.识别对象所属的类
8.定义类的结构
●面向对象程序设计语言
Simula1967、Smalltalk,20世纪60年代、C++、Java、C#、Ada
C++特点:
优点
1.可在操作系统的任何层次上作任何事情
2.可能是现有的速度最快的面向对象语言
3.C++编译器十分流行,程序员很多
缺点
1.指针的大量使用难以保证软件在运行时的安全性
JAVA特点:
1.平台无关性,可移植性高
2.垃圾回收机制
3.没有指针
●RUP
●UML的基本概念,其与编程语言的区别
UML Unified Modeling La nguage( 统一建模语言)的简称。
UML 是对软件密集型系统中的制品进行可视化、详述、构造和文档化的语言。
区别:
Java 、c++ 等程序设计语言是用编码实现一个系统,而UML 是对一个系统建立模型,这个模型可以由Java 或C++等程序设计语言实现,它们是在不同的软件开发阶段使用的。
●UML中图的分类
用例图,顺序图,协作图,类图,对象图,状态图,活动图,构件图,部署图
●UML的组成
●UML中的可见性规则
●常用的UML工具
RationalRose(功能强大,市场占有率高)、StarUML、EnterpriseArchitect、ArgoUML、Visio
●需求技术,需求的类型
两种类型的需求
– 功能性需求:
系统应该提供什么行为
– 非功能性需求:
系统上的特定属性或约束
三种需求技术
– XP中的用户故事
– FDD中的特性描述
– RUP中的用例
●用例的定义,基于用例进行需求分析的特点
用例的定义:
–1.用例是对一个活动者(actor)使用系统的一项功能时所进行的交互过程的一个文字描述序列
–2.用例是系统、子系统或类和外部参与者交互的动作序列的说明,包括可选的动作序列和会出现异常的动作序列
基于用例进行需求分析的特点:
1.用例从使用系统的角度描述系统中的信息
2.用例描述用户提出的一些可见需求,对应一个具体的用户目标
3.用例是对系统行为的描述,属于UML的动态建模部分
●用例图的三要素
参与者,用例,关系
●用例之间的关系:
泛化包含扩展
●用例建模
类图
●类的基本概念
类是具有相似结构、行为和关系的一组对象的描述符
●类的一些种类
抽象类、接口、关联类、模版类、主动类、嵌套类
●类之间的关系及相应的表示方法
泛化、关联、聚合,组合、实现、依赖
组合>聚合>关联>依赖
●三种主要的类版型及其表示方法
●类图的抽象层次
概念层类图、说明层类图、实现层类图
●多重性
0…1,0…n,1,1…n,*(即0…n)
●类图建模的几个原则(面向对象设计的原则)
开闭原则,Liskov替换原则,依赖倒置原则,接口分离原则
对象图,包图
●对象的特性,对象的命名方法
特性:
状态,行为,标识
对象的命名方法:
●对象(图)和类(图)的关系
1.类是定义,对象是实例
2.类是抽象,对象是具体
3.对象是一个存在于时间和空间中的实体,类仅代表一种抽象,抽象出对象的本质
4.类是静态的,对象是动态的
5.类是一般化,对象是个性化
●包在UML体系中的位置
基本构造块,事物,分组事物
●包中可以包含的元素
类、接口、构件、节点、协作、用例,甚至可以是其他子包或图
●包的版型
1.《system》版型–表示正在建模的整个系统
2.《subsystem》版型–表示正在建模的系统中某个独立的部分
3.《facade》版型–是其它包的视图,主要为复杂的包提供简略视图
4.《stub》版型–是一个代理包,通常用于分布式系统的建模
5.《framework》版型–表示一个框架,框架是一个领域中的应用系统提供可扩充模板的体系结构模式
●包之间的关系
依赖关系:
《use》《import》《access》《trace》,泛化关系
●包图建模原则
重用等价原则,共同重用原则,共同闭包原则,非循环依赖原则
活动图
●活动图的概念
活动图描述系统或业务的一系列活动构成的控制流;活动图描述系统从一种活动转换到另一种活动的整个过程;活动图通常对业务过程、工作流和用例实现进行建模
●活动图的构成元素
初始节点、活动终点、活动节点、转换、分支和监护条件、分岔和汇合。
●对并发活动建模
●一些较复杂的活动图
辅助活动图、汇合描述、发送信号与接收信号、引脚、扩展区。
●活动图建模
●分岔和分支的区别
分岔:
并行流;分支:
判断、决策点;
状态机图
●状态机图的基本概念
由状态符号表示,状态之间的转换由连接状态节点的有向弧表示;状态机图描述状态到状态的控制流程,常用来对系统的动态特征建模;状态机图可以用于对不同建模元素的实体建模– 比如类的实例——对象。
●状态机图的一般构成元素
初态和终态;源状态和目标状态;触发事件;监护条件;动作;分支
●转换
●复合状态
指状态本身包含一个或多个状态机的状态
●顺序复合状态– 只包含一个状态机的复合状态
●并发复合状态– 包含两个或两个以上并发执行的状态机
●历史状态
用于记住上次离开复合状态时所处的子状态
• 表示方法 浅历史(圈圈里面一个H)深历史(圈圈里面一个H*)
●状态机图建模
交互图
●交互图包含哪几种图
顺序图,通信图,定时图,交互概述图
●顺序图的基本概念
顺序图是显示对象之间交互的图, 这些对象是按时间顺序排列的。
●顺序图的建模元素
对象、生命线、控制焦点、消息
●通信图的基本概念
通信图描述了系统中对象之间通过消息进行的交互,强调了对象在交互行为中承担的角色
●通信图的组成元素
对象,链,消息
●顺序图和通信图对比
1.顺序图强调消息的时间顺序,通信图强调参加交互的对象的组织,两者可以相互转换
2.顺序图不同于通信图的两个特征:
顺序图有对象生命线;顺序图有控制焦点
3.通信图不同于顺序图的特征:
通信图必须有消息顺序号
●定时图和交互概述图的基本概念
定时图:
如果要表示的交互有很强的时间特性,使用定时图
交互概述图:
a)交互概述图是将活动图和顺序图嫁接在一起的图
b)可以看作活动图的变体,它将活动节点进行细化,用一些小的顺序图来表示活动节点内部的对象控制流
c)也可以看作顺序图的变体,它用活动图来补充顺序图
其他的UML图
●构件图
构件图主要描述系统中一组构件以及它们之间的相互关系
构件:
构件是系统中可替换的物理部分,它包装了实现而且遵从并提供一组接口的实现
对于一个构件来说,它包含5个要素
接口声明
接口实现
构件标准
封装方法
部署方法
●部署图
1.部署图又称配置图,实施图
2.部署图用来显示系统中软件和硬件的物理架构
3.部署图描述了系统中包含的计算机和其它硬件设备,以及这些设备之间的相互连接方式
●复合结构图
●Profile图
●正向工程和反向工程的概念
正向工程
把设计模型转换成代码
逆向工程
把代码转换成设计模型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- uml 复习