一、UML
一、定义:统一建模语言,是一个开放的、可扩展的工业标注内的可视化建模语言,用于软件蓝图绘制,不是方法论
软件开发三要素之一:工具
UML用于描述软件分析、设计,为不同领域,不同开发阶段提供统一标准的交流标准
成功软件开发给出的经验:
1、注重系统架构的开发、使用
2、注重开发过程中的迭代和增量
UML的使用
20/80原则,用20%工具可完成80%的开发任务。
2、确有必要时,才画出相应图(软件规模)
二、UML的构成
视图、通用机制、模型元素
图示:
视图:分析系统的角度,多角度认识
对一个系统:功能性
非功能性
组织结构
用5种视图认识阶段:
图示
1、用例视图:参与者看到的系统功能
主要用况图供用户、分析、测试人员
用况图:系统参与者、用况及它们之间的关系
主要用来描述用户需求
2、逻辑视图:从系统的静态结构、动态行为出发,显示如何实现功能
供分析、设计、编程人员使用
类图:显示系统中的类和类间关系
对象图:显示对象及间关系,是类图的变体,描述系统运行某一时刻的快照
包图:分类、组织管理类的物理手段
3、并发视图:显示系统的并发,主要是系统开发和同步的线程和进程
供分析等开发人员使用
顺序图:显示一组对象如何响应消息完成的功能
协作图:功能同顺序图,知识强调参与功能的多对象的关联关系
活动图:显示从一个活动到另一个活动的过程
完成对算法的描述,支持并行
4、组件视图:从软件体系结构角度描述系统
供给开发人员使用
组件图:显示组件及之间关系
5、部署视图:显示将软件系统分布到事务处理器
部署图:显示系统软硬件结构,具体是类及其关系。
三、版本升级后
组合结构图:图中有图,更细化,补充
时间图:是一种强调时间的顺序图
交互概观图:用于从整体上显示交互序列之间的控制流
图示:
通用机制:在图中添加适当信息,完善语义表达
图示:
修饰:扩展图示含义,如类名斜体表示抽象类
注释:进一步语义说明
规格说明:说明图素的所有特征
通用划分:实现了不同级别的抽象描述
扩展机制:对UML进行扩展的约束
1、构造型
2、标记制:用字符串扩展信息
3、约束:对元素的限定进行说明
UML图与软件开发各阶段的对应关系:
图示:
四、软件开发各阶段文档
1、需求分析(用户语言):写出《系统需求规格说明书》
用例图
2、系统分析:给出类图,对象图,顺序图,活动图等描述系统的静态、动态规模。
3、系统设计:细化系统结构,确定包和类。
设置GUI,数据库,并发。
4、系统实现:模型生成代码,完善程序,注重注释
绘出组件图,部署图
五、计算机世界抽象层次
五、方法学(面向对象是方法,c++是语言,将方法和语言区分开)
1、目的:让后人使用前任的成果,把注意力集中到尚未开发领域的创造性老同。
2、没有放之四海而皆准的方法,各有各的特点,局限性。