基于安卓的移动端TODOList应用软件开发

khepry0 2021-12-23 00:28:17

基于安卓的移动端TODOList应用软件开发

  • 1. 概述
  • 2. 系统架构与用例图
  • 3. 系统模块划分
  • 3.1 用户模块
  • 3.1.1 注册功能
  • 3.1.2 登录功能
  • 3.1.2.1 密码登录
  • 3.1.2.2 自动登录
  • 3.1.3 编辑用户信息
  • 3.1.3.1 查看用户信息
  • 3.1.3.2 修改用户信息
  • 3.2 待办事项模块
  • 3.2.1 编辑分类信息
  • 3.2.1.1 创建分类
  • 3.2.1.2 删除分类
  • 3.2.1.3 修改分类
  • 3.2.2 编辑待办事项信息
  • 3.2.2.1 添加待办事项
  • 3.2.2.2 删除待办事项
  • 3.2.2.3 修改待办事项
  • 3.2.3 查看待办事项
  • 3.2.4 待办事项完成统计
  • 3.3 专注功能
  • 3.3.1 专注模式
  • 3.3.2 软件白名单管理
  • 3.3.3 专注时长统计
  • 4. 数据库设计-ER图
  • 5. 接口设计
  • 5.1 外部接口
  • 5.1.1 用户模块
  • 5.1.2 待办事项模块
  • 5.1.3 专注模块
  • 5.2 内部接口
  • 5.2.1 UserService
  • 5.2.2 TaskService
  • 5.2.3 CategoryService
  • 5.2.4 FocusService
  • 6. 设计模式

1. 概述

此Todolist应用本着less is more的思想,突出备忘录软件本身应该具有的功能,尽可能剔除其它冗余的功能,让用户能够快速上手使用、高效管理时间。此系统采用目前主流的前后端分离的设计模式进行开发,前端主要负责与用户的互动,后端主要负责数据的处理和业务的实现。

2. 系统架构与用例图

在这里插入图片描述


在这里插入图片描述

3. 系统模块划分

在这里插入图片描述

3.1 用户模块

用户模块处理用户相关业务,包括注册、登录、用户信息管理等功能。其中用户有登录、未登录、密码锁定、账户锁定、用户不存在等状态,其状态变化如下图所示。

在这里插入图片描述

3.1.1 注册功能

通过用户在此界面输入用户名、密码和确认密码信息,完成用户名与密码在数据库中的录入,并由此获得一个可进入系统的用户名和密码。其中,不同用户的用户名不能重复。用户输入用户名和密码信息后,系统建立用户数据。若输入信息不合法或用户名已存在,则向用户返回错误信息。

在这里插入图片描述

3.1.2 登录功能

3.1.2.1 密码登录

用户输入用户名和密码后,系统检查数据库中是否存在相应的用户数据,如果存在,则用户登录成功,数据库更新用户登录记录;如果不存在,则向用户返回错误信息。

在这里插入图片描述

3.1.2.2 自动登录

若用户在一周内登录过系统,则在相同设备上可直接进入系统,无需登录。用户登录时前端自动向服务器发送Cookie,Cookie包含用户名和密码信息。服务器正确校验Cookie后,用户登录成功,数据库更新用户登录记录。如果校验不通过,则转入密码登录。

在这里插入图片描述

3.1.3 编辑用户信息

3.1.3.1 查看用户信息

用户信息包括用户名、密码、昵称、性别、手机号、QQ号、微信号、电子邮箱、用户头像。

在这里插入图片描述

3.1.3.2 修改用户信息

用户可以修改密码、昵称、性别、手机号、QQ号、微信号、电子邮箱、用户头像。

在这里插入图片描述

3.2 待办事项模块

待办事项模块处理待办事项相关业务,包括分类信息的管理、待办事项信息的管理和统计。4.1 待办事项信息包括:事项内容、分类、优先级、状态(待办、失败、完成等)、开始时间、闹钟提醒时间等。

在这里插入图片描述

3.2.1 编辑分类信息

3.2.1.1 创建分类

用户可以创建分类,系统将分类信息保存至数据库。添加分类时必须必须输入分类名。如果没有填写分类名,则添加失败并告知用户。

在这里插入图片描述

3.2.1.2 删除分类

用户可以删除分类,系统从数据库中删除相应分类信息。

