刚刚工作不久,还没有开始从头到尾开发过一个项目,而是负责对一个开发到后期的项目进行维护和后期开发。本以为这些工作没有什么技术含量,比较枯燥,然而出我所料的是,经过两个多月的维护工作,却领会到了很多软件或项目开发领域中的学问,虽然这些东西的字眼和概念原来在大学的时候遇见过n多次,但是从来理解不了是怎么回事。
1.说说需求挖掘,定义和管理吧。我本来就是刚入行,觉得谈这些上流话题有点不自量力。不过在这里我倒也不打算去网上找些资料把有关需求的内容拿来啰嗦一顿,而是说说自己的体会,知识和经验都是慢慢体会和积累的嘛。这个项目负责开发的人不多,需求一直都是通过和客户之间电话会议来确定的,即客户那边有什么要求经过双方讨论确定再有开发人员实现,完了后再转给测试跑跑看有没有问题。这样一直快要到交付的前一个月,老板以为接下来的就是些简单活,就叫我这个新手去锻炼锻炼,顺便看看人家是怎么开发一个项目的。可是就这个时候,众多严重的问题出现了:因为系统即将要交付使用,客户多少会积极一点去试用。结果经常出现错误或者莫名其妙的故障。比如开发的时候当初压根就没有考虑到多用户的情况,所以整个系统的多个地方都只是以单个用户的方式来编写的,比如一个货品的数量在进入一个页面的时候就取出来缓存并显示,然后这个用户在这个页面上逗留了十来分钟,再对这个货品数量进行修改,如果只有一个用户在使用这个系统的话,数据永远都是一致的,没有问题。但是如果多用户的话,结果就可想而知了。这个项目的测试人员也只有一个,当然没有考虑到在多台机上试试系统运行情况。还有,对真正要试用该系统的用户的场景没有事先了解,所以开发人员照着惯用思维进行开发,结果当然是用户提出异议了。还有,在系统开发前期的时候,没有很好考察定义系统的平均或一般负载,性能要求之类的关键指标,即没有考虑到压力测试。用户那边系统后,发现到了快速大量输入数据时,系统会慢得不可使用。除了这些典型的问题之外,还有客户在快要交付前突然要大范围更改和添加需求,弄得我们手忙脚乱也完不成任务。具体情况就不在赘述了。这些经历给我的体会是:需求果然是很难作的,所以要花心思,动脑筋,甚至花体力去尽量做好(比如可以到客户公司去考察考察,呵呵,不知道这个想法实不实际,个人想法而已)。切记一种姿态就是,客户扔了一个需求过来,讨论讨论过了,然后动手,弄完叫客户大概看看,没事就OK了,而是要多Push客户那边多搞搞,不断跟进(好像客户大部分都不是很积极的,所以项目公司这边要积极和客户联络)。不然开发到后期出了前期没有发现的大问题再修改代价就很高了。
2.第二个体会,可以说就是“切肤之痛”吧。写代码比较辛苦吧,看代码好像也很辛苦,但是看一些几乎没有注释且比较乱的代码,并且这些代码还比较多,会不会很辛苦呢?答案是肯定的!大学时候学的一门课程,叫项目管理。那时候学那门课觉得简直就是浪费时间,很难领会到一些要工作后才能领会的知识,好像学来没用。比如书上说,开发一个项目,一般开发时间只占20%-30%,其余都是维护时间。出来工作后才发现维护时间还真的是很长,如果在这段时间里,一直都是由系统开发的那帮人来维护,到也罢,反正代码写的怎么样,他们自己看。但是万一项目的开发人员离职或者调到别的项目组从而原来的项目叫别人去维护的时候,就会发现优良的编码习惯是多么重要啊。我有时候实在觉得摸不透,就去问原来开发这个系统的人,结果有时候他看了之后自个也不知道怎么回事,还责怪我这样写是有问题的,还不时误会是我写的代码。我心里说,原来你刚不理它一个半月就都会不记得啊,呵呵。这些经历给我的启发就是:写代码的时候,想想以后。该写注释的地方,就算简短,加两句以后别人维护起来也省 了好多脑细胞去想那段代码到底是干啥的。
3.哎,太晚了,明天还要上班,有时间再加上。都是自个感受,写出来备个案。
分享到:
相关推荐
java项目开发心得java项目开发心得java项目开发心得java项目开发心得java项目开发心得java项目开发心得java项目开发心得java项目开发心得java项目开发心得java项目开发心得java项目开发心得java项目开发心得java项目...
Winform项目开发心得
熟悉了一整个项目的开发、测试的流程。对相关的很多软件有了熟练的操作,包括数据库、服务器、系统、相关网络的搭建。
项目开发心得之人力资源配置.docx
东南大学学生会管理系统——SRTP项目开发心得体会
本文是一篇全面介绍iOS开发的文章,旨在帮助读者了解iOS开发的基本概念、开发心得、项目实践以及相关练习。通过本文的阅读,读者可以深入了解iOS开发的流程和技巧,提升自己的开发能力和项目实践经验。 文章首先...
SSH框架集成环境的一些心得体会及自己做过的一些项目,对初学者很有用。
敏捷开发学习心得,自己通过实际的项目总结的经验。
学生会管理系统项目开发心得体会 - 东南大学学生会管理系统——SRTP
做软件开发项目实习的心得体会.pdf
读者可以从中了解到项目开发的完整流程,包括需求分析、设计、编码、测试等环节,以及可能遇到的问题和解决方案。 此外,文章还提供了一系列针对性的练习建议,旨在帮助读者巩固所学知识,提升实战能力。这些练习...
相信很多人都需要这样一份有关微信开发的资料,从基本功能到通用,curl都有说道。可以互相交流
Spring Boot个人整理的一些心得体会,很实用,总有用得到的~
淮海工学院计算机工程学院 开放实验报告 实验项目: Android应用开发 学生姓名: 学 号: 专业班级: 系(院): 起止日期: 2016年10月10日-11月25日 开放实验室: 专业实验室 年 月 日 "1.开放实验项目的目的 " ...
项目管理相关资料,包括产品部,项目组,实施组的关系,项目的开发计划,项目管理笔记管理培训手册的等
WebGame的AS端开发心得 理解AS项目全局结构 打造相对通用的游戏代码库和开发流程
从中体会到诸多使用ASPNET设计开发项目的乐趣和烦恼,借此可以向大家分享一下这个过程.谈谈ASP.NET开发的最佳实践.也就是如何使用ASP.NET设计开发高质量。可重用与易维护的Web应用。当然,限于篇幅.本文无法...
在这个过程中有很多开发心得和体会,不吐不快。在这里,整理出来与大家一同分享。资源中应用大量专业术语,所以在阅读前,您应有一定的基础知识,如java language、jsp、servlet、j2ee、ejb、ejb-ql、structs(MVC)、...
使用场景及目标:这篇文章可以用于个人学习和研究iOS开发,也可以作为参考文档在进行iOS项目开发时使用。目标是帮助读者更好地理解iOS开发的核心概念和用法,提高开发效率,编写更简洁、可维护的代码。