让你提前认识软件开发(37):研发流程初探

第3部分 软件研发工作总结

研发流程初探

        (本文是我到公司一个月后对于工作的一些感想,欢迎阅读。)

到公司实习已经有一个多月了,最近我完成了第一个正式任务。回想起来,那个过程充满挫折,也充满了惊喜。虽然不像一般电影那样一波三折,但也是有让人很难忘记的地方。在这篇文章中,我对整个过程进行一个简单的描述,同时偶尔也发表一下个人的一点感慨。

整个过程包括如图1所示的6个步骤。

图1 软件开发流程

        (1) 接受需求

一般说来,对于刚入职不久的员工,项目组不会布置太复杂的任务,因为在不是很熟悉的情况下,我们是很容易犯错误的,毕竟技术也需要积累的。

我这次做的东西就是在原代码的基础上增加几个简单的新需求。要做的第一件事就是接受项目经理发来的新需求文档。这个新需求一般是从客户那里得来的,然后再转交给开发人员做。

对于需求文档,我认为一定要把问题描述清楚,否则我们就很难下手。即使做出来,也有可能会不满足需求。在有新需求的时候,项目经理也会带着相关开发人员去评需求,意思是看这个需求能不能够做得出来,不要等我们花了很大力气后才发现做不出来。

所谓的“客户至上”,也就是说客户有了需求,我们要尽力去开发产品出来满足他们的需求。

        (2) 阅读需求文档、详设文档和源代码

在得到了需求文档之后,我们下一步要做的就是仔细阅读这个文档,把问题的来龙去脉搞清楚。

有些需求描述得很复杂(相当的抽象),我们光看它的描述是不行的。这时,我们就要对着详细设计(简称“详设”)文档和源代码看。详细设计文档是最初的开发人员写的,通过这个文档,我们能够搞清楚程序的大概流程,同时能够找到为了满足需求,设计了哪些数据结构和函数。当然,源代码就是需求的具体实现,每个需求都会有对应的代码。只要我们耐心阅读这些程序,就会发现它们与文档的对应关系。

这一步对于理解需求和程序都是很重要的,我们一定要仔细阅读,不可草草了事。根据我个人的经验,如果没有很好理解需求就动手编程,那么出错的概率就会非常大。

        (3) 对相应代码进行修改或添加

在理解了新需求和搞懂了代码之后,我们就要开始动手编程了。

编程之前,我们要首先找到要在哪些地方修改代码或者添加代码。在编程的过程中,我们要全神贯注,一定要多检查几次,以防写错。这里的错误不仅包括程序的语法错误,也包括逻辑错误什么的。

一般的工程中,代码都非常的多,在几千行以上。要找到修改的地方还是要花一番工夫的,这需要人能够静得下心来,浮躁肯定是不行的。

另外,很多新需求都和之前的某些需求类似,我们不需要从头开始设计数据结构和函数,只需要在以前的程序块里面改一些参数即可。这也为我们省下了时间,同时为以后的排错提供了参考。

编码阶段是需求的具体实现,可以说是整个工作中最重要的环节,我们一定要打起精神,千万不可掉以轻心。

        (4) 测试程序

在之前,我一直以为开发工程师只要把程序写好就行了,用不着测试。但项目经理提醒我,这个想法是错误的,只要程序有修改,我们就一定要测试一下。要保证我们交出去的代码是完全正确的,没有bug。

在用软件测试代码之前,我们一定要用自己的眼睛多看几遍程序,发现一些显而易见的错误。这既是工作的态度,也是一种纠错的好方法。

根据项目的不同,测试程序的工具也会有所区别。有的时候,我们要和其它模块交互,因此需要其它开发人员配合我们测试。

在测试之前,我们至少要在头脑中设计好测试的用例,能够估计到一些期望的输出值。此外,我们要对边界值进行专门的、重点的测试,我想这也是测试的技巧所在吧。

        (5) 写测试文档、升级文档等

在测试搞定之后,我们不要马上就提交代码了,还要记住写测试文档和升级文档等。

