您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 软件需求-第2课-软件需求基础(第1版)
第2章软件需求基础本课主要讨论问题1软件需求的基础理论与应用实践2需求工程解析第2章软件需求基础本课主要讨论问题1软件需求的基础理论与应用实践2需求工程解析第2章软件需求基础软件需求的基础理论与应用实践第2章软件需求基础需求的层次需求的种类良好的软件需求应该具备的特质第2章软件需求基础1软件需求的基础理论与应用实践导言:什么是软件需求,根据调查,许多软件开发人员认为:软件需求就是用户需要实现的功能加上一些非功能方面的需求。上述的理解并不完善。如果对用户所处的业务环境没有建立正确的认识,经常会给我们的工作带来巨大的麻烦。第2章软件需求基础1软件需求的基础理论与应用实践IEEE(美国电气电子工程师学会)软件工程标准词汇表(1997年)将需求定义为:(1)用户解决问题或达到目标所需的条件或能力。(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。(3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。上述标准的定义说明了三个方面的问题:从用户的角度来看,需求是什么?(1)从软件开发者的角度来来看,需求是什么?(2)需求最终以何种形式反映出来?(3)需求就是以一种清晰、简洁、一致且无二义性的方式对一个待开发系统中各个有意义陈述方面的一个集合。第2章软件需求基础1软件需求的基础理论与应用实践对软件需求的理解需求定义了系统必须具备的能力,这种能力体现了用户的需要和开发者对用户需要的理解。并且通过文档,以标准的语言标明这些需要的确切含义。将这些系统按照一定的规范记录下来、组织起来、以便跟踪他们的变更。第2章软件需求基础1软件需求的基础理论与应用实践从实践的角度来看,软件需求一般可以定义为:软件需求包含业务知识、问题列表和其他相关因素。业务知识:业务事件、业务实体、业务规则;问题列表:用户在工作中遇到的困难和障碍(软件开发时需要解决的问题);其他相关因素:设计约束和非功能方面的需求。对软件需求的理解第2章软件需求基础1软件需求的基础理论与应用实践在实际工作中,编写需求规格说明书是常常会看到一下几个名词:业务需求、软件需求、用户需求。实际上上述名词反映了需求的三个层次。需求的层次第2章软件需求基础1软件需求的基础理论与应用实践需求的三个层次及关系业务需求业务需求反映企业/组织对软件系统的高层次目标需求,也就是说是软件需求的建设目标。通常这一目标体现在两个方面。问题:解决企业/组织运作过程中遇到的问题,例如销售下降、物质供应问题、用户投诉、客户流失率居高不下等。机会:抓住外部环境变化(业务、技术)所带来的机会,以便为企业带来新的发展,例如电子商务,网上银行、协同工作等。第2章软件需求基础1软件需求的基础理论与应用实践系统建立的战略出发点,表现为高层次的目标(Objective),它描述了组织为什么要开发系统为了满足用户的业务需求,需求工程师需要描述系统高层次的解决方案,定义系统应该具备的特性(Feature)参与各方必须要对高层次的解决方案达成一致,以建立一个共同的前景(Vision)特性说明了系统为用户提供的各项功能,它限定了系统的范围(Scope)软件需求的三个层次及关系业务需求理解第2章软件需求基础1软件需求的基础理论与应用实践软件需求的三个层次及关系业务需求作用意义业务需求的提出人通常是企业/组织的高层管理人员。业务需求是彻底从业务角度描述的,是指导软件开发的高层需求。明确地定义业务需求,将给整个团队指出努力的方向,这对整个开发活动将有积极的意义业务需求建立的时间业务需求往往是在项目立项阶段整理完成的,通常体现在战略规划报告,或者立项建议报告中。第2章软件需求基础1软件需求的基础理论与应用实践软件的生存周期问题定义可行性研究需求分析软件设计编码测试维护计划时期开发时期运行时期产品:战略规划报告业务需求-高层次需求第2章软件需求基础1软件需求的基础理论与应用实践问题与机会业务需求实例1-广东地税业务需求第2章软件需求基础1软件需求的基础理论与应用实践实例1-广东地税业务需求广东地税业务战略要点1依法治税2为纳税人服务3加强内部监控,促进廉政建设4增强税收系统的决策支持能力5降低税收成本,提高税收工作效率在目前税收环境尚不完善,纳税人的纳税意识有待加强的实际情况下,有必要在依托现代信息系统的基础上加强对税源的监控,为真正的应收尽收、依法征税打下基础,也为稽查工作提供数据来源。值得指出的是,依法治税也意味着稽查工作在相当长一段时间内仍然是税务机关的工作重点。从税务机关的角度看,纳税人的权益包括透明的税法信息、方便的咨询服务、多渠道纳税服务、多手段纳税信息的查询等。这一切更应该以及时、公开的方式向纳税人公布,并结合各方意见定期更新除了加强内部监督与廉政教育之外,更重要的是从制度上和管理手段上尽可能地减少税收执法的随意性以及滥用权力现象的发生。采取征、管、查分离的方式。内部监控的加强往往涉及机构与岗位职能、职业操守准则、考核机制、业务流程、信息系统等多方面的因素,只有综合采用多种管理手段,才能收到好的效果。完整、准确的税收信息对确定税收工作的重点、合理调配资源等决策工作有着非常重要的作用。在反映经济运行状况的各类数据中,税收数据是最为及时、也是相对全面和准确的信息资源,长期以来一直受到政府有关部门的高度重视。税务部门应努力提高税收数据的质量,并深入开展分析和研究工作,为政府宏观经济决策提供更有力的支持。目前全国税务系统在提供准确、及时的税收数据,支持决策方面的能力还很有限。应率先作出有益的积极尝试,让税收信息能够真正为管理和决策提供服务。纳税成本对政府税收政策的制定有重要影响,因此有必要考虑试行收集有关数据,建立相应系统来核算纳税成本、以便为决策支持提供依据,这同时也是为纳税人服务的另一种体现。针对税收工作的效率,仍有很大潜力可挖。如:通过信息技术手段而实现更智能化的稽查选案、更多的申报和缴纳渠道、更快速准确的税收统计分析等第2章软件需求基础1软件需求的基础理论与应用实践需求的三个层次及关系用户需求用户需求是指描述用户使用软件需要完成什么任务,怎么完成的需求。通常是在业务需求定义的基础上通过用户访谈、调查,对用户使用的场景进行整理,从而建立用户角度的需求。用户需求是需求捕获的结果。第2章软件需求基础1软件需求的基础理论与应用实践需求的三个层次及关系用户需求的理解执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够帮助用户做些什么–直接用户–间接用户对所有的用户需求,都应该有充分的问题域知识作为背景支持。•用户需求是从用户角度描述的系统功能需求和非功能需求,通常只涉及系统的外部行为,而不涉及系统的内部特性。•用户需求的描述–原则:应该易于用户的理解。一般不采用技术性很强的语言,而是采用自然语言和直观图形相结合的方式进行描述。–问题:自然语言表达容易含糊和不准确。第2章软件需求基础1软件需求的基础理论与应用实践需求的三个层次及关系用户需求的理解•实例2:图书馆用户需求–用户可以通过Internet随时查询图书信息和个人借阅情况,并可以快捷地查找和浏览所需要的电子资料。•分析:上述需求描述包含了三个不同的需求–用户可以通过Internet随时查询图书信息。–用户可以通过Internet随时查询个人借阅情况。–用户可以通过Internet快捷地查找和浏览所需要的电子资料。•问题:–“随时”和“快捷”是对系统功能的约束,十分模糊。第2章软件需求基础1软件需求的基础理论与应用实践需求的三个层次及关系用户需求的理解第2章软件需求基础1软件需求的基础理论与应用实践需求的三个层次及关系用户需求的特点1零散:用户会提出不同角度、不同层次、不同粒度的需求,并且通常是以一句话的方式提出的。例如,在电信行业,对资费快要用完的用户,可以根据用户的要求通过短信方式将欠费和即将欠费的信息发送给相关用户。2存在矛盾:由于用户往往处于企业/组织的不同层面,所以难免会出现盲人摸象的情况,从而导致需求的片面性,甚至在不同用户之间会持有不同的观点。需要对用户需求进行分析、整理,从而获得比较准确的需求说明第2章软件需求基础1软件需求的基础理论与应用实践需求的三个层次及关系软件需求(系统需求)用户对软件系统行为的期望,一系列的行为联系在一起可以帮助用户完成任务,满足业务需求软件需求可以直接映射为系统行为,定义了系统中需要实现的功能,描述了开发人员需要实现什么将用户需求转化为软件需求的过程是一个复杂的过程–首先需要分析问题领域及其特性,从中发现问题域和计算机系统的共享知识,建立系统的知识模型;–然后将用户需求部署到系统模型当中,即定义系列的系统行为,让它们联合起来实现用户需求,每一个系统行为即为一个系统需求。–该过程就是需求工程当中最为重要的需求分析活动,又称建模与分析活动。第2章软件需求基础1软件需求的基础理论与应用实践软件需求(系统需求)需求的三个层次及关系如前所描述,业务需求具有高层次,比较抽象。用户需求具有零散、存在矛盾的情况。需求分析人员需要按照业务需求的基本要求和指导原则,对用户需求进行分析、整理、提炼等工作,从而生成指导开发的、更精确的软件需求。软件需求是需求分析和建模的产物。第2章软件需求基础1软件需求的基础理论与应用实践需求的三个层次及关系业务需求是需求定义的产物;用户需求是需求捕获的结果;软件需求是需求分析和建模的综合。第2章软件需求基础1软件需求的基础理论与应用实践需求的三个层次及关系关系业务需求项目视图/范围文档用户需求用例文档软件需求功能需求质量属性其他非功能需求非功能需求设计约束SRS第2章软件需求基础1软件需求的基础理论与应用实践软件需求的三种类型软件需求可以分为:功能需求、非功能需求设计约束第2章软件需求基础1软件需求的基础理论与应用实践软件需求的三种类型功能需求•功能需求–描述系统应该提供的功能或服务,通常涉及用户或外部系统与该系统之间的交互,一般不考虑系统的实现细节。•实例3:图书馆系统功能需求–用户可从图书资料库中查询或选择其中的一个子集。–系统可提供适当的浏览器供用户阅读电子文献。–用户每次借阅图书应该对应一个唯一的标识号,它被记录到用户的帐户上。第2章软件需求基础1软件需求的基础理论与应用实践软件需求的三种类型功能需求理解对于功能需求而言,最为关键的是任何对其进行组织,否则一句话、一句话地描述就会显得十分零散,而且难以保证开发人员逐一满足这些需求。传统的需求开发方法中,通常会以软件系统----子系统----模块----子模块的层次结构来组织。其问题是采用该方法更多地是从程序的结构来梳理需求,问题是可能将用户的使用场景割裂开来。现代需求理论更强调需求分析人员从用户的角度,将系统理解为一个黑盒子,从使用角度来整理需求,不管是RUP或者是XP方法都是如此。当然也不是说这样的方式就不存在问题,比如可能存在组织混乱的情况。功能需求的要点在于如何组织第2章软件需求基础1软件需求的基础理论与应用实践软件需求的三种类型非功能需求•非功能需求–从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求,例如响应时间、数据精度、可靠性、开发过程的标准等。•实例4:图书馆系统非功能需求–系统应在20秒之内响应所有的请求。–系统每周7天、每天24小时都可以使用。–对于一个没有经验的用户而言,经过两个小时的培训就可以使用系统的所有功能。第2章软件需求基础1软件需求的基础理论与应用实践软件需求的三种类型非功能需求非功能需求可以考虑的组织方式第2章软件需求基础1软件需求的基础理论与应用实践软件需求的三种类型非功能需求理解非功能需求常见的问题主要有:信息传递的无效性;忽略了非功能需求的局部性。信息传递的无效性:许多需求规格说明书中,会通过一个名为设计原则的章节来说明非功能需求,列出诸如高性能、高可靠性、高可用性、高可扩展性等要求。实际应用中,多数开发人员根本就不去考虑这些问题。因为对这样的非功能描述没有判定标准,由此这类传递的信息是无效的。忽略了非功能需求的局部性:通常可以看到的非功能需求,
本文标题:软件需求-第2课-软件需求基础(第1版)
链接地址:https://www.777doc.com/doc-6350015 .html