- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模块的划分 结构化设计方法 PARNAS方法 JACKSON方法 程序的逻辑构造方法 概要设计文件与复审 软件的研制工作经过需求分析阶段后,已经完全弄清了用户的需求,基本解决了要让所开发的软件“做什么”的问题。 进入软件设计阶段,也就开始着手对软件需求的实施工作,即开始解决“怎么做”的问题。 把设计阶段分为: 概要设计:着重解决实现需求的程序模块设计问题。 如何把被开发的软件系统划分成若干个模块; 决定各模块的接口,即模块之间的相互关系; 确定模块之间的传递关系。 详细设计:决定每个模块内部的具体算法。 在概要设计和详细设计完成后,要进行必要的阶段评审。目的在于使设计中发生的问题能及时发现并得到及时解决,而不必带到开发的后期,造成更大的危害。 概要设计工作由设计员完成,应由经验丰富的软件人员担任。 下面是总体设计具体要完成的任务: 指定规范 总体结构设计 处理方式设计 数据设计 质量设计 文档设计 评审概要设计 指定规范:应该针对具体的软件特点,制定出合适的规范。 总体结构设计:分析系统的功能和实现层次,画出软件总体结构图。 通常用软件结构图的横向表示功能分解,纵向表示实现一个功能的层次调用。 在总体结构设计时要确定功能与需求的对应关系,保证软件设计的可回溯性。 确定模块之间的调用关系和传递参数结构。 最后检查软件模块划分的合理性,优化软件结构。 处理方式设计:确定实现功能的算法的各种性能指标,并进行评价。 数据设计:包括数据结构设计、文件设计和数据库设计。 要分析软件的功能需求,确定实现功能需求所需的最佳数据结构; 确定文件系统的结构以及数据库模式、子模式,进行数据完整性和安全性的设计。 质量设计:质量指标包括软件的可理解性、可维护性、可靠性、可移植性、安全性等。 文档设计:包括概要设计说明书、数据库设计说明书、用户手册和软件测试计划。 概要设计说明书主要描述系统目标、总体设计、处理方式设计、运行设计、出错设计等; 在数据库设计说明书中描述数据模式设计、物理设计等; 在用户手册中描述系统的功能、性能要求、操作方式、运行环境等; 指定一个初步的测试计划,描述测试的策略、方法和步骤。 评审概要设计:为了用户能够参与设计方案的评价,应该以用户能够理解的语言描述。 常见的软件概要设计方法有: 以数据流程图为基础构造模块结构的SD方法 以数据结构为基础构造模块结构的Jackson方法 以信息隐藏为原则构造模块结构的Parans方法 以数据结构为基础的LCP方法 结构化设计(Structured Design,SD)方法是一种面向数据流的设计方法,它是以结构化分析SA阶段所产生的文档(数据流程图、数据字典和软件需求说明书)为基础,自顶向下,逐步求精和模块化的过程。 SD方法采用软件结构图(Structure Chat)来描述程序的结构。 构成程序结构图的主要成分有模块、调用和数据。 需求分析中新系统基本模型设计表达了各个业务处理之间的自然逻辑,但没有表达出计算机处理的流程。 概要设计要对基本模型图中规定为计算机处理的部分进行处理模块的划分,以便大体上明确其处理的流程。 划分的处理模块还不能包含具体的物理内容,需要通过以后的设计工作才能逐步具体起来。 模块是数据说明、可执行语句等程序对象的集合,它单独命名而且可通过名字来访问。 模块具有三个基本属性: 功能:指该模块要完成的任务。 逻辑:描述模块为了完成任务,模块内部怎么做。 状态:即使用该模块时的环境和条件。 在描述一个模块时,还必须包括模块外部特性与内部特性: 模块的外部特性是指模块的名字、输入/输出参数,以及它给程序乃至整个系统造成的影响。 模块的内部特性是指完成其功能的程序代码和仅供该模块内部使用的数据。 在软件设计时,通常是先确定模块的外部特性,然后再确定它的内部特性。前者是软件总体设计的任务,后者是详细设计的任务。 模块化就是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块组成一个整体,可以完成指定的功能。 模块化设计方法强调的是清楚地定义每个模块的功能和它的输入/输出参数,而模块的实现细节隐藏在各自的模块之中,与其他模块之间可以是调用关系,因此,模块化程序易于调试和修改。 计算机处理模块的划分使新系统从基本(逻辑)模型向实际的计算机处理系统迈进了第一步。显然模块划分的好坏将会影响软件及整个系统性能的优劣。 不同的对象对系统性能的要求不同,要指定出适应于所有系统的衡量标准: 系统效率:单位时间内处理的业务量或响应时间。 系统工作质量:系统信息处理的质量。 系统可靠性:系统抵御各种外界干扰的能力。 系统的可维护性:纠正系统出现的错误和缺陷,以及为满足新的要求进行扩充或压缩的容易程度。 软件结构表示程序的系统结构,它以层次结构表示一种控制层次体系,不表示软件的具体
文档评论(0)