热门标签 | 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、 尊重开发人员采用的需求分析过程  

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


推荐阅读
  • LeetCode 540:有序数组中的唯一元素
    来源:力扣(LeetCode),链接:https://leetcode-cn.com/problems/single-element-in-a-sorted-array。题目要求在仅包含整数的有序数组中,找到唯一出现一次的元素,并确保算法的时间复杂度为 O(log n) 和空间复杂度为 O(1)。 ... [详细]
  • 如何在Faceu激萌中设置和使用妆容切换特效?
    本文将详细介绍如何在Faceu激萌应用中设置和使用妆容切换特效,帮助用户轻松实现创意拍摄。无论是新手还是有经验的用户,都能从中受益。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 探讨一个老旧 PHP MySQL 系统中,时间戳字段不定期出现异常值的问题及其可能原因。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 郑州大学在211高校中的地位与排名解析
    本文将详细解读郑州大学作为一所位于河南省的211和双一流B类高校,在全国211高校中的地位与排名,帮助高三学生更好地了解这所知名学府的实力与发展前景。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 电子元件封装库:三极管、MOS管及部分LDO(含3D模型)
    本资源汇集了常用的插件和贴片三极管、MOS管以及部分LDO的封装,涵盖TO和SOT系列。所有封装均配有高质量的3D模型,共计96种,满足日常设计需求。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
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社区 版权所有