UML总结
面向对象技术
面向对象的三个特性
封装性、多态性、继承性
模型和可视化建模
模型:系统、目标、组成、约束条件、变量、关系
建模的原理
分解、抽象、泛化(继承)、投影/视图、结构化、形式化
uml是统一建模语言是用来设计软件蓝图的可视化建模语言
uml工具:Rational Rose
uml的构成
uml基本构造块:1.事物 2.关系 3.图(核心内容)
事物
结构事物(静态属性):1)类 2)接口 3)协作 4)用例 5)主动类 6)构件 7)节点(server)
行为事物(动态行为):1)交互 2)状态
分组事物:包(package)(同一个包中的事物命名是唯一的)
关系:关联(实线带箭头)、依赖(虚线带箭头)、泛化(实线三角箭头)、实现(虚线三角箭头)
星号(*)代表多个
uml包括9中图:用例图、类图、对象图、状态图、组件图、部署图、协作图、序列图、活动图、
uml的共公机制
通用划分:类/对象二分法
接口/实现二分法
面向对象基础与应用
面向对象技术的基本原则:抽象、封装、模块性、层次性
对象描述一个事物,它具有:状态、行为、标识
可以称 对象是类的一个实例
什么是多态:同一个命令,不同对象产生的不同行为
用例图
用力模型是由开发者和用户共同达成的共识。用例图描述用户需求。
用例的主要属性:事件流、前置条件、后置条件、
用例图的粒度与范围
类的表示
私有为减号,公有为加号,保护为井号
类可以分为边界类、实体类、控制类
关联:普通关联、聚合关系(空心菱形)、组合(实心零星)
如果现有整体才有部分,那就用组合关系,否则就是聚合。
继承:单重继承、多重继承
类图
抽象类:abstract
抽象的出类->得出类的方法->类和类之间的关系
包图
包和包之间的关系:泛化、细化、依赖
-
对象图:某一时刻的展现
行为图:活动图、状态图
活动图与流程图的不同,活动图能描述并发执行。
活动图的基本要素
泳道:用于对活动图中的活动进行分组,用于描述对象之间的合作关系。
状态图
用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移
状态图的图符:状态、转移、起点、终点
状态图侧重结果,活动图侧重过程
交互图:用来描述系统中的脆响是如何进行相互作用的。
顺序图、协作图。
实现图:部署图、构件图
构件图:用来显示一组构件之间的组织与依赖关系
部署图:用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件。
构件图
最重要的是构件
构件是系统中遵从同一组接口且提供其实现的物理的、可替换的部分。
分为类似:源代码构件、二进制构件、可执行构件、数据文件或文档
构件和类
1.类表示逻辑抽象,而构件表示物理抽象。
2.构件是其他元素的物理实现。
3.类可以直接拥有属性和操作,一般情况下,构件一般只拥有只能通过其接口访问的操作。
构件的特点
构件是物理的
构件是可替换的
构件是系统的一部分
构件遵从一组接口并提供对一组接口的实现
构件图的组成:构件、接口、关系
构件与对应接口之间的关系:实现
构件与其他构件之间的关系:依赖
部署图:用来描述软件和硬件之间的关系,节点关系,只能有依赖和关联
RUP
RUP是一种特别适用于UML的生命周期的方法
RUP所处理的问题
1.有缺陷的、无法预见结果的、高度依赖于个别“英雄”程序员的、不可重复的开发过程
2.开发的软件难以适应用户的要求
3.在应对需求的变更方面无能为力
4.需要单调乏味和昂贵的测试流程
5.项目中出现的严重缺陷发现的太迟
6.开发的软件难以维护和扩充
记录称重数据说明文档
1.简要说明
2.事件流
(1)基本流:指程序在正常情况下的运行
(2)备选流:指程序在非正常情况下该如何运行
(3)特殊需求:
(4)前置条件:在运行前需要什么条件
(5)后置条件:在执行后得到什么结果
(6)扩展点:需要什么说明
(7)相关数据:
设计:框架设计、详细设计