zoukankan      html  css  js  c++  java
  • 集大软件工程网络15个人作业3-案例分析

    集大软件工程网络15个人作业3-案例分析


    调研的产品为 集大通

    第一部分:调研&评测

    1. 下载并使用,描述最简单直观的个人第一次上手体验。


    主要界面分别是新闻,朋友圈,聊天和应用中心等

    • 朋友圈里基本就是像微信朋友圈一样,可以看到校友们分享的生活中的动态,可以评论转发等
    • 聊天里面可以收到同学用集大通给你发送的消息,还可以接收到校园内部的公众号的推送等
    • 而应用中心是最实用的模块了

    看了一下发现可以查询课表,查询消费情况,充值校园卡等等

    总的来说,对该软件的第一印象还不错,虽然界面不是很好看,但是对于校内学生来说,它的许多功能还是很有用的。

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

    • 应用中心里面的电量助手

      • 其它同学使用的时候可以看到自己宿舍的电费以及宿舍交电费的历史记录
      • 但是我打开的时候提示
      • 可以猜测这是学生宿舍信息数据和电量助手数据不同步所造成的问题
      • 实话说即使错误提示中说要去联系辅导员,但绝大部分的人都不会为了这个软件而真的去联系辅导员更改什么信息的吧=-=
    • 课程表中的设计不合理的地方

      • 课程表本应该显示个人的课程信息

      • 然而即使我没选接入网技术这门课程,但它还是显示了

      • 上周我退选的交换与广域网技术也没有从课程表上删除掉

      • 这个可能就是开发者根本没考虑设计的地方了,但是这样看来课程表不像是个人课程表了,更像是班级的课程表

    • 以及一个叫 宿舍分配 的不知道什么作用的功能也是显示了奇怪的错误

    3. 相信每个同学的朋友中一定有人需要用这样的软件, 选择一个朋友(用户)进行采访,并加以记载。

    介绍采访对象的背景和需求(他们为何要使用该软件,例如开博客,读博客,给博客点评,她有什么痛点,她还有别的需求么)

    她是集美大学的计算机工程学院15级学生
    一开始是因为在学校的录取通知书中看到集大通的推广信息所以使用的

    日常使用的作用主要是分享一下生活中的动态,看看校友发的动态,浏览课程信息,使用充值校园卡等功能

    痛点:朋友圈不能搜索!
       有一些同学会在集大通里发一些小广告,比如卖自己闲置的书籍等等
       有的时候刚好需要了,但由于集大通刷屏太快,根本找不到,这个时候就很需要一个搜索功能

    需求:

    • 希望添加搜索朋友圈特定信息的功能
    • 希望添加在朋友圈中屏蔽某些用户的功能

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

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

    用户通过输入学号密码登录系统,打开应用中心的充值校园卡功能,跳转到支付宝完成了付款,系统提示充值成功。

    用户的问题解决了,她想充个校园卡吃饭!

    软件特点:

    • 数据量:作为一个学校内部分享生活的平台,它的数据量挺大的,每天都会有许多校友们在上面发动态,发广告,发鸡汤,找对象......
    • 界面:
      • 缺点:个人看来这个软件的界面不是很符合现在的审美,我觉得可以做地更加地扁平化一点
      • 优点:各种便利地功能都放在十分明显的地方,不会浪费太多用户的时间来找到某个功能的入口,比如说课程表直接按两下屏幕就可以打开
    • 功能:
      • 优点:功能十分的丰富!而且许多功能都很有用,比如
        • 充值校园卡:再也不用原来的那个老旧的线下充值的设备了
        • 查询宿舍电费:可以很方便地看到宿舍成员的充电情况
        • 图书馆入口:可以很方便地查询馆藏图书情况
      • 缺点:有一些较为鸡肋的功能,而且点进去还会有莫名其妙的错误
    • 准确度:作为一个学校官方的应用,信息来源等等还是很准确的
    • 用户体验:总体来说用户体验还不错,使用起来不会出现什么卡顿之类的问题,功能也十分有用。如果界面能更加简洁好看一点就更好了,最好还能定制首页的按钮数量和显示情况。

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

    • 可以为朋友圈新增一些功能比如
      • 不看某人的朋友圈
      • 搜索某条之前看过的朋友圈
    • 增强一些应用的稳定性
    • 界面可以改进一下,毕竟使用受众是二十几岁的大学生,软件的界面对他们的影响还是很大的

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

    我的评价是: 好,不错

    1. 应用中心里面的许多功能真正地让我们这些集大学子的生活更加便利了
    2. 作为一个校内微博,偶尔刷刷朋友圈看看校友们在干什么也挺有趣的,能增进校友之间的了解
    3. 一些资讯模块,方便了校内的官方机构(比如图书馆)通知一些事项,方便学生和学校

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

    • 可以通过

      1. 一个软件运行的时候所占用的内存
      2. 存储数据占用的空间
      3. 用户的下载量
      4. 每日用户的在线数量
      5. 软件的更新速度

      等等方面定性地评价一个软件。

    • 评价集大通

      • 更新日志

        可以看到它的更新频率大概是两个月一次
        这一点上看它的更新进度还是挺快的
      • 存储用量

        可以看到该软件所占用的存储空间也是极小的,系统中占用较多空间的软件甚至可以达到数G的程度

    第二部分:分析

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

    这个软件的功能很多,主要可以分为几个部分:

    • 朋友圈
    • 即时通讯
    • 资讯发布
    • 应用中心

    如果团队的所有人都有开发这个软件所要求的技术基础的话,估计

    • 两周完成朋友圈部分
      • 前后端同时进行
    • 两周实现即时通讯
    • 两周实现资讯发布的部分
    • 两周实现应用中心接口
      • 只是简单地跳转到某个应用的网站的,大概三天能完成
      • 新增加的新功能大概一周能完成
    • 一个月进行测试等等

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

    场景: 某某同学今天想去学校某某机构办理业务,但是他不知道该去哪里办理以及办理步骤。于是他打开了集大通,发了一条动态,内容是“哪位大兄弟有办过XXX,该去哪里办理,急,在线等”。几分钟之后,刚好刷到他这条动态的校友们便顺手回复了他

    正如书中所说

    一个好的软件,即使功能和同类软件区别不大,但却会让人感觉到非常好用。这就是软件的用户体验(User Experience)

    UX上好的地方是操作步骤很少而且很直观,没有那么多花哨的没用的操作步骤,直接点击朋友圈的分享就可以了,同样浏览的时候点击评论便可以与动态的主人互动,操作很简单,感觉挺好用的。

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

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

    我认为上述我提到的bug中

    1. 电量助手显示我未分配宿舍,这一点是具体的设计问题
    2. 课程表整个班级都是一样的,没有针对个人的部分做出修改,这一点是对用户的需求掌握不好

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

    团队在产品风格设计上可以更自由一点,多给用户一些自由定制的空间

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

    • 做好调查,深入了解受众的具体需求和不满的地方
    • 开发方面注重应用的稳定性,比如一些新上线的功能,就有不稳定的情况发生,建议在正式添加新功能前可以实验性地开放使用权限,并收集用户地建议,同时让用户做好心理准备,待能发现的问题都基本解决后更新为正式版本

    第三部分:建议和规划

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

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

    • 必要的功能,一定要做到
      • 学生之间分享
      • 课程表查询等最常见的功能
    • 特色功能,做到最好
      • 线上充值校园卡
      • 查询宿舍电量等

    不过由于这个软件的特殊性--集美大学内部app,它没有什么竞争对手

    2. 目前市场上有什么样的产品了?

    1. 作为整体来说
      其它的很多学校也有类似我们的集大通一样的校园app,
      在浏览器上以“学校官方app”为关键字,就能够找到很多类似的应用

    2. 从app的功能上来说
      它的子功能有许多的竞争者:

      • 朋友圈
        • 这个功能如今的即时通讯软件具备,微信、qq、skype等等都有类似的概念
      • 聊天
        • 同上,这个功能实际上由于主流即时通讯软件的缘故,其实使用量并不大(根据身边人的使用情况)

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

    产品的核心用户群当然是集美大学的学生

    典型用户:

    • 学历: 本科在读
    • 年龄: 二十左右
    • 专业: 各种专业都有,集大是一所综合性的学校
    • 爱好: 对周围发生的事情比较有兴趣
    • 收入: 学生,一般没有真正的收入
    • 表面需求: 了解学校内的信息
    • 潜在需求: 通过app达到线下社交的目的

    4. 功能:你要设计什么样的功能? 为何要做这个功能,而不是其他功能? 为什么用户会用你的产品/功能? 你的创新在哪里? 可以用 NABCD 分析(http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html).

    我想设计的是 为集大通添加一个利用NFC为校园卡直接领款的功能

    1. Need
      集大通在18年初增加了为校园卡账户充值的功能,但是充值的是校园卡的网上账户,要想让校园卡内可以直接使用的余额增加还需要到线下的一台充值机器上刷一下。有很多同学充值完之后发现校园卡里面的余额并没有增加以为是系统的bug,还有的同学知道需要线下充值但是却不知道充值机器在哪里,所以线上的一体化的充值是很多同学的需求。
    2. Approach
      我们已经有了一个集大通app,并且有了学校的一卡通数据库信息,所以我们要做的只是利用app在学生的手机上调用NFC功能,来为学生的校园卡充值
    3. Benefit
      受益很明显,只要学生的手机支持NFC,或者舍友啊身边的人只要有一人的手机支持NFC,那他就不需要去线下机子上充值了。况且,厦门是真的热,中午11点半走到食堂门口充个校园卡都能汗流浃背,显然,线上一体化充值是坠吼的。
    4. Competitors
      同上,并没有真正意义上的竞争者,如果说是这个功能的竞争者的话,那应该就是那一批线下充值机器了。它们时常崩溃,而且还要学生顶着烈日狂风出门,况且还花了学校不少资金,显示是比不了的。
    5. Delivery
      直接发布在集大通内部,充值校园卡之后的充值订单上可以选择打开NFC直接充值。

    这一方式在厦门是有先例的,厦门的E通卡,可以在厦门乘坐所有公共交通、许多零售设施(无人饮料机等)、旅游景点等等,也支持了利用手机NFC直接充值了,再也不用跑到万达麦当劳甜品站充值了=-=

    所以如果校园卡也这样的话,我觉得可以提高同学使用校园卡的频率,从而带动校园内部消费,即有益于学生也有利于学校

    5. 如果你有钱可以招聘 6 个人, 有 4 个月的时间, 你作为项目经理, 应该如何配置角色 (开发, 测试,美工等等)?

    3个开发,2个美工,1个测试

    因为相对来说我觉得开发和美工的工作量比较大
    美工的工作直接决定了软件的外观和给用户的感受
    而高质量的开发会让测试工作减少
    但是测试也是不可或缺的

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

    项目设计阶段(大概1、2周)

    • 所有成员一同分析需求
    • 对UI 功能等提出意见与建议
    • 编写设计文档 程序接口文档等等
    • 原型设计预览等

    项目开发阶段 (大概7、8周)

    • 开发 测试 美工同步进行

      • 使用例如VSTS这样的集成环境,配置好自动化构建工具,bug report工具,资源分享工具等等
      1. 开发实现功能
      2. 美工素材优化程序
      3. 测试获取自动化构建的最新版本软件进行测试
      4. 获得反馈:bug , UX等
      5. 重复该循环
    • 项目验收阶段(1、2周)

      • 进行最后的测试(性能测试等)
      • 将项目交付给目标平台
      • 移交产品使用文档等
      • 并做好长期维护的准备
  • 相关阅读:
    Docker 安装 MySQL
    Docker安装
    Thymeleaf语法总结
    SpringBoot总结之事务和AOP
    SpringBoot总结之Spring Data Jpa
    SpringBoot总结之属性配置
    Spring总结之SpringMvc下
    Spring总结之SpringMvc上
    Spring总结之事务
    在什么情况下使用@ResponseBody 注解?
  • 原文地址:https://www.cnblogs.com/agts/p/8686996.html
Copyright © 2011-2022 走看看