- 1、本文档共313页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分析阶段的工作结果是需求说明书,它明确地描述了用户要求软件系统“做什么”。既然“问题”明确了,我们就可以着手寻求“解答”,即建立一个符合用户要求的软件系统。 如果问题较简单,要求一旦确定了,立刻就可以开始编程。但对大型系统来说,为了保证产品的质量,并使开发工作能顺利进行,我们必须先为编程制订一个周密的计划,这项工作就称为设计(Design),设计实际上是为需求说明书到程序间的过渡架起一座桥梁。 设计要决定软件系统的结构,包括数据结构和程序结构,本章只讨论程序结构,第八章将介绍一些为数据库系统组织数据结构的方法。 下面先分析大型程序结构上的特征。 工程上许多大系统都是由一些较小的单元组成的,如建筑工程中的构件、机器中的各种零部件等。这样做的优点是便于加工制造、便于维修,由于一些部件可以公用,成本也较节省。 同样,一个几万行的程序系统也不应是铁板一块的,它应由许多较小的单元组成(图4.1),这种单元可称为模块。 模块(Module)一词目前尚无统一的定义,通常是指用一个名字可以调用的一段程序语句,在本书中我们可以暂将它理解成类似“子程序”的概念,例如PASCAL中的函数和过程,FORTRAN中的函数和子程序,COBO中的节、段等,以及汇编语言中的子程序都可看作是模块,在这些语言中都有相应的过程调用、函数调用等机制(如CALL语句)实现对模块的调用。 下面这段用PASCAL语言写的过程就是一个模块。 PROCEDURE lowterm(VAR num,den:integer); VAR numcopy,dencopy,remainder:integer; BEGIN numcopy:=num; dencopy::den; WHILE dencopy≠0 DO BEGIN remainder: =numcOpy MOD dencOpy; } numcopy:===dencopy; l dencopy: =remainder END;{while) IF numcopy, THEN BEGIN num:=num DIV numcopy; den:一den DIV numcopy END END;{lowterm) 一个 模块具有输入和输出、功能、内部数据、程序代码等四个特性,输入和输出分别是模块需要的和产生的信息,功能是指模块所做的工作,输入输出和功能构成了一个模块的外貌,即模块的外部特性。模块用程序代码完成它的功能,内部数据是仅供该模块本身引用的数据,内部数据和程序代码是模块的内部特性。对模块的外部环境(例如需要调用这个模块的另一个模块)来说,只需了解它的外部特性就足够了,其内部特性应该是不必了解的。 上面这段PASCAL过程,lOWterm是其模块名。模块名一般应能反映该模块的功能,参数num和den是它的输入和输出,变量numcopy、dencopy、remainder是仅供该模块内部使用的数据,从第一个BEG。lN至末一个END之间就是该模块的代码。 同第三章中的思想方法一样,“由外向里”是较合理的一种思考过程,所以我们通常是先确定模块的外部特性,再确定其内部特性。因而软件的设计阶段要分成概要设计和详细设计两步进行。概要设计的任务是决定系统中各个模块的外部特性,即其输入输出和功能;详细设计的任务是决定每个模块的内部特性,即其内部的算法过程及使用的数据。 概要设计(Preliminary Design)又称总体设计(Architectural。Design),它的基本任务是: ·将系统划分成模块 ·决定每个模块的功能 ·决定模块的调用关系 ·决定模块的界面,即模块间传递的数据 所以概要设计的主要工作就是完成模块分解,确定系统的模块层次结构(图4.1)。这项工作技术上比较复杂,也需要人的创造能力。 对同一用户需求,可以提出多个设计方案,一个系统的质量在很大程度取决于设计方案的质量,所以在设计阶段只考虑一个设计方案是不够的,我们应该尽量考虑多种可能的方案,并对各个方案的质量进行全面的评价,然后从中选出一个较好的方案来。所谓“较好”是指在一定的限制条件下(如成本、时间、可使用资源等。)能使所期望的目标(可维护性、可靠性、可理解性、效率等)较大限度地得到满足。 概要设计需交付的文档中,除了对数据结构的描述部分
文档评论(0)