需求分析.ppt

上传人:本田雅阁 文档编号:3309644 上传时间:2019-08-11 格式:PPT 页数:103 大小:1.21MB
返回 下载 相关 举报
需求分析.ppt_第1页
第1页 / 共103页
需求分析.ppt_第2页
第2页 / 共103页
需求分析.ppt_第3页
第3页 / 共103页
需求分析.ppt_第4页
第4页 / 共103页
需求分析.ppt_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《需求分析.ppt》由会员分享,可在线阅读,更多相关《需求分析.ppt(103页珍藏版)》请在三一文库上搜索。

1、第3章 需求分析,3.1 需求分析的任务 3.2 信息收集技术 3.3 数据模型 3.4 功能模型 3.5 行为模型 3.6 其他图形工具 3.7 验证软件需求,目标,列举信息收集技术技巧 设计项目的E-R图 设计项目的数据流图 设计项目的状态转换图 了解其他图形工具,第三章 需求分析(I),需求分析的基本任务是准确地回答“系统必须做什么?”这个问题。 确定系统必须完成哪些工作,对目标系统提出完整、准确、清晰、具体的要求。 在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书(Software Requirement Specification ),以书面形式准确地描述软件需求。,所有

2、这些分析方法都遵守下述准则: (1) 必须理解并描述问题的信息域,根据这条准则应该建立数据模型。 (2) 必须定义软件应完成的功能,这条准则要求建立功能模型。 (3) 必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。 (4) 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。,第三章 需求分析(II),需求内容 逻辑模型 修正系统开发计划,3.1 需求分析的任务,功能需求 性能需求 环境需求 可靠性需求 安全保密要求 用户界面需求,需求内容(I),资源使用需求 成本消耗需求 开发进度需求 预先估计以后系统可能达到的目标,1. 功能需求 这方面的需求指定系统必须提供的

3、服务。通过需求分析应该划分出系统必须完成的所有功能。 2. 性能需求 软件开发的技术性指标。 例如: 存储容量限制 执行速度、响应时间 吞吐量,需求内容(II),3. 环境需求 硬件设备:机型、外设、接口、地点、分布、温度、 湿度、磁场干扰等 软件:操作系统、网络、数据库 4. 接口需求 接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。,需求内容(III),5. 用户或人的因素 用户类型? 各种用户熟练程度? 需受何种训练? 用户理解、使用系统的难度? 用户错误操作系统的可能性?,需求内容(IV),6. 数据需求 输入、输出数

4、据的格式? 接收、发送数据的频率? 数据的准确性和精度? 数据流量? 数据需保持的时间?,需求内容(V),7. 安全保密需求 需对访问系统或系统信息加以控制吗? 用户程序如何与其它程序和数据库系统隔离? 系统备份要求? 8. 质量保证 系统的可靠性要求? 规定系统平均出错时间? 出错后,重启系统允许的时间? 维护是否包括对系统的改进? 系统的可移植性?,需求内容(VI),数据模型(ERD) 功能模型(DFD) 行为模型(状态转换图),逻辑模型,根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。,修正系统开发计划,主要问题 复查现有报表

5、、表格和过程描述 访谈 观察并记录商业过程 建立原型 分发收集调查表 主持联合应用程序设计会议 面向数据流分析 简易规格说明书,3.2 信息收集技术,表 信息收集中的主要问题,1 主要问题,商业文档和过程描述是了解过程的一个好方法。 表格和报表可以为面谈提供可视化的帮助、也可以提供工作文档。 复查现有过程文档将有助于识别面谈中不会提及的商业规则。 有助于发现商业过程中的不一致和冗余。,2 复查报表、表格和过程描述,面谈之前 确立面谈目的 确定要包括的相关用户 确定参加会议的项目小组成员 建立要讨论的问题和要点列表 复查有关文档和资料 确立时间和地点 通知所有参加者有关会议的目的、时间和地点,3

