《CH3需求分析.ppt》由会员分享,可在线阅读,更多相关《CH3需求分析.ppt(70页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软软 件件 工工 程程-第第3章章 需求分析需求分析1软件生存周期软件生存周期软件定义软件定义软件开发软件开发软件使用软件使用与维护与维护软件生命周期软件生命周期2第第3 3章章 需求分析需求分析F 开开发发一一个个软软件件系系统统前前,必必须须了了解解用用户户的的期期望和要求望和要求-软件需求软件需求 -需求分析过程需求分析过程F 重要性:重要性:-软件开发的基础和前提软件开发的基础和前提-最终目标软件系统验收的标准最终目标软件系统验收的标准-避免或者尽早剔除早期的错误避免或者尽早剔除早期的错误需求分析需求分析3第第3 3章章 需求分析需求分析需求分析需求分析4F 困难:困难:-片面性片面性
2、,不完全不完全-模糊性模糊性,不准确不准确-不一致性不一致性,歧义等等歧义等等 因此必须使用系统的方法、借助于一系列行之因此必须使用系统的方法、借助于一系列行之 有效的技术和工具进行需求分析有效的技术和工具进行需求分析 需求分析需求分析需求分析需求分析-应用系统复杂,庞大应用系统复杂,庞大5需求分析需求分析需求分析需求分析F 需求分析的任务:需求分析的任务:准确的回答准确的回答“系统必须做什么?系统必须做什么?”仍然回答仍然回答“What”,而不是而不是“How”,但更细致、精确(合同的拟定)但更细致、精确(合同的拟定)需求工程可细分为需求工程可细分为6 6个阶段:个阶段:1.1.需求获取需求
3、获取 4.4.需求分析与规格说明书需求分析与规格说明书 2.2.需求分析与协商需求分析与协商 5.5.需求验证需求验证 3.3.系统建模系统建模 6.6.需求管理需求管理6分析方法都遵守下述准则 尽管目前有许多不同的用于需求分析的结构化分析方法,但是,所有这些分析方法都遵守下述准则:(1)必须理解并描述问题的信息域,根据这条准则应该建立数据模型。(2)必须定义软件应完成的功能,这条准则要求建立功能模型。(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。(4)必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。71.需求分析的任务需求分析的任务1、确定对系统的综合要
4、求、确定对系统的综合要求 功能要求功能要求(functional requirements):系统必须做什么系统必须做什么?性能要求性能要求(performance requirements):做得怎样?做得怎样?例:例:response time,memory,back-up memory,security,运行要求运行要求(operational requirements):运行环境、运行环境、软硬件配置等。软硬件配置等。未来可能的扩充要求未来可能的扩充要求(possible evolution):1.需求分析的任务需求分析的任务8(5)可靠性和可用性需求 系统可靠性、出错故障、异常情况等
5、(6)出错处理与安全需求 对异常等错误,系统应该如何响应:如何检测、如何处理(7)接口需求 接口需求描述应用系统与它的环境通信的格式。常见接口需求有:用户接口需求、硬件接口需求、软件接口需求、通信接口需求等。(8)约束因素等 设计约束或实现约束,限制条件等。如:精度、工具限制、使用的标准等91.需求分析的任务需求分析的任务2、分析数据、分析数据(系统的数据要求系统的数据要求)任何一个软件系统本质上都是信息处理系统,分析系任何一个软件系统本质上都是信息处理系统,分析系统的数据要求建立数据模型统的数据要求建立数据模型建立概念模型建立概念模型(conceptual models):E-R Diagr
6、am形象描绘数据结构形象描绘数据结构:Data Hierarchy,Warnier Diagram,IPO数据结构规范化数据结构规范化(Normalization)3、导出逻辑模型:抽取其、导出逻辑模型:抽取其“做什么做什么”的本质的本质 在综合分析和数据分析基础上,导出系统详细的逻在综合分析和数据分析基础上,导出系统详细的逻辑模型。通常用:数据流图、实体关系图、状态图、数辑模型。通常用:数据流图、实体关系图、状态图、数据字典和主要的处理算法描述这个逻辑模型。据字典和主要的处理算法描述这个逻辑模型。4、修正计划:重估成本、进度等、修正计划:重估成本、进度等101.需求分析的任务需求分析的任务5
7、、开发原型系统、开发原型系统(Prototyping)检验方案的正确性检验方案的正确性系统是否满足需求系统是否满足需求“样机试样机试用用”CDG-系统原型是对系统的主要功能和行为的直观描述系统原型是对系统的主要功能和行为的直观描述112.2.需求分析的步骤需求分析的步骤2.需求分析的步骤需求分析的步骤122.2.需求分析的步骤需求分析的步骤1、调查研究:访谈、情景分析技术调查研究:访谈、情景分析技术(1)沿)沿数据流图数据流图回溯:回溯:数据流图数据流图的输出端是系统的输出端是系统的最终目的。向回确定每个数据元素的来源,的最终目的。向回确定每个数据元素的来源,可加细可加细数据流图数据流图及及数
8、据字典数据字典,并将相关算法记,并将相关算法记录在录在IPO图图中。中。可以先画出高层数据流图,再与用户交流,可以先画出高层数据流图,再与用户交流,逐步分解细化。逐步分解细化。(2)用户复查)用户复查2.需求分析的步骤需求分析的步骤-基本思想基本思想:“自顶向下,逐步求精自顶向下,逐步求精”,抽象和分抽象和分解解132.2.需求分析的步骤需求分析的步骤2、分析与综合、分析与综合(1)问题的具体分析:)问题的具体分析:细化数据流图细化数据流图 加细前后的加细前后的I/O须相同。须相同。分解到须考虑具体实现的代码时即可仃止分解到须考虑具体实现的代码时即可仃止(2)方案的综合)方案的综合2.需求分析
9、的步骤需求分析的步骤143、修正计划:成本和进度的更准确估计、修正计划:成本和进度的更准确估计4、书写文档:、书写文档:需求规格说明书需求规格说明书不需分解不需分解有补充有补充修正修正无补充修正无补充修正分析追踪分析追踪数据流图数据流图用户复查用户复查细细 化化数据流图数据流图需要需要分解分解2.需求分析的步骤需求分析的步骤15需求规格说明书需求规格说明书封面:封面:文档编号文档编号:版版 本本 号:号:文档名称:文档名称:项目名称:项目名称:项目负责人:项目负责人:年年 月月 日日编写:编写:核对:核对:审核:审核:批准:批准:开发单位:开发单位:16需求规格说明书需求规格说明书内容内容:系
10、统规格说明:系统规格说明:系统概貌系统概貌 功能要求功能要求 性能要求性能要求 运行要求运行要求 可能增加的要求可能增加的要求 DFD IPO 数据要求:数据要求:DD Hierarchy 或或 Warnier Diagram 用户系统描述用户系统描述 初步用户手册:从用户的观点考虑系统初步用户手册:从用户的观点考虑系统 系统功能、性能系统功能、性能 使用与步骤使用与步骤 等等修正的开发计划:修正的开发计划:成本估计成本估计 资源使用计划资源使用计划 进度计划进度计划175 5 需求评审需求评审F 任务任务:多方人员一起对多方人员一起对SRS进行复核和评审,以确保进行复核和评审,以确保SRS全
11、面、准确、一致地反映用户需求全面、准确、一致地反映用户需求F 原则原则:-支持各方(用户,需求分析人员、设计人员)共支持各方(用户,需求分析人员、设计人员)共同参与评审工作同参与评审工作2.需求分析的步骤需求分析的步骤18抽象抽象(模型化模型化)源于实验科学源于实验科学,主要要素为数据采集方法和假主要要素为数据采集方法和假设的形式说明设的形式说明,模型的构造与预测实验分析结模型的构造与预测实验分析结果分析果分析.在为可能的算法数据结构和系统结构等构造在为可能的算法数据结构和系统结构等构造模型时使用此过程模型时使用此过程.抽象的结果是概念符号模型抽象的结果是概念符号模型模型模型(model)模型
12、模型:现实世界某些重要方面的表示。现实世界某些重要方面的表示。有时我们使用术语有时我们使用术语“抽象抽象”来表示模型,来表示模型,因为我们从现实世界中因为我们从现实世界中抽象抽象出对我们特别有用的出对我们特别有用的东西。东西。需求分析的步骤需求分析的步骤当前当前系统系统目标目标系统系统物理物理模型模型逻辑逻辑模型模型逻辑逻辑模型模型物理物理模型模型模型化模型化抽象化抽象化具体化具体化实例化实例化怎怎么么做做做做什什么么当前当前系统系统目标目标系统系统需需求求定定义义对象系统模型系统抽象(映射)模型应用模型构造的过程 逻辑模型和物理模型逻辑模型和物理模型uu模型是对对象系统的形式化的特征抽象,概
13、模型是对对象系统的形式化的特征抽象,概括性或近似地表示;括性或近似地表示;uu 构造模型的过程是一个抽象、分析的过程。构造模型的过程是一个抽象、分析的过程。逻辑模型逻辑模型 物理模型物理模型 (本质模型本质模型本质模型本质模型、概念模型概念模型概念模型概念模型)(实施模型、技术模型实施模型、技术模型实施模型、技术模型实施模型、技术模型)现现行行系系统统目目标标系系统统描述重要的业描述重要的业务功能,无论务功能,无论系统是如何实系统是如何实施的。施的。描述现实系统是描述现实系统是如何在物理上实如何在物理上实现的。现的。描述新系统的主描述新系统的主要业务功能和用要业务功能和用户新的需求,无户新的需
14、求,无论系统应如何实论系统应如何实施。施。描述新系统是如描述新系统是如何实施的(包括何实施的(包括技术)。技术)。3 基于数据流的分析方法基于数据流的分析方法3.1 数据流图数据流图(Data Flow Diagram)3.2 画数据流图的原则画数据流图的原则3.3 数据字典数据字典(Data Dictionary)3.4 基于数据流的分析方法基于数据流的分析方法2433.1.1 数据流图数据流图(Data Flow Diagram)F数数据据流流图图(DFD)是是一一种种描描述述数数据据以以及及对对数数据据进行加工转换的图形工具进行加工转换的图形工具F 一个一个DFD主要由以下四个部分组成:
15、主要由以下四个部分组成:-数据流数据流-加工(转换)加工(转换)-外部实体外部实体-数据存储数据存储数据流名称数据流名称转换转换名称名称外部实体名称外部实体名称数据存储名称数据存储名称3333 数据流图数据流图2533.2.2 画数据流图的原则画数据流图的原则F先找先找系统数据的输入输出点,画出外部实体系统数据的输入输出点,画出外部实体3333 数据流图数据流图F确定外部实体的输入输出数据流确定外部实体的输入输出数据流F由由源源点点外外部部实实体体的的数数据据流流出出发发,逐逐渐渐进进行行加加工,完成整个数据流图工,完成整个数据流图F一一张张图图的的处处理理超超过过59个个时时,应应该该进进行
16、行分分层层,把把最最基基本本的的系系统统功功能能做做为为第第0层层,从从第第1层层开开始始对每个模块的功能进行细化对每个模块的功能进行细化26273.33.3 数据字典数据字典(Data Dictionary)F面向数据流分析需要引进面向数据流分析需要引进数据字典数据字典(DD)FDD以以一一种种准准确确、简简洁洁的的方方式式对对DFD中中数数据据流流、外外部实体部实体、数据存储数据存储作说明作说明FDD对对DFD中中的的六六类类元元素素进进行行定定义义说说明明,按按照照元元素素不同,其中的数据条目内容也不相同不同,其中的数据条目内容也不相同-数据流数据流-数据项(数据元素)数据项(数据元素)
17、-数据结构数据结构-数据存储数据存储-处理逻辑(基本加工)处理逻辑(基本加工)-外部实体外部实体4 4 4 4 数据字典数据字典数据字典数据字典283.43.4 基于数据流的分析方法基于数据流的分析方法F DFDDFD是是系系统统中中各各处处理理子子功功能能以以及及它它们们之之间间数数据流动的图形表示据流动的图形表示 -刻划系统功能和行为刻划系统功能和行为F DFDDFD为描述和建模的工具和手段为描述和建模的工具和手段F 如何利用如何利用DFDDFD进行需求分析进行需求分析,描述用户需求描述用户需求?5 5 基于数据流的分析方法基于数据流的分析方法29F面面向向数数据据流流分分析析方方法法运运
18、用用了了抽抽象象和和分分解解的的技技术术.提供一些提供一些经验知识和规则经验知识和规则以指导需求分析以指导需求分析基于数据流的分析方法基于数据流的分析方法5 5 基于数据流的分析方法基于数据流的分析方法30领书单 进书通知 购书单 缺书单 DFD练习练习售书系统售书系统学生教材购销系统书 库保 管员31领书单 进书通知 进书通知 购书单缺书单 案例I:DFD练习售书系统 1销售 2采购书库保管员学生F1教材存量表 F2缺书登记表 32案例案例IIII:工资计算系统的顶层:工资计算系统的顶层(0(0层层)数据流图数据流图33图图4.6 4.6 工资计算系统第一层数据流图工资计算系统第一层数据流图
19、34图4.7 工资计算系统的第二层数据流图(a)“计算工资”子数据流图;(b)“工资转存”子数据流图35图图4.8 4.8 工资计算系统的第三层数据流图工资计算系统的第三层数据流图36F在在分分解解、精精化化过过程程中中,把把生生成成的的数数据据流流、数数据据存存储储、外外部部实实体体在在数数据据字字典典中中加加以以定定义义,对对底层转换在底层转换在小说明小说明中作出描述中作出描述步骤步骤2:2:自顶向下,功能分解自顶向下,功能分解5 5 基于数据流的分析方法基于数据流的分析方法37处理说明处理说明处理逻辑名称:运行控制处理逻辑名称:运行控制 功能功能 If If 是停止命令是停止命令 The
20、n Then 向信息显示提供停止运行信息向信息显示提供停止运行信息 停止系统运行停止系统运行 Else Else 向信息显示提供启动运行信息向信息显示提供启动运行信息 启动系统运行启动系统运行 End IfEnd If 设计约束设计约束 .5 5 基于数据流的分析方法基于数据流的分析方法38案例案例:小型运动会管理系统需求分析:小型运动会管理系统需求分析1.引言引言2.业务分析业务分析 项目设置、比赛日程、运动员信息管理、裁判员信息管理、成项目设置、比赛日程、运动员信息管理、裁判员信息管理、成绩信息管理、成绩汇总与发布、比赛流程、组织机构等绩信息管理、成绩汇总与发布、比赛流程、组织机构等3.需
21、求功能分析需求功能分析 系统登录管理、系统初始设置、项目信息管理、运动员信息管系统登录管理、系统初始设置、项目信息管理、运动员信息管理、成绩信息管理、综合查询、备份与恢复等功能理、成绩信息管理、综合查询、备份与恢复等功能4.数据分析等数据分析等 .5.需求建模需求建模 可用数据流图可用数据流图+数据字典或数据字典或UML的用例图的用例图6.其它等其它等39工厂XX-CIMS生产经营管理部门MIS1/1技术部门工程设计分系统1/2产品设计处CAD2/2-11工艺处CAPP2/2-211生产车间车间自动化分系统1/3系统/功能分解树(结构模型)案例:企业计算机集成制造系统40工厂XX-CIMS客户
22、客户J询价书定单商务报价书货单数据流程图(功能模型)第0层41生产经营管理部门询价书定单MIS1/1技术部门工程设计分系统1/2生产车间车间自动化分系统1/3客户客户J商务报价书货单技术委托报价书产品设计任务书生产指令单设计完工报告技术报价书生产完工报告数据流程图(功能模型)第1层42生产经营管理部门MIS1/1技术部门工程设计分系统1/2生产车间车间自动化分系统1/3客户客户J询价书定单质量问题表售后服务备忘录货单商务报价书技术报价书设计完工报告生产指令单生产完工报告技术委托报价书产品设计任务书数据汇总图(功能模型)43数据字典数据流名称:定单数据流名称:定单 -别名别名:无无 -数据类型数
23、据类型:日期日期 +产品产品 +数量数量 +-作为输出流的转换列表作为输出流的转换列表:-作为输入流的转换列表作为输入流的转换列表:-使用说明使用说明:必须给出各个数据项必须给出各个数据项-解释性说明解释性说明:无无-缺省值缺省值:日期日期 =当日日期当日日期 444 分析阶段所用图形分析阶段所用图形一、实体一、实体-关系图关系图 数据建模时经常使用数据建模时经常使用数据对象数据对象属性属性联系:一对一,一对多,多对多联系:一对一,一对多,多对多数据规范化理论:数据规范化理论:1NF、2NF、3NF45二、状态转换图二、状态转换图1.作用作用:状态转换图状态转换图(简称为状态图简称为状态图)通
24、过描绘系统的状通过描绘系统的状态及引起系统状态转换的事件,来表示系统的态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作结果系统将做哪些动作(例如,处理数据例如,处理数据)。因。因此,状态图提供了行为建模机制此,状态图提供了行为建模机制(动态建模动态建模)UML中的图形之一中的图形之一462.状态状态 状态是任何可以被观察到的系统行为模式,状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可
25、以统对事件的响应方式。系统对事件的响应,既可以是做一个是做一个(或一系列或一系列)动作,也可以是仅仅改变系统动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。本身的状态,还可以是既改变状态又做动作。在状态图中定义的状态主要有:初态在状态图中定义的状态主要有:初态(即初始即初始状态状态)、终态、终态(即最终状态即最终状态)和中间状态。在一张状和中间状态。在一张状态图中只能有一个初态,而终态则可以有态图中只能有一个初态,而终态则可以有0至多个至多个473.事件事件l 事件是在某个特定时刻发生的事情,它是对引起系事件是在某个特定时刻发生的事情,它是对引起系统做动作或统做动作或(和和)
26、从一个状态转换到另一个状态的外从一个状态转换到另一个状态的外界事件的抽象。界事件的抽象。例如,内部时钟表明某个规定的时间段已经过例如,内部时钟表明某个规定的时间段已经过去,用户移动或点击鼠标等都是事件。去,用户移动或点击鼠标等都是事件。l 简而言之,事件就是引起系统做动作或简而言之,事件就是引起系统做动作或(和和)转换状转换状态的控制信息。态的控制信息。l 格式格式:事件名:事件名(参数表参数表)守卫条件守卫条件/动作表达式动作表达式l 标准事件:标准事件:entry(进入一状态时进入一状态时),exit(退出时退出时),do(指定动作指定动作)48图图3.3 状态图中使用的主要符号状态图中使
27、用的主要符号三、其它图形工具三、其它图形工具1.层次方框图层次方框图 层次方框图用树形结构的一系列多层次的矩形层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素的各个框代表组成这个数据的实际数据元素(不不能再分割的元素能再分割的元素)。例如,描绘一家计算机公司全部产品的数据结例如,描绘一家计算机公司全部产品的数据结构可以用图构可以
28、用图3.5中的层次方框图表示。中的层次方框图表示。50图图3.5 层次方框图的一个例子层次方框图的一个例子2.Warnier图图523.IPO图图 IPO图是输入、处理、输出图的简称,它图是输入、处理、输出图的简称,它是美国是美国IBM公司发展完善起来的一种图形工公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的具,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系处理和输出数据之间的关系。5354l需求分析阶段的工作结果是开发软件系统的重要需求分析阶段的工作结果是开发软件系统的重要基础,大量统计数字表明,软件系统中基础,大量统计数字表明,软件系统中15%的错误的错误起源于
29、错误的需求。起源于错误的需求。l为了提高软件质量,确保软件开发成功,降低软为了提高软件质量,确保软件开发成功,降低软件开发成本,一旦对目标系统提出一组要求之后,件开发成本,一旦对目标系统提出一组要求之后,必须严格验证这些需求的正确性。必须严格验证这些需求的正确性。l一般说来,应该从下述一般说来,应该从下述4个方面进行验证个方面进行验证:3.8 验证软件需求验证软件需求3.8.1 从哪些方面验证软件需求的正确性从哪些方面验证软件需求的正确性(1)一致性:所有需求必须是一致的,任何一条需一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。求不能和其他需求互相矛盾。(2)完整性:需求必
30、须是完整的,规格说明书应该完整性:需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。包括用户需要的每一个功能或性能。(3)现实性:指定的需求应该是用现有的硬件技术现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。和软件技术基本上可以实现的。(4)有效性:必须证明需求是正确有效的,确实能有效性:必须证明需求是正确有效的,确实能解决用户面对的问题解决用户面对的问题。1.验证需求的一致性验证需求的一致性l当需求分析的结果是用自然语言书写的时候,除了当需求分析的结果是用自然语言书写的时候,除了靠人工技术审查验证软件系统规格说明书的正确性之靠人工技术审查验证软件系统规格说
31、明书的正确性之外,目前还没有其他更好的外,目前还没有其他更好的“测试测试”方法。方法。l但是,这种非形式化的规格说明书是难于验证的,但是,这种非形式化的规格说明书是难于验证的,特别在目标系统规模庞大、规格说明书篇幅很长的时特别在目标系统规模庞大、规格说明书篇幅很长的时候,人工审查的效果是没有保证的,候,人工审查的效果是没有保证的,l冗余、遗漏和不一致等问题可能没被发现而继续保冗余、遗漏和不一致等问题可能没被发现而继续保留下来,以致软件开发工作不能在正确的基础上顺利留下来,以致软件开发工作不能在正确的基础上顺利进行。进行。3.8.2 验证软件需求的方法验证软件需求的方法l人们提出了形式化的描述软
32、件需求的方法。当软人们提出了形式化的描述软件需求的方法。当软件需求规格说明书是用形式化的需求陈述语言书写件需求规格说明书是用形式化的需求陈述语言书写的时候,可以用软件工具验证需求的一致性的时候,可以用软件工具验证需求的一致性。2.验证需求的现实性验证需求的现实性l为了验证需求的现实性,分析员应该参照以往开为了验证需求的现实性,分析员应该参照以往开发类似系统的经验,分析用现有的软、硬件技术实发类似系统的经验,分析用现有的软、硬件技术实现目标系统的可能性。现目标系统的可能性。l必要的时候应该采用仿真或性能模拟技术,辅助必要的时候应该采用仿真或性能模拟技术,辅助分析软件需求规格说明书的现实性分析软件
33、需求规格说明书的现实性。3.验证需求的完整性和有效性验证需求的完整性和有效性l只有目标系统的用户才真正知道软件需求规格说明只有目标系统的用户才真正知道软件需求规格说明书是否完整、准确地描述了他们的需求。书是否完整、准确地描述了他们的需求。l因此,检验需求的完整性,特别是证明系统确实满因此,检验需求的完整性,特别是证明系统确实满足用户的实际需要,只有在用户的密切合作下才能足用户的实际需要,只有在用户的密切合作下才能完成。完成。l然而许多用户并不能清楚地认识到他们的需要,不然而许多用户并不能清楚地认识到他们的需要,不能有效地比较陈述需求的语句和实际需要的功能。能有效地比较陈述需求的语句和实际需要的
34、功能。l只有当他们有某种工作着的软件系统可以实际使用只有当他们有某种工作着的软件系统可以实际使用和评价时,才能完整确切地提出他们的需要和评价时,才能完整确切地提出他们的需要。l理想的做法是先根据需求分析的结果开发出一个理想的做法是先根据需求分析的结果开发出一个软件系统,请用户试用一段时间以便能认识到他们软件系统,请用户试用一段时间以便能认识到他们的实际需要是什么,在此基础上再写出正式的的实际需要是什么,在此基础上再写出正式的“正正确的确的”规格说明书。规格说明书。l使用原型系统是一个比较现实的替代方法,开发使用原型系统是一个比较现实的替代方法,开发原型系统所需要的成本和时间可以大大少于开发实原
35、型系统所需要的成本和时间可以大大少于开发实际系统所需要的。用户通过试用原型系统,也能获际系统所需要的。用户通过试用原型系统,也能获得许多宝贵的经验,从而可以提出更符合实际的要得许多宝贵的经验,从而可以提出更符合实际的要求。求。l使用原型系统的目的,通常是显示目标系统的主使用原型系统的目的,通常是显示目标系统的主要功能而不是性能。为了达到这个目的可以快速建要功能而不是性能。为了达到这个目的可以快速建立原型系统。立原型系统。为了更有效地保证软件需求的正确性,特别是为了为了更有效地保证软件需求的正确性,特别是为了保证需求的一致性,需要有适当的软件工具支持需保证需求的一致性,需要有适当的软件工具支持需
36、求分析工作。这类软件工具应该满足下列要求:求分析工作。这类软件工具应该满足下列要求:(1)必须有形式化的语法必须有形式化的语法(或表或表),因此可以用计算机,因此可以用计算机自动处理使用这种语法说明的内容;自动处理使用这种语法说明的内容;(2)使用这个软件工具能够导出详细的文档;使用这个软件工具能够导出详细的文档;(3)必须提供分析必须提供分析(测试测试)规格说明书的不一致性和冗规格说明书的不一致性和冗余性的手段,并且应该能够产生一组报告指明对完余性的手段,并且应该能够产生一组报告指明对完整性分析的结果;整性分析的结果;3.8.3 用于需求分析的软件工具用于需求分析的软件工具(4)使用这个软件
37、工具之后,应该能够改进通信状使用这个软件工具之后,应该能够改进通信状况。况。例一:作为需求工程方法学的一部分,在例一:作为需求工程方法学的一部分,在1977年设年设计完成了计完成了RSL(需求陈述语言需求陈述语言)。lRSL中的语句是计算机可以处理的,处理以后把中的语句是计算机可以处理的,处理以后把从这些语句中得到的信息集中存放在一个称为从这些语句中得到的信息集中存放在一个称为ASSM(抽象系统语义模型)的数据库中。(抽象系统语义模型)的数据库中。l有一组软件工具处理有一组软件工具处理ASSM数据库中的信息以产数据库中的信息以产生出用生出用PASCAL语言书写的模拟程序,从而可以检语言书写的模
38、拟程序,从而可以检验需求的一致性、完整性和现实性验需求的一致性、完整性和现实性。例二:例二:1977年美国密执安大学开发了年美国密执安大学开发了PSL/PSA(问问题陈述语言题陈述语言/问题陈述分析程序问题陈述分析程序)系统。系统。l这个系统是这个系统是CADSAT(计算机辅助设计和规格说明(计算机辅助设计和规格说明分析工具)的一部分,它的基本结构类似于分析工具)的一部分,它的基本结构类似于RSL。其中其中PSL是用来描述系统的形式语言,是用来描述系统的形式语言,PSA是处理是处理PSL描述的分析程序。用描述的分析程序。用PSL描述的系统属性放在描述的系统属性放在一个数据库中。一个数据库中。l
39、一旦建立起数据库之后即可增加信息、删除信息或一旦建立起数据库之后即可增加信息、删除信息或修改信息,并且保持信息的一致性。修改信息,并且保持信息的一致性。PSA对数据库对数据库进行处理以产生各种报告,测试不一致性或遗漏,进行处理以产生各种报告,测试不一致性或遗漏,并且生成文档资料并且生成文档资料。PSL/PSA系统的功能主要有下述系统的功能主要有下述4种:种:(1)描述任何应用领域的信息系统;描述任何应用领域的信息系统;(2)创建一个数据库保存对该信息系统的描述符;创建一个数据库保存对该信息系统的描述符;(3)对描述符施加增加、删除和更改等操作;对描述符施加增加、删除和更改等操作;(4)产生格式
40、化的文档和关于规格说明书的各种分析产生格式化的文档和关于规格说明书的各种分析报告。报告。lPSL/PSA系统用描述符从系统信息流、系统结构、系统用描述符从系统信息流、系统结构、数据结构、数据导出、系统规模、系统动态、系统性数据结构、数据导出、系统规模、系统动态、系统性质和项目管理等质和项目管理等8个方面描述信息系统个方面描述信息系统。l 一旦用一旦用PSL对系统做了完整描述,就可以调用对系统做了完整描述,就可以调用PSA产生一组分析报告,其中包括所有修改规格说产生一组分析报告,其中包括所有修改规格说明数据库的记录明数据库的记录l 借助借助PSL/PSA系统可以边对目标系统进行自顶向系统可以边对
41、目标系统进行自顶向下的逐层分解,边将需求分析过程中遇到的数据流、下的逐层分解,边将需求分析过程中遇到的数据流、文件、处理等对象用文件、处理等对象用PSL描述出来并输入到描述出来并输入到PSL/PSA系统中。系统中。PSA将对输入信息作一致性和将对输入信息作一致性和完整性检查,并且保存这些描述信息。完整性检查,并且保存这些描述信息。l PSL/PSA系统的主要优点是它改进了文档质系统的主要优点是它改进了文档质量,能保证文档具有完整性、一致性和无二义性,量,能保证文档具有完整性、一致性和无二义性,从而可以减少管理和维护的费用。数据存放在数据从而可以减少管理和维护的费用。数据存放在数据库中,便于增加
42、、删除和更改,这也是它的一个优库中,便于增加、删除和更改,这也是它的一个优点。点。需求分析与规格说明书的简单格式需求分析与规格说明书的简单格式1、引言、引言2、业务分析与需求描述、业务分析与需求描述3、功能分析、功能分析4、数据分析、数据分析5、行为分析、行为分析6、测试计划、测试计划7、用户初步手册、用户初步手册8、其它资料等、其它资料等68小结小结F 需求分析需求分析是软件工程中是软件工程中最最重要的一个环节重要的一个环节 需求分析需求分析的主要工作是做调查研究,详细、的主要工作是做调查研究,详细、准确的解决系统做什么的问题准确的解决系统做什么的问题 需求分析需求分析的结果要产生一份详尽的需求规的结果要产生一份详尽的需求规格说明书,包括系统详细的数据流图和数据字格说明书,包括系统详细的数据流图和数据字典典需求分析需求分析69作作 业业网上选课系统需求分析报告网上选课系统需求分析报告70