Alpha阶段项目展示

Alpha阶段项目展示

NewTeam 2017/11/15


团队介绍 返回目录

岗位 人员 介绍 博客 照片
开发人员 安万贺
  • 计算机系
  • 对算法比较感兴趣,但编码能力和算法能力不是很强
  • 希望通过这门课能够学到如何做一个真实的软件和如何应用自己学到的知识
  • 虽然现在是一条咸鱼 -->冏。但是,但是,,,希望将来不是一条老咸鱼。
Stones_A
王梓嘉
  • 一个死宅
  • 编码能力不强,会的也不多,希望不拖团队后腿吧
  • 虽然选这门课是一时兴起,但我还是会努力的...
  • 属于那种什么都不会但做事比较认真的类型吧
InuyashaSAMA
李奕君
  • 计算机系
  • 端茶送水,紧抱大腿_(:з」∠)_
  • 啥也不会,现学现卖(ಥ_ಥ)
  • 好好学习,天天向上٩('ω')و
菜鸟少侠
测试人员 李欣泽
  • 计算机系
  • 对测试比较感兴趣,平时也爱测一些奇怪的数据
  • 反应较慢QAQ,编码能力弱。。。
  • 希望自己可以做好测试,避免经历车祸现场才是坠吼的
LuoboLiam
项目经理 索一奇
  • 计算机专业,大三
  • 习惯做计划,擅长写文档,编码风格比较规范,编码能力不是很强
  • 可以背锅,不会怼人
  • Live like there is no tomorrow.
Eris_Charon
团队介绍

项目内容 返回目录

目标和预期

定义典型用户

用户用户T
身份某计算机专业某专业课程的教师
年龄35岁
所占比例15%
重要性★★★★★
非常重要,所占比例不大,通常是班级博客的组织者,是产生其他用户的基础
使用场景组建班级,进行某专业课程的教学,添加助教,发布作业、公告
使用环境主要是教师、实验室、办公室或家中
生活/工作承担某专业课的教学工作,此外有自己的工程、研究工作
知识层次/能力熟悉计算机的专业知识,具有熟练的编程技能,通常精通某一专业课程
动机/目的组件班级进行某专业课程的教学
用户偏好希望能够更加方便的管理班级
用户用户A
身份某计算机专业高年级学生
年龄22岁
所占比例15%
重要性★★★★
比较重要,通常由教师指定,通常是班级成员的管理者,作业的发布者。
使用场景在教室的安排下添加班级成员、发布作业,对学生的作业进行评论、打分
使用环境主要是教室、宿舍、图书馆或家中
生活/工作即将毕业,完成了专业课的学习,正在为下一步的发展作准备
知识层次/能力较熟练地掌握计算机专业知识,曾学习过某专业课程并取得较好成绩
动机/目的协助教师组织、管理班级,进行教师和学生之间的沟通
用户偏好希望能够方便的看到学生提交的作业以及对评论进行的反馈
用户用户A
身份某计算机专业学生,正在学习某专业课程
年龄20岁
所占比例70%
重要性★★★
相对比较重要,占比例最大,是班级博文的主要贡献者。
使用场景提交作业
使用环境主要是教室、宿舍、图书馆或家中
生活/工作在校学生,主要任务是学习
知识层次/能力掌握基本的计算机知识包括基本的语言、算法、数据结构,有简单程序的开发经验,
动机/目的使用班级博客进行某门专业课程的学习
用户偏好主要使用班级博客提交作业,希望能够及时收到与作业有关的消息

功能描述及验收验证标准

功能功能描述验收验证标准
用户认证
  • 用户登录(可能需要验证码)
  • 退出
  • 新用户注册
  • 找回密码
  • 记住用户登陆状态
  • 能够正常登录(可能需要验证码)、退出、注册新用户、找回密码、记住登陆状态
  • 能够对错误的输入进行提醒