6、 面谈,进行面谈 衣着得体 准时到达 寻找异常和错误情况 深入调查细节 详细记录 找出和记录未回答的条目和未解决的问题,面谈之后 复查笔记的准确性、完整性和可理解性 把所收集的信息转化为适当的模型和文档 确定需要进一步澄清的问题域 适当的时间向参加会议的每一个人发一封感谢信,观察 使用活动图来进行记录,4 观察并记录商业过程(I),学生购买教材的实际处理流程当前系统物理模型,4 观察并记录商业过程(II),去掉模型中非本质因素,抽象出当前系统的逻辑模型。,5 建立原型 6 分发和收集调查表,JAD的目的是把所有这些活动压缩为用户和项目小组成员一起参加得更短的JAD会议。 参加人员: JAD会议

7、领导者 用户 技术人员 项目组成员,7 主持联合应用程序设计会议,数据流图是帮助复查的极好工具。 从输入端开始,分析员借助数据流图、数据字典和IPO图向用户解释输入数据是怎样一步一步地转变成输出数据的。 这些认识正确吗?有没有遗漏?用户应该注意倾听分析员的报告,并及时纠正和补充分析员的认识。复查过程验证了已知的元素,补充了未知的元素,填补了文档中的空白。,8 面向数据流自顶向下求精,典型过程如下: 通过初步访谈确定待解决的问题的范围和解决方案。 然后开发者和用户分别写出“产品需求”。选定会议的时间和地点,并选举一个负责主持会议的协调人。 审查产品需求,列出系统环境组成部分的对象、系统将产生的对

8、象以及系统为了完成自己的功能将使用的对象。 列出操作这些对象或与这些对象交互的服务 最后还应该列出约束条件和性能标准。,9 简易的应用规格说明技术(I),在展示了每个人针对某个议题的列表之后,大家共同创建一张组合列表。 组合列表将被缩短、加长或重新措辞,以便更准确地描述将被开发的产品。讨论的目标是,针对每个议题(对象、服务、约束和性能)都创建出一张意见一致的列表。进行分组讨论 最后,由一名或多名与会者根据会议成果起草完整的软件需求规格说明书。 突出优点:开发者与用户不分彼此,齐心协力,密切合作;即时讨论并求精;有能导出规格说明的具体步骤。,9 简易的应用规格说明技术(II),为订餐服务系统设计

9、信息收集方案 时间:20分钟,分组讨论,分析建模方法: 数据模型:ERD(实体联系图) 功能模型:DFD(数据流图) 行为模型:STD(状态转换图) 数据模型中包含3种相互关联的信息:实体、属性、联系,3.3 ERD(I),实体:指客观世界存在的且可以相互区分的事务。实体可以是人,也可以是物,还可以是抽象概念。如职工、计算机、产品等都是实体。 属性:是指实体某一方面的特征。一个实体通常由多个属性值组成,如学生实体具有学号、姓名、专业、年级等属性。 联系:指实体之间的相互关系。 注意,联系也可以有属性。比如成绩既不是学生的属性,也不是课程的属性,而是学生“学”课程的属性,这个属性就是联系“学”的

10、属性。,3.3.1 实体模型的概念(I),联系可分为以下3种类型: (1) 一对一联系(11) 例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。 (2) 一对多联系(1N) 例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。 (3) 多对多联系(MN) 例如,学生与课程间的联系(“学”)是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。,3.3.1 实体模型的概念(II),3.3.2 实体模型的基本符号,某校教学管理ER图,3.3.3 ERD实例(I),习题. 请为某仓库的管理设计一个

11、ER模型。该仓库主要管理零件的订购和供应等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件。,3.3.3 ERD实例(II),数据流图(Data Flow Diagram)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。 数据流图和数据字典(Data Dictionary)共同构成了系统的逻辑模型。,3.4 数据流图,3.4.1 数据流图符号,数据流图中的主要图形元素,数据加工 (数据变换),数据源点或终点 (外部实体),数据流,数据存储文件,描述银行取款过程的数据流图,3.4.2 例1,3.4.3 数据流与数据加工之间的关系,3.4.4 数据流图的层次结构

