版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6.7过程设计 (详细设计、模块设计),主要任务: (1)确定每一模块的数据结构。 (2)确定模块接口细节。 (3)确定每个模块的算法,用工具 表达算法的过程,写出模块的 详细过程性描述。 (4) 编写详细设计说明书。 详细设计是编码的先导。参见附录D“图书管理系统软件设计说明书”中过程设计的内容。,6.7.1 结构化程序设计(SP)方法,传统的设计技术: 强调设计的随意性,具有浓厚的个人色彩. 追求程序效率和个人设计技巧 新的设计思想和风格: 清晰第一 使用标准的、规范的控制结构 逐步细化,结构化的定义是:“如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连结,并且每个代码
2、块只有一个入口和一个出口,则称这个程序是结构化的”。 结构化不单是一种程序结构,更重要的是其自顶而下、从抽象到具体的设计思维。当然,随着面向对象和软件复用等新的软件开发方法和技术的发展,更有效的设计思维是自顶向下和自底向上两种方法的有机结合。,详细设计的描述方法,6.7.2图形表示法 6.7.3表格表示法 6.7.4语言表示法,1. 程序流程图,程序流程图也称为程序框图,程序流程图使用五种基本控制结构是:,顺序型,选择型,先判断 重复型,后判断 重复型,多分支选择型,6.7.2 图形表示法,程序流程图有直观清晰的特点,但因为其流程线可以不受限制地任意跳转,不能在画法上来保证结构化的程序结构,而
3、需要人为地保证结构结构化,如图6-29中虚线框指示的部分。 现在一般不提倡使用程序流程图,提倡使用下面接下来介绍的可以在画法上保证结构化的盒图和PAD图。,无多分支判断结构,“图书管理系统”书籍信息管理,2.盒图(N-S图),用方框图代替传统的流程图,以保证结构化。 描述五种基本控制结构的图形构件: (1) 顺序型,A,B,C,(2) 选择型 If then else If then,A,B,F,条件,T,A,F,T,条件,then 部分,then 部分,else部分,(3)多分支选择型(CASE型),A1,值1,A2,An,.,.,条件,值2,值n,(4) WHILE重复型 (5) UNTI
4、L重复型,S (循环体),DO-WHILE P,S (循环体),REPEAT UNTIL P,(先判断循环),(后判断循环),循环条件,(6) 并行结构,A1,A2,An,.,(7) 移出标记,A,C,B,F,X6,T,A:,D,(调用结构),N-S图(盒图)示例 比如图6-29的流程可画为图6-31形式,3。问题分析图(PAD),(Problem Analysis Diagram) 也是为保证结构化而对程序流程图的改进,而且较之于盒图更容易扩展。 基本控制结构: (1)顺序结构 (2)选择结构,A,B,C,A,B,T,F,条件,(3)重复结构,WHILE C,S,UNTIL C,S,(先判断
5、循环),(后判断循环),等价的PASCAL语言: REPEAT C UNTIL S,等价的PASCAL语言: WHILE C DO S,(4) 多分支选择型(CASE型),A1,值1,值2,值n,A2,An,. . .,.,.,.,条件,PAD示例 如图6-29的流程可画为图6-33所示的形式,6.7.3 表格表示法,当算法中包含多重嵌套的条件选择时,用程序流程图、N-S图或PAD都不易清楚地描述,而判定表却能清晰地表达复杂的条件组合与应做动作之间的对应关系。判定表如图6-34所示形式,其中左上角部分是条件列举,右上角部分是条件组合,左下角部分是动作列举,右下角部分是动作组合。判定表的优点是能
6、够简洁,无二义性地描述所有的处理规则,但判定表表示的是静态逻辑,是在某种条件取值组合情况下可能的结果,它不能表达加工的顺序,也不能表达循环结构,表达多分支判断时要改为多个两分支判断。 当条件组合不容易列举时,也可用6.2节介绍的判定树表达。判定树中每层次判断一个条件。但要注意选择条件顺序,才能保证最末端的分支树最少,从而使得后续的编程效率最高。,6.7.4 语言描述法 PDL (Program Design Language),PDL是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪码。 伪码的语法规则分为“外语法”和“内语法”。 PDL具有严格的关键字外语法,用
7、于定义控制结构和数据结构,同时它的表示实际操作和条件的内语法可使用自然语言的词汇。,示例: 拼词检查程序,PROCEDURE spellcheck IS BEGIN split document into single words look up words in dictionary display words which are not in dictionary create a new dictionary END spellcheck,“图书管理系统”借书管理,A.输入读者编号; 提示超期未还的借阅记录; B.输入图书编号; If 选择“确定” then If 读者状态无效 或 改书
8、“已”注销 或 已借书数=可借书数 then 给出相应提示; Else 添加一条借书记录; “图书信息表”中“现有库存量”-1; “读者信息表”中“已借书数量”1; 提示执行情况; Endif 清空读者、图书编号等输入数据; Endif,“图书管理系统”借书管理(续),If 选择“重新输入”then 清空读者、图书编号等输入数据; Endif If 选择“退出”then 返回上一级界面; Endif 返回A.等待输入下一条;,-* create a new words dictionary dictionary : merge dictionary and good word list END
9、 spellcheck,PDL的特点,提供全部结构化控制结构、数据说明和模块特征。能对PDL正文进行结构分割,使之变得易于理解。 有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构。 有子程序定义与调用机制,用以表达各种方式的接口说明。,PDL是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序语言。它是一种伪码。 HIPO图最初只用做文档编写的格式要求,随后发展成比较有名的软件设计手段。 HIPO图采用功能框图和PDL来描述程序逻辑, 可视目录表 可视目录表给出程序的层次关系 IPO图 为程序各部分提供具体工作细节,6.8 软件设计规格说明书编写与评审
10、,软件设计规格说明(是软件设计阶段要完成的文档,作为设计任务的成果。总体设计、详细设计、数据设计规格说明书可根据项目的大小分别编写或合并为一份设计规格说明书。IEEE/ANSI830-1993标准和我国GB/T8567-1988国家标准都给出了设计规格说明书的内容框架,可以选择使用,参见附录D的例子“图书管理系统软件设计规格说明书”。,设计评审分正式评审和非正式评审两种。 正式评审除软件开发人员外,还应邀请用户代表和领域专家参加,通常采用答辩形式; 非正式评审多少有些同行切磋的性质,不拘泥于时间和形式。,软件设计的最终目标是要取得最佳方案,“最佳”是指在所有候选方案中,在满足节省开发费用,降低
11、资源消耗,缩短开发时间的前提条件下,能够获得较高的生产率、可靠性和可维护性的方案。所以,设计评审的内容可归结为: 可追溯性:分析该软件的系统结构和子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可追溯到某一项需求。 接口:分析软件各部分之间的联系,确认该软件的内部接口与外部接口是否已经明确定义;部件是否满足高内聚和低耦合的要求;部件作用范围是否在其控制范围之内。,风险:确认该软件设计在现有技术条件下和预算范围内是否能按时实现。 实用性:确认该软件设计对于需求的解决方案是否实用。 技术清晰度:确认该软件设计是否以一种易于翻译成代码的形式表达。 可维护性:从软件维护的角度
12、出发,确认该软件设计是否考虑了方便未来的维护。,质量:确认该软件设计是否表现出良好的质量特征。 各种选择方案:确认是否考虑过其它方案,以及比较各种选择方案的标准是否合理。 限制:评估对该软件的限制是否现实,是否与需求一致。 其它具体问题:对于文档、可测试性和设计过程等等进行评估。,本章小结,需求分析和软件设计分别是软件生命周期的第二个和第三个阶段。结构化分析与设计方法是需求分析与设计的传统方法,与结构化程序设计一起构成了一套的开发方法,其研究对象只是软件本身,但要考虑软件与软件所在的整个计算机系统其他元素之间的关系。,本章首先介绍需求分析的任务、步骤和内容,目的是明确该阶段要完成的工作,其中最主要的工作是按第4章介绍的“系统工程和需求工程方法”详细准确地识别用户的各种需求;使用系统思维分析和综合,以功能模型、数据模型和行为模型建立和表示软件系统的逻辑模型,因此本章第二节“结构化分析与建模”是本章的重点和难点之一。 结构化设计分为总体设计和详细设计,总体设计的主要任务是系统设计和软件结构设计,第五节“软件结构设计”主要介绍变换型和事务型两种面向数据流的软件结构设计方法;详细设计主要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- AI算力赋能数字贸易保税区 重构全球离岸IT外包国际化竞争新体系 对标印度人力外包赛道 · 打造中国算力型数字服务出海产业集群
- 校园生活体验:探索校园乐趣小学主题班会课件
- 能源行业技术专家项目成功率绩效考核表
- 商务演讲与表达能力提升方案
- 新能源电池充电安全操作四步标准流程指南
- 质量检测员产品质量问题绩效考评表
- 新型环保技术应用与推广手册
- 内容创作质量与影响考核表
- 电影行业制片人收益效果绩效衡量表
- 会计师事务所项目经理项目质量与完成度绩效考核表
- 2025四川省水电投资经营集团有限公司所属电力公司员工招聘6人考试参考试题及答案解析
- 电力施工强制性条文
- 车辆伤害安全培训课件
- 沟槽开挖安全操作规程
- 早退迟到旷工管理制度
- 2025届广东省春季高考学业水平考试语文试卷(四)语文试题
- 盆底康复产后康复进修汇报
- T/CAEPI 49-2022污水处理厂低碳运行评价技术规范
- 创新医保支付方式对护理服务的影响及应对
- 封阳台质保合同协议
- 购买仪器合同协议
评论
0/150
提交评论