软件工程导论需求分析PPT课件_第1页
软件工程导论需求分析PPT课件_第2页
软件工程导论需求分析PPT课件_第3页
软件工程导论需求分析PPT课件_第4页
软件工程导论需求分析PPT课件_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.,1,2,内容,3.1 简介,3.2 数据流图,3.3 实体 -联系图 3.4 状态转换图 3.5 数据字典,3.6 加工描述工具 3.7 小结 习题,.,2,3,3.1 简介,任务 过程,有效获取需求 结构化分析,.,3,4,3.1.1 任务,目的,准确回答“系统做什么?”这个问题,详细任务:,确定系统的综合需求:,功能、性能、环境需求、用户界面需求、开发进度需求、 接口需求、约束、可靠性和可用性需求、资源使用需求、 成本消耗需求、出错处理需求、以后系统可能达到的目标,分析系统的数据需求,导出软件系统的逻辑模型 修正系统开发计划 开发原型系统,验证软件需求分析的正确性 编写软件需求规格说明

2、书 评审,.,4,5,3.1.2 过程,调查研究,系统分析员协同程序员向用户做需求调查,阅软件 计划中的可行性报告和项目开发计划报告,访问系 统现场,并由此确定当前系统必须做什么,并获得 当前系统的具体模型,用数据流图或IPO图表示出 来。,.,5,6,3.1.2 过程,分析与综合,分析员需从数据流和数据结构出发,逐步细化所有 的软件功能,找出系统中各元素之间的联系、接口 特征和设计上的限制,分析它们能否满足功能要 求,是否合理。依据功能需求、性能需求、运行环 境需求等,剔除其中不合理的部分,增加其需要的 部分。最终综合成系统的解决方案后,给出目标系 统的详细逻辑模型。,.,6,7,3.1.2

3、 过程,书写需求分析的文档,把分析的结果用正式的文档记录下来,作为最终软 件配置的一个组成成分。应该完成下述四份文档资 料:系统规格说明 、数据需求 、用户系统描述 、 修正的开发计划 。,需求分析评审,作为需求分析阶段的复查手段,在需求分析的最后 一步,应该对功能的正确性、完整性和清晰性,以 及其他需求给予评价。,.,7,8,3.1.3 有效获取需求,.,8,9,3.1.4 结构化分析方法,结构化分析方法(Structured Analysis,简称SA方 法)是70年代中期提出的一种面向数据流、自顶向 下、逐步求精进行需求分析的方法。,结构化分析方法适用于分析大型的数据处理系统,特 别适用

4、于企事业管理系统。,结构化分析方法通常与设计阶段的结构化设计方法 (Structured Designed,简称SD方法)衔接起来使 用。,.,9,10,图 结构化分析模型,数据字典,.,10,11,3.1.4 结构化分析方法,结构化分析方法中使用的工具:,数据流图(功能模型),描绘信息流和数据从输入移动到输出的过程中所经受的变 换。,实体-联系图(数据模型),定义系统中的数据,状态转换图(行为模型),通过描绘系统的状态及引起系统状态转换的事件,来表示 系统的行为。,.,11,12,3.1.4 结构化分析方法,数据字典,数据字典是关于数据的信息的集合,也就是对数据流图中 包含的所有元素的定义的

5、集合。,结构化英语、判定表和判定树,描述数据流的加工的工具,.,12,13,3.2 数据流图 DFD,Data Flow Diagram,数据流图从数据传递和加工的角度,以图形的方式 刻画数据流从输入到输出的移动变换过程。,数据流图的基本图形元素,数据流,加工(处理),文件(数据存储),数据池(数据源或终点),.,13,14,3.2.1 DFD主要图形元素,.,14,15,3.2.1 DFD主要图形元素,数据流,是一组数据。在数据流图中数据流用带箭头的线表 示,在其线旁标注数据流名。在数据流图中应该描 绘所有可能的数据流向,而不应该描绘出现某个数 据流的条件。,加工(处理),在数据流图中加工用

