80
社区成员
发帖
与我相关
我的任务
分享这个作业的要求是:https://bbs.csdn.net/topics/608340396
问题1:书中提到了一些原则,比如霍夫斯特塔定律:实际时间总是比预期要长,即便你考虑到了霍夫斯特塔定律。我们在编程开发软件时往往会出现一些意料之外的问题,这需要我们进行时间估算,那么如何进行时间估算?
查阅资料我们可以制定技术方案、为每一步添加时间估算、追加容错时间等步骤。就算我们指定再出色的计划,在执行计划的时候肯定会出现一些特殊的状况,因此我们每执行完计划的一步,我们就应当重新修订计划,将未想到的加入计划,从而不断减少时间上的预差。
问题2:代码复审是一个复杂的过程,需要人为审查,在人力成本方面同时需要极大的要求,是否存在相应的软件能进行自动化代码复审?
查阅资料发现存在比如Getbarkeep,Crucible等代码审查工具,但是这些工具智能起到辅助作用,人为思考仍是代码复查不可或缺的一部分,这些工具只能减轻人为浅层思考,而最深入的那些问题仍需要人为不断反复思考琢磨才能得出并加以解决,所以期待有一款全面高效完整能替代人为的代码复查工具出现。
问题3:在第七章中提到在软件工程中我们是预期变化,不是期望变化,变化会导致一些预期之外的事情发生,会打乱预先的计划,为此我们要保持敏捷的身段,那么如何去预测变化,应对变化?
在第六章敏捷流程中我们可以找到应对变化的方法,但是应对变化需要临时去改变思路,而预测变化则有了一定的准备,所以预测变化比应对变化要好。这就需要我们去预测未来用户需求的改变,要深刻了解用户的心理,还要预测软件工程未来的发展。产品的功能是在最后体现的,所以mvp流程是应对变化的很好一种手段。
问题4:产品的好坏需要用户的反馈来体现,而我们在设计产品的时候,产品的功能是在最后体现的,设计团队怎么在最终设计产品完成前得到反馈?
书中提到可以通过mvp流程,把产品最核心的功能用最小的成本实现出来来获得用户的反馈。但与之对应的是MBP流程,直接将产品最美的形态展现在用户面前,而这对团队有极高的要求,比用户更了解用户的要求,真的很困难。团队做到比用户更了解用户的需求就减少了对用户反馈的依赖性,从而更高效快速正确的设计出产品。
问题5:每个人的编码风格不同,在团队中需要将自身的编码风格因为团队做出让步改变吗?
编码风格的一致性其实对于团队来说是非常重要的,这样就便于其他团队成员看懂代码从而做出及时的建议,更快发现问题,提高团队的效率。
你好,作业的要求是要提出自己还不能回答的问题。 另外你可以看看前人提出的问题: https://bbs.csdn.net/forums/SoftwareEngineering?typeId=828