软件工程总体设计.ppt

上传人:王** 文档编号:168405 上传时间:2023-03-10 格式:PPT 页数:80 大小:1.01MB
下载 相关 举报
软件工程总体设计.ppt_第1页
第1页 / 共80页
软件工程总体设计.ppt_第2页
第2页 / 共80页
软件工程总体设计.ppt_第3页
第3页 / 共80页
软件工程总体设计.ppt_第4页
第4页 / 共80页
软件工程总体设计.ppt_第5页
第5页 / 共80页
软件工程总体设计.ppt_第6页
第6页 / 共80页
软件工程总体设计.ppt_第7页
第7页 / 共80页
软件工程总体设计.ppt_第8页
第8页 / 共80页
软件工程总体设计.ppt_第9页
第9页 / 共80页
软件工程总体设计.ppt_第10页
第10页 / 共80页
亲,该文档总共80页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件工程总体设计.ppt》由会员分享,可在线阅读,更多相关《软件工程总体设计.ppt(80页珍藏版)》请在优知文库上搜索。

1、1第二部分、开发阶段第二部分、开发阶段o系统设计系统设计总体设计总体设计体系结构设计体系结构设计模块设计模块设计详细设计详细设计用户界面设计用户界面设计数据结构与算法设计数据结构与算法设计o系统实现系统实现编码和单元测试编码和单元测试综合测试综合测试体系结构就如同人的骨架。体系结构就如同人的骨架。如果某个家伙的骨架是猴如果某个家伙的骨架是猴子,那么无论怎样喂养和子,那么无论怎样喂养和美容,他始终都是猴子,美容,他始终都是猴子,不会成为人。不会成为人。模块就如同人的器官,具有特定的功模块就如同人的器官,具有特定的功能。人体中最出色的模块设计之一是能。人体中最出色的模块设计之一是手,手只有几种动作

2、,却能做无限多手,手只有几种动作,却能做无限多的事情。人体中最糟糕的模块设计之的事情。人体中最糟糕的模块设计之一是嘴巴,嘴巴将最有价值但毫无相一是嘴巴,嘴巴将最有价值但毫无相干的几种功能如吃饭、说话混为一体,干的几种功能如吃饭、说话混为一体,使之无法并行处理,真乃人类之不幸。使之无法并行处理,真乃人类之不幸。 用户界面就如同人的外表,最容易让人用户界面就如同人的外表,最容易让人一见钟情或一见恶心。象人类追求心灵一见钟情或一见恶心。象人类追求心灵美和外表美那样,软件系统也追求(内美和外表美那样,软件系统也追求(内在的)功能强大和(外表的)界面友好。在的)功能强大和(外表的)界面友好。但随着生活节

3、奏的加快,人们已少有兴但随着生活节奏的加快,人们已少有兴趣去品味深藏不露的内在美。如果把趣去品味深藏不露的内在美。如果把Unix系统比作是健壮的汉子和妇人,那系统比作是健壮的汉子和妇人,那么么Windows系统就象妩媚的小白脸和狐系统就象妩媚的小白脸和狐狸精。想不到狸精。想不到Windows系统竟然能兴风系统竟然能兴风作浪,占去大半市场。作浪,占去大半市场。 数据结构与算法就如同人的血脉和神数据结构与算法就如同人的血脉和神经,它让器官具有生命并能发挥功能。经,它让器官具有生命并能发挥功能。数据结构与算法分布在体系结构和模数据结构与算法分布在体系结构和模块中,它将协调系统的各个功能。人块中,它将

4、协调系统的各个功能。人的耳朵和嘴巴虽然是相对独立的器官,的耳朵和嘴巴虽然是相对独立的器官,但如果耳朵失聪了,嘴巴就只能发出但如果耳朵失聪了,嘴巴就只能发出“啊啊”“”“呜呜”的声音,等于丧失了说的声音,等于丧失了说话的功能,可人们却又能用手势代替话的功能,可人们却又能用手势代替说话。人体的数据结构与算法设计真说话。人体的数据结构与算法设计真是十分神奇并且十分可笑。是十分神奇并且十分可笑。 第5章 总体设计o本章主要内容:本章主要内容:软件设计的概念与原则;总体设计的步骤和方法;面向数据流的设计方法;总体设计的文档与评审。o本章重点:本章重点:总体设计的步骤和方法;面向数据流的设计方法 o本章难

