没有天生的高手,更没有永远的菜鸟求知若饥, 虚心若愚

No.10软件设计


软件设计是需求分析的延伸与扩展。软件设计分为结构化设计和面向对象设计。

结构化设计

SD是一种面向数据流的方式,它以SRS和SA阶段产生的DFD和数据字典等文档为基础,是一个自上而下、逐步求精和模块化的过程。

SD方法的基本思想是将软件设计成有相对独立且具有单一功能的模块组成的结构,分为该要设计和详细设计两个阶段,其中该要设计又称为总体结构设计,它是开发过程中很关键的一步,其主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。

在该要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,而为每个具体的任务选择适当的技术手段和处理方法的过程为详细设计。

根据任务的不同,详细设计又可以分为多种,例如,输入输出设计,处理流程设计,数据存储设计,用户界面设计,安全性设计,可靠性设计等。

<mark>在SD中,需要遵循一个基本的原则:高内聚、低耦合</mark>

内聚表示模块内部各成分之间的联系程序,是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做好目标单一的一件事;耦合表示模块之间的联系程度。紧密耦合表示模块之间联系非常强,松散耦合表示模块之间联系比较弱,非耦合则表示模块之间无任何联系,是完全独立的。

面向对象设计

OOD是OOA方法的延续,其基本思想包括抽象、封装和可扩展性,其中可扩展性主要通过继承和多态来实现。在OOD中,数据结构和在数据机构上定义的操作算法封装咋i一个对象之中,由于现实世界中的事物都可以抽象出对象的集合,所以OOD方法是一种更接近现实世界、更自然的软件设计方式。

OOD的主要任务是对类和对象进行设计,包括类的属性、方法,以及类与类之间的关系。OOD的结果就是设计模型。对于OOD而言 ,在支持可维护性的同时,提高软件的可复用性是一个至关重要的问题。

在OOD中,可维护性的复用性是以设计原则为基础的。常用的OOD原则如下:

  1. 单一指责原则:设计功能单一的类。本原则与结构化方法的高内聚原则是一致的。
  2. 开放-封闭原则:对扩展开放,对修改封闭。
  3. 李氏替换原则:子类可以替换父类。
  4. 依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。
  5. 接口隔离原则:使用多个专门的接口比使用单一的总接口要好
  6. 组合重用原则:要尽量使用组合,而不是继承关系达到重用的目的。
  7. 迪米特原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解。本原则与结构化方法的低耦合原则是一致的。

设计模式

设计模式包含模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式等基本要素。

根据处理范围不同,设计模式可分为类模式和对象模式。类模式处理类和子类之间的关系,这些关系通过继承成立,在编译时刻就被确定下来,数据静态关系,对象模式处理对象之间的关系,这些关系在运行时刻变化,更具动态性。

根据目的和用途不同,设计模式可分创建型模式、结构型模式、和行为型模式三种

文章评论已关闭!