第二章 统一建模语言UML概述
(1)为什么要建模
模型是某个事物的抽象,其目的是在构建这个事物之前先来理解它,因为模型忽略了那些非本质的细节,这样有利于更好的理解和表示事物; 在软件系统开发之前首先要有理解所要解决的问题。对问题理解的越透彻就越容易解决它,为了更好地理解问题人们通常使用建立问题模型的方法。
1.模型概念
·模型是为了理解事物而对事物做出的一种抽象,而对事物规范的、无歧义描述的一种工具。·常见的模型分为三种:数学模型、描述模型、图形模型。·含义如下: 数学模型 是描述系统技术方面的一系列公式,用来精确表示系统的某些特征 描述模型 是描述系统某些方面的叙述性的备忘录、报表或列表 图形模型 是由一组图形符号和组织符号的规则组成
2.模型的作用
5个方面的作用:1.精确捕获和表达系统的需求与应用领域中的知识2.便于和各个领域的专家审查3.降低负责性4.提高开发效率和质量5.模型可以作为软件系统维护和升级时的文档
3.建模的目的
可以更好的理解问题 可以加强人员之间的交流 可以更早地发现错误或疏漏的地方 可以获得设计结果 模型为最后的代码生成提供依据4.建模原则1.准确原则2.分层原则3.分治原则4.标准原则
(2)什么是UML
1.定义
统一建模语言(unified Modeling Language) UML是对软件密集型系统中的制品进行可视化、详述、构造和文档化的语言。
2.UML的特点
特点是: 1.统一的标准 2.面向对象 3.可视化 4.独立于过程 5.概念明确
3.UML的构成
UML的概念模型由3个要素构成:1.UML基本构造快2.支配这些构造快如何在一起的规则3.一起运用于整个UML的公共机制
·基本构造块
··事物:(4种)结构事物:是模型的静态部分,描述概念元素或物理元素。结构事物总称为类目。包括类、接口、协作、用例、主动类、组件、制品、结点行为事物:是模型的动态部分,描述跨越时间和空间的行为。包括交互、状态机、活动。分组事物:是模型的组织部分,由模型分解成的“盒子”。主要的分组事物是“包”注释事物:是模型的注释部分,用来描述、说明、标注模型中的任何元素。
··关系:(4种关系)
依赖:是一种使用关系,说明一个事物使用另一个事物其中一个元素发生变化会影响另外一个事物。关联:是一种结构关系,说明一个事物的实例泛化:泛化关系是一般事物(称为父类或超类)和该事物的较为特殊的种类(称为子类)之间的关系实现:是类目之间的关系,在两种地方会遇到实现关系:一种是在接口和实现他们的类或构件(为其提供操作或服务的类目)
··图:(10种类型)
用例图(use case diagram):描述的是外部用户看到的功能一组用例和参与者的之间的关系顺序图(sequence diagram):描述对象之间的传递消息的时间顺序协作图(collaboration diagram):再一次交互中有意义的对象和对象间的链连接。协作图展现了收发信息的对象的结构组织类图(class diagram):类图描述静态结构,类图展现了一组类、接口、协作和他们之间的关系对象图(object diagram):描述在某个时刻的静态结构状态图(statechart diagram):描述一个类对象所经历的历程中的各个状态和连接这些状态的变迁。每个状态描述一个对象在其生命周期中满足某条件的一个时间段内的行为。状态图专注于对象的动态视图。活动图(activity diagram):活动图专注于动态视图组件图(component diagram):组件是系统设计的模块化部件,它的实现隐藏在一组外部接口之后。部署图(deployment diagram):部署图专注于体系结构的静态部署图包图(package diagram):表达系统的总体结构模型
·语义规则
··名字任何一个UML成员都要有一个名字
··作用域
所定义的内容咋起作用的上下文语境
··可见性
UML成员可以被其他成员引用看见和使用
··完整性
UML成员之间相互连接的合法性和一致性
··执行
UML成员在运行时的特性,描述运行或模拟状态模型含义
·公共机制
··规格说明 ··修饰在矩形符号上面附加一定的语义
··公共划分
3种划分方式。 类和对象的划分:类是一种抽象,对象是类的具体表现 接口与实现的分离:接口声明了一个合约,实现表示了对该合约的具体实施,它负责如实地实现接口的完整含义 类型与角色的分离:类型声明了实体的种类,角色描述了实体在语境中的含义
··扩展机制
··构造型构造型也称为版型构造型基于已有的建模元素引入新的建模元素
··标记值
可以用来创建构造型的额规范说明的新信息,使得用户也可以从现有的构造块中派生 ,它是带有关键字的
··约束
可以用来增加新的规则或修改现有的规则
(3)UML中的视图
4种建模技术:需求建模:用过用例图描述需求;静态建模:通过类图和对象图描述软件系统的静态元素;动态建模:通过协作图、顺序图、活动图、状态图描述静态元素的行为;构架建模:通关过组件图和部署图,在多个层次上描述软件系统的构架.
UML中的视图包括:
用例视图(use case view)、逻辑视图(logical view )、进程视图(process view)、实现视图(implementation view )、部署视图(deployment view)。这五个视图一般称为“4+1”视图,其中用例试图是“4+1”视图的核心.
(3)一个UML的例子
1.需求分析2.采用用例驱动的分析方法分析需求的额主要任务是识别出系统的参与者和用例,用例图是被称为参与者的外部用户所能观察道德系统功能的模型图;3.活动图显示了系统的流程,可以是工作流也可以是事件流在系统分析阶段使用;4.顺序图描述了对象之间传递消息的时间顺序。在顺序图中,每一个的对象用一条生命线来表示,即用垂直线代表整个交互过程中对象的生命周期。5.协作图在一次交互中有意义的对象和对象之间的链建模.在协作图中直接相互通信的对象之间有一条直线,没有画线的对象之间不直接通信6.类图描述系统的静态结构,展现了一组类、接口、协作和他们之间的关系,需要永久存储实体类之间的关系用关联关系表示。7.状态图是一个类对象所经历的所有历程的模型图,它由对象的各个状态和连接这些状态的变迁组成