软件设计分为概要设计和详细设计两个阶段,包括体系结构设计、界面设计、数据设计和过程设计。

一般把软件设计分为概要设计和详细设计两个阶段,包括体系结构设计、界面设计、数据设计和过程设计。

软件设计4个既独立又相互联系的活动,分别为体系结构设计、数据设计、接口设计(人机界面设计)、过程设计;

结构设计:定义软件系统各主要部件之间的关系。

数据设计:将模型转换成数据结构的定义.好的数据设计将改善程序结构和模块划分,降低过程复杂性。

接口设计(人机界面设计):软件内部,软件和操作系统之间以及软件和人之间如何通信。

过程设计:系统结构部件转换成软件的过程描述。确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达形式来描述各种算法。

1.概要设计:


也称总体设计,主要任务是基于数据流图和数据字典,确定系统的整体软件结构,划分软件的各个子模块,确定他们之间的关系概要设计是要完成体系结构设计数据设计界面设计

体系结构设计:
确定各子系统模块间的数据传递与调用关系;

界面设计:
包括与系统交互的人机界面设计,以及模块间、系统与外部系统的接口关系;

数据设计:
包括数据库、数据文件和全局数据结构的定义。

2.详细设计


详细设计的任务就是在概要设计的基础上,具体实现各部分的细节,直至系统的所有的内容都有足够详细的过程描述,使得编码的任务就是将详细设计的内容翻译成代码就可以了。详细设计就是完成过程设计

3.软件设计的原则
a.分而治之
分而治之用于解决大型、复杂度高的问题时所采用的策略。把大问题划分成若干个小问题,把对一个大问题的求解转换为对若干个小问题的解答,这样极大地降低了问题的复杂度;

b.重用设计模式
重用是指同一事物不做修改或者稍作改动就能多次使用的机制,重用的内容是软件的设计模式;

c.可跟踪性
软甲设计的任务之一就是确定软件各部分间的关系。设计系统结构,就是要确定系统各部分、个模块间的相互调用和控制关系,以便在需要修改模块的时,能掌握与修改模块有关的部分,并正确追溯问题的根源;

d.灵活性
设计的灵活性是指设计具有易修改性。会发生修改是因为:一是用户需求发生改变,二是设计存在缺陷,三是设计需要进化,四是设计利用重用。软件设计的灵活性主要是通过系统描述问题的抽象来实现。

e.一致性
一致性在软件设计方法和过程总都有体现。界面试图的一致性保证了用户体验和对系统的忠诚度。用统一的规则和约束规范模块接口定义,确保编码阶段对接口和数据结构的统一操作,减少数据理解的歧义。

你可能感兴趣的:(软考,软件工程)