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

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

第一部分 调研,评测

评测:

第一次上手体验

第一眼看上去功能很全面,但是到点开来发现功能大部分没有实现,体验不太好。

缺陷Bug情况

  1. 课表查询
    bug描述:课表查询没有课表结果,点进去当前周都默认是第一周,没有按照我们的校历来,下拉功能能没有实现。
    1483342-20181209204357956-774460026.jpg

  2. 成绩查询
    bug描述:没有成绩显示,并且没有任何错误提示信息,无法选择2015-2016学年后的成绩,无最新学期更新。
    1483342-20181209204341359-322673237.jpg

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

其实功能还没有完全做完,没有做好充分的测试,因为急于发布所以有这些bug。

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

  1. 架构方面
  • 需要先弄清楚该微信公众号的整体结构和组件,通过思维导图做出直观的架构图,这样子功能就一目了然了
  • 要明白,软件之中唯一不变的就是变化,要根据不同的情况作出不同的当前情景下的最优选择
  • 保持设计的简单,考虑可维护,延伸性,事后优化
  1. 部署运维方面
  • 我觉得应该在整体完成并且检查之后再进行部署,这样会比较方便修改;
  • 运维一切行动听指挥,这样子才能够比较有效率,才不会乱糟糟;
  • 凡是要变更方案什么的必须经过审核,避免因为误操作而产生问题;
  • 定期做好数据库的检查;
  1. 微服务方面
  • 在微服务架构中,有很多可移动的组件,所以对服务的管理将变得更加复杂,因此要考虑使用均衡负载,这会帮助我们解决一些问题
  • 一个应用之中会有不同的服务,因此一个请求会跨多个不同的服务,因此有必要注意网络拥塞和延迟
  • 一般来说,每个微服务都有自己的状态存储,因此必须要注意数据的一致性

采访

介绍采访对象的背景和需求(他们有没有用过这个APP或类似的APP,除了现有的功能还有别的需求么)

采访对象为福州大学2016级计算机专业的学生,平常主要需求时查询成绩和课表。有用过用过福大易班和福大教务通。除了现有的功能,还需要一卡通充值功能

让采访对象使用微信福州大学企业号

1483342-20181210152754622-818363687.png

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

用户主要使用过程就是每个功能点进去感受一下。并没有解决,因为该产品的很多功能没实现,而且实用的比较少,因此没有解决问题。
数据量和准确度还感受不到,因为功能没实现,界面简洁,看过去较为美观,功能方面实用的功能比较少,用户体验不太好。

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

主要就是把现有的bug修复,完成功能,然后最好能添加之别的需求的功能。

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

不推荐,因为大部分比较实用的功能都没有实现

第二部分 分析

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

估计项目用时

该项目做到目前这个程度,大部分主要功能都未完善,团队做到这种程度上需要3周,其中前期需求分析阶段需1周。

功能逻辑图

1.个人模块
1483342-20181209204531843-756148919.png

重要度:95%
完成度:20%
出发点:实现最贴切学生的课表查询、成绩查询、个人日程记录&提醒、学生证附卡信息等功能
效果:个人日程部分大部分可以使用,但是在选择提醒之后就无法保存。其他三个功能基本无法使用。
2.通知、讲座、新闻模块
1483342-20181209204548847-408639030.png

重要度:70%
完成度:95%
出发点:让同学更方便的了解学校的各种新闻
效果:功能基本上都已经实现
3.其他功能模块(企业会话、福大黄页、福大邮箱、校园巴士、失物招领)
1483342-20181209204603480-625308450.png

重要度:80%
完成度:50%
出发点:方便同学在校内的生活
效果:黄页功能已全部实现,其余功能仍存在bug,邮箱在手机端完全无法登陆

优势、劣势、可以提高的一个重要部分

①优势:作为微信公众号,方便同学的使用,无需下载新的app
②劣势:在市面上同类产品有福大助手、福大易班、福大教务处。三款产品都已经事成熟的产品,功能基本都已实现。并且这三款产品的功能多于改公众号。不能退出,一次登录之后就和一个微信号绑定了,无法进行修改。
③可以提高的一个重要部分:产品测试
本产品存在的问题太多,开发人员在开发完成之后可能没有很好的、充分的测试。

针对不同维度打分

评分项分数评分理由
用户体验方面60一眼看功能很多,点开发现大部分功能未实现
UI界面美观度80界面较简洁,看起来还不错
核心功能50核心功能基本未实现

第三部分 建议和规划

如果你是项目经理,如何提高从而在竞争中胜出?

  • 提高用户体验感,扬长避短,不要求功能多,但是功能完成度要高
  • 线上宣传模式,比如集赞送礼品。
  • 线下宣传,下宿舍扫楼,发传单,摆个帐篷,关注送礼品。和学校沟通,在各个年级群宣传。

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

o福大教务通:福大教务通已具备该公众号中大部分主要功能,除此之外还有考试查询等功能。
o福大易班:福大易班除了该公众号具备的功能以外还有宿舍服务等功能。
o福大助手:福大助手除了该公众号具备的功能以外还有大物实验预约、历年卷等功能。

