- 1、本文档共88页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[第6章5课时
第6章 软件设计 本章对读者的要求 了解: (1)软件设计的输入输出 (2)概要设计与详细设计之间的差异 (3)命名规范的概念 理解: (1)软件设计原理 (2)软件架构设计方法 (3)软件详细设计概念 (4)软件设计属性和度量 (5)软件设计管理文档 本章对读者的要求 掌握: (1)面向过程详细设计 (2)面向数据详细设计 (3) 面向对象详细设计 (4)《概要设计说明书》的编写方法 (5)《详细设计说明书》的编写方法 6.1 设计方法概论 软件设计的输入是《需求规格说明书》,输出是《概要设计说明书》和《详细设计说明书》。 从工程管理的角度,软件设计分两步完成: 概要设计,将软件需求转化为数据结构和软件的系统结构。 详细设计,即过程设计。通过对结构表示进行细化,得到软件的详细的数据结构和算法 概要设计 概要设计 覆盖《需求规格说明书》的全部内容 作为指导详细设计的依据 注重于宏观上和框架上的设计,它是软件系统的总体结构设计、全局数据库(包括数据结构)设计、外部接口设计、功能部件分配设计、部件之间的接口设计。 概要设计又称为架构设计。 详细设计 详细设计 覆盖《概要设计说明书》的全部内容 作为指导程序设计的依据 注重于微观上和框架内的设计,它是各子系统的公用部件实现设计、专用模块实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门角色授权设计、其他详细设计等。 模块实现设计包括:登录注册模块设计、信息发布模块设计、菜单模块设计、录入修改模块设计、查询统计模块设计、业务逻辑处理模块设计、报表输出模块设计、前台网站模块设计、后台数据处理模块设计、数据传输与接收模块设计等等。 软件设计 设计之前要确定命名规范。 系统命名规范,模块命名规范,构件命名规范,变量命名规范,以及表名、字段名、索引名、视图名、存储过程名的命名规范等。 软件设计中复用性原则: 公用功能----?构件,标准化后加入到公司构件库 尽量调用公司构件库中已有的构件 概要设计主要方法是面向数据,详细设计和程序设计主要方法是面向对象。 所有的设计都面向模块(部件/构件) 。 *6.2 软件设计原理 “设计”在IEEE中的定义是:“定义一个系统或部件的架构、组成、接口或其它特征的过程”。 架构设计有时也称为概要设计,用于描述系统最顶的结构和组织形式,标识出软件的各个组成部分。 详细设计用于详细描述每个部件的内部结构,用以指导程序人员编写代码,便于每个部件能够得以顺利实现。 原理1:抽象 (1) 控制抽象 面向过程设计 ,通过控制抽象(控制流程和接口),对软件进行分解,达到降低软件复杂度的目的。 面向对象设计 ,通过数据抽象和控制抽象,实现使数据和控制溶为一体,构成一个完整的对象。 (2) 过程抽象 将数据处理抽象成函数或方法,获得最终的执行结果,而不必去关心它们的内部实现细节。 (3) 数据抽象 在数据库建模和面向对象建模时,使用数据抽象,设计出数据库的表及字段,或设计出类及类的属性。 原理2:分解 将一个软件分解成许多小模块(代码行在200~400之间),不同模块负责不同的功能。 (1) 在架构设计中,将软件系统分解为子系统和模块; (2) 在详细设计中,将子系统和模块分解成类和接口。 原理3:低耦合高内聚 模块独立的含义: 模块完成独立的功能 符合信息隐蔽和信息局部化原则 模块间关连和依赖程度尽量小 耦合性:模块间相对独立性(相互依赖程度)的度量。 内聚性:一个模块内部元素在功能上相互 关联的强度。 耦合性越高,模块独立性越弱。 内聚性越高,模块独立性越强。 原理3:低耦合高内聚 对于低内聚的模块,重新分解使其成为高内聚模块。 对于高耦合的模块,通过重新组合,将联系紧密的部分组合成新的模块,使其成为低耦合模块。 模块间耦合的类型 (1) 数据耦合(或参数传递耦合),属于级别耦合。 (2) 控制耦合,属于中级别耦合。 (3) 外部耦合(或共用耦合),属于高级别耦合。 (4) 内容耦合,它属于最高级别耦合。 如果两个模块间的通讯信息是若干参数或数据结构,其中每一个参数都是一个数据元素,称这种联结为数据耦合。 如果模块A向模块B所传递的信息控制了模块B的内部逻辑,那么A和B之间的联结称为控制耦合。 控制信息不同于数据信息,数据信息一般通过处理过程处理被处理的数据,而控制信息则是控制处理过程中的某些参数。 控制耦合举例-1 控制耦
文档评论(0)