阅读博客——我们应当怎样做需求分析?
链接地址:http://blog.csdn.net/yqmfly/article/details/7679781
发表一篇阅读笔记,说明本学期《软件需求与分析》需要掌握哪些必要的内容?针对每个内容点说出自己的理解,并绘图示意相互之间的关联关系。
《软件需求与分析》需要掌握哪些必要的内容:
1、需求调研
在我们进行一系列需求调研工作的同时,我们的需求分析工作也开始启动了。需求调研与需求分析工作应当是相辅相伴共同进行的。每次参加完需求调研回到公司,我们就应当对需求调研的成果进行一次需求分析。当下一次开始进行需求调研时,我们应当首先将上次需求分析的结果与客户进行确认,同时对需求分析中提出的疑问交给客户予以解答。这就是一个需求捕获->需求整理->需求验证->再需求捕获的过程。
需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,确定系统的功能需求。这个步骤是对理解需求的升华,直接关系到该系统的质量。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通机制,因此,系统的需求分析也应该是开发人员和用户或客户一起完成的。
拿图书管理系统为例:
<1>系统功能模块划分
根据开发者和客户的需求分析后,可以把系统功能分为两个大的个功能模块:
(1)读者管理模块
包括:读者登记,查询,借书,还书,删除等功能
(2)图书管理模块
包括:图书添加,查询等功能
(3)绘制用例图
2、快速原型法
快速原型法是近年来提出的一种以计算机为基础的系统开发方法,它首先构造一个功能简单的原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最终的软件系统。原型就是模型,而原型系统就是应用系统的模型。它是待构筑的实际系统的缩小比例模型,但是保留了实际系统的大部分性能。这个模型可在运行中被检查、测试、修改,直到它的性能达到用户需求为止。因而这个工作模型很快就能转换成原样的目标系统。
原型法有三个层次:
第一层包括联机的屏幕活动,这一层的目的是确定屏幕及报表的版式和内容、屏幕活动的顺序及屏幕排版的方法;
第二层是第一层的扩展,引用了数据库的交互作用及数据操作,这一层的主要目的是论证系统关键区域的操作,用户可以输入成组的事务数据,执行这些数据的模拟过程,
包括出错处理;
第三层是系统的工作模型,它是系统的一个子集,其中应用的逻辑事务及数据库的交互作用可以用实际数据来操作,这一层的目的是开发一个模型,使其发展成为最终的系统规模。
原型法的主要优点在于它是一种支持用户的方法,使得用户在系统生存周期的设计阶段起到积极的作用;它能减少系统开发的风险,特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显。原型法的概念既适用于系统的重新开发,也适用于对系统的修改;原型法不局限于仅对开发项目中的计算机方面进行设计,第三层原型
法是用于制作系统的工作模型的。快速原型法要取得成功,要求有象第四代语言(4GL)这样的良好开发环境工具的支持。原型法可以与传统的生命周期方法相结合使用,这样会扩大用户参与需求分析、初步设计及详细设计等阶段的活动,加深对系统的理解。近年来,快速原型法的思想也被应用于产品的开发活动中。
3、需求规格说明书
写文档的功底对一个合格的软件人尤为重要!
从理论上讲,需求规格说明书(Requirement Specification)分为用户需求规格说明书和产品需求规格说明书。用户需求规格说明书是站在用户角度描述的系统业务需求,是用于与用户签字确认业务需求;产品需求规格说明书是站在开发人员角度描述的系统业务需求,是指导开发人员完成设计与开发的技术性文档。但是,我认为,用户需求规格说明书与产品需求规格说明书的差别并不大。领域驱动设计所提倡的就是要让用户、需求分析员、开发人员站在一个平台,使用统一的语言(一种混合语言),来表达大家都清楚明白的概念。从这个角度将,需求规格说明书就应当是一个,不区分用户需求规格说明书和产品需求规格说明书。
绘图如下: