前言
本文是结合《Enterprise Java with UML》的摘要与上课ppt的笔记。
1.用UML对Java建模导论
1.1 什么是建模
模型是对事物进行有目的的简化。我们通过建模认识和控制世界。
所以建模可以达到的效果:
- 可视化(简化)系统
- 自由指定系统的结构与行为
- 得到模板以构建新的系统
- 记录操作过程中的一切决定
1.1.1 简化
系统模型可以使得最终系统代码和组件变得容易理解,也更加易于评估和和扩展。
1.1.2 不同的视角
一个软件系统的模型可以通过高级的视图提供的上下文和导航功能帮助开发者把握系统的复杂性。
1.1.3 通用符号
将通用符号的理解与用法一致化,有利于软件开发人员并行的工作与合并成果。
1.2 UML
- 全称:unified modeling laguage
- 是一种用来规范、可视化、构造和记录软件系统制品的语言。称作统一建模语言或标准建模语言。
- uml的作用:
以清晰表达项目中的架设思想、项目结构、执行顺序等逻辑思维,便于交流。
1.3 用uml对软件系统建模
uml为开发人员提供了一个可以从不同视角来描述软件系统的相干模型。
1.3.1 客户的角度
unl提供了几种从用户的角度来记录系统需求的机制:
- 例图——用以帮助客户和开发人员理解系统的意图和规模。
- 用例——定义和描述用户从系统中获取价值的各种方法。
- 文本描述——用于记述用例,内容包括用户和系统间的交互细节。
1.3.2 开发者的角度
面向对象系统要求开发人员用对象来描述系统,通过对象之间的协作来为用户提供功能。uml提供的机制为:
- 静态类图——详细的定义和约束一组对象,表明了该类对象所持有的状态、行为、与其他对象的关系。
- 状态图——用于描述一个类的状态相关的行为。
- 包图——描述系统各部分之间的依赖关系,由系统不容部分的对象关系决定。
- 顺序图——表明一个对象是如何和其他对象进行交互以提供某个功能的。
- 协作图——同顺序图作用,但不同点在于协作图会清楚揭示对象之间的关系而不追求交互顺序的明晰。
- 活动图——描述过程与行为的细节
1.4 建模过程
建模过程主要包括:
- (需求收集) 收集用户需求,包括目标软件的外在特性、功能、性能等内容,并定义为相应的类
- (分析) 开发者分析理解问题,立足于系统的一种抽象的逻辑建模过程
- (技术选择) 开发人员根据技术实情对系统进行分类,以选择最合适的技术用于实现严格定义的需求;例如软件设计方案的规范化描述就包括:软件的架构、详细设计、界面设计、数据库设计的模型选取
- (构架) 开发人员提供一个高层次的视图以分解、描述系统
- (设计和实现) 开发人员利用前序阶段中的所有成果来创建一个复杂的对象模型。
推荐书籍
- UML软件建模技术-基于IBM RSA工具(清华大学出版社)
- UML2.0基础与RSA建模实例教程(人民邮电)
- 面向对象葵花宝典(李运华)(电子工业出版社)
- 火球——UML大战需求分析(第二版)(张传波)