《第3章_需求分析.ppt》由会员分享,可在线阅读,更多相关《第3章_需求分析.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章 需求分析需求分析的任务需求分析的过程需求分析的文档需求分析任务:确定待开发软件的功能,性能,数据,接口等要求,从而确定系统的逻辑模型.参与人员两个阶段:需求获取阶段和需求规约阶段成果:软件需求说明书方法:结构化分析(SA)需求分析的任务确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统开发计划需求分析的结果需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求。分析员通过需求分析,逐步细化软件分配,描述软件要处理的信息域,并给软件开发提供一种可转化为数据设计、结构设计和过程设计的信息与功能表示。需求分析的
2、过程二个阶段:需求获取和需求规约.系统分析员对象:用户目标:对要达到的目标或所解决的问题有一个清楚而明确的认识.成果:需求规格说明书获取需求需求就是对系统特征以及为了完成用户任务,系统必须能够做什么的一个描述.三大挑战:问题的复杂性人与人之间的通信需求不断变化软件需求的挑战之一:问题的复杂性需求获取技术访谈与会议访谈有两种基本形式:正式的:系统分析员将提出一些事先准备好的具体问题。非正式的:分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法。观察用户工作流程用户和开发人员共同组成联合小组以下方式:参观、面谈、电话、问卷、索取资料需求获取的内容功能性需求和非功能性需求.
3、功能性需求:定义系统做什么,包括系统的所有输入,输出,以及如何从输入到输出.非功能性需求(性能):系统对效率,可靠性,安全性,可维护性,可移植性,吞吐量及符合某种标准等要求.需求内容功能系统将做什么?系统何时及如何修改?需求内容数据输入输出数据的格式数据的取值范围接收或发送数据的频率数据的精确性如何?数据必须保存多久时间?需求内容接口有来自其它系统的输入吗有到其它系统的输出吗对数据格式有规定吗对数据存储介质有特殊要求需求内容性能对执行速度有无限制?对响应时间有无限制?对吞吐率有无限制?对存储容量有无限制?有关性能需求的阅读材料需求内容用户或人的因素谁将使用该系统?存在多种类型的用户吗每种类型的
4、用户熟练程度?用户的理解和使用系统有难度吗?需求内容环境操作设备的地点要求位置是集中还是分散的采用什么机型、外部设备系统运行的系统软件需求内容质量保证系统的可靠性如何?系统必须监测和隔离错误吗?平均出错时间为多少?系统可移植性如何?需求内容安全性必须对访问系统或系统信息加以控制吗?一个用户的数据与其他用户的数据关系如何?用户程序与其它程序或操作系统要隔离开来吗?多长时间需要备份?备份数据存放位置需要防火或防盗吗?需求内容资源开发者必须具有怎么样的技能?系统将占用多大的物理空间开发有规定的时间表?资金使用情况?分析员和用户的责任分析员:负责沟通用户和开发人员的认识和见解。负责编写软件需求规格说明
5、书。用户:包括业务负责人、部门负责人、操作人员。配合分析员了解业务,阐述对数据处理工作的考虑。软件需求规格说明书A01 系统需求简要说明表A02 数据流图A03 数据流/存贮/组合元素描述表A04 数据元素描述表A05 数据概念结构图A06 基本处理说明A07 系统I/O描述表A08 数据元素代码表A09 系统流程图v软件系统本质上是信息处理系统v任何信息处理系统的基本功能都是把输入数据转变成需要的输出信息。v数据是需求分析的出发点。数据决定了需要的处理和算法。v典型的面向过程的软件需求分析方法就是:结构化分析方法(SA),是面向数据流进行需求分析的方法。软件需求分析方法 结构化分析结构化分析
6、方法是抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。抽象和分解是这个方法的主要手段,由于数据传递与变换而形成的数据流,是这个方法的主要依据。面向数据流自顶向下求精过程图 面向数据流自顶向下求精过程 结构化分析工具结构化方法使用了以下几个工具:数据流图,数据词典,IPO图。数据流图用于表达系统内数据的运动情况。数据词典定义系统中的数据。IPO图用于描述数据流的加工。数据流图数据流图是一种描述数据变换的图形工具,系统接受输入的数据,经过一系列的变换,最后输出结果数据。数据流图有四个基本成份:加工 (用 表示)数据流 (用 表示)数据
7、存储 (用 表示)数据源和数据终点(用 表示)数据源和数据终点是系统与环境的接口,是系统之外的实体。可以是人物或其它软件。数据源是起点,数据终点是终点。画数据流图的方法第一步第一步,从问题描述中提取数据流图的四种成分;源点和终点源点和终点 处理处理数据流和数据存储数据流和数据存储第二步第二步,根据分离的四种成分,画基本系统模型;第三步第三步,进一步对基本系统模型细化,得到功能 级数据流图;第四步第四步,进一步对功能级数据流图进行细化,当 进一步分解将涉及如何具体实现一个功能 时就不应该再分解了。软件系统软件系统源点源点终点终点输入输入数据流数据流输出输出数据流数据流注意事项注意事项1.并不是所
8、有数据存储和数据流都能直接从问题描述中提取出来;2.在对数据流图分层细化时,必须保持信息的连续性。即:分解前、后的输入/输出数据流必须相同。3.在功能级数据流图中,可根据需要给处理和数据存储增加编号,便于引用和追踪。同时编号应反映处理的分解层次;4.一张数据流图中的包含的处理控制在59个,因此数据流图应该使用分层和画分图的方法。分层的数据流图为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。层次结构的数据流图能很好地解决这一问题。在多层数据流图中,我们可以把顶层流图、底层流图和中间层流图区分开来。顶层流图(仅包含一个加工,它代表被开发系统)表明被开发系统的范围以及它和周围环境的数据交
9、换关系。其输入流是该系统的输入数据,输出流是系统所输出数据。分层的数据流图(续)底层流图是指其加工不需再做分解的数据流图。它处在最底层,有时也称其加工为“原子加工”。中间层流图则表示对其上层父图的细化。其每一加工可能继续细化,形成子图。中间层次的多少视系统的复杂程度而决定。数据流图的步骤1 先找系统的数据源点与终点。它们是外部实体,找到了它们,则系统与外部世界的接口就得到了确定。2 找出外部实体的输出数据流与输入数据流。3 在图的边上画出系统的外部实体。4 从外部实体的输出数据流出发,按照系统的逻辑需要,逐步画出一系列逻辑加工,直到找到外部实体所需的输入数据流,形成数据流的封闭。5 按照下面所
10、给的原则进行检查和修改。6 按照上述步骤,再从各加工出发,画出所需的子图。数据流图的原则(一)1 数据流图顶层图必须包括4种基本元素。2 适当为数据流,加工,存贮,源/终取名。3 每个加工至少有一个输入数据流和一个输出数据流。4 在数据流图中需按层给加工框编号。数据流图的原则(二)5 允许一个加工有多个数据流流向另一个加工,也允许一个加工有两个相同的输出数据流流向两个不同的加工.6 保持父图与子图平衡:父图某加工的输入输出数据流必须与子图的输入输出流在数量和名字上相同.7 保持数据守恒数据流图的用途作为交流信息的工具描绘系统分析员对系统的设想,供审查作为分析和设计的工具描绘系统所完成的功能有助
11、于更详细的设计步骤面向数据流的设计方法易混淆的知识数据流是在处理、数据存贮和源点/终点之间传递的动态数据,不是控制的转移流向。数据流图只能表示软件对数据的处理动作,而不反映处理的执行顺序。在数据流图中应描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。结构化分析工具结构化方法使用了以下几个工具:数据流图,数据词典,IPO图。数据流图用于表达系统内数据的运动情况。数据词典定义系统中的数据。IPO图用于描述数据流的加工。1.2更新更新库存库存清单清单仓库仓库管理员管理员采购员采购员事务事务定货报表定货报表2产生产生报表报表D2 定货信息定货信息D1 库存清单库存清单库存清单库存清单定货信息
12、定货信息定货信息定货信息1.1接受接受事务事务1.3处理处理定货定货事务事务库存信息库存信息 定货系统数据流图定货系统数据流图数据词典数据词典(data dictionary)记录有关数据方面的信息,作为对数据流图的补充和解释。数据流图和数据词典共同构成全面描述软件需求说明书的核心。数据词典的任务是对于数据流图中出现的所有被命名的图形元素,包括数据流,数据元素,数据存贮和处理,在数据词典中作为一个词条加以定义。数据词典的用途作为分析阶段的工具模块间的统一接口开发人员的依据数据库设计的第一步词条描述内容一般信息:名字,别名,描述定义:数据类型,长度,结构使用特点:值的范围,使用频率,使用方式控制
13、信息:来源,用户,使用它的程序,改变权,使用权分组信息:父结构,从属结构,物理位置定义式X=a|b+3c8+(d)a=“001”.“999”本地电话号码=非零数字+2数字10非零数字=1|2|3|4|5|6|7|8|9数字=0|1|2|3|4|5|6|7|8|9 定货系统定货系统定货系统定货系统仓库管理员仓库管理员仓库管理员仓库管理员采购员采购员采购员采购员事务事务事务事务定货报表定货报表定货报表定货报表名字:名字:定货报表别名:别名:定货信息描述:描述:每天一次送给采购员的需要定货的零件表定义:定义:定货报表=零件编号+零件名称+定货数量+主要供应者+次要供应者位置:位置:输出到打印机名字:
14、名字:零件编号别名:别名:描述:描述:唯一标识库存清单中一个特定零件的关键域定义:定义:零件编号=8数字8必须是必须是8位的编号位的编号位置:位置:定货报表 定货信息 库存清单名字:名字:定货报表描述:描述:每天一次送给采购员的需要定货的零件表定义:定义:定货报表=零件编号+零件名称+定货数量+主要供应者+次要供应者名字:名字:定货数量别名:别名:描述:描述:某个零件一次定货的数量定义:定义:定货数量=1数字5值域值域1-99999位置:位置:定货报表 定货信息名字:名字:定货报表描述:描述:每天一次送给采购员的需要定货的零件表定义:定义:定货报表=零件编号+零件名称+定货数量+主要供应者+次
15、要供应者层次方框图Warnier图思考:1.试比较层次方框图和Warnier图的差异。2.请分别用层次方框图和Warnier图表达:定货报表的组成。图形工具定货报表 零件编号主要供应商供应商编号供应商名称供应商地址零件名称定货数量目前价格次要供应商供应商编号供应商名称供应商地址定货报表的层次方框图定货报表 零件编号字符(8)零件名称字符(1,20)定货数量整数(1,5)目前价格实数主要供应商供应商编号字符(8)供应商名称字符(1,20)供应商地址字符(1,50)次要供应商供应商编号字符(8)供应商名称字符(1,20)供应商地址字符(1,50)定货报表的Warnier图加工的描述对数据流图的每一
16、个基本加工,必须有一个基本加工逻辑说明。基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则。加工逻辑说明必须描述实现加工的策略而不是实现加工的细节。IPO图常用于描述数据流的加工。IPO图1.事务2.库存清单1.更新库存清单主文件2.判断零件的库存数量是否少于库存量临界3.向“处理定货”加工输出需定货的库存信息。1.更新后的库存清单2.需定货的库存信息 输入(I)处理(P)输出(O)“更新库存清单”加工的IPO图v大量统计数字表明,软件系统中15%的错误起源于错误的需求。v从下述4个方面进行验证:(1)一致性.(2)完整性.(3)现实性.(4)有效性.3.8 验证软件需
17、求1 从哪些方面验证软件需求的正确性 验证需求的一致性 形式化的描述、软件工具验证需求的现实性 经验、仿真 验证需求的完整性和有效性 原型系统2 验证软件需求的方法这类软件工具应该满足下列要求:(1)必须有形式化的语法(或表),因此可以用计算机自动处理使用这种语法说明的内容;(2)使用这个软件工具能够导出详细的文档;(3)必须提供分析(测试)规格说明书的不一致性和冗余性的手段,并且应该能够产生一组报告指明对完整性分析的结果;(4)使用这个软件工具之后,应该能够改进通信状况。3 用于需求分析的软件工具需求分析需求分析是确定系统必须具有的功能、性能两个阶段:需求获取阶段和需求规约阶段成果:软件需求
18、说明书方法:结构化分析(SA)结构化分析技术自顶向下逐层分解数据流图,数据词典,IPO图小结职校机房职校机房管理系统管理系统政教处政教处管理员管理员基本信息基本信息考勤表考勤表职校机房管理系统职校机房管理系统值日教师值日教师基本信息基本信息学生基本信息学生基本信息金额金额日期、时间日期、时间机器基机器基本信息本信息管理员管理员帐目表帐目表值日表值日表管理员管理员管理员管理员值日教师值日教师学生学生时钟时钟实验一编写所选系统的软件需求规格说明书:A01 系统需求简要说明表A02 数据流图(两层)A03 数据流/存贮/组合元素描述表A04 数据元素描述表A05 数据概念结构图作业三画出职校机房管理系统的下一层数据流图作业四定义的数据字典词条(任选五个元素)