12、(I),为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统,3.4.4 数据流图的层次结构(II),在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据 底层流图是指其加工不需再做分解的数据流图,它处在最底层 中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,3.4.4 数据流图的层次结构(III),3.4.5 结构化分析方法步骤示例(I) 商店业务处理系统,这个数据流图只是一个高层的系统逻辑模型,它

13、反映了目标系统要实现的功能 数据流图绘制步骤 首先确定系统的输入和输出 根据商店业务,画出顶层数据流图,以反映最主要业务处理流程,3.4.5 结构化分析方法步骤示例(II),经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。 然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图,3.4.5 结构化分析方法步骤示例(III),3.4.5 示例(IV)第一层数据流图,3.4.5 示例(V)销售细化,3.4.5 示例(V)采购细化,3.4.6 检查和修改数据流图的原则(I),数据流图上所有图形符

14、号只限于前述四种基本图形元素 数据流图的主图必须包括前述四种基本元素,缺一不可 数据流图的主图上的数据流必须封闭在外部实体之间 每个加工至少有一个输入数据流和一个输出数据流 在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系,规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡 可以在数据流图中加入物质流,帮助用户理解数据流图 图上每个元素都必须有名字 数据流图中不可夹带控制流 初画时可以忽略琐碎的细节,以集中精力于主要数据流,3.4.6 检查和修改数据流图的原则(II),课堂作业,习题2.4 30分钟,数据词典

15、与数据流图配合,能清楚地表达数据处理的要求 词条描述 对于在数据流图中每一个被命名的图形元素,均加以定义,其内容有: 名字,别名或编号,分类,描述,定义,位置,其它,等,3.5 数据字典,数据流名: 说明:简要介绍作用即它产生的原因和结果 数据流来源:来自何方 数据流去向:去向何处 数据流组成:数据结构 数据量流通量:数据量,流通量,3.5.1 数据流描述,3.5.2 数据元素词条描述,数据元素名: 类型:数字(离散值,连续值),文字(编码类型) 长度: 取值范围: 相关的数据元素及数据结构:,3.5.3 数据文件词条描述,数据文件名: 简述:存放的是什么数据 输入数据: 输出数据: 数据文件

16、组成:数据结构 存储方式:顺序,直接,关键码 存取频率:,3.5.4 加工逻辑词条描述,加工名: 加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述 输入数据流: 输出数据流: 加工逻辑:简述加工程序,加工顺序,3.5.5 源点及汇(终)点词条描述,名称:外部实体名 简要描述:什么外部实体 有关数据流: 数目:,3.5.6 数据结构的描述,符 号 含 义 举 例 被定义为 与 x = ab .,. 或 .|. 或 x = a , b,x = a | b . 或 m.n 重复 x = a, x = 3a8 (.) 可选 x = (a) “.” 基本数据元素 x = “a” 连结符 x =

17、19,课堂作业,习题2.5 时间20分钟,电话号码=校内电话|校外电话 校内电话=非零数字+3数字3 校外电话=本市号码|外地号码 本市号码=数字零+8位号码 外地号码=数字零+区号+8位号码 数字零=0 区号=3数字3 8位号码=非零数字+7数字7 数字=数字零|非零数字 非零数字=19,基本加工逻辑说明 对数据流图的每一个基本加工,必须有一个基本加工逻辑说明 基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则 加工逻辑说明必须描述实现加工的策略而不是实现加工的细节 加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的,3.6 功能模型(I),基本加工逻辑说明

