类的分类
类似:MVC
实体类:该类对象表示现实世界中真实的实体,如人、物等
接口类(边界类):该类对象为用户提供一种与系统合作 交互的方式,分为人和系统两大类:
人的接口:可以是显示屏、窗口、Web 窗体、对话框、菜单、列表框、其他显示控制、条形码、二维码或者用户与系统交互的其他方法。
系统接口:把数据发送到其他系统,或者从其他系统接收数据。
控制类:该类对象用来 控制活动流,充当协调者。
面向对象开发流程
面向对象分析
对系统中对象的 特征(属性) 和 行为(方法) 的定义
目的:确定系统的功能、性能要求
认定对象:按自然存在的实体确立对象。将自然存在的
名词作为一个对象组织对象:将对象抽象成类,建立具有继承的类结构。
对象间的作用:对象的关系,如一个对象是另一个对象的一部分,一个对象与其他对象间的通信关系等。
对象操作:如创建、增加和删除等
面向对象设计
面向对象设计(Object-Oriented Design,OOD)是将 OOA 所创建的分析模型转化为设计模型,其目标是定义系统构造蓝图
面向对象的设计活动
- 识别类及对象。
- 定义属性。
- 定义服务。
- 识别关系。
- 识别包。
面向对象的设计原则
单一职责原则:功能单一的类
开放-封闭原则:对扩展开放,对修改封闭
里氏(Liskov)替换原则:子类可以替换父类
依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程
接口隔离原则:使用多个专门的接口,比使用单一的总接口要好
组合重用原则:要尽量使用 组合/聚合,而不是使用继承
迪米特(Demeter)原则(最少知识法则):一个类对其他类的了解尽可能少
obertC.Martin 提出的面向对象设计原则
包括:
重用发布等价原则:重用的粒度就是发布的粒度。
共同封闭原则:包中的所有类对于同一性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包里的所有类产生影响,而对于其他的包不造成任何影响。

无环依赖原则:在包的依赖关系图中不允许存在环,即包之间的结构必须是一个直接的无环图形。
稳定抽象原则:包的抽象程度应该和其稳定程度一致。
稳定依赖原则:朝着稳定的方向进行依赖。
面向对象程序设计
357页
面向对象测试
尽可能 降低测试成本 和 减少测试用例,尽可能 更多的发现错误
分为下列4个层次进行:
算法层。测试每个方法,相当于 单元测试
类层。测试方法与属性之间的相互作用(模块测试)
模板层。测试类之间的相互作用,相当于传统软件测试中的 集成测试
系统层。把各个子系统组装成完整的面向对象软件系统,在组装过程中同时进行测试。
软件工程中传统的测试用例设计技术,如逻辑覆盖、等价类划分和边界值分析等方法,仍然可以作为测试类中每个方法的主要技术。
题
面向对象分析的目的是为了获得对应用问题的理解,其主要活动不
包括()
A、认定并组织对象
B、描述对象间的相互作用
C、面向对象程序设计
D、确定基于对象的操作
答案
B
题
进行面向对象设计时,就一个类而言,应该仅有一个引起它变化的
原因,这属于()设计原则。
A、单一责任
B、开放-封闭
C、接口分离
D、里氏替换
答案
A
题
进行面向对象系统设计时,针对包中的所有类对于同一类性质的变化;一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。这属于()设计原则。
A、共同重用
B、开放-封闭
C、接口分离
D、共同封闭
答案
D

