这个作业属于哪个课程 | https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1 |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3379 |
团队名称 | 机你太美 |
这个作业的目标 | 总结这学期的所学 |
个人链接:https://www.cnblogs.com/hyj990908/
1.团队成员列表
团队成员 | 学号 |
李博 | 201731062327 |
蒋东航 | 201731062328 |
黄宇杰 | 201731062326 |
唐弋力 | 201731062330 |
2.总结
问题1:个人开发流程的目的就是记录工程师实现需求的效率,但是这个方法在我看来非常的费时费神,同时这个方法非常的依赖数据,如果数据不准确或缺失可以说就白费了那么多时间。既然这个方法事倍功半同时还存在许多的不确定因素,我们为什么还要用这个方法?
回答:我认为这个方法虽然有些许瑕疵,但还是非常的实用。就程序员个人而言,这个方法可以直观的让我们看到自己的优缺点,这样一来程序员就可以找到自己的不足之处并加以改正,以此来提高我们的工作效率。所以我们还要用这个方法。
问题2:我认为结对编程是建立在驾驶员与领航员能够默契配合的前提下,这样的一对人在工作中可能比较少。我在想怎么能让结对编程更为大众化。如果驾驶员与领航员在编程的过程中发生了分歧又该怎么办?
回答:我认为首先,结对编程可以促进参与项目的程序员自身的提高,一对程序员工作的时候,水平较低的一方会潜移默化地受水平略高的程序员影响,学到一些新的东西。而水平高的一方同样因为不断地把自己的想法说出来而整理了自己的思路。其次,一定时间周期地打乱配对,让参与项目的人员相互转换位置,使得维护繁杂的文档变得不那么重要。大家分组打乱后,口头的交流很容易让所有人都熟悉每个模块。
问题3:组织之间的交流方式会极大的影响系统的设计,那么怎样才能让这种影响最小化甚至消除影响呢?
回答:
问题4:书中建议我们倾斜资源设计功能,但我觉得这样只留住了有特殊需求的用户。用游戏来举个例子,A游戏在游戏的视觉上做的特别好,B游戏做的非常的均衡,我想大部分的用户还是会选择B游戏。
问题:我觉得这种情况可以使用NABCD分析方法,通过这个方法可以分析出用户的需求,自己软件的好处,这就可以分析出我们是否需要倾斜资源,向什么功能倾斜功能。
问题5:如果这个功能不是客户强制要求的功能,但是这个功能却可以吸引部分用户,那到底是砍掉这个功能还是继续完成?我们怎么去衡量到底是砍掉还是继续完成?
问题:我觉得这种情况应该与客户进行沟通,因为我们首先应该满足客户的需求,如果客户不需要这个功能我们就没必要在这种额外的功能上花费时间。
收获:了解了许多设计软件的方法,了解并掌握了Git的一些简单操作。通过这门课程第一次了解并参与了制作软件的许多步骤。通过这门课程我知道了,如果想要做一个好的程序员,不仅仅需要会打代码,我们还应该多与他人进行沟通。我们也需要多从网上学习我们不知道的编码知识以备不时之需。这门课程给了我许多重要的经验对未来打好了基础,使我受益匪浅。