个人信息
  • 查看个人信息、个人所在班级列表、个人博客地址、个人日程表
  • 修改个人信息
  • 能够显示正确的个人信息,能够正常修改个人信息,修改后的个人信息能及时更新
  • 能够保证修改后信息的合法性
消息提醒
  • 收到关于作业发布、截止日期的消息提醒
  • 收到关于评论/回复的消息提醒(包括来源、文章、上下文)
  • 能够及时收到正确信息
个人博客博文
  • 按照不同标准对博文进行分类显示
  • 按照不同标准对个人博客中的博文进行排序
  • 浏览博文内容
  • 博文能够正常分类、分页、排序
  • 博文内容正常显示
评论/回复
  • 在自己的博客中回复他人的评论
  • 在他人的博客中对他人的博文进行评论
  • 能够添加评论、回复
  • 在他人的博客中不能进行回复
班级博客查看班级博客所有班级
  • 支持按照不同标准排序
  • 支持关键词搜索
  • 正常显示、排列班级
  • 正确的关键词能够搜索到相应结果
进入班级
  • 查看班级内容:博文、成员、作业
  • 关注其他班级
  • 管理员设置班级成员信息权限
  • 正常显示班级内容
  • 能够关注其他班级,不能关注所在班级
  • 非管理员不能设置权限,管理员能正常设置权限
博文
  • 按照不同标准进行分类、筛选查看
  • 能够正常分类、筛选、显示
日程表
  • 将作业发布、作业提交截止等事件显示在日程表中
  • 事件能够正确显示,事件添加或更新后能够随之更新
作业
  • 学生提交作业
  • 教师助教发布个人作业、团队作业
  • 支持教师、助教删除作业
  • 管理员可对作业进行评分
  • 能够提交作业,并更新提交列表
  • 管理员能够发布/删除个人作业、团队作业,对作业评分
  • 非管理员不能对作业进行除查看、提交体外的操作
成员
  • 非班级成员提出申请加入班级
  • 教师、助教添加/删除学生、团队
  • 班级成员离开班级
  • 能够收到申请并对申请进行处理
  • 管理员能够添加/删除学生、团队,非管理员不能
  • 班级成员可以离开班级
创建班级
  • 有过管理员身份的用户创建新班级
  • 有过管理员身份的用户可以创建新班级,并在班级博客首页显示

项目目标和预期
任务拆解

项目发布

软件的发布方式以及发布地址

博客园-班级博客移动客户端目前发布于酷安网移动应用平台,下载地址如下:

博客园-班级博客移动客户端(android)

功能

用户登录和退出
个人博客
  • 查看个人博客
  • 查看博文详情
  • 查看评论和回复
  • 添加评论和回复
班级博客
  • 查看个人所在班级
  • 成员
    • 查看班级成员
    • 添加班级成员(教师和助教)
  • 作业
    • 查看作业列表,显示未结束作业的数量
    • 查看作业详情、提交作业
    • 发布作业(教师和助教)

已知的问题和限制

  • 网页的限制:
    • 登录使用网站的页面,登录成功后会显示授权码页面, 目前无法隐藏
    • 作业详情使用网站的页面,需要在此页面中登录才能进行提交作业等操作。
  • 评论和回复:
    • 回复时无法自动添加回复对象需用户手动添加@ Username
    • 评论内容无法换行
  • 作业发布
    • 作业发布标题、内容可以为空
    • 作业的开始时间可以晚于截止时间
  • 显示
    • 手机横屏内容显示不全
    • 内容更新后不能够及时刷新。

项目发布说明文档

用户反馈

用户数量

用户的建议和反馈

用户反馈的bug


项目管理 返回目录

项目分工

分工协作

      团队里有3位开发人员,1位测试人员,1个项目经理。

      开发人员负责实现客户端的功能,界面。我们主要需要调用博客园提供的API,所以不太需要做后端。最开始的分工是一位开发人员负责测试博客园的API并且对API进行包装,以供其他开发人员使用;两位开发人员负责界面;两位开发人员负责页面的切换和数据的处理和显示。

      测试人员负责完成客户端的兼容性测试、压力测试,各个功能的集成测试,前后端功能的测试。

      项目经理负责完成各种文档,组织开会,安排任务推进项目,与相关人员沟通,做调研,推广。

