本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明!
文章目录
1.什么是面向对象设计(OOD)?
2.优秀设计的主要特点是?
3.面向对象设计应遵循的准则有哪些?并分别简述内容
4.重用的含义?
5.面向对象设计的启发规则有哪些?分别进行简述
6.软件重用的层次结构?
7.可能被重用的软件成分?
8.可重用软构件应该具备的特点有哪些?
9.类构件的重用方式有哪些?
10.系统分解成许多子系统,面对对象设计模型分解成哪些子系统?
11.子系统之间有哪两种可能的交互方式?
12.把子系统组织成完整的系统时,有哪两种方案?
13.任务管理子系统的作用?
14.关联有哪两种可能的方式?
章末小结
1.什么是面向对象设计(OOD)?
面向对象设计(OOD)是用面向对象的观点建立求解域模型的过程,是多次反复迭代的过程
2.优秀设计的主要特点是?
容易维护
3.面向对象设计应遵循的准则有哪些?并分别简述内容
- 模块化:把程序整体划分成一个个独立命名且可独立访问的完成单个子功能的模块。采用模块化,软件结构清晰,不仅容设计也容易阅读和理解,有利于软件开发工程的组织管理
- 抽象:抽出事物的本质特性,暂不考虑其细节,使设计从具体实现方法中超脱。包括程序抽象、数据抽象、参数抽象
- 信息隐藏:对象封装。有利于测试期间和以后的软件维护期间进行次件的修改
- 弱耦合:包括交互耦合继承耦合。交互耦合应松散,继承耦合应紧密
- 强内聚:包括服务内聚类内聚、一般特殊-内聚。
- 可重用:是提高软件开发生产率和目标系统质量的重要途径
4.重用的含义?
- 尽量使用已有的类
- 需要创建新类,则在设计新类的协议时,考虑将来的可重复使用性
5.面向对象设计的启发规则有哪些?分别进行简述
- 设计结果应该清晰易懂:使设计结果清晰、易读、易懂,是提高软件可维护性和可重用性的重要措施
- 一般——特殊结构的深度应该适当:应该使类等级中包含的层次数适当
- 设计简单的类:应该尽量设计小而简单的类,以便于开发和管理
- 使用简单的协议:一般说来,消息中的参数不要超过 3个
- 使用简单的服务:一般只有3一5 行源程序语句,可以用仅含一个动和一个宾语的简单句子描述它的功能
- 把设计变动减少至最小:即出现必须修改设计的情况,也应该使修改的范围尽可能小
6.软件重用的层次结构?
7.可能被重用的软件成分?
- 项目计划
- 成本估计
- 体系结构
- 需求模型和规格说明
- 设计
- 源代码
- 用户文档和技术文档
- 用户界面
- 数据
- 测试用例
8.可重用软构件应该具备的特点有哪些?
- 模块独立性强
- 具有高度可塑性
- 接口清晰、简明、可靠
9.类构件的重用方式有哪些?
- 实例重用(最基本)
- 继承重用
- 多态重用
【注】:类构件是最好的重用方式
10.系统分解成许多子系统,面对对象设计模型分解成哪些子系统?
- 人机交互子系统
- 问题域子系统
- 任务管理子系统
- 数据管理子系统
11.子系统之间有哪两种可能的交互方式?
- 客户-供应商关系
- 平等伙伴关系
12.把子系统组织成完整的系统时,有哪两种方案?
- 水平层次组织
- 垂直块组织
13.任务管理子系统的作用?
调度任务完成的顺序
14.关联有哪两种可能的方式?
- 单向遍历
- 双向遍历
【注】:原型法开发软件时关联都应该是双向的
章末小结
面向对象设计就是用面向对象观点建立求解空间模型的过程。通过面向对象分析得出的问题域模型为建立求解空间模型奠定了坚实基础。分析与设计本质上是一个多次反复迭代的过程,而面向对象分析与面向对象设计的界限尤其模糊。
优秀设计是使得目标系统在其整个生命周期中总开销最小的设计,为获得优秀的设本结果。应该遵循一些基本准则。本章结合面向对象法学固有的特点讲述了面向对象设计准则,并介绍了一些有助于提高设计质量的启发式规则。
重用是提高软件生产率和目标系统质量的重要途径,它基本上始于设计。本章结合面向对象方法学的特点,对软件重用做了较全面的介绍,其中着重讲述了类构件重用技术。
用面向对象方法设计软件,原则上也是先进行总体设计(即系统设计),然后再进行详细设计(对象设计),当然,它们之间的界限非常模糊,事实上是一个多次反复迭代的过程。
大多数求解空间模型,在逻辑上由 4 大部分组成。本章分别讲述了问题域子系统人机交互子系统、任务管理子系统和数据管理子系统的设计方法。此外还讲述了设计类中服务的方法及实现关联的策略。
通常应该在设计工作开始之前,对系统的各项质量指标的相对重要性做认真分析和仔细权衡,制定出恰当的系统目标。在设计过程中根据既定的系统目标,做必要的优化工作。
反反复复,扎扎实实;念念不忘,必有回响!