• 个人作业——软件产品案例分析


    第一部分 调研,评测

    评测:


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

    • 注册登录了Web端,首页上有android的下载路径,找不到ios的下载路径。

    • 界面简洁美观,UI加分,中文界面加分

    • 进到个人控制台,可以直观的看到软件开发云的功能总览,提供的功能全面完善。可以从总览或者项目管理中的左侧侧边栏找到需要的功能,方便快捷。对于项目管理来说,同时可以看到迭代、燃尽图、工作完成率等消息,可以清晰呈现项目进展情况和团队协作情况。

    • 试了一下,发现创建的入口比较突出,比如项目或者工作项的创建,但是删除就藏得比较深了,项目的删除就要进入项目-设置-基本信息-删除项目,同一个项目中切换不同功能就会出现白屏的情况,体验感不佳。

    • APP端的使用,不能用手机号登录,得用用户名登录。APP端的界面、功能更加简洁,功能跳转时间有点久,


    2.按照描述的bug定义,找出几个功能性的比较严重的bug。至少两个。

    app端

    • 无法修改用户名,而且在注册时没有提示,在web端修改了昵称之后,项目的创建人和工作项的处理人都以昵称为名,用户名的意义只是在登录的时候使用吗。
    • 标记为已解决的工作项还在待办列表
    • 在工作项输入计划日期时,输入已过时间不会提醒,创建完了之后再待办列表里面才会发现超期
    • 项目无法删除

    3.用专业的语言描述(每个bug 不少于 40字),如有必要,可以配图.

    工作项“登录注册”的状态已经修改为已解决,在待办中仍显示出来+没有标注

    计划日期修改中,没有提示超期信息,只有在显示在待办工作项中才显示出来


    项目删除不了


    4.你觉得为什么这个产品组的人没有发现这些bug?

    开发人员可能觉得用户名登录不会影响用户体验,现在重点放在web端的开发上面吧。


    5.假设你们团队需要开发这套系统,需要注意哪些方面(架构、部署运维、微服务等)。

    需要注意用户分析、UI设计、微服务开发、部署、运维,前期架构要做好。


    采访:

    相信每个同学的朋友中一定有人需要用这样的软件,记载你对这位用户的采访。例如使用下面的采访提要:

    • 介绍采访对象的背景和需求(他们有没有用过这个APP或类似的APP,除了现有的功能还有别的需求么)
      采访对象为我的舍友,这学期她的一门软工实践课应该是需要这个APP的,之前有用过类似的GitHub。目前需求已被满足。
    • 让采访对象使用华为软件开发云(请上传照片证明用户的确正在使用,远程采访的同学请让别人帮忙照相)

    • 描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
      产品基本满足她的项目管理和团队开发的作业要求
    优点 缺点
    数据量 数据量较少且明确 没有批量操作选择
    界面 界面简洁大方,设计风格优美,布局条理清晰、分布均衡,按钮,标签,输入框的大小适中 界面太空,功能实现与web端相比实现不多
    功能 功能简单明了,比较完善,容易上手和操作,基本满足开发需求 登录功能应该要用手机号登录比较方便,缺少团队开发交流功能模块,目前实现功能有限只有简单的项目管理功能
    准确度 按钮,标签,文本框完整且准确,功能实现较为正确,界面跳转正确。 界面跳转刷新太慢了点
    • 用户体验:中文界面上手快,功能挺全,燃尽图还有一些扇形图的使用直观清晰,有些功能藏得深,还以为删不了项目,扫码加入其他人的项目这个方式比较便捷,退出别人项目的退出键难找。功能跳转的时候白屏卡的有点久
    • 遇到问题:
      看过30分钟左右的新手视频之后开始动手,官方可以出一个图解教程比较适用。新建仓库后,上传不了代码(好像是因为秘钥有问题)。删除不了项目
    • 用户对产品有什么改进意见?
      功能跳转的时候改变一下刷新方式,添加一个团队开发的功能模块,队友可以在里面讨论,分配任务
    • 结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价,请选择一个结论:

    推荐


    第二部分 分析

    使用此软件的大部分功能,联系第二部分的分析,估计这个项目做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI 支持)。 分析这个软件目前的优劣(和类似软件相比),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。

    • 如果大学毕业生代码能力都很强又有开发经验的话,6个人8个月吧,不强的话就很难在以月计数内完成。
    • 优势:中文界面,我们的人数就是一个优势;功能的集成度比较高,基本满足开发需要。
    • 劣势:功能说明缺少团队开发为主的功能模块,而且现在用户量少,代码广场里面的代码也少,能查到教程比较少,这就要求官方文档写得好了。
    • 根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果;
    重要度 完成度 出发点 效果
    项目管理模块 90 80 项目管理 80,可添加,可查看,可修改项目部分信息,不可删除项目
    待办工作项管理模块 80 80 查看工作项进展情况 80,待办项目可直观看出项目归属、类型、计划日期
    添加模块 90 90 添加项目、工作项 90,可以添加项目、工作项,修改工作项信息
    信息模块 70 70 消息通知 70,通知项目进程信息,消息删除不了
    个人信息模块 60 60 管理个人信息 60,显示用户名区域,没有信息修改
    • 针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分。
      用户体验方面:75分
      UI界面美观度:85分
      核心功能--80分

    第三部分 建议和规划

    这个软件有很多可以提高的部分。

    • 如果你是项目经理,如何提高从而在竞争中胜出?
      加强推广力度,增加软件的杀手功能,收集用户反馈,反应现存不足,追求用户体验

    • 目前市场上有什么样的产品了?
      目前市场上有GitHub(一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管),TeamLab(主要功能包括:项目管理、里程碑管理、任务、报表、事件、博客、论坛、书签、Wiki、即时消息等等),禅道(它集产品管理、项目管理、测试管理于一体,同时还包含了事务管理、组织管理等诸多功能,是中小型企业项目管理的首选),NavalPlan(一个基于Java语言开发Web的项目规划,监测和控制软件。NavalPlan可以有效地用于管理任何类型的项目。),ProjectForge(一个基于Web的项目管理解决方案包括:工时表(Timesheet)、费用管理、项目甘特图,控制和管理工程分解结构。集成JiRA做为问题管理系统。),kunagi(是一个Java Web应用程序。Kunagi 提供了集成的项目管理工具,便于项目团队进行协作开发。Kunagi 提供了类似桌面软件的 Web 接口,非常便于使用)。

    • 你要设计什么样的功能?
      添加一些团队协作开发功能,添加需求分析、原型设计模块,比如可以加入类似自定义图表、发布调查问卷、分析用户需求这样的功能

    • 为何要做这个功能,而不是其他功能?
      现在软件缺少+团队开发需要+需求分析加入后,完善软件开发流程

    • 为什么用户会用你的产品/功能?
      功能全面用户可以只用这个产品就进行软件开发,整个开发周期中不用去了解其他的APP,适用于个人及团队开发,还可以队内交流讨论+中文界面

    • 你的创新在哪里?可以用 NABCD 分析。

      • N(需求):目前软件开发多为团队开发为主且整个开发过程中需要的功能APP并不精简
      • A(做法):针对团队开发,完善开发过程所需功能
      • B(好处):便于团队进行协作开发项目,精简开发者开发过程中所需掌握开发APP宽度
      • C(竞争):功能强大完整,集项目托管、项目管理、团队开发、测试于一体
      • D(推广):线上线下同时推广,在开发者社区投放广告,在高校进行宣传推广,举行赛事来推广
    • 如果你来领导这个团队,会有什么不一样?
      做好需求分析,前期做好任务分解、人员分配,及时收集用户反馈,协调团队调整软件开发方向,完善功能,界面友好,用户体验良好。

    • 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
      美工2人,美工先行,设计UI后可参与后续开发,1个月
      开发3人,包括前端后端2.5个月
      测试:后期全员

    • 描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。
      第1-3周产品需求分析+用户调查
      第4周原型设计
      第5周系统结构设计确定接口
      第6-13周前后端同步开发
      第13-16周测试+发布

    • 项目发布后,有没有考虑过项目该怎么部署才能满足需求。依据下图(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置) 。

  • 相关阅读:
    磁盘及分区管理
    用户和文件权限管理
    分割文件命令split
    去除重复命令uniq
    数据连接命令join
    数据剪切命令cut和数据粘贴命令pastte
    排序命令sort
    koa-router
    koa入门
    require.ensure的用法;异步加载-代码分割;
  • 原文地址:https://www.cnblogs.com/xiao2017/p/7955247.html
Copyright © 2020-2023  润新知