软件开发xcz概要设计

上传人:宝路 文档编号:48332547 上传时间:2018-07-13 格式:PPT 页数:97 大小:580.58KB
返回 下载 相关 举报
软件开发xcz概要设计_第1页
第1页 / 共97页
软件开发xcz概要设计_第2页
第2页 / 共97页
软件开发xcz概要设计_第3页
第3页 / 共97页
软件开发xcz概要设计_第4页
第4页 / 共97页
软件开发xcz概要设计_第5页
第5页 / 共97页
点击查看更多>>
资源描述

《软件开发xcz概要设计》由会员分享,可在线阅读,更多相关《软件开发xcz概要设计(97页珍藏版)》请在金锄头文库上搜索。

1、数学与计算机学院第五章 软件开发文档数学与计算机学院主要内容5.1 可行性研究 报告 5.2 软件需求文 档 5.3 面向数据流 概要设计 5.4 面向数据流 的详细设计 5.5 面向对象的 软件设计 数学与计算机学院5.3面向数据流的概要设计 5.3.2软件设计的概念与原理5.3.3模块的独立性5.3.4图形工具5.3.5概要设计说明书的编写示例5.3.6数据库设计5.3.1总体设计过程5.3.7数据库设计说明书数学与计算机学院概要设计概要设计:基本目标基本目标是回答是回答“ “概括地讲,系概括地讲,系 统应该如何实现?统应该如何实现?” ”。概要设计的两项设计任务:概要设计的两项设计任务:

2、系统设计结构设计确定系统的具体实现方案确定软件结构数学与计算机学院5.3.1总体设计过程(1) 设想供选择的方案 (2) 选取合理的方案 (3) 推荐最佳方案 (4) 功能分解 (5) 设计软件结构 (6) 数据库设计 (7) 指定测试计划 (8) 书写文档 (9) 审查与复审数学与计算机学院总体设计的过程:总体设计的过程:(1) 设想供选择的方案数据 流图需求分析阶段方案1方案2方案n规划不同 的自动化 边界数学与计算机学院总体设计的过程:总体设计的过程:(2) 选取合理的方案方案1方案2方案n工程规模与目标征求用户意见低成本中成本高成本选择的方案数学与计算机学院总体设计的过程:总体设计的过

3、程:(3) 推荐最佳方案部门负责人审批用户与技术 专家审查推荐最 佳方案详细实现计划进入结构设计数学与计算机学院总体设计的过程:总体设计的过程:(4) 功能分解把复杂的功能进一步分解为一系列比较简 单的功能。以确定软件结构。(5) 设计软件结构软件结构是由模块组成的层次系统,通常 用层次图或结构图来描述。数学与计算机学院总体设计的过程:总体设计的过程:(6) 数据库设计通常的四个步骤: 模式设计 子模式设计 完整性与安全性 优化 (7) 指定测试计划在软件开发早期考虑测试问题,能使软件 设计人员在软件设计时注意提高软件的可测 试性。数学与计算机学院总体设计的过程:总体设计的过程:(8) 书写文

4、档 系统说明 用户手册 测试计划 详细的实现计划 数据库设计结果(9) 审查与复审 技术审查 管理复审数学与计算机学院5.3面向数据流的概要设计 5.3.2软件设计的概念与原理5.3.3模块的独立性5.3.4图形工具5.3.5概要设计说明书的编写示例5.3.6数据库设计5.3.1总体设计过程5.3.7数据库设计说明书数学与计算机学院软件设计的概念与原理 软件系统的模块化是指整个软件被划分成 若干单独命名和可编址的部分,称之为模块 。这些模块可以被组装起来以满足整个问题 的需求。 把问题子问题的分解与软件开发中的系 统子系统或系统模块对应起来,就能够 把一个大而复杂的软件系统划分成易于理解 的比

5、较单纯的模块结构。模块化:数学与计算机学院软件设计的概念与原理现实世界中一定的事物,状态或过程 之间总存在某些相似的方面(共性)。 把这些相似方面集中和概括起来,暂时 忽略它们之间的差异,这就是抽象。抽象化:数学与计算机学院5.3面向数据流的概要设计 5.3.2软件设计的概念与原理5.3.3模块的独立性5.3.4图形工具5.3.5概要设计说明书的编写示例5.3.6数据库设计5.3.1总体设计过程5.3.7数据库设计说明书数学与计算机学院模块(Module)模块独立性模块的独立性:数学与计算机学院 模块(Module)“模块”,又称“组件”。它一般具有 如下三个基本属性:u功能:描述该模块实现什

