预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共47页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章软件设计3.5软件详细设计3.物理设计对数据库进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。4.其他设计根据软件系统的类型,还可能要进行以下设计:(1)代码设计:为了提高数据的输入、分类、存储及检索等操作的效率,以及节约内存空间,对数据库中的某些数据项的值要进行代码设计。(2)输入/输出格式设计。(3)人机对话设计:对于一个实时系统,用户与计算机需频繁对话,因此要进行对话方式、内容及格式的具体设计。5.编写详细设计说明书详细设计说明书有下列的主要内容:(1)引言:包括编写目的、背景、定义、参考资料。(2)程序系统的组织结构。(3)程序1(标识符)设计说明:包括功能、性能、输入、输出、算法、流程逻辑、接口。(4)程序2(标识符)设计说明。(5)程序N(标识符)设计说明。6.评审对处理过程的算法和数据库的物理结构都要评审。3.5.2详细设计方法处理过程设计中采用的典型方法是结构化程序设计(SP)方法,最早是由E.W.Dijkstra在20世纪60年代中期提出的。详细设计并不是具体地编程序,而是已经细化成很容易从中产生程序的图纸。因此详细设计的结果基本决定了最终程序的质量。为了提高软件的质量,延长软件的生存期,软件的可测试性、可维护性是重要保障。软件的可测试性、可维护性与程序的易读性有很大关系。详细设计的目标不仅是逻辑上能正确地实现每个模块的功能,还应使设计出的处理过程清晰易读。结构化程序设计是实现该目标的关键技术之一,它指导人们用良好的思想方法开发易于理解、易于验证的程序。结构化程序设计方法有以下几个基本要点。1.采用自顶向下、逐步求精的程序设计方法在需求分析、概要设计中,都采用了自顶向下、逐层细化的方法。使用“抽象”这个手段,上层对问题抽象、对模块抽象和对数据抽象,下层则进一步分解,进入另一个抽象层次。在详细设计中,虽然处于“具体”设计阶段,但在设计某个模块内部处理过程中,仍可以逐步求精,降低处理细节的复杂度。2.使用三种基本控制结构构造程序任何程序都可由顺序、选择及重复三种基本控制结构构造。这三种基本结构的共同点是单入口、单出口。三种方式对模糊过程进行分解:例:在一组数中找出其中最大的数3.主程序员的组织形式主程序员的组织形式指开发程序的人员应采用以一个主程序员(负责全部技术活动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、记录数据,文档资料管理等)三人为核心,再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。这种组织形式突出了主程序员的领导,设计责任集中在少数人身上,有利于提高软件质量,并且能有效地提高软件生产率。这种组织形式最先由IBM公司实施,随后其他软件公司也纷纷采用主程序员制的工作方式。因此,结构化程序设计方法是综合应用这些手段来构造高质量程序的思想方法。3.6软件详细设计表示法图3.8三种基本控制结构的流程图流程图的优点是直观清晰、易于使用,是开发者普遍采用的工具,但是它有如下严重缺点:(1)可以随心所欲地画控制流程线的流向,容易造成非结构化的程序结构,编码时势必不加限制地使用GOTO语句,导致基本控制块多入口多出口,这样会使软件质量受到影响,与软件设计的原则相违背。(2)流程图不能反映逐步求精的过程,往往反映的是最后的结果。(3)不易表示数据结构。为了克服流程图的缺陷,要求流程图都应由三种基本控制结构顺序组合和完整嵌套而成,不能有相互交叉的情况,这样的流程图是结构化的流程图。3.6.2PAD图PAD图指问题分析图(ProblemAnalysisDiagram),是日本日立公司于1979年提出的一种算法描述工具,它是一种由左往右展开的二维树型结构。PAD图的基本控制结构如图3.9所示。图3.9PAD图的基本控制结构PAD图的控制流程为自上而下、从左到右地执行。图3.10给出了将数组A(1)到A(10)进行选择法排序的算法描述的PAD图。图3.10PAD图的示例从图3.10给出的例子可以看出PAD图的优点如下:(1)清晰地反映了程序的层次结构。图中的竖线为程序的层次线,最左边竖线是程序的主线,其后一层一层展开,层次关系一目了然。(2)支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步细化。(3)易读易写,使用方便。(4)支持结构化的程序设计原理。(5)可自动生成程序。PAD图有对照FORTRAN,Pascal,C