经验教训

      界面、页面切换和数据处理和显示这些部分联系非常密切很难划分界限,所以改为两位开发人员分别负责不同功能的页面、数据。成员的分工应该根据项目的进展不断进行调整。

      项目经理在安排任务时应该考虑各个成员的优势、偏好和能力。


平衡

Alpha阶段面临的情况
  • 其他各科任务还不是很重,大家时间都比较充足
  • 大家的app开发经验比较少,需要从头开始学习
  • 大家都没有用于IOS开发的设备
Alpha阶段的开发工作
  • 先完成基本的功能,暂且不考虑界面的美化和改进性的功能
  • 先对react native进行基础的学习,然后根据每个人承担的不同开发工作在开发过程中进行学习
  • 先完成android客户端的开发

工程质量 返回目录

测试

测试矩阵

测试矩阵后端功能测试前端功能测试
测试机型测试环境(机型,版本,分辨率)登录功能查看博客添加评论查看班级查看作业添加成员发布作业退出登录网络断开点击事件页面布局加载速度图片问题页面切换
三星C76.0.0正常正常正常正常正常正常正常正常正常正常较好一般正常显示链接图片显示较大正常
华为P97.0.0正常正常正常正常正常正常正常正常正常正常较好较好正常显示链接图片显示较大正常
三星S86.1.0正常正常正常正常正常正常正常正常正常正常一般一般正常显示链接图片显示较大正常
Custom Phone6.06.0.1正常正常正常正常正常正常正常正常正常正常较好一般正常显示链接图片显示较大正常
oogle Nexus5.1.0正常正常正常正常正常正常正常正常正常正常较好一般正常显示链接图片显示较大正常

出口条件

      我们认为的出口条件包括以下两点:一是兼容性,二是稳定性。

兼容性

      即要在大多数的主流手机上可以安装运行,针对这一点我们进行了测试,将apk文件交到腾讯的WeTest平台,对主流的50款手机进行了兼容性测试。在腾讯的适配标准下,50款手机的适配通过率达到了100%。

      这是兼容性报告截图:

其中一个机型的性能分析:

      兼容性测试50台设备分布:

所以,我们认为app的兼容性达到出口条件。

稳定性
<h5集成测试

      就是对软件的特定功能进行测试,比如学生能否添加班级成员,能否发布作业,是否可以进行评论等。这部分我们采用appium+python脚本的策略进行自动化测试,测试代码在github中的__test__/testcode文件夹中。

压力测试

      对app进行压力测试,我们的预期用户量在500上下,因此我们对500名用户并发使用进行了测试。因为我们使用了博客园官方提供的api,因此测试工具采用badboy录制测试脚本,Jmeter进行测试。因为我们无法拿到500个用户的用户名和密码,因此只能对登录功能进行测试。经过测试,在500个用户并发使用登录功能时,app可以正常工作。

      下面是500个用户测试得到的结果树截图:

      500个用户测试得到的聚合报告:

      我们还对其进行了负载测试,即用户量达到1000时,app是否可以正常工作,不崩溃。测试流程类似,经过测试,在1000个用户并发使用登录功能时,app依旧可以正常工作。

      下面是1000个用户测试得到的结果树截图:

      1000个用户测试得到的聚合报告:

是否影响使用

      在稳定阶段难免会发现一些bug,如果要修改这些bug可能会对整个项目进行比较大的改动,这时候就要对这个bug作出分析,即这个bug是否会影响用户的正常使用。如果是会crash的错误,那就必须要将其修改后再发布;如果基本功能没有影响,那么就可以适当的保留bug,留到下一个阶段中集中解决。

      综上所述,我们认为我们的软件达到了出口标准。

测试报告

代码规范

项目初期制定了简要的代码规范,在github的dev-dov分支中

