软件工程第4章-软件设计.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程第4章-软件设计.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件设计
- 资源描述:
-
1、第第4 4章章 软件设计软件设计 n本章主要内容本章主要内容n n软件设计的概念和原则n软件设计的基本过程n总体设计的主要内容n面向数据流的设计方法n详细设计的任务与原则n详细设计的表达工具n软件设计说明书的编制与评审 1第第4 4章章 软件设计软件设计本章结构:本章结构:n4.1 软件设计的基础知识软件设计的基础知识 n4.2 软件设计的基本过程软件设计的基本过程 n4.3 总体设计总体设计 n4.4 详细设计详细设计 n4.5 实例分析实例分析24.1 4.1 软件设计的基础知识软件设计的基础知识 4.1.1 软件设计概述 软件设计是一个将软件需求变换成软件表示的过程。软件设计的基本目标是
2、用比较抽象概括的方式确定目标系统如何完成预定的任务,即确定系统的物理模型,解决软件“怎么做”的问题。从技术的角度来看,软件设计可分为软件结构设计、数据设计、接口设计和过程设计。从工程管理的角度来看,软件设计可分为总体设计和详细设计两个步骤。34.1 4.1 软件设计的基础知识软件设计的基础知识 4.1.2 软件设计的任务和原则 在设计阶段,系统设计人员和程序设计人员应该在反复理解软件需求的基础上,提出多个设计方案,分析每个设计方案能实现的功能并进行相互比较,最后确定一个设计方案,包括该软件的结构、模块的划分、功能的分配以及处理流程。在一般情况下,应完成的文档包括:总体设计说明书、详细设计说明书
3、和测试计划初稿。软件设计中一般应遵循以下原则:模块化、抽象、信息隐蔽与局部化、一致性、完整性和可验证性。44.1 4.1 软件设计的基础知识软件设计的基础知识 1.模块化 (1)模块的含义 (2)模块化的依据 (3)模块化与软件成本 (4)定义模块大小的标准2.抽象3.信息隐蔽和局部化4.一致性、完整性和可验证性 54.2 4.2 软件设计的基本过程软件设计的基本过程 4.2.1 软件设计的基本过程1在总体设计过程中需要完成以下工作:(1)确定最佳方案 (2)功能分解 (3)体系结构设计(4)模块设计 (5)数据结构和数据库设计 (6)用户界面设计 (7)编写总体设计文档(8)评审 2在详细设
4、计过程中需要完成以下工作:(1)设计软件各组成部分的内部算法和数据组织;(2)选择某种表达方式来描述各种算法;(3)进行详细设计评审。64.2 4.2 软件设计的基本过程软件设计的基本过程 4.2.2 数据设计和文件设计进行数据设计时一般应遵循以下原则:(1)用于功能和行为的系统分析原则也可以应用于数据设计;(2)应该标识所有数据结构以及在每个数据结构上所施加的操作;(3)应建立数据词典,并应用于数据设计和程序设计;(4)采用自顶向下、逐步求精的方法完成数据设计,低层的设计决策应该推迟到设计过程的后期;(5)应该开发一个由有用的数据结构和应用于其上的操作组成的库;(6)数据结构的表示应做到:只
5、有那些需要直接使用数据结构、内部数据的模块才能看到该数据的表示;(7)软件设计和程序设计语言应该支持抽象数据类型的规格说明和实现。74.3 4.3 总总体体设计设计 4.3.1 数据设计和文件设计常见的体系结构有两大类:层次结构和客户机/服务器结构。1.层次结构图层次结构是在系统功能分解的基础上提出的,即将一个大的任务分解成若干小的任务分层次来完成。常见的层次结构有树状层次结构和相邻关系的层次结构。(1)树状层次结构(2)相邻关系的层次结构 2.客户机/服务器结构 3.浏览器/服务器结构84.3 4.3 总总体体设计设计 4.3.2 模块设计评价模块独立性的两个度量准则是耦合和内聚(或称聚合)
6、,耦合是模块之间相互依赖的紧密程度的度量,内聚是一个模块内部各个元素之间彼此结合的紧密程度的度量。一个模块内部各个元素之间的联系越紧密,则模块的内聚度就越高(强),相对地,它与其他模块之间的耦合就越低(弱),模块的独立性就越强。一个优秀的软件设计,应尽量做到高内聚、低耦合,从而提高模块的独立性。1.耦合(coupling)(1)非直接耦合(2)数据耦合(3)标记耦合(4)控制耦合(5)外部耦合(6)公共耦合(7)内容耦合 94.3 4.3 总总体体设计设计 2.内聚(cohesion)(1)偶然内聚(2)逻辑内聚(3)时间内聚 (4)过程内聚(5)通信内聚 (6)顺序内聚(7)功能内聚 104
7、.3 4.3 总总体体设计设计 3.启发式设计规则(1)消除重复功能,改进软件结构,提高模块独立性降低耦合,提高内聚。(2)模块规模应该适中,一般不超过60行语句。(3)深度、宽度、扇出和扇入都应适当。(4)模块的作用范围应该在控制范围之内。(5)力争降低模块接口的复杂程度。(6)设计单入口、单出口的模块。(7)模块功能应该可以预测。114.3 4.3 总总体体设计设计 4.3.3 数据结构和数据库设计 1.数据结构设计 2.数据库设计 数据库的数据模型设计,主要包括以下几方面的内容:(1)概念数据模型设计(2)逻辑数据模型设计(3)物理数据模型设计124.3 4.3 总总体体设计设计 4.3
8、.4 界面设计人机界面(Human Computer Interface,简称HCI)通常也称为用户界面。人机界面有如下几种定义:人机界面是由人、硬件、软件结合而成的系统元素,完成需要人机配合才能实现的功能。人机界面是人与计算机之间使用的某种对话语言,以一定的交互方式、用某种方式完成设定任务需要的信息交互过程。人机界面是人与计算机之间传递交换信息的媒介,是用户使用计算机的综合的操作环境。134.3 4.3 总总体体设计设计 1数据输入界面设计数据输入界面设计(1)数据输入的规则)数据输入的规则数据输入的目标是:尽量简化用户的工作、减少输入的出错率;减轻用户的记忆负担、尽可能减少输入量并实现自动
展开阅读全文