热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

通过专业实践探讨需求分析的感悟与体会

在专业实践中,我逐渐认识到软件需求分析的重要性。尽管接触需求分析的时间仅有一个多学期,但通过实际项目的经历,我深刻体会到需求分析是软件开发过程中不可或缺的关键环节。最初,我对“需求决定软件成败”的观点并未给予足够重视,认为只要代码实现无误即可。然而,在参与真实项目后,我才真正理解到需求分析的准确性和全面性对项目成功的影响。

     正式接触软件需求分析可能只有一个学期多一点的时间, 一直听说做一个软件最重要的是需求, 开始的时候不太在意这句话,以为只要代码实现了就没有多大的问题了。直到接触到了现实的项目才发现这句话真的是深藏不露啊。
     记得专业实践是帮一个老师做一个项目,用户是某个部队,项目是一个政治教育评估系统,最早的时候好像并没有给出太多的要求,只是说做出一个他们想要的教育评估系统的中心部分就可以了,因为不能和用户直接交流,没办法直接接触到用户的想法,只有通过指导老师来做中间桥梁。记得那一段时间,过得真是“痛苦”。。。
     第一个版本诞生以后,以为可以交差了,没想到,用户中途改需求了,加了一些功能,这个软件的原型算是“作废”了,唉,一时间,有一种“白做了”的感觉。。没办法,谁让我们答应了老师要完成呢。。。
    接受了改变后,我们又一次重新分析了用户的需求,又一个原型产生了,没想到。。。。
    一次又一次的改变原有的计划,一次又一次地改变原有的需求,基本上每一次都是往原有的功能上添加别的功能,当时真的有一种“学生是廉价的劳动力”这种感觉,一度都想放弃这个项目。不知道是什么力量在支持,我们还是一直走了下来。
    记得当时那一段时间,事情特别多,所有的学科都到了期末交大作业的时候,一堆一堆的“项目”堆在手边,这头有人催做这个项目,那头有人催做那个项目,那一段时间可以说是我大学里过得最累的时候,不知道熬了多少个通宵,身体啊,那个时候真的被忘到了脑后....
    中间的太多过程不想再提了,换过语言,改了N个版本,与老师辩论了N次,几乎每一次的开会都是战战兢兢 的,唉。。。
    其实我想说的是做需求分析真的很重要,一个好的软件首先要先弄清楚用户的要求,一般的用户往往不能很直接地提出他的要求,基本上他们自己也说不清楚他们想到的到底是什么样的软件,他们只能说出他们最想要的功能是什么,大部分的用户都是想直接通过使用一个初始版本的软件来决定该版本的软件有什么缺陷。。。。
    有一句话说的真的很有道理“用户最喜欢做的就是——变化,变化,再变化”
     做为一个IT人,我们能做的应该就是“说服自己拥抱变化”吧。。。。

    需求分析的20条法则
1、    分析人员要使用符合客户语言习惯的表达  
2、    分析人员要了解客户的业务及目标   
3、    分析人员必须编写软件需求报告  
4、    要求得到需求工作结果的解释说明   
5、    开发人员要尊重客户的意见  
6、    开发人员要对需求及产品实施提出建议和解决方案  
7、    描述产品使用特性  
 
8、    允许重用已有的软件组件  
9、    要求对变更的代价提供真实可靠的评估
10、 获得满足客户功能和质量要求的系统  
11、 给分析人员讲解您的业务
12      抽出时间清楚地说明并完善需求
 
13、 准确而详细地说明需求  
14、 及时作出决定
  
15、 尊重开发人员的需求可行性及成本评估
16、 划分需求的优先级
17、 评审需求文档和原型  
18、 需求变更要立即联系  
19、 遵照开发小组处理需求变更的过程  
20、 尊重开发人员采用的需求分析过程  

希望这些法则能给所有在做需求分析工作的朋友们一点帮助
 


推荐阅读
  • 本文详细介绍了福昕软件公司开发的Foxit PDF SDK ActiveX控件(版本5.20),并提供了关于其在64位Windows 7系统和Visual Studio 2013环境下的使用方法。该控件文件名为FoxitPDFSDKActiveX520_Std_x64.ocx,适用于集成PDF功能到应用程序中。 ... [详细]
  • Appium + Java 自动化测试中处理页面空白区域点击问题
    在进行移动应用自动化测试时,有时会遇到某些页面没有返回按钮,只能通过点击空白区域返回的情况。本文将探讨如何在Appium + Java环境中有效解决此类问题,并提供详细的解决方案。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 本文详细介绍了如何使用 PHP 接收并处理微信支付的回调结果,确保支付通知能够被正确接收和响应。 ... [详细]
  • 小编给大家分享一下如何移除URL中的index.php,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收 ... [详细]
  • 本文详细介绍了如何在PHP中删除数组中的指定元素、第一个元素和最后一个元素,并提供了具体的代码示例和相关函数的使用说明。 ... [详细]
  • 本文详细解析了汉字‘犐’的基本字义及其在古代文献中的应用,旨在为读者提供全面而深入的理解。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 本文详细介绍了在XAMPP环境中如何修改Apache和MySQL的默认端口号,并确保WordPress能够正常访问。同时,提供了针对Go语言社区和Golang开发者的相关建议。 ... [详细]
  • 澄清对 IN 语句索引使用常见误解
    本文旨在纠正关于 MySQL 中 IN 语句是否使用索引的常见误解。许多人认为 IN 语句的索引使用与字符串长度有关,实际上,影响因素更为复杂,包括数据分布和 MySQL 版本等因素。 ... [详细]
  • PHP 实现多级树形结构:构建无限层级分类系统
    在众多管理系统中,如菜单、分类和部门等模块,通常需要处理层级结构。为了高效管理和展示这些层级数据,本文将介绍如何使用 PHP 实现多级树形结构,并提供代码示例以帮助开发者轻松实现无限分级。 ... [详细]
  • This article explains how to check if a given string consists solely of English characters, including letters and numbers. It provides a practical PHP function for this purpose. ... [详细]
  • 工作后体重逐渐增加,尽管尚未达到令人担忧的程度,但对于热爱运动的人来说,这一变化难以接受。经过长时间的考虑,我决定重新制定减重计划,以恢复最佳的身体状态。 ... [详细]
  • 本文探讨如何配置 Nginx 以将传入请求反向代理到运行在本地绑定端口上的 Docker 容器,并解决常见的路径重定向问题。 ... [详细]
author-avatar
吴柏盈4477
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有