你要设计什么样的功能?

学生:教室申请

为何要做这个功能,而不是其他功能?

因为其他功能在其他三款app中都已经较好的完成了。这个功能比较常用,但是相关的申请只能在教务处网站上申请。

为什么用户会用你的产品/功能?

微信端无需下载app,更加轻便。功能贴切学生、老师。

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

  • N需求:教师有时会碰上教室设备损坏等情况,因而需要进行临时的教室调整,打开教务处往往需要打开电脑,连网FZU,登陆教务处等繁琐步骤。对于学生,往往有临时的活动组织等,并且大一年学生的晚自习教室数据往往分散且无统一记录,对其他需要去教室自习的学生造成了困扰,因此需要一个具有统一记录的功能的工具。
  • A方法:在后台添加查询和占有接口,设置不同帐号的身份,对学生的身份也分为大一/非大一,通过计算入学时间自动进行更新。并且外接教务处系统,使得借用教室更加轻便化、合法化。
  • B好处:通过对公众号添加教室申请、教室更换,学生教师可以通过查询空教室、占有空教室,对不同身份的用户开放不同的功能,可以特别对大一年学生开放晚自习教室申请。避免功能冗余浪费。
  • C竞争:福大教务通也具有空教室查询功能,但是功能不够完善,往往查询到的空教室还是有老师上课,微信相对于APP可以更方便的更新数据,使用起来更为方便。
  • D推广:对已经加入的用户成员进行推送,鼓励使用此功能;并在学校进行宣传,通过扫楼、发传单的方法进行推广;发布宣传的公众号文章,转发抽奖等方式扩大影响力。

如果你来领导这个团队,会有什么不一样?

前期做好规划,提高用户体验感,扬长避短,不要求功能多,但是功能完成度要高

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

美工的工作主要是在开发前期,为了让人才不闲置,可以让美工同时兼任部分测试。从而充分的利用资源。1个产品经理、一个美工(兼部分测试),3个开发

描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。

第一周:用户调研
第二、三周:需求分析
第四、五周:美工页面设计、获取、阅读相关接口
第六至十周:具体编码、服务器部署、部分测试
第十一、十二周:集中测试
第十三至十五周:完善部分功能、界面美化、修改发现的bug
第十六周:发布版本

项目发布后,有没有考虑过项目该怎么部署才能满足需求。

应用服务器8核16G3
后端服务器16核32G3
关系型数据库:MySql 3个(读写分离2,备份1)
缓存数据库:Redis 2个(主备)
网站安全性:WAF、DDOS

转载于:https://www.cnblogs.com/fblogy/p/10093068.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java hashtable put_Java Hashtable put()方法与示例

哈希表类put()方法put()方法在java.util包中可用。put()方法用于将给定的键元素(key_ele)放入给定的值元素(val_ele)。put()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。put()方法在放置键/值对时…

HTML之表单

表单&#xff1a; 表单是一个包含表单元素的区域。 表单元素是允许用户在表单中输入内容,比如&#xff1a;文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。 表单使用表单标签 <form> 来设置: <form> . input 元素 . </form>…

将AspectJ与NetBeans平台开发集成

您是否正在使用NetBeans平台开发项目&#xff1f; 您愿意使用AspectJ来使用AOP吗&#xff1f; 您不知道如何将AspectJ编译器集成到NetBeans的内部版本中&#xff1f; 如果您的回答是“是”&#xff0c;则此帖子适合您。 我决定写这篇技术文章&#xff0c;是因为我在寻找该解决…

Linux CentOS 6.5 使用自带jdk修改环境变量

来源:https://www.cnblogs.com/zhenxiqia/p/9049290.html Linux CentOS 6.5 使用自带jdk修改环境变量 首先声明&#xff0c;默认jdk指我们安装完CentOS后系统自带jdk&#xff0c;自己下载安装的jdk只需要下载&#xff0c;解压即可&#xff0c;之后步骤与此文一致 1.查看我们默认…

第二阶段冲刺10

基本的代码已经编写完成&#xff0c;游戏的功能已经完善&#xff0c;基本上已经是一个合格的软件了&#xff0c;这次为期10天的冲刺很充实&#xff0c;我们切实的完善了软件&#xff0c;学会了很多&#xff0c;也可以更好的融入团队中了。团结就是力量&#xff0c;十天前我们还…

java如何找重复数字_Java如何找出数组中重复的数字

题目描述&#xff1a;找出数组中重复的数字&#xff0c;具体内容如下在一个长度为n的数组里的所有数字都在 0~n-1的范围内。数组中某些数字是重复的&#xff0c;但不知道有几个数字是重复的&#xff0c;也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如&…

页面中添加锚点的几种方式

本文档创建时间:2018-11-7 15:52:28 方法一,使用a标签添加 通过设置a标签的href属性,跳转到页面中指定id标签的位置a标签的href属性值前要增加#来作为标识,表示是在当前页面的内部跳转 简单的案例: 1 <html>2 <head></head>3 <body>4 <!--设置锚点…

休眠事实:有利于双向集vs列表