自己怎样对程序进行测试,那么测试文档就要展现这个过程。我们可以简单地描述一下自己的测试步骤与测试结果,以证明自己本着负责任的态度对自己的代码进行了测试。

因为有新需求了,那就意味着相关的产品升级了,这时就要写升级文档。在这个文档中,我们要着重写升级的部分,也就是哪些是新的需求。

只要我们认真地完成了编码的工作,并且很好地理解了程序,写出这些文档是很快的。

        (6) 提交代码和相关文档

在确保自己的程序正确无误之后,最后的一个步骤就是提交修改过的代码和相关文档了。

一般说来,每个项目组都会有专门的地方来存放这些东西,我们只要按照说明将自己的成果提交上去就行了。下面就等着构建新的版本和专门的测试人员来测试了。

提醒一下,在完成任务之后,我们不光是要提交代码,还有很多其它的东西,这要按照项目的要求来做,不要忘记提交一些东西。为确保万无一失,在提交成功之后,可以再对着要求检查一遍。

以上便是我此次工作的整个步骤,我想大部分的开发工作也都是这样的,最多是大同小异。在完成任务的过程中,我有这几点感受:

1) 要静心、有耐心,要认真地阅读文档和程序,等理解透彻了再开始编程,不要一上来就去修改程序

2) 要严格按照编程规范来办事,这样方便程序的阅读和修改,不要定义一些很奇怪的变量,要让人一看到变量后就能够知道它的大概意思

3) 凡事不可太过于自信,做完后再回过头来看一下,看有哪些地方是被自己遗忘了的、哪些地方是自己理解错误了的

作为一个开发人员,我们一定要养成良好的习惯,要有好的态度,那么再难的问题都是可以解决的。

(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)

让你提前认识软件开发(37):研发流程初探,布布扣,bubuko.com

时间: 2024-10-21 13:05:36

让你提前认识软件开发(37):研发流程初探的相关文章

让你提前认识软件开发(44):如何解决软件故障?

第3部分 软件研发工作总结 如何解决软件故障? 在软件产品的运营维护阶段,软件工程师的一项重要工作就是解决软件的bug.在学校的时候,大家学完一门课程,然后考试通过就万事大吉了.但在实际的软件开发项目中,将软件成功交付给客户,只是"万里长征走完了第一步",后面还有大量的工作要做,例如:解决软件故障.新增功能.版本升级等.作为一名合格的软件工程师,一定要学会准确.迅速地解决软件出现的各种问题. 为什么解决软件问题的能力如此重要?因为软件项目的成功率不容乐观.国内某IT公司对本公司内软件项

让你提前认识软件开发(48):集成测试

第3部分 软件研发工作总结 集成测试 [文章摘要] 一般的软件研发项目均涉及到多模块和多功能.在各个模块实现其功能之后,把相关模块结合起来进行集成测试以验证整个系统是否满足需求是很有必要的. 本文以作者的实际项目经验为背景,描述了集成测试的整个过程,并对集成测试过程中的一些常见问题进行了简单的介绍. 1. 前言 大部分软件开发人员在工作过程中可能都会有这样的经历:明明在自己模块中实现得好好的功能,一旦和其它模块结合就会出现问题.因此,集成测试就显得很重要.这就有点像很多国内的标准与国际标准不统一

让你提前认识软件开发(43):软件产品升级流程

第3部分 软件研发工作总结 软件产品升级流程 一个软件产品做出来之后,并不是说永远都不用变了.基于以下的种种原因,我们需要对原软件产品进行升级: (1) 用户对软件功能提出了新的要求,现在运行的软件不能满足用户的新需求. (2) 原软件存在bug,用升级的方式来修补这些bug. (3) 对原软件的程序进行了优化,新的软件能够提升程序的执行效率. (4) 自主开发了一些新功能,能够提升用户的体验. 对于通讯类软件产品来说,升级是一项浩大的工程,其中牵涉到很多人,包括:市场人员.开发人员.测试人员.

让你提前认识软件开发(41):编程时首先达到正确性,其次考虑效率