6、么功能u逻辑:描述模块内部怎么做u状态:该模块使用时的环境和条件模块的独立性:数学与计算机学院 模块独立性模块独立性uu 模块独立性模块独立性, , 是指软件系统中每个模块是指软件系统中每个模块 只涉及软件要求的具体的子功能只涉及软件要求的具体的子功能, , 而和软而和软 件系统中其它的模块的接口是简单的件系统中其它的模块的接口是简单的uu 例如例如, , 若一个模块只具有单一的功能且若一个模块只具有单一的功能且 与其它模块没有太多的联系与其它模块没有太多的联系, , 则称此模块则称此模块 具有模块独立性具有模块独立性模块的独立性:数学与计算机学院模块独立性重要性:模块独立性重要性: (1 1

7、)有效的模块化的软件)有效的模块化的软件 比较容易开发比较容易开发 (2 2)独立的模块比较容易)独立的模块比较容易 测试和维护。测试和维护。uu 一般采用两个准则度量模块一般采用两个准则度量模块 独立性。即模块间独立性。即模块间耦合耦合和模块和模块内聚内聚数学与计算机学院uu耦合耦合是模块之间的互相连接的紧密程度是模块之间的互相连接的紧密程度 的度量。的度量。uu 内聚内聚是模块功能强度是模块功能强度( (一个模块内部各一个模块内部各 个元素彼此结合的紧密程度个元素彼此结合的紧密程度) )的度量。的度量。uu 模块独立性比较强的模块应是模块独立性比较强的模块应是高内聚低高内聚低 耦合耦合的模

8、块。的模块。模块的独立性:数学与计算机学院模块间的耦合模块间的耦合数学与计算机学院非直接耦合非直接耦合( (NondirectNondirect Coupling) Coupling)如果两个模块之间没有直接关系,如果两个模块之间没有直接关系, 它们之间的联系完全是通过主模块它们之间的联系完全是通过主模块 的控制和调用来的控制和调用来 实现的,这就是实现的,这就是 非直接耦合。这非直接耦合。这 种耦合的模块独种耦合的模块独 立性最强。立性最强。模块的独立性:数学与计算机学院数据耦合数据耦合 ( (Data Coupling)Data Coupling)如果一个模块访问另一个模块时,彼此之 间是

9、通过简单数据参数 (不是控制参数、公 共数据结构或外部变量) 来交换输入、输出 信息的,则称这种耦合为数据耦合。 标记耦合 (Stamp Coupling)如果一组模块通过参数表传递记录信息, 就是标记耦合。这个记录是某一数据结构的 子结构,而不是简单变量。模块的独立性:数学与计算机学院控制耦合控制耦合 ( (Control Coupling)Control Coupling) 如果一个模如果一个模 块通过传送开块通过传送开 关、标志、名关、标志、名 字等控制信息,字等控制信息, 明显地控制选明显地控制选 择另一模块的择另一模块的 功能,就是控功能,就是控 制耦合。制耦合。模块的独立性:数学与

10、计算机学院外部耦合(External Coupling)一组模块都访问同一全局简单变量而不是 同一全局数据结构,而且不是通过参数表传 递该全局变量的信息,则称之为外部耦合。 公共耦合(Common Coupling)若一组模块都访问同一个公共数据环境, 则它们之间的耦合就称为公共耦合。公共的 数据环境可以是全局数据结构、共享的通信 区、内存的公共覆盖区等。模块的独立性:数学与计算机学院 公共耦合的复杂程度随耦合模块的个数增公共耦合的复杂程度随耦合模块的个数增 加而显著增加。若只是两模块间有公共数据加而显著增加。若只是两模块间有公共数据 环境,则公共耦合有两种情况。松散公共耦环境,则公共耦合有两

