软件工程网络15我的做业3——案例分析

题目

不少同窗有误解:html

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

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

  • 你为什么成为它们的用户?
  • 它们的团队作对了什么,作错了什么?
  • 若是你来作,会作得更好么?
    经过各类案例分析,评测,辩论,总结,咱们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助咱们在实践中作得更好。

产品分析

我选择“智慧集大平台——集大通APP”进行产品分析
(在平时交流中会跟朋友讨论一些集大通的问题,她有一些想法,这样恰好有采访的素材)微信

第一部分:调研, 评测

一、下载并使用,描述最简单直观的我的第一次上手体验。

  • 还没进入集美大学,就先使用了集大通,直观感觉是方便,为新生提供了了解学校的途径。
    (第一次使用离如今真的有点遥远,几乎忘了对集大通的第一印象。下面谈谈对界面的直观感觉。)
    ① 喜欢登陆界面密码的当心心;
    ② 刚登陆就跳出“课余生活”界面,其实对刚刚接触这个软件的同窗有点迷茫(好比我本身);
    ③ “朋友圈”界面贴近咱们经常使用界面(好比QQ的界面),很习惯;
    ④ 新闻界面几乎都是思政(这个嘛);
    ⑤ “消息”界面分“消息”和“联系人”,用起来很快上手;
    ⑥ “个人”里面有实用的课程表、应用中心,也有娱乐性任务。
    总的来讲,用起来仍是比较容易上手,没有不少让人误解的地方,整体感受还不错。

二、按照《构建之法》13.1节描述的 bug 定义, 找出几个功能性的比较严重的 bug,至少2个。

  • 用专业的语言描述 (每一个bug 很多于 40字),若有必要, 能够配图。
  • Bug:软件的缺陷
    Bug能够分解为:症状、程序错误、根本缘由
    1)症状:即从用户的角度看,软件出了什么问题。
    2)程序错误:即从代码的角度看,代码的错误致使了软件的问题。
    3)根本缘由:错误根源,即致使代码错误的根本缘由。

                           ——摘自《软件工程》13.1节网络

功能性bug应该很差找(毕竟一直在改进更新),就说一下我的认为的缺陷:
(程序错误不知道该怎么写,根本缘由均为我的推测)(删删减减就只剩了3个我的以为问题比较明显的缺陷)
(1)症状:进入一个界面要好久(这是我一直很烦恼的问题),网络差一些就根本进不去,但仍是会一直在刷新。并且正在刷新有时还不能取消刷新。
  程序错误:(未知)
  根本缘由:进入界面时,程序在搜索相应的功能,这个算法可能不太好,所以一直在刷新;每次刷新时,进行所有程序的刷新,拖慢刷新速度。app

(2)症状:官方微博不能直接打开手机上的已有微博,只能跳到下载微博的界面,并且没法下载。
  程序错误:(未知)
  根本缘由:没有识别手机上是否有微博的功能,没有提供微博下载的正确连接。布局

(3)症状:消息中的教务前一秒能够进去,去刷一下其它界面再回来就进不去消息界面了,退出集大通再进行访问就能够进入消息界面。
  程序错误:(未知)
  根本缘由:程序卡在某一个地方,没法识别用户进行的操做。学习

三、相信每一个同窗的朋友中必定有人须要用这样的软件, 选择一个朋友(用户)进行采访,并加以记载。

(1)介绍采访对象的背景和需求

背景:集美大学理学院学生
需求:
① 为何使用集大通 → 首先,大一尚未入学就被录取通知书安利了集大通;其次,主要用集大通查看课程表以及教务功能。
② “痛点” → 目前但愿集大通能够直接充值校园卡,不须要到圈存机领款(以为又慢又麻烦)
③其它需求 → 但愿集大通能够有快捷方式,好比网费充值,一点进去就能充而不是通过一系列的繁杂过程,以为有点冗余;这个快捷方式能够本身设置,拖到首页或者合适的地方。测试

(2)让采访对象使用10 – 30 分钟该APP的功能 (请上传照片证实用户的确正在使用, 远程采访的同窗请让别人帮忙照相)

(3)描述用户使用这个产品的过程,用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?

① 过程:用户首先登陆,再根据习惯打开了应用中心进行使用,期间咱们交流了各自对集大通的见解,提出了一些相同的想法。(如优缺点)
② 用户表述的是目前存在的问题已经想要的功能,因此用户的问题没有解决。

