软件需求最佳实践阅读笔记01
通过阅读第一二章,就我所学到的粗略的需求分析的知识,做个记录。首先,对于软件来说,需求应该是构建软件之前发掘出的东西。如果在软件成型后,再发现需求就太晚了。所以很多时候,我们要学会的是发掘客户潜在的需求,并且提出来。比如我们做服装销售系统,我们可能会比他们的老总还要清楚整个的业务流程,从上至下每个流转的细节我们都仔细的了解过。
之前就说过,我们在构造这些产品之前就应该明确需求。但在实际中,需求其实是在不断的变化着的。兴许今天客户没有想到,第二天突然给你打了个电话,想要增加某个在他看来十分微小的要求,但是这可能会造成整个系统很大的改动,矛盾由此产生。为了避免类似这样的事情发生,我们在项目正式开始之前就应该明确系统的上下文范围,明确系统的边界,什么东西是在这个系统范围内的,什么是不属于这个系统的,我们必须要和客户达成一致。就像课堂上提到的除冰车的案例,我们要做的根据天气情况预测道路的结冰情况,然后安排除冰车。这里就应该明确提出,系统会提示应该派出几辆除冰车到哪条道路上去,但是却不包括除冰车具体的调度问题。这就是系统的上下文边界范围。
确定系统的上下文范围后,我们就可以进行网罗知识,构建系统原型和进行场景建模等。场景就是用户故事,用于显示完成特定工作需要的的步骤,向分析师展示工作是如何完成的,哪里会出现异常情况等。场景建模帮助我们更好地进行系统需求分析。就像上学期提到的构建一个网站进行玉石的原石买卖的例子一样,创建用户故事后就会发现老李不是直接与系统产生交互的人,小李才是。所以系统的直接用户是小李,应该对小李进行分析。