6、圆圈表示,在圆圈内写上加工 名。一个处理框可以代表一系列程序、单个程序或 者程序的一个模块。,.,15,16,3.2.1 DFD主要图形元素,文件(数据存储),是按照某种规则组织起来的、长度不限的数据。在 数据流图中文件用一直线表示,在线段旁注上文件 名。一个数据存储也并不等同于一个文件,它可以 表示一个文件、文件的一部分、数据库的元素或记 录的一部分等;,数据池(源点和终点),在数据流图中用方框表示,在框内写上相应的名 称。,.,16,17,3.2.2 数据流与加工的关系,.,17,18,3.2.2 数据流与加工的关系,.,18,19,3.2.3 DFD的画法,确定系统的输入输出,由于系统究

7、竟包括哪些功能可能一时难于弄清楚, 可使范围尽量大一些,把可能有的内容全部都包括 进去。此时,应该向用户了解“系统从外界接受什 么数据”、“系统向外界送出什么数据”等信息,然 后,根据用户的答复画出数据流图的外围。,.,19,20,3.2.3 DFD的画法,由外向里画系统的顶层数据流图,首先,将系统的输人数据和输出数据用一连串的加 工连接起来。在数据流的值发生变化的地方就是一 个加工。,接着,给各个加工命名。,然后,给加工之间的数据命名。最后,给文件命 名。,自顶向下逐层分解,绘出分层数据流图,对于大型的系统,为了控制复杂性,便于理解,需 要采用自顶向下逐层分解的方法进行,即用分层的 方法将一

8、个数据流图分解成几个数据流图来分别表 示。,.,20,21,3.2.4 DFD分层,为了表达数据处理过程的数据加工情况,需要 采用层次结构的数据流图。按照系统的层次结 构进行逐步分解,并以分层的数据流图反映这 种结构关系,能清楚地表达和容易理解整个系 统,.,21,22,3.2.4 DFD分层,.,22,23,3.2.4 DFD分层,在多层数据流图中,顶层流图仅包含一个加 工,它代表被开发系统。它的输入流是该系统 的输入数据,输出流是系统所输出数据,底层流图是指其加工不需再做分解的数据流 图,它处在最底层,中间层流图则表示对其上层父图的细化。它的 每一加工可能继续细化,形成子图。,.,23,2

9、4,3.2.5 绘制 DFD的原则,数据流图上所有图形符号只限于前述四种基本 图形元素,数据流图的主图必须包括前述四种基本元素, 缺一不可,数据流图的主图上的数据流必须封闭在外部实 体之间,每个加工至少有一个输入数据流和一个输出数 据流,.,24,25,3.2.5 绘制 DFD的原则,在数据流图中,需按层给加工框编号。编号表 明该加工所处层次及上下层的亲子关系,规定任何一个数据流子图必须与它上一层的一 个加工对应,两者的输入数据流和输出数据流 必须一致。此即父图与子图的平衡,图上每个元素都必须有名字,不能重复 数据流图中不可夹带控制流,初画时可以忽略琐碎的细节,以集中精力于主 要数据流,.,2

10、5,26,3.2.6 例: 定 货系统,假设一家工厂的采购部每天需要一张定货报 表,报表按零件编号排序,表中列出所有需要 再次定货的零件。对于每个需要再次定货的零 件应该列出下述数据;零件编号、零件名称、 定货数量、目前价格、主要供应者和次要供应 者。零件入库或出库称为事务,通过放在仓库 中的CRT终端把事务报告给定货系统。当某种 零件的库存数量少于库存量临界值时就应该再 次定货。,.,26,27,3.2.6 例: 定 货系统,顶层,.,27,28,3.2.6 例: 定 货系统,第一层:,.,28,29,3.2.6 例: 定 货系统,第二层:加工1,.,29,30,3.2.6 例:定货系统,不

11、同的边界划分:不同的物理系统,.,30,31,3.2.6 例:定货系统,不同的边界划分:不同的物理系统,.,31,32,3.2.7 练习:供销系统,某供销系统接受顾客的订单,当库存中某配件 的数量小于定购量或库存量低于一定数量时, 向供应商发出采购单;当某配件的库存量大于 或等于定购量,或者收到供应商的送货单并更 新了库存后,向顾客发出提货单。该系统还可 随时向总经理提供销售和库存情况表。,.,32,33,3.2.7 练习:供销系统,该供销系统的分层数据流图中部分数据流和文件的组 成如下:,文件,配件库存=配件号+配件名+规格+数量+允许的最低库存量,数据流,订货单=配件号+配件名+规格+数量

