第4章-软件系统设计课件.ppt
《第4章-软件系统设计课件.ppt》由会员分享,可在线阅读,更多相关《第4章-软件系统设计课件.ppt(230页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.3 软件生存期(software life cycle)图1.14概要设计规格说明书详细设计规格说明书 软 件 生 存 期软件定义部分软件开发部分软件运行维护部分退役软件维护运行软件需求分析可行性研究问题定义综合测试编码与单元测试详细设计概要设计系统分析报告可行性分析报告初步项目计划需求规格说明书源程序代码测试报告用户手册维护报告 第1章 软件工程引论引言软件生存期2023/1/24 2结束返回图图3.6 3.6 需求分析需求分析模模型型3.1 软件需求分析3.1.5 需求分析模型需求分析模型引言2023/1/24 3结束返回第4章 软件概要设计4.1 软件设计过程软件设计过程4.2 软件
2、设计的基本概念软件设计的基本概念4.3 面向数据流的设计方法面向数据流的设计方法4.4 面向数据结构的设计方法面向数据结构的设计方法4.5 软件概要设计规格说明软件概要设计规格说明与评审与评审第4章 软件概要设计2023/1/24 4结束返回【学习目的学习目的】1.1.掌握解软件概要设计的原则和过程。掌握解软件概要设计的原则和过程。2.2.掌握模块划分的评价准则掌握模块划分的评价准则模块独立性的判别。模块独立性的判别。3.3.掌握结构化设计方法。掌握结构化设计方法。4.4.掌握数据设计和文件设计的原则。掌握数据设计和文件设计的原则。5.5.了解软件概要设计规格说明和设计评审的主要内容。了解软件
3、概要设计规格说明和设计评审的主要内容。6.6.了解了解JacksonJackson系统开发方法和系统开发方法和JacksonJackson程序设计方法。程序设计方法。第4章 软件概要设计2023/1/24 5结束返回【难重点难重点】软件设计从技术上的软件设计从技术上的体系结构设计、体系结构设计、数据结构设计、接口设计和过程设计。数据结构设计、接口设计和过程设计。第4章 软件概要设计2023/1/24 6结束返回4.1 4.1 软件设计的过程软件设计的过程WhoWho 为谁设计,用户是谁?为谁设计,用户是谁?为谁设计,用户是谁?为谁设计,用户是谁?WhatWhat 要解决哪些问题?要解决哪些问题
4、?要解决哪些问题?要解决哪些问题?WhyWhy 为什么要解决这些问题为什么要解决这些问题为什么要解决这些问题为什么要解决这些问题 3W3W图4.1 软件设计前需要考虑的问题软件设计前要考虑的问题:第4章 软件概要设计2023/1/24 7结束返回编编码码测测试试设设计计信息描述功能描述行为描述其他需求总体结构设计数据结构设计过程设计 程序模块集成并确认的软件图4.2 软件开发部分的信息流4.1 4.1 软件设计的过程软件设计的过程软件开发部分包括:软件设计、编码和测试阶段。第4章 软件概要设计2023/1/24 8结束返回4.1.1 4.1.1 软件设计的重要性软件设计的重要性 软件需求分析软
5、件需求分析软件设计软件设计软件设计软件设计做什么做什么怎么做怎么做图4.3 软件设计的作用任务任务任务任务任务任务任务任务第4章 软件概要设计2023/1/24 9结束返回4.1.2 4.1.2 软件设计的方法软件设计的方法图4.4 软件设计的方法结构化设计方法 面向对象设计 (OOD)面向数据流的设计 SD面向数据结构的设计Jackson软件设计方法结构化设计(SD,Structure Design)面向对象设计(OOD,Object Oriented Design)第4章 软件概要设计2023/1/24 10结束返回4.1.3 4.1.3 软件设计的过程概述软件设计的过程概述 软件设计软件
6、设计是一个是一个把把软件需求软件需求变换成变换成软件表示软件表示的过程。的过程。最初最初这种表示只是描绘出软件的总的框架;这种表示只是描绘出软件的总的框架;然后然后进一步细化,在此框架中填入细节;进一步细化,在此框架中填入细节;最后把最后把它加工成在程序细节上非常接近于源程它加工成在程序细节上非常接近于源程序的序的软件表示软件表示。第4章 软件概要设计2023/1/24 11结束返回4.1.3 4.1.3 软件设计的过程概述软件设计的过程概述图4.5 从技术和管理的角度看设计的关系 从从管管理理和和技技术术两两个个不不同同的的角角度度对对软软件件设设计计的的认识,可以用认识,可以用下图表示下图
7、表示。首首先先做做概概要要设设计计,将将软软件件需需求求转转化化为为数数据据结结构构和和软件的系统结构。软件的系统结构。然然后后是是详详细细设设计计,即即过过程程设设计计。通通过过对对结结构构表表示示进行细化,得到软件的详细的数据结构和算法。进行细化,得到软件的详细的数据结构和算法。从从工程管理工程管理的角度来看,软件设计分两步完成。的角度来看,软件设计分两步完成。从从技术观点技术观点来看,软件设计包括:来看,软件设计包括:软件结构设计软件结构设计 数据设计数据设计 接口设计接口设计 过程设计过程设计第4章 软件概要设计2023/1/24 12结束返回4.1.3 4.1.3 软件设计的过程概述
8、软件设计的过程概述软软件件设设计计的的基基本本目目标标是是用用比比较较抽抽象象概概括括的的方方式式确确定定目目标标系系统统如如何何完完成成预预定定的的任任务务。即即软软件设计是件设计是确定系统的物理模型确定系统的物理模型。将需求分析模型转换为软件设计将需求分析模型转换为软件设计 请见图请见图4.64.6第4章 软件概要设计2023/1/24 13结束返回图图图图4.6 4.6 将分析模型转换为设计将分析模型转换为设计将分析模型转换为设计将分析模型转换为设计数据字典数据字典数数据据流流图图实实体体关关系系图图状态转换图状态转换图加加工工规规格格说说明明控控制制规规 格格说说明明数数据据对对象象描
9、描述述过程设计过程设计接口设计接口设计体系结构设计体系结构设计数据设计数据设计将分析模型转换为设计将分析模型转换为设计将分析模型转换为设计将分析模型转换为设计第4章软件概要设计2023/1/24 14结束返回工工资资计计算算系系统统ER图图图图3.123.12数据设计数据设计将实体将实体关系图中描述的对象和关系,以及数据字关系图中描述的对象和关系,以及数据字典中描述的详细数据内容典中描述的详细数据内容转化转化为为数据结构数据结构的定义。的定义。例如:例如:表表4-1 职工基本信息表结构职工基本信息表结构列名(字段名)属性数据类型及长度说明及是否为空id职工号(主键)char(10)Nname姓
10、名varChar(50)Ngender性别nChar(1)Nage年龄IntNwages工资intnduty职称/职务varChar(15)ndid部门代号(外键)Char(10)N第4章软件概要设计2023/1/24 15结束返回图4.7工资计算系统的层次结构图体系结构设计体系结构设计定义软件系统各主要成份之间的定义软件系统各主要成份之间的关系关系,如,如图4.7 过程设计过程设计则是把结构成份转换成软件的则是把结构成份转换成软件的过程性描述。过程性描述。第4章软件概要设计2023/1/24 16结束返回图图4.84.8精品课程网站首页精品课程网站首页例如例如:系统首页及登录界面如:系统首页
11、及登录界面如图图4.84.8。接口设计接口设计根据数据流图定义软件内部各成份之间、软件根据数据流图定义软件内部各成份之间、软件与其它协同系统之间及软件与用户之间的与其它协同系统之间及软件与用户之间的交互机制交互机制。第4章软件概要设计2023/1/24 17结束返回图图4.94.9系统管理界面系统管理界面管理员登录后,系统管理界面请见管理员登录后,系统管理界面请见图图4.94.9第4章 软件概要设计2023/1/24 18结束返回4.1.3 4.1.3 软件设计的过程概述软件设计的过程概述 从工程管理的角度来看,软件设计分两步完成:概要设计和详细设计要完成的任务:详细设计确立每个模块的实现算法
12、局部数据结构用适当方法表示算法和数据结构的细节。概要设计将软件需求转化为软件体系结构确定系统级接口全局数据结构或数据库模式。图3.19 工资计算系统第一层数据流图图4.7工资计算系统的层次结构图第4章 软件概要设计2023/1/24 19结束返回4.1.4 4.1.4 衡量衡量软件设计的技术标准软件设计的技术标准(1)设计出来的结构应是设计出来的结构应是分层结构分层结构,从而建立软件成份之,从而建立软件成份之间的控制。间的控制。(2)设计应当设计应当模块化模块化,从逻辑上将软件划分为完成特定功,从逻辑上将软件划分为完成特定功能或子功能的构件。能或子功能的构件。衡量设计的技术标准如下:衡量设计的
13、技术标准如下:(3)设计应当既包含设计应当既包含数据抽象数据抽象,也包含,也包含过程抽象过程抽象。(4)设计应当建立具有设计应当建立具有独立功能特征的模块独立功能特征的模块。(5)设计应当建立能够设计应当建立能够降低降低模块与外部环境之间模块与外部环境之间复杂复杂连接连接的的接口接口。(6)设计应能根据软件需求分析获取的信息,建立设计应能根据软件需求分析获取的信息,建立可驱动可驱动可重复可重复的方法。的方法。图4.7工资计算系统的层次结构图第4章 软件概要设计2023/1/24 20结束返回4.1.5 4.1.5 软件概要设计的步骤软件概要设计的步骤 在软件概要设计过程中需要完成的工作:在软件
14、概要设计过程中需要完成的工作:(1)分析需求、制定规范分析需求、制定规范(2)软件系统结构的总体设计软件系统结构的总体设计(3)处理方式设计处理方式设计(4)数据结构和数据库的设计数据结构和数据库的设计(5)可靠性和安全性的设计可靠性和安全性的设计(6)编写概要设计阶段的文档编写概要设计阶段的文档(7)概要设计评审概要设计评审第4章 软件概要设计2023/1/24 21结束返回4.1.5 4.1.5 软件概要设计的任务软件概要设计的任务 思考题思考题:从管理和技术两个不同的角度从管理和技术两个不同的角度分析理解软件设计,两者之间有啥联分析理解软件设计,两者之间有啥联系?系?第4章 软件概要设计
15、2023/1/24 22结束返回 阅读和理解阅读和理解软件需求说明书软件需求说明书,在给定预算范围,在给定预算范围内和技术现状下,确认用户的要求内和技术现状下,确认用户的要求能否实现能否实现。若不能。若不能实现,则需明确实现的条件,从而确定设计的目标,实现,则需明确实现的条件,从而确定设计的目标,以及它们的优先顺序。以及它们的优先顺序。根据目标确定最合适的根据目标确定最合适的设计方法设计方法。规定设计文档的规定设计文档的编制标准编制标准,包括文档体系,用,包括文档体系,用纸及样式,记述的详细程度,图形的画法等。纸及样式,记述的详细程度,图形的画法等。规定编码的规定编码的信息形式信息形式(代码体
16、系代码体系),与硬件,操,与硬件,操作系统的接口规约,命名规则等。作系统的接口规约,命名规则等。(1)评审需求与制定规范评审需求与制定规范4.1.6 4.1.6 软件概要设计过程软件概要设计过程 第4章 软件概要设计2023/1/24 23结束返回 在需求分析阶段,已经从系统开发的角度,在需求分析阶段,已经从系统开发的角度,把系统按功能逐次分割成层次结构,使每一部把系统按功能逐次分割成层次结构,使每一部分完成简单的功能且各个部分之间又保持一定分完成简单的功能且各个部分之间又保持一定的联系,这就是所谓的的联系,这就是所谓的功能设计功能设计。在设计阶段,基于这个功能的层次结构把各在设计阶段,基于这
17、个功能的层次结构把各个部分组合起来成为系统。它包括:个部分组合起来成为系统。它包括:(2)软件系统结构的总体设计软件系统结构的总体设计4.1.6 4.1.6 软件概要设计过程软件概要设计过程 第4章 软件概要设计2023/1/24 24结束返回 采用某种设计方法,将一个复杂的系统按功能划采用某种设计方法,将一个复杂的系统按功能划分成模块的分成模块的层次结构层次结构。确定每个模块的确定每个模块的功能功能,建立与已确定的软件需求,建立与已确定的软件需求的对应关系。的对应关系。确定模块间的确定模块间的调用关系调用关系。确定模块间的确定模块间的接口接口,即模块间传递的信息。设计,即模块间传递的信息。设
18、计接口的信息结构。接口的信息结构。评估模块划分的质量及导出评估模块划分的质量及导出模块结构模块结构的规则。的规则。4.1.6 4.1.6 软件概要设计过程软件概要设计过程 第4章 软件概要设计2023/1/24 25结束返回4.1.6 4.1.6 软件概要设计过程软件概要设计过程(3)(3)处理方式设计处理方式设计 确定为实现软件系统的确定为实现软件系统的功能需求功能需求所必需的所必需的算法算法,评估算法的性能。评估算法的性能。确定为满足软件系统的确定为满足软件系统的性能需求性能需求所必需的所必需的算法算法和模块间的控制方式(性能设计)。和模块间的控制方式(性能设计)。确定外部信号的确定外部信
19、号的接收发送形式接收发送形式(接口设计)。(接口设计)。第4章 软件概要设计2023/1/24 26结束返回4.1.6 4.1.6 软件概要设计过程软件概要设计过程 处理方式设计技术指标:处理方式设计技术指标:周转时间:周转时间:即一旦向计算机发出要求处理的请求之后,从输即一旦向计算机发出要求处理的请求之后,从输入开始,经过处理直到输出结果为止的入开始,经过处理直到输出结果为止的整个时间整个时间。响应时间:响应时间:这是对于实时联机系统的性能需求。当终端用户这是对于实时联机系统的性能需求。当终端用户向计算机发出处理请求之后,从输入开始到输出最终结果向计算机发出处理请求之后,从输入开始到输出最终
20、结果中间的一段时间内,用户需要多次对计算机进行输入输出,中间的一段时间内,用户需要多次对计算机进行输入输出,而一次输入输出的时间就是而一次输入输出的时间就是响应时间响应时间。吞吐量:吞吐量:单位时间内能够处理的数据量叫做单位时间内能够处理的数据量叫做吞吐量吞吐量。这是表。这是表示系统能力的指标。示系统能力的指标。精度:精度:在进行科学计算或工程计算时,运算在进行科学计算或工程计算时,运算精确度精确度的要求。的要求。第4章 软件概要设计2023/1/24 27结束返回4.1.6 4.1.6 软件概要设计过程软件概要设计过程(4)(4)数据结构设计数据结构设计确定软件涉及的文件系统的结构以及数据库
21、的模确定软件涉及的文件系统的结构以及数据库的模式、子模式,式、子模式,进行数据完整性和安全性的设计进行数据完整性和安全性的设计。确定输入,输出文件的详细的确定输入,输出文件的详细的数据结构数据结构。结合算法设计,确定算法所必需的结合算法设计,确定算法所必需的逻辑数据结逻辑数据结 构及其操作构及其操作。确定对逻辑数据结构所必需的那些操作的确定对逻辑数据结构所必需的那些操作的程序程序 模块模块(软件包)。(软件包)。第4章 软件概要设计2023/1/24 28结束返回4.1.6 4.1.6 软件概要设计过程软件概要设计过程 确定详细的确定详细的数据结构和使用规则数据结构和使用规则。数据库设计数据库
22、设计数据库的设计数据库的设计指数据存储文件的设计指数据存储文件的设计。定义数。定义数据结构所含的数据项、类型、长度、它们之间的据结构所含的数据项、类型、长度、它们之间的层次或相互关系的表格等。层次或相互关系的表格等。数据的保护性设计数据的保护性设计冗余性设计:冗余性设计:一致性设计:一致性设计:防卫性设计:防卫性设计:第4章 软件系统设计2023/1/24 29结束返回4.1.6 4.1.6 软件概要设计过程软件概要设计过程(5)(5)可靠性设计可靠性设计 可靠性设计也叫做可靠性设计也叫做质量设计质量设计。在计算机。在计算机使用的过程中,可靠性是很重要的。可靠性使用的过程中,可靠性是很重要的。
23、可靠性不高的软件会使得运行结果不能使用而造成不高的软件会使得运行结果不能使用而造成严重损失。严重损失。软件可靠性简言之是指程序和文档中的软件可靠性简言之是指程序和文档中的错误少。错误少。第4章 软件概要设计2023/1/24 30结束返回4.1.6 4.1.6 软件概要设计过程软件概要设计过程(6)(6)编写概要设计阶段的文档编写概要设计阶段的文档概要设计阶段完成时应编写以下文档:概要设计阶段完成时应编写以下文档:概要设计说明书概要设计说明书:给出系统目标、总体设计、数:给出系统目标、总体设计、数据设计、处理方式设计、运行设计、出错设计等。据设计、处理方式设计、运行设计、出错设计等。数据库设计
24、说明书数据库设计说明书:给出所使用数据库简介、数:给出所使用数据库简介、数据模式设计、物理设计等。据模式设计、物理设计等。用户手册用户手册:对需求分析阶段编写的初步的用户手:对需求分析阶段编写的初步的用户手册进行审订。册进行审订。修订测试计划修订测试计划:对测试的策略、方法和步骤提出:对测试的策略、方法和步骤提出明确的要求。明确的要求。第4章 软件概要设计2023/1/24 31结束返回4.1.6 4.1.6 软件概要设计过程软件概要设计过程 (7)(7)概要设计评审概要设计评审可追溯性:可追溯性:即分析该软件的系统结构、子系统即分析该软件的系统结构、子系统结构,确认该软件设计是否复盖了所有已
25、确定结构,确认该软件设计是否复盖了所有已确定的软件需求,软件每一成份是否的软件需求,软件每一成份是否可追溯可追溯到某一到某一项需求。项需求。接口:接口:即分析软件各部分之间的联系,确认该即分析软件各部分之间的联系,确认该软件的内部接口与外部接口软件的内部接口与外部接口是否已经明确定义是否已经明确定义。模块是否满足模块是否满足高内聚和低耦合高内聚和低耦合的要求。模块作的要求。模块作用范围是否在其控制范围之内。用范围是否在其控制范围之内。第4章 软件概要设计2023/1/24 32结束返回4.1.6 4.1.6 软件概要设计过程软件概要设计过程 风险:风险:即确认该软件设计在现有技术条件下即确认该
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 系统 设计 课件
限制150内