热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

如何进行需求分析和挖掘?

源自:中国自学编程网(www.zxbc.cn)其实这个问题不应该成为一个问题,因为一个真正意义上的的项目经理是不需要去做需求分析的,而应该

源自:中国自学编程网(www.zxbc.cn)

其实这个问题不应该成为一个问题,因为一个真正意义上的的项目经理是不需要去做需求分析的,而应该是让专职的需求分析人员去做。我 的理 解,项目经理在工作过程中,与需求沾边的工作应该是对于项目范围的定义:确定哪些是在项目中要做的,哪些是不用去理会它的,清楚地定义项目的边界。除此之 外,其它的工作都应该交由专门的人员去进行专业的信息采集与处理。但大家都知道,在实际的工作中,项目经理往往是既当爹来又当妈,一个人做N个人的活,尤 其是当项目不大的时候,项目经理更是要一马当先地什么都做,几手都要抓,同时,老板对你的期望又是几手都要硬。因此,从现实的角度考虑,这个问题还是要探讨一下的。

记得我刚从学校毕业到公司的时候,曾无知地告诉老板说我对需求分析还是很有经验的,老板当时就笑着对我说,其实要想成为一个有经验的需 求分析人员,起码要有十年的工作经历。当时只是觉得老板嫌我刚出道罢了,但做了一些项目之后,我对于需求分析这件工作有了更深刻的认识,也清醒地了解到需 求分析真不是一件容易做的事。

首先,是我们对领域知识的缺乏。客户所在的领域并不都是我们所熟知的,这不像是在学校里做课程设计,不是图书馆管理系统,就是学生管理 系统,连蒙带猜也能编出来。行业的多样性必然会导致需求领域知识的多样性,面对这样的困境,又怎么能要求我们在与客户短短的几次交谈中就获取足够的信息来 完成一个复杂的软件产品呢。

clip_image001

其次,客户对需求的理解与传达不足。需求很明显是由客户传递给项目组的。客户在解释需求的时候,有时就会带有很大的含混性,而且客户对 需求的说明不能做到完全的正确。如果是与外国人交流,那信息的损失就会更大。在与外国客户的交往中,英语国家的人可以用母语与你交谈还算是庆幸了,遇到了 母语不是英语的国家的客户与你交谈,那两个人都要非母语进行交谈,双方都够把心里想的东西表达出70%以上就算是非常成功的交流了。同样,分析人员在对需 求进行吸收的时候也会产生误解,一些信息也会被遗漏掉。靠这样获取的需求进行开发,结果是可想而知的了。

clip_image003

要解决上述的问题,似乎没有什么比经验更好的办法了。对于某一行业领域的熟悉,需要一定时间的积累,了解了一定的知识之后,就能更容易 得与客户进行有效的沟通,获取项目中需要的信息。需求对于项目的重要性不用多说,一个项目至始至终都是为了达到让客户满意的目的,满足客户的需求,其实是 一种对需求含混性降低的过程。为了达到这一目的,还有一些称为方法的步骤可以让我们减少对需求的误解:

1.细晰地划分项目干系人(Stakeholder):尤其是分清什么是客户,什么是使用者。在了解需求的时候,我们能从哪些人中获取信息。同时还要注意到,获取的信息是否得到负责人的确认。

2.需求分析会议:与客户的会议当然必不可少。从中尽 可能多的找出不清楚的地方,及时的提出,如果客户允许可以进行录音,不过这一招估计很难做到,大部分时候客户可不想留下自己的话柄。与项目组成员的开会是 为了在组内加深对需求的了解,集思广义,再用点头脑分暴之类的东东,可以发现更多的求知问题。

3.在初始的需求得到后,要对其进行细致的分析,划分功能块及其属性和约束条件。

更多的知识,可以参考温伯格的《探索需求——设计前的质量》。

详细出处参考:http://www.zxbc.cn/html/20080112/31289_2.html

转:https://www.cnblogs.com/vlnk/archive/2012/11/14/2770139.html



推荐阅读
  • 本章探讨了数据类型及其操作的基本概念,深入讲解了数据抽象和抽象数据类型的重要性,以及它们如何支持面向对象的编程方式。通过实例展示了字符串复制的不同方法,并讨论了类定义对系统资源的影响。 ... [详细]
  • 详解MyBatis二级缓存的启用与配置
    本文深入探讨了MyBatis二级缓存的启用方法及其配置细节,通过具体的代码实例进行说明,有助于开发者更好地理解和应用这一特性,提升应用程序的性能。 ... [详细]
  • Node.js 断点调试指南
    本文详细介绍了利用Google Chrome DevTools和Visual Studio Code两种工具进行Node.js应用的断点调试技巧。 ... [详细]
  • 优雅地记录API调用时长
    本文旨在探讨如何高效且优雅地记录API接口的调用时长,通过实际案例和代码示例,帮助开发者理解并实施这一技术,提高系统的可观测性和调试效率。 ... [详细]
  • 本文介绍了两个重要的Node.js库——cache-content-type和mime-types,它们在处理HTTP响应头时非常有用。cache-content-type是基于mime-types构建的,并且实现了缓存机制以提高性能。 ... [详细]
  • Node.js模块化的优势及实践
    本文探讨Node.js模块化的重要性和具体实现方式,包括其带来的代码复用性增强、可维护性提升、以及如何有效避免命名冲突等问题。 ... [详细]
  • 本文转载自某知名技术博客,作者对市场上一些低质量电脑进行了深入分析,指出这些设备存在的问题及其可能带来的影响。 ... [详细]
  • 解决远程桌面连接时的身份验证错误问题
    本文介绍了如何解决在尝试远程访问服务器时遇到的身份验证错误,特别是当系统提示‘要求的函数不受支持’时的具体解决步骤。通过调整Windows注册表设置,您可以轻松解决这一常见问题。 ... [详细]
  • 本文详细介绍了如何在ReactJS项目中集成Onsen-UI的ActionSheetButton组件,并通过具体示例展示了其使用方法及效果。 ... [详细]
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
  • StoredProcedure “存储过程名” 的TextHeader 中存在语法错误
    修改存储过程的时候出现StoredProcedure“存储过程名”的TextHeader中存在语法错误出现这样的问题的解决方法(本人修改已成功)在创建存 ... [详细]
  • Mysqlcheck作为MySQL提供的一个实用工具,主要用于数据库表的维护工作,包括检查、分析、修复及优化等操作。本文将详细介绍如何使用Mysqlcheck工具,并提供一些实践建议。 ... [详细]
  • 本文详细介绍了如何在 EasyUI 框架中实现 DataGrid 组件的分页功能,包括配置方法和常见问题的解决方案。 ... [详细]
  • 为什么会崩溃? ... [详细]
  • 一键LNMP配置SSL证书实现全站HTTPS访问
    许多网站搭建者选择了便捷的一键LNMP安装包,但在网站部署完成后,配置SSL证书以支持HTTPS访问是一个不可或缺的步骤。本文将详细介绍如何通过简单的步骤完成这一过程。 ... [详细]
author-avatar
IQBB_LongGang
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有