如何进行软件详细设计.doc_第1页
如何进行软件详细设计.doc_第2页
如何进行软件详细设计.doc_第3页
如何进行软件详细设计.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何进行软件详细设计软件详细设计的任务是,是为软件结构图中的每个模块确定所采用的算法和块内数据结构,用某种选定的表达工具给出清晰的描述,表达工具可以自由选择,但工具必须具有描述过程细节的能力,而且能够有利于程序员在编程时便于直接翻译成程序设计语言的源程序。程序流程图、盒图、PAD图、HIPU图、PDL语言等等都是完成详细设计的工具,选择合适的工具并且正确地使用是十分重要的。面向数据结构设计方法(Jackson方法)是进行详细设计的形式化方法。在软件详细设计阶段,将生成详细设计说明书,为每个模块确定采用的算法,确定每个模块使用的数据结构,确定每个模块的接口细节。在软件详细设计结束时,软件详细设计说明书通过复审的形成形成正式文档,作为下一个阶段的工作依据。在概要设计阶段,已经确定了软件系统的总体结构,给出了软件系统中各个组成模块的功能和模块间的接口。作为软件设计的饿第二步,软件详细设计就是在软件概要设计的基础上,考虑如何实现定义的软件系统,直到对系统中的每个模块给出了足够详细的过程描述。在软件详细设计以后,程序员将仍旧根据详细设计的过程编写出实际的程序代码。因此,软件详细设计的结果基本上决定了最终的程序代码质量。详细设计的基本任务(1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。(2)为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。(3)对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。(4)其他设计:根据软件系统的类型,还可能要进行以下设计: 代码设计。为了提高数据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。输入/输出格式设计。人机对话设计。对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容、格式的具体设计。(5)编写详细设计说明书。(6)评审。对处理过程的算法和数据库的物理结构都要评审。结构化程序设计方法详细设计是软件设计的第二阶段,主要确定每个模块具体执行过程,也称“过程设计”,详细设计的目标不仅是逻辑上正确地实现每个模块的功能,并使设计出的处理过程清晰易读。过程设计中采用的典型方法是结构化程序设计(简称SP)方法,最早是由E.W.Dijkstra在60年代中期提出的,它是实现详细设计目标的关键技术之一。结构化程序设计方法的基本要点是:1. 采用自顶向下,逐步求精的程序设计方法在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。2. 使用三种基本控制结构构造程序任何程序都可由顺序、选择、重复三种基本控制结构构造。主程序员组的组织形式指开发程序的人员组织方式应采用由一个主程序员(负责全部技术活动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、记录数据,文档资料管理等)三个为核心,再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。详细设计描述法详细描述处理过程常用三种工具:图形、表格和语言。本节主要介绍结构化程序流程图、盒图和问题分析图三种图形工具。程序流程图 程序流程图又称为程序框图,它是使用最广泛的一种描述程序逻辑结构的工具。PAD图 PAD图指问题分析图(Problem Analysis Diagram),是日本日立公司于1979年提出的一种算法描述工具,它是一种由左往右展开的二维树型结构。过程设计语言过程设计语言(Problem Design Language,简称PDL),也称程序描述语言(Problem Descripition Language),又称为伪码。它是一种用于描述算法设计和处理细节的语言。用PDL表示的程序结构一般有以下几种:(1)顺序结构:采用自然语言描述。(2)选择结构:1、IF-ELSE结构IF 条件 IF 条件处理S1 或 处理SELSE处理S2 ENDIFENDIF2、IF-ORIF-ELSE结构IF 条件1处理S2ORIF 条件2处理S2.ELSE 处理SnENDIF3、CASE 结构CASE OFCASE(1)处理S1CASE(2)处理S2.ELSE 处理SnENDCASE(3)重复结构:1、FOR结构FOR i=1 TO n循环体ENDFOR2、WHILE结构WHILE 条件循环体ENDWHILE3、UNTIL结构REPEAT循环体UNTIL条件(4)出口结构:1、ESCAPE结构(退出本层结构)WHILE 条件处理S1ESCAPE L IF 条件处理S2ENDWHILEL:2、CYCLE结构(循环内部进入循环的下一次)L:WHILE 条件处理S1CYCLE L IF 条件处理S2ENDWHILE(5)模块定义与调用:1、模块定义PROCEDURE 模块名(参数). RETURNEND2、模块调用CALL 模块名(参数)(6)数据定义:DECLARE 属性 变量名属性有:字符、整型、实型、双精度、指针、数组、结构等类型。(7)输入/输出:GET(输入变量表) PUT(输出变量表)现以xx系统主控模块详细设计为例,说明如何用PDL来描述。PROCEDURE 模块名( )清屏;显示xx系统用户界面;PUT(“请输入用户口令:”);GET(password);IF password系统口令提示警告信息;退出运行ENDIF显示本系统主菜单;WHILE(true)接收用户选择ABC;IF ABC=“退出”Break;ENDIF调用相应下层模块完成用户选择功能;ENDWHILE清屏;RETURNEND从以上例子可以看到PDL的总体结构与一般程序完全相同。外语法同相应程序语言一致,内语法使用自然语言,易编写,易理解,也很容易转换成源程序。Jackson方法Jackson方法是面向数据结构的设计方法。Jackson方法定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构Jackson设计步骤Jackson方法一般通过以下五个步骤来完成设计:(1)分析并确定输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论