![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件研发项目工作总结
文章平均质量分 88
知识的港湾
高级软件开发工程师
展开
-
GPON介绍及华为OLT网关注册配置流程
“无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。”一、GPON介绍1.GPON简介随着技术的发展,光纤变得“便宜又好用”,因此FTTx(FiberTo The X,光纤接入)作为新一代宽带解决方案被广泛应用,它为用户提供高带宽、全业务的接入平台。同时,FTTH(Fi...原创 2018-02-03 09:59:36 · 72604 阅读 · 36 评论 -
如何在Windows下使用Linux系统来编译和运行程序?
很多开发人员都有这样的疑问:自己平时是在Windows下面办公的,而自己编写的程序的运行环境又是Linux的,如何从Windows切换到Linux呢?是不是要专门到Linux机器上去编写代码呢?实际上,只要在Windows下安装一个叫做SecureCRT的软件和一个叫做FileZilla的软件,便可轻松解决问题。 SecureCRT和FileZilla简介SecureCRT是一款支持SSH(SSH原创 2015-04-21 14:38:12 · 14194 阅读 · 3 评论 -
同行代码审查之我见
最近,我在CSDN上阅读了一篇叫做《同行代码审查实战分析》文章(http://www.csdn.net/article/2015-01-26/2823698-practical-lessons-in-peer-code-review)。这是一篇译文,作者认为作为专业的软件开发人员,持续提高代码质量是工作生涯不断追求的目标之一。无论我们有多么优秀,都离不开团队;而代码复查是个人与团队的润滑剂。不管你原创 2015-04-16 17:05:55 · 2488 阅读 · 3 评论 -
一起空指针引发的程序问题的排查过程
【文章摘要】 在C程序中,指针操作是难点和精华所在。指针一旦使用不当,极有可能造成程序的崩溃。 本文对一空指针引发的程序问题的排查过程进行了详细的介绍,为相关软件问题的分析及解决提供了有益的参考。 一、问题描述 最近,某程序在测试过程中突然崩溃。日志中出现如下内容: #0 0xf64f2b3a in FunctionA(event=原创 2015-04-02 18:48:13 · 2956 阅读 · 0 评论 -
非直连方式下C语言程序与数据库的消息交互流程
【文章摘要】 在《如何在C语言里面执行SQL语句?》(http://www.zhouzhaoxiong.com/116.html)一文中,我介绍了直连方式下C语言程序与数据库打交道的过程。 本文简单介绍非直连方式下C语言程序与数据库的消息交互的流程,供大家参考。 一、消息交互总体流程 非直连方式,也称异步方式。顾名思义,在这种方式下,C程序不直原创 2015-03-23 19:12:10 · 2308 阅读 · 0 评论 -
“API”之我见
最近,我读了CSDN上面的一篇文章《API:互联网是如何在幕后工作的?》(http://www.csdn.net/article/2015-01-26/2823692)。作者认为,没有API,应用之间的通信将会被扼杀;软件开发者将不断重写并执行相同功能的软件;创新的脚步将会放缓。 确实,在大型的软件系统中,API随处可见。大到一个软件系统,小到几行程序,只要具备了一定的特征,都可以被原创 2015-03-30 15:09:25 · 1531 阅读 · 0 评论 -
一种对软件模块进行单元测试的方法
【文章摘要】 在软件的开发阶段,单元测试是确保代码质量的重要方法。因此,掌握基本的单元测试方法是对一个软件开发人员的基本要求。 本文基于作者的实际项目经历,介绍了一种采用得比较多的单元测试方法。 一、软件模块概述 在实际的软件系统中,各个模块之间的关系可以用错综复杂来形容。根据模块之间有无消息交互,可以将软件模块划分为以下四类。原创 2015-03-21 10:56:34 · 7210 阅读 · 0 评论 -
一起话单业务量下降问题的排查过程
【文章摘要】 最近,某局点支持人员反映某模块重启之后话单业务量下降,希望研发人员帮助查找问题原因。 本文对该问题原因的查找过程进行了详细的介绍,为相关软件问题的分析及解决提供了有益的参考。 一、问题描述 在某局点,有一个软件系统实现话单的生成功能。某天,该局点的现场支持人员发来邮件,反映现场某话单分拣模块重启之后生成的话单的量较之前有大幅度的降低原创 2015-03-21 10:45:54 · 1968 阅读 · 0 评论 -
我眼中的开发和测试
在IT行业,开发和测试之间的关系一直是一个大家津津乐道的话题。在整个软件产品的生命周期中,开发和测试人员所做的工作分别对应不同的阶段,如图1所示。图1 开发和测试人员的分工 工作内容 从图1可以看出,开发和测试大致是一个上下游的关系。 具体而言,开发人员主要做这几件事情: 第一,对软件需求说明书进行详细评审,弄清楚要开发一个什么样的软件。原创 2015-03-21 10:37:11 · 2565 阅读 · 0 评论 -
一起数据库中过期用户数据堆积问题的排查过程
【文章摘要】对于使用数据库来存放大量用户的软件来说,过期数据的清理机制需要慎重设计。如果设计不当,则会导致数据的误删除或清理不完全。本文对某数据清理模块因参数配置不当而导致的过期用户数据堆积问题进行了详细的分析,为相关软件问题的分析及解决提供了有益的参考。 一、问题描述在某软件系统中,为了让不同种类的用户享受对应的服务,引入了一个信箱服务等级的概念,即不同服务等级的用户具有不同的权限。“一分钱,一原创 2015-05-04 18:54:55 · 2469 阅读 · 2 评论 -
一起ORACLE数据库中数据查询结果不一致问题的排查过程
一、问题描述 在某软件开发项目中,需要在ORACLE数据库中建立十张类型相同的员工信息表tb_employeeinfo0~tb_employeeinfo9,并建立向这十张表中插入数据的存储过程。ORACLE数据库安装在Linux操作系统下。 为了操作上的方便性,开发人员在PL/SQL Developer软件(ORACLE数据库开发软件)上实现了建表和建存储过程的操作。之后,开发人员利用SQL语句原创 2015-06-05 15:13:16 · 15566 阅读 · 2 评论 -
C语言代码评审小结
在实际的软件开发项目中,代码评审是一个必不可少的流程。代码评审,也称之为代码复查,是指通过阅读开发人员所写的代码来检查源代码与编码规范的符合性以及代码质量的活动。原创 2016-10-19 20:19:14 · 3492 阅读 · 0 评论 -
需求、开发和测试的“三足鼎立”
需求、开发和测试虽然各自做着不同的事情,所关注的点不一样,有时还有可能会出现意见不统一,但大家都有一个共同的目标:将产品做好。也正是这个共同的目标让需求、开发和测试之间的合作大于对抗、理解大于分歧,也正是这个共同的目标让软件产品这个“鼎”的三只“脚”永远平稳和牢固。原创 2016-08-26 21:08:57 · 6381 阅读 · 4 评论 -
深夜支持现场解决软件问题纪实
在本文中,我简单介绍一下三次深夜支持现场解决软件问题的经历,大家也可以加深对程序员工作状况的了解。原创 2016-07-16 21:08:40 · 3406 阅读 · 2 评论 -
【研发经验谈】模块间建链失败问题的分析及解决
研发经验谈之模块间建链失败问题的分析及解决。原创 2016-07-15 20:29:29 · 1825 阅读 · 0 评论 -
记一次作为主讲人的培训经历
记一次作为主讲人的培训经历原创 2016-05-28 11:19:58 · 4574 阅读 · 3 评论 -
目的文件已不在原目录,程序还会继续执行写文件操作吗?
C语言中的写文件操作是通过文件句柄来向对应的文件中写入内容的,如果程序有访问文件句柄的权限,那么不管文件放在哪个目录下,都能够成功写入。在写文件的过程中,如果将文件删除,或者是放到了程序无权访问的目录下,那么程序也不会报错,而是继续执行。因此,对于需要写文件的软件来说,一定要确保相关目录下的文件不会被误移动或误删除。原创 2015-09-17 17:36:34 · 3178 阅读 · 1 评论 -
环环相扣---近期自动测试经验总结
在自动测试的过程中,大家要不断地总结开发和测试的经验,并不断优化自动测试的工具和方法,以使得产品的质量更上一层楼。这也是推广自动测试的最终目的。原创 2015-07-23 18:23:05 · 1875 阅读 · 0 评论 -
Linux下两种删除过期文件的方法详述
在实际的C软件开发项目中,不同的软件会在不同的目录中生成文件,由于磁盘的存储空间有限,开发人员不得不考虑对目录下的过期文件进行删除。一般说来,有两种删除过期文件的方法,一种是在C程序中实现,一种是利用crontab实现。本文对这两种方法的具体实现进行详细的介绍。原创 2015-07-29 11:25:17 · 7990 阅读 · 13 评论 -
如何设计软件模块的自动化测试?
一般的软件模块分为消息触发型和主动扫描型两类。本文对这两类软件模块的自动化测试过程进行了详细介绍,为相关模块的自动化测试的设计提供了有益的参考。原创 2015-03-26 15:24:16 · 2905 阅读 · 0 评论 -
函数设计应做到低耦合,高内聚
最近,同项目组的一位师姐请产假了,由我接手她之前的部分版本的开发工作。在开发的过程中,我阅读了某个很古老的版本的程序代码,心生感触,想在这里啰嗦几句。 该版本中很多函数的调用关系都错综复杂,让人读起来非常的费劲。我用如下的图来形象化地表示这种函数之间的调用关系。 箭头的指向为调用关系,如“函数A”调用了“函数B”、“函数C”、“函数D”、“函数E”、“函数F”,以此类推原创 2014-11-08 14:52:17 · 4332 阅读 · 10 评论 -
程序编写中的细节问题
“千里之堤,毁于蚁穴”,很多软件问题并不是由重大的缺陷引起的,反而是一些很细小的问题造成的。下面罗列近期软件开发过程中,我遇到的几个程序编写的细节问题案例。案例一:某软件版本要实现从本地配置的目录中扫描出文件并进行处理的功能,只有满足特定前缀的文件才能被扫描出来。文件的前缀在配置文件中进行手动配置。在测试的过程中,我们发现在目录中有很多满足配置前缀的文件,但一个都没有被扫描出来。问题到底出在哪里呢原创 2014-10-30 16:53:40 · 4110 阅读 · 18 评论 -
让你提前认识软件开发(48):集成测试
第3部分 软件研发工作总结集成测试 【文章摘要】 一般的软件研发项目均涉及到多模块和多功能。在各个模块实现其功能之后,把相关模块结合起来进行集成测试以验证整个系统是否满足需求是很有必要的。 本文以作者的实际项目经验为背景,描述了集成测试的整个过程,并对集成测试过程中的一些常见问题进行了简单的介绍。 1. 前言 大部分软件开发人员在工作过程中可能都会有这样的原创 2014-08-20 19:52:51 · 3365 阅读 · 0 评论 -
让你提前认识软件开发(44):如何解决软件故障?
第3部分 软件研发工作总结如何解决软件故障?原创 2014-08-06 20:08:39 · 2686 阅读 · 1 评论 -
让你提前认识软件开发(41):编程时首先达到正确性,其次考虑效率
第3部分 软件研发工作总结编程时首先达到正确性,其次考虑效率 在实际的软件开发项目中,经常会遇到产品开发周期很短的问题。也就是说,开发人员需要在“质量”和“速度”之间做出权衡。具体到程序代码,就存在到底是先考虑实现功能(即保证程序的正确性),还是要一步到位把事情做好(即保证程序的正确性的同时,兼顾其效率)? 在网上,有关这方面的讨论也非常的多。微软亚洲研究院研究员刘未原创 2014-07-30 19:58:41 · 2540 阅读 · 4 评论 -
让你提前认识软件开发(40):既要写好代码,又要写好文档
第3部分 软件研发工作总结既要写好代码,又要写好文档 对于软件相关行业,在学校或单位上,大家也许都已经注意到了,除了要编写的程序、绘制设计图之外,还有一个重要的工作便是写文档。为什么要写文档呢?因为我们要把自己做的东西展示出来,不光展示给同行看,可能还要展示给其他岗位上的工作人员看,甚至展示给用户看。如果我们只是会写程序,不会在文档中描述自己的想法,那么就真正的成为“码农”了。原创 2014-07-27 20:56:26 · 2659 阅读 · 0 评论 -
让你提前认识软件开发(43):软件产品升级流程
第3部分 软件研发工作总结软件产品升级流程 一个软件产品做出来之后,并不是说永远都不用变了。基于以下的种种原因,我们需要对原软件产品进行升级: (1) 用户对软件功能提出了新的要求,现在运行的软件不能满足用户的新需求。 (2) 原软件存在bug,用升级的方式来修补这些bug。 (3) 对原软件的程序进行了优化,新的软件能够提升程序的执行效率原创 2014-08-03 09:24:49 · 3531 阅读 · 0 评论 -
让你提前认识软件开发(42):性能测试
第3部分 软件研发工作总结性能测试 【文章摘要】 对于通信领域的某些中间模块,其主要功能是对收到的消息进行处理然后发送,在两个模块之间充当了一个“桥梁”的作用。由于消息的条数有多有少,这就对其性能提出了要求。 本文结合作者的实际项目经验,描述了性能测试的整个过程,并对性能测试过程中的一些常见问题进行了简单的介绍。 1. 前言 在完成项目新需求的编码之后,对原创 2014-08-01 18:29:39 · 1644 阅读 · 0 评论 -
让你提前认识软件开发(39):软件研发之殇
第3部分 软件研发工作总结软件研发之殇 在经典著作《人月神话》中,作者提出了一个观点:绝大部分的软件研发项目都不能按期完成。我工作也有一段时间了,发现这确实是一个不争的事实。我所从事的项目中,能按期按质完成的还真的很少。这是什么原因呢?我工作不够努力吗?非也。为了完成任务,我也是经常加班加点地工作,生怕惹恼了上司而饭碗不保。 软件研发是一个系统的工程,是由很多环节组成原创 2014-07-23 20:06:18 · 2475 阅读 · 6 评论 -
让你提前认识软件开发(38):完成第一个新需求
第3部分 软件研发工作总结完成第一个新需求 在入职后不久,我得到了第一个新任务:完成某个版本的一个新需求。所谓的“需求”,就是用文档的形式告诉我们要做什么,要实现什么功能。 在得到需求文档之后,我仔仔细细地阅读了好几遍,发现有些地方自己并不是很明白。如果在自己都不是很确定的情况下修改代码,其后果是很严重的,项目经理曾经这样告诫我。我把自己的疑惑以邮件的形式发给了SE(原创 2014-07-20 22:50:16 · 1867 阅读 · 0 评论 -
让你提前认识软件开发(45):代码的第一印象
第3部分 软件研发工作总结代码的第一印象 我们都很注重给别人的第一印象,也有很多书籍教我们怎样给别人留下一个美好印象的。确实,如果我们第一眼看到某个人,就觉得很不爽,那么一定会在心理上产生抵触,以后再见到他,会有一种疏远的感觉。也正因为如此,当今社会交往中的“面子工程”很重要,不管怎样,先撑足了自己的脸面再说。 代码也一样,也会给别人留下或好或差的印象。当我们看到优美原创 2014-08-07 21:01:26 · 1694 阅读 · 0 评论 -
让你提前认识软件开发(52):系统某模块工作原理详述
第3部分 软件研发工作总结系统某模块工作原理详述 【文章摘要】 某模块在系统中占有非常重要的地位,该模块能够对符合条件的动态信箱进行清理。本模块直接清理的信箱包括:过期动态信箱、冷冻信箱和空动态信箱;删除非动态信箱由本模块发送消息到其它模块完成。 本文对该模块的工作原理的详细介绍,为相关模块的开发和测试提供了有益的参考,同时也有利于现场人员对本模块进行维护。 【关键词】原创 2014-09-05 21:18:00 · 2321 阅读 · 0 评论 -
软件版本的管理
对于刚入职的新员工来说,软件版本的管理常常被忽略。本文简单地介绍了软件版本的分类,并介绍了一种实用的软件版本的管理方法。 1. 软件版本的分类 在实际的软件开发项目中,一般按照两种标准来对软件版本进行分类。 (1) 按照软件版本的适用范围,分为通用版本和定制版本两种。 顾名思义,通用版本就是适合大多数局点(局点也就是软件的使用场所)使用的,原创 2014-10-15 17:02:29 · 2669 阅读 · 0 评论 -
近期开发工作的一点心得体会
近期,本人加班加点地完成了多个软件版本的开发工作。总结起来,有以下心得体会: 第一,软件的第一个程序版本非常的重要,它直接决定了产品的好坏。就像大楼的地基一样,软件后续版本的需求都是在第一个版本的基础上完成的,如果“地基”没有打牢,后面对程序的增删改都会很困难,让人感到似乎掉进了一个“无底洞”里面。 第二,软件的详细设计文档非常重要,千万不要将之放在无足轻重的位置。要想原创 2014-10-27 19:12:23 · 3236 阅读 · 4 评论 -
两起变量初始化问题的排查过程
【文章摘要】 变量初始化看似很简单,但如果初始化位置不当或忘记初始化,则会导致程序行为异常。 本文基于作者的实际项目经验,对近期遇到的两起变量初始化问题进行了详细的分析,为相关软件问题的分析及解决提供了有益的参考。【关键词】 C语言 变量 初始化 开发 一、问题1的排查过程 在对某程序版本进行自测的过程中,发现在程序运行一段时间之后,某指针原创 2014-09-24 16:24:09 · 1986 阅读 · 0 评论 -
让你提前认识软件开发(51):VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改
第3部分 软件研发工作总结VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改 【文章摘要】 Pclint是一种C/C++软件代码静态分析工具。它是一种更加严格的编译器,能够发现普通编译器所不能发现的代码中的很多问题,因此被广泛应用于软件开发项目中。 本文介绍了如何在VC++集成开发环境中配置Linux下的Pclint工程,给出了C语言中pclint原创 2014-08-31 10:29:01 · 6213 阅读 · 0 评论 -
让你提前认识软件开发(47):同行评审
第3部分 软件研发工作总结同行评审 在《浪潮之巅》这本书中,吴军老师描述了在Google早期的工作方式,其中有一段是这么写的:我一般会在吃完晚饭后把代码修改的清单发给克雷格做代码审核,他一般晚上10点左右会回复我,给我修改意见,详细到某一行多了一个空格。 吴军老师所描述的内容,其实就是软件开发中的同行评审流程。 几乎在所有的软件项目中,都需要同行评审。原创 2014-08-17 20:57:06 · 3543 阅读 · 0 评论 -
让你提前认识软件开发(46):首先是为人编写程序,其次才是计算机
第3部分 软件研发工作总结首先是为人编写程序,其次才是计算机 “首先是为人编写程序,其次才是计算机”,这是软件开发的基本要点,软件的生命周期贯穿于产品的开发、测试、生产、发布、用户使用、版本升级和后期维护等长期过程中,只有易读、易维护的软件代码才具有生命力。 在实际的软件开发过程中,可能是由于工作很忙的原因,很多开发人员只注重实现程序的基本功能,而忘记了编程规范,因此写原创 2014-08-13 18:57:32 · 2199 阅读 · 0 评论 -
让你提前认识软件开发(50):软件需求
第3部分 软件研发工作总结软件需求 软件工程师的工作职责是什么?一句话,就是完成软件需求。大家每天都接触到的软件,都是从软件需求一步步进化而来的。那么,软件需求是什么?如何完成需求?在完成需求的过程中我们要注意哪些问题呢?本文将为你解答这些问题。1. 什么是软件需求? 通俗地讲,软件需求是指要求软件开发工程师完成的软件的功能。例如,如果要求一个软件具备文件处理的能力,原创 2014-08-26 20:53:39 · 1929 阅读 · 1 评论 -
让你提前认识软件开发(49):自动测试
第3部分 软件研发工作总结自动测试 【文章摘要】 “百年大计,质量为先”。质量是企业的生命线,优秀的企业必然会推出高质量的产品,也势必会从产品研发的各个环节去保障产品的质量。产品开发时的自测是确保产品质量的一个重要的环节,而自动测试也是提升产品质量和提升研发效率的有效途径之一。 本文根据作者参与自动测试项目工作的实际经验,介绍了自动测试的步骤及相关注意事项等。本文为相关研原创 2014-08-24 21:24:51 · 1746 阅读 · 0 评论