系统静态分析建模(类图)
title: 系统静态分析建模(一)
date: 2019-12-03 19:32:43
categories:
- 系统分析与设计
系统分析的概念
一种问题解决技术,将一个系统分解成各个组成部分,目的是研究各个部分如何工作、如何交互、以实现其系统目标。
系统分析的任务是了解现有业务系统,理解其中的问题,定义改进目标,并确定后续技术方案必须实现的详细业务需求。
模型驱动分析方法
- 结构化分析法
- 面向过程的分析方法
- 信息工程法
- 面向数据的
- 面向对象分析
- 面向对象的分析法——UML建模工具
加速系统分析法
加速分析法强调构造原型,以便更快速地确定系统业务需求。
原型通常是一个预期系统的小规模的不完整的但可以工作的示例。
-
获取原型
- 获取原型使用快速开发技术辅助用户获取业务需求。
- 简单工具快速构建
-
快速架构分析
- 也是一种构建系统模型的加速分析法。通过逆向工具,从现有系统分或以获取的原型中导出系统模型
- 逆向工具导出模型
需求分析法
-
调查研究技术
对已有的系统文档、报告、数据库进行调查;查询相关文献;咨询相关技术人员、管理人员。
-
集体获取方法
头脑风暴、专项讨论会等
业务过程重构法
- 项目重构
对象与类的分析(类图、对象图)
类图
- 在UML中,问题域最终被逐步转化,通过类来建模。
- 类图描述了每个类本身的组成,即类的属性和方法
- 描述了系统中类之间的一个静态联系,即类与类的关系。
类图的组成元素
-
组成包括:类(class)、接口(interface)、协作(collaboration)
- 类:类名、属性、操作
-
关系包括:依赖、泛化、实现、关联
-
泛化(继承):
- 它是一般元素与特殊元素之间的分类关系,即将具有共同特性的元素抽象成类别,并通过增加其内涵进一步分类,体现分类与继承原则。
- 一般元素是父类,特殊元素是子类
- 用空心三角箭头实线表示
-
依赖:
- 是一种“使用”关系,说明一个模型元素的变化必影响到另一个模型元素,但反之未必。
- 用带箭头的虚线表示,箭头指向被依赖的模型元素
- 举例:课表依赖课程。当课程变化时,课表也会变化。
- 类之间依赖的泛型:跟踪、精化、派生、使用、调用、实例化、参数、发送、绑定、实现
-
关联
- 一种结构关系,代表类的对象(实例)之间的一组连接(链)
- 属性:名称、角色、多重性、导航、限定、约束
- 种类:自反、二元、N元
- 特殊关联:聚集、组合
-
接口和实现的关系
-
接口:也是类,用于描述类或构件必须实现的契约。
-
接口是操作的集合,这些操作规定类或构件的服务即接口定义了类或构件必须实现的操作(方法)
-
实现关系:是类元之间的语义关系。一个类元描述了另一个类元保证实现的契约。
-
实现关系表示:带封闭空箭头的虚线
-
-
类图的层次和细化关系
- 按层次分:概念层、说明层、实现层
- 概念层:描述对现实世界问题的概念理解
- 说明层:描述软件的接口部分,不是具体实现部分
- 实现层:描述软件的实现部分,真正有类的概念
对象图
-
UML中对象图与类图表示方法一样,但所表达的内容与含义不同
-
对象图一般包括对象和链接
-
也包含注解、约束、包、子类系统等
分析阶段类图的构建
- 确定类
- 找出候选类
- 审查与筛查类
- 识别类的属性和操作
- 识别类的属性,只考虑与具体应用相关的属性
- 识别类的操作,综合对象模型、动态模型、功能模型,正确确定类中应有的服务(操作)
- 组织类并确定其关系
- 确定关联关系与多重性
- 利用继承组织类
- 考虑存在的聚集或组合关系
- 对于辅助的系统,过多的类会使系统不清晰,为使模型清晰描述系统,可以把相互协作可完成某个特定功能的一组密切相关的类集合定义为一个子系统,用包图为其建模,称为类包图