第3部分 软件研发工作总结
研发流程初探
(本文是我到公司一个月后对于工作的一些感想,欢迎阅读。)
到公司实习已经有一个多月了,最近我完成了第一个正式任务。回想起来,那个过程充满挫折,也充满了惊喜。虽然不像一般电影那样一波三折,但也是有让人很难忘记的地方。在这篇文章中,我对整个过程进行一个简单的描述,同时偶尔也发表一下个人的一点感慨。
整个过程包括如图1所示的6个步骤。
图1 软件开发流程
(1) 接受需求
一般说来,对于刚入职不久的员工,项目组不会布置太复杂的任务,因为在不是很熟悉的情况下,我们是很容易犯错误的,毕竟技术也需要积累的。
我这次做的东西就是在原代码的基础上增加几个简单的新需求。要做的第一件事就是接受项目经理发来的新需求文档。这个新需求一般是从客户那里得来的,然后再转交给开发人员做。
对于需求文档,我认为一定要把问题描述清楚,否则我们就很难下手。即使做出来,也有可能会不满足需求。在有新需求的时候,项目经理也会带着相关开发人员去评需求,意思是看这个需求能不能够做得出来,不要等我们花了很大力气后才发现做不出来。
所谓的“客户至上”,也就是说客户有了需求,我们要尽力去开发产品出来满足他们的需求。
(2) 阅读需求文档、详设文档和源代码
在得到了需求文档之后,我们下一步要做的就是仔细阅读这个文档,把问题的来龙去脉搞清楚。
有些需求描述得很复杂(相当的抽象),我们光看它的描述是不行的。这时,我们就要对着详细设计(简称“详设”)文档和源代码看。详细设计文档是最初的开发人员写的,通过这个文档,我们能够搞清楚程序的大概流程,同时能够找到为了满足需求,设计了哪些数据结构和函数。当然,源代码就是需求的具体实现,每个需求都会有对应的代码。只要我们耐心阅读这些程序,就会发现它们与文档的对应关系。
这一步对于理解需求和程序都是很重要的,我们一定要仔细阅读,不可草草了事。根据我个人的经验,如果没有很好理解需求就动手编程,那么出错的概率就会非常大。
(3) 对相应代码进行修改或添加
在理解了新需求和搞懂了代码之后,我们就要开始动手编程了。
编程之前,我们要首先找到要在哪些地方修改代码或者添加代码。在编程的过程中,我们要全神贯注,一定要多检查几次,以防写错。这里的错误不仅包括程序的语法错误,也包括逻辑错误什么的。
一般的工程中,代码都非常的多,在几千行以上。要找到修改的地方还是要花一番工夫的,这需要人能够静得下心来,浮躁肯定是不行的。
另外,很多新需求都和之前的某些需求类似,我们不需要从头开始设计数据结构和函数,只需要在以前的程序块里面改一些参数即可。这也为我们省下了时间,同时为以后的排错提供了参考。
编码阶段是需求的具体实现,可以说是整个工作中最重要的环节,我们一定要打起精神,千万不可掉以轻心。
(4) 测试程序
在之前,我一直以为开发工程师只要把程序写好就行了,用不着测试。但项目经理提醒我,这个想法是错误的,只要程序有修改,我们就一定要测试一下。要保证我们交出去的代码是完全正确的,没有bug。
在用软件测试代码之前,我们一定要用自己的眼睛多看几遍程序,发现一些显而易见的错误。这既是工作的态度,也是一种纠错的好方法。
根据项目的不同,测试程序的工具也会有所区别。有的时候,我们要和其它模块交互,因此需要其它开发人员配合我们测试。
在测试之前,我们至少要在头脑中设计好测试的用例,能够估计到一些期望的输出值。此外,我们要对边界值进行专门的、重点的测试,我想这也是测试的技巧所在吧。
(5) 写测试文档、升级文档等
在测试搞定之后,我们不要马上就提交代码了,还要记住写测试文档和升级文档等。
自己怎样对程序进行测试,那么测试文档就要展现这个过程。我们可以简单地描述一下自己的测试步骤与测试结果,以证明自己本着负责任的态度对自己的代码进行了测试。
因为有新需求了,那就意味着相关的产品升级了,这时就要写升级文档。在这个文档中,我们要着重写升级的部分,也就是哪些是新的需求。
只要我们认真地完成了编码的工作,并且很好地理解了程序,写出这些文档是很快的。
(6) 提交代码和相关文档
在确保自己的程序正确无误之后,最后的一个步骤就是提交修改过的代码和相关文档了。
一般说来,每个项目组都会有专门的地方来存放这些东西,我们只要按照说明将自己的成果提交上去就行了。下面就等着构建新的版本和专门的测试人员来测试了。
提醒一下,在完成任务之后,我们不光是要提交代码,还有很多其它的东西,这要按照项目的要求来做,不要忘记提交一些东西。为确保万无一失,在提交成功之后,可以再对着要求检查一遍。
以上便是我此次工作的整个步骤,我想大部分的开发工作也都是这样的,最多是大同小异。在完成任务的过程中,我有这几点感受:
1) 要静心、有耐心,要认真地阅读文档和程序,等理解透彻了再开始编程,不要一上来就去修改程序。
2) 要严格按照编程规范来办事,这样方便程序的阅读和修改,不要定义一些很奇怪的变量,要让人一看到变量后就能够知道它的大概意思。
3) 凡事不可太过于自信,做完后再回过头来看一下,看有哪些地方是被自己遗忘了的、哪些地方是自己理解错误了的。
作为一个开发人员,我们一定要养成良好的习惯,要有好的态度,那么再难的问题都是可以解决的。
(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)