软件工程导论软件设计总体设计PPT文件格式下载.ppt
- 文档编号:15115536
- 上传时间:2022-10-27
- 格式:PPT
- 页数:94
- 大小:1.23MB
软件工程导论软件设计总体设计PPT文件格式下载.ppt
《软件工程导论软件设计总体设计PPT文件格式下载.ppt》由会员分享,可在线阅读,更多相关《软件工程导论软件设计总体设计PPT文件格式下载.ppt(94页珍藏版)》请在冰豆网上搜索。
编码编码是根据这种过程性描述编制代码。
是根据这种过程性描述编制代码。
然后把生成的程序代码交由测试人员然后把生成的程序代码交由测试人员测试测试,最终得到完,最终得到完整有效的软件产品。
整有效的软件产品。
64.14.1总体设计的任务总体设计的任务n这个阶段必须回答的关键问题是:
这个阶段必须回答的关键问题是:
“应该怎样实现目应该怎样实现目标系统标系统?
”,总体设计又称为概要设计总体设计又称为概要设计。
nn概要设计的任务概要设计的任务:
(11)划分出组成系统的物理元素)划分出组成系统的物理元素-程序、文件、数据库、人程序、文件、数据库、人工过程和文档等等工过程和文档等等;
(22)设计软件结构。
即确定系统中由那些模块组成,以及这些)设计软件结构。
即确定系统中由那些模块组成,以及这些模块之间的相互关系。
模块之间的相互关系。
74.24.2总体设计的过程总体设计的过程n总体设计过程通常由两个主要阶段组成:
总体设计过程通常由两个主要阶段组成:
系统设计阶段系统设计阶段,确定系统的具体实现方案;
确定系统的具体实现方案;
结构设计阶段结构设计阶段,确定软件结,确定软件结构。
构。
n典型的总体设计过程包括下述典型的总体设计过程包括下述99个步骤个步骤:
(:
(P82)P82)1.设想供选择的方案2.选取合理的方案3.推荐最佳方案4.功能分解5.设计软件结构6.设计数据库7.制定测试计划8.书写文档9.审查和复审81.设想供选择的方案u在数据流图的基础上,一个边界一个边界设想并列出供选择的方案。
通常,选取的这些方案中至少应包括低成本、中成本和高成本的三种方案类型;
u对每个合理方案要提供以下几方面资料:
(11)系统流程图;
)系统流程图;
(22)数据字典;
)数据字典;
(33)成本效益分析;
)成本效益分析;
(44)实现这个系统的进度计划。
)实现这个系统的进度计划。
4.24.2总体设计的过程总体设计的过程9n实例:
假设一家工厂的采购部每天需要一张定货报实例:
假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次表,报表按零件编号排序,表中列出所有需要再次定货的零件。
对于每个需要再次定货的零件应该列定货的零件。
对于每个需要再次定货的零件应该列出下述数据:
零件编号,零件名称,定货数量,目出下述数据:
零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。
零件入库或出前价格,主要供应者,次要供应者。
零件入库或出库称为事务,通过放在仓库中的库称为事务,通过放在仓库中的CRTCRT终端把事务报终端把事务报告给定货系统。
当某种零件的库存数量少于库存量告给定货系统。
当某种零件的库存数量少于库存量临界值时就应该再次定货。
画出数据流图。
临界值时就应该再次定货。
4.24.2总体设计的过程总体设计的过程10定货系统的基本系统模型定货系统的基本系统模型4.24.2总体设计的过程总体设计的过程11定货系统的功能级数据流图定货系统的功能级数据流图4.24.2总体设计的过程总体设计的过程12把处理事务的功能进一步分解后的数据流图把处理事务的功能进一步分解后的数据流图4.24.2总体设计的过程总体设计的过程13n当用数据流图辅助物理系统的设计时,以图中不同处理的定时要求为指南,能够在数据流图上画出许多组自动化边界,每组自动化边界可能意味着一个不同的物理系统,因此可以根据系统的逻辑模型考虑系统的物理实现。
4.24.2总体设计的过程总体设计的过程14这种划分自动化边界的方法暗示以批量方式更新库存清单这种划分自动化边界的方法暗示以批量方式更新库存清单4.24.2总体设计的过程总体设计的过程15这种划分自动化边界的方法建议以联机方式更新库存清单这种划分自动化边界的方法建议以联机方式更新库存清单4.24.2总体设计的过程总体设计的过程162.选取合理的方案n从上一步得到的一系列供选择的方案中选取若干个合理的方案,从上一步得到的一系列供选择的方案中选取若干个合理的方案,通常至少选取低成本、中等成本和高成本的三种方案;
通常至少选取低成本、中等成本和高成本的三种方案;
n根据系统分析确定的目标,来判断哪些方案是合理的;
根据系统分析确定的目标,来判断哪些方案是合理的;
3.推荐最佳方案n综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并为最佳方案制定详细的实现计划。
为最佳方案制定详细的实现计划。
4.24.2总体设计的过程总体设计的过程174.功能分解n为了最终实现目标系统,必须设计出组成这个系统的所有程为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件序和文件(或数据库或数据库)。
n对程序对程序(特别是复杂的大型程序特别是复杂的大型程序)的设计,通常分为两个阶段的设计,通常分为两个阶段完成:
完成:
uu结构设计结构设计。
结构设计是总体设计阶段的任务,主要是确。
结构设计是总体设计阶段的任务,主要是确定程序由哪些模块组成,以及这些模块之间的关系;
定程序由哪些模块组成,以及这些模块之间的关系;
uu过程设计过程设计。
过程设计是详细设计阶段的任务,主要是确。
过程设计是详细设计阶段的任务,主要是确定每个模块的处理过程。
定每个模块的处理过程。
4.24.2总体设计的过程总体设计的过程185.设计软件结构n软件结构反映系统中模块的相互调用关系:
顶层模块调用它软件结构反映系统中模块的相互调用关系:
顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能;
成最具体的功能;
n软件结构通过层次图或结构图(软件结构通过层次图或结构图(后面后面4.54.5节介绍节介绍)来描绘,也)来描绘,也可以直接从数据流图映射出软件结构(可以直接从数据流图映射出软件结构(后面后面4.64.6节介绍节介绍)。
)。
4.24.2总体设计的过程总体设计的过程19同一个问题的各种软件结构同一个问题的各种软件结构4.24.2总体设计的过程总体设计的过程206.设计数据库n数据库的应用越来越广泛,目前大多数的系统都要用到数据数据库的应用越来越广泛,目前大多数的系统都要用到数据库技术。
库技术。
n数据库设计是一项专门的技术,包括数据库设计是一项专门的技术,包括模式设计、子模式设计、模式设计、子模式设计、完整性和安全性设计和优化处理完整性和安全性设计和优化处理等。
等。
4.24.2总体设计的过程总体设计的过程7.制定测试计划n在软件开发的早期阶段提前考虑软件的测试计划是很有必要在软件开发的早期阶段提前考虑软件的测试计划是很有必要的。
这样能促使软件设计人员在设计时注意到软件的测试问的。
这样能促使软件设计人员在设计时注意到软件的测试问题,从而有利于提高软件的可测试性。
题,从而有利于提高软件的可测试性。
214.24.2总体设计的过程总体设计的过程8.书写文档n系统说明系统说明n用户手册用户手册n测试计划测试计划n详细的实现计划详细的实现计划n数据库设计结果数据库设计结果9.审查和复审n先技术审查先技术审查n后管理复查后管理复查224.34.3软件设计原理软件设计原理一、模块化n即把软件划分为可独立命名和编址的部件,每个部件称为一个模块,每个模块完成一个子功能,当把所有模块组装到一起成为一个整体时,便可以完成指定的功能。
n模块是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可通过名字来访问。
例如,过程、函数、子程序、宏等等都可作为模块。
n目前,几乎所有的软件体系结构都体现了模块化的思想。
231.理想模块n理想模块的特点:
理想模块的特点:
n每个理想模块只解决一个问题;
每个理想模块只解决一个问题;
n每个理想模块的功能都应该明确,使人容易理解;
每个理想模块的功能都应该明确,使人容易理解;
n理想模块之间的联结关系简单,具有独立性;
理想模块之间的联结关系简单,具有独立性;
n由理想模块构成的系统,容易使人理解,易于编程,易于由理想模块构成的系统,容易使人理解,易于编程,易于测试,易于修改和维护;
测试,易于修改和维护;
n对用户来说,其感兴趣是模块的功能,而不必去理解模块内对用户来说,其感兴趣是模块的功能,而不必去理解模块内部的结构和原理。
部的结构和原理。
242.模块化和软件成本的关系当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本(工作量)确实减少了;
但是,随着模块数目增加,设计模块间接口所需要的工作量也将增加。
根据这两个因素,得出如下图所示的总成本曲线。
每个程序都相应地有一个最适当的模块数目M,使得系统的开发成本最小。
253.采用模块化原理的优点:
n可以使软件结构清晰,容易设计、容易阅读和理解、容易测试和调试;
n提高软件的可靠性;
n有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块。
26n软件系统进行模块设计时,可有不同的抽象层次;
软件系统进行模块设计时,可有不同的抽象层次;
u在最高的抽象层次上,可以使用问题所处环境的语言概括在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法;
地描述问题的解法;
u在较低的抽象层次上,则采用过程化的方法,把面向问题在较低的抽象层次上,则采用过程化的方法,把面向问题的术语和面向实现的术语结合起来叙述问题的解法;
的术语和面向实现的术语结合起来叙述问题的解法;
u在最低的抽象层次上,用可直接实现的方式叙述问题的解在最低的抽象层次上,用可直接实现的方式叙述问题的解法。
法。
二、抽象4.34.3软件设计原理软件设计原理271.过程的抽象在软件工程中,从系统定义到实现,每进展一步都可以看做是在软件工程中,从系统定义到实现,每进展一步都可以看做是对软件解决方法的抽象化过程的一次细化;
对软件解决方法的抽象化过程的一次细化;
软件需求分析阶段,用“问题所处环境的为大家所熟悉的术语”来描述软件的解决方法;
从概要设计到详细设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 软件设计 总体 设计