5、点:本章难点:软件设计的原则,内聚和耦合,系统结构图 。 2第五章第五章 总体设计总体设计5.1 5.1 设计过程设计过程5.2 5.2 设计原理设计原理5.3 5.3 启发规则启发规则5.4 5.4 描绘软件结构的图形工具描绘软件结构的图形工具5.5 5.5 面向数据流的设计方法面向数据流的设计方法 4 总体设计的基本目的总体设计的基本目的p总体设计的基本目的就是回答总体设计的基本目的就是回答“概括地说,系统应该概括地说,系统应该如何实现?如何实现?”这个问题。这个问题。p总体设计又称为概要设计或初步设计。总体设计又称为概要设计或初步设计。总体设计阶段的任务总体设计阶段的任务o通过这个阶段的

6、工作将划分出组成系统的物理元素通过这个阶段的工作将划分出组成系统的物理元素程程序、文件、数据库、人工过程和文档等等,但是每个物理序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于元素仍然处于黑盒子黑盒子级,这些黑盒子里的具体内容将在以级,这些黑盒子里的具体内容将在以后仔细设计。后仔细设计。o总体设计阶段的另一项重要任务是设计软件的结构,也就总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。模块相互间的关系。 总体设计的意义总体设计的意义o在详细设计之前进行总体设计可

7、以站在全局高度上,花较在详细设计之前进行总体设计可以站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。从而用较低成本开发出较高质量的软件系统。把对象当作一个黑盒子,不需要知道里面是怎么处理的。55.1 总总体体设设计计的的过过程程o总体设计过程通常由两个主要阶段组成:总体设计过程通常由两个主要阶段组成:n系统设计系统设计: :确定系统的具体实现方案。确定系统的具体实现方案。n结构设计

8、结构设计: :确定软件结构。确定软件结构。o9 9个步骤:个步骤:设想供选择的方案设想供选择的方案选取合理的方案选取合理的方案推荐最佳方案推荐最佳方案功能分解功能分解设计软件结构设计软件结构设计数据库设计数据库制定测试计划制定测试计划书写文档书写文档审查和复审审查和复审 65.1.1 5.1.1 设想供选择的方案设想供选择的方案o在总体设计阶段分析员应该考虑在总体设计阶段分析员应该考虑各种可能的实现方案各种可能的实现方案,并且力求从中选出最佳方案。并且力求从中选出最佳方案。o需求分析阶段得出的需求分析阶段得出的数据流图是总体设计的极好的出数据流图是总体设计的极好的出发点发点。数据流图中的某些处

9、理可以逻辑地归并在一个。数据流图中的某些处理可以逻辑地归并在一个自动化边界内作为一组,另一些处理可以放在另一个自动化边界内作为一组,另一些处理可以放在另一个自动化边界内作为另一组。自动化边界内作为另一组。这些自动化边界通常意味这些自动化边界通常意味着某种实现策略。着某种实现策略。 o设想把数据流图中的处理分组的各种可能的方法,抛设想把数据流图中的处理分组的各种可能的方法,抛弃在技术上行不通的分组方法弃在技术上行不通的分组方法(例如,组内不同处理(例如,组内不同处理的执行时间不相容),余下的分组方法代表可能的实的执行时间不相容),余下的分组方法代表可能的实现策略,并且可以启示供选择的物理系统。现

10、策略,并且可以启示供选择的物理系统。o在总体设计的该步骤中在总体设计的该步骤中分析员分析员仅仅一个边界一个边界仅仅一个边界一个边界地设想并且列出供选择的方案,并不评价这些方案。地设想并且列出供选择的方案,并不评价这些方案。5.1 总总体体设设计计的的过过程程785.1.2 选取若干个合理的方案选取若干个合理的方案o至少选取低成本、中等成本和高成本三种方案。至少选取低成本、中等成本和高成本三种方案。每种方案准备四份资料:每种方案准备四份资料:n系统流程图;系统流程图;n组成系统的物理元素清单;组成系统的物理元素清单;n成本成本/ /效益分析;效益分析;n实现这个系统的进度计划。实现这个系统的进度

