📜  软件工程 |软件设计过程

📅  最后修改于: 2022-05-13 01:56:59.802000             🧑  作者: Mango

软件工程 |软件设计过程

软件开发的设计阶段涉及将 SRS 文档中描述的客户需求转换为可使用编程语言实现的形式。
软件设计过程可分为以下三个设计阶段:

  1. 界面设计
  2. 建筑设计
  3. 详细设计



界面设计:
界面设计是系统与其环境之间交互的规范。这个阶段在系统内部工作的高抽象层次上进行,即在界面设计期间,系统内部完全被忽略,系统被视为一个黑盒子。注意力集中在目标系统与其交互的用户、设备和其他系统之间的对话上。在问题分析步骤中产生的设计问题陈述应该识别统称为代理的人、其他系统和设备。

界面设计应包括以下细节:

  • 环境中事件的精确描述,或系统必须响应的代理消息。
  • 系统必须产生的事件或消息的精确描述。
  • 数据规范,以及进出系统的数据格式。
  • 指定传入事件或消息与传出事件或输出之间的顺序和时间关系。

建筑设计:
架构设计是系统主要组件、它们的职责、属性、接口以及它们之间的关系和交互的规范。在架构设计中,选择了系统的整体结构,而忽略了主要部件的内部细节。

建筑设计中的问题包括:

  • 将系统粗略分解为主要组件。
  • 将功能职责分配给组件。
  • 组件接口
  • 组件缩放和性能属性、资源消耗属性、可靠性属性等。
  • 组件之间的通信和交互。

架构设计增加了界面设计过程中忽略的重要细节。直到设计的最后阶段才忽略主要组件的内部设计。

详细设计:
设计是对所有主要系统组件的内部元素、它们的属性、关系、处理以及通常它们的算法和数据结构的规范。

详细设计可能包括:

  • 将主要系统组件分解为程序单元。
  • 将职能职责分配给各单位。
  • 用户界面
  • 单位状态和状态变化
  • 单元之间的数据和控制交互
  • 数据打包和实施,包括计划要素的范围和可见性问题
  • 算法和数据结构