个人总结
这个作业属于哪个课程 |
|
这个作业要求在哪里 |
|
团队名称 |
机你太美 |
这个作业的目标 |
总结这个学期的学习。 |
团队成员列表:
团队成员 | 学号 |
李博 | 201731062327 |
蒋东航 | 201731062328 |
黄宇杰 | 201731062326 |
唐弋力 | 201731062330 |
一、第一次个人作业中对于软件工程课程的想象和提出的问题
提问题的博客:https://www.cnblogs.com/TANGYILI/p/10555496.html
二、对问题的解答
问题一、
《构建之法》1.2.4软件工程的目标章节提到”It's not a bug,it's a feature(这不是缺陷,这是一个功能)”是为什么
解答:很多人认为有BUG就是质量不合格,没有BUG就是质量完美,其实这也未必。所以不能消除所有的BUG 是因为软件工程的重要任务,实在是时间,成本等多种约束条件下决定一个软件在什么时候能“足够好”,可以发布,更多的是在各种要求内做出符合用户需求的软件,且是可以维护和继续发展的,在客户有限时间内,只能尽量的消除BUG,满足使用要求,这才是最重要的。
问题二、
书中3.1写到“软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的“
解答:软件团队就如同足球队一样,拥有个人流程,对于一些特定的角色,还有独特的技术要求,教练和球员之间,球员和球员之间都有很频繁的交流,有战前的计划和训练,有时候的总结和分析,当然还有争论,软件团队和团队中的工程师也是这样,软件系统的绝大部分模块都是由个人开发或维护的,因此同样需要和团队中的其他角色合作,通过交流,提出多种解决办法来实行。
问题三、
《构建之法》3.2软件工程师的误区中提到的“过早扩大化”问题
解答:在写一个程序的时候,让一个函数处理所有可能的类型,想法固然是很美好的,但身为程序员,一定要了解必要性,难度和时机,因为软件工程的重要任务,是满足用户的需求,追求完美可以,但一定要考虑实际
问题四、
《构建之法》8.5中提到的功能的定位和优先级问题
解答:一个团队的资源是有限的,因此可以进行划分,在功能上分为杀手功能和外围功能,杀手功能可以在竞争中取得优势,另外,需求分为必要需求和辅助需求,这样进行分析,有了这些分析,就可以决定怎么处理不同类型的功能,怎样分配资源,这样的产品可以脱颖而出,获得用户的亲睐
问题五、
书中9.4中提到的高效的团队讨论,要带着感情去讨论问题吗?在分析问题的时候要提不同意见吗?直觉和详细分析的矛盾?
解答:会议的组织者应该其最大作用,组织者应该明确会议目的,推动会议进程,促使与会者在每一个阶段做合适的事情,并让会议的参加者通过一系列有序的思维活动来分析问题,包括理清事实,表达直觉和感情,从乐观的角度分析问题,从悲观的角度分析问题,从创意角度分析问题,这样会议就变成了有序的会议,就可以避免抱怨,争吵,伤感情的现象出现。
三丶学到了什么
1.Web服务器编程
2.C#窗体设计
3.Github的操作
四、总结
通过这个课程,学习到了一个成熟软件的开发流程应该是怎样的,从需求分析到程序开发到软件测试,Alpha,Beta版本的推出,学习到团队应该如何协作 ,在课程作业的完成中,体会到了团队编程的好处,可以互相学习,互相帮助,互相监督,同时也学习到了不少新的知识,受益良多