77范文网 - 专业文章范例文档资料分享平台

软件工程第四讲教案

来源:网络收集 时间:2019-04-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

教案首页

周次 日期 课时序 课 题 教学目的 要 求 重 点 难 点 教学过程 设 计 及 时间分配 软件总体设计 理解软件总体设计目标;掌握软件总体设计的手段与方法,理解模块独立性概念;理解模块化概念 软件总体设计目标、模块化 软件总体设计的手段与方法;模块独立性 第一章 软件总体设计(2*45‘) 第一节 总体设计的任务与步骤(15‘) 第二节 软件设计原则(15‘) 第三节 面向数据流的设计方法(30‘) 第四节 面向数据结构的分析设计方法(25‘) 第五节 总体设计文档评审(5‘) 教学场所 或教学方法 作 业 使用 教具 课 后 记 授课教师

1

第四章 软件总体设计

问题定义、可行性研究和需求分析构成了软件计划阶段,在这个阶段确定了需要做什么,解决了系统开发目标,系统需求规格。而软件开发阶段的任务是回答系统如何实现的问题。软件开发阶段包括总体设计、详细设计、编码和测试等。在总体设计中有两个主要任务: ① 将系统划分成物理元素,即程序、文件、数据库、文档等。 ② 设计软件结构,即将需求规格转换为软件体系结构、划分出程序的模块组成、模块间的相互关系 、确定数据结构和算法等。

总体设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想的各种方案的基础与根据。然后从这些可供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图、列出组成系统的所有物理元素、进行成本/效益分析,并且制定实现这个方案的进度计划。应该综合分析比较这些合理的方案,从中选出一个最佳方案向用户和使用部门负责人推荐。如果用户和使用部门的负责人接受了推荐的方案,应该进一步为这个最佳方案设计软件结构。通常,设计出初步的软件结构后还要进一步改进,从而得到更合理的结构,进行必要的数据库设计,确定测试要求并且制定测试计划。 4.1 总体设计的任务与步骤 4.1.1 总体设计任务

1.系统分析员审查软件计划、软件需求分析文档,提出最佳推荐方案,用系统流程图描述,组成系统物理元素清单,成本效益分析,系统的进度计划,供专家审定,审定后进入设计。

2.划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。 3.编写总体设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。选择分解功能与划分模块的设计原则等。 4.1.2 总体设计的过程 S1:设计系统方案

为了实现要求的系统,系统分析员应该提出并分析各种可能的方案,并且从中选出最佳的方案。而在分析阶段提供的用数据流图描述逻辑模型是总体设计的出发点。数据流图中的某些处理可以逻辑地归并在一个边界内作为一组,另一些处理可以放在另一个边界内作为另一组。这些边界代表某种实现策略。在可供选择的多种方案中,进一步设想与选择较好的系统实现方案。这个方案仅是边界的取舍,抛弃技术上行不通的方法,留下可能的实现策略,但并不评价这个方案。

2

S2:选取合理的方案

分析员在通过问题定义,可行性研究和需求分析后,产生了一系列可供选择的方案,从中选取低成本,中成本,高成本三种方案,必要时再进一步征求用户意见。并准备好系统流程图,系统的物理元素清单(即构成系统的程序、文件、数据库、人工过程,文档等),成本效益分析,实现系统的进度计划。 S3:推荐最佳实施方案

综合分析各种方案的优缺点,推荐最佳方案,并做详细的实现进度计划。用户与有关技术专家认真审查分析员推荐的方案,然后提交使用部门负责人审批,审批接受分析员推荐的最佳实施方案后,才能进入软件结构设计。 S4:功能分解

要把复杂的功能进一步分解成简单的功能,遵循模块划分独立性原则(即做到模块功能单一,模块与外部联系很弱,仅有数据联系),使划分过的模块的功能对大多数程序员而言都是易懂的。功能的分解导致对数据流图的进一步细化,并选用相应图形工具来描述。 S5:软件结构设计

用层次图(HC)、结构图(系统结构)来描述模块组成的层次系统,即反映了软件结构。当数据流图细化到适当的层次,由结构化的设计方法(SD)可以直接映射出结构图(系统结构)。 S6:数据库设计、文件结构的设计

