《《需求分析》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《需求分析》PPT课件.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 需求分析需求分析为什么需要需求分析?为什么需要需求分析?v开发人员往往开发人员往往急于求成急于求成v希望对开发进行指导希望对开发进行指导v希望开发人员对用户的要求理解希望开发人员对用户的要求理解v希望用户理解开发人员希望用户理解开发人员v测试部门测试部门有理可依有理可依需求分析做什么需求分析做什么?v准确地回答准确地回答”系统必须做什么系统必须做什么?”这个问题;这个问题;v对系统提出对系统提出完整、准确、清晰、具体完整、准确、清晰、具体的要求;的要求;v写出写出软件需求规格说明书软件需求规格说明书;v用户要很好地参与到需求分析过程中来;用户要很好地参与到需求分析过程中来;(需需求
2、要求要不断迭代不断迭代)v注意区别注意区别”可行性分析可行性分析”和和”需求分析需求分析”的的异同异同;v设计出系统的设计出系统的”数据模型数据模型”、细化细化的的“逻辑逻辑模型模型”和和“行为模型行为模型”;(关键所在关键所在)Is WhatNot How需求分析做什么需求分析做什么?所有的结构化分析方法都遵守下述准则:所有的结构化分析方法都遵守下述准则:(1)(1)必须理解并描述问题的必须理解并描述问题的信息域信息域,根据这条,根据这条准则应该建立准则应该建立数据模型数据模型。(2)(2)必须定义软件应完成的必须定义软件应完成的功能功能,这条准则要,这条准则要求建立求建立功能模型功能模型。
3、(3)(3)必须描述作为外部事件结果的必须描述作为外部事件结果的软件行为软件行为,这条准则要求建立这条准则要求建立行为模型行为模型。(4)(4)必须对描述信息、功能和行为的模型进行必须对描述信息、功能和行为的模型进行分解分解,用层次的方式,用层次的方式展示细节展示细节。需求获取面临的挑战需求获取面临的挑战L 客户说不清楚需求客户说不清楚需求L 需求易变性需求易变性L问题的复杂性和对问题空间问题的复杂性和对问题空间 理解的不完备性与不一致性理解的不完备性与不一致性优秀需求具有的特性优秀需求具有的特性v1.1.完整性完整性 v2.2.正确性正确性 v3.3.可行性可行性 v4.4.必要性必要性 v
4、5.5.划分优先级划分优先级 v6.6.无二义性无二义性 v7.7.可验证性可验证性3.1 需求分析的任务需求分析的任务 具体任务:具体任务:确定对系统的确定对系统的综合要求综合要求(系统需要什么?)(系统需要什么?)分析和设计系统的分析和设计系统的数据要求数据要求 (处理的数据对象(处理的数据对象是什么?)是什么?)在可行性分析的基础之上分析和设计系统的在可行性分析的基础之上分析和设计系统的功功能模型能模型(系统功能的模型表示是什么?)(系统功能的模型表示是什么?)分析和设计描述软件动态变化的分析和设计描述软件动态变化的行为模型行为模型(系(系统的状态是如何改变的?)统的状态是如何改变的?)
5、编写编写软件需求规格说明书软件需求规格说明书,可能需要修正系统,可能需要修正系统开发计划开发计划 3.1.1 确定系统的综合要求确定系统的综合要求v功能要求功能要求v性能要求性能要求v可靠性和可用性要求可靠性和可用性要求v出错处理要求出错处理要求v接口要求接口要求v约束约束v逆向要求逆向要求v扩展要求扩展要求基本的、基本的、核心的核心的时间、存储时间、存储量、安全性量、安全性MTTF对环境错误对环境错误应该如何响应该如何响应应用户、硬件、用户、硬件、软件、通信软件、通信限制条件、限制条件、精度、语言精度、语言对系统可能对系统可能的扩充或修的扩充或修改改系统不应该系统不应该做什么做什么3.1.2
6、 分析和设计系统的数据要求分析和设计系统的数据要求v软件系统的本质是软件系统的本质是对数据进行处理。对数据进行处理。v通常要求建立完整的通常要求建立完整的概念模型概念模型(E-RE-R模型模型)v数据字典缺乏直观性(数据字典缺乏直观性(考虑图形化的描述复考虑图形化的描述复杂数据的组成杂数据的组成)v必要时需要对数据模型进行规范化(必要时需要对数据模型进行规范化(范式范式)v阶段性成果:阶段性成果:E-RE-R图图层次方框图或层次方框图或WarnierWarnier图图3.1.3 分析和设计系统的功能模型分析和设计系统的功能模型v确定系统综合要求和分析系统数据要求顺利确定系统综合要求和分析系统数
7、据要求顺利完成之后即可导出详细的完成之后即可导出详细的系统功能模型系统功能模型。v阶段性成果:阶段性成果:细化后并经过多次校验的细化后并经过多次校验的数据流图数据流图(DFD)(DFD)与数据流图相辅相存的与数据流图相辅相存的数据字典数据字典(DD)(DD)概要性的概要性的描述主要加工的处理算法描述主要加工的处理算法(IPO)(IPO)v确定系统的动态变化的方式,采用状态转换确定系统的动态变化的方式,采用状态转换图来描述。图来描述。v阶段性成果:阶段性成果:状态转换图状态转换图(STD)(STD)3.1.4 分析和设计系统的行为模型分析和设计系统的行为模型3.1.5 编写需求规格说明,可能需要
8、编写需求规格说明,可能需要修正系统的开发计划修正系统的开发计划v根据上述的阶段性成果,汇总为根据上述的阶段性成果,汇总为“软件需求软件需求规格说明书规格说明书”,以提交评审,以提交评审v在可行性分析的基础上,较准确地估计系统在可行性分析的基础上,较准确地估计系统的的开发成本开发成本和和进度进度v修正开发计划修正开发计划3.2 3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法v访谈访谈v面向数据流自顶向下求精面向数据流自顶向下求精v简易的应用规格说明技术简易的应用规格说明技术v快速原型法快速原型法用户和系统其他人员参与需求分用户和系统其他人员参与需求分析析3.2.1 3.2.1 访谈访谈
9、v最早最早并且仍然广泛使用并且仍然广泛使用v正式的正式的访谈:具体问题的问答形式访谈:具体问题的问答形式v非正式的非正式的访谈:开放式、交互性的问答访谈:开放式、交互性的问答v需要调查大量人员时采用需要调查大量人员时采用“调查表调查表”技术技术v还使用还使用“情景分析技术情景分析技术”(用户角度)(用户角度),就是就是对用户将来使用目标系统解决某个具体问题对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。的方法和结果进行分析。3.2.1 3.2.1 访谈访谈v情景分析情景分析(1)(1)它在某种程度上它在某种程度上演示目标系统的行为演示目标系统的行为,便,便于用户理解,而且还可能进一
10、步揭示出一些于用户理解,而且还可能进一步揭示出一些分析员分析员还不知道的需求还不知道的需求。(2)(2)由于情景分析较易为用户所理解,使用这由于情景分析较易为用户所理解,使用这种技术能保证用户在需求分析过程中始终扮种技术能保证用户在需求分析过程中始终扮演一个演一个积极主动积极主动的角色。的角色。3.2.2 3.2.2 面向数据流的面向数据流的自顶向下求精自顶向下求精v信息系统的本质决定信息系统的本质决定数据数据是需求分析的是需求分析的起点起点v系统分析员系统分析员一定要搞清楚数据的细节一定要搞清楚数据的细节v分析的对象分析的对象:高层数据流图(:高层数据流图(什么阶段得到什么阶段得到的?的?)
11、v主要目标主要目标:把数据流和数据存储定义到元素:把数据流和数据存储定义到元素级别(级别(不可分解为止不可分解为止)可行性分析可行性分析忽略了细节忽略了细节数据的来源、去向、数数据的来源、去向、数据结构定义等据结构定义等3.2.2 3.2.2 面向数据流的自顶向下求精面向数据流的自顶向下求精v结构化分析方法是一种结构化分析方法是一种什么方法什么方法呢?呢?v从数据流图的从数据流图的输出端着手分析输出端着手分析,这是因为系,这是因为系统的统的基本功能基本功能是是产生这些输出的关键原因产生这些输出的关键原因。v输出数据决定了系统必须具有的输出数据决定了系统必须具有的最基本的组最基本的组成元素(成元
12、素(包括功能和数据结构组成包括功能和数据结构组成)。自顶向下,逐自顶向下,逐层细化的方法层细化的方法3.2.2 3.2.2 面向数据流的自顶向下求精面向数据流的自顶向下求精v注意注意1 1:第:第2 2章给出了章给出了1 1种数据流图的分析方法种数据流图的分析方法(教材),其目的主要是导出(教材),其目的主要是导出较高层次较粗较高层次较粗糙糙的数据流图,而需要的数据流图,而需要准确地准确地收集需求,采收集需求,采用本章的从数据流图的输出向输入的回溯方用本章的从数据流图的输出向输入的回溯方法。法。3.2.2 3.2.2 面向数据流的自顶向下求精面向数据流的自顶向下求精v回溯过程中需要回答两个问题
13、回溯过程中需要回答两个问题输出数据的组成?输出数据的组成?输出数据的来源?输出数据的来源?深入调查深入调查外部输入或外部输入或系统生成系统生成3.2.2 3.2.2 面向数据流的自顶向下求精面向数据流的自顶向下求精v回溯时常遇到的问题:为了得到某个数据元素需要回溯时常遇到的问题:为了得到某个数据元素需要用到数据流图中用到数据流图中还没有的数据元素还没有的数据元素,或者得出这个,或者得出这个数据元素要用的数据元素要用的算法尚不完全清楚算法尚不完全清楚。v因此,需要向因此,需要向用户用户等有关人员请教,他们的回答使等有关人员请教,他们的回答使分析员对目标系统的认识更深入具体,系统中更多分析员对目标
14、系统的认识更深入具体,系统中更多的数据元素被划分出来,更多的算法搞清楚了。的数据元素被划分出来,更多的算法搞清楚了。v把分析过程中得到的有关把分析过程中得到的有关数据元素数据元素的信息记录在的信息记录在数数据字典据字典中,把对中,把对算法算法的简明描述记录在的简明描述记录在IPOIPO图中。通图中。通过分析而过分析而补充的数据流、数据存储和处理补充的数据流、数据存储和处理,应该添,应该添加到数据流图的适当位置上。加到数据流图的适当位置上。面向数据流方法的分析过程面向数据流方法的分析过程v沿数据流图回溯沿数据流图回溯v用户复查用户复查v细化数据流图细化数据流图v修正开发计划修正开发计划v书写文档
15、书写文档v审查和复审审查和复审沿数据流图回溯沿数据流图回溯v从数据流图的从数据流图的输出向输入回溯输出向输入回溯,依次确定,依次确定每每个数据元素个数据元素的来源(的来源(组成和实现算法组成和实现算法););v把把数据元素数据元素的信息记录到的信息记录到数据字典数据字典中;中;v把对把对算法算法的简明描述记录到的简明描述记录到IPOIPO图中;图中;v补充的数据流、数据存储和处理应该添加到补充的数据流、数据存储和处理应该添加到数据流图数据流图的适当位置上。的适当位置上。用户复查用户复查v数据流图是帮助复查的极好工具;数据流图是帮助复查的极好工具;v分析员分析员向用户解释数据的来源向用户解释数据
16、的来源(组成和处理,(组成和处理,它反映了分析员建立的对系统已有的认识。)它反映了分析员建立的对系统已有的认识。)v用户要及时用户要及时纠正和补充纠正和补充分析员的认识分析员的认识v它它验证验证了了已知的已知的元素,元素,补充补充了了未知的未知的元素,元素,填补填补了文档中的了文档中的空白空白;v分析员对系统的认识是一个分析员对系统的认识是一个螺旋式螺旋式上升的过上升的过程。程。细化数据流图细化数据流图v为了追踪更详细的数据流,应该把数据流图为了追踪更详细的数据流,应该把数据流图扩展到扩展到更低的更低的层次;层次;v通过追踪这些细化的数据流图产生了通过追踪这些细化的数据流图产生了新的问新的问题
17、题,新的问题的答案可能在,新的问题的答案可能在数据字典数据字典中增加中增加新的条目,并且将产生新的条目,并且将产生新的算法新的算法;v功能分解功能分解可以完成数据流图的细化;可以完成数据流图的细化;v细化过程中注意细化过程中注意及时的更新数据字典及时的更新数据字典;书写文档书写文档v需求规格说明需求规格说明v数据要求数据要求v用户系统描述用户系统描述v修正的开发计划修正的开发计划需求分析的过程示图需求分析的过程示图面向数据流方法的分析的应用面向数据流方法的分析的应用仓库管理员仓库管理员采购员采购员定货系统定货系统事务事务定货报表定货报表来源、数据组来源、数据组成是什么?成是什么?来源来源:由哪
18、个加工产生或从哪个文件读出?:由哪个加工产生或从哪个文件读出?数据组成数据组成:数据字典应该如何设计,大概有哪些:数据字典应该如何设计,大概有哪些数据项?数据项?面向数据流方法的分析的应用面向数据流方法的分析的应用名字:定货报表别名:定货信息描述:每天一次送给采购员的需要定货的零件表定义:定货报表=零件编号+零件名称+定货数量+目前价格+主要供应商+次要供应商位置:定货报告定货信息库存清单逐一确定元逐一确定元素的来源素的来源面向数据流方法的分析的应用面向数据流方法的分析的应用仓库管理员仓库管理员采购员采购员1处理处理事务事务2产生产生报表报表事务事务定货报表定货报表库存清单库存清单D1定货信息
19、定货信息D2123456包含零件编号、包含零件编号、名称、目前价格名称、目前价格形成定货数量形成定货数量面向数据流方法的分析的应用面向数据流方法的分析的应用仓库仓库管理员管理员采购员采购员接收接收事务事务2产生产生报表报表事务事务定货报表定货报表库存清单库存清单D1定货信息定货信息D2更新更新库存库存处理处理定货定货事务事务库存信息库存信息12356487供应商信息供应商信息D33.2.3 3.2.3 简易的应用规格说明技术简易的应用规格说明技术v前两种方法中,用户比较被动前两种方法中,用户比较被动v它是一种它是一种面向团队的面向团队的需求收集方法,是一种需求收集方法,是一种主流主流技术技术v
20、它提倡用户与开发者密切合作、共同标识问它提倡用户与开发者密切合作、共同标识问题、提出解决方案,确定基本需求题、提出解决方案,确定基本需求简易的应用规格说明技术流程简易的应用规格说明技术流程初步访谈初步访谈待解决问待解决问题的范围题的范围和方案和方案召开讨论会召开讨论会是否需要这个是否需要这个软件以及对需软件以及对需求进行组合求进行组合针对每个议题制针对每个议题制定一统一的需求定一统一的需求列表列表分会讨论分会讨论单独议题需求单独议题需求列表的讨论列表的讨论汇总需求汇总需求完整的需求规完整的需求规格说明书格说明书3.2.4 3.2.4 快速原型法快速原型法v快速建立起来的旨在演示目标系统主要功能
21、快速建立起来的旨在演示目标系统主要功能的的可运行的程序可运行的程序。v它是它是最准确最准确、有效有效和和强大强大的需求分析技术。的需求分析技术。v基本特性:基本特性:快速:快速:快速的提供给用户一个可运行的软件;快速的提供给用户一个可运行的软件;容易修改:容易修改:根据用户的要求可迅速构建新的原型;根据用户的要求可迅速构建新的原型;3.3 3.3 分析建模与规格说明分析建模与规格说明v模型模型,就是为了理解事物而对事物做出,就是为了理解事物而对事物做出的一种抽象,是对事物的一种的一种抽象,是对事物的一种无歧义的无歧义的书面书面描述。描述。v系统分析员应该从系统分析员应该从不同角度不同角度抽象出
22、目标抽象出目标系统的特性,使用系统的特性,使用精确的表示方法精确的表示方法构造构造系统的模型。系统的模型。数据角度、功能角数据角度、功能角度、行为角度度、行为角度DFD、DD、STD、E-R模型的作用模型的作用现实世界现实世界计算机世界计算机世界影射影射模型的作用模型的作用计算机世界计算机世界现实世界现实世界结结构构化化开开发发方方法法结构化结构化分析分析结构化结构化设计设计结构化结构化编程编程OOAOODOOP面面向向对对象象开开发发方方法法结构化分析模型的组成结构结构化分析模型的组成结构数据流图数据流图数据流图数据流图 (DFDDFD)E-RE-R图图图图状态转换图状态转换图状态转换图状态
23、转换图(STDSTD图图图图)加加工工说说明明控制说明控制说明数数据据对对象象说说 明明数据字典数据字典(DD)面向对象分析模型的组成结构面向对象分析模型的组成结构对象对象对象对象-关关关关系模型系模型系模型系模型类类类类/对象对象对象对象 模型模型模型模型对象对象对象对象-行为模型行为模型行为模型行为模型使用实例使用实例(Use Case)(Use Case)操作、操作、属性、属性、协作者协作者3.3 3.3 分析建模与规格说明分析建模与规格说明v结构化分析方法的创建的几个主要模型及关结构化分析方法的创建的几个主要模型及关键元素如下:键元素如下:数据模型:数据模型:E-RE-R图(图(E-R
24、DE-RD)(本章介绍)(本章介绍)功能模型:数据流图(功能模型:数据流图(DFDDFD)行为模型:状态转换图(行为模型:状态转换图(STDSTD)(本章介绍)(本章介绍)数据字典:模型中心(数据字典:模型中心(DDDD)v根据上述模型整理出软件需求规格说明书根据上述模型整理出软件需求规格说明书3.4 实体实体-联系图联系图v信息模型信息模型,或,或概念性数据模型概念性数据模型。v现实世界的现实世界的数据抽象数据抽象,它是真实世界的最好,它是真实世界的最好反映,它完全依赖于反映,它完全依赖于用户的角度(语义)用户的角度(语义)。v信息系统数据库分析与设计的信息系统数据库分析与设计的基础,也是数
25、基础,也是数据建模的基础据建模的基础。3.4.1 3.4.1 数据对象数据对象v它是指用一系列的它是指用一系列的属性和性质属性和性质对现实中的事对现实中的事物加以更加形象的描述。物加以更加形象的描述。v它也称为它也称为实体实体,可以是有生命的或没有生命,可以是有生命的或没有生命的。的。v实体之间实体之间不是孤立不是孤立的。的。v注意注意区分区分面向对象中的面向对象中的“对象对象”和和ERER中的中的“数据对象数据对象”。3.4.1 3.4.1 数据对象数据对象v它的范畴很大,可以是它的范畴很大,可以是外部实体外部实体(例如,产生例如,产生或使用信息的任何事物或使用信息的任何事物)、事物事物(例
26、如,报表例如,报表)、行为行为(例如,打电话例如,打电话)、事件事件(例如,响警报例如,响警报)、角色角色(例如,教师、学生例如,教师、学生)、单位单位(例如,会计例如,会计科科)、地点地点(例如,仓库例如,仓库)或或结构结构(例如,文件例如,文件)等。等。v总之,可以总之,可以由一组属性来定义由一组属性来定义的实体都可以的实体都可以被认为是数据对象。被认为是数据对象。3.4.2 3.4.2 属性属性v数据对象的基本属性,它是数据对象的基本属性,它是原子原子的。的。v关键字属性关键字属性是什么?是什么?v属性的确定要依据属性的确定要依据实际的软件问题实际的软件问题。(。(究竟究竟是否为属性或究
27、竟是什么属性?是否为属性或究竟是什么属性?)3.4.2 3.4.2 联系联系v实体之间是存在联系的实体之间是存在联系的1:11:11:N1:NM:NM:Nv联系也可以有属性联系也可以有属性“化学制品跟踪系统化学制品跟踪系统”实体联系实体联系图图化学制品仓化学制品仓库存货清单库存货清单化学制品容器化学制品容器存储存储执行执行化学制品化学制品请求请求1MM13.5 3.5 数据规范化数据规范化v概念模型转化为数据模型后考虑的问题概念模型转化为数据模型后考虑的问题v数据库中范式的定义数据库中范式的定义第一范式:原子属性第一范式:原子属性第二范式:消除部分函数依赖第二范式:消除部分函数依赖第三范式:消
28、除传递函数依赖第三范式:消除传递函数依赖3.6 3.6 状态转换图状态转换图v通过通过描绘系统的状态描绘系统的状态及引起系统状态转换的及引起系统状态转换的事件事件,来表示系统的行为。,来表示系统的行为。例如:上课铃响了,同学们应该进入教室准备上例如:上课铃响了,同学们应该进入教室准备上课。课。v状态图还指明了作为状态图还指明了作为特定事件特定事件的结果,系统的结果,系统将做哪些动作将做哪些动作(例如,处理数据例如,处理数据)。3.6.1 3.6.1 状态状态v状态代表系统的行为模式;状态代表系统的行为模式;v它规定了系统对事件的响应方式;(它规定了系统对事件的响应方式;(3种)种)改变状态(改
29、变状态(绝大多数的系统都如此响应绝大多数的系统都如此响应)做动作(完成一定的做动作(完成一定的“操作操作”)既改变状态,又做动作(比较既改变状态,又做动作(比较复杂复杂)3.6.1 3.6.1 状态状态v三种状态类型:三种状态类型:初态、终态和中间态初态、终态和中间态v状态图可表示状态图可表示循环运行循环运行过程以及过程以及单程运行单程运行过过程。程。3.6.2 3.6.2 事件事件v某个某个特定时刻特定时刻发生的发生的“事情事情”。v它是对引起系统做动作或它是对引起系统做动作或(和和)从一个状态转从一个状态转换到另一个状态的换到另一个状态的外界事件的抽象外界事件的抽象。v它是它是控制信息,控
30、制信息,状态是状态是受事件触发受事件触发的。的。3.6.3 3.6.3 基本符号基本符号状态状态1状态变量状态变量1活动表活动表1状态状态2状态变量状态变量2活动表活动表2初始事初始事件件事件表达式事件表达式结束事件结束事件活动表的语法活动表的语法事件名事件名/动作表达式动作表达式事件表达式的语法事件表达式的语法事件说明事件说明守卫条件守卫条件/动作表达式动作表达式3.6.3 3.6.3 基本符号基本符号v活动表的语法格式如下:活动表的语法格式如下:事件名事件名(参数表参数表)/)/动作表达式动作表达式v“事件名事件名”可以是任何事件的名称。可以是任何事件的名称。v在活动表中经常使用下述在活动
31、表中经常使用下述3 3种标准事件:种标准事件:entryentry,exitexit和和dodo。v两个状态之间带箭头的连线称为状态转换两个状态之间带箭头的连线称为状态转换v状态变迁通常是由事件触发的,箭头线上标状态变迁通常是由事件触发的,箭头线上标出触发转换的出触发转换的事件表达式事件表达式3.6.3 3.6.3 基本符号基本符号v事件表达式的语法如下:事件表达式的语法如下:事件说明守卫条件动作表达式事件说明守卫条件动作表达式v事件说明的语法为:事件名事件说明的语法为:事件名(参数表参数表)。v守卫条件守卫条件是一个布尔表达式。是一个布尔表达式。v动作表达式动作表达式是一个过程表达式,当状态
32、转换是一个过程表达式,当状态转换开始时执行该表达式。开始时执行该表达式。3.7 其他图形工具其他图形工具v层次方框图层次方框图vWarnierWarnier图图vIPOIPO图图3.7.1 层次方框图层次方框图v用用树型结构树型结构描述的一系列描述的一系列多层次多层次的图形;的图形;v顶层只有一个方框代表顶层只有一个方框代表完整的数据结构完整的数据结构;v下面各层代表下面各层代表这个数据的子集这个数据的子集;v最底层代表不能再分割的实际的数据元素;最底层代表不能再分割的实际的数据元素;一个层次方框图的例子一个层次方框图的例子产品产品硬件硬件软件软件服务服务处理机处理机存储器存储器外设外设系统系
33、统软件软件应用应用软件软件软件软件服务服务硬件硬件维修维修培训培训操作操作系统系统编译编译程序程序软件软件工具工具3.7.2 Warnier 图图v它也是表示它也是表示信息层次结构信息层次结构的图形工具;的图形工具;v它可以指出它可以指出信息量是重复出现的或有条件信息量是重复出现的或有条件出现出现的;的;v图形包括:图形包括:用来区分数据结构层次的用来区分数据结构层次的花括号花括号表明一类信息或一个数据元素在一定条件下出现的表明一类信息或一个数据元素在一定条件下出现的异或号异或号名字后面的数字表示信息类在数据结构中名字后面的数字表示信息类在数据结构中重复的次重复的次数数。一个一个Warnier
34、图的例子图的例子软件产品软件产品系统软件系统软件操作系统(操作系统(P1)编译程序(编译程序(P2)软件工具软件工具编辑程序(编辑程序(P3)测试驱动程序(测试驱动程序(P3)设计辅助工具(设计辅助工具(P3)应用软件应用软件+3.7.3 IPO图图vINPUT/PROCESS/OUTPUTINPUT/PROCESS/OUTPUT(输入(输入/处理处理/输出图)输出图)的简称。的简称。v描述输入数据、输出数据和对数据的处理之描述输入数据、输出数据和对数据的处理之间的关系。(间的关系。(适用任何系统适用任何系统)v软件元素渗透到模型的各个方面。软件元素渗透到模型的各个方面。v需求分析阶段可以使用
35、需求分析阶段可以使用IPOIPO图来图来简要地简要地描述系描述系统的统的主要算法主要算法。传统的传统的IPO图图IPO图IPO图图系统:系统:模块:模块:编号:编号:作者:作者:日期:日期:被调用:被调用:调用:调用:输入:输入:输出:输出:处理:处理:局部数据:局部数据:注释注释列出处列出处理的执理的执行顺序行顺序改改进进的的I IP PO O图图一一个个IPO图图的的例例子子IPO图图系统:系统:模块:模块:编号:编号:作者:作者:日期:日期:订货处理模块订货处理模块可供货处理可供货处理缺货订单暂存缺货订单暂存订货量订货量X相应库存量相应库存量Y供货标志供货标志SupplyIF Y-X0
36、THEN 可供货处理可供货处理ELSE 缺货订单暂存缺货订单暂存END IF文件名:文件名:库存文件库存文件注释注释销售管理系统Armstrong确定能否订货2005/3/10推迟实现推迟实现3.8 验证软件需求验证软件需求v一致性:一致性:不能相互矛盾;不能相互矛盾;v完整性:完整性:规格说明书应包括用户需要的每一规格说明书应包括用户需要的每一个功能或性能个功能或性能;v现实性:现实性:技术上可以实现;技术上可以实现;v有效性:有效性:需求确实能解决用户面对的问题需求确实能解决用户面对的问题;小小 结结v需求分析是软件生命期的一个需求分析是软件生命期的一个重要重要阶段;阶段;v最根本的任务是
37、确定为了满足用户的需求,最根本的任务是确定为了满足用户的需求,系系统需要做什么统需要做什么。v传统传统的软件工程方法学使用的软件工程方法学使用结构化分析方法结构化分析方法。v为了全面了解用户的需要,必须使用适当的方为了全面了解用户的需要,必须使用适当的方法和用户沟通。法和用户沟通。小小 结结v必须仔细地分析系统中的必须仔细地分析系统中的数据流数据流又要分析长又要分析长期使用的数据存储。期使用的数据存储。v数据字典数据字典是是“粘合剂粘合剂”。v分析应该得出用分析应该得出用数据流图、数据流图、ERER图、数据字典图、数据字典和简洁算法和简洁算法描述的详细的系统逻辑模型。描述的详细的系统逻辑模型。v还可使用还可使用层次方框图、层次方框图、WarnierWarnier图图辅助性的描辅助性的描述系统中的数据结构。述系统中的数据结构。vIPOIPO图图描述算法的有效工具。描述算法的有效工具。将分析模型转换为软件设计将分析模型转换为软件设计数据数据字典字典数据数据流图流图E-RE-R图图状态变迁图状态变迁图加加工工规规约约控制规约控制规约数数据据对对描描 述述象象数数 据据 设设 计计体系结构设计体系结构设计接口设计接口设计过程设计过程设计分析模型分析模型设计模型设计模型
限制150内