您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第3章软件需求分析.
清华大学出版社(第2版)第3章软件需求分析上海高校精品课程主编普通高等院校规划教材国家十三五重点出版规划项目上海市高校优秀教材奖主编目录3.2软件需求分析的任务及过程23.3软件需求分析描述工具33.4软件需求分析方法43.1软件需求分析概述13.5软件需求分析文档53.6实验三需求分析文档与PD建模63.7本章小结8教学目标及重点●理解软件需求分析的概念和特点、目的和原则。●熟悉软件系统需求分析的任务及步骤●掌握软件需求分析描述工具,学会编写“软件需求说明书”。重点重点教学目标上海市高校优秀教材奖上海高校精品课程主编3.1软件需求分析概述3.1.1软件需求分析的概念及特点1.软件需求分析的重要作用软件需求分析是软件项目立项决定开发后的首要工作,在整个软件研发过程中的重要基础和依据,也是“万事开头难”的首要环节,由于需求分析的特点和难度,对整个项目的开发成败和质量影响极大。国内外很多软件项目开发失败的原因,绝大部分都是需求分析问题所致。软件开发人员在大量的开发教训中,深刻认识到需求分析在软件开发中极为重要。汽车零部件供销存软件的需求分析质量决定产品的成败。某软件研发机构在进行软件的需求分析时,由于软件需求分析师调研不够深入细致,而且与用户忽略了沟通确认细节及需求变更,导致软件开发后,一些功能和性能不能很好地满足用户需要,导致赔款和软件返工,对研发机构产生不良影响且造成极大浪费。案例3-13.1需求分析概述2.软件需求分析的概念软件需求分析(RequirementAnalysis)也称为软件需求、系统需求分析或需求分析工程等。是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统“必须做什么?”的过程。Boehm对软件需求定义:研究一种无二义性的表达工具,它能为用户和软件人员双方都接受并将“需求”严格地、形式地表达出来。3.软件需求分析的特点需求分析的特点及难点,主要体现5个方面:(1)指标确定难。复杂性-业务变化-因素多(2)需求动态性。(3)交流共识难。(4)完备一致难。(5)深入完善难。3.1需求分析概述3.1.2软件需求分析的目的和原则1.软件需求分析的目的及重点需求分析主要目的用于获取用户和项目的具体需求,通过对实际需求的获取、分析、文档化和验证等需求分析过程,为进一步的设计和实现提供依据:(1)需求划分。将软件功能、性能、可靠性等相关需求进行分类、逐一细化。(2)面向用户和项目获取并分析需求。(3)检查和解决不同需求间的矛盾。尽量达到均衡和优化。(4)确定软件边界接口,软件环境的运行方式及影响等。(5)对需求文档化并进行最后验证与确认。3.1需求分析概述需求分析的重点:通过分析业务流程和数据流程等手段,达到与客户共同确定业务模型、功能模型、性能模型、接口模型等要素。需求分析的关键:在系统的流程、功能、性能和接口等方面,与客户达成完全一致,并且要求客户签字确认。也是需求分析在商务等方面的主要目的。需求分析的变更:需求如有变化,双方必须履行“需求变更管理规程”,对此规程在签订合同时要做出规定,注意合同的法律效用。3.1需求分析概述2.软件需求分析的原则需求分析的基本原则:(1)侧重表达理解问题的数据域和功能域。(2)需求问题应分解细化,建立问题层次结构。(3)建立模型(业务模型、功能模型、性能模型、接口模型等).1讨论思考:(1)什么需求分析?主要确定新系统什么工作?(2)需求分析的特点主要有哪些?(3)需求分析的目的和重点是什么?(4)需求分析的原则有哪些?规范化、科学化数据流、内容、结构---相应控制信息图表3.2软件需求分析的任务及过程3.2.1软件需求分析的任务1.确定总体目标及组织结构(图)通过调研与分析,确定用户机构的总体目标、组织结构、业务管理方法、处理方式及过程,确定相应的模型。在对网上图书馆信息系统进行调研和分析的基础上,可以画出新系统的组织结构图,并列出各部门的岗位角色表,如图3-1和表3-1所示。岗位编号岗位名称所在部门岗位职责相关业务1011采购员采编部采购、合同签订、选择出版社进货及合同管理1012分编员采编部图书分编协助入库…………………………图3-1图书馆组织结构图表3-1图书馆的岗位角色采编室XX室4图3表5确定案例3-23.2需求分析的任务及过程2.深入领域分析,画出业务流程图一般事务型软件领域分析包括:组织业务调查、组织目标分析、组织机构分析、组织职能分析、业务流程分析和组织实体分析。业务模型表示了与系统有关的人、设备、其他子系统之间的业务关系和费用关系,因此需要在分析的基础上,画出新系统的业务操作流程图,包括物流、资金流、信息流,即业务操作模型,重点是业务操作的流程步骤。3.分析数据流程,画出数据流图需要分析各种业务处理的具体数据内容、结构及流向等属性,并画出目标系统的数据流图,即单据和报表的流程图,掌握业务规则及处理顺序,获得初步数据模型。3.2需求分析的任务及过程4.确定功能需求,完成功能结构图及点列表(1)确定功能需求。包括新系统必须具备的具体功能。(2)画出功能结构图(如下图)。(3)完成新系统的功能点列表,即功能模型。5.获取性能需求,列出性能点列表根据具体系统确定开发软件的性能技术指标,包括软件的效率(运行及上网速度等)、可靠性、安全性、适用性、可移植性、可维护性和可扩充性等方面的需求,还应考虑业务发展的扩展及更新维护等。3.2需求分析的任务及过程网上图书信息系统的部分性能点列表(性能模型),如表3-2所示。案例3-3编号性能名称使用部门使用岗位性能描述输入系统响应输出1读者网上查询图书信息响应时间网上读者网上读者网上查某本书3秒图书名称/作者姓名按照输入的组合条件,进行模糊查询显示“图书名称、作者姓名、是否借出、内容简介”2后台查询读者信息响应时间图书馆借阅部借阅操作员后台查某读者信息2秒读者姓名、编号按照输入的组合条件,进行查询显示“读者姓名、编号、身份证号、电话、借书信息、罚款次数”3后台查询图书信息响应时间图书馆借阅部借阅操作员后台查某部书2秒图书名称/作者姓名按照输入的组合条件,进行模糊查询显示“图书名称、作者姓名、借阅情况、内容简介”表3-2图书馆系统的性能点列表3.2需求分析的任务及过程网上图书馆信息系统的部分接口列表(模型),如表3-3所示。6.明确处理关系,列出接口列表应用软件可能还与机构内部的其他应用软件集成,因此,需要明确与外部应用软件数据交换的内容、格式与接口,以实现数据及功能的有机结合。案例3-4编号接口名称接口规范接口标准入口参数出口参数传输速率1与财务系统接口财务系统规定的接口规范记账凭证与分录的具体格式(1)凭证记录参数:凭证编号、日期、单据张数、借方合计、贷方合计;(2)分录记录参数:凭证编号、日期、借方、贷方、数量、单价、摘要。(1)凭证记录格式:编号、状态、会计期间、凭证字号、日期、单据张数、审核、过账、制单、过账状态、借方合计、贷方合计;(2)分录记录格式:分录编号、凭证编号、摘要、科目代码、结算号、结算日期、结算方式、借方、贷方、数量、单价。一张凭证一次处理传送表3-3目标系统的接口列表(接口模型)3.2需求分析的任务及过程7.确定系统运行环境及界面(需求)8.确定完善开发计划和新系统方案9.验证确认需求,编写需求文档【%注意】上述任务要具体分析,灵活运用。如果需求分析之后,对将要实现的新系统,仍然感到不够明确时,不应签字确认,还需进行进一步深入分析。3.2需求分析的任务及过程3.2.2软件需求分析的过程软件需求分析的过程也称为需求开发,可分为需求获取、综合与描述、需求验证和编写文档等步骤,是一个不断深入与完善的迭代过程,如图3-2所示。通常从用户获取的初步需求存在不够精确、模糊、片面等问题。通过进一步调研、修改、补充、细化、删减、整合和完善,最后得出全面且可行的软件需求。需求分析应有用户参加,随时进行沟通交流,并最终征得用户认可。图3-2需求分析过程3.2需求分析的任务及过程根据实际项目的规模和特点,确定合适的需求分析常规过程如下。1)需求获取2)需求综合与描述3)需求验证4)完成需求文档1讨论思考:(1)需求分析具体任务有哪些?(2)需求分析常规步骤是什么?3.3.1软件需求描述工具概述常用软件需求描述工具包括:业务流程图、功能结构图、数据流图、用况图、状态模型图、用户交互图、对象模型图、数据模型图和功能需求列表、性能需求列表、接口需求列表、界面需求列表等。主要根据实际需要选择工具,取决于问题域的本质特征。需求描述工具的选择和使用,通常与具体需求分析方法和阶段有关。面向过程和面向数据的分析方法,常用的描述工具为:组织机构图、业务流程图、功能结构图、数据流图、数据字典、实体联系图和描述过程与数据U/C矩阵等,如表3-4所示。而面向对象的分析方法,则主要采用UML语言和用例图、活动图等,将在第5章单独进行介绍。3.3软件需求分析描述工具3.3需求分析描述工具表3-4传统分析阶段使用的描述工具分析活动采用的描述工具业务调查及业务流程分析业务流程图组织结构及功能分析组织结构图、功能结构图数据及数据流分析数据流图、数据字典、E-R图*功能/数据分析(略)*U/C矩阵(描述处理过程与数据)面向过程和面向数据的分析方法,常用的描述工具。U(Use)和C(Create)表示处理过程对数据类的使用和产生3.3需求分析描述工具3.3.2业务流程图业务流程图(TransactionFlowDiagram,TFD)是用尽量少的规定符号及连线的图形表示某个具体业务处理过程。TFD易于阅读和理解,是分析业务流程的重要步骤。业务流程分析可以帮助了解某项业务的具体处理过程,发现和处理系统调查工作中的错误和疏漏,修改和删除原系统的不合理部分,在新系统基础上优化业务处理流程。常用的一种TFD基本符号,如图3-3所示。图3-3业务流程图的基本符号3.3软件需求分析描述工具企业投资项目审批过程业务流程图,如图3-4所示。案例3-5图3-4投资项目业务流程图3.3软件需求分析描述工具知识拓展:TFD的画法多种多样,可根据国家或行业规定制定一套统一图形规则。TFD的制作工具,可以是OfficeVisio等。一种直式TFD的绘制图标如图3-5所示。图3-5直式TFD的绘制图标3.3软件需求分析描述工具表3-5数据元素定义数据元素编号:ID001数据元素名称:学号别名:学生标识简述:学生在校的唯一识别代码类型及宽度:字符型,7位取值范围:“0000001”~“9999999”3.3.3数据流图及数据字典1.数据流数据流是指数据通过一个系统时的流向及变化方式,由数据元素构成,其定义可列出所有描述的数据元素。数据元素又称数据项,是数据的最小单位.数据元素定义主要包括:名称、编号、别名、简述、长度及取值范围等,如表3-5所示。数据流如表3-6所示.图3-6数据域中的数据流3.3软件需求分析描述工具符号定义:举例及说明=被定义为+与课程主键=排课序号+课程号m..n界域1..100[…,…]或选择括号内的某一项(法1)[…│…]或选择括号内的某一项(法2){…}重复多次重复(…)可选可出现也可不出现“…”基本数据元素“”其内无需进一步定义表3-6数据流包含的数据结构表示法3.3软件需求分析描述工具高校学生选课数据结构表示法示例。选课申请单=学号+(课程号+选课学期)选课学期=“0001”..“9999”+[“春季”│“秋季”]案例3-6定义数据流时,不仅要说明数据流的名称、组成等,还应表明其来源、去向和数据流量等。表3-7给出了完整的数据流定义。表3-7数据流定义数据流编号:D01-01数据结构名称:选课申请单简述:学生提交选课申请单数据流来源:学生数据流去向:课程注册处理数据流组成:学号+(课程号+选课学期)数据流量:平均100份/小时(仅每学期初)高峰流量:500份/小时(上午9:00-11:00)2.数据流图1)数据流图的概念和作用数据流图(DataFlowDi
本文标题:第3章软件需求分析.
链接地址:https://www.777doc.com/doc-2156023 .html