组长博客连接java
做业连接mysql
评测:android
应注意采用微服务构架以及提升运维要求两方面。ios
众所周知,福大助手是由福大本校学生组成的西二在线所开发,随着学生不断的毕业以及新技术的不断尝试,团队自己的人员组成以及项目使用的技术会以至关高的频率迭代。一样,做为福大本地化软件,福大助手无疑会在未来不断地进行优化。c++
对于这类快速更新迭代的团队,随着时间及项目规模的扩大,传统的单体架构有着“复杂性逐渐变高”、“技术债务逐渐上升”、“部署速度逐渐变慢”、“阻碍技术创新”及“没法按需伸缩”的问题。
在此咱们先引入微服务这一理念。git
微服务,以单一职责、服务自治、轻量级通讯及接口明确为设计原则的一种架构风格;而针对福大助手这一app,咱们认为最应该注意的是项目应该采用微服务构架。
为何这样说呢?咱们看看微服务和传统单体构架的区别:web
单体架构全部的模块全都耦合在一块,代码量大,维护困难;微服务每一个模块就至关于一个单独的项目,代码量明显减小,遇到问题也相对来讲比较好解决。redis
单体架构全部的模块都共用一个数据库,存储方式比较单一,微服务每一个模块均可以使用不一样的存储方式(好比有的用redis,有的用mysql等),数据库也是单个模块对应本身的数据库。算法
单体架构全部的模块开发所使用的技术同样,微服务每一个模块均可以使用不一样的开发技术,开发模式更灵活。
很明显 ,微服务架构其本质即是在结构上实现各个服务模块的松耦合。
就福大助手来讲,微服务能为团队带来主要好处以下:
然而,在微服务带来种种好处的同时,它也有一些须要注意的不足:
采访一
- 介绍采访对象的背景和需求
使用过易班、福大教务通、超级课程表等相关软件。除了现有功能没有什么其余需求。- 让采访对象使用福大助手(请上传照片证实用户的确正在使用,远程采访的同窗请让别人帮忙照相)
- 描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
这个软件功能很强大,能够解决想要解决的问题。在数据方面,数据量大,能够查不少东西。界面很友好。准确度没有什么问题。用户体验上,它的功能很复杂,在只想看课表的时候更倾向于教务通,由于它功能单一,看起来比较清晰简单。福大助手平时反而不会用。- 用户对产品有什么改进意见?
这款软件很强大,没有意见。- 结论
很是推荐
采访二:
- 介绍采访对象的背景和需求
使用过易班、福大教务通、超级课程表等相关软件。但愿经过软件方便本身学习和生活。- 让采访对象使用福大助手(请上传照片证实用户的确正在使用,远程采访的同窗请让别人帮忙照相)
- 描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
这个软件功能很强大,能够解决想要解决的问题。里面东西不少,被安利了。界面有更换主题功能,很是适合本身。功能上,还但愿能增长交水电费和校园卡充值功能。准确度上和其余相似软件没有区别。- 用户对产品有什么改进意见?
增长交水电费和校园卡充值功能。- 结论
推荐
采访三:
- 介绍采访对象的背景和需求
使用过易班、福大教务通、超级课程表等相关软件。但愿只用一款app包括全部内容的软件,不想本身的qpp太多。- 让采访对象使用福大助手(请上传照片证实用户的确正在使用,远程采访的同窗请让别人帮忙照相)
- 描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
这个软件功能很强大,能够解决想要解决的问题。数据量方面,里面包括了教务通和易班的大部份内容,界面方面,很是不友好,感受很差看,iOS手机界面和android手机不一样,课程表界面和侧边栏界面很差看。准确度方面,和另外两款没差。用户体验上,第一感受界面不友好。- 用户对产品有什么改进意见?
将ios的界面设计得更友好。- 结论
通常
三个半月。
主要分为萌芽,磨合,规范,创造四个阶段。
人员分工为项目负责人一人,前端两人,后端两人,算法一人,并有专业UI支持。
4、创新阶段花费半个月。
(1)app可小范围的进行发布使用,投入线下运营。
(2)及时获得用户反馈,进行项目改进优化,最终得出一个简洁实用的app。
重要度为蓝色框,完成度为橘色框
参考《构建之法》第8章 功能的定位和优先级;第9章 项目经理
这个软件有不少能够提升的部分。
优化部分:
创新部分:
教师信息查询
提供教师的我的资料,授课状况,挂科率高分率、学生评价。
学业分析、教师信息查询、在线点名签到、校历查看
学业分析,福大助手不具有的福大教务处的功能两个功能之一,比起无关紧要的培养计划,学业分析有必定用户需求。
教师信息查询,受西二在线公众号这个功能的启发,学生在选课时面对不熟悉的老师能从这里找到一点信息帮助选课,用户需求较大。
在线点名签到,受到小小签到启发,大学生须要签到签退的场合不少,用户需求大。比起手动签名,电子签到的形式更有效率且适合集成到福大助手这个平台。
校历查看,提供可视化的学校时间安排,实现成本低,需求大。
总结:福大助手侧边栏支持自定义,理论上只要是有用的功能都能加上去,且不影响用户使用。考虑到实现成本与收益的问题咱们为福大助手增长了以上优化和新增功能点。
在为何要作这个功能,而不是其余功能?这个问题里已经有体现。
咱们对福大助手app改进的主要创新点在同窗帮这个模块。
一个产品从想法的萌芽到最后的交付给用户使用,甚至上架销售,私觉得包括了五个部分:需求分析,冲刺安排,冲刺,测试和迭代,上架宣传。《构建之法》的第185页谈到:“PM作开发和测试以外的全部事情”,因此一个优秀的PM是不会参与或者尽量少的参与软件的开发的。因此来讲,若是我来领导团队,中间的三部分是不会发生变化的,因此我这里主要说明对于需求分析和上架宣传的见解。对于需求分析部分,《构建之法》的第八章,功能的定位和优先级中进行了详细的说明。咱们能够经过《构建之法》提出的使用四个象限来描述“福大助手”的功能分析:
杀手功能这一列是稳定的加分项,这里咱们按下不表。来看外围功能这一列功能,该列描述了一些杀手功能之外的或关键或不关键的功能。在好久以前,我就听到同窗们说过“福大助手”的“一键评议”功能苹果能够用,安卓不能够用,这致使我很晚才下载它,甚至在前两天还有同窗和我说“福大助手对苹果十分友好,但在安卓端感受无关紧要”,我+1。
除了这个方法,《构建之法》上还提出的另外一种方法,将软件的功能分为惊喜,核心功能和基本功能或属性。“福大助手”的惊喜包括了:一键评议,课程表导出到日历,提醒成绩正在更新,主题设置和自定义侧边栏等等的功能,核心功能是课程表和成绩查询,基本功能能够不谈。这样看来“福大助手”仍是不错的。
再来看“福大助手”的宣传方面,这款APP我是在第一学期期末要当作绩时从舍友口中听到的,单单从这一点就能体现出不少问题:1.“福大助手”是经过同窗之间好的评价来进行宣传的,2.这个学期前面的时间我没用过福大助手,以前一直使用教务通,3.当我听到他很方便时,安卓端却不能使用“一键评议”(大一时,如今能够用了)。这三点体现出了,宣传渠道匮乏,前期流失了大量的用户,即便能100%地保留下ios端的用户,安卓用户少之又少也是个问题,毕竟你不能忽略安卓系统庞大的使用群体。
总结一下,“福大助手”优秀的地方很优秀,可是不少功能安卓端的不适用和后期宣传力度不大给了它致命一击。若是我来作PM,我会注意这两个方面,在研发的安排阶段将核心功能的各个移动端适用这一重要的地方强调一下,而且在后期宣传时加大力度,这一点抽屉就作得很好,能够向他学习一下。
最后偷偷说一句,我比较喜欢不少人一块儿吃饭,若是我作了PM,估计会常常和团队一块儿出来吃饭,交流感情。
在需求分析和软件开发准备阶段你们要一块儿参与进来,尽快完成本身的任务,提早研发开始的时间。
研发阶段,1我的负责Android前端,1我的负责Android后端,1我的负责ios前端,1我的负责ios后端,1我的负责美工。
后期测试阶段,Android端能够和ios端互换软件进行测试工做。
宣传阶段你们也是要一块儿参与,我认为这部分工做你们都是同样的因此你们要一块儿来作。
假设个人团队都具备必定的开发基础和开发经验,那么我会这么安排个人团队:
基本的服务器框架都是C/S结构的,请求和相应流程是这样的:
现经过增设如下设备以达到优化功能:
中间层DLA:
DLA采用缓冲队列和链接池设计。 客户端大并发请求到来时,DAL设计缓冲队列,存储等待的请求,而且DAL中设计数据库链接池,当数据库链接池中有空闲链接,那么从缓冲队列中取出一个请求处理,以此类推。这种作法有效的下降了服务器的压力,保证请求被缓存。
缓存数据库:
将经常使用的数据加载入缓存,
有请求到来时,应用服务器先从缓存中获取数据,若是缓存中有数据,那么不须要访问数据库,若是缓存中没有,在访问数据库取出数据,并更新缓存。如此一来处理效率不受限于数据库的并发数。增设的备份redis数据库则可以实现数据的备份和持久化。
在单独应用服务器上部署缓存服务器:
将缓存
部署在单独服务器上,经过访问该缓存服务器,方便各个应用服务器访问彼此缓存。
将关系型数据库实现读写分离和负载均衡:
当有大量复杂的写操做数据库时,读写分离能够保证读数据库操做不被阻塞;因为数据库读操做会比写操做多,那么能够对数据库执行负载均衡。主流数据库都有replication机制,采用replication机制能够实现负载均衡。中间层的写数据库操做投递到主数据库中,读操做从读数据库中读取,当主数据库中数据被修改后,数据库采用replication机制将数据同步给备份服务器。
任务服务器:
单独设计一个任务服务器,让应用服务器主动去请求任务服务器,主动获取任务处理,若是应用服务器处于忙碌状态就不须要请求新的任务,空闲的应用服务器会去请求任务服务器中的任务,这是最合理的负载均衡。若是全部应用服务器都处于忙碌状态,
那么任务服务器将任务缓存至本身的任务队列,当应用服务器空闲时会来取任务。这样便对应用服务器实现了负载均衡
备用任务服务器:
设置多台任务服务器,而且实现failover机制,多台任务服务器之间实现心跳,若是检测不到对方心跳,则使本身成为主任务服务器,以此任务服务器出现故障。
优化后框架图以下:
最终设备以下:
带宽计算方法是这样的:
每秒钟下载文件的字节数×8/0.7 = 宽带的速率
流量和带宽的换算是,带宽:流量=1:150
假设2400人同时在线,2400人并发同时操做,每一个人的要恢复30KB的备忘录数据,那么合算成带宽就是:2400/(30KB*8)=10Mb
由于预计在线人数较多以及云备份的使用频率频繁,因此选择4核8G服务器。
既然你对产品有这么多的意见和建议,请就你认为产品的可提高功能、新增需求点作出增量开发设计,要求:
优化部分:
创新部分:
教师信息查询
提供教师的我的资料,授课状况,挂科率高分率、学生评价。
导出到日历提示
不少人点击课程导出到日历功能每每只是为了测试这个功能的实现效果如何,可是导出到日历这个功能实际效果并非很好(如图,不只不能使课程所有清晰地展现在日历上并且会影响日历的观感,甚至可能致使一些重要事件被盖住)。并且撤销这个操做的行为按键过于隐,用户不易找到。
但不能否认确实有部分用户会使用课程导出到日历这个功能,所以咱们作出的优化手段是在后出现弹窗显示:在设置-清除数据里可撤销导出操做。
姓名 | 比例 |
---|---|
家伟 | 11% |
卉卉 | 10% |
宇恒 | 10% |
政演 | 9.5% |
丹丹 | 9% |
鸿杰 | 8% |
一好 | 7% |
恺琳 | 6.5% |
青元 | 9% |
家灿 | 9.5% |
绪佩 | 10.5% |
第一组
Q1:演讲缺少对专业测评工具的介绍,能够介绍一下大家所使用的应用在线测评工具吗?
答:感谢提问!咱们使用的测评工具是Testin云测试。Testin云测试是一个真机自动化云测试服务平台,可实现自定义终端进行批量自动化兼容适配测试以及功能、性能、稳定性测试。咱们在平台上传了福大助手的apk文件得到了测试报告数据。
Q2:项目测评是否有发布问卷调查,对应用进行一个大基数的调查?
答:感谢提问!咱们没有采起发布问卷调查的形式。咱们认为问卷调查的形式对咱们的评测帮助并不大,一是没想到什么有针对性的问题,二是对一个软件的评测和分析是须要对软件细致地测试得出的,大多数同窗不会经过平常的操做找到什么咱们测试人员没有发现的bug,三是咱们经过线下了解,同窗们的需求比较单一,对福大助手现有的功能都比较满意,提出的如校园卡充值等需求对非技术性的要求较高,不在咱们考虑的增量开发范围内。固然,以上仅表明咱们组的观点。贵组的问卷调查分析结果是一个亮点,说明贵组的问卷问题和结果分析作的很好,咱们会多多学习。
Q3:项目的增量开发难度如何,以小组实力须要多久的开发时间?
答:感谢提问!增量开发的主要功能同窗帮涉及到实时交互的功能,难度较高,以小组实力初步估计要两个月左右的时间。
第二组
Q1:是否也有使用问卷调查的形式呢?
答:感谢提问!咱们组此次的测试报告中没有考虑到使用问卷调查的形式,由于感受你们都是轻使用这款App只会使用一些基础的功能,因此没必要采用问卷调查的形式。固然,若是测试报告的形式更有利于咱们进行测试的话,咱们以后会考虑采用这种方式来进行测试工做。
Q2:假如由贵小组来开发该软件,以为须要多久呢?
答:感谢提问!由咱们组来进行开发的话,因为你们都是在校大学生,且经验不甚丰富,因此我认为助教学姐给出的四个月是个不错的建议。
Q3:具体的评测方法是什么?
答:感谢提问!咱们组的测试同窗使用的是名为“testin”的网站,该网站只用上传APK文件,就会给出关于该软件的测试报告,如有兴趣,欢迎讨论!
第三组
Q1:在测试的过程当中并未说起对应的软件产品的版本号,这就使得bug没有针对性,有些或许并非全部用户目前所使用的版本都潜在的问题,存在指向不明的状况
答:感谢提问!咱们确实没有填,下次注意。但bug是只要一个设备存在,就须要去修改。
Q2:虽然有着详细的测试数据,但并无给出必定的解释性说明,这形成虽然堆有大量数据但大众很难去理解其所表明的含义,能够挂出大家对于数据的解读吗?
答:感谢提问!其实数据解读咱们在测试文档里面有给出来,若是大家仍是以为不是很能理解,能够看咱们的详细excel文档。
3:指出的分析大都和数据的安全性相关,可否就大家所目前所指出的安全性给福大助手app提出具体的一揽子解决方案呢?
答:感谢提问!咱们也很想提供一揽子解决方案,但确实作不到。
第四组
Q1:测试报告及ppt中均有错别字,为何没有认真审核呢?
答:感谢提问!对于PPT数字“5”和“五”不统一的问题深感抱歉,因为疏忽影响观看美感。咱们下次会注意的。对于测试报告中存在错别字咱们团队没有发现,但愿能够更明确的指出错误之处方便咱们作出修改。
Q2:测试报告没有上传pdf文件,下次可否考虑上传pdf文件呢?毕竟pdf文件不会由于打开软件的不一样呈现不一样。
答:感谢提问!对于咱们没有上传pdf文件给大家带来的不便表示抱歉,咱们下次会尽可能考虑到你们阅读的友好型作出改进。可是此次做业中也没有明确要求为pdf文件,因此还请谅解。
3:用户采访仅放了三张图,是否不够有说服力呢?毕竟图中部分同窗神似团队成员呢?
答:感谢提问!咱们的采访是线下面对面采访,虽只放置三张图片但并不是表明只采访了三个对象。这在PPT演示过程当中已有陈述是抽取三个表明性对象进行展现。而相较于您方放置的一个线下采访短视频是否咱们就能够等价的认为您方说服力也不够强呢?对于“图中神似团队成员”的问题,咱们团队中就有一半的成员在以前为使用过福大助手。首先,对象已是属于咱们的采访对象范围;其次,咱们图中确实存在一位团队成员,但她即是咱们挑选出来的表明性对象,咱们认为这并无什么不妥。最后,若是您方认为说服力不够,咱们很乐意看到您方所谓比较有说服力的采访数据和证据。
第五组
Q1:测评能够加入问卷调查的,了解下你们对这个软件的认识,由于我发现其实仍是不少人不知道的。
答:感谢提问!这是一个很棒的建议!以后咱们会多考虑问卷的。
Q2:其实我以为福大助手在响应时间方面并非很好,不少东西都半天出不来,也不知道是否是手机问题。
答:感谢提问!其实咱们团队也有相似的感受,不过彷佛易班及福大教务通等一众教务类软件都具备这些毛病,或许和服务器也有必定关系。
Q3:PPT一共有四页给福大助手来了一脚,虽然这APP确实不少地方有问题,但仍是别踢了,都肿了。(滑稽)
答:感谢提问!柯大魔王要求如此,一人一脚也是无奈之举。(莫非柯老板是西二在线幕后股东?)
第七组
1:大家的测试看起来很是有料,能够具体分享一下是怎么测试的嘛?
答:感谢提问!测试的过程虽然是咱们组的核心机密,可是看在咱们小组之间的关系很是不错。咱们作的测试主要是黑盒测试,除此以外咱们还使用了testin,上传apk文件,他们提供了不少款机型作测试,同时也给出测试的方式,性能测试、安全测试和兼容性测试等。不过一个帐户只能无偿使用一次软件测试。
Q2:大家的增量开发中有“同窗帮”,能够具体的介绍一下同窗帮是干什么的嘛?能够实现什么?
答:感谢提问!同窗帮的功能:实名制的同窗互动平台。分红学习、生活两部分。学习部分主要用来发布一些面向用户的我的学习信息。用户能够在这个板块发布找研友、有偿考研信息分享交流、有偿期末答疑解惑等消息。生活部分主要用来发布一些生活上的便利互助信息,如打车拼单、闲置物品转让出售等。咱们以为这个功能可以提供一个很好的校内交流氛围。
Q3:大家认为增量开发难度如何?
答:感谢提问!增量开发的难度视内容而定吧,要是您们指的是“同窗帮”功能的话,开发上我以为是有必定的难度,毕竟功能比较繁杂,不过物品转让在ios上已经有作尝试;对于学习部分,开发难度上相似于一个在线聊天系统,难度应该也不大。
第八组
Q1:对于增量设计中的在线点名功能认为是否有必要加这个?是否是加重代签之类的状况?
答:感谢提问!本组以为在线点名功能是能够扩展的功能,至因而否会加重代签之类的状况,本组以为教务处帐号涉及我的隐私太多,大部分同窗可能都不肯意为了签到借给他人。
Q2:能够抽取一部分的思惟导图或者逻辑框图展现在ppt中,ppt中好像没有体现。
答:感谢提问!本组认为把思惟导图或者逻辑框图放在ppt中没有很大的意义,由于这些图若是放在ppt中很难让同窗们看清。
Q3:产品分析感受这部份内容有点少了。
答:感谢提问!下次会在这方面有所改进。
组号 | 其余组对本组的评分 | 本组对其余组的评分 |
---|---|---|
1 | 78 | 80 |
2 | 81 | 76 |
3 | 77 | 71 |
4 | 76 | 69 |
5 | 86 | 78 |
6 | 85 | 85 |
7 | 82 | 71 |
8 | 84 | 80 |
平均 | 81 | — |
PSP2.1 | header 2 | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 50 | 30 |
· Estimate | ·估计这个任务须要多少时间 | 20 | 30 |
Development | 开发 | 150 | 120 |
· Analysis | 需求分析(包括学习新技术) | 60 | 60 |
· Design Spec | · 生成设计文档 | 0 | 0 |
· Design Review | · 设计复审 | 0 | 0 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 0 | 0 |
· Design | · 具体设计 | 80 | 50 |
· Coding | · 具体编码 | 10 | 20 |
· Code Review | · 代码复审 | 0 | 0 |
· Test | ·测试(自我测试,修改代码,提交修改) | 0 | 0 |
Reporting | 报告 | 10 | 10 |
· Test Repor | · 测试报告 | 0 | 0 |
· Size Measurement | · 计算工做量 | 0 | 0 |
· Postmortem & Process Improvement Plan | · 过后总结, 并提出过程改进计划 | 20 | 20 |
合计 | 300 | 350 |
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 666 | 666 | 15 | 15 | 复习c++,学习单元测试和代码覆盖率,学习git |
2 | 97 | 763 | 4 | 19 | 没什么成长,就是在优化代码 |
3 | 0 | 0 | 10 | 29 | 阅读《构建之法》第三章和第八章,学习使用Axure RP8,了解原型设计的方法 |
4 | 197 | 960 | 20 | 49 | 进一步学习爬虫(了解beautifulsoup使用、学会使用正则),学习使用git进行团队协做,学习使用NodeXL,了解flask |
... | |||||
9 | 410 | 1370 | 24 | 73 | 学习JavaWeb、Android、sqlite,对后端工做有了更深的认识 |
10 | 40 | 1410 | 6 | 79 | 更深刻学习Androidstudio的使用,学习接口 |
11 | 315 | 1725 | 15 | 94 | 简单地作了一个网站,对javaweb数据传递展现处理理解加深 |
12 | 70 | 1790 | 6 | 100 | 学了一点web,部署服务器 |
13 | 0 | 1790 | 10 | 110 | 对androidapp的理解加深了 |
14 | 30 | 1820 | 6 | 106 | 了解如何评测一个项目 |