软件工程(第2版)[赵池龙

上传人:石磨 文档编号:309717001 上传时间:2022-06-13 格式:PPT 页数:71 大小:587.50KB
返回 下载 相关 举报
软件工程(第2版)[赵池龙_第1页
第1页 / 共71页
软件工程(第2版)[赵池龙_第2页
第2页 / 共71页
软件工程(第2版)[赵池龙_第3页
第3页 / 共71页
软件工程(第2版)[赵池龙_第4页
第4页 / 共71页
软件工程(第2版)[赵池龙_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《软件工程(第2版)[赵池龙》由会员分享,可在线阅读,更多相关《软件工程(第2版)[赵池龙(71页珍藏版)》请在金锄头文库上搜索。

1、实用软件工程实用软件工程-ITIT企业软件的开发与管理企业软件的开发与管理赵池龙赵池龙软件工程(第2版)赵池龙第第6 6章章 软件设计软件设计本章导读本章导读 软件需求是软件设计的基础,软件设计是软件需求是软件设计的基础,软件设计是软件开发的核心。软件开发的核心。 本章首先讨论软件设计概论和软件设计原本章首先讨论软件设计概论和软件设计原理,然后介绍软件架构设计和软件详细设计,理,然后介绍软件架构设计和软件详细设计,重点是论述面向过程、面向数据和面向对象重点是论述面向过程、面向数据和面向对象的三种详细设计方法,以及软件设计的属性的三种详细设计方法,以及软件设计的属性和度量。最后介绍和度量。最后介

2、绍IT企业的软件设计文档和企业的软件设计文档和设计管理文档编写的参考指南。设计管理文档编写的参考指南。软件工程(第2版)赵池龙本章对读者的要求本章对读者的要求 了解:了解: (1 (1)软件设计的输入输出)软件设计的输入输出 (2 (2)概要设计与详细设计之间的差异)概要设计与详细设计之间的差异 (3 (3)命名规范的概念)命名规范的概念 理解:理解: (1 (1)软件设计原理)软件设计原理 (2 (2)软件架构设计方法)软件架构设计方法 (3 (3)软件详细设计概念)软件详细设计概念 (4 (4)软件设计属性和度量)软件设计属性和度量 (5 (5)软件设计管理文档)软件设计管理文档 软件工程

3、(第2版)赵池龙本章对读者的要求本章对读者的要求掌握:掌握: (1 (1)面向过程详细设计)面向过程详细设计 (2 (2)面向数据详细设计)面向数据详细设计 (3) (3) 面向对象详细设计面向对象详细设计 (4 (4)概要设计说明书的编写方法)概要设计说明书的编写方法 (5 (5)详细设计说明书的编写方法)详细设计说明书的编写方法 软件工程(第2版)赵池龙6.1 设计方法概论设计方法概论 软件设计的输入是需求规格说明书,输出是概软件设计的输入是需求规格说明书,输出是概要设计说明书和详细设计说明书。要设计说明书和详细设计说明书。概要设计概要设计 概要设计,一是要覆盖需求规格说明书的全部内概要设

4、计,一是要覆盖需求规格说明书的全部内容,二是要作为指导详细设计的依据。容,二是要作为指导详细设计的依据。 概要设计注重于宏观上和框架上的设计,它是软件系概要设计注重于宏观上和框架上的设计,它是软件系统的总体结构设计、全局数据库统的总体结构设计、全局数据库( (包括数据结构包括数据结构) )设计、设计、外部接口设计、功能部件分配设计、部件之间的接口设外部接口设计、功能部件分配设计、部件之间的接口设计。计。 概要设计又称为架构设计。概要设计又称为架构设计。软件工程(第2版)赵池龙详细设计详细设计 详细设计,一是要覆盖概要设计说明书的全部内详细设计,一是要覆盖概要设计说明书的全部内容,二是要作为指导

5、程序设计的依据。容,二是要作为指导程序设计的依据。 详细设计注重于微观上和框架内的设计,它是各子系详细设计注重于微观上和框架内的设计,它是各子系统的统的公用部件公用部件实现设计、实现设计、专用模块专用模块实现设计、存储过程实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门实现设计、触发器实现设计、外部接口实现设计、部门角色授权设计、其他详细设计等。角色授权设计、其他详细设计等。 模块实现设计包括:登录注册模块设计、信息发布模模块实现设计包括:登录注册模块设计、信息发布模块设计、菜单模块设计、录入修改模块设计、查询统计块设计、菜单模块设计、录入修改模块设计、查询统计模块设计、业务

6、逻辑处理模块设计、报表输出模块设计、模块设计、业务逻辑处理模块设计、报表输出模块设计、前台网站模块设计、后台数据处理模块设计、数据传输前台网站模块设计、后台数据处理模块设计、数据传输与接收模块设计等等。与接收模块设计等等。 软件工程(第2版)赵池龙详细设计详细设计 在在设设计计之之前前要要确确定定命命名名规规范范。包包括括系系统统命命名名规规范范,模模块块命命名名规规范范,构构件件命命名名规规范范,变变量量命命名名规规范范,以以及及表表名名、字字段段名名、索引名、视图名、存储过程名的命名规范等。索引名、视图名、存储过程名的命名规范等。 软软件件设设计计时时,一一方方面面要要善善于于将将需需求求

7、规规格格说说明明书书中中的的冗冗余余去去掉掉,将将公公用用功功能能提提炼炼出出来来,并并将将它它设设计计为为构构件件,标标准准化化后后加加入入到到公公司司构构件件库库中中。另另一一方方面面,还还要要尽尽量量调调用用公公司司构构件件库库中中已已有有的构件。的构件。 按按照照“五五个个面面向向理理论论”,概概要要设设计计主主要要方方法法是是面面向向数数据据,详细设计和程序设计主要方法是面向对象。详细设计和程序设计主要方法是面向对象。 所有的详细设计都是面向模块所有的详细设计都是面向模块( (部件部件/ /构件构件) )的,不是面向组的,不是面向组织结构或部门单位的。一个组织或单位,根据角色的不同授

8、权,织结构或部门单位的。一个组织或单位,根据角色的不同授权,可以挂上不同的模块或部件。可以挂上不同的模块或部件。软件工程(第2版)赵池龙*6.2 软件设计原理软件设计原理 “设计设计”在在IEEE中的定义是:中的定义是:“定义一个系统或部定义一个系统或部件的架构、组成、接口或其它特征的件的架构、组成、接口或其它特征的过程过程”。 软件设计是一个过程,它是软件生命周期中的一部软件设计是一个过程,它是软件生命周期中的一部分,是对软件需求分析后产生软件内部结构的一种描分,是对软件需求分析后产生软件内部结构的一种描述。软件设计的结果,应能描述软件的架构,即软件述。软件设计的结果,应能描述软件的架构,即

9、软件中各个部件是如何分解并组合在一起的。中各个部件是如何分解并组合在一起的。 架构设计架构设计有时也称为概要设计,用于描述系统最顶有时也称为概要设计,用于描述系统最顶的结构和组织形式,标识出软件的各个组成部分。的结构和组织形式,标识出软件的各个组成部分。 详细设计详细设计用于详细描述每个部件的内部结构,用以用于详细描述每个部件的内部结构,用以指导程序人员编写代码,便于每个部件能够得以顺利指导程序人员编写代码,便于每个部件能够得以顺利实现。实现。软件工程(第2版)赵池龙原理原理1:抽象:抽象 (1) 控制抽象控制抽象 面向过程设计面向过程设计 ,通过控制抽象,通过控制抽象(控制流程和接口控制流程

10、和接口),对软件进行分解,达到降低软件复杂度的目的。对软件进行分解,达到降低软件复杂度的目的。 面向对象设计面向对象设计 ,通过数据抽象和控制抽象,实现使,通过数据抽象和控制抽象,实现使数据和控制溶为一体,构成一个完整的对象。数据和控制溶为一体,构成一个完整的对象。 (2) 过程抽象过程抽象 将数据处理抽象成函数或方法,获得最终的执行结将数据处理抽象成函数或方法,获得最终的执行结果,而不必去关心它们的内部实现细节。果,而不必去关心它们的内部实现细节。 (3) 数据抽象数据抽象 在数据库建模和面向对象建模时,使用数据抽象,在数据库建模和面向对象建模时,使用数据抽象,设计出数据库的表及字段,或设计

11、出类及类的属性。设计出数据库的表及字段,或设计出类及类的属性。软件工程(第2版)赵池龙原理原理2:分解:分解 将一个软件分解成许多小模块将一个软件分解成许多小模块(代码行在代码行在200400之间之间),不同模块负责不同的功能。,不同模块负责不同的功能。 (1) 在架构设计中,将软件系统在架构设计中,将软件系统分解分解为子为子系统和模块;系统和模块; (2) 在详细设计中,将子系统和模块在详细设计中,将子系统和模块分解分解成类和接口。成类和接口。软件工程(第2版)赵池龙原理原理3:低耦合高内聚:低耦合高内聚 模块在系统中不能孤立存在,每个模块具有一定的模块在系统中不能孤立存在,每个模块具有一定

12、的功能,他们共同完成系统的总功能,这样模块之间就功能,他们共同完成系统的总功能,这样模块之间就必然会存在联系或依赖。必然会存在联系或依赖。 对于低内聚的模块,通过对于低内聚的模块,通过重新分解,重新分解,来提高模块来提高模块内部的紧凑性,使其成为高内聚模块,从而降低块间内部的紧凑性,使其成为高内聚模块,从而降低块间联系,提高模块的独立性。联系,提高模块的独立性。 对于高耦合的模块,通过对于高耦合的模块,通过重新组合重新组合,将联系紧密,将联系紧密的部分组合成新的模块,使其成为低耦合模块,从而的部分组合成新的模块,使其成为低耦合模块,从而提高模块的可维护性。提高模块的可维护性。 模块耦合程度由低

13、到高的分级如下:模块耦合程度由低到高的分级如下:软件工程(第2版)赵池龙 (1) 数据耦合数据耦合(或参数传递耦合或参数传递耦合),属于低级别耦合。,属于低级别耦合。例如,模块间通过参数传递或数据结构来访问。例如,模块间通过参数传递或数据结构来访问。 (2) 控制耦合控制耦合,属于中级别耦合。例如,操作系统中,属于中级别耦合。例如,操作系统中的进程调度程序,通过就绪进程的优生级来调度。那么的进程调度程序,通过就绪进程的优生级来调度。那么调度程序与进程之间的耦合,就是控制耦合。调度程序与进程之间的耦合,就是控制耦合。 (3) 外部耦合外部耦合(或共用耦合或共用耦合),它属于高级别耦合。例,它属于

14、高级别耦合。例如,模块间共享全局变量,或共同访问全局数据区中的如,模块间共享全局变量,或共同访问全局数据区中的数据项,就是共用耦合。数据项,就是共用耦合。 (4) 内容耦合内容耦合,它属于最高级别耦合。例如,一个模,它属于最高级别耦合。例如,一个模块利用分支或跳转技术,转入到另一个模块中去执行,块利用分支或跳转技术,转入到另一个模块中去执行,就是内容耦合。就是内容耦合。 耦合可发生在软件设计、软件编程之中。耦合可发生在软件设计、软件编程之中。软件工程(第2版)赵池龙原理原理4:封装:封装 封装是将信息隐藏在一个实体中,使其内部细封装是将信息隐藏在一个实体中,使其内部细节对外部不可见。节对外部不

15、可见。 封装是实现封装是实现“低耦合高内聚低耦合高内聚”的技术手段之一。的技术手段之一。要进行正确的封装,必须遵守下列原则:要进行正确的封装,必须遵守下列原则: (1). 实体间相互隐藏内部实现;实体间相互隐藏内部实现; (2). 尽量减少全局的共享数据。尽量减少全局的共享数据。软件工程(第2版)赵池龙原理原理5:接口和实现分离:接口和实现分离 接口和实现分离的思想起源很早。上世纪五十接口和实现分离的思想起源很早。上世纪五十年代,就出现了年代,就出现了“子程序和函数子程序和函数”的概念,人们的概念,人们在实现和调用它们的时候,就运用了这种思想。在实现和调用它们的时候,就运用了这种思想。 将接口

16、和实现分离开来,对外只提供接口,隐将接口和实现分离开来,对外只提供接口,隐藏具体实现。接口与实现的分离,保证了实现的藏具体实现。接口与实现的分离,保证了实现的独立变化,降低了模块间的耦合。独立变化,降低了模块间的耦合。软件工程(第2版)赵池龙*6.3 软件架构设计软件架构设计 当对象、类、构件、组件等概念出现并成熟之后,当对象、类、构件、组件等概念出现并成熟之后,软件概要设计(总体设计软件概要设计(总体设计/ /系统设计),就改名为架构系统设计),就改名为架构设计。设计。1.架构设计基本概念架构设计基本概念 (1) (1) 系统系统 系统是部件的系统是部件的集合集合,以完成某项特定的功能。,以完成某项特定的功能。 (2) (2) 架构架构 架构是描述系统中架构是描述系统中部件间相互关系部件间相互关系及及部件与环境间部件与环境间相互关系相互关系的基本的基本框架框架。 架构就是使用别人搭好的架构就是使用别人搭好的舞台舞台,你来做表演。,你来做表演。软件工程(第2版)赵池龙1. 架构设计基本概念架构设计基本概念(续续)(3) 系统架构系统架构 系统架构是实体、实体属性以及实体关系的系统架构是

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号