【软工】面向对象技术
一、面向对象的概念
面向对象=对象+类+继承+通信
面向对象就是使用这些概念设计还有实现。
1、对象
系统中用来描述客观事物的一个实体,是一个基本单位,每个对象可用它本身的一组属性和它可以执行的一组操作来定义。
属性:只能通过操作来改变。
操作:就是方法,它描述了对象的功能。
2、消息
对象和对象之间的联系。
3、类
具有相同数据结构、相同操作的对象集合。包括一组数据属性和在数据上的一组合法操作。
4、继承
使用已经存在的定义为基础建立新定义的技术。
类的继承层次:多边形、三角形、正方形、矩形,做好一般类,区别特殊类和一般类的不同做继承。
二、面向对象的开发过程
1、类的应用生存期
论域分析:找出开发问题的模型
应用分析:论域分析的细化,集中于当前要解决的问题
2、类的生存期
类的定义:每个阶段标识操作和数据说明
类的实现:按照类的规格说明进行设计,通过变量的声明、操作界面的实现及支持界面操作的函数的实现。内部实现和其他界面无关联。
类的测试:界面窄,封装性好,穷举测试可实现。自顶向下,已经测试的部分不需要测试。
求精和维护:最花费时间的部分,针对把类集成在一起的结构。
三、面向对象分析(OOA)与模型化
OMT技术:对象模型化技术把分析时收集的信息构造在三类模型中,这三个模型是一个迭代的过程。
1.对象模型
最关键,在OMT中,类与类之间的关系叫关联。
关联:聚合是两个类之间的关系;限定对关联做约束;角色用来说明关联的一段。
2.动态模型
着重与系统的控制逻辑。它包括两个图,状态图和事件追踪图。
状态图:描述每一类对象的动态行为。
事件追踪图:侧重说明发生于系统执行过程中的一个特定的场景(脚本)。
3.功能模型
由多个数据流图组成。数据流图中不提倡加入控制流。
OOA有两个任务:确定系统对象,确定对象间的关系。
构造OOA概念模型的层次:
对象–类层:建立基本块,信息建模,应用论域
属性层:对象的属性和实例共同组成
服务层:消息连接用有向箭头表示
结构层:描述整体结构
主题层:确定最后的模块
四、面向对象设计(OOD)
1.高层设计:总体设计
2.用户界面部门设计
用户分类:技能层次、组织层次、职能
描述人及其任务的脚本:考虑用户的使用,和熟练程度。
设计命令层:不可太多
设计详细的交互:一致性、操作步骤少、不要“哑播放”要给出反馈的信息。
继续做原型:使用原型工具做出原型让用户使用。
设计人机交互(HIC)类:窗口进一步细化。
3.任务管理部分的设计
定义各个任务
4.数据管理部分的设计
提供了在数据管理系统中存储和检索对象的基本结构。
数据管理方法:文件管理、关系数据管理、面向对象数据库管理。