对象和类
对象:系统中用来描述对象的实体,由属性和操作组成。
类:具有相同属性和操作的一组对象的集合,由类名、属性及操作组成
主动对象:至少有一个操作不需要接收消息就能主动执行的对象
被动对象:所有操作都是被动的响应从外部发来的消息才能够执行的对象
主动类:主动对象的类
主动操作:不需要接收对象就能主动执行的操作,用来定义进程,线程。。。。
被动对象的操作:函数,过程。。。
对象与类的应用
1.将问题域中的事物抽象为对象
2.将具有共同特征的对象抽象为类,用类及其关系构成系统的整体模型
3.模型中不包含实例级的建模元素,用类表示该类的任何对象
4.在类的规约中说明此类将创建哪些对象实例
类的表示法
研究问题域及用户需求
1.研究用户需求,明确系统责任
用户需求:用户对将要开发的系统提出的各种要求及期望,包括系统功能、性能、安全性、交互性等技术要求以及交付时间、使用资源等非技术性要求;一般情况下,功能需求是分析员考虑最多的因素。
手段:阅读、交流、调查、记录、整理
2.研究问题域
问题域:被开发的应用系统所考虑的整个业务范围。
手段:亲临现场、阅读、认真听取专家的见解、借鉴
3.确定系统边界(外部参与者)
系统边界:一个系统所包含的所有系统成分及系统以外的各种事物之间的分界线
发现对象
1.出发点:问题域及系统责任
2.正确运用抽象原则
3.策略与启发
a.考虑问题域:人员、组织、物品、设备、抽象事物、事件、文件、结构。。。
人员:需要由系统保存和管理其信息的人员;应该在系统中完成某些功能、提供某些服务的人员
组织:在系统中发挥一定作用的组织机构
物品:需要由系统管理的各种物品
设备:在系统中动态运行、由系统进行监控或供系统使用的各种设备等
抽象事物:没有具体物理形态,却对用户的业务具有实际意义的逻辑上的事物
事件:需要长期记忆的事件
文件:人类日常管理及业务活动中使用的各种表格、档案等文件
结构:从结构实现联想
b.考虑系统边界
外部参与者包括人员,设备,外部系统
c.考虑系统责任
发现疏漏的对象,
策略:对照系统责任所要求的每项功能,查看是否可以由已发现的对象来完成
d.审查和筛选
1.舍弃无用的对象
2.对象精简:只有一个属性、操作的对象
3.推迟到OOD时候考虑
对象分类
1.将对象抽象为类
2.检查和调整
a,类的属性或操作不适合该类的全部对象
b.属性及操作相同的类
c.属性及操作相似的类
d.对同一事物的重复描述
建立类图的对象层
1.用类符合表示类,填写类名
2.标记已经确认的主动对象