软件需求分析——阅读笔记5

读《需求工程——软件建模与分析》 第四部分 需求的文档化和验证 有感

  需求获取活动收集了需求信息,需求分析活动深入地理解了需求信息并建立了能够满足用户需要的软件解决方案。而需求规格说明活动就是将需求及其软件解决方案进行定义和文档化,并传递给开发人员的需求工程活动。

  需求规格说明文档是需求规格说明活动的一个核心元素。(1)需求规格说明文档可以成为各方人员之间有关软件系统的协议基准。(2)需求规格说明文档可以成为项目开发活动的一个重要依据。(3)在需求规格说明文档的编写过程中,可以尽早的发现和减少可能的需求错误,从而减少项目的返工,降低项目的工作量。(4)需求规格说明文档可以成为有效的智力资产。

  需求规格说明文档的几个常见读者群体:项目管理者、设计人员和程序员、测试人员、文档编写人员、维护人员、培训人员、律师。为了让文档的编写工作更加顺利,同时也让编写出的文档具有更高的质量,人们倾向于总结、借鉴和复用已有的经验。因此,在编写需求规格说明时,首先要选择一份适合的文档模板。

  软件需求规格说明模板:(1)引言(是对整个软件需求规格说明的概览):a.文档的意图(目的)b.主要内容(范围)c.阅读时的注意事项(定义、首字母缩写和缩略语)、参考文献、组织方式(文档组织)(2)总体描述(从总体上描述影响蟾皮和需求的因素):a.产品前景 b.产品功能 c.用户特征 d.约束 e.假设和依赖 (3)详细需求描述(最多和最重要的部分):a.功能需求 b.性能需求 c.约束 d.质量属性 e.对外接口

  优秀的需求规格说明文档应该具备下面的特性:正确性、无歧义、完备性、一致性、根据重要性和稳定性分级、可验证、可修改、可跟踪。

  在需求验证中,验证有两层含义:验证与确认。要深入的了解验证与确认的实质意义,就有必要在整个软件工程的框架下来理解系统验证的意义。软件开发过程中的完全正确性是可望而不可即的,总还有一些小的偏差和错误发生。所以有在开发过程中发现的偏差和错误都应该在最终的软件产品中得到修正。软件测试时人们最为熟悉和常用的软件质量保证措施。

  和验证活动贯穿于软件开发活动一样,验证活动同样也普遍存在于需求开发活动中。需求验证并不是一个可以一次结束的活动,它可能需要多次、反复地执行验证。执行验证的常见方法有:需求评审、原型与模拟、测试用例开发、用户手册编制、利用跟踪关系和自动化分析。

  评审又被称为统计评审,是指由作者之外的其他人来检查产品问题的方法。在系统验证中,评审时主要的静态分析手段,所以评审也是需求评审的一种主要方法。审查过程中的所有参与者,包括作者,他们的任务都是查找缺陷和对其进行改进的机会。审查组中的成员在审查期间可能扮演下面的角色:(1)组织者,负责整个项目当中审查活动的组织和规划。(2)仲裁者,负责确保整个审查过程的正确进行,协调审查活动。(3)作者,创建或者维护软件需求规格说明文档的人,在评审中作为听众听取评论,并在需要时解答审查人员的问题。(4)阅读人员。(5)记录人员。(6)收集人员。(7)审查人员。

  常见的评审过程可以分为6个阶段:(1)在和规划阶段,作者和仲裁者共同制定审查计划,决定审查会议的次数,安排每次审查会议的时间、地点、参与人员、审查内容。(2)在总体部署阶段,作者和仲裁者向所有参与审查会议的人员描述待审查材料的内容、审查的目标以及一些假设,并分发文档。(3)在准备阶段,审查人员各自独立执行检查任务。(4)审查会议阶段,通过会议讨论,识别、确认和分类发现的错误。(5)返工阶段,作者修改发现的缺陷。(6)在跟踪阶段,仲裁者要确认所有发现的问题都得到了解决,所有的错误都得到了修正。

时间: 2024-08-28 21:23:06

软件需求分析——阅读笔记5的相关文章

软件需求分析阅读笔记

今天读了关于如何做需求分析的博文,学习了软件需求与分析需要掌握的一些内容,下面就做一些总结. 首先要认识到深入地去理解客户的业务,进而想到客户的心坎儿上去,最后做出来的东西必然是客户满意的.第一个举出来东软的例子,东软在做这个项目的时候,整个过程经历了10多次结构性的大变更,局部性的调整更是不计其数.百处程序进行修改.最后这个项目导致的结果是,整个这个项目组的所有成员都离开了东软,常常会听到抱怨客户总是对需求改来改去,那是因为我们对客户的需求没有真正理解清楚时,我们做出来的东西客户必然不满意.不

软件需求分析——阅读笔记6