A. 数据量——集大通有不少消息的更新都不够同步,若是过久没有进入界面就会下线,下线以后的消息都不会同步;集大通有不少不用的功能都会被搁置,好像再也不更新消息,好比应用中心的新闻中心,里面几乎没有什么内容。而后不但愿有过于暴露本身的隐私信息,什么宿舍分配之类的功能,感受这个数据量就“太大”了吧。
B. 界面——整体来讲仍是不错的,容易上手,界面布局比较熟悉。但一张课程表能够不须要两个页面。
C. 功能——用户认为应用中心能够不要那么多功能,好比说须要内网服务的,就能够不要显示在集大通里,在学校能够用i集大和教务处,不在学校同样都用不了。好比说易班网,其实易班不都有APP了嘛。
D. 准确度——从这点来讲仍是不错的,从常用的课程表和教务功能(好比成绩查询)来讲,至少是不会出错的。
④ 用户体验方面以为许多功能都很鸡肋,无关紧要。网站

(4)用户对产品有什么改进意见?

① 内网链接的功能显得有点鸡肋,能够不要。(还有挺多用不到的功能的)
② 但愿有快捷功能,还能够本身编辑。
③ 朋友圈有各类屏蔽功能。(我的意见)
④ 但愿进入图书馆的界面就是搜索馆藏书目而不是学术资源。(我的以为图书馆这个功能主要是来查找想借的书的)ui

四、请选择一个结论:通过这么多工做,你必定有充分的理由给这个软件下一个评价:

  • 很是不推荐
  • 不推荐
  • 通常 √
  • 好,不错
  • 很是推荐

理由:集大通的许多功能都不怎么被学生用到(老师那边不太清楚),学生用户能用到的只有充值校园卡,网费充值,图书馆查询,教务信息查询,网上办事大厅,以及查询课程表等;更况且朋友圈几乎都是广告,都有点避而远之;而后本身也不怎么用集大通;因此个人评价是通常。

五、[附加题]除了定性的结论,是否能有定量的结论 (就像比较时髦的手机评测那样, 跑个分?), 如何定量地评价一个软件?

这里贴一个定性评价与定量评价的概念:定性评价与定量评价

从定量的角度来讲,能够统计用这个软件的人数,用这个软件的功能的人数;从而断定这个软件是否收到用户的承认。

(简单说一下)

第二部分:分析

一、使用此软件的全部功能 , 估计这个项目作到这个程度大约须要多少时间 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持)。

  • 需求调研:找老师和学生进行调研,大概1周(从设计问题到统计完成)
    需求分析:根据调研的结果进行分析,并作出一份“痛点”图,大概1周
    系统设计:要设计蛮多的功能的,大概一个月
    软件编码:2个月(能够在系统设计初步完成的时候开始)
    软件测试:测试须要全面一些,大概3周
    实施发布:2周
  • 总的来讲,大概须要5个月

二、不要写成一个罗列功能的流水单子! 而是要集中火力在一个场景,这个场景中典型用户有什么需求,软件如何解决了需求(或者没解决),UX 有什么细节是好的,差的,请结合书上UX的内容来分析。

(额,不知道UX什么意思,还查了一下意思的我)

(1)典型用户的需求:但愿将不经常使用的功能删除或减小,并添加“快捷方式”功能,以便于使用;完善充值校园卡的功能。(软件还未解决)
(2)集大通的用户体验:(主要体验应用中心的功能)

应用中心 优势 缺点
第一印象 看起来有不少功能 实用的功能比较少
界面 一目了然 有的图标会一闪一闪的
功能
个人媒体 “易班网”“大学主页”“官方微博”比较方便 可是这里的功能学生都不怎么用到
个人系统 内网结合的方式更好的展现了系统的功能 可是内网通常在APP中不多用到,使用时有一些麻烦(宿舍分配好像没什么用啊)
个人服务 这里的功能实用的较多,方便学生 “电量助手”只是拿来查看电量使用状况的,不能充值电费/“图书馆”的第一界面不是馆藏查询而且切换繁琐
其余 (额,没有发现什么优势) “网上办事大厅”里的功能跟“网费充值”同样,“集大通”是来下载集大通APP的,可是不是正在使用APP了么
我的事务 “课程表”功能仍是挺实用的 不能本身随意编辑
总结 “个人服务”与“我的事务”较为实用 功能分类有些不明确,“其余”的功能累赘

三、你在第一部分发现的bug,为什么软件团队不能在发布前修复?他们是不知道,仍是有意不修复?你以为是什么缘由?从下面的可能性中选取几个:

  • 对用户需求掌握很差 √
  • 具体的设计质量不高
  • 开发人员粗枝大叶
  • 测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试
  • 其余 √ 好比没有发现这个bug或者这个bug是以后才出现的,原来没有。

四、团队在哪个层次还有问题? 能够把本身想问软件团队的问题都列出来, 也许就能获得团队的亲自解答了!

