一、结构化设计
SD(Structured Design),是专注于数据流的办法。基于SRS(系统需求规范)和SA(系统架构)阶段产生的DFD(数据流图)和数据字典等文档,它是一种自顶向下、逐步求精并模块化的过程。
概要设计
这一阶段主要是将系统所需的功能分配至软件模块中,明确每个模块的功能及调用关系,进而构建出系统的模块结构图,也就是系统架构图。
详细设计
这一阶段则将整个系统开发任务细化为许多基础且具体的任务,并为每个具体任务选择合适的技术手段和处理方法。这其中涵盖输入/输出设计、处理流程设计、数据存储设计、用户界面设计,同时也会考虑到系统的安全性和可靠性设计。
SD的设计原则强调高内聚、低耦合,以保障系统的稳定性和可维护性。
二、面向对象设计(OOD)
OOD是OOA(面向对象分析)方法的延续,其基本思想包括抽象、封装以及可扩展性,其中可扩展性主要通过继承和多态来实现。
OOD原则
1. 单一职责原则:这一原则要求设计功能单一的类,与结构化方法中的高内聚原则相呼应。
3. 里氏替换原则:此原则表明子类应当能够替换其父类,保证系统的正确性和可扩展性。
4. 依赖倒置原则:系统应依赖于抽象而非具体实现,编程时应针对接口而非实现。
5. 接口隔离原则:推荐使用多个专门的接口,而非单一的总接口,以降低类之间的依赖性。
6. 组合重用原则:优先使用组合而非继承关系来实现代码重用。
7. 迪米特原则(最少知识法则):此原则指出一个对象应对其他对象有最少量的了解,有助于减少类之间的耦合度。
三、设计模式
设计模式是软件设计中的经验之谈,包含了模式名称、所解决的问题、目的、解决方案、效果等要素。
按范围分类有类模式和对象模式;按目的和用途分类则有创建型、结构型和行为型模式。
创建型模式主要用于对象的创建,如工厂方法模式、抽象工厂模式、原型模式等。结构型模式则关注于类或对象的组合,如适配器模式、桥接模式、外观模式等。而行为型模式则描述了类或对象的交互及职责分配,如职责链模式、命令模式等。