11、计划。5.1 总总体体设设计计的的过过程程95.1.3 推荐最佳方案推荐最佳方案o分析员应该综合分析对比各种合理方案的利分析员应该综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并且为推荐的方弊,推荐一个最佳的方案,并且为推荐的方案制定详细的实现计划。案制定详细的实现计划。o在使用部门的负责人接受了分析员所推荐的在使用部门的负责人接受了分析员所推荐的方案之后,将进入总体设计过程的下一个重方案之后,将进入总体设计过程的下一个重要阶段要阶段结构设计结构设计。5.1 总总体体设设计计的的过过程程105.1.4 功能分解功能分解o程序(特别是复杂的大型程序)的设计,通常分为两程序(特别是复杂的大型

12、程序)的设计,通常分为两个阶段完成:个阶段完成:n结构设计结构设计:结构设计是总体设计阶段的任务。结构设计是总体设计阶段的任务。n过程设计过程设计:过程设计是详细设计阶段的任务。过程过程设计是详细设计阶段的任务。过程设计确定每个模块的处理过程设计确定每个模块的处理过程。o为确定软件结构,首先需要从为确定软件结构,首先需要从实现角度实现角度把复杂的功能把复杂的功能进一步进一步分解分解。一般说来,经过分解之后应该使每个功。一般说来,经过分解之后应该使每个功能对大多数程序员而言都是明显易懂的。能对大多数程序员而言都是明显易懂的。功能分解导功能分解导致数据流图的进一步细化致数据流图的进一步细化,同时还

13、应该,同时还应该用用IPOIPO图或其图或其他适当的工具简要描述细化后每个处理的算法他适当的工具简要描述细化后每个处理的算法 5.1 总总体体设设计计的的过过程程115.1.5 设计软件结构设计软件结构o通常程序中的通常程序中的一个模块完成一个适当的子功能一个模块完成一个适当的子功能。o应该把模块组织成良好的层次系统,应该把模块组织成良好的层次系统,顶层模块顶层模块调用它的下层模块以实现程序的完整功能调用它的下层模块以实现程序的完整功能,每,每个下层模块再调用更下层的模块,从而完成程个下层模块再调用更下层的模块,从而完成程序的一个子功能,序的一个子功能,最下层的模块完成最具体的最下层的模块完成

14、最具体的功能功能。o软件结构(即由模块组成的层次系统)可以用软件结构(即由模块组成的层次系统)可以用层次图层次图或或结构图结构图来描绘。来描绘。(5.4节节)5.1 总总体体设设计计的的过过程程125.1.6 数据库设计数据库设计o如需使用数据库,分析员应该在需求分析阶段对如需使用数据库,分析员应该在需求分析阶段对系统数据要求所做的分析的基础上进一步设计数系统数据要求所做的分析的基础上进一步设计数据库。包括下述四个步骤:据库。包括下述四个步骤:n模式设计模式设计: 模式设计的目的是确定物理数据模式设计的目的是确定物理数据库结构。库结构。n子模式设计子模式设计:子模式是用户使用的数据视图。:子模

15、式是用户使用的数据视图。n完整性和安全性设计完整性和安全性设计。n优化优化:主要目的是改进模式和子模式以优化:主要目的是改进模式和子模式以优化数据的存取。数据的存取。5.1 总总体体设设计计的的过过程程135.1.7 制定测试计划制定测试计划o在软件开发的早期阶段考虑测试问题,能促使软在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性。件设计人员在设计时注意提高软件的可测试性。5.1 总总体体设设计计的的过过程程145.1.8 书写文档书写文档o系统说明系统说明n用系统流程图描绘的系统构成方案;组成系统的物用系统流程图描绘的系统构成方案;组成系统的物理元素清单;

16、成本效益分析;对最佳方案的概括理元素清单;成本效益分析;对最佳方案的概括描述;精化的数据流图;用描述;精化的数据流图;用层次图层次图或或结构图结构图描绘的描绘的软件结构;用软件结构;用IPOIPO图或其他工具(例如,图或其他工具(例如,PDLPDL语言)语言)简要描述的各个模块的算法;模块间的接口关系;简要描述的各个模块的算法;模块间的接口关系;需求、功能和模块三者之间的交叉参照关系等等。需求、功能和模块三者之间的交叉参照关系等等。o用户手册用户手册n修改更正在需求分析阶段产生的初步的用户手册。修改更正在需求分析阶段产生的初步的用户手册。o测试计划测试计划n包括测试策略,测试方案,预期的测试结果,测试包括测试策略,测试方案,预期的测试结果,测试进度计划等等。进度计划等等。o详细的实现计划详细的实现计划o数据库设计结果数据库设计结果5.1 总总体体设设计计的的过过程程155.1.9 审查和复审审查和复审o最后应该对总体设计的结果进行严格的技术审最后应该对总体设计的结果进行严格的技术审查,在技术审查通过之后再由使用部门的负责查,在技术审查通过之后再由使用部门的负责人从管理角度进行复审。人从

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!