18、工具 结构化英语 判定表 判定树,3.6 功能模型(II),结构化语言是介于自然语言和形式语言之间的一种半形式语言,它是自然语言的一个受限制的子集。一般分为两层结构:外层语法较具体,为控制结构(顺序、选择、循环),内层较灵活,表达“做什么”。,一、 结构化语言,例如:外层可为以下结构: 1、顺序结构 2、选择结构 IFTHEN-ELSE; CASE-OF-ENDCASE; 3、循环结构 WHILE-DO; REPEAT-UNTIL,例:一图书销售系统,其中一加工为“优惠处理”,条件是:顾客的营业额大于1000元,同时必须信誉好,或者虽然信誉不好,但是20年以上的老主顾。,应用举例,用结构化语言

19、来描述: 如果 营业额大于1000元 同时 如果信誉好 则 优惠处理。 否则 正常处理。 否则 信誉不好 但是20年以上的老主顾,则优惠处理。 否则 营业额小于、等于1000元 则 正常处理。,显然,用结构化语言来描述组合条件不清晰。,判定表是一种二维的表格,常用于较复杂的组合条件(与结构化语言比较)。,二、 判定表,特点:可处理较复杂的组合条件,但不易理解.不易输入计算机。,通常由四部分组成。 条件框 条件定义。 操作框 操作的定义。 条件条目 各条件的取值及组合。 操作条目 在各条件取值组合下所执行的操作。,例如: 对商店每天的营业额所收税率,例:一图书销售系统,其中一加工为“优惠处理”,

20、条件是:顾客的营业额大于1000元,同时必须信誉好,或者虽然信誉不好,但是20年以上的老主顾。,判定表应用举例,练习:工种分配政策 如果年龄不满18岁,文化程度是小学,则脱产学习;文化程度是中学,则当电工;如果年龄满18岁,但不满40岁,如果文化程度是小学或中学,若是男性,则当钳工;若是女性,则当车工;文化程度是大学,当技术员;如果年满40岁及以上者,文化程度是小学或中学,则当材料员,文化程度是大学,则当技术员。,绘制步骤,(1)确定条件:性别、年龄、文化程度 (2)确定条件取值,(3)确定条件组合数2*3*3=18 (4)确定动作(策略)数量:6个 (5)画表格式 (6)填入所有条件组合 (

21、7)对每一个条件组合填写对应的动作; (8)检查,发现遗漏,补充政策规定; (9)简化,将无需判断的条件去掉。对一个动作行,查看所有列,根据条件合并(去掉不需判断条件); (10)判断表判断树。,A1:脱产学习 A2:当电工 A3:当钳工 A4:当车工 A5:当技术员 A6:当材料员,特点:描述一般组合条件较清晰,易理解。不易输入计算机。,三、 判定树,四、三种工具比较,1难易程度(易到难):树、语、表 2逻辑验证(好到差):表、语、树 3直观性:树、语、表 4程序设计资料:语、表、树 5机器可读性:语、表、树 6可移植性:语、树、表,选用原则: (1)对于不太复杂的处理逻辑,用判断树(条件2

22、或3个,组合=15,动作10个左右) (2)对于复杂的处理逻辑,使用判断表(条件多,组合多,动作多) (3)处理逻辑中,既包括判断,也有其它顺序,用结构式语言最好。,状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。 状态 事件 符号,3.7 状态转换图(I),3.7.1 状态 一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。 在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。 3.7.2 事件 事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)状态

