一、需求&原型改进
1、需求改进:
(1)发现问题:通过发布问卷调查及收集整理的形式发现用户的新需求;
(2)修改需求:考虑新增提醒用户未完成事件的功能。
附:用户调查问卷(如下)
调研途径:通过发放问卷的方式进行调研
情况说明:
面向群体 |
不限(但主要是在校大学生) |
主要目的 |
· 了解人们对自身工作/学习/生活的管理情况 · 了解影响人们完成计划的主要因素 |
问卷反馈:
共收到有效问卷68份,其中男女比例大约为7:3,并以大学生为主。
(1)您有使用类似备忘录的应用来做规划的习惯吗?
(2)您通常会制定哪些类型的目标或习惯? (多选)
(3)您觉得计划没能完成的主要原因是?(多选)
(4)您觉得有哪些方法可以激励您完成计划?(多选)
问卷分析:
- 大部分人在工作生活中都有用到备忘录====>说明我们项目的实用性
- 大多数人制定目标的主要目的在于学习、工作,其次是生活和运动====>说明原先需求中的分组模块也能满足用户需求
- 大部分人未完成计划事件的主要原因是存在拖延症以及忘记====>考虑在项目中新增提醒功能
2、四象限法划分项目功能:
外围功能 |
杀手功能 |
|
必要需求 |
1.用户信息管理(登录/注册/修改资料/修改密码) 2.创建note 3.查看note(已完成/未完成) |
根据note的组别查看用户的note |
辅助需求 |
1.查看统计后自己完成与未完成note的情况 2.note支持导出 |
1.note支持插入图片 2.note支持markdown 3.提醒用户未完成的note |
3、完善需求规格说明书
(1)原需求规格说明书:https://www.cnblogs.com/Dawson-Huang/p/12840666.html
(2)需求规格说明书修改部分:功能模块新增提醒功能,其余部分的描述已足够详细,足以满足目标用户期待的需求,故不再做修改
二、系统设计
1、系统架构设计
(1)从整体架构上,我们的项目分为两大模块:
层次 |
功能 |
前端页面 |
直接与用户进行交互 |
后端系统 |
响应用户的请求,为用户提供数据和服务 |
(2)前后端交互:
- 前端页面和后端系统通过HTTPS协议进行交互
- 后台利用Ajax进行异步数据请求,得到的数据以json的格式返回,便于处理
2、前端页面设计
我们整体的设计风格是比较小清新的,使用react框架使得我们得以快速上手,对于我们提高开发效率大有帮助。同时使用ant Design的组件加快项目的开发,从而保证我们团队能够高质量地完成我们的任务。
页面效果(粗略,还未设计完成)
3、后端系统设计
(1)后端系统设计主要分为以下模块:
模块 |
功能 |
用户模块 |
用户信息相关操作功能 |
note模块 |
用户备忘录相关操作功能 |
权限模块 |
用户登陆权限,以及接口的相关权限控制功能 |
数据导入导出模块(待定) |
导出导入相关数据功能 |
…… |
- 本项目使用JAVA作为后端开发语言,数据库使用Mysql,使用maven框架进行依赖管理,并使用Springboot和MybatisPlus两个框架来提高开发效率。
- SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。 它还内嵌有tomcat等servlet容器,方便项目的运行和测试。不需要另外编写xml配置文件,开发十分便捷迅速。
- MybatisPlus只需简单配置,即可快速进行 CRUD 操作,从而节省大量时间。热加载、代码生成、分页、性能分析等功能一应俱全。 并且它只做增强不做改变,引入它不会对现有工程产生影响。
(2)后台项目目录:
4、数据库设计:
目前只设计了3张表,更新中:
分别是:
user
user_id |
int |
用户id |
user_name |
varchar |
用户名 |
password |
varchar |
密码 |
profile_pic |
varchar |
头像url |
account |
varchar |
登陆账号(邮箱) |
note
note_id |
int |
noteId |
user_id |
int |
用户id |
group_id |
int |
所属群组id |
title |
varchar |
标题 |
content |
varchar |
内容 |
notice_content |
varchar |
提醒内容 |
schedule_time |
datetime |
规划完成时间 |
finish_time |
datetime |
实际完成时间 |
create_time |
datetime |
创建时间 |
status |
int |
note状态,0-未完成,1-完成,2-已超时未完成,3-已超时但完成了 |
group
group_id |
int |
组id |
group_name |
varchar |
组名 |
三、Alpha任务分配计划
编码的队员根据下表对任务进行认领,分工的结果如下:
开发任务 |
负责人 |
时长 |
|
数据库 |
设计数据库 |
黄源钦 |
1h |
建立数据库 |
黄源钦 |
1h |
|
前端页面 |
登陆/注册页面 |
黄源钦 |
10h |
主界面 |
黄源钦 |
10h |
|
note操作界面 |
黄源钦 |
10h |
|
用户信息管理界面 |
黄源钦 |
10h |
|
…… |
|||
后台功能 |
登陆注册接口 |
黄敦鸿 |
10h |
用户信息操作接口 |
黄骏鹏 |
10h |
|
note操作接口 |
黄骏鹏 |
10h |
|
权限控制功能 |
黄华 |
10h |
|
单元测试代码 |
黄敦鸿 |
10h |
|
...... |
|||
测试 |
测试 |
李洋 |
10h |