11、种情况。松散公共耦 合和紧密公共耦合合和紧密公共耦合。模块的独立性:数学与计算机学院内容耦合 (Content Coupling)如果发生下列情形,两个模块之间就发生如果发生下列情形,两个模块之间就发生 了内容耦合了内容耦合(1) (1) 一个模块直接访问另一个模块的内一个模块直接访问另一个模块的内 部数据部数据; ;(2) (2) 一个模块不通过正常入口转到另一一个模块不通过正常入口转到另一 模块内部模块内部; ;(3) (3) 两个模块有一部分程序代码重迭两个模块有一部分程序代码重迭( (只只 可能出现在汇编语言中可能出现在汇编语言中););(4) (4) 一个模块有多个入口。一个模块有多

12、个入口。模块的独立性:数学与计算机学院模块内聚模块内聚数学与计算机学院功能内聚 (Functional Cohesion)一个模块中各个部分都是完成某一具体功 能必不可少的组成部分,或者说该模块中所 有部分都是为了完成一项具体功能而协同工 作,紧密联系,不可分割的。则称该模块为 功能内聚模块。模块的独立性:数学与计算机学院信息内聚 (Informational Cohesion)这种模块完成多个功能,各个功能都在同 一数据结构上操作,每一项功能有一个唯一 的入口点。这个模块将根据不同的要求,确 定该执行哪一个功能。由于这个模块的所有 功能都是基于同一个数据结构(符号表), 因此,它是一个信息内

13、聚的模块。模块的独立性:数学与计算机学院通信内聚 (Communication Cohesion)如果一个模块内各功能部分都使用了相同 的输入数据,或产生了相同的输出数据,则 称之为通信内聚模块。通常,通信内聚模块 是通过数据流图来定义的。模块的独立性:数学与计算机学院过程内聚(Procedural Cohesion) 使用流程图做为工具设计程序时,把流程 图中的某一部分划出组成模块,就得到过程 内聚模块。例如,把流程图中的循环部分、 判定部分、计算部分分成三个模块,这三个 模块都是过程内聚模块。模块的独立性:数学与计算机学院时间内聚(Classical Cohesion)时间内聚又称为经典内

14、聚。这种模块大多 为多功能模块,但模块的各个功能的执行与 时间有关,通常要求所有功能必须在同一时 间段内执行。例如初始化模块和终止模块。模块的独立性:数学与计算机学院逻辑内聚(Logical Cohesion)这种模块把几种 相关的功能组合 在一起,每次被 调用时,由传送 给模块的判定参 数来确定该模块 应执行哪一种功 能。模块的独立性:数学与计算机学院巧合内聚(巧合内聚(Coincidental CohesionCoincidental Cohesion) 巧合内聚又称为偶然内聚。当模块内各部 分之间没有联系,或者即使有联系,这种联 系也很松散, 则称这种模 块为巧合内 聚模块,它 是内聚程

15、度 最低的模块。模块的独立性:数学与计算机学院5.3面向数据流的概要设计 5.3.2软件设计的概念与原理5.3.3模块的独立性5.3.4图形工具5.3.5概要设计说明书的编写示例5.3.6数据库设计5.3.1总体设计过程5.3.7数据库设计说明书数学与计算机学院图形工具: 层次图层次图用来描述软件层次结构。 层次图中的一个矩形框代表一个模块,方框间的连 线表示调用关系。正文加工系统编辑加标题存储检索输入添加删除插入合并数学与计算机学院图形工具: HIPO图HIPO图为层次图(H图)+IPO图。层次图中的每个矩形框(除最顶层)加上编号,对 应于每个矩形框用IPO图来描述模块的处理过程。正文加工系

16、统编辑2.0加标题3.0存储4.0检索5.0输入1.0添加2.1删除2.2插入2.3合并2.6数学与计算机学院图形工具: 结构图用于表达软件结构。在图中一个方框代表一个模块,框内 注明模块的名字或主要功能,方框之间的箭头(或直线)表 示模块的调用关系。在结构图中,通常用带注释的箭头表示模块调用过程中来 回传递的信息。一般空心圆表示传递数据;实心圆表示传递 控制信息。 产生最佳解得到好输入计算最佳解输出结果解解好输入好 输 入结构图:产生最佳解数学与计算机学院图形工具:还有一些符号表示模块的选择调用与循环调用。MABMABC数学与计算机学院注意: (1)层次图和结构图并不严格表示 模块的调用次序。虽然多数人按照调用次序从左到 右画模块,但并没有这种规定,出于其他方面的考 虑,也完全可以不用这种次序画(例如为了减

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号