文章3部分 软件开发工作总结

怎样解决软件故障?

在软件产品的运营维护阶段,软件project师的一项重要工作就是解决软件的bug。在学校的时候,大家学完一门课程。然后考试通过就万事大吉了。

但在实际的软件开发项目中,将软件成功交付给客户,仅仅是“万里长征走完了第一步”,后面还有大量的工作要做,比如:解决软件故障、新增功能、版本号升级等。

作为一名合格的软件project师,一定要学会准确、迅速地解决软件出现的各种问题。

为什么解决软件问题的能力如此重要?由于软件项目的成功率不容乐观。国内某IT公司对本公司内软件项目的成功率进行了长时间的追踪,统计的结果如图1所看到的。

图1 软件项目的成功率统计结果

从图1可以看出,软件项目的成功率是非常低的,大部分的软件项目都会出现超期完毕甚至是失败的情况。既然出了问题,那么就要及时将之解决掉。

        1. 软件故障的分类

依据软件故障的严重程度。将其分为下面三类:

        (1) 严重故障

这类故障通常会导致软件产品无法正常使用,须要马上解决。

假设出现了此类问题,那么软件project师就要放下手中的工作,全力以赴将问题处理掉。

        (2) 一般故障

这类故障尽管不会导致软件产品无法正常使用。但会影响某些功能流程,会影响到用户的体验。

假设出现了此类问题,那么软件project师在手中任务不紧张的情况下。须要抽时间来处理掉,不能让问题一直遗留下去。

        (3) 轻微故障

这类故障差点儿不会对软件产品产生不良影响,用户也非常少可以感认为到故障的存在。

对于追求高质量和良好用户口碑的公司,在兴许产品功能升级的时候。会附带将该类问题一起处理掉。

        2. 解决软件故障所使用的通讯工具

无论出现了哪类软件故障,作为负责任的软件project师,我们都要在尽量短的时间内将之解决掉。为自己赢得赞扬。同一时候也为公司赢得口碑。

一般说来,在解决软件故障的过程中。所使用的通讯工具包含:手机/电话、即时通讯软件(像QQ、Skype等)、邮箱等。

依据软件故障的不同等级,所使用通讯工具的优先级如图2所看到的。

图2 不同故障等级所使用的通讯工具的优先级

        (1) 软件出现严重故障时

那么此时情况就比較紧急,须要软件project师在第一时间里将之解决掉,否则软件无法正常执行。这个时候,非常明显手机或电话是最有效的通讯工具。

故障现场的人员在电话里面将问题描写叙述清楚,研发人员依据他们的描写叙述来评估问题发生的大致位置。然后针对该问题进行改动。

