软件开发之需求分析(《构建之法》读书笔记3)

    在软件开发的过程中,我们事先需要对需求进行详细的分析。软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

    需求分析有以下几个步骤:

1:获取和引导需求

2:分析和定义需求

3:验证需求

4:在软件产品的生命周期中管理需求

    因为人们为了解决现实社会和生活中的各种问题,要求助于软件。人们的需求五花八门,那么软件如何才能准确而全面地找到这些需求呢?所以需求分析显得格外重要。下面这些定义是需求工程领域中常见术语的定义。软件需求包括三个不同的层次:业务需求、用户需求和功能需求(也包括非功能需求)。
1.业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们
在项目视图与范围文档中予以说明。
2.用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use
case)文档或方案脚本说明中予以说明。
3.功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的
任务,从而满足了业务需求。

    开发软件系统最为困难的部分就是要准确说明开发什么。最为困难的概念性工作便是要编写出详细的技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。如果做错,这将是会最终给系统带来极大损害的一部分,并且以后再对它进行修改也极为困难。目前,国内产品的庞杂,一家企业可能有几个系统并立运行,它们之间的接口是系统开发人员最头痛的问题。对于商业最终用户应用程序,企业信息系统和软件作为一个大系统的一部分的产品是显而易见的。但是对于我们开发人员来说,并没有编写出客户认可的需求文档,我们如何知道项目于何时结束?而如果我们不知道什么对客户来说是重要的,那我们又如何能使客户感到满意呢?

    举个例子来说。在中国,360的装机量是十分庞大的。为什么?究其原因,是因为其使用方便。傻瓜式的操作,比如:一键杀毒,一键清理等。这些操作难度低的软件在中国是非常受欢迎的。对于我们计算机专业的学生来说,我们从中学到了做软件,要满足顾客的内心深处真切需求。在做软件之前,我们可以进行调研,或者搞一个问卷调查,面向各个不同的阶层,从而了解顾客的真实需求。

原文地址:https://www.cnblogs.com/yibao/p/6399647.html