《大象 Thinking in UML》学习笔记(十二)——系统设计

一、系统设计和系统分析的差别
系统分析是在不考虑具体实现语言和实现方式的情况下,将需求在软件架构和框架下进行的计算机模拟。
系统分析的目的是确定系统应当做成什么样的设想,而系统设计的目的是将这些设想转化为可实施的步骤。


二、设计模型
将分析模型里边界类、实体类和控制类根据所选用的实现语言变成设计类,细化一下已有方法,补充一些类属性,就完成了最基本的设计模型。
如果系统中许多功能具备相似的实现模式,则没有必要逐一建立设计模型。
为相似的功能建立指导性的设计模型,为复杂和特殊的功能建立设计模型。


三、接口设计
应当为每一个对象都设计接口,每个接口都对应一个实现类。
为具有相似行为的对象设计接口,将相同的行为提取出来形成接口。
为软件各层次设计接口,各层之间交互过程通过接口完成。


四、包设计
软件世界分包的应当遵循自顶向下原则、职能集中原则和互补交叉原则。
自顶向下的原则,分包时要像组织机构一样,从顶级包自顶向下延伸,避免平行化无层次分包。自顶向下的另一个重要含义是下层包不能够访问上层包,并且不能够跨层访问包,但同层次的包可以互相访问。


职能集中的原则,分包时尽量将与一组业务功能有关的类分在同一个包里。


互不交叉的原则,分包时包与包之间的类尽量独立,不要让他们产生相互依赖关系。
避免交叉依赖有两种方法,一种是将交叉依赖的类单独分包;另一种是增加新的类,并单独分包。

猜你喜欢

转载自blog.csdn.net/bit_kaki/article/details/79882654