109
社区成员
本次作业截止时间为:2024年10月15日 23:59
注:博客发布后需要审核,请同学们记得提前发布博客,避免影响作业提交。
很多同学有疑惑:
软件工程课是否就是枯燥的理论课?
或者是几个牛人拼命写代码,其他人抱大腿的课?
要不然就是学习一个程序语言,练习某个框架,搞一个职业培训的课?
都不对!软件工程有理论,有实践,更重要的是分析,思辨,总结。在课程中,同学们自己组织团队写一个软件发布,然后分析其中的得失,的确是学习软件工程的一个好方法。这样能根据切身体会来分析,很有价值,但也有可能“身在此山中,未能看清全局。而且,课程时间有限,我们也不能做很多具体的项目。因此,我们也需要从间接经验中学习,分析。别的项目的成败同样给我们很多启发!
我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,背英语单词的手机App,买火车票的网站,互相联系用的微信微博,等等,都是软件,都很值得分析。
- 你为何成为该软件的用户?
- 软件背后的团队做对了什么,做错了什么?
- 软件工程质量如何?
- 如果你来做,会做得更好么?
通过各种案例分析,评测,思辨,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。
分析什么样的软件也有讲究,这就要说到一个故事:
某国空军为了提高飞机在空战中的存活率,决定加固飞机,但是加固什么地方呢?他们研究空战后飞回基地的飞机,飞机各部分中弹的地方和密度,想以此得出结论。但是专家们忽略了一点,那些被击中要害的飞机,都没有能飞回基地,也没有能够参加这些调查。
幸存者偏差 (Survivorship bias)是一种常见的逻辑谬误,意思是只能看到经过某种筛选而产生的结果,而没有意识到筛选的过程,因此忽略了被筛选掉的关键信息。这东西的别名有很多,比如“沉默的数据”、“死人不会说话”等等。
因此,我们不光要分析那些经历战场的考验而最后 "活着出来" 而胜利的软件,还要分析那些在战场中被打败,或者伤痕累累,正在挣扎的软件,这样才能全面地了解软件工程的原理在好/坏软件上所起的作用。
注:请先仔细阅读本次作业的要求,根据要求完成自己的思考,在完成作业后可以选择参阅,看看自己是否有可以提升的地方。前几次作业有出现模仿去年博客的情况,一旦助教发现将进行扣分处理,请同学们 独立完成作业,严禁一切形式的模仿和抄袭。
1、本学期供分析的产品
作为一个 IT 行业的学生或从业者,每天都在使用各种各样的软件,你能否给这些软件写一个评测博客呢?
请同学们自行在以下四个网站中选择两个网站进行对比测试。
2、博客具体要求
第一部分 调研,评测
(参考知识点:软件的 bug,功能评测,黑箱测试,第8章用户调研,12章软件的用户体验)
体验两个产品的功能,找出至少1个较高质量的功能性bug。
(1)使用体验
(2)BUG描述
须用专业的语言描述,其中必须包含以下内容(为方便说明,Bug和改进点在接下来的章节中统称Bug):
Bug发生时的测试环境
Bug的可复现性及具体复现步骤
对于复现步骤,需要按照流程顺序,或者绘制流程图进行详细描述,并确保这一情况可以被复现且符合上述全部描述。
Bug具体情况描述
Bug分析
(3)结论
经过这么多工作,你一定有充分的理由给这个软件下一个评价:
请选择一个结论。
除了定性的结论,是否能有定量的结论(就像最近比较时髦的手机评测那样,跑个分),如何定量地评价一个软件?
请看这个链接,并尝试从多个维度对软件进行定量的测评:
第二部分 分析
(参考知识点:8.6节对工作的估计,和14.1节软件工程的质量)
从书上我们可以得知:
程序 = 算法 + 数据结构
软件 = 程序 + 软件工程(软件服务还有数据,内容的因素)
软件企业 = 软件 + 商业模式
那么请你:
第三部分 建议和规划
(参考知识点:《构建之法》第8章功能的定位和优先级;第9章项目经理)
这个软件/网站/服务有很多可以提高的部分,如果你是新上任的项目经理,如何提高从而在竞争中胜出?请针对以下的问题进行思考
本次作业满分100分:
第一部分(40‘):
【覆盖课程目标4】↓
(20’) 两个软件的体验描述
(5‘) 两个软件定性和定量的结论
(5‘)两个软件中,至少1个高质量的功能性Bug的描述**
(5‘)两个软件中,其他高质量的功能性Bug的描述**
【覆盖课程目标5】↓
第二部分(20‘):
【覆盖课程目标4】↓
【覆盖课程目标5】↓
第三部分(40‘):
【覆盖课程目标4】↓
【覆盖课程目标5】↓
1、为了方便阅读以及助教评分,请大家在博客开头给出博文目录,作为内容的索引
请确认目录可以 正确跳转!
请务必包含以下大标题,标题含义相近即可,你可以个性化你自己的大标题,并添加下属的小标题:
2、为了方便其他学校的老师或者助教了解课程实况,请大家在作业开头添加作业的基本信息:(必做)
这个作业属于哪个课程 | <班级的链接> |
---|---|
这个作业要求在哪里 | <作业要求的链接> |
这个作业的目标 | <写上具体方面> |
其他参考文献 | ... |
3、作业提交规则
4、注意事项
班级群如果发布相关通知也是作业要求一部分,请及时查看群通知; 若需要在群填写相关信息,未能在deadline之前完成填写的,**扣实际得分的50%**; 如对作业存在疑问,请在deadline之前三天在班级群提出; 若助教对作业要求有修改,会在群内公告,请务必查看并按新的要求完善作业。即使提交了作业,也应该关注班级群中助教的公告!
5、疑惑解疑
若有对题意不清或者有不理解的地方,可在QQ群或微信群中直接提问
https://bbs.csdn.net/topics/619361250
已发布忘提交(2024/10/13发布)