软件设计

软件设计(Software Design)

目录

  • 1 什么是软件设计
  • 2 软件设计的内容
  • 3 软件设计的要素
  • 4 软件设计的原则
  • 5 软件设计的意义
  • 6 相关条目

什么是软件设计

  软件设计是指利用成熟的技术产品,完成工程技术要求的设计。

软件设计的内容

  软件设计是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。软件设计是把许多事物和问题抽象起来,并且抽象它们不同的层次和角度。将问题或事物分解并模块化使得解决问题变得容易,分解的越细模块数量也就越多,它的副作用就是使得设计者考虑更多的模块之间耦合度的情况。而软件设计模式作为当代计算机软件开发而形成的一种全新的设计理念,软件设计模式在计算机的应用中显得越来越重要了。

  软件设计是把许多事物和问题抽象起来,应用各种各样的技术和原理,并用它们足够详细的定义一个设备、一个程序或系统的物理实现的过程。这个步骤是由多方面的直觉与判断力来共同决定的。一个对软件的全局观点系统通过逐步求精使得设计陈述逐渐接近源代码。这里有两个基本步骤,第一步是初步设计(Preliminary design) ,关注于如何将需求转换成数据和软件框架。

  第二步是详细设计(Detail design),关注于将框架逐步求精细化为具体的数据结构和软件的算法表达。发生中的设计行为、数据、算法和程序设计都需要由现代程序所需的界面设计这一清晰的行为来结合起来。界面设计(Interface design) 建立程序布局和人机交互机制。贯穿设计过程质量由一系列的正式技术评定(formal technical reviews)或设计排演(design walkthroughs)来评价。

软件设计的要素

  1. 软件设计包括软件的结构设计,数据设计,接口设计和过程设计。
  2. 结构设计:定义软件系统各主要部件之间的关系。
  3. 数据设计:将模型转换成数据结构的定义。
  4. 接口设计:软件内部,软件和操作系统间以及软件和人之间如何通信
  5. 过程设计:系统结构部件转换成软件的过程描述。

软件设计的原则

  1. 设计对于分析模型应该是可跟踪的:软件的模块可能被映射到多个需求上。
  2. 设计结构应该尽可能的模拟实际问题。
  3. 设计应该表现出一致性。
  4. 不要把设计当成编写代码。
  5. 在创建设计时就应该能够评估质量。
  6. 评审设计以减少语义性的错误。
  7. 设计应该模块化,将软件逻辑地划分为元素或子系统,并包含数据、体系结构、接口和构件的清晰表示。

软件设计的意义

  软件设计的任务是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。软件设计是一种在设计者计划中通过诸如软件如何满足客户的需要,如何才能容易地实现和如何才能方便地扩展功能以适应新的需求等不同的考虑的创造性活动。软件设计有很多设计方法或技巧,通过借鉴他人的经验让这件事完成得更好。同时,设计者们也可以利用成熟的标记法将他们的想法和计划传达给开发者以及其他相关人员,使他们更好地了解这个系统。

相关条目

阅读数:368