第4章软件总体设计概要课件.ppt
《第4章软件总体设计概要课件.ppt》由会员分享,可在线阅读,更多相关《第4章软件总体设计概要课件.ppt(119页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 软件总体设计软件总体设计1【本章引言】p总体设计过程通常由两个阶段组成:系统设计和总体设计过程通常由两个阶段组成:系统设计和结构设计。其中系统设计的任务是确定系统的具结构设计。其中系统设计的任务是确定系统的具体实现方案,结构设计则是确定软件的模块结构。体实现方案,结构设计则是确定软件的模块结构。这两个阶段是紧密联系在一起的,它们执行的效这两个阶段是紧密联系在一起的,它们执行的效果将直接影响到总体设计好坏,乃至整个软件工果将直接影响到总体设计好坏,乃至整个软件工程的合理与否。前一个阶段是后一个阶段的基础,程的合理与否。前一个阶段是后一个阶段的基础,后一个阶段是前一个阶段的发展方向。
2、因此,我后一个阶段是前一个阶段的发展方向。因此,我们在总体设计的整个过程中必须围绕系统设计和们在总体设计的整个过程中必须围绕系统设计和结构设计这两个阶段展开每一项工作。结构设计这两个阶段展开每一项工作。Saturday,May 27,20232第四章 软件总体设计第四章 软件总体设计【本章重点本章重点】p软件设计的概念与原则软件设计的概念与原则;p掌握总体设计的步骤和方法掌握总体设计的步骤和方法;【教学目标教学目标】p掌握软件设计的概念与原则掌握软件设计的概念与原则;p掌握总体设计的步骤和方法掌握总体设计的步骤和方法;p了解总体设计的文档与评审。了解总体设计的文档与评审。Saturday,Ma
3、y 27,20233第四章 软件总体设计第四章 软件总体设计p 4.1 4.1 总体设计概述总体设计概述 p 4.2 4.2 总体设计的图形描述工具总体设计的图形描述工具 p 4.3 4.3 模块化设计模块化设计 p 4.4 4.4 面向数据流的设计方法面向数据流的设计方法 p 4.5 4.5 小结小结p 4.6 4.6 习题习题 Saturday,May 27,20234第四章 软件总体设计软件设计阶段的任务与目标软件设计阶段的任务与目标软件设计阶段的任务与目标软件设计阶段的任务与目标软软件件编编码码前前,必必须须先先进进行行软软件件设设计计。软软件件设设计计是软件开发的关键步骤,直接影响软
4、件的质量。是软件开发的关键步骤,直接影响软件的质量。在在软软件件需需求求分分析析阶阶段段已已经经完完全全弄弄清清楚楚了了软软件件的的各各种种需需求求,较较好好地地解解决决了了所所开开发发的的软软件件“做做什什么么”的的问问题题,并并已已在在软软件件需需求求说说明明书书和和数数据据要要求求说说明明书书中中详详尽尽和和充充分分地地阐阐明明了了这这些些需需求求以以后后,下下一一步步就就要要着着手手实实现现软软件件的的需需求求,即即软软件件设设计计阶阶段段要要解解决决“怎怎怎怎么做么做么做么做”的问题。的问题。Saturday,May 27,20235第四章 软件总体设计 软件设计在开发阶段中的重要性
5、软件设计在开发阶段中的重要性软软软软件件件件设设设设计计计计阶阶阶阶段段段段要要要要解解解解决决决决“如如如如何何何何做做做做”的的的的问问问问题题题题。这这这这显显显显然然然然是是是是整整整整个个个个软软软软件件件件开开开开发发发发过过过过程程程程的的的的核核核核心心心心问问问问题题题题,所所所所有有有有的的的的开开开开发发发发工工工工作作作作都都都都将将将将根根根根据据据据设设设设计计计计的的的的方方方方案案案案进进进进行行行行。系系系系统统统统的的的的总总总总体体体体结结结结构构构构在在在在该该该该阶阶阶阶段段段段决决决决定定定定,因因因因此此此此软软软软件件件件的的的的总总总总体体体体
6、设设设设计计计计决决决决定定定定了了了了系系系系统统统统的的的的质量。质量。质量。质量。软软件件需需求求确确定定以以后后,进进入入由由软软件件设设计计、编编码码、测测试试三三个个关关联联阶阶段段构构成成的的开开发发阶阶段段。开开发发阶阶段段的的信信息息流流如如图图所所示示。在在设设计计步步骤骤中中,根根据据软软件件的的功功能能和和性性能能需需求求等等,采采用用某某种种设设计计方方法法进进行行数数据据设设计、系统结构设计和过程设计。计、系统结构设计和过程设计。Saturday,May 27,20236第四章 软件总体设计Saturday,May 27,20237第四章 软件总体设计p数据设计侧重
7、于软件数据结构的定义数据设计侧重于软件数据结构的定义p系统结构设计定义软件系统的整体结构,是软件开系统结构设计定义软件系统的整体结构,是软件开发的核心步骤。在设计步骤中,建立软件主要成份发的核心步骤。在设计步骤中,建立软件主要成份之间的关系之间的关系p过程设计过程设计则是把结构成份转换成软件的过程性描述则是把结构成份转换成软件的过程性描述则是把结构成份转换成软件的过程性描述则是把结构成份转换成软件的过程性描述在在编编码码步步骤骤中中,根根据据这这种种过过程程性性描描述述,生生成成源源程程序序代代码码,然然后后通通过测试,最终得到完整有效的软件。过测试,最终得到完整有效的软件。Saturday,
8、May 27,20238第四章 软件总体设计p软件设计是后续开发步骤及软件维护工作的软件设计是后续开发步骤及软件维护工作的软件设计是后续开发步骤及软件维护工作的软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定基础。如果没有设计,只能建立一个不稳定基础。如果没有设计,只能建立一个不稳定基础。如果没有设计,只能建立一个不稳定的系统结构的系统结构的系统结构的系统结构Saturday,May 27,20239第四章 软件总体设计软件设计阶段的任务软件设计阶段的任务一、软件设计的任务一、软件设计的任务将将分分析析阶阶段段获获得得的的需需求求说说明明转转换换为为计计算算机机中中
9、可可实实现现的的系系统统,完完成成系系统统的的结结构构设设计计,包包括括数数据据结结构和程序结构,最后得到软件设计说明书。构和程序结构,最后得到软件设计说明书。从从工工程程管管理理的的角角度度来来看看,软软件件设设计计分分两两步步完完成成;分分为为总总体体设设计计(概概要要设设计计)和和详详细细设设计计两两个个阶阶段段。其其工工作作流流程程如图所示。如图所示。首首先先做做概概要要设设计计,将将软软件件需需求求转转化化为为数数据据结结构构和和软软件件的的系系统统结结构构。然然后后是是详详细细设设计计,即即过过程程设设计计。通通过过对对结构表示进行细化,得到软件详细的数据结构和算法。结构表示进行细
10、化,得到软件详细的数据结构和算法。Saturday,May 27,202310第四章 软件总体设计把分析模型转变成软件把分析模型转变成软件Saturday,May 27,202311第四章 软件总体设计Saturday,May 27,202312第四章 软件总体设计p概要设计的基本目的就是回答概要设计的基本目的就是回答“概括地说,概括地说,系统应该如何实现系统应该如何实现”p划分组成系统的物理元素划分组成系统的物理元素-程序、文件、程序、文件、数据库和文档等,另一方面要设计软件的数据库和文档等,另一方面要设计软件的结构,即确定系统中每个程序由哪些模块结构,即确定系统中每个程序由哪些模块组成,以
11、及这些模块相互间的关系组成,以及这些模块相互间的关系总体设计过程总体设计过程总体设计过程总体设计过程Saturday,May 27,202313第四章 软件总体设计p在详细设计过程中,需要完成的工作是:在详细设计过程中,需要完成的工作是:1.确定软件各个组成部分内的算法以确定软件各个组成部分内的算法以及各部分的内部数据组织及各部分的内部数据组织2.选定某种过程的表达形式来描述各选定某种过程的表达形式来描述各种算法。种算法。3.进行详细设计的评审进行详细设计的评审详细设计详细设计Saturday,May 27,202314第四章 软件总体设计总体总体设计设计需求需求 说明书说明书复审复审软件结构
12、软件结构修修 改改详细详细设计设计可接受可接受模块描述模块描述复审复审修修 改改 设计设计说明书说明书软件设计工作流程软件设计工作流程设设计计阶阶段段结结束束要要交交付付的的文文档档是是设设计计说说明明书书,根根据据设设计计方方法法的的不不同同,有有不不同同的的设设计计文文档档。每每个设计步骤完成后,都应进行复审。个设计步骤完成后,都应进行复审。Saturday,May 27,202315第四章 软件总体设计1 1 1 1、划分模块,确定软件结构、划分模块,确定软件结构、划分模块,确定软件结构、划分模块,确定软件结构 开开发发方方法法不不同同,确确定定软软件件结结构构的的方方法法也也不不同同。
13、例例如如SD法法,是是从从分分层层的的DFD图图导导出出初初始始的的结结构构图图,再再对初始的结构图进行改进,获得最终的结构图。对初始的结构图进行改进,获得最终的结构图。一一般般包包括括确确定定系系统统的的软软件件结结构构,分分解解模模块块 ,确确定系统的模块层次关系。定系统的模块层次关系。2 2 2 2、确定系统的数据结构、确定系统的数据结构、确定系统的数据结构、确定系统的数据结构 要要确确定定数数据据的的类类型型,组组织织、存存取取方方式式,相相关关程程度度及处理方式等。及处理方式等。3 3 3 3、设计用户界面、设计用户界面、设计用户界面、设计用户界面 软件设计阶段的任务可分为三部分:软
14、件设计阶段的任务可分为三部分:Saturday,May 27,202316第四章 软件总体设计二、软件设计的目标二、软件设计的目标在设计阶段应达到的目标是在设计阶段应达到的目标是:提高可靠性;提高可维护性;提高可理解性;提高可靠性;提高可维护性;提高可理解性;提高效率。提高效率。软件软件软件软件设计设计设计设计高可靠性高可靠性高可维护性高可维护性高可理解性高可理解性高效率高效率 软件设计的目标软件设计的目标Saturday,May 27,202317第四章 软件总体设计常用的设计方法有:常用的设计方法有:SD法、法、Jackson法、法、HIPO法、法、Parnas法、法、Warnier法等。
15、法等。衡量该目标的准则衡量该目标的准则:1、软件实体有明显的层次结构,利于软件元素间、软件实体有明显的层次结构,利于软件元素间控制控制2、软件实体应该是模块化的,模块具有独立功能、软件实体应该是模块化的,模块具有独立功能3、软件实体与环境的界面清晰、软件实体与环境的界面清晰4、设计规格说明清晰、简洁、完整和无二义性、设计规格说明清晰、简洁、完整和无二义性Saturday,May 27,202318第四章 软件总体设计4.1 总体设计概述 4.1.1 4.1.1 总体设计的任务总体设计的任务p确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文
16、件结构、数据库模式,确定测试方法与策略。p编写总体设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。选择分解功能与划分模块的设计原则Saturday,May 27,202319第四章 软件总体设计 4.1 总体设计概述 4.1.2 4.1.2 总体设计的步骤总体设计的步骤1设计系统方案2选取合理的方案 3推荐最佳方案 4功能分解5软件结构设计6数据库设计、文件结构的设计7制定测试计划8书写文档9审查和复审Saturday,May 27,202320第四章 软件总体设计软件结构软件结构 软软件件结结构构是是软软件件模模块块之之间间关关系系的的表表示
17、示,它它决决定定了了整整个个系系统统的的结结构构,也也确确定定了了系系统统的的质质量量。模模块块之之间的关系可有多种,但都可以归结为一种层次关系。间的关系可有多种,但都可以归结为一种层次关系。软件结构图是总体设计阶段的主要描述工具,软件结构图是总体设计阶段的主要描述工具,它描述了构成系统的基本元素它描述了构成系统的基本元素模块及模块之间模块及模块之间的调用关系,模块之间的数据传递关系。的调用关系,模块之间的数据传递关系。Saturday,May 27,202321第四章 软件总体设计Saturday,May 27,202322第四章 软件总体设计软件结构的基本概念软件结构的基本概念ABCDEF
18、GHIJKLM模块(模块(模块(模块(Module)模模模模块块块块是是是是程程程程序序序序对对对对象象象象有有有有名名名名字字字字的的的的集集集集合合合合。例例如如,过过程程、函函数数、子子程程序序、宏宏等等,是是构构成成软软件件系系统结构的基本元素。统结构的基本元素。软件结构图软件结构图Saturday,May 27,202323第四章 软件总体设计体系结构设计是软件设计的第一个阶段,该阶段侧重体系结构设计是软件设计的第一个阶段,该阶段侧重于系统宏观结构的设计,而不关心模块的内部算法。于系统宏观结构的设计,而不关心模块的内部算法。杨叔子院子曾这样指点其弟子:杨叔子院子曾这样指点其弟子:文学
19、中有科学,音乐中有数学,漫画中有现代数学文学中有科学,音乐中有数学,漫画中有现代数学的拓扑学。漫画家可以的拓扑学。漫画家可以“几笔几笔”就把一个人画出来,不管怎就把一个人画出来,不管怎么美化或丑化,就是活像。为什么?因为那么美化或丑化,就是活像。为什么?因为那“几笔几笔”不是别不是别的,而是拓扑学中的特征不变量,这是事物最本质的东西。的,而是拓扑学中的特征不变量,这是事物最本质的东西。体系结构是软件系统中最本质的东西:体系结构是软件系统中最本质的东西:软件系统的体系结构分为集中式的层次结构、客户机软件系统的体系结构分为集中式的层次结构、客户机/服务器等。服务器等。Saturday,May 27
20、,202324第四章 软件总体设计一、层次结构一、层次结构Saturday,May 27,202325第四章 软件总体设计Saturday,May 27,202326第四章 软件总体设计二、二、客户服务器模型客户服务器模型(Client/ServerArchitecturalModel)C/S结构是一种分布式模型,采用发请求、得结果的结构是一种分布式模型,采用发请求、得结果的模式:模式:客户机客户机向服务器发出请求向服务器发出请求(数据请求、网页请求、文件数据请求、网页请求、文件传输请求等传输请求等)。服务器服务器响应请求,进行相应的操作,将结果回传给客户响应请求,进行相应的操作,将结果回传给
21、客户机,客户机再将格式化后的结果呈现给用户。机,客户机再将格式化后的结果呈现给用户。C/S结构的应用都由三个相对独立的逻辑部分组成结构的应用都由三个相对独立的逻辑部分组成。用户界面用户界面应用逻辑应用逻辑数据访问数据访问三种逻辑之间的关系三种逻辑之间的关系Saturday,May 27,202327第四章 软件总体设计1.两层客户服务器模型两层客户服务器模型2.(TwoTierClient/ServerArchitecturalModel)服务器服务器1网络网络服务器服务器2服务器服务器M客户客户1客户客户2客户客户N两层两层Client/Server结构结构请求请求结果结果请求请求C/S的工
22、作模式是一种远程过程调用的工作模式是一种远程过程调用(RPC,RemoteProcedureCall)模式,允许客户端和服务器端有不同的软模式,允许客户端和服务器端有不同的软硬平台。硬平台。Saturday,May 27,202328第四章 软件总体设计client1 1client2 2client4 4client3 3Wide-bandwidthnetwokCatalogueservercataloguevideoserverFilmclipfilespictureserverdigitisedphotographshypertextserverhypertextweb例:例:电影图片库
23、的系统的体系结构电影图片库的系统的体系结构sSaturday,May 27,202329第四章 软件总体设计完整的应用包含三个相对独立的逻辑部分,而两层的完整的应用包含三个相对独立的逻辑部分,而两层的C/S结构只有两个端应用。应用逻辑应该映射到哪一端上结构只有两个端应用。应用逻辑应该映射到哪一端上呢?呢?三种情况:三种情况:网网网网络络络络用户界面用户界面客户端逻辑客户端逻辑应用应用服务端逻辑服务端逻辑应用应用客户端客户端用户界面用户界面逻辑应用逻辑应用数据访问数据访问用户界面用户界面逻辑应用逻辑应用数据访问数据访问服务器服务器应用逻辑层的映射情况应用逻辑层的映射情况数据访问数据访问C/S应用
24、应用3C/S应用应用1C/S应用应用2两两层层C/S架架构构将将数数据据表表示示和和处处理理逻逻辑辑分分开开,但但应应用用逻逻辑辑和和两两端端之之一一是是紧紧耦耦合合的的,不不适适宜宜多多用用户户、多多数数据据库库、非非安全的网络环境。安全的网络环境。Saturday,May 27,202330第四章 软件总体设计2.三层三层/多层应用模型多层应用模型(Three/MultiTierModel)第一级是数据库管理结点第一级是数据库管理结点(databasemanagementnode)。第二级或中间级是第二级或中间级是“商业逻辑结点商业逻辑结点”(businesslogicnode),是指具体
25、应用中实施的是指具体应用中实施的程序逻辑和法则。程序逻辑和法则。第三级是用户界面级,强调高效、方便易用的用户界面。第三级是用户界面级,强调高效、方便易用的用户界面。Databasemanagementnode(数据库管理结点)数据库管理结点)businesslogicnode(商业逻辑结点)商业逻辑结点)Security(安全)(安全)Event(事件)事件)Search(搜索)搜索)ClientAClientDClientBClientC服服务务器器客客户户机机第一级第一级第二级第二级第三级第三级Saturday,May 27,202331第四章 软件总体设计客户端客户端用户界面用户界面服务
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 总体 设计 概要 课件
限制150内