zoukankan      html  css  js  c++  java
  • 个人作业Week3-案例分析

    DeadLine:2017.10.13 23:00

    声明:本作业以邹欣老师博客
    http://www.cnblogs.com/xinz/archive/2012/03/26/2417699.html
    http://www.cnblogs.com/xinz/p/3308608.html
    为基础进行修改。

    零、说在前面的话

    很多同学有疑惑:

    软件工程课是否就是枯燥的理论课?
    或者是几个牛人拼命写代码,其他人抱大腿的课?
    要不然就是学习一个程序语言,练习某个框架,搞一个职业培训的课?

    都不对!软件工程有理论,有实践,更重要的是分析,思辨,总结。在课程中,同学们自己组织团队写一个软件发布,然后分析其中的得失,的确是学习软件工程的一个好方法。这样能根据切身体会来分析,很有价值,但也有可能“身在此山中”,未能看清全局。而且,课程时间有限,我们也不能做很多具体的项目。因此,我们也需要从间接经验中学习,分析。别的项目的成败同样给我们很多启发!

    我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,背英语单词的手机App,买火车票的网站,互相联系用的微信微博,等等,都是软件,都很值得分析。

    • 你为何成为它们的用户?
    • 它们的团队做对了什么,做错了什么?
    • 软件工程质量如何?
    • 如果你来做,会做得更好么?

    通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。

    分析什么样的软件也有讲究,这就要说到一个故事:

    某国空军为了提高飞机在空战中的存活率,决定加固飞机,但是加固什么地方呢?他们研究空战后飞回基地的飞机,飞机各部分中弹的地方和密度,想以此得出结论。但是专家们忽略了一点,那些被击中要害的飞机,都没有能飞回基地,也没有能够参加这些调查。

    幸存者偏倚(Survivorship bias)是一种常见的逻辑谬误,意思是只能看到经过某种筛选而产生的结果,而没有意识到筛选的过程,因此忽略了被筛选掉的关键信息。这东西的别名有很多,比如“沉默的数据”、“死人不会说话”等等。

    因此,我们不光要分析那些经历战场的考验而最后"活着出来"而胜利的软件,还要分析那些在战场中被打败,或者伤痕累累,正在挣扎的软件,这样才能全面地了解软件工程的原理在好/坏软件上所起的作用。

    有的同学会说:

    “我只会看看界面,写不出来..."

    那么,可以看看这个只评价界面的分析报告,争取写出类似水平的报告来:如何评价微软的UI设计?

    一、本学期供分析的产品:

    1.博客园博客

    当邹欣老师在博客园班级博客微信群中问道:

    我们以前让软件工程的学生测试博客园,提意见,不知道博客园认为这样的活动对博客园有意义么?如果这个学期我们又继续做,博客园支持么?

    博客园负责人dudu在中这样说:

    有意义,支持!我们这个月开始启动博客产品的大改进!

    于是,请对cnblogs.com的博客功能,特别是https://edu.cnblogs.com中针对学习,教学,班级管理,互相交流的功能进行分析,这一方面的参考对象是:www.csdn.net

    另外,cnblogs的各项功能(包括博客和班级博客)在手机上做得如何呢?

    另外,关于cnblogs.com的竞品分析,请尝试分析stackoverflow.com:
    虽然后者不是博客站点,但两者都是面向开发者的社区:

    • 后者的网站设计现代化很多可以和博客园的朴素界面设计对比;
    • 问答系统的设计非常赞可以和博客园的留言区和小组对比;
    • 从问答系统里整合出文档系统的功能可以和博客园的知识库对比;
    • 后者的求职系统也可以和博客园的求职系统对比;
    • 后者对问答的推荐可以和博客园的博客推荐对比。

    因此还是有很多可以分析的地方的:D

    2.神策数据

    有一天,在我们的构建之法教学群内发生了这样的对话:
    邹欣老师:

    点评软件,找到一家愿意合作的。

    桑文锋-神策数据:

    可以尝试分析一下我们Sensors Analytics,这是一个数据分析工具。我还可以来北航作讲解:D

    于是,你们懂的。

    不了解神策数据的同学请看简介:

    神策数据简介

    目前神策分析主要有以下五个功能:

    • 事件分析
    • 漏斗分析
    • 留存分析
    • 行为序列
    • 用户分群

    这些功能针对不同的业务决策者均能起到重要作用。
    另外,从功能上来说,还有一个使用上的功能:

    数据概览。
    这是一个不同角色都会用到,适合做易用性分析的功能,在里面可以灵活添加配置、创建概览、添加数据项等。

    请选取其中一个功能进行测评。另外,可以测评的方面有:

    1. 根据产品手册进行产品的易用性分析,虽然大家对软件的功能不会特别熟悉,但根据需求说明,并尝试找一些bug,总结出软件不好,不方便或者不符合用户习惯的地方;同时,对神策数据的用户手册也可以提出意见或建议。
    2. 根据神策数据中提供的8个demo,请自选其中的demo,首先对demo针对的不同业务进行需求分析,然后分析demo的展示结果是否能够能够满足需求,最后尝试提出一些可以改进的地方。
    3. 调研神策主要的竞争对手,进行同类软件的对比分析,具体请对比talkingdata与Google Analytics这两个竞品,其中一个是神策数据目前国内的一号竞品,另一个是国外的一号竞品。

    3.必应词典

    最近,必应词典产品经理最近给了邹欣老师一个反馈:

    欢迎测试移动版本,希望着重测试这些新功能:拍照翻译,语音翻译以及词汇量测试~
    于是,我们希望大家能着重测试这些功能:D

    必应词典客户端有Windows 10,Windows Phone,iPhone,Android,iPad客户端!
    它的竞争品更是多得数不胜数!

    二、博客具体要求:

    第一部分 调研,评测(软件的bug,功能评测,黑箱测试,第8章用户调研,12章软件的用户体验)

    注册并使用网站的功能,按照描述的bug定义,找出几个功能性的比较严重的bug。至少两个。用专业的语言描述(每个bug不少于40字),如有必要,可以配图。

    相信每个同学的朋友中一定有人需要用这样的软件(例如你上课的同学),记载你对这位用户的采访。

    提示: 采访提要

    1. 介绍采访对象的背景和需求(他们为何要开博客,读博客,给博客点评,她有什痛点,她还有别的需求么)
    2. 让采访对象使用10–30分钟这个软件的基本功能(请上传照片证明用户的确正在使用,远程采访的同学请让别人帮忙照相
    3. 描述用户使用这个产品的过程,用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
    4. 用户对产品有什么改进意见?

    结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价:

    • a)非常不推荐
    • b)不推荐
    • c)一般
    • d)好,不错
    • e)非常推荐

    请选择一个结论。除了定性的结论,是否能有定量的结论(就像最近比较时髦的手机评测那样,跑个分?),如何定量地评价一个软件?
    请看这个链接,并尝试进行定量的测评:
    http://www.cnblogs.com/xinz/p/3308608.html

    第二部分 分析(参考8.6节对工作的估计,和14.1节软件工程的质量)

    在书上我们看到:

    程序 = 算法 + 数据结构;
    软件 = 程序 + 软件工程(软件服务还有数据,内容的因素)
    软件企业 = 软件 + 商业模式

    那么:

    1. 使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。(必答)

    2. 分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?(必答)

    3. 它的市场份额估计第几?两者匹配么?不匹配的原因是什么?

    4. 团队在哪一个层次还有问题?为何这么著名的团队还有这些问题?可以把自己想问软件团队的问题都列出来,也许就能得到团队的亲自解答了!

    5. 从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。(必答)

    6. 根据各种公开资料,推测这个App/系统是用什么语言+架构实现的,做到目前这个水平总的工作量应该是多少(人×月)

    7. 你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?从下面的可能性中选取几个:

      • 对用户需求掌握不好
      • 具体的设计质量不高
      • 开发人员粗心大意
      • 测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试
      • 其他

    第三部分 建议和规划(参考《构建之法》第8章功能的定位和优先级;第9章项目经理)

    这个软件/网站/服务有很多可以提高的部分,如果你是新上任的项目经理,如何提高从而在竞争中胜出?

    • 首先,市场有多大?全中国IT专业的学生和职业人士都可以是用户,总共有多少人?
    • 目前市场上有什么样的产品了,它们的优势劣势在哪里?和它直接竞争的产品在那里?
    • 作为新的项目经理,这个产品的核心用户群是什么样的人,典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
    • 功能:你要设计什么样的功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新在哪里?可以用NABCD分析.
    • 如果你有钱可以招聘6个人,有4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?描述你的团队在16周期间每周都要做什么,才能在第16周如期发布软件的改进版本,并取得预想中的成绩。

    把上面几个部分都写清楚,并带有选择第回答其中三分之二的问题,发布一个个人博客。
    作业实际花费时间记录:请大家在博客末尾记录本次博客作业实际花费的时间,计时标准为:一心一意开始做相关调研,不能干其他事。

    三、评分标准

    按时提交,文章显示较高的专业水平和认真细致的工作态度,详略得当:满分。
    按时提交,有各种不足,则酌情扣分。
    迟交作业,得0分。
    不交作业,从学生成绩中倒扣分数。
    抄袭等行为则根据学校有关规定处理。

  • 相关阅读:
    由优化反射性能问题引发的思考
    Flash还能走多远?
    .net CLR 4.0垃圾回收机制的改进之3
    Silverlight 3引入了GPU加速的特性
    java 字符串
    JAVA 容器
    JAVA 反转链表
    JAVA 自定义比较器
    JAVA 类相关知识
    vscode 输出中文乱码
  • 原文地址:https://www.cnblogs.com/jiel/p/7631784.html
Copyright © 2011-2022 走看看