23、转化的外界事件的抽象。,3.7 状态转换图(II),3.7.3 符号 图3.3 状态图中使用的主要符号,3.7 状态转换图(III),电话状态转换图,作业:画出电梯状态转换图(20分钟),3.7 状态转换图(V),电梯运行状态图(I),电梯运行状态图(II),电梯运行状态图(III) 停靠服务的子状态图,层次方框图 Warnier图 IPO图,3.8 其他图形工具,层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。 例如,描绘一家计算机公司全部产品的数据结构可以用图3.5中的层次方框图表示。,3.8.1 层次方框图(I),图3.5 层次方框图的一个例子,3.8.1 层次方框图(II

24、),和层次方框图类似,Warnier图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。 用Warnier图可以表明信息的逻辑组织,也就是说,它可以指出一类信息或一个信息元素是重复出现的,也可以表示特定信息在某一类信息中是有条件地出现的。,3.8.2 Warnier图(I),图3.6 Warnier图的一个例子,3.8.2 Warnier图(II),IPO图是输入、处理、输出图的简称,它能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。 在需求分析阶段可以使用IPO图简略的描述系统的主要算法(即数据流图中各个处理的基本算法)。,3.8.3 IPO(Input P

25、rocess Output)图,图3.7 IPO图的一个例子图,3.8.3 IPO图(II),图3.8 改进的IPO图的形式,3.8.3 IPO图(III),为了提高软件质量,确保软件开发成功,降低软件开发成本,一旦对目标系统提出一组要求之后,必须严格验证这些需求的正确性。一般说来,应该从下述4个方面进行验证:,3.9 验证软件需求(I),一致性。所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。 完整性。需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。 现实性。指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则

26、很难做出预测,只能从现有技术水平出发判断需求的现实性。 有效性。必须证明需求是正确有效的,确实能解决用户面对的问题。,3.9 验证软件需求(II),结构化遍历:对调查结果和根据这些结果建立的原型进行复查。 What & When 遍历文档 多次36页文档复查 Who 被复查的人和复查工作的人 How 像面谈一样,准备、执行和后续工作必不可少,3.9 验证软件需求(III),需求分析阶段的任务 系统的综合要求 分析系统的数据要求 导出系统的逻辑模型 信息收集技术 主要问题 复查现有报表、表格和过程描述 访谈 观察并记录商业过程 建立原型 分发收集调查表 主持联合应用程序设计会议,3.10 小结(

27、I),分析建模与规格说明 数据模型 功能模型 行为模型 软件需求规格说明 实体-联系图:数据模型 状态转换图:行为模型 其他图形工具 验证需求,3.10 小结(II),数据流图举例 学生购买教材系统,学 生,教材 购销 系统,保 管员,外部实体,外部实体,教材销售子系统,1.3 登记并开 领书单,1.2 开发票,1.1 审查 有效性,1.4 登记 缺书,1.5 补售 教材,采 购,学 生,学 生,暂缺书单,补售 书单,第 2 层,F1 书号 单价 数量,外部 项,采购 子系统,第 1 层,缺书单,2.3 修改教材库 存和待 购量,销 售,2.1 按书号汇 总缺书,2.2 按出版社统 计缺书,保

28、 管员,数据流名: 说明:简要介绍作用,即它产生的原因和结果。 数据流来源:即该数据流来自何方。 数据流去向:去向何处。 数据流组成:数据结构。 每个数据量流通量:数据量、流通量。,(1) 数据流词条的描述,数据流名:发票 说明:用作学生已付书款的依据 数据流来源:来自加工“审查并开发票” 数据流去向:流向加工“开领书单”。 数据流组成:学号+姓名+书号+单价总价+书费合计,数据元素名: 类型:数字(离散值、连续值),文字(编码类型) 长度: 取值范围: 相关的数据元素及数据结构,(2) 数据元素词条的描述,定义数据符号,=,被定义为,+,与, ,x=a+b,则表示 x 由 a 和 b 组成,x=a,b,则表示 x 由 a 或由 b 组成, ,或,重复,x=a,则表示 x 由 0个或多个 a 组成,( ),可选,表示在两个 * 之间的内容为词条的注释,m n,重复,x=3a8,则表示x中至少出现3次a ,最多出现8次,*,注释符,x=(a),则表示 a 在 x 中出现, 也可不出现,例:存折格式,(3) 数据存储词条的描述,数据存储名: 简述:存放的是什么数据。 数据组成:数据结构。 存储方式:顺序,直接,关键码。 存取频率: ,加工名: 加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述 输入数据流: 取值范围: 相关的数据元素及数据结构 ,(4) 加工逻辑词条的描述,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1