12、+顾客名+地址 提货单=订货单+金额,采购单=配件号+配件名+规格+数量+供应商名+地址 送货单=配件号+配件名+规格+数量+金额,假定顶层图是正确的,“供应商”文件已由其他系统生 成。,.,33,34,3.2.7 练习:供销系统,顶层,.,34,35,3.2.7 练习:供销系统,第一层:,.,35,36,3.2.7 练习:供销系统,加工1分解:,.,36,37,3.2.7 练习:供销系统,加工2分解,.,37,38,3.2.7 练习:供销系统,问题,指出哪张图中的哪些文件可不必画出。,问题,指出在哪些图中遗漏了哪些数据流。回答时使用如下 形式之一:,XX图中遗漏了XX加工(或文件)流向XX加

13、工(或文件)的 XX数据流;,XX图中XX加工遗漏了XX输入(或输出)数据流。,.,38,39,3.2.7 练习:供销系统,答案:,问题,0层图中的“采购清单”多余应去掉,问题,加工1子图中遗漏了“配件库存”文件到1.3加工的数据流 加工1子图中1.4加工遗漏了“提货单”输出数据流 加工1子图中1.5加工遗漏了“到货通知”输入数据流 加工2子图中2.3加工遗漏了“采购请求”输入数据流,.,39,40,3.3 实体 -联系图,Entity-Relationship Diagram,使用ER来建立数据模型,数据模型中包含3种相互关联的信息:,实体(数据对象) 属性 关系,.,40,41,图 某校教

14、学管理 ER图,.,41,42,3.3.1 数据对象,数据对象是对软件必须理解的复合信息的抽 象。所谓复合信息是指具有一系列不同性质或 属性的事物,仅有单个值的事物(例如,宽度) 不是数据对象。,数据对象可以是外部实体(例如,产生或使用 信息的任何事物)、事物(例如,报表)、行为 (例如,打电话)、事件(例如,响警报)、角色 (例如,教师、学生)、单位(例如,会计科)、 地点(例如,仓库)或结构(例如,文件)等。总 之,可以由一组属性来定义的实体都可以被认 为是数据对象。,.,42,43,3.3.2 属性,属性定义了数据对象的性质。必须把一个或多 个属性定义为“标识符”,也就是说,当我们希 望

15、找到数据对象的一个实例时,用标识符属性 作为“关键字”(通常简称为“键”)。,应该根据对所要解决的问题的理解,来确定特 定数据对象的一组合适的属性。,.,43,44,3.3.3 联系,数据对象彼此之间相互连接的方式称为联系, 也称为关系。联系可分为以下3种类型:,(1) 一对一联系(11),例如,一个部门有一个经理,而每个经理只在一个部门任 职,则部门与经理的联系是一对一的。,(2) 一对多联系(1N),例如,某校教师与课程之间存在一对多的联系“教”,即每 位教师可以教多门课程,但是每门课程只能由一位教师来 教。,(3) 多对多联系(MN),例如,图3.2表示学生与课程间的联系(“学”)是多对

16、多的, 即一个学生可以学多门课程,而每门课程可以有多个学生 来学。,.,44,45,3.3.3 联系,联系也可能有属性。,例如,学生“学”某门课程所取得的成绩,既不是学 生的属性也不是课程的属性。由于“成绩”既依赖于 某名特定的学生又依赖于某门特定的课程,所以它 是学生与课程之间的联系“学”的属性。,.,45,46,3.3.4 数据规范化,软件系统经常使用各种长期保存的信息,这些 信息通常以一定方式组织并存储在数据库或文 件中,为减少数据冗余,避免出现插入异常或 删除异常,简化修改数据的过程,通常需要把 数据结构规范化。,.,46,47,3.3.4 数据规范化,通常按照属性间的依赖情况区分规范