假设使用即时通讯工具((像QQ、Skype等),那么打字须要耽误一定的时间,要把问题描写叙述清楚又须要一定的时间。

等研发project师知道问题的解决办法,或许“花儿都谢了”,客户早已投诉到公司相关部门。邮箱是最次的选择,由于在紧急的情况下,想静下心来写一封邮件也是比較的困难。

顺便说一句。非常多大公司不许员工在办公的电脑上安装QQ软件,防止他们将机密的信息传送出去。

一定要使用公司同意的通讯工具,不要触犯信息安全的红线。

        (2) 软件出现一般故障时

此时,事情不紧急,但还是须要尽快解决。否则长期存在就会演变为软件严重故障。

使用即时通讯工具,研发project师可以知道软件执行的具体情况。针对现场支持人员的回复来安排工作计划。同一时候,现场支持人员将软件执行情况及生成的日志通过邮箱发送回来,方便开发者按图索骥地找到程序的症结所在。

软件出现的故障,大都是一般性的问题,通过即时通讯工具和邮箱就行搞定。

当然,假设要想具体了解软件问题。也可以通过手机/电话来询问现场支持人员。

        (3) 软件出现轻微故障时

此时,软件问题不足以影响到其功能流程,属于可改可不改的类型。

现场支持人员可以将此类问题描写叙述通过邮箱发送回来。开发者将之记录在一个备忘录里面,假设下次该软件产品有新增功能或优化。就将备忘录里面的问题一并攻克了。

在实际的软件项目中,要依据具体情况,灵活地选择通讯工具,其目的就是尽快解决这个问题。

        3. 解决软件故障的依据

在解决软件故障的过程中,软件project师的所參照的东西包含:客户反馈的问题描写叙述、本公司技术支持人员反馈的软件问题描写叙述、程序执行过程中所生成的日志。

        (1) 客户反馈的问题描写叙述

这是软件问题的最初来源。一般说来。客户反馈的问题都比較的笼统,对问题的细节描写叙述得比較少。

依据客户反馈,研发人员可以大致知道软件的问题出在哪里。但假设要准确定位问题,还须要有更具体的反馈。

        (2) 本公司技术支持人员反馈的软件问题描写叙述

假设软件出现故障。本公司通常会派技术支持人员赶到现场,协助客户解决这个问题。他们会将软件问题进行具体的描写叙述。并通过邮箱和即时通讯工具等将这些描写叙述返回给研发人员,供其分析时參考。

相对于客户的反馈。本公司技术支持人员的反馈更加的具体。也更加具有參考的价值。

对于研发人员来说,要对这些信息进行细致的分析,剔除不合理的部分。

        (3) 程序执行过程中所生成的日志

这是最重要的查找问题的依据。

通过对日志进行分析,一般可以准确地定位到是哪段代码出了问题。或是哪段代码的逻辑有问题。

对于研发人员来说。在查找问题原因之前。一定要叫现场支持人员将软件出现故障时候的日志保存并发送回来。

这样可以对比着日志阅读代码,大部分问题的解决办法就行非常快找到了。

         4. 解决软件故障的注意事项

在解决软件故障的过程中,我们须要注意下面几点:

(1) 无论是通过邮箱来与现场交流,还是通过即时通讯工具来联系。都要让自己的项目经理知道交流的内容(发送邮件时要记得把他们抄送上)。

在出现故障的时候。也会有人和你一起分担责任。

(2) 研发人员提供的解决方式,一定要经过验证之后才提供给现场使用。不能将现场当成了測试站。假设方案不经验证直接使用,会出现意想不到的后果,甚至会出现客户的投诉。

(3) 在现场使用解决方式的时候。一定要随时和现场配合,解决该过程中出现的各种意外情况。

(4) 在现场使用完解决方式之后,一定要要求现场支持人员将软件执行状态相关记录和程序日志发回来检查一下,确保功能的正确性。

软件问题在所难免,重要的是我们要有正确的态度,要及时将问题解决。

此外。在日常工作中。我们要注意程序代码的质量。将可能会出现的bug消灭在萌芽状态。

(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,我们的聊天号码:245924426。欢迎关注!)

版权声明:本文博主原创文章,博客,未经同意不得转载。

转载于:https://www.cnblogs.com/blfshiye/p/4884997.html

让你提前知道软件开发(44):如何解决软件故障?相关推荐

  1. 一个沉重的问题:软件开发到底还有价值吗?

    无论是医生.老师,还是会计,都很容易让人理解工作内容,并且这项工作在现实生活中也可以继续发挥作用,但软件开发工程师这个岗位实在是不好描述.纵观国内外不少程序员扎堆的论坛,我们总能看到与"软件 ...

  2. 华为软件开发云如何为数字经济时代赋能?

    在很多人的潜意识里,华为是一家以网络.服务器等硬件为主的世界顶尖级基础设施服务提供商.但是,华为软件开发云在昆明的成功落地,让我们看到华为在软件领域也大放异彩. 在2018云南-华为软件产业峰会上,华 ...

  3. 安卓软件开发进阶之工具也疯狂

    我是大连一家车联网公司的一名安卓开发人员,在我们公司开发一个app的时候,通常都会有几个版本.一个是开发环境版本,这个是我们开发人员自己开发用的版本.一个是测试环境版本,这个是给测试用来测试用的版本. ...

  4. 软件开发攻略技巧 西安尚学堂

    很多人在学习软件开发时很兴奋,为这即将踏入高薪的门槛兴奋不已.孰知软件开发行业水深似海,对于新入门的小白,没练几手,很容易被淹没那大"大海"里. 软件开必,顾名思义,是用电脑的语言 ...

  5. ThinkSNS揭秘软件开发流程

    2019独角兽企业重金招聘Python工程师标准>>> 作为一个经验丰富的老司机--ThinkSNS(http://www.thinksns.com)软件开发团队,今天我们来聊聊软件 ...

  6. 如何做好区块链手机钱包app软件开发?

    如何做好区块链手机钱包app软件开发? 区块链手机钱包app软件开发138-2655-7202http://www.ykmcq.com/ 区块链作为金融行业甚至是改变未来的一项高端技术工具,区块链的相 ...

  7. 软件开发的打怪升级攻略

    通过对软件开发中的工作事务与微技能进行评估和分级,可以清晰地理解工作构成.评估当前水平.定位下一步发展的方向和思路. 核心技能: 技术.编程.交流.合作.公众表达.规划.执行.        两个维度 ...

  8. 重塑软件产业,华为云软件开发云能做些什么?

    每隔几年,变革这个词就会被推至每个人.每个企业.每个行业.每个领域的面前,而保持基业常青只有一个办法,那就是积极响应变化. 眼下就是一个正在经历巨变的时期,然而就像移动互联网时代到来之前,没人会想到微 ...

  9. 并发编程知识总结,软件开发架构,socket套接字模板,粘包问题,struct解决粘包问题,上传大文件数据,socketserver,关于操作系统的发展史,进程,线程。...

    并发编程知识总结 软件开发架构 C/S: client:客户端 server:服务端 优点:占用网络资源少,软件的使用稳定 缺点:服务端更新后,客户端也要更新,需要使用多个软件,需要下载多个客户端 B ...

最新文章

  1. watchOS 5 新特性:继续发力运动与健身
  2. axios delete有请求体吗_关于axios请求——delete方法
  3. java查找最小字符集_如何查找Java中的默认字符集/编码?
  4. MysqlDataTruncation Mysql 数据插入错误
  5. PHP索引数组关联数组
  6. Redis详解——常用命令总结(完善中)
  7. 二十九、制作首页的显示列表
  8. 计算机网络配置vlan实验报告,北京理工大学-计算机网络实践-VLAN配置及VLAN间通信实验报告...
  9. 手把手教你安装IAR
  10. video.h5.player.js视频播放器
  11. 宏基v3-571G拆机
  12. 如何用java编写五子棋_java编写五子棋
  13. 存储型路由器和SAN路由器
  14. 计算机课反思的作文600字,中考反思作文600字6篇
  15. win7计算机excel快捷键,excel快捷键大全 公式
  16. 中英文切换_值得收藏|不重装软件实现ArcGIS中英文版本之间切换
  17. MySQL——————表的查询
  18. 在分片集群中追踪MongoDB的操作日志
  19. Java中的反射和枚举
  20. An unusual vacation

热门文章

  1. 内中断---汇编学习笔记
  2. PS菜鸟入门 -- 实战演示之磨皮
  3. IPNC RDK5.0 make sysall 无法通过问题
  4. 曙光服务器2008系统,在中科曙光I620-G20服務器上安裝Windows 2008 R2 系統步驟
  5. Android后台杀死系列之二:ActivityManagerService与App现场恢复机制
  6. NOIP2018比赛总结
  7. JZOJ 5669. 【GDSOI2018模拟4.19】排列
  8. JZOJ 4910. 【NOIP2017模拟12.3】子串
  9. android 动态移动xy,android – 如何使用AChartEngine动态线图和X轴自动平移(滚动)?...
  10. 实战tkinter图形界面开发_如何进行简单的图形开发?