前言

很多同学有误解:

  • 软件工程课是否就是理论课?
  • 或者是几个牛人拼命写代码,其他人打酱油的课?
  • 要不然就是学习一个程序语言,搞一个职业培训的课?
    都不对!软件工程有理论,有实践,更重要的是分析,思辨,总结。在课程中,自己组织团队写一个软件,然后分析,这样能根据切身体会来分析,很有价值,但也有可能“身在此山中”,未能看清全局。而且,课程时间有限,我们也不能做很多具体的项目。因此,我们也需要从间接经验中学习,分析。别人的项目的成败同样能够给我们很多启发!

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

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

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

第一部分:调研, 评测

1.产品
智慧集大平台——集大通APP
2.上手体验

集大通APP案例分析-LMLPHP

3.找BUG

  • BUG1
    我才刚下载了集大通,都还没登录就叫我更新,更新包没有及时更新到下载软件的网站中吗?或者下载的时候应该有版本选择啊,这样又要重新下载一遍多麻烦。
    集大通APP案例分析-LMLPHP

  • BUG2
    刚进入界面就收到教务发的课程安排通知,但是我有点不是很懂这是什么操作(课程通知与上课时间不符),具体请看下图
    集大通APP案例分析-LMLPHP
    集大通APP案例分析-LMLPHP
    集大通APP案例分析-LMLPHP

  • BUG3
    就如BUG2所示,首先,每次进课表看教室安排的时候,进入的速度非常慢,反应好慢,而且有时候还会出错要退出去再重新点击课表才可以。
    集大通APP案例分析-LMLPHP
    其次集大通上我的个人课表与实际的个人课表并不符合,个人课表与班级课表一样。。。。数据没有及时跟新。
    集大通APP案例分析-LMLPHP
    集大通APP案例分析-LMLPHP
    而且课表只能在空白处添加课程,就跟做记事本一样,但是不能修改已有的课程时间。
    集大通APP案例分析-LMLPHP
    集大通APP案例分析-LMLPHP
    点周一56节的课就只能查看不能修改
    集大通APP案例分析-LMLPHP

  • BUG4
    集大通很多应用是网页界面,很不方便!比如图书馆选座,现在嘉庚和延奎的电子阅览室都要选座,预订才可以坐,像期末这样,大家都很早去图书馆占座,可是要是哪天来不及的话,集大通做了这个应用功能,目的不就是为了方便同学们可以更快更好的选座吗?但是这个界面也太不友好了吧,只能看到一点点,这样谁会想用这个功能呢?
    集大通APP案例分析-LMLPHP
    再比如这个选座点进去不是很懂这个界面,跟图书馆刷卡选座都不一样,左右都动不了,不知道要怎么弄。
    集大通APP案例分析-LMLPHP

  • BUG5
    这个应该不算BUG,但是这个很难受,进入每个应用的速度都很慢很慢
    集大通APP案例分析-LMLPHP

4.分享并采访胖友

  • 采访对象的背景和需求

  • 让采访对象使用10-30分钟该APP的功能
    集大通APP案例分析-LMLPHP

  • 描述使用过程

第二部分:分析

  • 使用此软件的所有功能 , 估计这个项目做到这个程度大约需要多少时间 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持)。
    集大通APP案例分析-LMLPHP
  • 不要写成一个罗列功能的流水单子! 而是要集中火力在一个场景,这个场景中典型用户有什么需求,软件如何解决了需求(或者没解决),UX 有什么细节是好的,差的,请结合书上UX的内容来分析。
  • 你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?从下面的可能性中选取几个:

    • 对用户需求掌握不好
    • 具体的设计质量不高
    • 开发人员粗心大意
    • 测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试
    • 其他
  • 团队在哪一个层次还有问题? 可以把自己想问软件团队的问题都列出来, 也许就能得到团队的亲自解答了!
  • 从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面 (具体建议)。

第三部分:建议和规划

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

  • 这个软件/网站/服务有很多可以提高的部分, 如果你是项目经理,如何提高从而在竞争中胜出?
  • 目前市场上有什么样的产品了?
  • 作为新的项目经理,这个产品的核心用户群是什么样的人, 典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
  • 如果你有钱可以招聘 6 个人, 有 4 个月的时间, 你作为项目经理, 应该如何配置角色 (开发, 测试,美工等等)?
  • 描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
05-27 23:46