第6章软件设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 软件设计 本章导读 软件需求是软件设计的基础,软件设计是软件开发的核心。本章首先讨论软件设计概论和软件设计原理,然后介绍软件架构设计和软件详细设计,重点是论述面向过程、面向数据和面向对象的三种详细设计方法,以及软件设计的属性和度量。最后介绍IT企业的软件设计文档和设计管理文档编写的参考指南。表6-1列出了读者在本章学习中要了解、理解和掌握的主要内容。 本章对读者的要求 了解: 1)软件设计的输入输出 2)概要设计与详细设计两者之间的差异 3)命名规范的概念 理解: 1)软件设计原理 2)软件架构设计方法 3)软件详细设计概念 4)软件设计属性和度量 5)软件设计管理文档 本章对读者的要求 掌握: 1)面向过程详细设计 2)面向数据详细设计 3) 面向对象详细设计 4)《概要设计说明书》的内容及编写方法 5)《详细设计说明书》的内容及编写方法 6.1 设计方法概论 软件设计的输入是《需求规格说明书》,输出是《概要设计说明书》和《详细设计说明书》。 概要设计 概要设计,一是要覆盖《需求规格说明书》的全部内容,二是要作为指导详细设计的依据。 概要设计注重于宏观上和框架上的设计,它是软件系统的总体结构设计、全局数据库(包括数据结构)设计、外部接口设计、功能部件分配设计、部件之间的接口设计。 它要覆盖需求规格说明书中的功能点列表、性能点列表、接口列表,若为C/S或B/A/S结构设计,则要说明部件运行在网络中的哪一个层次上。 详细设计 详细设计,一是要覆盖《概要设计说明书》的全部内容,二是要作为指导程序设计的依据。 详细设计注重于微观上和框架内的设计,它是各子系统的公用部件实现设计、专用部件实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门角色授权设计、其他详细设计等。 部件实现设计包括:登录注册模块设计、信息发布模块设计、菜单模块设计、录入修改模块设计、查询统计模块设计、业务逻辑处理模块设计、报表输出模块设计、前台网站模块设计、后台数据处理模块设计、数据传输与接收模块设计等等。 详细设计 在设计之前要确定命名规范。包括系统命名规范,模块命名规范,构件命名规范,变量命名规范,以及表名、字段名、索引名、视图名、存储过程名的命名规范等。 软件设计时,一方面要善于将需求规格说明书中的冗余去掉,将公用功能提炼出来,并将它设计为构件,标准化后加入到公司构件库中。另一方面,还要尽量调用公司构件库中已有的构件。 按照“五个面向理论”,概要设计主要方法是面向数据,详细设计和程序设计主要方法是面向对象。 所有的详细设计都是面向模块的,或者说是面向部件或构件的,不是面向组织结构或部门单位的。一个组织或单位,根据角色的不同授权,可以挂上不同的模块或部件。一个优秀的软件,不会因企事业单位内部的组织结构变动,而导致软件不能使用。 *6.2 软件设计原理 “设计”在IEEE中的定义是:“定义一个系统或部件的架构、组成、接口或其它特征的过程”或者是“该过程的结果”。 软件设计是一个过程,它是软件生命周期中的一部分,是对软件需求分析后产生软件内部结构的一种描述。软件设计的结果,应能描述软件的架构,即软件中各个部件是如何分解并组合在一起的。 软件设计可以分为软件架构设计和软件详细设计。架构设计有时也称为概要设计,用于描述系统最顶的结构和组织形式,标识出软件的各个组成部分。详细设计用于详细描述每个部件的内部结构,用以指导程序人员编写代码,便于每个部件能够得以顺利实现。 1. 抽象 (1) 控制抽象 面向过程的设计 ,通过清晰的控制流程和部件间的接口,从而实现对复杂的软件进行分解,达到降低软件复杂度的目的。面向对象的设计 ,同时进行数据抽象和控制抽象,从而实现使数据和控制溶为一体,构成一个完整的对象。 (2) 过程抽象 将处理过程抽象成函数或方法,通过提供不同的参数实现具体化。你可以观察到函数或方法的最终执行结果,而不必去关心它们内部的实现步骤。 (3) 数据抽象 在数据库建模和面向对象建模时,使用数据抽象,设计出数据库的表及表的字段,或设计出类及类的属性。 2. 分解 将一个软件分解成小的模块,不同模块负责不同的功能。在架构设计中,将软件系统分解为子系统和模块;在详细设计中,将子系统和模块分解成类和接口。 然而,过度地分解会使模块数量增加,集成的成本和错误数量也会增加。在Hatton的报告中指出,错误密度与模块大小呈开口向上的U形曲线的关系。根据Hatton的

文档评论(0)

zcbsj + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档