什么是软件设计呢?
发布网友
发布时间:2022-02-28 15:04
我来回答
共4个回答
热心网友
时间:2022-02-28 16:33
软件设计是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。软件设计是把许多事物和问题抽象起来,并且抽象它们不同的层次和角度。将问题或事物分解并模块化使得解决问题变得容易,分解的越细模块数量也就越多,它的副作用就是使得设计者考虑更多的模块之间耦合度的情况。而软件设计模式作为当代计算机软件开发而形成的一种全新的设计理念,软件设计模式在计算机的应用中显得越来越重要了。
软件设计是把许多事物和问题抽象起来,应用各种各样的技术和原理,并用它们足够详细的定义一个设备、一个程序或系统的物理实现的过程。这个步骤是由多方面的直觉与判断力来共同决定的。一个对软件的全局观点。系统通过逐步求精使得设计陈述逐渐接近源代码。这里有两个基本步骤,第一步是初步设计(Preliminary design) ,关注于如何将需求转换成数据和软件框架。
第二步是详细设计(Detail design),关注于将框架逐步求精细化为具体的数据结构和软件的算法表达。发生中的设计行为、数据、算法和程序设计都需要由现代程序所需的界面设计这一清晰的行为来结合起来。界面设计(Interface design) 建立程序布局和人机交互机制。贯穿设计过程的质量由一系列的正式技术评定(formal technical reviews)或设计排演(design walkthroughs)来评价。
软件设计的要素
软件设计包括软件的结构设计,数据设计,接口设计和过程设计。
结构设计:定义软件系统各主要部件之间的关系。
数据设计:将模型转换成数据结构的定义。
接口设计:软件内部,软件和操作系统间以及软件和人之间如何通信。
过程设计:系统结构部件转换成软件的过程描述。
热心网友
时间:2022-02-28 17:51
软件设计是把许多事物和问题抽象起来,应用各种各样的技术和原理,并用它们足够详细的定义一个设备、一个程序或系统的物理实现的过程。这个步骤是由多方面的直觉与判断力来共同决定的。
任务
含义
软件设计的任务是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。
特征
一,抽象
二,模块化
三,信息隐蔽
四,模块独立性:模块独立性可以从两个方面度量:
1,内聚性:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。
2,耦合性:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合
设计要素
软件设计包括软件的结构设计,数据设计,接口设
计和过程设计。
结构设计是指:定义软件系统各主要部件之间的关系。
数据设计是指:将模型转换成数据结构的定义。
接口设计是指:软件内部,软件和操作系统间以及软件和人之间如何通信。
过程设计是指:系统结构部件转换成软件的过程描述。
热心网友
时间:2022-02-28 19:26
软件设计就是从软件的需求规格说明着手,然后根据分析阶段去更好的确定功能软件系统的完整结构以及划分功能模块,这样可以更好的确定每一个模块的计算方式以及编写代码,最终形成一个具体的软件设计方案。

很多人虽然是从事软件设计的,或者说是对软件设计的确有一定的了解,但是对其是什么的问题却是难以彻底解释清楚的。
很多事物以及问题都需要抽象化的处理,那么软件设计就可以很好的进行实现,甚至是实现不同层次以及不同角度的抽象,最终达到更好的效果。
这其中有软件的结构设计、结口设计、数据设计以及过程设计等等多个方面,总体上来说是不太好把握的。那么如今能够进行软件设计的人群比较多,做好做精的却并不多,原因也就在于此了。
热心网友
时间:2022-02-28 21:34
基本内容详细设计 详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。
传统软件开发方法的详细设计主要是用结构化程序设计法。详细设计的表示工具有图形工具和语言工具。图形工具有程序流程图、PAD(Problem Analysis Diagram)图、NS(由 Nassi和 Shneidermen开发,简称 NS)图。语言工具有伪码和 PDL(Program Design Language)等。
主要任务:
1.为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;
2.确定每一模块使用的数据结构;
3.确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。
在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档。交付给下一阶段(编码阶段)的工作依据。
4.要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。
详细设计的工具:
1.图形工具
利用图形工具可以把过程的细节用图形描述出来。
2.表格工具
可以用一张表来描述过程的细节,在这张表中列出了各种可能的操作和相应的条件。
3.语言工具
用某种高级语言(称之为伪码)来描述过程的细节。