软件需求分析——阅读笔记
笔记要求:发表一篇阅读笔记,说明本学期《软件需求分析》需要掌握哪些必要的内容?针对每个内容点说出自己的理解,并绘图示意相互之间的关联关系。
读《需求工程——软件建模与分析》有感
今天大致的看了一下这本书,对软件需求分析有了初步的了解,我认为学习软件需求分析需要掌握的内容主要包括五个方面:需求基础与过程、需求获取、需求分析、需求的文档化和验证、需求管理与工程管理。
一、需求的基础与过程
这一部分主要是对软件需求有一个大致的了解,例如需求的概念,不同群体的人们对需求有不同的理解,IEEE对需求的定义:用户为了解决问题或达到某些目标所需要的条件和能力;系统或系统部件为了满足合同、标准、规范或其他正式文档所规定的需求而需要具备的条件或能力。
软件系统通过影响问题域,能够帮助人们解决问题,成为解系统。解系统是问题的解决手段,但是并不是问题的产生地。所以,解系统并不是问题域的一个部分,它们之间存在可以相互影响的接口,以实现交互活动。
功能需求被分为:业务需求、用户需求、系统需求。三者之间有所区别,将用户需求转化为系统需求是一个复杂的过程。
需求工程的过程就是:需求获取、需求分析、需求规格说明、需求验证、需求管理的过程。
二、需求获取
顾名思义,需求获取就是进行需求收集的一个活动,他从人员、资料和环境中得到的系统开发所需要的相关信息。
主要就是需要掌握获取需求的方法,过程。还需要确定项目的前景和范围,掌握面谈、原型、观察与文档审查获取需求的方法。
最后还需要将通过以上方法获取的需求有效的组织起来。
三、需求分析
在需求获取中,需求工程师可以得到关于问题域的描述信息,可是上述被记录在笔录上的内容还是属于现实世界的信息,它们是用户对现实世界的理解和描述,使用的是实际业务的表达方式。总的来说,需求获取得到的信息和需求开发应该建立的软件系统解决方案之间有着很大的差距,因此需要需求分析解决这个差距的需求工程活动。
在这里需要掌握需求分析的根本任务、需求分析技术、需求分析方法、前期需求阶段的建模与分析、需求分析活动。
并通过过程建模、数据建模、面对对象建模来对需求进行更为具体的分析与概括。
四、需求的文档化和验证
需求获取活动收集了需求信息,需求分析活动深入的理解了需求
信息并建立了能够满足用户需要的软件解决方案。在进行需求获取活动和需求分析活动之后,软件系统的需求工程师应该能够就软件的需求和解决方案达成共识,为了保证软件开发的成功,这种共识还需要完整的传递给开发人员。需求规格说明活动就是将需求以及其软件解决方案进行定义和文档化,并传递给开发的工作人员的需求工程活动。
需求的验证包含了验证与确认两方面,需要掌握需求验证的方法。
五、需求管理与工程管理
在需求开发结束后,还需要一种力量保证后续的系统开发活动依照
需求的基线进行展开,从而保障系统的质量。需求管理就是这样的一个管理活动,它们在需求开发之后的产品生命周期中保证需求作用的有效发挥。
除了需求工程过程的建立意外,需求工程过程的改进页是实践中很多阻止迫切需要却难以解决的问题。所以建立有效的需求工程和对需求工程过程进行持续改进的任务都属于需求工程中的过程管理活动。
六、小结
需求获取、需求分析、需求规格说明、需求验证之间有着一定的关
系,获取、分析规格说明和验证这些需求开发活动滨故事以线性、顺序的方式执行,实际上,这些活动之间是相互交织的,整个开发活动也是不断迭代和递增的。