Hibernate是一个很棒的ORM工具&#xff0c;它极大地简化了开发&#xff0c;但是如果您想正确地使用它&#xff0c;则有很多陷阱。 在大中型项目中&#xff0c;具有双向父子关联非常常见&#xff0c;这使我们能够浏览给定关系的两端。 在控制关联的持久/合并部分时&#xff0c…

ue正则

1 删除含某些内容的行,例:含有PTTAddress 使用替换功能&#xff0c;勾选正则表达式(Regular Expressions)&#xff0c;查找为%*PTTAddress*^p&#xff0c;替换为空 2.替换大写字母为_大写字母 替换功能&#xff0c;查找为 ^([A-Z]^)&#xff0c;替换为 _^1转载于:https://www.c…

20 存储过程

一、存储过程的定义 存储过程是存储在数据库目录中的一坨的声明性SQL语句。 Java&#xff0c;Python&#xff0c;PHP等应用程序可以调用存储过程。 MySQL是最受欢迎的开源RDBMS&#xff0c;被社区和企业广泛使用。 然而&#xff0c;在它发布的第一个十年期间&#xff0c;它不支…

微信小程序下拉框

微信小程序组件里没有下拉框&#xff0c;正好要用到&#xff0c;记下来以后参考 wxml代码 <view classtop><view classtop-text> 选择接收班级</view><!-- 下拉框 --><view classtop-selected bindtapbindShowMsg><text>{{grade_name}}&l…

int最大值java_Java 中一个int型数组的求最大值最小值 | 学步园

小友今日看单元测试&#xff0c;发现的一个测试用例的代码。而测试的是某个类的最大值&#xff0c;最小值方法。在此把测试类发上来。保留此地&#xff0c;如有人对此有兴趣&#xff0c;看以看下。闲话少说&#xff1a;public class MaxMinTool {public static int getMax(int[…

使用Maven实施自定义JSF 2.0组件

前一段时间&#xff0c;我编写了自己的定制JSF组件。 但是在那个时候&#xff0c;JSF 1.0仍然是最新的&#xff0c;并且该项目没有使用maven作为构建系统。 因此&#xff0c;我一直想用maven编写一个自定义JSF2组件。 因此&#xff0c;让我们开始&#xff1a; 首先&#xff0c…

python2.7.5-虚拟环境搭建

virtualenv可以搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来. virtualenv本质上是个python包, 使用pip安装: pip install virtualenv 在新建工作目录下创建虚拟环境: ~$virtualenv TestEnv 默认情况下, 虚拟环境中不包括系统的site-packages, 若…

CSS 高度(css height)

DIV CSS height高度知识教程篇 DIV CSS高度简介这里的CSS高度是指通过CSS来控制设置对象的高度。使用CSS属性单词height。单位可以使用PX&#xff0c;em等常用使用PX&#xff08;像素&#xff09;为html单位。 height高度目录height高度语法高度用法html原始高度设置css高度hei…

fst java_java快速序列化库FST

FST fast-serialization 是重新实现的 Java 快速对象序列化的开发包。序列化速度更快(2-10倍)、体积更小&#xff0c;而且兼容 JDK 原生的序列化。要求 JDK 1.7 支持。Maven&#xff1a;12 de.ruedigermoeller3 fst4 1.365示例代码&#xff1a;01// ! reuse this Object, it ca…

HOW-TO:带有Spring MVC的Tomcat中的自定义错误页面

默认的Tomcat错误页面看起来很可怕。 此外&#xff0c;它们可能会公开有价值的信息&#xff0c;包括服务器版本和异常堆栈跟踪。 Servlet规范提供了一种通过web.xml配置异常行为的方法。 可以配置对特定Java异常的响应&#xff0c;也可以配置对选定的Http响应代码的响应。 err…

第三代酷睿i3处理器_轻薄本CPU谁更强?英特尔21款低功耗处理器大排行!

点击上电脑爱好者关注我们对智能手机而言&#xff0c;其搭载的SoC是衡量性能强弱的唯一准绳&#xff0c;因为一颗SoC芯片内就集成了CPU(处理器)、GPU(显卡&#xff0c;包括集成的核显和独显)、ISP(影像处理器)和Modem(调制解调器)等模块&#xff0c;只要掌握了SoC的强弱关系&am…

**优化--后端**: 计数缓存counter_cache; rack-mini-profiler(2300) ; bullet(5000✨):侦测N+1query...

rack-mini-profiler 这个 gem,可以永远显示网页的加载时间。&#xff08;2300✨&#xff09;开发环境和产品环境都可以用。&#xff08;生成非常详细的报告&#xff09; development环境,直接使用gem rack-mini-profilerproduction环境&#xff0c;1. gem rack-mini-profiler,…

python学习日记(匿名函数)

匿名函数 简介 匿名函数&#xff1a;为了解决那些功能很简单的需求而设计的一句话函数。 python 使用 lambda 来创建匿名函数。 所谓匿名&#xff0c;意即不再使用 def 语句这样标准的形式定义一个函数。 1 lambda 只是一个表达式&#xff0c;函数体比 def 简单很多。 2 lambda…