《构建之法》阅读笔记(4)

《构建之法》阅读笔记(4)

需求分析

软件的需求主要可以通过以下步骤来获取:(1)获取和引导需求;(2)分析和定义需求;(3)验证需求;(4)在软件产品的生命周期中管理需求。

对软件的需求,可以从不同角度来划分:(1)对产品功能性的需求;(2)对产品开发过程的需求;(3)非功能性需求;(4)综合需求。

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

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

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

1.以前老师分配下来的任务,总是扎头就做,从不考虑老师为什么会这么让我们设计成这样,也不会考虑如何能够使得程序更加完善以及程序用户的需要,自己写程序的时候也不会想顾客内心深处的真切需求,就算老师要求,也只会随机应付,给出一个非常不靠谱的结果。

2.阅读第八章有关用户需求的内容之后,我之前的做法显然是不正确的,一个不考虑用户需求的程序,是得不到推广的,也是不会得到拥获的。大化到企业、国家,更是需要在计划一个软件或者工程之前,发放用户调查等获取民意的途径,通过调查的结果来进行软件或者工程的下一步的计划。

3.所以说,我们要想做好一个软件,把一个软件做大、做广,我们首先就必须要学会需求分析,为何要做这个软件,软件的用处在哪儿,软件用户的需求是什么,总而言之,从现在做起,开始分析需求!

原文地址:https://www.cnblogs.com/zhangjiabei/p/6402363.html