需求分析任务课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《需求分析任务课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 分析 任务 课件
- 资源描述:
-
1、2.4 需求分析-任务一、需求分析的任务基本任务:准确地回答“系统必须做什么?”1.确定对系统的综合需求(1)系统功能要求(2)系统性能要求(3)运行要求(4)将来可能提出的要求2.分析系统的数据要求采用建立“概念模型”的方法,并辅助图形工具,如:层次方框图、Warnier图等。2.4 需求分析-过程3.导出系统的逻辑模型数据流程图、数据字典、主要算法4.修正系统开发计划5.开发原型系统二、分析过程1.沿数据流程图回溯 从“输出端”到“输入端”回溯,分析数据元素。2.用户复查 借助已有的数据流程图,帮助复查,再次完善数据流程图。2.4 需求分析-过程3.细化数据流程图4.修正开发计划5.书写文
2、档 系统规格说明:系统的概貌、功能要求、运行要求、将来可能的要求。数据要求:数据字典、图形工具(数据结构的层次图、Warnier图)用户系统描述:初步的用户手册 修正的开发计划2.4 需求分析-过程分析追踪数据流程图用户复查细化数据流程图有补充修正无补充修正需要分解不需分解需求分析的基本过程2.4 需求分析-概念模型和规范化三、概念模型和规范化1.概念模型 最常用的表示概念性数据模型的方法:实体联系方法(Entity-Relationship Approach),简称E-R模型。E-R模型包含三个基本成分:“实体”、“联系”、“属性”(1)实体:是客观世界中存在的、且可相互区分的事物。它可以是
3、人或物,也可以是具体事物或抽象事物。例如:教师、学生、课程是实体。2.4 需求分析-概念模型和规范化 实体用矩形框表示,如:教师(2)联系:客观世界中的事物彼此之间有联系,描述实体与实体之间的关系。联系有三种:1:1(一对一联系)例如:实体“校长”与“大学”之间的联系为“1:1”1:N(一对多联系)例如:实体“学校”与“院系”之间的联系为“1:N”M:N(多对多联系)例如:实体“学生”与“课程”之间的联系为“M:N”联系用菱形框表示,如:2.4 需求分析-概念模型和规范化(3)属性:属性是实体或联系所具有的性质。通常一个实体或联系由若干属性来刻画。教师学生课程教学1NMN成绩2.4 需求分析-
4、概念模型和规范化2.范式 第一范式 每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。第二范式 满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)。第三范式 符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)一般使用第三范式,避免第三范式2.4 需求分析-图形工具四、图形工具1.层次方框图 层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它表达完整的数据结构,下面的各层矩形框代表这个
5、数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分解的元素)例如:P46页 图3-32.4 需求分析-图形工具2.Warnier图 Warnier图也用树形结构描绘信息,且更丰富,能表达逻辑关系。例如:P46页 图3.42.4 需求分析-图形工具3.IPO图 IPO图是输入/处理/输出图的简称,能够方便地描述输入数据、对数据的处理和输出数据之间的关系。基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据。例如:P47页 图3.5、图3.62.4 需求分析五、验证软件需求1.验证软件需求的四个方面 一致性 完整性 现实性 有效性2.
6、验证软件需求的方法3.验证软件需求的软件工具2.4 需求分析六、软件需求说明书(P15)引言 任务概述 需求规定 运行环境规定2.5 总体设计-过程一、总体设计的过程1.设想供选择的方案 在数据流程图的基础上,一个边界一个边界设想并列出供选择的方案。不评价这些供选择的方案2.5 总体设计-过程2.选取合理的方案 从上一步得到的一系列供选择的方案中选取若干个合理的方案,通常至少选取低成本、中等成本和高成本的三种方案。根据系统分析确定的目标,来判断哪些方案是合理的。2.5 总体设计-过程3.推荐最佳方案 综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并为最佳方案制定详细的实现计划。2.5 总
7、体设计-过程4.功能分解 对流程图进一步细化,进行功能分解2.5 总体设计-过程5.设计软件结构 软件结构反映系统中模块的相互调用关系:顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,最下层的模块完成最具体的功能。软件结构通过层次图或结构图来描绘,可以直接从数据流程图映射出软件结构。2.5 总体设计-过程6.数据库设计2.5 总体设计-过程7.制定测试计划2.5 总体设计-过程8.书写文档文档包括:系统说明 用户手册 测试计划 详细的实现计划 数据库设计结果2.5 总体设计-过程9.审查和复审 先技术审查 后管理审查2.5 总体设计-模块二、模块的概念1.定义 具
8、有四种属性的一组程序语句称为一个模块,四种属性:输入/输出、逻辑功能、运行程序、内部数据。前两个属性又称为外部属性,后两个属性又称为内部属性。(1)一个模块的输入/输出都是指同一个调用者。(2)模块的逻辑功能是指模块能够做什么事,表达了模块把输入转换成输出的功能,可以是单纯的输入/输出功能。(3)模块的运行程序指模块如何用程序实现其逻辑功能。2.5 总体设计-模块(4)模块的数据指属于模块自己的数据。2.属性外部属性:输入/输出、逻辑功能内部属性:运行程序、内部数据 在结构化系统设计中。人们主要关心的是模块的外部属性,至于内部属性,将在系统实施工作中完成3.大小 模块有大有小,它可以是一个程序
9、,也可以是程序中的一个程序段或者一个子程序。2.5 总体设计-模块4.理想模块(黑箱模块)理想模块的特点:(1)每个理想模块只解决一个问题。(2)每个理想模块的功能都应该明确,使人容易理解。(3)理想模块之间的联结关系简单,具有独立性。(4)由理想模块构成的系统,容易使人理解,易于编程,易于测试,易于修改和维护。对用户来说,其感兴趣是模块的功能,而不必去理解模块内部的结构和原理。2.5 总体设计-模块5.模块的理论根据设函数C(x)定义问题x的复杂程度,函数E(x)确定解决问题x需要的工作量。对于两个问题P1和P2,如果:C(P1)C(P2),则显然有:E(P1)E(P2)根据人类解决一般问题
10、的经验,有:C(P1+P2)C(P1)+C(P2)进而获得:E(P1+P2)E(P1)+E(P2)2.5 总体设计-模块6.模块的图形及符号(1)模块的图形:用矩形表示。模块的名称写在方框内,由一个动词和一个作为宾语的名词组成。例如:修改库存(2)模块间通讯的图形模块间通讯有两种:数据通讯、控制通讯。数据通讯是一个数据流,它表示了一个经过处理的数据从一个模块传向另一个模块。2.5 总体设计-模块 控制通讯,只传送一个标志,该标志只表达了处理工作的某种状态,而不是由被发送模块真正进行过处理的数据。AB模块间的联结获得配件库存量读库存记录模块间的通讯配件编号库存量无此配件2.5 总体设计-模块(3
11、)模块间判断调用的图形 一个模块是否调用某一个从属模块,依赖于调用模块中判断的条件。如果条件成立,则产生调用命令。ABCD2.5 总体设计-模块(4)模块间循环调用的图形 指一个模块需要循环调用某一个或若干个从属模块。AC2.5 总体设计-模块7.模块设计的基本原则 模块设计的基本原则:降低系统中模块之间的联结程度,提高每个模块的独立性、聚合度。(1)模块间的联结 两个模块之间的联结有五种形式,按照联结程度由低到高排列为:数据联结、特征联结、控制联结、公共联结、内容联结。2.5 总体设计-模块A.数据联结 如果两个模块间的通讯信息是若干参数,其中每一个参数都是一个数据元素,称这种联结为数据联结
12、。这是模块之间影响最小的联结关系。开发货单计算金额单价数量金额2.5 总体设计-模块B.特征联结 如果两个模块都与同一个数据结构有关,则称为特征联结。计算水费和电费计算水费计算电费住户详情水费住户详情电费模块之间的特征联结2.5 总体设计-模块 住户详情数据结构中包括“本月用水量”、“本月用电量”。上面的“特征联结”图可改进为下面“数据联结”图。计算水量和电费计算水费计算电费水费电费本月用水量本月用电量模块之间的数据联结2.5 总体设计-模块C.控制联结 如果模块A向模块B所传递的信息控制了模块B的内部逻辑,那么A和B之间的联结称为控制联结。控制信息可以看作是一个开关量,它传递了一个控制信息或
13、状态的标志。控制信息不同于数据信息,数据信息一般通过处理过程处理被处理的数据,而控制信息则是控制处理过程中的某些参数。2.5 总体设计-模块 当要查找的库存编号找不到时,经上级模块反馈一个控制信息,要求上级模块打印“无此库存记录”错误信息。获得库存记录检索库存记录库存编号库存量打印“无此库存记录”错误信息2.5 总体设计-模块D.公共联结 如果两个模块都和同一个公共数据域有关,则称为公共联结。公用联结是一种不良的联结关系,它给模块的维护和修改带来困难。如公共数据要作修改,很难判定有多少模块应用了该公共数据,故在模块设计时,一般不允许有公共联结关系的模块存在。ABC公用数据2.5 总体设计-模块
14、E.内容联结(病态联结)如果一个模块和另一个模块的内部属性(即运行程序和内部数据)有关,则称为内部联结。例如:模块A中TRC:模块B中GO TO TRC 模块A与模块B存在内容联结,这是一种最坏的联结。2.5 总体设计-模块联结方式对连锁反应的影响可修改性可读性通用性数据联结 弱好好好特征联结 弱中中中控制联结 中不好不好不好公共联结 强不好最坏最坏内容联结 最强最坏最坏最坏设计模块时,应以数据联结为主,辅以特征联结与控制联结,消除公共联结和内容联结。2.5 总体设计-模块(2)模块的聚合 模块的聚合是指一个模块内部的各个组成部分的紧凑性,其处理动作的组合强度。聚合的七种形式:A.功能聚合 如
15、果一个模块内部的各组成部分的处理动作全都为执行同一个功能而存在,并且只执行一个功能,则称为功能聚合。判断一个模块是不是功能聚合,只要看这个模块是“做什么”,是完成一个具体的任务,还是完成多任务。2.5 总体设计-模块B.顺序聚合 如果一个模块内部的各个组成部分执行的几个处理动作有这样的特征:前一个处理动作所产生的输出数据是后一个处理动作的输入数据,称为顺序聚合。顺序聚合维护起来不如功能聚合方便,要修改模块中的一个功能,会影响到同一个模块中的其他功能。ABC功能1功能22.5 总体设计-模块C.通讯聚合 如果一个模块内各组成部分的处理动作都使用相同的输入数据或相同的输出数据,称为通讯聚合。获得配
16、件单价和库存量配件编号库存量单价两个工作:1.按配件编号查询“数据存储”,获得单价。2.按配件编号查询“数据存储”,获得库存量。这两个处理动作都使用相同的输入数据,称为通讯聚合。2.5 总体设计-模块D.过程聚合 如果一个模块内部的各个组成部分的处理动作各不相同,彼此也没有联系,但他们都受同一个控制流支配,决定他们的执行次序,称为过程聚合。循环体计算累积事务记录累积销售额累积订货量通过循环体,计算两种累积数。2.5 总体设计-模块E.暂时聚合 如果一个模块内的各组成部分的处理动作和时间有关,则称为暂时聚合。暂时聚合模块的处理动作必须在特定的时间内完成。例如:程序设计中的初始化模块。2.5 总体
17、设计-模块F.逻辑聚合 如果一个模块内部的各组成部分的处理动作在逻辑上相似,但功能都彼此不同或无关,则称为逻辑聚合。一个逻辑聚合模块往往包括若干个逻辑相似的动作,使用时可以选用一个或几个功能。例如:把编辑各种输入数据的功能放在一个模块中。2.5 总体设计-模块G.机械聚合 如果一个模块的内部各组成部分的处理动作彼此没有任何联系,则称为机械聚合。2.5 总体设计-模块 模块聚合性的判断该模块只能执行一个功能吗?功能聚合模块内各组成部分的关系如何?是否次序重要吗?次序重要吗?逻辑相似吗?数据流控制流两者都不是是是是否否否顺序聚合通讯聚合过程聚合暂时聚合逻辑聚合机械聚合2.5 总体设计-模块 七种聚
18、合模块的性能比较聚合形式聚合形式可修改性可读性 通用性黑箱程度聚合性功能聚合好好好好黑箱10顺序聚合好好好中不完全黑9通讯聚合中中中不好不完全黑7过程聚合中中中不好半透明5暂时聚合不好不好中最坏半透明3逻辑聚合最坏最坏不好最坏透明1机械聚合最坏最坏最坏最坏透明02.5 总体设计-模块8.模块设计的其他原则(1)模块的分解 分解是指把一个模块分解成若干个从属于它的下层模块。一般按功能分解,分解到成为一个小的功能单一的模块为止。一般一个模块内包含的语句在3050条左右较好(指高级语言)。2.5 总体设计-模块(2)模块的扇出和扇入 模块的扇出指一个模块拥有的直属下级模块的个数,一般扇出数控制在7以
19、内。模块的扇入是指一个模块的直接上级模块的个数。在设计中,扇入系数大,说明模块分解得好,通用性强,冗余度低。2.5 总体设计-模块(3)模块的控制范围和判断作用范围 模块的控制范围:本身及其所有下级模块。模块的判断作用范围:被判断调用的模块。原则:原则:A.对于任何一个内部存在判断调用的模块,它的判断作用的范围应该是其控制范围的一个子集。B.存在判断调用的模块,所在层次不要与那些属于判断作用范围的模块所在的层次相隔太远。2.5 总体设计-模块ABCDEFG模块G中有一条判断调用D的语句,违反第1条原则2.5 总体设计-模块ABCDEFG违反第2条原则2.5 总体设计-模块ABCDEFG违反第2
展开阅读全文