17、化的程度。,第一范式每个属性值都必须是原子值,即仅仅是一个 简单值而不含内部结构。,第二范式满足第一范式条件,而且每个非关键字属性 都由整个关键字决定(而不是由关键字的一部分来决 定)。,第三范式符合第二范式的条件,每个非关键字属性都 仅由关键字决定,而且一个非关键字属性不能仅仅是 对另一个非关键字属性的进一步描述(即一个非关键字 属性值不依赖于另一个非关键字属性值)。,.,47,48,3.4 状态迁移图,状态迁移图是描述系统的状态如何相应外部的 信号进行推移的一种图形表示。 状态,状态代表系统的一种行为模式。状态规定了系统对 事件的响应方式。,初态(即初始状态)、终态(即最终状态)和中间状态

18、。 在一张状态图中只能有一个初态,而终态则可以有 0至多个。,.,48,49,3.4 状态迁移图,事件,是在某个特定时刻发生的事情,它是对引起系统做 动作或(和)从一个状态转换到另一个状态的外界事 件的抽象。,符号,圆圈“”表示可得到的系统状态,初态用实心圆表示,终态用一对同心圆(内圆为实心 圆)表示。,箭头“”表示从一种状态向另一种状态的迁移。,.,49,50,3.4 状态迁移图,例如, 当有多个申请占用CPU运行的进程时, 有关CPU分配的进程的状态迁移。,.,50,51,3.4 状态迁移图,.,51,3.4 状态迁移图 UML中的状态图, 未检查完 / 取下一个, 检查完,缺部分商品 取

19、消 收到货物 齐全 ,收到商品 部分缺 ,等待 取消 取消订单 取消,已发货 52,检查 do/ 检查商品 检查完,商品齐全 办理发货 do/ 启动发货 发货,.,52,53,3.5 数据词典,数据字典的任务就是对于数据流图中所出现的所有被 命名的图形元素在数据字典中作为一个词条加以定 义,使得每一个图形元素的名字都有一个确切的解 释。,一般说来,数据字典应该由对下列4类元素的定义组 成:,数据流,数据流分量(即数据元素) 数据存储(文件) 处理,数据字典的内容包括:图形元素的名字、别名或编 号、分类、描述、定义、位置等。,.,53,54,3.5.1 数据流描述,数据流名:,说明:简要介绍作用

20、即它产生的原因和结果 数据流来源:来自何方 数据流去向:去向何处 数据流组成:数据结构,数据量流通量:数据量,流通量,.,54,55,3.5.2 数据元素词条描述,数据元素名:,类型:数字(离散值,连续值),文字(编码 类型) 长度:,取值范围:,相关的数据元素及数据结构:,.,55,56,3.5.3 数据文件词条描述,数据文件名:,简述:存放的是什么数据 输入数据: 输出数据:,数据文件组成:数据结构,存储方式:顺序,直接,关键码 存取频率:,.,56,57,3.5.4 加工逻辑词条描述,加工名:,加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述 输入数据流: 输出数据流:,加工逻辑

21、:简述加工程序,加工顺序,.,57,58,3.5.5 数据池描述,名称:外部实体名,简要描述:什么外部实体 有关数据流: 数目:,.,58,59,3.5.6 数据结构的描述,举,例,符号 ,含义 被定义为, .,. 或 .|. . 或 m.n (.),与 或 重复 可选,x = ab x = a,b,x = a|b x = a, x = 3a8 x = (a),“.” .,基本数据元素 连结符,x = “a” x = 1.9,.,59,60,3.5.7 例:存折格式,.,60,61,3.5.7 例:存折格式,存折户名所号帐号开户日性质(印密) 1存取行50,户名2字母24,所号“001”.“9

22、99”,帐号“00000001”.“99999999” 开户日年月日,性质“1”.“6” 注:“1”表示普通户,“5”表示工资户等 印密“0” 注:印密在存折上不显示,存取行日期(摘要)支出存入余额操作 复核,.,61,62,3.6 加工逻辑说明的工具,结构化语言 判定表 判定树,.,62,63,3.6.1 结构化语言,Structured Language,结构化语言是一种介于自然语言和形式化语言之间的半形式 化语言。它是在自然语言的基础上加了一些限制而得到的语 言,它使用有限的词汇和有限的语句来描述加工逻辑。 结构化语言的词汇表由英语命令动词、数据字典中定义的名 字、有限的自定义词和控制结

