项目开发之项目分析

1. 分析,明确问题

在软件开发过程中,一般会将软件的生命周期分为:需求分析,设计,实现,测试,维护五个阶段。软件项目的分析,是一个项目的最开始阶段。该阶段的好与坏将直接影响到项目的质量。

需求分析,其主要目的是为了了解用户的问题,通过对问题的了解,进而才能够解决用户的问题。如果用户本身就没有任何问题要解决,那就不存在需要一个项目来辅助解决用户的问题了。

一个软件项目本身是为了让用户的价值得到提升。所谓用户的价值提升,是指,当用户使用上软件之后,从根本上在时间上得到节约。这样,用户可以利用其更多的时间去处理其它事情,这样,用户的时间价值得到更多地利用。

在进行软件分析的时候,需要注意的是,用户的问题是现实的问题。也就是说,分析面对的是现实世界。很多人在分析的时候,会加入非现实的世界,加入计算机的东西。

比如,在做一个软件的时候,会出来一个用户管理员,其主要职责就是管理用户(添加、删除用户)。如果有一个用户管理员,至少说明系统是什么样子的了(已经被设计出来了)。这在分析用户问题的时候,做了与问题无关的事情。实际上是没有明确分析问题这个阶段的职责。把分析问题与给出解决方案合并在一起了。

因而,在分析的时候,特别提醒的是:分析问题是对现实世界中,用户的问题予以明确。

2. 问题是用户的问题

分析问题的入手点就是用户。因为用户最终会使用整个软件,软件的好与坏,都由用户来评价。因而,在进行分析之类,要把所有的用户都考虑一下,每个用户需要从系统中得到什么样的价值提升。是不是有些用户的价值提升了,有些用户的价值反而降低了。这一些问题都是需要在分析的时候重点考虑的。

所以,首先要分析用户,在分析用户的时候,可以将用户分类。分类的原则是,某一类的用户,其在利益观点上是一致的。如:一个销售系统,销售员在利益观点上是一致的,而销售管理层与销售员的利益观点不一样。从而,需要将用户分为两类。

因为用户的各自利益不同,所以在做一个系统的时候,不同的用户会使用系统的不同功能。一般在做一个软件的时候,都是一个大的公司自上而下的要做一个系统的。因而很多时候会存在不考虑下层用户的使用习惯及利益的情况。比如,一个销售系统,可能强调的是销售管理层期望通过系统来掌握销售员的每天销售情况,进而根据客观的销售情况来监督、敦促销售员去做更多的事情。销售员可能不愿意处于被监督的环境去工作。所以,销售员在使用系统的时候会有抵触情绪。

在分析问题的时候,要考虑不同用户的利益。最好的软件,是让所有用户的价值都得到提升。

3. 用户有什么问题

一个软件,可以在以下方面为用户提供辅助:

3.1 快速处理数据

计算机名副其实,就是计算的机器。通过快速地处理数据,用户很快得到想要的结果。这对比曾经的处理方式,是相当地节约时间了。

在计算机没有出来之前,一个简单的计算要花费人的大量时间,从而人们没有更多的时间去考虑计算数据之外的事情。

比如,要计算100以内的所有素数,人工计算的速度与计算机计算的速度根本无法比拼。

3.2 准确处理数据

计算机由于设计精良,在计算数据的时候,很少因为工作劳累而导致容易出错。计算机可以以更少的需求来精确地计算出结果。而让人来计算,需要更高的代价。比如,人要精神状态很佳,情绪非常稳定,在计算的时候才会有更高的正确度。

3.3 有效保存数据

人要将一系列的事情记录下来,要么记在脑子里面,要么记在其它的媒介上(如纸、石头等)。计算机的硬盘是一个高效的记录媒介。并且,访问媒介的效率要比单纯记录在纸上快很多。

计算机的以上功能,可以为用户节约大量时间,提高用户的准确性,让用户可以随时记录或者提取需要了解的内容。

从根本上来讲,用户在使用计算机之后,可以丢掉重复性的劳动,空出时间来去做更有价值的事情。比如,一个高层领导通过销售系统可以在一瞬间就了解全公司的所有销售情况。而不需要能够层层报告最终还得到一个不可靠的销售数据。这样,领导就可以将更多的时候用于考虑公司的长期战略了。

因而,用户的问题就是时间的问题。如,以下问题:

  1. 重复性劳动多
  2. 流程繁琐
  3. 人们的记忆不佳
  4. 对所做的事情缺乏全局了解
  5. 管理层对执行层无法监督

都可以影响用户的时间。也从而说明,要解决用户的问题,根本上就是时间的问题。

4. 现实世界的对象

在分析的之初,要对所有涉及的用户进行分类,考虑用户与现实世界的各个对象是什么样的关系。以销售系统为例,与销售相关的用户可以分类:

  1. 销售员
  2. 销售经理
  3. 销售总监
  4. 总经理

销售经理管理销售员的销售业绩,并完成销售总监的计划,总经理与各个销售总监进行销售分析,制定战略计划。现在的问题是,销售的业绩无法客观地表达,从而对销售的情况无法有客观的了解,影响销售战略的制订。同时,站在总经理层来讲,总经理期望能够有种监督机制来让销售员更加积极地进行销售。从而提升整个公司的销售额。

基于以上的分析,销售总监以上层期望了解销售的实际情况,以便于制定销售计划和战略。同时期望让销售在执行层能够得到更加积极的执行。

对于总监以上的人,关心的是整体数据。进而能够了解各个子机构的执行情况。

对于销售经理,关心的是完成销售计划。进而可以产生以下的对象:

  1. 销售计划
  2. 机构
  3. 销售情况

其中销售情况又可以考虑其细节:

  1. 销售单
  2. 客户
  3. 库存

对于销售而言,是工资,休息时间,进而可以考虑销售所关心的对象:

  1. 工资
  2. 排班(放假时间)

通过对各个用户的分类,以及了解各类用户关注的对象。可以找到现实世界中与问题相关的对象。

在了解完所有的对象之后,再考虑对象与对象之间是什么样的关系:

同时还要考虑各个对象的属性如工资由基本工资,绩效工资组成。销售经理可以对一个销售员的基本工资进行设定,绩效工资由各个销售总监来指定计算规则。

这样,销售经理与销售总监都与工资产生了联系。我们可以在不断的分析中将各种联系都考虑进来。形成一个完整的对当前现实世界进行描述的图景。并且能够借助该图景更加深入地了解问题所丰。

5. 大型项目

对于比较大的软件项目,光是一个图是不能清晰地表达所有的联系的,这时候需要将不同种类的联系分为各个模块。如上例,可以将工资一块分离出来,专门搞清楚工资与什么东西有关联。将排班拿出来,考虑清楚排班与什么有关联。

将各个模块分类之后,可以站在更高的层面去了解问题。也可以给其他人在不同层面去阐述问题。

6. 分析的产出

经历一个分析之后,应该:

  1. 了解涉及的各类用户
  2. 每类用户的问题是什么
  3. 价值最高的问题是什么

这一些都需要以了解用户与对象之间的关系为前提,才可以得到以上分析结果。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值