这学期学了软件需求分析,根据老师所给的资料,我阅读了《软件需求模式》这一本书,这本书很有意思。从这本书的前言中,我了解到了了这本书是要教会我们关于需求的概念,让我们知道什么是需求,然后就是教我们各种关于需求的模式,这本书中有37个需求的模式。每一个模式都是精华,都是先人们的重要成果,便利我们以后的工作。
第1章讲述了什么是需求以及我们应该如何去得到他们。需求的概念:定义系统需要干些什么,而不是怎么去实现。我对需求的理解就是:在需求时要专注于需求本身,到底需要做到什么。想要做好需求分析,就要编写需求规格文档,这个文档是至关重要的,因为它说明了我们系统的目标,及到底需要做什么。需求在总体方案中的位置,一般的开发过程主要包括范围、需求、设计、开发、测试、安装等阶段,而根据规模的不同大小,需求可以大到整个系统,也可以小到一个编码单元。
需求的一些基本原则。
1.定义问题,而不是解决方案。找到我们需要做的东西。
2.定义目标,就是找到我们的系统要去做什么。
3.区分正式部分和非正式部分。其中正式部分就是软件需求的规格,是系统必须做的,而其他部分都是非正式的。
4.避免重复,每一项信息只描述一次。
传统的需求流程:准备——》收集信息——》编写需求规格草稿——》评审规格——》评审后修改。
敏捷开发流程,包括极限需求流程和增量需求流程。极限需求流程要做的就是将需求编成完整的用户故事,然后编成人员按照故事去实现;而增量需求流程,就是前期做尽量少的开发流程,在后期需要什么加什么就可以了。
第2章:描述了需求规格包含哪些东西。需求的6个部分:系统目的、文档目的、需求格式、词汇表、参考书目、文档历史。
系统目的,就是具体描述系统是干什么的,谁将使用它,以及业务目的等。
文档目的,就是说每一篇文档都应该描述它的编写是为了什么,并且在编写文档目的时,还要注意言简意赅,用尽量简洁的语句表达。
需求格式,需求格式就是用来描述需求规格中的正式和非正式部分,描述每一个信息中的条目,解释每个需求是一个可测量的目标。
词汇表,主要是确定每一个术语的含义告知不了解的读者、消除误解及强迫公开一些理解不够渗入的领域概念。
参考书目,就是列出文档中参考的书目和其他来源。
文档历史,用来记录版本的每一个细节,最好以表格的形式。文档的上下文部分,文档上下文部分开始真正的对系统的功能进行概括,读者读完这一部分,应该可以对系统本质有一个大概的了解。文档的范围,文档范围可以用上下文图表示,主要与组件、用户角色、范围边界、系统间接口来实现,并且在每个上下文图后,还应该有相应的文字来描绘每一个组件的功能。