软件教学中关于软件设计的概要设计与详细设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北方经贸

 软件教学中

 关于软件设计的概要设计与详细设计

敖 冰 峰

(黑龙江机械制造学校,黑龙江 哈尔滨 150080)

[摘 要]随着软件设计成为当今软件开发的主流,软件设计规范也相应提到日程上来。文章结合国内有关软件开发的条例和管理经验以及多年从事软件教学的实践成果,从概要设计和详细设计角度详细分析和概括了软件设计开发过程中应注意的问题以及相应的解决方案,通过对软件标准化的论述能够使从事软件设计人员在以后实践中有所借鉴。

[关键词]概要设计;详细设计;软件设计;标准化

[中图分类号]G434 [文献标识码]A [文章编号]1005-913X(2002)05-0119-02

随着软件设计的不断普及和提高,软件设计的方案和要求的制定也被提到日程上。经过多年软件设计的教学和实践体会,将软件设计的内涵及其要求总结如下:概要设计与详细设计是软件生存周期的两个阶段,实践中这一阶段的工作通常是采用自顶向下逐步求精的结构化设计方法,在需求分析的基础上,得到有关软件系统更详细的设计方案、软件结构、程序流程等。这两个阶段开发规范如下:

一、概要设计开发规范

(一)本阶段任务

根据软件需求说明,建立目标系统的总体结构和模块间的关系,定义各功能模块的接口、控制接口。设计全局数据库(数据结构),规定设计限制,制订组装测试计划。

(二)实施步骤

11建立目标系统的总体结构。对于大型系统,可按主要的软件需求划分成子系统,然后为每个子系统定义功能模块及各功能模块间的关系,并描述各子系统的接口界面;对于一般系统,可按软件需求直接定义目标系统的功能模块及各功能模块间的关系。

21给出每个功能模块的功能描述、数据接口描述、外部文件及全局数据定义。

31设计数据库或数据结构。

41制订组装测试计划。

51评审。

(三)实施要求

11在设计目标系统的整体结构时,应力争使其具有好的形态,各功能模块间应满足低耦合度,而各功能模块内应满足高内聚度,功能模块的作用范围应在某控制范围之内。

21在设计目标系统的总体结构时,应降低模块接口的复杂性,提高目标系统的可移植性。

(四)完成标志

11所有已定义的软件需求均被所设计的系统所覆盖。

21建立了系统结构,明确指出系统各模块的功能,模块间的层次关系及接口控制特性。

31所指定的文件要齐全,可验证,应交付的文件有:概要设计说明书、数据库设计说明书,组装测试计划。

二、详细设计开发规范

(一)本阶段任务

对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和内部结构,为编写源代码提供必要的说明,建立“模块开发卷宗”。

(二)实施步骤

11将概要设计产生的构成软件系统的各个功能模块逐步细化,形成若干个程序模块。

21采用某种详细设计表示方法对各个程序模块进行过程描述。

31确立各程序模块之间的详细接口信息。

41建立模块开发卷宗。

51拟定模块测试方案。

61评审。

(三)实施要求

11确实程序模块内的数据流或控制流,对每个程序模块必须确定所有输入、输出和处理功能。

21规定符号的使用,确定命名规则。

31尽可能按结构化程序设计原则进行设计。

(四)完成标志

11详细地规定了各程序模块之间的接口,包括参数的形式和传送方式,上下层的调用关系等。

21确定了模块内的算法及数据结构。

31所指定的文件要齐全、可验证。应交付的

911

2002年第5期 N ORTHERN ECON OMY AN D TRADE 教育论坛

BEI FANG J ING MAO

北方经贸

文件一般应有:详细设计说明书、模块开发卷宗。

三、软件设计说明书主要内容与格式软件设计说明书中应具有以下内容:

11概念,关于软件功能和结构的总体描述。21模块结构图。

31文件结构和全局数据,给出外部文件的结构和软件所使用的全局数据。

41模块描述。给出模块图中每个模块的详细描述,主要包括:功能描述、界面描述、数据描述、处理描述等,其中界面描述还应包含模块调用、数据通讯等内容,数据描述还应包含模块内的数据组织和文件处理,此外在模块描述部分还可以有需要说明的注释内容。

四、标准化是计算机软件设计化基础

建立软件产业,就是要实现软件开发工程化。软件产业化,软件产品社会化,既然是工程化就要象传统工业一样,要有标准规范的技术,工艺流程,管理方法以及工具等等;既然是产品,就要按一定的规格生产,要有衡量产品是否合格的质量标准;既然要实现产品社会化,就必须象其它工业产品一样,只有标准化了才能推广、应用。因此,要建立计算机软件产业,首先要有一套适用的标准规范,否则就构不成一个行业。因此,从这个意义上说,标准化是软件产业的基础,是计算机软件设计化的基础。

(一)软件设计标准化的内容

随着软件设计学科的发展,人们对计算机软件的认识逐渐深入。软件工作的范围从只是使用程序设计语言编写程序,扩展到整个软件生存期,诸如,软件概念的形成、需求分析、设计、编码、测试、安装和检验、运行和维护直到软件废弃。同时还有许多技术管理工作(如过程管理、产品管理、资源管理)。以及确认与验证工作(如评审与审计、产品分析、质量测试等)常常是跨越软件生存期各个阶段的专门工作。另一方面,软件设计标准的类型也是多方面的。它可能包括过程标准(如方法、技术、度量等),产品标准(如需求、设计、部件、质量等)、专业标准(如认证、特许、道德准则等)以及记法标准(如术语、表示法、语言描述等)。

由上可知,软件设计标准化是对整个软件生命周期即有关软件生产全过程的标准规范。其标准化的对象、内容等与一般工业的标准化相比有许多相似之处。但存在一定的差异。软件设计标准化的主

要对象是:文档编制、生产设计过程、方法与工具、软件品质管理以及工时估计和成本核算等等。典型的标准化通常包括以下内容:

11项目定义。这些标准规定项目的目标、约束和整个计划的叙述形成。

21系统说明。这些标准性集中在完成系统特性的说明。

31文档。这些标准集中在完成系统特性的说明,保证所有文件是自包含和易读的。

41程序设计。这些标准涉及程序的风格、结构和内部文档。对过程的调用、空格的安排、控制结构、参数变量名的选择上严格规定,常常是特别主要的。

51测试和质量控制。在编码前必须对软件测试和质量控制建立起标准过程,另外,外部文档的系统修改和维护的安全过程也须在编码时建立一系列标准。

(二)软件设计标准化的意义

积极推行软件设计标准化工作,其道理是显而易见的。仅就一个软件开发项目来说,有多个层次、不同分工的研制人员相互配合,在开发项目的各个部分以及各开发阶段之间也都存在着许多联系和衔接问题,如何把这些错综复杂的关系协调好,需要有一系列统一的约束和规定,在软件开发项目取得阶段成果或最后完成时,需要进行阶段评审和验收测试。投入运行的软件,其维护工作中遇到的问题又与开发工作有着密切的关系。软件的管理工作则渗透到软件生存期的每一个环节。所有这些都要求提供统一的行动规范和衡量准则,使得各项软件研制工作有章可循。

软件设计的标准化会给软件工作带来许多益处。比如:

11便于质量均一化,提高软件的可靠性、可维护性和可移植性。

21便于协同作业,提高软件的生产率。31便于程序评价和技术交流。

41提高软件研制人员之间的通讯效率,减少差错和误解。

51有利于降低软件产品的研制成本和运行维护成本。

61有利于缩短软件开发周期。71有利于软件管理。

[责任编辑:白 雷]

21教育论坛 N ORTHERN ECON OMY AN D TRADE 2002年第5期

BEI FANG J ING MAO

相关文档
最新文档