第3部分 软件研发工作总结 编程时首先达到正确性,其次考虑效率 在实际的软件开发项目中,经常会遇到产品开发周期很短的问题.也就是说,开发人员需要在"质量"和"速度"之间做出权衡.具体到程序代码,就存在到底是先考虑实现功能(即保证程序的正确性),还是要一步到位把事情做好(即保证程序的正确性的同时,兼顾其效率)? 在网上,有关这方面的讨论也非常的多.微软亚洲研究院研究员刘未鹏老师写过一篇文章<编程的首要原则>(http://mindhacks.cn/2009

让你提前认识软件开发(38):完成第一个新需求

第3部分 软件研发工作总结 完成第一个新需求 在入职后不久,我得到了第一个新任务:完成某个版本的一个新需求.所谓的"需求",就是用文档的形式告诉我们要做什么,要实现什么功能. 在得到需求文档之后,我仔仔细细地阅读了好几遍,发现有些地方自己并不是很明白.如果在自己都不是很确定的情况下修改代码,其后果是很严重的,项目经理曾经这样告诫我.我把自己的疑惑以邮件的形式发给了SE(系统工程师),让他把需求讲明白.在我们公司,SE负责写需求,他们要把用户想要实现的功能写成文档,然后让软件开发工程师来

让你提前认识软件开发(46):首先是为人编写程序,其次才是计算机

第3部分 软件研发工作总结 首先是为人编写程序,其次才是计算机 "首先是为人编写程序,其次才是计算机",这是软件开发的基本要点,软件的生命周期贯穿于产品的开发.测试.生产.发布.用户使用.版本升级和后期维护等长期过程中,只有易读.易维护的软件代码才具有生命力. 在实际的软件开发过程中,可能是由于工作很忙的原因,很多开发人员只注重实现程序的基本功能,而忘记了编程规范,因此写出来的代码只能让计算机看懂,人要看懂很不容易.更有甚者,有些项目组为了赶进度,明确要求组员以实现产品功能为主,代码能

让你提前认识软件开发(45):代码的第一印象

第3部分 软件研发工作总结 代码的第一印象 我们都很注重给别人的第一印象,也有很多书籍教我们怎样给别人留下一个美好印象的.确实,如果我们第一眼看到某个人,就觉得很不爽,那么一定会在心理上产生抵触,以后再见到他,会有一种疏远的感觉.也正因为如此,当今社会交往中的"面子工程"很重要,不管怎样,先撑足了自己的脸面再说. 代码也一样,也会给别人留下或好或差的印象.当我们看到优美的代码时,会有一种想继续研究下去的欲望,甚至会有一种觉得很享受的感觉.相反,当我们看到丑陋的代码时,就会咬牙切齿,因为

让你提前认识软件开发(40):既要写好代码,又要写好文档

第3部分 软件研发工作总结 既要写好代码,又要写好文档 对于软件相关行业,在学校或单位上,大家也许都已经注意到了,除了要编写的程序.绘制设计图之外,还有一个重要的工作便是写文档.为什么要写文档呢?因为我们要把自己做的东西展示出来,不光展示给同行看,可能还要展示给其他岗位上的工作人员看,甚至展示给用户看.如果我们只是会写程序,不会在文档中描述自己的想法,那么就真正的成为"码农"了. 工作也有一段时间了,我发现周围的同事,会写高质量文档的确实很少.李开复老师在<浪潮之巅>的序言

让你提前认识软件开发(20):如何在C语言里面执行SQL语句?

[文章摘要] 在通信类软件中,程序经常需要与数据库打交道.为了实现诸如从数据库中获取数据.更新数据库表某字段.插入或删除某条数据等功能,就需要在C语言程序中构造一些SQL语句,并用函数来执行这些SQL语句. 本文介绍如何在C语言程序中构造并执行SQL语句,为相关软件开发工作的开展提供了参考. [关键词] SQL语句  C语言  程序  流程  开发 一.为什么要在C语言程序中执行SQL语句? 在C语言程序中执行SQL语句的原因有以下几个: (1) 程序需要获取数据库中某数据表的字段值,并对这些字