23、构关键词组成。,.,63,64,3.6.1 结构化语言,其基本控制结构有三种:,简单陈述句结构:避免复合语句; 重复结构:WHILE_DO 或 REPEAT_UNTIL结构。,判定结构:IF_THEN_ELSE 或 CASE_OF结构;,.,64,65,3.6.1 结构化语言,结构化语言的词汇表由,命令动词,数据词典中定义的名字 有限的自定义词 逻辑关系词,IF_THEN_ELSE CASE_OF,WHILE_DO,REPEAT_UNTIL,.,65,66,例: 检查发货单,IF 发货单金额超过$500 THEN,IF 欠款超过了60天 THEN,在偿还欠款前不予批准 ELSE (欠款未超期)

24、,发批准书,发货单,ENDIF,ELSE (发货单金额未超过$500),IF 欠款超过60天 THEN,发批准书,发货单及赊欠报告,ELSE (欠款未超期),发批准书,发货单,ENDIF ENDIF,.,66,67,3.6.2 判定表,如果数据流图的加工需要依赖于多个逻辑条件 的取值,使用判定表来描述比较合适,一张判定表通常由四部分组成,左上部列出的 是所有的条件,左下部为所有可能的操作,右 上部分表示各种条件组合的一个矩阵,右下部 分是对应于每种条件组合应有的操作。,.,67,68,例:检查发货单,.,68,69,例:检查发货单,简化:,.,69,70,3.6.3 判定树,判定树也是用来表达

25、加工逻辑的一种工具。有时侯它 比判定表更直观。,.,70,71,3.6.3 判定树,简化:,.,71,72,3.7 小结,了解需求分析的目的、任务和方法 掌握需求分析工具的使用:,数据流图 数据字典,实体联系图,判定表、判定树、结构化语言 状态转换图,.,72,73,习题,1. 为什么要进行需求分析?通常对软件系统有哪,些需求?,2. 银行计算机储蓄系统的工作过程大致如下:,储户填写的存款单或取款单由业务员键入系统,如 果是存款则系统记录存款人姓名、住址(或电话号 码)、身份证号码、存款类型、存款日期、到期日 期、利率及密码(可选)等信息,并印出存单给储 户;如果是取款而且存款时留有密码,则系

26、统首先 核对储户密码,若密码正确或存款时未留密码,则 系统计算利息并印出利息清单给储户。请用数据流 图描绘本系统的功能,并用实体-联系图描绘系统 中的数据对象。,.,73,74,习题,3. 分析习题2第3题所述的机票预订系统。请用 实体-联系图描绘本系统中的数据对象并用数 据流图描绘本系统的功能。,4. 分析习题2第4题所述的患者监护系统。请用 实体-联系图描绘本系统中的数据对象并用数 据流图描绘本系统的功能,画出本系统的顶 层IPO图。,.,74,75,习题,5. 复印机的工作过程大致如下:,未接到复印命令时处于闲置状态,一旦接到复印命 令则进入复印状态,完成一个复印命令规定的工作后 又回到

27、闲置状态,等待下一个复印命令;如果执行复 印命令时发现没纸,则进入缺纸状态,发出警告,等 待装纸,装满纸后进入闲置状态,准备接收复印命 令;如果复印时发生卡纸故障,则进入卡纸状态,发 出警告等待维修人员来排除故障,故障排除后回到闲 置状态。,请用状态转换图描绘复印机的行为。,.,75,习题(补充),6.,A:问题分解,可靠性与安全性要求,结构化程序设计 确定逻辑模型,B:数据流图 判定表 PAD图,数据字典,C:要让软件做什么,要给该软件提供哪些信息,要求软件工作效率怎样 要让软件具有何种结构 D:对重要功能的描述 对算法的详细过程描述,对数据的要求,软件的性能,E:软件设计的依据 用户和开发人员对软件需求的共同理解 软件验收的依据 软件可行性分析的依据 76,软件需求分析的任务不应包括_A_。进行需求分析可使用多种工 具,但_B_是不适用的。在需求分析中,开发人员要从

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论