在这里插入图片描述

3.2.1.3 修改分类

用户可以修改分类信息,并将修改后的分类信息保存至数据库。

在这里插入图片描述

3.2.2 编辑待办事项信息

3.2.2.1 添加待办事项

用户可以添加待办事项,添加待办事项时必填项有事项内容、优先级、开始时间、截止时间;选填项内容有分类、闹钟提醒时间。其中截止时间要晚于开始时间。如果没有填写分类,则将待办事项加入“未分类”分类中。如果某些必填项没有填写,则添加失败并告知用户。系统将新创建的待办事项信息保存至数据库。若待办事项没有设置重复,则只产生一条待办事项;若待办事项设置为重复,需要根据重复周期和重复次数产生多条待办事项并插入数据库。

在这里插入图片描述

3.2.2.2 删除待办事项

用户可以删除待办事项,系统从数据库中删除此待办事项以及它的所有子待办事项。

在这里插入图片描述

3.2.2.3 修改待办事项

用户可以修改待办事项信息,系统将修改后的待办信息保存至数据库。

在这里插入图片描述

3.2.3 查看待办事项

用户可以按照列表模式查看当天或者将来某天的待办事项,用户也可以选择按照日历模式查看某周或者某月份的待办事项。

  • 列表模式:系统从数据库中查询某天的待办事项信息,前端页面将某天的待办事项以列表形式展示给用户,用户可以排序待办事项。
  • 日历模式:系统从数据库中查询某一段时间的待办事项信息,前端页面以日历的形式展示给用户。

    在这里插入图片描述

3.2.4 待办事项完成统计

用户可以查看过去某天、某周、某月、某年的待办总体完成情况的统计信息,包括某段时间内设置的待办事项个数、完成的待办事项个数、没有完成的待办事项个数。系统从数据库中查询用户的待办事项完成情况,汇总后发送给前端页面进行展示。

在这里插入图片描述

3.3 专注功能

专注模块处理专注相关的业务,包括专注模式、软件白名单管理、专注统计等功能。其中专注有专注中、专注暂停、专注结束等状态,其状态变化如下图所示。

3.3.1 专注模式

用户开启专注模式后,设备将进入锁定状态。锁定状态期间,用户不能使用除白名单以外的所有软件。专注结束后,系统将专注时间记录到数据库。

在这里插入图片描述

3.3.2 软件白名单管理

用户可以编辑白名单中的软件信息,并将白名单内容保存到用户设备上。

在这里插入图片描述

3.3.3 专注时长统计

用户可以查看过去某天、某周、某月、某年的专注时间。用户既可以查看总专注时间,也可以查看某个分类的专注时间。系统从数据库中查询用户的专注情况,汇总后发送给前端页面进行展示。

在这里插入图片描述

4. 数据库设计-ER图

在这里插入图片描述

5. 接口设计

5.1 外部接口

这个部分说明后端为前端提供的服务调用接口,包括接口地址、接口功能、输入参数、返回结果。如果没有特别说明,所有消息通过 HTTP 协议传送,请求方式为 Post,请求参数放入 RequestBody 里,返回结果均为 JsonResult 类型。所有接口都可能返回参数相关错误、权限不够错误。为了叙述方便,下面接口说明中的返回结果不再写出此类错误。

5.1.1 用户模块

img

5.1.2 待办事项模块

img

5.1.3 专注模块

img

5.2 内部接口

后端业务处理架构如下图所示。图中自下而上分别是数据访问层、业务层、控制层,其中,下层为上层提供服务调用接口,上层通过调用下层提供的接口完成服务。此外,业务层内部的各个类可以相互调用接口。控制层为前端提供接口调用,数据访问层接口由Mybatis-generator 库根据数据库表自动生成,也不再具体说明。所以这个小节只说明业务层提供的接口。

img

5.2.1 UserService

img

5.2.2 TaskService

img

5.2.3 CategoryService

img

5.2.4 FocusService

img

6. 设计模式

本项目用到的设计模式有单例模式、抽象工厂模式、观察者模式。
学号尾号:386

...全文
241 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

571

社区成员

发帖
与我相关
我的任务
社区描述
软件工程教学新范式,强化专项技能训练+基于项目的学习PBL。Git仓库:https://gitee.com/mengning997/se
软件工程 高校
社区管理员
  • 码农孟宁
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