回答过去的提问

原问题博客地址:http://www.cnblogs.com/R-81/p/5873996.html

ASK:

Bug的定义根据开发者与使用者的分析角度不同,有着很大的区别,如何使开发者能够有效的感受使用者的角度,使软件更具人性化?

ANSEWR:

其实在团队项目和试用必应词典作业实践考察中,我逐渐觉得开发者几乎是不可能预知到使用者角度所认同的bug,开发者眼中的

bug是指对代码负责,代码的正确性要有保证,代码的安全性和稳定性上不会出现问题,经过单元测试、白盒测试都不会出现问题,那么

开发者就会认为自己的程序上已经没有bug了,而且就像尹宝林老师说的一样,程序员是“自负”的,出现任何问题第一时间也不会认为是

自己的程序有问题,至于使用者角度的bug,就更难发觉到了。所以我认为,使开发者有效感受使用者的角度这个工作,并不是开发者的

任务,而是测试人员的工作,负责测试的人需要选取没有参加过开发,对于程序内部实现了解的越少越好的人来进行使用测试,依据其使

用后的感受,反馈给开发人员进行程序上的修正,这个过程并不是开发人员甩锅,把工作丢出去,而是类似于旁观者清的理论将工作分离

开,得到不会被自己认知蒙蔽的想法和感受。

ASK:

面对代码量比较大的工程,如何做到有效的管理和控制?

ANSWER:

我觉得通过整个团队项目的过程,这个我问题我已经有了深刻的认识。首先团队需要一个专门的项目经理来负责整个项目进度的规划

和任务的分配,在项目的最开始需要把整个项目的工作量进行一个列表,把任务划分成一个一个小块,分配到每个人身上,根据项目的截

止日期规划时间安排,留出一定的时间富裕来应对特殊情况。在项目进行中,每个人要分工明确,将功能划分到各个模块,每天每个人完

成任务后需要进行一定的反馈工作,比如上交到git上,和项目经理也要有一定的通知反馈,报告完成进度,如果没有完成,需要说明问题

出在了哪里,调用一些富余时间迅速解决掉。总之就是有专门的管理进度的人,其他人根据分配到的任务完成自己的工作并且及时反馈。

ASK:

在开发流程中,如何从“写了再改的模式”的模式中脱离出来?

ANSWER:

这个就像大泥球里面说的差不多,首先开始的时候需要进行一定的设计,在代码实现阶段根据之前的计划逐步完成,在代码实现的过

程中难免会遇到突发情况,需要加入一些修改修正来弥补之前没有预料到的问题,问题在于这样的行为是有增无减还是有所修正,如果是有

增无减,那么就是无限的重复写了再改的过程,最终还是落得大泥球的效果。所以除了需要最开始的设计,在实现过程中还要尽量避免一次

性代码的出现。

ASK:

在构建软件工程的过程中,从何时开始考虑用户体验的问题?

ANSEWR:

用户体验这块可能在项目的前期就需要考虑,原因有二,其一用户体验是前端比较关注的问题,因为前端界面用户体验不好的问题导致

的用户流失,这部分的流失掉的用户很难再争取回来,而且非常可惜;其二,用户体验的优劣有时候也会影响到后端功能的实现,有些功能

可能后端认为是一个很有意义的功能,花费了大量的时间精力去完成,但是发现用户体验并不够好,这样的话这部分的投入就是一种浪费,

如果将这些所花费的时间用于用户体验良好的功能,可能会有更好的效果。

其他问的问题:

问题(1)(3)问的好像有点偏,对于当初自己问什么问出这样的问题感觉不可思议。

新的问题:

项目中难免会遇到突发情况,那么预留出多少比例的时间比较合适?10%左右?

因为在我们的项目中就发生了完全没有想到的突发问题,在解决的时候花了很多时间,导致进度有一段时间的卡顿,我们也预留出了一些时间

面对可能出现的问题,我想知道在实际工程化项目中,一般都是预留多少的时间呢?

项目经理如何在完成自己本职任务的情况下保持和队友间的友好关系?

这一点我觉得真的是挺想知道的,虽然看起来有点搞笑,但是在项目实现的阶段,我真的好怕项目经理啊,每次要是项目经理找我我交不出来

东西都觉得特别尴尬,项目经理也挺辛苦的,又完成自己的任务又要管理整个团队,但我还是好怕他……

知识点总结:

1、需求阶段:

在项目开始之前要做好用户需求的调查,统计分析用户需求,根据结果分配各个功能在实现上的重要程度。

2、设计阶段:

充分考虑需求分析,设计应该先于动手实现,好的设计可以节约之后的实践,草率的设计可能会使实现阶段发现更多的问题。设计从整

体到局部,从结构到细节,确定每个人负责部分。

3、实现阶段:

减少新技术的使用,每一项新技术的使用都有可能引发新的问题,这也可能会占用更多的时间。按照设计文档构建代码,出现新的问题

之后,有影响到其他人的改动需要及时通知队友。

4、测试阶段:

每完成一个部分,就对这个部分函数进行单元测试,这样可以快速的定位问题出现的位置,不要等到把所有的代码都完成之后,再来测试,这

样需要这股排除问题出现的位置。

5、发布阶段:

发布的版本应该是最稳定的版本,开发者需要告诉团队各自的bug有什么、可能的危害是什么、是否能够修复,选取最稳定的版本,之后

的功能添加和优化可以在后续补上。

6、维护阶段:

发布并不是项目的终结,维护是一个团队对于项目负责的表现,维护阶段应该保证项目的正常运行,出现问题和故障应该定期进行修复和

纠正。

时间: 2024-10-05 04:25:57