(1)团队需求调研的形式?
(2)团队进行APP试用过程当中是否是发现了大量的问题,以致于小问题不太起眼?
(3)团队开发的功能那么多,可是不少并不完善或正在完善,是否考虑下架一些功能?
(4)团队是否太过将开发中心放在新功能的开发上而忽略了之前最想作的功能?
(5)在同步更新消息这个问题上,为何不能下线也更新消息?

五、从各方面的问题,推理出这个软件团队在软件工程方面能够提升的一个重要方面 (具体建议)。

在作用户体验的时候能够多让几我的进行用户体验,以用户的角度看问题,将没有实质性意义的功能删除,再增添一些用户以为应该要有的功能,好比我以为能够在“个人”页面增长一个快捷功能服务;而且在这个期间能及时发现软件出现的小问题,而后改正。

第三部分:建议和规划

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

一、这个软件/网站/服务有不少能够提升的部分, 若是你是项目经理,如何提升从而在竞争中胜出?

  • 我参考了第8章8.4节的内容,以为能够利用NABCD模型对项目进行需求分析,以便更好的知足用户的需求,在竞争中脱颖而出。
    N(Need):全面调研用户需求,看他们须要的是什么样的软件,团队能够根据他们的需求作出怎么样的项目改变。
    A(Approach):完成一些需求后,团队能够对这些知足需求的功能进行先进行测试,再将这些功能推荐给提意见的用户,看是否还有须要改进的地方。
    B(Benefit):在宣传产品的时候能够适当的宣传该软件与其余类似软件或网站有什么较优的地方,让用户体验并说说感觉,以便参考。
    C(Competitors):以上的步骤完成后,团队充分了解本身的项目的优缺点,无论是先进入市场仍是后进入市场都将会有必定的优点。
    D(Delivery):作好了项目的改善,团队应该对本身的软件作一个比较适应相应群体的宣传,让用户知道这个产品,知道这个产品的一些好的功能,从而选择使用。

二、目前市场上有什么样的产品了?

  • 除了集大通好像没有其余相似的产品了,毕竟是本身学校用的APP,一个就够了;但不乏其余学校也有相应的APP产品,因而我就查了一下,发现每一个学校都有他们对应的APP,好比清华大学——AtTsinghua、复旦大学——i复旦、浙江大学——浙江大学等等。还有一些高校用的课程表之类的APP。

三、做为新的项目经理,这个产品的核心用户群是什么样的人, 典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?

(针对学生客户端)典型用户——懒癌发做但须要各类充值的学生

核心用户群 学历 年龄 专业 爱好 收入 表面需求 潜在需求
集美大学全体学生 本科 18-23 各个专业 阅读/运动/游戏 部分无收入 查课表/充值校园卡/充值网费/查成绩等 功能能够很方便的看到并使用

四、功能:你要设计什么样的功能? 为什么要作这个功能,而不是其余功能? 为何用户会用你的产品/功能? 你的创新在哪里? 能够用 NABCD 分析。

http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html

(1)你要设计什么样的功能?
答:在集大通中,想设计的功能是:快捷方式
(2)为什么要作这个功能,而不是其余功能?
答:快捷方式有利于学生管理本身经常使用的或随时须要用的功能,方便,同时也是采访的用户须要的。好比这个功能能够将网费充值中的充值直接提取出来,放在本身想放的界面。
(3) 为何用户会用你的产品/功能?
答:这个功能比较方便,适合愈来愈“懒”的大学生们。
(4)你的创新在哪里? 能够用 NABCD 分析。
答:至少以前的开发团队没有作到这个功能而且这个功能也是用户所需求的。
N:我想设计的功能知足了大部分学生找想用功能的便捷度,没有快捷功能就要在应用中心找相应的功能。(进入速度慢)
A:而后利用一些连接将想要的功能拖出,先放几个经常使用的。
B:这个功能节省了时间,节省了流量。
C:这个功能尚未被先前的开发团队采用过,有竞争市场。
D:将这个功能介绍给身边的朋友,若是实用,他们就会告诉本身身边的同窗与好友。

五、若是你有钱能够招聘 6 我的, 有 4 个月的时间, 你做为项目经理, 应该如何配置角色 (开发, 测试,美工等等)?

  • 开发3人(我的以为这个方面比较难,须要分块进行,再整合)
  • 测试1人(开发人员能够协助测试)
  • 美工1人
  • 用户体验1人(以用户的角度使用该产品,提出中肯的意见和建议)

六、描述你的团队在16 周期间每周都要作什么,才能在第16周如期发布软件的改进版本,并取得预想中的成绩。

时间 任务
第1~2周 需求分析(进行调研)
第3~4周 系统设计,讨论设计细节(界面以及功能)
第5~10周 Alpha阶段,初步实现软件功能
第11~14周 Beta阶段,改进软件功能
第15~16周 软件试运行(包括修复以前没有发现的bug以及用户体验后改进)
相关文章
相关标签/搜索