Google Code Style Guidance


  • 构造函数:避免构造函数中虚方法的调用,并避免不能发出错误信号的初始化失败。
  • 隐型转换:不要定义隐型转换,对转换运算符和单参数构造函数使用explicit关键字。
  • ……

函数

  • 参数顺序:输入、输出
  • 写短函数:写短而集中的函数
  • 引用变量:所用通过引用传递的参数必须有const标签
  • ……

命名

  • 通用命名规则:名称应该是描述性的,避免缩写
  • 文件名:小写,包括下划线(_)或连字符(-),跟随项目传统的使用方式,如果没有一致的模式,使用下划线(_)
  • ……

格式

  • 行长度:每行最多80个字符(如果与旧代码有冲突,一致性更为重要)
  • 非ASCII字符:必须使用UTF-8编码格式
  • 空格vs制表符:只使用空格,每次两格
  • ……

文档

github上的dev-doc分支,用来存放所有文档

EduCnblogs-dev-doc

从零开始运行项目

需要进行环境配置,可以参考环境配置说明文档


实际进展 返回目录

进度


团队成员贡献 返回目录

基本任务分配和贡献

开发人员测试人员项目经理
安万贺王梓嘉李奕君李欣泽索一奇
配置react native环境,学习基础部分
学习fetch方法学习react native的组件配置集成测试环境开发前的用户调研和用户需求NABCD
阅读API文档,熟悉班级博客相关API通过demo学习页面切换、数据显示测试计划方案技术规格说明书
参考现有开源项目,学习和设计API包装方式班级作业和作业详情的数据的获取和内容的显示班级作业和作业详情的界面在linux上搭建集成测试环境代码规范
对获取班级作业、作业详情的API的包装登录页面和整个客户端的页面跳转框架找到一些UI素材对现实班级作业和作业详情显示功能的测试功能规格说明书和原型设计
对个人博文列表、博文详情、个人所在班级的API的包装个人博客博文列表、博文详情的页面和内容显示班级列表部分的界面和内容显示对个人博客、班级显示功能的测试环境配置说明文档
对用户登录API的包装班级成员界面和数据的获取和内容的显示用户个人信息页面和数据的获取和内容的显示班级成员个人信息内容显示功能的测试Scrum Meeting1-10
涉及内容修改的API的包装,包括添加评论/回复界面优化:去除班级页面不必要的按钮和标签界面优化:去除用户个人信息页面不必要的按钮和标签自动化测试的环境配置找到UI素材、App模板
添加班级成员、发布作业API包装完成回复评论功能完成作业发布界面和作业发布功能按照自动测试的要求想组件中添加属性制作图标和启动界面
保持用户登录状态功能优化界面:调整字体、边距完成添加班级成员的功能对发布作业、添加班级成员功能和不同身份用户的操作权限进行测试生成Key,打包app
退出登录功能修复返回键可以返回上一状态的bug修改时间输入组件进行压力测试尝试在各个平台发布
对客户端进行埋点用于用户数量的统计修复了作业发布功能中发布时间不检查表单内容的bug添加关于app页面进行兼容性测试发布说明文档
测试报告

特殊情况加减分

开发人员测试人员项目经理
安万贺王梓嘉李奕君李欣泽索一奇
-1涉及修改的API的测试和包装用时太长,相应功能无法按时实现+1完成了登录界面+2添加了时间日期选择组件,限制了时间格式+2完成了测试报告+1完成了logo和启动界面
+1完成了保持用户登录状态的功能+2完成了整个客户端的页面跳转框架-2分工不合理,界面和交互不易分开
+2完成了用户记录的埋点+1对界面进行了优化,调整字体和颜色-2安排不合理,导致测试在发布后才完成。
-1用户记录存在异常+1修复了作业发布没有对表单内容进行检查的bug-1没有进行确认检查导致用户记录存在异常
5155525246
5053515244
团队成员贡献

posted on 2017-11-15 12:05  NewTeam  阅读(374)  评论(0编辑  收藏  举报

导航