前言
很多同学有误解:
- 软件工程课是否就是理论课?
- 或者是几个牛人拼命写代码,其他人打酱油的课?
- 要不然就是学习一个程序语言,搞一个职业培训的课?
都不对!软件工程有理论,有实践,更重要的是分析,思辨,总结。在课程中,自己组织团队写一个软件,然后分析,这样能根据切身体会来分析,很有价值,但也有可能“身在此山中”,未能看清全局。而且,课程时间有限,我们也不能做很多具体的项目。因此,我们也需要从间接经验中学习,分析。别人的项目的成败同样能够给我们很多启发!
我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信、QQ,等等都是软件,都很值得分析。
- 你为何成为它们的用户?
- 它们的团队做对了什么,做错了什么?
- 如果你来做,会做得更好么?
通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。
第一部分:调研, 评测
1.产品
智慧集大平台——集大通APP
2.上手体验
emmmmmm集大通下载无数次又卸载无数次,第一次下载是在大学入学前,因为好奇就下载了,后面发现并没有什么用就卸了(PS:对于我来说,因为那个朋友圈啥的跟QQ差不多啊,而且很多都是发广告没什么可以看的,哦还有很重要的一点,集大通看教务处仍然要用内网啊,还不如用电脑!),但是后面又因为看课表和成绩又重新下回来了,然后的然后,手机内存不足又卸了觉得太占位置了,因为每个学期我都会在自己的桌子那贴新的课表,一般只有期末的时候查成绩才用到集大通,所以就卸了等期末再下载.....(是不是觉得我很无聊,没办法,手机只有16G,臣妾不得已而为之啊)。现在集大通的功能比以前好多了,至少可以给校园卡充费了,虽然还要去领款,但是比以前好太多了啊,你知道上学期期末的圈存机一直坏对于要在食堂吃饭的同志是多么痛苦的一件事吗!!!!(当时为了存钱还特意去取钱了)
啊,突然想起来一件事,集大通只能在百度搜索中下载。。。。。
还有一个!每次登进去,界面消息接收中会很久!如下图所示
3.找BUG
BUG1
我才刚下载了集大通,都还没登录就叫我更新,更新包没有及时更新到下载软件的网站中吗?或者下载的时候应该有版本选择啊,这样又要重新下载一遍多麻烦。BUG2
刚进入界面就收到教务发的课程安排通知,但是我有点不是很懂这是什么操作(课程通知与上课时间不符),具体请看下图BUG3
就如BUG2所示,首先,每次进课表看教室安排的时候,进入的速度非常慢,反应好慢,而且有时候还会出错要退出去再重新点击课表才可以。
其次集大通上我的个人课表与实际的个人课表并不符合,个人课表与班级课表一样。。。。数据没有及时跟新。
而且课表只能在空白处添加课程,就跟做记事本一样,但是不能修改已有的课程时间。
点周一56节的课就只能查看不能修改BUG4
集大通很多应用是网页界面,很不方便!比如图书馆选座,现在嘉庚和延奎的电子阅览室都要选座,预订才可以坐,像期末这样,大家都很早去图书馆占座,可是要是哪天来不及的话,集大通做了这个应用功能,目的不就是为了方便同学们可以更快更好的选座吗?但是这个界面也太不友好了吧,只能看到一点点,这样谁会想用这个功能呢?
再比如这个选座点进去不是很懂这个界面,跟图书馆刷卡选座都不一样,左右都动不了,不知道要怎么弄。BUG5
这个应该不算BUG,但是这个很难受,进入每个应用的速度都很慢很慢
4.分享并采访胖友
-
采访对象的背景和需求
采访对象:陈同学,计算机工程学院计算1511班
需求:查成绩,查课表,交网费,充值校园卡。 让采访对象使用10-30分钟该APP的功能
描述使用过程
Q1:第一次使用集大通是什么感受?
A1:感觉就是查课表的。
Q2:使用集大通的过程中,有没有什么让你觉得很方便的地方或者很不方便?
A2:交网费, 步骤比较多。
Q3:你觉得集大通还有什么需要改进的或者增加的功能吗?
A3:交电费, 各种考试报名。
Q4:请选择一个结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价:
- 非常不推荐
- 不推荐
- 一般
- 好,不错
- 非常推荐
A4:好, 不错
第二部分:分析
- 使用此软件的所有功能 , 估计这个项目做到这个程度大约需要多少时间 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持)。
- 不要写成一个罗列功能的流水单子! 而是要集中火力在一个场景,这个场景中典型用户有什么需求,软件如何解决了需求(或者没解决),UX 有什么细节是好的,差的,请结合书上UX的内容来分析。
场景1:上学期期末学校里的圈存机经常性坏,经常是今天可以用明天又不能用,那个时候集大通有校园卡充值的功能,但是那个时候这个功能可以说是躯壳,点进去并不能充钱啊,导致现金充值那排了老长的队,等充好钱食堂的菜都快没了。
典型用户:在校大学生
现在集大通可以直接对校园卡进行充值,虽然还要去领款,但是比以前方便多了,至少现在线上直接充好去领款机滴一下就可以了,不用排队,比圈存机快还方便。而且圈存机充值绑定的是学校的那张银行卡,有些同学的那张卡只是用来交学费的,生活费并不在那张卡里,这样就很不方便,每次要用之前还要先转帐。
场景2:交电费
典型用户:在校大学生(尤其是住高层同学)
冬天还好,夏天宿舍要是没电,那简直是,痛不欲生。尤其对于住在高楼层的同学,哇,以前没电了还要爬那么多的楼梯才能充电费,回到宿舍又一身汗简直了。现在可以直接在集大通上查询剩余电量,预防停电;但是还不能直接充值电费就有点不友好了,难过。
- 你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?从下面的可能性中选取几个:
- 对用户需求掌握不好
- 具体的设计质量不高
- 开发人员粗心大意
- 测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试
- 其他
我觉得很大一部分是对用户需求掌握不好,因为这个软件是针对在校大学生使用的,可是最后很多应用都没有达到实际想要的效果,比如播报课程安排,假如我今天晚上看了课程安排的播报,但是播报的内容与课表不符,那上课的时候就很尴尬啊,书都带错了。再比如应用功能的界面,既然是手机客户端,却做成了PC客户端,这有设计质量不高的原因。有可能是直接采用了电脑版的界面。
- 团队在哪一个层次还有问题? 可以把自己想问软件团队的问题都列出来, 也许就能得到团队的亲自解答了!
为什么很多应用软件设计也添加到集大通里了,但是并不能用呢或者使用的体验感也太差了吧?是测试的把关不严,还是什么?这样给人的印象非常不好
- 从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面 (具体建议)。
1.在设计软件的时候,可以多做些需求调研,因为感觉好多应用都是在我们不知道的情况下突然就出现在集大通里,而且有些使用感还很差。
2.界面的设计可以再好一点,尤其是应用的界面和课表的界面,能够做到一次性看到周一到周五的课表
第三部分:建议和规划
(参考《构建之法》第8章功能的定位和优先级;第9章项目经理)
- 这个软件/网站/服务有很多可以提高的部分, 如果你是项目经理,如何提高从而在竞争中胜出?
首先,这个软件服务的对象是在校大学生以及教师,可以先做一个全面的需求调研,对用户需求进行详细的分析,只有让用户觉得这个真的很方便才会有下载和使用率;其次,在方便的同时提高界面的友好度。
- 目前市场上有什么样的产品了?
emmmmmm我好像还没发现其他学校有类似这个软件
- 作为新的项目经理,这个产品的核心用户群是什么样的人, 典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
核心用户群:当然是在校大学生和老师啊(有教师客户端)
典型用户的描述:
学历:本科或以上
年龄:18-24岁
专业:不限
爱好:各有各的癖好
收入:不明
表面需求:查询课表成绩,校园卡、网费充值等等
潜在需求:潜在需求?比如广交好友?
- 功能:你要设计什么样的功能? 为何要做这个功能,而不是其他功能? 为什么用户会用你的产品/功能? 你的创新在哪里? 可以用 NABCD 分析(http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html)
功能设计:交水费应用功能(水费助手)
1.N(Need需求)
现在我们交水费都是工作人员上门采集使用水量情况(开学一次,期末一次),每次都要用纸质档的登记,回去后再录入到电脑表格里,再计算是否超出水量指标,最后打印应缴水费表格,最后楼管阿姨通知我们签字交钱。这样整个过程就很繁琐还很慢。
2.A(Approach 做法)
这个就跟电量助手差不多,就是要多做一个后台工作人员录入水量数据的功能,当然学生端的APP是没有这个功能的,我们只有查看和缴费的功能
3.B(Benifit 好处)
如果能够设计一个电子的水量录入和缴费功能,这样工作人员每次上门登记水量的时候就不用手动登记,再录入到电脑里,可以直接把数据录入到APP里,就可以自动计算最后需要的数据,这样我们学生也可以更直观的看到自己宿舍的水量使用情况,最后在这样还不用阿姨每次通知催。
4.C(Competitors 竞争)
目前这个APP只有我们学校的学生才能够登录,所以还没有什么竞争,如果能够增加这个功能的话,集大通的应用功能越来越强大,或许就不会被卸载无数次又重新安装无数次了。
5.D(Delivery 交付)
这个就直接在应用中心里发布就可以了,并通知学生可以直接这样操作就可以了
- 如果你有钱可以招聘 6 个人, 有 4 个月的时间, 你作为项目经理, 应该如何配置角色 (开发, 测试,美工等等)?
1-30个工作日:大家一起进行需求调研和需求分析
31-120个工作日:4个进行软件开发编码,2个进行美工设计
121-150个工作日:大家一起进行软件测试
- 描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
第一周:六个人在校园里广泛收集学生使用水费助手这个功能的效果,需求数据等
第二周:进行需求分析,看看还有什么需要改进的和增加的功能
第三周~第十四周:进行软件编码和美工
第十五周~第十六周:软件测试和应用