DeadLine:2017.10.13 23:00html
声明:本做业以邹欣老师博客
http://www.cnblogs.com/xinz/archive/2012/03/26/2417699.html
http://www.cnblogs.com/xinz/p/3308608.html
为基础进行修改。算法
不少同窗有疑惑:微信
软件工程课是否就是枯燥的理论课?
或者是几个牛人拼命写代码,其余人抱大腿的课?
要否则就是学习一个程序语言,练习某个框架,搞一个职业培训的课?数据结构
都不对!软件工程有理论,有实践,更重要的是分析,思辨,总结。在课程中,同窗们本身组织团队写一个软件发布,而后分析其中的得失,的确是学习软件工程的一个好方法。这样能根据切身体会来分析,颇有价值,但也有可能“身在此山中”,未能看清全局。并且,课程时间有限,咱们也不能作不少具体的项目。所以,咱们也须要从间接经验中学习,分析。别的项目的成败一样给咱们不少启发!架构
咱们生活中不少时候要和软件打交道,你们上课开小差时候玩的手机游戏,背英语单词的手机App,买火车票的网站,互相联系用的微信微博,等等,都是软件,都很值得分析。框架
- 你为什么成为它们的用户?
- 它们的团队作对了什么,作错了什么?
- 软件工程质量如何?
- 若是你来作,会作得更好么?
经过各类案例分析,评测,辩论,总结,咱们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助咱们在实践中作得更好。工具
分析什么样的软件也有讲究,这就要说到一个故事:学习
某国空军为了提升飞机在空战中的存活率,决定加固飞机,可是加固什么地方呢?他们研究空战后飞回基地的飞机,飞机各部分中弹的地方和密度,想以此得出结论。可是专家们忽略了一点,那些被击中要害的飞机,都没有能飞回基地,也没有可以参加这些调查。测试
幸存者偏倚(Survivorship bias)是一种常见的逻辑谬误,意思是只能看到通过某种筛选而产生的结果,而没有意识到筛选的过程,所以忽略了被筛选掉的关键信息。这东西的别名有不少,好比“沉默的数据”、“死人不会说话”等等。网站
所以,咱们不光要分析那些经历战场的考验而最后"活着出来"而胜利的软件,还要分析那些在战场中被战胜,或者伤痕累累,正在挣扎的软件,这样才能全面地了解软件工程的原理在好/坏软件上所起的做用。
有的同窗会说:
“我只会看看界面,写不出来..."
那么,能够看看这个只评价界面的分析报告,争取写出相似水平的报告来:如何评价微软的UI设计?
当邹欣老师在博客园班级博客微信群中问道:
咱们之前让软件工程的学生测试博客园,提意见,不知道博客园认为这样的活动对博客园有意义么?若是这个学期咱们又继续作,博客园支持么?
博客园负责人dudu在中这样说:
有意义,支持!咱们这个月开始启动博客产品的大改进!
因而,请对cnblogs.com的博客功能,特别是https://edu.cnblogs.com中针对学习,教学,班级管理,互相交流的功能进行分析,这一方面的参考对象是:www.csdn.net。
另外,cnblogs的各项功能(包括博客和班级博客)在手机上作得如何呢?
另外,关于cnblogs.com的竞品分析,请尝试分析stackoverflow.com:
虽而后者不是博客站点,但二者都是面向开发者的社区:
所以仍是有不少能够分析的地方的:D
有一天,在咱们的构建之法教学群内发生了这样的对话:
邹欣老师:
点评软件,找到一家愿意合做的。
桑文锋-神策数据:
能够尝试分析一下咱们Sensors Analytics,这是一个数据分析工具。我还能够来北航做讲解:D
因而,大家懂的。
不了解神策数据的同窗请看简介:
目前神策分析主要有如下五个功能:
- 事件分析
- 漏斗分析
- 留存分析
- 行为序列
- 用户分群
这些功能针对不一样的业务决策者均能起到重要做用。
另外,从功能上来讲,还有一个使用上的功能:
数据概览。
这是一个不一样角色都会用到,适合作易用性分析的功能,在里面能够灵活添加配置、建立概览、添加数据项等。
请选取其中一个功能进行测评。另外,能够测评的方面有:
最近,必应词典产品经理最近给了邹欣老师一个反馈:
欢迎测试移动版本,但愿着重测试这些新功能:拍照翻译,语音翻译以及词汇量测试~
因而,咱们但愿你们能着重测试这些功能:D
必应词典客户端有Windows 10,Windows Phone,iPhone,Android,iPad客户端!
它的竞争品更是多得数不胜数!
注册并使用网站的功能,按照描述的bug定义,找出几个功能性的比较严重的bug。至少两个。用专业的语言描述(每一个bug很多于40字),若有必要,能够配图。
相信每一个同窗的朋友中必定有人须要用这样的软件(例如你上课的同窗),记载你对这位用户的采访。
提示: 采访提要
- 介绍采访对象的背景和需求(他们为什么要开博客,读博客,给博客点评,她有什痛点,她还有别的需求么)
- 让采访对象使用10–30分钟这个软件的基本功能(请上传照片证实用户的确正在使用,远程采访的同窗请让别人帮忙照相)
- 描述用户使用这个产品的过程,用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
- 用户对产品有什么改进意见?
结论:通过这么多工做,你必定有充分的理由给这个软件下一个评价:
请选择一个结论。除了定性的结论,是否能有定量的结论(就像最近比较时髦的手机评测那样,跑个分?),如何定量地评价一个软件?
请看这个连接,并尝试进行定量的测评:
http://www.cnblogs.com/xinz/p/3308608.html
在书上咱们看到:
程序 = 算法 + 数据结构;
软件 = 程序 + 软件工程(软件服务还有数据,内容的因素)
软件企业 = 软件 + 商业模式
那么:
你在第一部分发现的bug,为什么软件团队不能在发布前修复?他们是不知道,仍是有意不修复?你以为是什么缘由?从下面的可能性中选取几个:
- 对用户需求掌握很差
- 具体的设计质量不高
- 开发人员粗枝大叶
- 测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试
- 其余
这个软件/网站/服务有不少能够提升的部分,若是你是新上任的项目经理,如何提升从而在竞争中胜出?
把上面几个部分都写清楚,并带有选择第回答其中三分之二的问题,发布一个我的博客。
做业实际花费时间记录:请你们在博客末尾记录本次博客做业实际花费的时间,计时标准为:一心一意开始作相关调研,不能干其余事。
按时提交,文章显示较高的专业水平和认真细致的工做态度,详略得当:满分。 按时提交,有各类不足,则酌情扣分。 迟交做业,得0分。 不交做业,从学生成绩中倒扣分数。 抄袭等行为则根据学校有关规定处理。