首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
首页 | JAVA | C# | VB | VB.NET | C/C++ | delphi | 工程管理 | 其他语言 | 论坛
各大城市软件开发培训、软件人才免费咨询热线:400-700-5807
 您现在的位置: 中国IT实验室 >> 桌面开发 >> 工程管理 >> 正文
需求获取过程中的逆向沟通
来源:ChinaItLab 作者:佚名 时间:2007-4-6

  一、需求的分类 需求分析是构建软件系统的一个重要过程。一般,把需求类型分成三个类型:1、业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目的要求,它们在项目视图与范围文档中予以说明。
 
  2、用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。
 
  3、功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。
 
  业务需求和用户需求是软件需求分析的基础,也是软件构建的前提。系统分析员通过对业务需求和用户需求的分解,将其转换成克一形式化描述的软件功能需求。开发软件系统最为困难的部分,就是准确说明开发什么。这就需要在开发的过程中不断的与用户进行交流与探讨,使系统更加详尽,准确到位。这就需要确定用户是否需要这样的产品类型以及获取每个用户类的需求。
 
  二、需求的质量分解一般情况下,采用如下的手段描述软件需求的质量:正确性:所有需求必须是正确的、合理的、满足任务书要求的。
 
  必要性:所有需求必须是为完成指定任务所必需的。
 
  可行性:在指定的环境和条件下,所有的需求必须是可行的。
 
  完备性:为完成指定任务,这些需求是完备的、无遗漏的。
 
  一致性:所有需求相互之间没有矛盾,是一致的。
 
  非退化:任一需求的引入都不会导致软件性能的退化。
 
  无歧义:任一需求的陈述都是确定的、不会导致多义性的。
 
  可验证:任一需求都是可以测试、可以验证的。
 
  可追踪:人以需求都可以追踪到项目的任务书或规格说明的需求。
 
  三、需求的隐含质量要求除了这些可以量化的质量标准,还有一些需求的标准是隐含的。这些要求及时客户没有提出来,在实现的时候也应该考虑到,否则,可能导致项目的失败。
 
  操作方便:每一个客户都会有操作方面的要求,只是具体的表现方式不一样。一般,客户在开始的时候对操作很难对操作有很具体的考虑,他会想当然个认为新的软件系统会和他以前所熟悉的某一个系统类似。而事实并非如此。当他发现新的软件系统不方便使用的时候,就会提出修改的建议。有的时候,这种修改对软件系统的影响是灾难性的。
 
  可以保证操作质量:一般,系统分析员会认为客户应该勾画出系统运行过程中可能发现的重要风险,然后在系统实现的时候予以考虑。然而,在沟通的过程中,客户认为的重要的风险会和系统分析员所理解的有所不同,而被忽略的一部分,往往是很基本的那部分,因为对于客户而言,这些内容应该是显而易见的;而系统分析员一把并不了解这些事实。例如,在一个管理保险公司客户的系统里面,修改职业是需要严格审核的,如果系统分析员以前接触的业务以电子商务居多,他可能自然而然的认为客户修改职业仅仅是一个一般性的变更。
 
  四、客户对需求的影响目前很多系统分析员在进行需求分析的时候,把主要精力放在了解客户的业务流程,并试图将其用形式化的手段描述。而事实上,这样了解到的客户需求往往是不完整的,甚至具有很大的片面性。除了隐含需求的定义比较困难以外,客户本身也是影响需求质量的一个重要因素。
 
  1、客户有不同的需要。一些客户知道他们需要什么,而另外一些人知道他们不需要什么。一些客户希望进行详细讨论,而另外一些客户则满足于模糊的承诺。
 
  2、客户有不同的个性。
 
  3、客户和供应商之间有着不同的通信方式。一些人非常熟悉产品以及生产厂商,而另外一些人则可能素未谋面,仅仅通过信件往来和几个匆忙的电话与生产厂商沟通。
 
  4、客户也经常是矛盾的。事实上,很少有客户能够明确的知道怎样的一个系统对自己是最有益处的,他们往往在集中方案之间徘徊,于是经常产生需求的变动。生产厂商经常陷入客户自己的矛盾之中。
 
  客户的负面影响可能对于能够在预算内按时完成项目产生很大的影响。尽管客户需要对需求的质量负责任,但是,当一个软件项目因为客户事先没有预料到的情况而导致失败的时候,即使客户不会追究开发方的责任,就软件项目本身而言,也已经是失败的。

 

[1] [2] [3] 下一页

【责编:Lili】
中国IT教育热线咨询
相关文章
管理信息系统需求调研分析指南
软件项目需求分析的文档内容概述
需求管理详解
编写高质量“软件需求说明书”
需求源于沟通 获取需求十大沟通技巧…
软件项目需求分析困难的原因
更好的控制客户需求
确定项目的工作需求
软件项目在变化的需求中获得成功
界面需求的分析方法
推荐文章

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
最新更新 推荐文章
·框架:J2EE WEB应用架构分析…03-13
·几种VC++数据库开发技术的相对比…03-13
·利用C#实现标注式消息提示窗口03-13
·用C#创建COM对象03-13
·Visual C#多线程参数传递浅析…03-13
·Visual C#多线程参数传递浅析…03-13
·基于HOOK和MMF的Win密码渗透技术11-15
·Visual C++设计超强仿QQ自动伸缩…11-15
·Java SE 6.0实现高质量桌面集成开…11-15
·史玉柱东山再起幕后高人11-15
·用C#创建COM对象09-06
·IT管理十大失误及其对策08-30
·VC中利用MFC设计绘图程序初步08-23
·JAVA中对象创建和初始化过程08-23
·C语言中的位域的使用08-09
·浅谈Java桌面应用程序开发08-09
·C#的前途如何?08-02
·几种VC++数据库开发技术的相对比较07-12
·用Visual C#实现网络封包监视…07-12
·VB.NET中的TextBox控件详解07-12
·VB.NET实现PC与掌上电脑PPC的双向通信07-05