回答过去的提问的相关文章

回答自己的提问

第一章:需要团队合作更紧密. 第二章:结合自身情况和团队组员情况适当分配工作任务,最大化团队力量. 第三章:一个人能力多少取决于他所做过的成绩. 第四章:公测比较好,多点用户,多点反馈. 第五章:应该配合团队成员情况,尽量把团队力量最大化. 第六章:出错后自然就会补回去,补回去了就达到了很好的效果了. 第七章:到现在都不是很清楚... 第十章:多思考,且要换位思考,置身其中的每一个角色. 第十一章:很难做到自由的码农,当然经验足后,就自然不会是码农了,码农只是一个阶段. 第十二章:首先先小部分给

回答自己的提问——对自己最大的反馈

1.既然我们要不断地根据客户的需求来编写程序,那我们平时写的代码在今后如若遇到不同需求的时候几变成了一些废弃的资料,不能再重复使用了吗?那么代码的意义又将失去了,我们创造了它却又抛弃了它,正如抛弃了自己的孩子一般,创造它又有何意义啊? 2.我们在选择队友的时候应当要怎么考虑呢?强强联合?还是以优带弱?是否可以详细解说一下应当如何选择自己的队友? 3.我们应当怎样选择不同的开发流程才能开发出适应时代的软件呢? 4.如果在冲刺的时候发现了新问题,改进了原来的计划,这是好事还是坏事呢? 5.我们作为一

回答自己的提问!

1.在那么多软件工程开发的方法中,什么方法适用于我们学生现在初步的软件开发呢,怎样能提高我们对软件开发的兴趣? 答:现在没有任何一种方法是普适的:我觉得现在我们团队的开发方法就适用于学生的开发,通过sprit会议,冲刺,燃尽图等等. 2.既然我们要不断地根据客户的需求来编写程序,那我们平时写的代码在今后如若遇到不同需求的时候几变成了一些废弃的资料,不能再重复使用了吗? 答:每段代码都有自己的意义,每个软件工程师都是用无尽的代码练就而成的,没有练习就没有经验,也就没有所谓的能力. 3.怎样才能高效

读教材并提问-回答自己的提问

第一章:概论 打开第一章时,我想到的是:什么是软件和软件工程是什么,在阅读中让我感到很困惑,但经过仔细阅读之后我大概地了解,最后我还不太明白的是怎样才能做更好的软件? 答:软件=程序+软件工程,所以,想做好软件,要先学好编写程序. 第二章:个人技术和流程 在这章中让我想到了怎么提高个人水平和技能?一个人怎样独立开发程序和发现问题?培养个人写程序的习惯和个人开发流程中要注意到哪些问题,特别是在程序的测试中下大量时间. 答:要经常写程序,以此来提高个人能力,写程序时要注意格式速进. 第三章:软件工程

在一个小班,所有人中,随机抽取一个人回答问题,且不能重复提问同一个人

package Moth.JUL.JUL04; import java.util.Scanner; //有12个人,循环随机提问一个人,直到提问完所有人为止,要求不能重复提问到一个人 public class Random { static Scanner input = new Scanner(System.in); public static void main(String[] args) { String names[] = { "吖一", "吖二", &q

我30天在Stack Overflow问答网站上回答问题的感受

想法的萌芽 如果非要总结下我多年来是如何使用Stack Overflow的话,我的答案就是:打开网页,搜索问题,查看Stack Overflow的搜索结果,参考答案,最后再关掉网页. 我的生活已经离不开Stack Overflow了.但我从来没有对那些有用的回答做出过反馈,更别提自己提问题和回答问题了. 不过我最终还是意识到,Stack Overflow的成功正是建立在其众多用户的慷慨解答上.我从这个网站上收获了很多,却从未做出回报,因为没有任何人.任何规则的约束.每个问题.每个答案或者每个有帮

DNS服务配置及拓展(1)

DNS服务配置及拓展 一.DNS服务的信息说明: A##正向记录 PTR##反向,ip到域名 host -l example.com##查看域中的所有主机 dig -t soa example.com##辅助dns 软件包: bind DNS主配置目录:/var/named/chroot/ DNS主配置文件:/etc/named.conf DNS A记录存放目录:/var/named/chroot/var/named 二.如何配置dns正向解析: 1.vim /etc/named.conf#编辑

TP3.23开发的分答微信版语音问答系统源码

演示地址:http://yd.168282.com (请在微信中打开演示) 公众号演示:(请直接扫码演示) 9月最新功能如下:1.易答:付费你(我)问,我(你)答,有人付费听,你我分钱.2.录音时自动转MP3格式,支持所有移动端设备3.每晚程序自动结算4.收入.支出 账目明细5.赞赏:如果你觉得答主答得漂亮,可以直接为他点赞6.问题搜索:搜人不够,还想搜问题,我们已经实现了这功能7.拒绝回答:不想回答的问题直接拒绝8.多级分类9.增强答主审核机制10.图文回答,图文提问,可后台开启11.追问功能

面试必看:java面试考点干货精讲视频教程

Java作为目前比较火的计算机语言之一,连续几年蝉联最受程序员欢迎的计算机语言榜首,因此每年新入职Java程序员也数不胜数.很多java程序员在学成之后,会面临着就业的问题.在面试的过程中,面试技巧是一项很重要的能力. 今天要给大家介绍的是一个java经典面试套路精讲视频教程,需要的朋友可以看看,希望能帮助到大家! 课程目录: 第一节. String Stringbuffer Stringbuilder 深度解析第二节. 完美回答面试题Int 与Integer的区别第三节. 以数据结构挖掘集合面