方便之门(下载链接)
目录
##
团队介绍
跳转到目录我们的团队名是PureMan。下面是团队成员。
照片 | 姓名 | 角色 | 博客 | 介绍 |
---|---|---|---|---|
邵旭哲 | PM | 贰仟 | 菜,鶸 | |
吴昊 | PM以及测试 | 535812068wh | 本人男,有过java实习经验,喜欢编程,虽然不够强,但不会拖后腿,也不会逃避自己的责任。爱好是学习。 | |
胡俊崧 | 开发 | swearitagain | 胡俊崧 来自贵州遵义 性格随和,人畜无害,责任心强 没什么高大上的爱好,平时爱听音乐看电影旅游,打打羽毛球游泳 希望在这次团队项目中锻炼自己的能力,更学会理解与协作。 最重要的还是希望与队友合作愉快,收获友谊。开心就好嘛! |
|
蒋锋 | 开发 | Diralpo | 技术菜鸡 第一次干这种多人开发的项目,也算是挑战一下自己。 |
|
陈治齐 | 开发 | Eggert | 同上 | |
吴枫 | 测试 | wevolf | 啦啦啦 |
##
项目内容
跳转到目录定义典型用户
用户 | 用户T2 |
---|---|
身份 | 某计算机专业某专业课程的教师 |
年龄 | 35岁 |
重要性 | 非常重要,所占比例不大,通常是班级博客的组织者,是产生其他用户的基础 |
使用场景 | 组建班级,进行某专业课程的教学,添加助教,发布作业、投票 |
使用环境 | 主要是教室、实验室、办公室或家中 |
生活/工作 | 承担某专业课的教学工作,此外有自己的工程、研究工作 |
知识层次/能力 | 熟悉计算机的专业知识,具有熟练的编程技能,通常精通某一专业课程 |
动机/目的 | 组件班级进行某专业课程的教学 |
用户偏好 | 希望能够更加方便的管理班级 |
------------- | ------------------------------------------------------------ |
用户 | 用户A2 |
身份 | 某计算机专业高年级学生 |
年龄 | 22岁 |
重要性 | 比较重要,通常由教师指定,通常是班级成员的管理者,作业和投票等发布者。 |
使用场景 | 在教室的安排下添加班级成员、发布作业,对学生的作业进行评论、打分,统计投票结果 |
使用环境 | 主要是教室、宿舍、图书馆或家中 |
生活/工作 | 即将毕业,完成了专业课的学习,正在为下一步的发展作准备 |
知识层次/能力 | 较熟练地掌握计算机专业知识,曾学习过某专业课程并取得较好成绩 |
动机/目的 | 协助教师组织、管理班级,进行教师和学生之间的沟通 |
用户偏好 | 希望能够方便的看到学生提交的作业和投票情况并对评论进行的反馈 |
------------- | ------------------------------------------------------------ |
用户 | 用户S2 |
身份 | 某计算机专业学生,正在学习某专业课程 |
年龄 | 20岁 |
重要性 | 相对比较重要,占比例最大,是班级博文的主要贡献者。 |
使用场景 | 编辑,提交作业 |
使用环境 | 主要是教室、宿舍、图书馆或家中 |
生活/工作 | 在校学生,主要任务是学习 |
知识层次/能力 | 掌握基本的计算机知识包括基本的语言、算法、数据结构,有简单程序的开发经验 |
动机/目的 | 使用班级博客进行某门专业课程的学习 |
用户偏好 | 主要使用班级博客提交作业,希望能够及时收到与作业有关的消息 |
预期功能及验收验证标准
功能 | 功能描述 | 验收验证标准 | |
---|---|---|---|
用户 | 认证 | 用户登录(可能需要验证码) 退出新用户注册 找回密码 记住用户登陆状态 记住密码 | 能够正常登录(可能需要验证码)、退出、注册新用户、找回密码、记住登陆状态 能够对错误的输入进行提醒 能够在选择账号后自动填充密码 |
个人信息 | 查看个人信息、个人所在班级列表、个人博客地址、个人日程表 修改个人信息 |
能够显示正确的个人信息,能够正常修改个人信息,修改后的个人信息能及时更新 能够保证修改后信息的合法性 |
|
加入小组 | 搜索小组和加入 | 正常显示小组,可以加入群组 | |
消息提醒 | 收到关于作业发布、截止日期的消息提醒 收到关于评论/回复的消息提醒(包括来源、文章、上下文) 收到关于小组话题的消息和新投票提醒 |
能够及时收到正确信息 | |
个人博客 | 博文 | 按照不同标准对博文进行分类显示 按照不同标准对个人博客中的博文进行排序 浏览博文内容 编辑博文和保存草稿 |
博文能够正常分类、分页、排序 博文内容正常显示 博文可以编辑,草稿可以保存和发布 |
评论/回复 | 在自己的博客中回复他人的评论 在他人的博客中对他人的博文进行评论 |
能够添加评论、回复 | |
班级博客 | 查看所有班级博客 | 支持按照不同标准排序 支持关键词搜索 |
正常显示、排列班级 正确的关键词能够搜索到相应结果 |
进入班级 | 查看班级内容:博文、成员、作业、投票 关注其他班级 管理员设置班级成员信息权限 |
正常显示班级内容 能够关注其他班级,不能关注所在班级 非管理员不能设置权限,管理员能正常设置权限 |
|
博文 | 按照不同标准进行分类、筛选查看 | 能够正常分类、筛选、显示 | |
日程表 | 将作业投票发布、作业提交和投票截止等事件显示在日程表中 | 事件能够正确显示,事件添加或更新后能够随之更新 | |
作业 | 学生提交作业 教师助教发布个人作业、团队作业 支持教师、助教删除作业 管理员可对作业进行评分 |
能够提交作业,并更新提交列表 管理员能够发布/删除个人作业、团队作业,对作业评分 非管理员不能对作业进行除查看、提交体外的操作 |
|
投票 | 学生参与投票 教师助教发布投票 支持教师、助教删除投票 |
能够选择投票选项,并更新投票情况 管理员能够发布/删除投票 非管理员不能对投票进行除查看、选择选项外的操作 |
|
成员 | 非班级成员提出申请加入班级 教师、助教添加/删除学生、团队 班级成员离开班级 |
能够收到申请并对申请进行处理 管理员能够添加/删除学生、团队,非管理员不能 班级成员可以离开班级 |
|
创建班级 | 有管理员身份的用户创建新班级 | 有管理员身份的用户可以创建新班级,并在班级博客首页显示 |
项目发布(5.17日更新)
方便之门
跳转到目录项目初步预期发布在应用汇、安智市场,并上传fir.im以方便下载体验。
下载链接:apk下载
扫码下载:
应用汇下载链接
安智市场下载链接
新旧对比(统一左新右旧):
UI的全部美化和统一:
新版作业可以区分未结束已结束和已关闭,旧版不能(全部显示为未结束):
完全修改了班级页面的逻辑:
旧版本很多时候没有对老师和学生的身份进行(以作业为例,新版本老师可以对作业进行操作而旧版本老师却和学生一样是提交作业列表,老师一般是不交作业的):
新版本的功能:
班级博客:
查看个人所在班级:
作业:
查看作业列表,按类型显示作业:
添加作业:
已发布作业的修改,关闭和删除:
提交作业和查看提交情况:
公告:
公告列表:
添加公告:
修改公告:
删除公告:(长按触发)
博文:
博文列表及筛选:
添加收藏:
收藏列表:
博文分享:
投票:
投票列表和详情:
目前的问题和限制:
- 网页的限制:
- 登录使用网站的页面,登录成功后会显示授权码页面, 目前无法隐藏
- 作业详情使用网站的页面,需要在此页面中登录才能进行提交作业等操作
- 投票功能尚不完善:
- 投票功能目前只能获取投票信息和展示投票详情,不能参与投票
- 界面稍显简陋
- 对于没有班级的博客园账号可能在点击班级时出现闪退。
- 异形屏的适配。
- 对于markdown的支持。
截至目前(4.23 10:00)的用户数量:
用户反馈情况:
-
用户评论的遗留问题(beta阶段将进行处理):
-
全面屏适配的遗留问题(beta阶段将进行处理):
-
图形界面有待美化:
4.用户没有“班级”时会出现闪退:
问卷调查结果:
- 需要加入参与投票功能
- 消息提示作业和投票的截止信息
(Beta阶段目标)
##
项目管理
跳转到目录项目分工:
- 分工协作
团队里有3.5位开发人员,1位测试人员,1.5个项目经理。
开发人员负责实现客户端的功能,界面。我们主要需要调用博客园提供的API,配合一些组件,来实现功能。最开始的分工是大家各自负责自己的功能,然后在例会上交流遇到的障碍或者取得进度,确定把功能加入哪里,保证大家大家UI的统一,同时也有两位开发定期统一所有的界面和美化。
测试人员负责完成客户端的兼容性测试、压力测试,各个功能的集成测试。
项目经理负责完成各种文档,组织开会,安排任务推进项目,与相关人员沟通,做调研,推广。 - 经验教训
最初功能的确定时对博客园实际提供的api没有进行深入了解,过分依赖和参考了问卷的调查结果,结果一些功能博客园并没有给出相应的api(例如编辑博客),所以暂时搁置了,只能开发其他调查得到比较热门的功能。
要及时沟通进度和了解遇到的困难,不然可能会导致出现进度过慢。
项目经理在安排任务时应该考虑各个成员的优势、偏好和能力。
平衡:
- Alpha阶段面临的情况
- 几位开发选了计网这门课,有些时候会忙于其他课程,就要适当调整进度。
- 大家都没有IOS开发的经验。
- Alpha阶段的开发工作
- 着重先完成确定的功能,对上代的班级功能内的界面重新设计,UI达到整洁标准。
- Alpha暂时不考虑界面更多的美化和一些改进性的功能。
- 先完成android客户端的开发。
##
工程质量
跳转到目录 ###测试: **测试矩阵:**测试矩阵 | 后端功能测试 | 前端功能测试 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
测试机型 | 测试环境(机型,版本,分辨率) | 登录功能 | 查看博客 | 添加评论 | 查看班级 | 查看作业 | 添加成员 | 发布作业 | 退出登录 | 网络断开 | 点击事件 | 页面布局 | 加载速度 | 图片问题 | 页面切换 |
三星C7 | 6.0.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 较好 | 一般 | 正常显示链接图片显示较大 | 正常 |
华为P9 | 7.0.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 较好 | 较好 | 正常显示链接图片显示较大 | 正常 |
三星S8 | 6.1.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 一般 | 一般 | 正常显示链接图片显示较大 | 正常 |
Custom Phone6.0 | 6.0.1 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 较好 | 一般 | 正常显示链接图片显示较大 | 正常 |
Google Nexus | 5.1.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 较好 | 一般 | 正常显示链接图片显示较大 | 正常 |
小米6 | 8.0.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 较好 | 较好 | 正常显示链接图片显示较大 | 正常 |
出口条件:
我们认为的出口条件包括以下两点:一是兼容性,二是稳定性。
兼容性:
即要在大多数的主流手机上可以安装运行,针对这一点我们进行了测试,将apk文件交到腾讯的WeTest平台,对主流的50款手机进行了兼容性测试。在腾讯的适配标准下,我们第一个版本50款手机的适配通过率达到了94%。随后进行了调试,达到了100…%。
用的最多的华为手机。
修改之后可以正常运行。
所以,我们认为app的兼容性达到出口条件。
稳定性:
我们对稳定性的测试也是通过Appium + python脚本,对APP的操作来实现的,有作业的发布,公告的发布,作业的收藏,作业的评论等,当发布1000个公告的时候也不会出错。还有作业的删除等功能,具体代码在test_code分支下面,我们测试的时候是实现一个功能测试一次,所以有些测试代码是还没有到最终版就写好了,因此在最终版上不可以运行。我们还将运行的版本提高到Android9.0, 也运行了测试。
压力测试
对比去年,我们今年也做了压力测试。今年我们调用的博客园的API更多了。所以也做了更多的测试。去年主要是在登录页面的测试,由于无法得到一大批的账户与密码,所以我们在未登录的情况下测试博客园中的班级博客的一些功能。对于登录,我们也做了测试。登录功能都是正常的。但是再查看博客与查看作业的时候,我们设置并发数为100,及我们预期的用户的时候,还是会出现一些错误。下面是返回作业正确的情况。我们用到的工具是Chrome的测试插件BlazeMeter与jmeter。
下面是最终的聚合报告。从中我们可以看到
可以看到返回的错误情况是在查看博客以及班级作业的情况下。然后我们又测试了在并发数为200的情况下,查看班级,博文,评论,以及作业的情况。
**PS:影响使用吗?** 在稳定阶段难免会发现一些bug,如果要修改这些bug可能会对整个项目进行比较大的改动,这时候就要对这个bug作出分析,即这个bug是否会影响用户的正常使用。如果是会crash的错误,那就必须要将其修改后再发布;如果基本功能没有影响,那么就可以适当的保留bug,留到下一个阶段中集中解决。 综上所述,我们认为我们的软件达到了出口标准。
###代码规范: 为了便于和上一届代码整合以及(可能还有)下一轮使用,我们决定沿用上一届的代码规范,在docs/specifications下。
###文档: 文档保存在github的docs/specifications分支下。
###从无到有: 需要进行环境配置,可以参考环境配置说明文档
###数据的变化与体现: 作为继承上届的代码,博客园工程经历我们Alpha阶段的开发后,团队软件工程质量得到了一定的提高: 以注释为例,我们统计了代码、注释行数,得到如下表格。
代码行数 | 注释行数 | 总行数 | 注释比例 | |
---|---|---|---|---|
原来 | 5107 | 217 | 5324 | 4.1% |
现在 | 9984 | 781 | 10765 | 7.3% |
**在Alpha阶段开发中,相比原有项目,代码行数增加了近一倍,而注释行数是原来的3.46倍,注释比例提升了约78%。**
PS:
1. 注释包括单行注释和多行注释。
2. 空行算作代码行。
3. 总行数=代码行数+注释行数
4. 注释比例=注释行数/总行数
##
实际进展
跳转到目录 ###进展:PS:因一些issues属于长期任务,无法再Alpha阶段完全关闭,所以燃尽图进度并未达到100%,属于正常现象。
##
成员贡献
跳转到目录 ###基本任务分配和贡献开发人员 | 开发人员 | 开发/PM | 开发人员 | 测试人员 | 项目经理 |
---|---|---|---|---|---|
胡俊崧 | 蒋锋 | 吴昊 | 陈治齐 | 吴枫 | 邵旭哲 |
学习react native的组件 | 学习react native的组件 | 学习react native的组件 | 学习react native的组件 | 学习react native的组件 | 组织策划会议,催促项目进度 |
修改班级一级界面的UI结构和交互逻辑 | 熟悉博客园公告相关API,实现发布公告的功能 | 组织策划会议,催促项目进度 | 完成了班级选择页面 | 测试发布作业,发布公告功能 | 撰写每日例会报告 |
修改作业界面的UI界面,根据不同身份设计不同的交互按钮 | 获取班级公告列表数据和内容显示,并对不同身份进行区分 | 完成部分文书工作 | 完成了班级博文列表页面 | 测试博文列表功能,收藏功能 | 管理Github项目issues情况 |
增加作业的分类显示、编辑、修改、关闭、删除功能 | 完成编辑、删除公告的功能 | 制定团队贡献分规则并统计分数 | 完成和美化筛选博文功能 | 测试查看作业,查看公告,查看博文功能 | 完成大部分文书工作(文档) |
优化作业发布功能 | 完成浏览博客时收藏博客的功能 | 完成投票相关界面:VoteList和VoteDetail | 完成了一部分投票显示页面,能显示每个投票的题目以及选项 | 测试网页端与APP同步情况 | 沟通各平台并进行发布 |
增加博客分享 | 获取用户收藏列表数据和内容显示 | 进行项目宣传 | 完成了UI样式的调整,使其更加美观。 | 制作测试bug分支树 | 宣传工作和收集反馈情况 |
封装获取时间函数 | 增加从收藏列表跳转博客详情功能并修复跳转时存在的BUG | 压力测试以及测试报告 |
特殊情况加减分
开发人员 | 开发人员 | 开发/PM | 开发人员 | 测试人员 | 项目经理 | |
---|---|---|---|---|---|---|
姓名 | 胡俊崧 | 蒋锋 | 吴昊 | 陈治齐 | 吴枫 | 邵旭哲 |
基础分数 | 52 | 51 | 50 | 52 | 47 | 48 |
加减分 | - | - | 例会报告发布较晚-1 | +1 | +1 | 例会报告发布较晚-1 |
总分数 | 52 | 51 | 49 | 53 | 48 | 47 |