软件工程第三章需求分析.ppt
软件工程第第3 3讲讲 需求分析需求分析第第3 3讲讲 需求分析需求分析n3.1 需求分析的目标与任务n3.2 需求分析的一般步骤n3.3 结构化分析描述方法n3.4 结构化分析方法SAn3.5 数据建模与分析n3.6 支持SA的工具S-Designorn3.7 需求分析规格说明书3.1 3.1 需求分析的目标与任务需求分析的目标与任务n需求分析的重要性需求分析的重要性 Standish-GroupStandish-Group对对350350家公司的家公司的80008000个软件项目作过一次调查,个软件项目作过一次调查,其中,其中,31%31%的项目的结局是被取消。的项目的结局是被取消。引致这些项目失败的原因是:引致这些项目失败的原因是:13.1%13.1%不完整的产品要求;不完整的产品要求;12.4%12.4%缺乏用户的参与;缺乏用户的参与;10.6%10.6%缺少资源(人力、财力);缺少资源(人力、财力);9.9%9.9%不现实的期望;不现实的期望;9.3%9.3%高层领导支持不足;高层领导支持不足;8.7%8.7%产品要求与指标的改变;产品要求与指标的改变;8.1%8.1%没有订计划;没有订计划;7.5%7.5%不再需耍该开发中的系统。不再需耍该开发中的系统。其中,与产品需求有关的(其中,与产品需求有关的(1,2,4,1,2,4,和和6 6项)占了项)占了44.1%44.1%。这些数。这些数据突出地显示了软件产品需求在软件开发中的重要性。据突出地显示了软件产品需求在软件开发中的重要性。n需求分析任务需求分析任务准准确确地地定定义义未未来来系系统统的的目目标标,确确定定为为了了满足用户的需求系统必须满足用户的需求系统必须做什么做什么。将将需需求求分分析析成成果果以以“软软件件需需求求规规格格说说明明书书(SRS)(SRS)”的形式表达出来。的形式表达出来。需求分析的目标需求分析的目标软软件件需需求求分分析析的的目目标标是是准准确确理理解解用用户户的的要要求求,进进行行细细致致的的调调查查分分析析,将将用用户户的的非非形形式式化化的的要要求求转转化化为为完完整整的需求定义(需求规格说明)。的需求定义(需求规格说明)。需需求求分分析析阶阶段段研研究究的的对对象象是是项项目目的的用用户户要要求求。要要求求可可能包括:能包括:功能要求功能要求性能要求性能要求运行环境要求运行环境要求数据要求数据要求可靠性要求可靠性要求安全保密要求安全保密要求用户界面要求用户界面要求可移植性需求可移植性需求可复用性需求可复用性需求外部接口要求外部接口要求资源使用要求资源使用要求软件成本消耗与开发进度要求软件成本消耗与开发进度要求其其它它非非功功能能性性的的限限制制和和要要求求,如如法法规规需需求求、质质量量标标准准、验验收收标准、可维护性要求等标准、可维护性要求等功能需求n描述系统所预期的功能和服务,包括功能描述,输入和输出,异常等。n全面,一致,准确 系统能提供适当的文档浏览器供用户在线阅读各类文档。性能需求n应该尽量以可量化、可验证的方式表示。速度每秒处理的事务数 事件响应时间 屏幕刷新频率规模 内存需求量 最大并发响应量 压缩率 可靠性需求n产品在规定的条件下和规定的时间内完成规定功能的能力 失败平均时间无效概率平均失效间隔时间系统对所有输入的磁卡均无法工作,软件必须重启失效率1次/1000天在磁卡未损坏情况下,磁条中的数据无法读出失效率1次/1000个交易可移植性n可移植性是指与软件可从某一环境转移到另一环境的能力有关的一组属性目标系统,数据库依赖于目标的语句比例接口需求n如果新系统需要与已存在的系统一起工作,则已存在的系统接口必须被精确的定义。常见的有两种接口:n过程接口n数据结构接口需求案例alipay_payto.aspn%nINTERFACE_URL=https:/ creatAlipayItemURLnPublic Function creatAlipayItemURL(service,subject,body,out_trade_no,price,quantity,seller_email,show_url,receive_name,receive_address,receive_zip,receive_phone,receive_mobile,buyer_email,discount,logistics_fee_1,logistics_payment_1,logistics_type_1)nn需求分析的主要完成者及其相关角色需求分析的主要完成者及其相关角色系统分析员系统分析员用户用户管理人员管理人员软件开发人员软件开发人员 (1)(1)需求获取需求获取:需求引出、需求引出、问题识别问题识别被开发软件做什么、做到什么程度。被开发软件做什么、做到什么程度。(2)(2)需求提炼需求提炼:分析建模:分析建模主要有主要有2 2类需求:功能性需求和非功能性需求类需求:功能性需求和非功能性需求(3)(3)需求描述需求描述:编写文档:编写文档编编写写软软件件需需求求规规格格说说明明书书SRS SRS(Software Software Requirement Requirement SpecificationSpecification)无无二二义义性性、完完整整性性、可可验验证证性性、一一致致性性、可可修修改改性性、可可跟跟踪踪性、性、非计算机人员能理解、注释非计算机人员能理解、注释编写初步用户手册、验收测试计划、修改软件计划编写初步用户手册、验收测试计划、修改软件计划(4)(4)需求验证需求验证:需求分析评审。:需求分析评审。一致性、现实性、完整性、有效性一致性、现实性、完整性、有效性 3.2 3.2 需求分析的一般步骤需求分析的一般步骤需求获取的复杂性需求获取的复杂性 交流障碍交流障碍用户意见不统一用户意见不统一错误的要求错误的要求提供的信息不完整、不清楚提供的信息不完整、不清楚分析人员或客户理解错误分析人员或客户理解错误需求永远不会稳定需求永远不会稳定(1)需求获取)需求获取需求获取的基本方法需求获取的基本方法 建建立立由由用用户户、分分析析员员、领领域域专专家家组组成成的的联联合合分分析小组。析小组。调查研究调查研究。这是获取需求的最主要的方法。这是获取需求的最主要的方法。分析整理和确认需求分析整理和确认需求。(1)需求获取)需求获取调查研究的方式调查研究的方式 按按用用户户的的不不同同层层次次,分分别别召召开开调调查查会会,了了解解用用户户对对待待开开发系统的想法和建议。发系统的想法和建议。向用户领域专家或在关键岗位上工作的人个别咨询。向用户领域专家或在关键岗位上工作的人个别咨询。实地考察,跟踪现场业务流程。实地考察,跟踪现场业务流程。查阅与待开发系统有关的资料。查阅与待开发系统有关的资料。使用各种调查工具,如数据流图、系统流程图等。使用各种调查工具,如数据流图、系统流程图等。建立原型系统减少分析风险建立原型系统减少分析风险(1)需求获取)需求获取n自己的经验自己的经验 (1)(1)调研前做好必要的相关背景知识准备调研前做好必要的相关背景知识准备(2)(2)拟出一份详细的问题清单拟出一份详细的问题清单可能每天都在改变可能每天都在改变。(3)(3)从从业业务务流流程程入入手手,引引导导客客户户根根据据自自己己的的需需要要进进行分析和介绍行分析和介绍(4)(4)通过用户获取重要的原始资料(如表单,文件)通过用户获取重要的原始资料(如表单,文件)(5)(5)善于聆听,不要强加自己的任何假设善于聆听,不要强加自己的任何假设(2)分析建模)分析建模n主要目标:主要目标:(1)(1)描述用户的需求;描述用户的需求;(2)(2)建立软件设计的基础;建立软件设计的基础;(3)(3)定义可用于软件确认测试的依据。定义可用于软件确认测试的依据。n2 2种分析模型种分析模型结构化分析模型结构化分析模型面向对象分析模型面向对象分析模型n结构化分析模型结构化分析模型n面向数据流进行需求分析的方法n结构化分析方法适合于数据处理类型软件的需求分析n具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。3.3 3.3 结构化分析方法结构化分析方法n 结构化分析模型结构化分析模型3.3.1数 据 流 图 DFD(Data Flow Diagram)数据流:表示被加工数据及其流向。加工(含编号):把输入数据变换成输出数据。数据存储:保存数据。数据源点或终点:信息生产者(数据源点)和信息消费者(数据终点)。源点源点终点终点1A2B3C1Fcefdba数据流图示意图数据流图示意图b2.12.22.3de各班学生用书表各班学生用书表教材存量表教材存量表n数据流图实例数据流图实例例:从用户调查中了解到某高校向学生销售教材的手续是:先由系办公室的张秘书开一购书证明,学生凭证明找教材科的王会计开购书发票,向李出纳员交付书款,然后到书库找赵保管员领书。注意:注意:数据源数据源数据终点数据终点没有输出!没有输出!加工加工加工加工没有输入!没有输入!加工加工加工加工数据源数据源数据终点数据终点数据源数据源数据存储数据存储数据源数据源数据存储数据存储数据存储数据存储数据存储数据存储数据流必须数据流必须起于且起于且/或或止于加工止于加工加工至少有加工至少有一个输入数一个输入数据流和一个据流和一个输出数据流输出数据流3.3.2 E-R3.3.2 E-R模型模型 E-R E-R E-R E-R模型模型模型模型不涉及数据世界的数据结构、存取路不涉及数据世界的数据结构、存取路不涉及数据世界的数据结构、存取路不涉及数据世界的数据结构、存取路径、存取效率等问题。它径、存取效率等问题。它径、存取效率等问题。它径、存取效率等问题。它可以转换成数据库中的可以转换成数据库中的可以转换成数据库中的可以转换成数据库中的数据模型数据模型数据模型数据模型。数据分析建模过程包括:数据分析建模过程包括:概念设计概念设计ER模型模型/EER模型模型逻辑设计逻辑设计把把ER模型模型/EER模型转换成关系模型,用模型转换成关系模型,用SQL表示表示SQL的三种用途的三种用途DDL数据定义数据定义 DML数据操纵数据操纵 DCL数据控制数据控制物理设计物理设计E-RE-R图中表示实体联系的符号如下:图中表示实体联系的符号如下:例例例例:在教学管理中,一个教师可以教零门、在教学管理中,一个教师可以教零门、在教学管理中,一个教师可以教零门、在教学管理中,一个教师可以教零门、一门或多门课程,每位学生也需要学习几门课一门或多门课程,每位学生也需要学习几门课一门或多门课程,每位学生也需要学习几门课一门或多门课程,每位学生也需要学习几门课程。因此,教学管理中涉及的对象程。因此,教学管理中涉及的对象程。因此,教学管理中涉及的对象程。因此,教学管理中涉及的对象(实体)有实体)有实体)有实体)有学学学学生、教师和课程。生、教师和课程。生、教师和课程。生、教师和课程。n n进一步,要确定属性。例如,进一步,要确定属性。例如,1.1.学生具有学号、姓名、性别、年龄、学生具有学号、姓名、性别、年龄、专业(其它略)等属性;专业(其它略)等属性;2.2.课程具有课程号、课程名、学分、课程具有课程号、课程名、学分、学时数等属性;学时数等属性;3.3.教师具有职工号、姓名、年龄、职教师具有职工号、姓名、年龄、职称等属性称等属性;3.3.3 3.3.3 数据词典数据词典DDDD(Data DictionaryData Dictionary)4 4类类数数据据:数数据据项项、数数据据流流、数数据据存存储储、加加工工处处理理精精确确地地、严严格格地地定定义义并并以以字字典典式式顺顺序序将将它它们们组组织织成成词词条条,使使得得用用户户、分分析析员员和和开开发发人人员员有有共共同的理解。同的理解。可可以以使使用用=、+、可可选选、重重复复、(可可有有/可可无无)等符号描述。等符号描述。数据词典的词条中应包含以下信息:数据词典的词条中应包含以下信息:名称名称 别名或编号别名或编号 描述:组成、组织结构描述:组成、组织结构 类型、长度、取值范围等类型、长度、取值范围等 何处使用:使用该词条的加工何处使用:使用该词条的加工 。例例 发票发票数据流名:发票数据流名:发票 别名:无别名:无 组组成成:发发票票=学学号号+姓姓名名+书书号号+单价单价+数量数量+总价总价+书费合计书费合计 何何处处使使用用:由由“审审查查并并开开发发票票”产生;由产生;由“开领书单开领书单”接收接收例例 书费合计书费合计数据项名:书费合计数据项名:书费合计 别名:无别名:无 类型:类型:flaotflaot 取取 值值 范范 围围:00.00-00.00-99.9999.99例例 学号学号数据项名:学号数据项名:学号 别名:无别名:无 组成:学号组成:学号=8=8数字字符数字字符88 取取 值值 范范 围围:20000001-20000001-2999999929999999数据词典数据词典实例实例数据存储名数据存储名:库存记录库存记录 别名别名:无无 简述简述:存放库存所有可供货存放库存所有可供货 物的信息物的信息 组成:货物名称编号生产厂家单组成:货物名称编号生产厂家单价库存量价库存量 组织方式:索引文件,以货物编号为关组织方式:索引文件,以货物编号为关键字键字 查询要求查询要求:要求能够立即查询要求能够立即查询 例例 库存记录库存记录n加工说明加工说明/处理描述处理描述加工说明描述了数据加工的输入,实现加工的过程以及产生的输出。加工说明指明了加工的约束和限制,与加工相关的性能要求,以及影响加工的实现方式的设计约束。n必须注意:必须注意:写加工规格说明的主要目的是要表达“做什么”,而不是“怎样做”,因此不涉及数据结构、算法实现、编程语言等与设计和实现有关的细节。主要的3种描述工具:结构化语言、判定树、判定表n加工说明加工说明(PSPEC)(PSPEC)的一个模板:的一个模板:处理名称:处理名称:处理编号:处理编号:.接收的输入:数据流名或编号、数据存储名或编号接收的输入:数据流名或编号、数据存储名或编号 产生的输出:数据流名或编号、数据存储名或编号产生的输出:数据流名或编号、数据存储名或编号 处处理理描描述述:处处理理策策略略/加加工工逻逻辑辑(结结构构化化语语言言、判判定定树树/表)表)激发条件:什么条件下执行该处理激发条件:什么条件下执行该处理 发生的频度发生的频度 :次:次/小时、次小时、次/天、次天、次/周、次周、次/月月 问题:问题:数数据据词词典典中中的的类类型型、长长度度、取取值值范范围围,以以及及加加工工说说明明中的发生频度对于软件设计有何用处?中的发生频度对于软件设计有何用处?提示:存储设计、数据库提示:存储设计、数据库/数据结构设计、程序设计数据结构设计、程序设计处理名处理名:计算折扣率计算折扣率编号编号:5.3.4:5.3.4激活条件激活条件:收到预订票信息收到预订票信息处理逻辑处理逻辑:计算折扣率计算折扣率 如果算法中包含多重嵌套的条件选择时,用判定表能清晰如果算法中包含多重嵌套的条件选择时,用判定表能清晰地表达条件组合与动作之间的对应关系。地表达条件组合与动作之间的对应关系。判定表判定表 判定树判定树3.3.43.3.4控制流图控制流图(CFD)CFD)与控制说明与控制说明(CSPEC)CSPEC)n适合实时系统的分析适合实时系统的分析n控制流图用来描述进程之间的控制流并刻画系统的行为控制流图用来描述进程之间的控制流并刻画系统的行为特征特征.n与与DFDDFD和和PSPECPSPEC类似类似n和和DFDDFD与与PSPECPSPEC配合使用配合使用DFDDFD用来表示加工模型;用来表示加工模型;CFDCFD用来表示控制模型用来表示控制模型(行为模型行为模型)PSPECPSPEC会引发会引发CSPECCSPEC中描述的状态转换中描述的状态转换CSPECCSPEC中的加工激活信号会作用于数据流图中的加工激活信号会作用于数据流图加工激活信号加工激活信号数据条件数据条件控制输入控制输入控制输出控制输出输入数据输入数据加工模型加工模型PSPECPSPEC控制模型控制模型CSPECCSPEC输出数据输出数据控制输入控制输入CFDCFD和和DFDDFD的关系的关系(1)CFD的符号表示控制信息或事件控制信息或事件引用控制说明引用控制说明q虚线:表示控制流,以区别用实线表示的数据流;虚线:表示控制流,以区别用实线表示的数据流;q短竖线:表示被引用的控制说明短竖线:表示被引用的控制说明(2)CFD的建立n与与DFDDFD的关系的关系具有相同的加工,但显示的是控制流而不是数具有相同的加工,但显示的是控制流而不是数据流。据流。n方法方法在在DFDDFD上去掉所有的数据流箭头;上去掉所有的数据流箭头;在图中加入在图中加入时间和控制信息时间和控制信息,并加上到,并加上到CSPECCSPEC的的引用。引用。例:信号信号半分钟数据半分钟数据光光 电电管管采集采集计数计数传送传送工控工控机机处理处理实时实时数据数据显示显示班数班数据据处理处理半小时数据半小时数据班数据班数据光电管采集光电管采集DFDDFD翻屏翻屏人工驱动信息人工驱动信息时钟时钟半小时半小时半分钟半分钟某型号累加某型号累加物品经过物品经过信号信号半分钟数据半分钟数据光电管光电管采集采集计数计数传送传送工控机工控机处理处理实时数实时数据显示据显示班数据班数据处理处理半小时数据半小时数据班数据班数据光电管采集光电管采集CFDCFD无动作无动作(3)控制说明(CSPEC)nCSPECCSPEC与与PSPECPSPEC的区别的区别CSPEC:仅说明会激活哪些加工仅说明会激活哪些加工;PSPEC:说明某个加工做什么。说明某个加工做什么。nCSPECCSPEC主要描述内容主要描述内容当事件或控制信息被感知时软件如何行动;当事件或控制信息被感知时软件如何行动;作为事件发生的结果,哪些加工将被激活。作为事件发生的结果,哪些加工将被激活。状态迁移图状态迁移图STDSTD的建立的建立3030分分钟钟到到/翻翻屏屏生成最新数据生成最新数据/翻屏翻屏半半小小时时到到/工工控控处处理理半分钟到半分钟到/传送传送空闲空闲/采集采集物品经过物品经过/计数计数采集采集PLCPLC计数计数传送传送工控处理工控处理实时翻屏实时翻屏光电管采集的光电管采集的STDSTD3.4 3.4 结构化分析过程结构化分析过程 为了表达数据处理过程的数据加工情为了表达数据处理过程的数据加工情况,需要采用况,需要采用层次结构层次结构的数据流图。按的数据流图。按照系统的层次结构进行照系统的层次结构进行逐步分解逐步分解,并以,并以分层的数据流图反映这种结构关系,能分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统清楚地表达和容易理解整个系统nSA方法的主要步骤:方法的主要步骤:(1)画出顶层)画出顶层DFD,确定系统边界,确定系统边界(2)由由顶顶向向下下按按功功能能逐逐层层分分解解,根根据据分分析析需需要要画画出各层出各层DFD(3)当不再分解时,建立)当不再分解时,建立DD并对处理进行描述并对处理进行描述(4)建建立立E-R/EE-R、控控制制流流图图CFD、控控制制说说明明CSPEC和状态迁移图和状态迁移图STD等等作为补充作为补充(5)沿沿DFD回回溯溯:从从最最终终的的输输出出数数据据流流出出发发,审审查输入查输入/输出的合理性、一致性、完整性。输出的合理性、一致性、完整性。(6)修改完善)修改完善SRSSA方法的应用例子方法的应用例子问问题题描描述述:教教材材购购销销系系统统。系系统统从从学学生生接接受受购购书书单单,经经处处理理后后把把领领书书单单返返回回给给学学生生,使使学学生生可可凭凭单单到到书书库库领领书书。对对脱脱销销的的教教材材,系系统统用用缺缺书书单单的的形形式式通通知知书书库库;新书进库后,也由书库将进书通知返回给系统。新书进库后,也由书库将进书通知返回给系统。教材购销系统的顶层数据流图教材购销系统的顶层数据流图教材购销系统第二层数据流图教材购销系统第二层数据流图教材购销系统第三层数据流图教材购销系统第三层数据流图“销售销售”的分解的分解教材购销系统第三层数据流图教材购销系统第三层数据流图“采购采购”的分解的分解n教材购销系统教材购销系统评审评审/复审复审例子例子评审评审/复审的意义与作用复审的意义与作用技术上的技术上的管理上的管理上的教材购销系统教材购销系统评审评审/复审:复审:沿沿DFD回溯回溯父子图的平衡父子图的平衡数据流的个数、名称(前例中顶层、第二层、第三层)数据流的个数、名称(前例中顶层、第二层、第三层)加工编号规则加工编号规则层号的体现层号的体现(前例中顶层、第二层、第三层)(前例中顶层、第二层、第三层)数据存储数据存储/文件的出现文件的出现父图父图/子图(前例中顶层、第二层、第三层)子图(前例中顶层、第二层、第三层)交接面(前例中第二层的交接面(前例中第二层的F1、F2;第三层的;第三层的F5)数据守恒数据守恒数据流名称的变化与组成数据流名称的变化与组成n数据守恒数据守恒图图示示中中,如如果果d=i+j则则父父子子图图平衡,或说数据守恒。平衡,或说数据守恒。实实例例:第第三三层层DFDDFD“销销售售”发发票票=学学号号+姓姓名名+书书号号+单单价价+数量数量+总价总价+书费合计书费合计有有效效购购书书单单=学学号号+姓姓名名+书书号号+数量数量 教教材材存存量量表表=书书号号+单单价价+数数量量 各各班班学学生生用用书书表表=系系号号+专专业业和班号和班号+年级年级+书号书号1A2B3C1Fcfdba数据流名称变化示意图数据流名称变化示意图b2.12.22.3ij数据字典数据字典练习:根据下列需求描述,建立分层的练习:根据下列需求描述,建立分层的DFDn(1)(1)对考生送来的报名单进行检查对考生送来的报名单进行检查;n(2)(2)对合格的报名单编好准考证号后将准考证送给考生,并将汇对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站总后的考生名单送给阅卷站;n(3)(3)对阅卷站送来的成绩单进行检查,并根据考试中心制定的合对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者格标准审定合格者;n(4)(4)制作考生通知单制作考生通知单(含成绩及合格含成绩及合格/不合格标志不合格标志)送给考生送给考生;n(5)(5)按地区进行成绩分类统计和试题难度分析,产生统计分析表。按地区进行成绩分类统计和试题难度分析,产生统计分析表。S-Designor5.1是是Sybase公司的产品。公司的产品。ProcessAnlyst:辅辅助助分分析析人人员员构构造造数数据据流流图图,并并自自动动生生成成RTF格格式式的的文文档。该文档可由档。该文档可由WORD访问。访问。DataArchitect:与与分分析析、设设计计人人员员交交互互并并可可构构造造概概念念数数据据模模型型(CDM)即即E-ER图图,从从而而可可以以自自动动生生成成依依赖赖于于某某种种关关系系库库(如如Oracle、Sybase、MS SQLServer等等)的的物物理理数数据据模模型型(PDM),由由 此此 可可 生生 成成 建建 立立 数数 据据 库库 的的SQL(Structured Query Language)脚脚本本。在在CDM和和PDM模模式式下下均均可可自自动动生生成成相相应应的的RTF格格式式的的文文档。档。3.6 3.6 支持支持SASA的工具的工具S-DesignornS-Designor5.1的的ProcessAnlyst界面界面 S-Designor5.1的的DataArchitect界面界面3.7 3.7 需求分析规格说明书需求分析规格说明书 需求分析阶段的最后一个工作就是产生需求需求分析阶段的最后一个工作就是产生需求分析报告,即编写软件需求规格说明书。分析报告,即编写软件需求规格说明书。在美国在美国IEEE830-1998IEEE830-1998号标准和我国国家标准号标准和我国国家标准GB8567-88GB8567-88计算机软件产品开发文件编制指南计算机软件产品开发文件编制指南以及以及GB9385-88GB9385-88计算机软件需求说明编制指南计算机软件需求说明编制指南中,都提出了关于软件需求规格说明的建议内容,中,都提出了关于软件需求规格说明的建议内容,以下给出了一个简化的框架。以下给出了一个简化的框架。n1 1 引言引言 编编写写目目的的、项项目目背背景景、定定义义、专专门门术术语语、缩缩写写词词、参参考资料等。考资料等。n2 2 任务概述任务概述 目目标标、运运行行环环境境、产产品品功功能能、用用户户特特点点、一一般般约约束束、假设和依据。假设和依据。n3 3 数据描述数据描述/数据要求数据要求 数数据据词词典典、静静态态数数据据、动动态态数数据据(包包括括输输入入数数据据和和输输出数据)、内部生成数据、数据约定、数据采集。出数据)、内部生成数据、数据约定、数据采集。n4 4 功能需求功能需求 功能划分、功能描述、输入、加工功能划分、功能描述、输入、加工/处理、输出。处理、输出。n5 5 性能需求性能需求 数数据据精精确确度度、时时间间特特性性(如如响响应应时时间间、更更新新处处理理时时间间、数据转换与传输时间等)等。数据转换与传输时间等)等。n6 6 运行需求运行需求/外部接口需求外部接口需求 用用户户界界面面(如如屏屏幕幕格格式式、报报表表格格式式、菜菜单单格格式式、输输入入输输出出的的相相对对时时间间、功功能能键键的的可可用用性性等等)、硬硬件件接接口口、软软件件接口、通信接口、故障处理。接口、通信接口、故障处理。n7 7 设计约束设计约束 其他标准的约束、硬件的限制等。其他标准的约束、硬件的限制等。n8 8 其他需求其他需求 如如数数据据库库、适适应应性性、可可使使用用性性、安安全全保保密密、可可维维护护性性、可移植性等。可移植性等。3.8 3.8 需求验证需求验证/评审评审Capers JonesCapers Jones提出:分析阶段为防止错误而花费提出:分析阶段为防止错误而花费1 1美元将可以为你修补错误节省美元将可以为你修补错误节省3 3 1 01 0美元美元除分析员之外,用户需求者,开发部门的管理者,除分析员之外,用户需求者,开发部门的管理者,软件设计、实现、测试的人员都应当参加评审工作。软件设计、实现、测试的人员都应当参加评审工作。一般,评审的结果都包括了一些修改意见,待修改一般,评审的结果都包括了一些修改意见,待修改完成后再经评审通过,才可进入设计阶段。完成后再经评审通过,才可进入设计阶段。需求经过评审后就定义了开发工作的基线,这个基需求经过评审后就定义了开发工作的基线,这个基线在客户和开发人员之间就构筑了一个需求约定。线在客户和开发人员之间就构筑了一个需求约定。需求的正确性;需求的正确性;需求的一致性;需求的一致性;需求的可行性需求的可行性;需求的必要性;需求的必要性;需求的可检验性;需求的可检验性;评审的主要内容:评审的主要内容:本讲小结n本讲主要介绍了教材中的第3章的大部分内容。内容主要介绍了需求分析的一般过程,并以SA方法为主,介绍了需求分析的主要步骤。n需求分析是软件工程中最重要的工作。SA方法仍然是一个非常有用的方法。为了深入理解和掌握SA方法,补充了一个可用于需求分析的实用工具S-Designor5.1,配合实例介绍了该工具的主要功能和使用步骤。n把需求分析工具用于实际的需求分析过程,可以极大地提高需求分析的质量和效率。