一次完整的软件工程课程设计

本文档介绍了一个基于微信小程序的群组生日提醒系统的设计。系统利用微信小程序平台,用户可创建群组,邀请成员,实现生日前7天自动推送提醒。技术上采用SpringBoot、MyBatis和MySQL,前端使用微信小程序。需求分析包括功能和非功能需求,如登录、个人信息管理、特别关心、群组管理、消息推送等。设计包括系统架构、数据库设计、详细设计和测试计划。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引 言

  生活中,我们经常遇到这样的情况。好友的生日到了,可是我们却忘记了引发不必要的尴尬。作为社团部长,要照顾每个小干的感情,帮他们过生日,可小干人数实在太多了,我们记不过来。这时候,要是有一个简单便捷的软件帮我们解决这个问题,一个能受到大家的欢迎。
  基于此背景下,群组生日提醒系统设计孕育而生。这是一个基于微信小程序平台的简单系统。用户可以微信授权登录小程序,建立群组,邀请成员进群组。这样,当一个成员的生日即将到来时,一般为生日前7天,群组内的除了寿星之外的每一个成员都会收到系统推送的小程序微信通知,这样,再也不怕整个社团都忘了某个成员的生日这种尴尬的事情发生了。同时,用户也可以添加自己的特别关心,不错过每一个好友的生日。
以下为本系统的详细设计。

1 可行性分析

1.1 技术可行性分析

  系统可主要依托于微信小程序平台,这样方便推送消息提醒。另一方面,也有利于借助微信便捷增加用户及组群分享。技术上,后台代码可由java开发,项目使用springboot,交由maven管理,数据库方面使用mysql,及访问层使用mybatis框架。前端由微信小程序提供的标记语言开发。消息推送使用微信小程序提供的接口,数据库也可使用微信小程序提供的云数据库。

1.2 经济可行性分析

  微信小程序平台免费面向开发者,不过云数据库可能需要购买,总体开发经济成本很低。
  同时项目开发完成后,免费面向公众开放,可取得的经济效益较低。不过如果流量较大的话,可由广告获取较可观经济效益。

1.3 社会可行性分析

  市场方面个人认为这一小程序准确满足了人们的需求,具有较大市场。合理开发及运营应该能取得用户喜爱并推广。
  政策方面只要遵守微信小程序开发者守则即可顺利上线运营。

2 需求分析

2.1 功能需求
2.1.1 系统用例图

在这里插入图片描述

2.1.2 用例规约

用例编号 SRTX001
用例名 登录
用例描述 微信用户登录群组生日提醒小程序
参与者 微信用户
前置条件 无
后置条件 获取信息更新进数据库
基本路径 1.用户进入小程序
2.点击授权微信登录
3.小程序通过接口获取用户信息并更新进数据库
4.登录成功,微信用户已获取小程序身份

用例编号 SRTX002
用例名 管理个人信息
用例描述 微信用户管理个人在小程序记录的信息
参与者 微信用户
前置条件 登录小程序
后置条件 获取信息更新进数据库
基本路径 1.用户登录小程序
2.进入个人信息页面
3.管理各种信息(生日,头像,昵称)
4.小程序更新进数据库

用例编号 SRTX003
用例名 特别关心
用例描述 微信用户添加管理特别关心,不用在同一群组也会提醒生日
参与者 微信用户
前置条件 登录
后置条件 获取特别关系对象的信息添加进数据库
基本路径 1.用户登录小程序
2.进入特别关心界面
3.管理特别关心,包括添加,修改信息,删除特别关系
4.小程序更新数据进数据库

用例编号 SRTX004
用例名 添加群组
用例描述 用户新建提醒群组
参与者 微信用户
前置条件 登录
后置条件 获取群组信息添加进数据库
基本路径 1.用户登录小程序
2.点击新建群组
3.设置群组信息
4.小程序添加进数据库

用例编号 SRTX005
用例名 邀请或管理成员
用例描述 微信用户邀请成员进群组,或管理群组成员
参与者 微信用户
前置条件 登录,邀请成员需自己在群组,管理成员需为群组建立者
后置条件 小程序获取信息添加进数据库
基本路径 1.用户登录小程序
2.进入所在群组
3.邀请成员,生成小程序分享链接分享到微信群或私聊
4.管理成员,在自己建立的群组可觉得成员为哪些
5.小程序更新数据进数据库

用例编号 SRTX006
用例名 删除群组
用例描述 微信用户删除群组
参与者 微信用户
前置条件 登录,用户为群组创建者
后置条件 更新数据库信息
基本路径 1.用户登录小程序
2.进入自己建立的群组
3.删除
4.小程序更新数据进数据库

用例编号 SRTX007
用例名 分享群组
用例描述 微信用户分享自己所在群组到微信
参与者 微信用户
前置条件 登录,自己在群组内
后置条件 若有新成员进入,更新信息
基本路径 1.用户登录小程序
2.进入群组
3.生成分享链接
4.分享到微信

用例编号 SRTX008
用例名 消息推送
用例描述 系统推送微信生日提醒到群组内的没一个成员
参与者 微信用户,系统
前置条件 系统监听即将到来的生日
后置条件 通过接口推送消息
基本路径 1.系统每天定时检查即将过生日的用户信息
2.获取用户所在群组
3.通过接口向群组内每一个成员推送微信消息提醒
4.系统检查特别关心队列即将到达的生日
5.发送消息提醒特别关心建立者

2.1.3 领域对象模型

在这里插入图片描述

2.1.4 状态图

在这里插入图片描述

2.2 非功能需求
2.2.1可靠性需求

  系统应保证全年365天24小时不间断运行,保证所有的生日在7天前准确提醒到群组中的每一人。发生执行错误应能回滚数据库,保证数据正确。用户每一个操作都准确执行,可靠度不应低于99.99%。

2.2.2安全性需求

  通过微信授权来统一进行认证,同时保证微信用户的个人信息应不被泄露。在数据库层面,保证屏蔽非法用户的访问,合法用户的非法访问。提供身份认证,授权管理,输入输出验证,配置管理,敏感数据保护,回话管理,加密,参数保护,异常管理,日志等。

2.2.3开发性需求

  遵循微信小程序开发规范,使用阿里巴巴java开发手册作为标准

2.2.4性能需求

  小程序打开速度3s以下
  微信认证登录速度5s以下
  API请求的平均响应时间1s以下
  支持同时在线用户数1000
  请求成功率高于99.9%
  一个接口允许100个用户并发操作

2.3 数据库概念结构设计
2.3.1数据实体描述及E-R图

  用户实体:包括各种用户数据,其中重要属性为生日
  群组实体:包括群组数据,包含用户等
  特别关心:包括名称,生日,由用户定义。
  群组创建者:属于用户,但有更高权限。

  E-R图:
在这里插入图片描述

2.3.2数据库概念模型

  小程序用户由微信用户授权登录是创建。是微信用户在小程序里的对应身份。微信用户可以在修改不同于微信的用户名,头像等,但每个用户一一对应一个微信账号。
  群组有小程序用户创建而来,一般同微信群一样,群组可有多名用户,生日提醒群发时基于此群组。
  特别关心由用户创建而来,不对应某具体用户,只有姓名及生日,生日提醒类似与个人备忘录。E-R图如上。

3 总体设计

3.1 系统架构设计

  系统采用传承MVC三层架构,即表现层-服务层-持久层-数据库,使用tomcat集群做并发处理。

在这里插入图片描述

3.2 功能模块设计

  总体分为四大模块,即用户模块,群组模块,特别关心模块,消息提醒模块。

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值