读<需求工程--软甲建模与分析> 第五部分 需求管理与工程管理有感 在需求开发活动之后,需求基线应该成为后序软件系统开发的工作基础和粘合剂.需求管理在需求开发之后的产品生命周期中保证需求作用的有效发挥.作为需求开发的结果,最终的需求应该被明确和固定,需求基线就是被明确和固定的需求集合,是项目团队需要在,某一特定产品版本中实现的特征和需求集合.需求基线是需求开发过程中的成果总结,他需要在后续的产品生命周期中持续发挥作用.因此,需求基线要以一种持续.恒定和易于项目涉众访问的方式存在,通常的做法是将

UML大战需求分析——阅读笔记04

读<UML大战需求分析>有感04 开发某系统的重要前提是: 这个系统有谁在用? 这些人通过这个系统能做什么事? 一般搞清楚这件事,再画个业务流程图,就能条例清楚的表达系统的需求了.作为一个开发人员,不仅要懂得如何从用户那里获取有用的信息,还要懂得怎么清晰地描述自己的想法,给客户呈现出一个结构完整.功能全面的系统原型.那么,这些必备的画图技巧,就会帮上很大的忙. 用例图是用处非常广泛,使用频率最高的UML图,它用来描述什么角色通过某某系统能做什么事情,关注的是系统的外在表现.系统与人之间的交互.

软件方法阅读笔记(一)

<软件方法>讲的是用UML语言来辅助我们进行软件的从0到1的过程.这个过程的结果并不是最终运行在电脑屏幕上的那个界面,而是一堆图纸,可视化的图纸.是的,确实是图纸.建筑行业有设计和施工图纸,电工行业有设计和实施图纸,城市规划有图纸··· ···任何你看得到的工程都有图纸,你要写的软件居然没有.“图纸在我脑子里呢”,我也曾经说过.直到看到这本书.这本书的直接受众应该有两类人:1.程序员这类人一般的工作思路就是提功能的人说要做什么,嗯嗯哦哦之后,迫不及待的打开编辑器开始写代码,调试,然后发现做完的

《UML大战需求分析阅读笔记》05

我阅读了一个例子,一个软件公司采用.NET技术体系研发了一套电力系统,该系统使用的是SQL SERVER数据库.但安装系统时,客户发现该系统使用的数据库是SQL SERVER时,要求必须使用Oracle,如此一来,软件公司只能修改系统,这样的软件改动工作量是很大的.所以一定会需要软件技术框架,如果忽视了在软件技术框架.软件架构上的要求的话,会给软件后期工作带来想不到的麻烦.很多项目往往在初期就会对技术框架有一定的限制,常见的情况有:1.新项目需要在原系统的基础上开发:2.新项目需要与某些存在的系

林锐——软件思想阅读笔记2

本章作者给我们讲述了可行性分析和需求分析的重要性和其中的一些问题.可行性分析就是要知道这件事情能不能做成功,而需求分析讲的是我们该做什么不该做什么.一般影响可行性分析的因素有经济,技术,社会环境和人 . 经济方面我们首先要考虑成本和收益问题,在考虑这个问题时我们要把成本算仔细,不管是前期还是后期维护我们都要考虑清楚,要不会给你带来很大的麻烦,然后就是短期利益和长期利益的关系了,我们都想短期利益和长期利益兼得,但是鱼和熊掌大部分时间是不能兼得的,所以作为一个有远见的人我们要能为了长期利益而放弃短期

软件需求阅读笔记01

建筑往往是根据设计图来完成的,软件也不例外,一个项目的质量和设计规划图有着密不可分的关系.这之间的联系,简单来说,便是用户和工程师的沟通,用户说出自己的需求来让工程师去实现.而需求包括三个不同的层次--业务需求.用户需求和功能需求,需求使问题变得明确,它是一一指明实现说明的规格说明,描述了系统的行为.特性或属性,是在开发过程中的约束. 需求的质量高低对于程序员来说很重要,实行有效的需求工程管理的组织能火得多方面的好处,其中最大的好处是在开发后期和整个维护阶段的重做的工作大大减少了.正确的需求过程

软件需求阅读笔记

案例: 某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题.她每周都收到一份过期未付款的账户名单.这份报告已经从两年前的250个账户增加到现在的1250个账户. 为了确定那些严重拖欠债务的账户,Liz需要通读这份报告.严重拖欠债务的账户由几个不同的规则确定,每个规则都要求Liz检查客户的一项或几项数据.过去半天的工作量现在增加到了每周三天.即使在确定了严重拖欠债务的账户后,如果没有查阅该账户三年内的历史资料,Liz也不能做出最后的信用决定(例如严厉的催款电话.断绝信用或将这个账户转给一个收

软件需求阅读笔记3

IEEE对需求定义为:①用户为了解决问题或达到某些目标所需要的条件或能力.②系统或系统部件为了满足合同.标准.规范或其他正式文档所规定的要求而需要具备的条件或能力.③对①或②中的一个条件或一种能力的一种文档化表述.通过这个定义了解了需求并不是用户想要的,想实现的,了解了需求本质的内涵. 功能需求是软件系统需求中最常见.最主要和最重要的需求,同时也是最为复杂的需求.功能需求通常体现为三个层次:业务需求.用户需求.系统需求. 业务需求描述了组织为什么要开发系统,满足用户的业务需求.业务需求是用户需要