根据系统的数据要求,确定系统的数据结构、文件结构。对需要使用数据库的应用领域,分析员再进一步根据系统数据要求完成数据库的模式设计,确定数据库物理数据的结构约束。进行数据库子模式设计,设计用户使用的数据视图。再做数据库完整性与安全性设计,改进与优化模式和子模式(用户使用的数据库视图)的数据存取。 S7:制定测试计划

为保证软件的可测试性,软件设计一开始就要考虑软件测试问题。这个阶段的测试计划仅从I/O功能做的黑盒法测试计划,详细设计时才能做详细的测试用例与计划。 S8:编写总体设计文档

·用户手册。对需求分析阶段编写的用户手册进一步修订。 ·测试计划。对测试的计划、策略、方法和步骤提出明确的要求。 ·详细项目开发实现计划。给出系统目标、总体设计、数据设计、处理方式设计、运行设计和出错设计等。

·数据库设计结果。使用的数据库简介数据模式设计和物理设计等。 S9:审查与复审总体设计文档。

3

根据总体设计阶段的结果,修改更正在需求分析阶段产生的初步的用户手册。 总体设计过程如图 4-1所示。

图 4-1 总体设计过程

4.2 软件设计的原则

软件设计经过多年发展,已经总结出一些基本的软件设计概念与原则,这些概念与原则经过时间的考验成为软件设计人员完成复杂的软件设计问题的基础。主要内容包括有:

(1)将软件划分成若干独立成分的依据。

(2)怎样表示不同的成分内的功能细节和数据结构。 (3)怎样统一衡量软件设计的技术质量。 4.2.1 模块化

模块是数据说明、可执行语句等程序对象的集合,可以对模块单独命名,而且可通过名字访问,例如,过程、函数、子程序、宏等等都可作为模块。模块化就是把程序划分成若干个模块,每个模块具有一个确定的子功能,把这些模块集成一个整体,可以完成指定的功能。

在软件开发过程中,大型软件由于其控制路径多、涉及范围广且变量数目多使其总体结构更为复杂,这样与小型软件相比较其可理解性和可阅读性较差。模块化增强了对复杂的大型程序的可理解性与可管理性。下面定量地描述模块化的根据。

4

定义函数C(x)为问题x的复杂程度,函数E(x)为解决间题x需要的工作量(时间)。对于问题P 1 和问题P 2 ,如

C(P 1 )>C(P 2 ), 则有E(P 1 )>E(P 2 ) 因为由P 1 和P 2 两个问题组合而成一个问题的复杂程度大于分别考虑每个问题时的复杂程度之和。C(P 1 +P 2 )>C(P 1 )+C(P 2 )综上所述,可得到下面的不等式:

E(P 1 +P 2 )>E(P 1 )+E(P 2 )

由此可知,把复杂的问题分解成许多容易解决的较小问题,原来的问题也就容易解决了,这就是模块化提出的根据。

参阅图4-2,如果无限地分割软件,最后为了开发软件而需要的工作量也就小得可以忽略了。事实上,当模块数目增加时,每个模块的规模将减小,虽然开发单个模块需要的工作量减少了,但是随着模块数目增加,设计模块间接口所需要的工作量将增加。折衷考虑这两个因素,可得出了图中所示的总成本曲线。每个程序都相应地有一个最适当的模块数目M,使得系统的开发工作量为最小。

图4-2 模块数目与工作量关系

虽然目前还不能精确地决定M的数值,但是在考虑模块化的时候模块数目与工作量关系曲线是有用的指南。

采用模块化原理可以使软件结构清晰,不仅容易实现设计,也使设计出的软件的可阅读性和可理解性大大增强。这是由于程序错误通常发生在有关的模块及它们之间的接口中,所以采用了模块化技术会使软件容易测试和调试,进而有助于提高软件的可靠性。因为变动往往只涉及少数几个模块,所以模块化能够提高软件的可修改性。模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员分工编写不同的模块。 4.2.2 抽象与逐步求精

5

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库软件工程第四讲教案在线全文阅读。

软件工程第四讲教案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/583924.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: