软件工程课本讲解第3篇 软件设计(详细设计).ppt

软件工程课本讲解第3篇 软件设计(详细设计).ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 软件设计 3.5 软件详细设计 3.5.1 详细设计的基本任务 1.算法设计 用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。 2.数据结构设计 对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。 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.使用三种基本控制结构构造程序 任何程序都可由顺序、选择及重复三种基本控制结构构造。这三种基本结构的共同点是单入口、单出口。 三种方式对模糊过程进行分解: (1) 用顺序方式对过程分解,确定各部分的执行顺序。 (2) 用选择方式对过程分解,确定某个部分的执行条件。 3) 用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。 对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。 例:在一组数中找出其中最大的数 3.主程序员的组织形式 主程序员的组织形式指开发程序的人员应采用以一个主程序员(负责全部技术活动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、记录数据,文档资料管理等)三人为核心,再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。这种组织形式突出了主程序员的领导,设计责任集中在少数人身上,有利于提高软件质量,并且能有效地提高软件生产率。这种组织形式最先由IBM公司实施,随后其他软件公司也纷纷采用主程序员制的工作方式。 因此,结构化程序设计方法是综合应用这些手段来构造高质量程序的思想方法。 3.6 软件详细设计表示法 关于描述工具的有关说明: 1.为了给出软件结构图中每一个模块的算法和块内数据结构 的清晰描述,需要采用适当的表达工具。 2.详细设计的表达工具有三类:图形、表格和语言。 3.无论哪类描述工具不仅要具有描述设计过程,如控制流程、 处理功能、数据组织及其它方面的细节的能力,而且在编码 阶段能够直接将它翻译为用程序设计语言书写的源程序。 4.详细设计的描述工具除了以前介绍过判定树和判定表外, 还有程序流程图、N-S图、PAD图及PDL等几种常用的工具. 流程图的优点是直观清晰、易于使用,是开发者普遍采用的工具,但是它有如下严重缺点: (1) 可以随心所欲地画控制流程线的流向,容易造成非结构化的程序结构,编码时势必不加限制地使用GOTO语句,导致基本控制块多入口多出口,这样会使软件质量受到影响,与软件设计的原则相违背。 (2) 流程图不能反映逐步求精

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档