11.2系统设计
面向对象的软件设计也分为两个层次:系统架构设计(也叫做结构设计)和系统元素设计,系统架构设计是指系统主要组成元素的组织或结构,以及各组成元素之间进行交互的接口定义,该设计工作主要包含6个方面的活动:系统高层结构设计、确定设计元素、确定任务管理策略。实现分布式机制,设计数据存储方案,和设计人机界面。系统架构设计时针对整个系统的某设计,结果将影响整个系统,对系统元素的设计有指导作用。
系统元素包括组成系统的类,子系统与接口、包等。系统元素设计就是针对每个设计元素进行详细设计。
大多数面向对象系统的逻辑设计模型可以划分为4部分,分别对应组成目标系统的4个子系统,即问题域于系统,人机交互于系统任务管理子系统和数据管理子系统。
11.2.1问题域子系统设计
面向对象分析所得出的问题域精确模型,为设计问题域子系统奠定了良好的基础,建立了完整的框架,通常面向对象设计仅需从实现角度对问题域模型做一些补充或修改,主要是增添、合并或分解类、属性及服务,调整继承关系等。
在问题域子系统设计中,常用的增添、合并或分解思路和方法包括以下方面。
(1)为复用设计与编程的类二增加结构
如OOA识别和定义的类是本次开发中新定义的,就需要从头开始进行设计,如果已存在一些可复用的类,而且这些类既有分析、设计和定义,又有源程序,那么复用这些可以客观开发效率和质量,一般都是相似不可能完全相同,对其相似的进行修改,修改成自己需要的。设计目的是尽可能使用复用成分增多,新开发的成分减少。
如果有某一个类有相似性,可以将所有的具