ブロガーの紹介: ✌プログラマーの Xu 兄弟。大規模な工場でプログラマーとして 7 年の経験があります。ネットワーク全体に 30 人以上のファン、CSDN ブログの専門家、Nuggets/Huawei Cloud/Ali Cloud/InfoQ およびその他のプラットフォームに関する質の高い著者であり、Java テクノロジー分野と卒業プロジェクトの実践に重点を置いています✌
記事ディレクトリ
1 はじめに
このシステムは主に、学内での各種通知メッセージの公開、チェックインのフィードバック、宿題の公開と承認など、統一された学内情報の統合と処理を実現することを目的としています。
システムの主な機能モジュールには、イベント管理、データ抽出、システム管理が含まれます。
WeChat アプレットをベースとした学内通知アプレット システムのユーザーは、システムの最も基本的なユーザーであり、ニーズに応じて、学生、教師、管理者の 3 種類のユーザーがシステムに含まれます。システム上のこれら 3 種類のユーザーの要件は簡単に次のとおりです。
2 テクノロジースタック
説明する | テクノロジースタック | 述べる |
---|---|---|
バックステージ | ジャワ | |
フロントエンド | アプレット | |
データベース | MYSql | |
建築 | B/S構造 |
第 3 章 システム分析
3.1 事前の需要分析
3.1.1 システムの背景の説明
このシステムは主に、学内での各種通知メッセージの公開、チェックインのフィードバック、宿題の公開と承認など、統一された学内情報の統合と処理を実現することを目的としています。
システムの主な機能モジュールには、イベント管理、データ抽出、システム管理が含まれます。
WeChat アプレットをベースとした学内通知アプレット システムのユーザーは、システムの最も基本的なユーザーであり、ニーズに応じて、学生、教師、管理者の 3 種類のユーザーがシステムに含まれます。システム上のこれら 3 種類のユーザーの要件は簡単に次のとおりです。
3.2 システムのユースケース分析
3.2.1 アナウンスメント管理のユースケース分析
管理者ユーザーはシステムにログインし、お知らせを管理し、該当するお知らせ名を選択してお知らせ情報をアップロードすると、管理者ユーザーはお知らせを閲覧します。ユースケース分析図を図 3.1 に示します。
図3.1 お知らせ情報管理ユースケースの分析図
アナウンス情報管理のユースケース仕様を表 3.1 に示します。
表 3.1 アナウンスメント管理の使用例の仕様
プロジェクト | WeChatアプレットをベースにした学内通知アプレットシステムのアナウンス管理 |
---|---|
簡単な説明 | お知らせ情報の収集、お知らせ情報の修正・削除、その他関連する基本的なコンテンツの管理を行います。 |
前提条件 | WeChat アプレットに基づいたキャンパス通知アプレット システムを正常に実行し、ログイン認証を取得します。 |
事後条件 | 情報をデータベースに保存し、アナウンス情報のリストを正常に生成します。 |
プロセスフロー | 1. お知らせ情報を収集するには 3 つの方法があり、まず、お知らせ情報をドキュメントにインポートします。次に、インターフェースを介して、他の関連システムからこのデータベースにアナウンス情報をインポートします。最後に、インターフェースを介して入力し、アナウンス情報をデータベースに保存します。2. お知らせ情報の削除については、入力ミスや過去のお知らせがあった場合、定期的に削除操作を行い、削除が成功したかどうかを確認する必要があります。3 公告情報の修正とは、公告の入力ミスや公告の基本情報に変更があった場合に、公告情報を修正することをいう。変更後にデータベース レコードが同期されていることを確認します。4. リスト ページでアナウンス情報をクエリし、データベース内のすべてのアナウンス情報を取得してリストにロードします。特定の条件で速報情報をクエリします。5. 例外が発生した場合は、例外の原因を尋ねるか、メイン ページに戻って配管システム管理者に連絡して処理を依頼します。 |
3.2.2 システム管理のユースケース分析
システム管理とは、システム ユーザーのログイン、システム ログアウト、パスワード変更などの機能を指します。システム管理のユースケース分析図を図 3.2 に示します。
図 3.3 システム管理のユースケース分析図
このうち、管理者ログインのユースケース仕様は以下の通りです。
表 3.2 管理者ログインの使用例の仕様
プロジェクト | WeChat アプレットに基づくキャンパス通知アプレット システム ユーザー ログイン |
---|---|
簡単な説明 | ユーザー権限を確認します。 |
前提条件 | WeChat アプレットに基づいてキャンパス通知アプレット システムを正常に実行します。 |
事後条件 | ログインに成功すると、ユーザーの操作権限のリストが生成されます。 |
プロセスフロー | 1. ユーザー名情報が空かどうか、仕様に準拠しているかどうか、および長さが正当であるかどうかを確認します。2. パスワード情報が標準化されているかどうかを確認し、select や delete などのキーワードをフィルタリングして SQL インジェクションを防止します。3. ユーザーが入力した情報がデータベースに存在するかどうかを照会し、ユーザーの許可情報を照会して、許可リストを生成します。4. 例外が発生した場合は、例外の原因を尋ねるか、メイン ページに戻って配管システム管理者に連絡して処理を依頼します。 |
3.2.3 学生情報の使用例分析
ユーザー情報には、管理者情報、生徒および教師の情報が含まれます。学生情報管理のユースケース分析図を図 3.3 に示します。
図 3.4 学生情報管理のユースケース分析図
学生情報管理のユースケース仕様を表 3.3 に示します。
プロジェクト | WeChat アプレットに基づくキャンパス通知アプレット システムの学生管理 |
---|---|
簡単な説明 | 生徒情報の収集、生徒情報の修正・削除、その他関連する基本的な内容の管理を行います。 |
前提条件 | WeChat アプレットに基づいたキャンパス通知アプレット システムを正常に実行し、ログイン認証を取得します。 |
事後条件 | 情報をデータベースに保存し、学生情報のリストを正常に生成します。 |
プロセスフロー | 1. インターフェースから入力し、学生の情報をデータベースに保存します。2. 生徒情報の削除は、入力ミスや履歴生徒があった場合、定期的に削除操作を行い、削除が成功したかを確認する必要があります。3. 学生情報修正とは、学生の入力ミスや基本情報に変更があった場合に学生情報を修正することです。変更後にデータベース レコードが同期されていることを確認します。4. 学生情報の照会は、リストページでデータベース内のすべての学生情報を取得し、リストにロードします。特定の条件で学生情報を照会します。5. 例外が発生した場合は、例外の原因を尋ねるか、メイン ページに戻って配管システム管理者に連絡して処理を依頼します。 |
3.2.4 アイテム管理のユースケース分析
教師ユーザーはシステムにログインし、項目名、通知時間、生徒番号、氏名、内容などの項目を入力し、ログイン後に変更することができます。
ミニプログラム受講者はログイン後、品目の確認や対象品目のチェックイン、リサイクル管理者への通知などが行えます。
アイテム管理のユースケース分析図を図 3.6 に示します。
図3.6 物品情報管理のユースケース分析図
アイテム管理のユースケースの仕様を 3.4 に示します。
表 3.4 アイテム管理の使用例の仕様
プロジェクト | WeChat アプレットに基づくキャンパス通知アプレット システム イベント管理 |
---|---|
簡単な説明 | 商品情報の収集、商品情報の修正・削除、その他関連する基本的なコンテンツの管理を行います。 |
前提条件 | WeChat アプレットに基づいたキャンパス通知アプレット システムを正常に実行し、ログイン認証を取得します。 |
事後条件 | 情報をデータベースに保存し、アイテム情報のリストを正常に生成します。 |
プロセスフロー | 1. インターフェースから入力し、アイテム情報をデータベースに保存します。2. 項目情報の削除については、入力ミスや履歴項目があった場合、定期的に削除操作を行い、削除が成功したかどうかを確認する必要があります。3.商品情報の修正とは、入力ミスがあった場合や商品の基本情報が変更された場合に、商品情報を修正することである。変更後にデータベース レコードが同期されていることを確認します。4. リスト ページでアイテム情報をクエリし、データベース内のすべてのアイテム情報を取得し、リストにロードします。特定の条件で商品情報を問い合わせます。5. 例外が発生した場合は、例外の原因を尋ねるか、メイン ページに戻って配管システム管理者に連絡して処理を依頼します。 |
第4章 システム設計
4.1 システム機能設計
学内通知アプレット システムのユーザーは、システムの最も基本的なユーザーであり、ニーズに応じて、学生、教師、管理者などのユーザーが分析システムに含まれます。
管理员通过后台的登录页面,选择管理员权限后进行登录,管理员的权限包括学生信息管理、老师信息管理和文章公告管理。通知公告管理,添加通知公告信息,给学生发布一些学校的公告内容,为学习提前做准备,管理员管理后点击退出,注销登录信息。
学生用户只要实现了前台信息的查看,打开首页,查看网站介绍、事项信息、信息公告等,学生用户通过账户账号登录,登录后查看事项、事项打卡,事项回收操作。
用户功能结构图如4.1所示:
图4.1:用户功能结构图
该系统主要是实现校园内各种通知消息的发布打卡反馈以及作业发布批阅等统一校园内消息的整合处理。
系统主要功能模块包括:事项管理、数据抽取、系统管理
事项管理:主要包括事项创建、对事项优先级排列、事项打卡(定位/文件附件上传)、事项的二次推送。
数据抽取:主要包括数据抽取请求审核、数据合并、数据分析事项完成度(比例图展现)。
系统管理:主要对用户、角色、权限和系统公示的管理功能。
4.2 系统总体设计
4.2.1 系统流程图
基于微信小程序的校园通知小程序系统包括学生、老师和管理员。登录后维护个人信息,在线查看通知信息。管理员管理用户信息、管理通知信息。其中系统流程图如图4.2所示。
图4.2 系统流程图
4.2.2 数据流图
基于微信小程序的校园通知小程序系统数据流程图描述系统数据流程,它将数据独立抽象出来,展现信息的来龙去脉。其中基于微信小程序的校园通知小程序系统的数据流程图如4.3所示:
图4.3系统数据流图
4.4 数据库设计
4.4.1 ER图设计
本基于微信小程序的校园通知小程序系统实体清晰,所以这里只绘制系统整体E-R图,其它的略去E—R图的绘制。
(1)管理员信息实体E-R图:
图4.3管理员E-R图
(2)公告信息实体E-R图
图4.4公告信息实体E-R图
(3)教师信息实体E-R图
图4.5教师信息E-R图
(4)学生信息实体E-R图
图4.6 学生信息实体E-R图
(5) 事项信息E-R图
图4.7 事项信息实体E-R图
(6)事项打卡信息E-R图
图4.8 事项打卡信息实体E-R图
4.4.2 数据库表设计
基于微信小程序的校园通知小程序系统包括多个数据库表,下面对数据表进行详细的介绍,每个数据库表包括这个名称,对于类型是否逐渐、是否与空字段的备注信息等。
表: config信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
---|---|---|---|---|---|
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_name | nvarchar(200) | NO | No | 配置参数名称 |
No3 | C_value | nvarchar(200) | NO | Null | 配置参数值 |
表: shixiangxinxi信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
---|---|---|---|---|---|
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_shixiangmingcheng | nvarchar(400) | NO | Null | 事项名称 |
No4 | C_suoshubanji | nvarchar(400) | NO | Null | 所属班级 |
No5 | C_youxianji | nvarchar(400) | NO | Null | 优先级 |
No6 | C_shixiangneirong | text(16) | NO | Null | 事项内容 |
No7 | C_shixiangtupian | nvarchar(400) | NO | Null | 事项图片 |
No8 | C_fabushijian | datetime(8) | NO | Null | 发布时间 |
No9 | C_jiezhishijian | datetime(8) | NO | Null | 截止时间 |
No10 | C_jiaoshibianhao | nvarchar(400) | NO | Null | 教师编号 |
No11 | C_jiaoshixingming | nvarchar(400) | NO | Null | 教师姓名 |
No12 | C_userid | bigint(8) | NO | Null | 用户id |
表: news信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
---|---|---|---|---|---|
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_title | nvarchar(400) | NO | No | 标题 |
No4 | C_introduction | text(16) | NO | Null | 简介 |
No5 | C_picture | nvarchar(400) | NO | No | 图片 |
No6 | C_content | text(16) | NO | Null | 内容 |
表: users信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
---|---|---|---|---|---|
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_username | nvarchar(200) | NO | No | 用户名 |
No3 | C_password | nvarchar(200) | NO | No | 密码 |
No4 | C_role | nvarchar(200) | NO | Null | 角色 |
No5 | C_addtime | timestamp(8) | NO | No | 新增时间 |
表: tongzhihuishou信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
---|---|---|---|---|---|
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_shixiangmingcheng | nvarchar(400) | NO | Null | 事项名称 |
No4 | C_tongzhineirong | text(16) | NO | Null | 通知内容 |
No5 | C_tongzhishijian | datetime(8) | NO | Null | 通知时间 |
No6 | C_tongzhitupian | nvarchar(400) | NO | Null | 通知图片 |
No7 | C_jiaoshibianhao | nvarchar(400) | NO | Null | 教师编号 |
No8 | C_xuehao | nvarchar(400) | NO | Null | 学号 |
No9 | C_xingming | nvarchar(400) | NO | Null | 姓名 |
No10 | C_sfsh | nvarchar(400) | NO | Null | 是否审核 |
No11 | C_shhf | text(16) | NO | Null | 审核回复 |
No12 | C_userid | bigint(8) | NO | Null | 用户id |
表: storeup信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
---|---|---|---|---|---|
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_userid | bigint(8) | NO | No | 用户id |
No4 | C_refid | bigint(8) | NO | Null | 收藏id |
No5 | C_tablename | nvarchar(400) | NO | Null | 表名 |
No6 | C_name | nvarchar(400) | NO | No | 收藏名称 |
No7 | C_picture | nvarchar(400) | NO | No | 收藏图片 |
No8 | C_type | nvarchar(400) | NO | Null | 类型(1:收藏,21:赞,22:踩) |
No9 | C_inteltype | nvarchar(400) | NO | Null | 推荐类型 |
表: shixiangdaka信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
---|---|---|---|---|---|
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_shixiangmingcheng | nvarchar(400) | NO | Null | 事项名称 |
No4 | C_suoshubanji | nvarchar(400) | NO | Null | 所属班级 |
No5 | C_dakashijian | datetime(8) | NO | Null | 打卡时间 |
No6 | C_wanchengjindu | nvarchar(400) | NO | Null | 完成进度 |
No7 | C_wanchengneirong | text(16) | NO | Null | 完成内容 |
No8 | C_wanchengtupian | nvarchar(400) | NO | Null | 完成图片 |
No9 | C_jiaoshibianhao | nvarchar(400) | NO | Null | 教师编号 |
No10 | C_xuehao | nvarchar(400) | NO | Null | 学号 |
No11 | C_xingming | nvarchar(400) | NO | Null | 姓名 |
No12 | C_sfsh | nvarchar(400) | NO | Null | 是否审核 |
No13 | C_shhf | text(16) | NO | Null | 审核回复 |
No14 | C_userid | bigint(8) | NO | Null | 用户id |
No15 | C_longitude | money(8) | NO | Null | 经度 |
No16 | C_latitude | money(8) | NO | Null | 纬度 |
No17 | C_fulladdress | nvarchar(400) | NO | Null | 地址 |
表: jiaoshi信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
---|---|---|---|---|---|
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_jiaoshibianhao | nvarchar(400) | NO | No | 教师编号 |
No4 | C_mima | nvarchar(400) | NO | No | 密码 |
No5 | C_jiaoshixingming | nvarchar(400) | NO | No | 教师姓名 |
No6 | C_xingbie | nvarchar(400) | NO | Null | 性别 |
No7 | C_shouji | nvarchar(400) | NO | Null | 手机 |
No8 | C_touxiang | nvarchar(400) | NO | Null | 头像 |
表: xuesheng信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
---|---|---|---|---|---|
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_xuehao | nvarchar(400) | NO | No | 学号 |
No4 | C_mima | nvarchar(400) | NO | No | 密码 |
No5 | C_xingming | nvarchar(400) | NO | No | 姓名 |
No6 | C_xingbie | nvarchar(400) | NO | Null | 性别 |
No7 | C_zhuanye | nvarchar(400) | NO | Null | 专业 |
No8 | C_banji | nvarchar(400) | NO | Null | 班级 |
No9 | C_touxiang | nvarchar(400) | NO | Null | 头像 |
第五章 系统实现
5.1小程序功能的实现
5.1.1 学生注册界面
点击导航菜单中的注册即可打开注册页面,注册页面是由文本框、选择框、和注册按钮组成,在文本框中输入需要填写的基本注册信息,点击注册进行信息提交。
如下图所示:
图5-1学生注册界面
首先验证填写的信息是否为空,如果通过验证,才把信息构造为插入语句,调用数据库保存操作,插入信息到数据库,返回保存成功的信息到界面,进行登陆,或者返回到首页。
5.1.2 首页界面
搭建微信小程序环境后,进入到系统首页,首页包括头部的logo,导航条,中间为文章公告信息。
小程序首页如下图所示:
图5-2 首页
首页是在index页面中,该页面包括头部文件header、文章公告读取数据库中最新的信息,显示图片和对应的链接。在首页中先引入相关的JS和CSS样式。在对应模块中调用数据库操作方法,把读取的结果赋赋给RS数据集合对象,通过循环显示信息。
5.1.3 公告列表界面
用户打开本系统后,可以查看公告列表信息。如下图所示:
图5-4公告界面
点击公告,先打开公告的列表界面,在列表界面读取信息,详细表达所有相关公告信息,通过JAVA的数据库操作,把列表绑定到result数据集合中,使用while循环,把所有的信息显示到公告界面。点击公告,通过该条信息的ID值传递到公告的详情页面,在详情页面根据当前的ID值查询对应的具体信息。包括标题名称和内容。
5.1.4 事项界面
用户打开本系统后,可以查看事项信息,通过关键字查询对应的事项信息,并进行打卡。如下图所示:
图5-5事项信息界面
点击事项,先打开事项的列表界面,在列表界面读取信息,详细表达所有相关事项信息,通过JAVA的数据库操作,把列表绑定到result数据集合中,使用while循环,把所有的信息显示到事项界面。点击事项,通过该条信息的ID值传递到事项的详情页面,在详情页面根据当前的ID值查询对应的具体信息。包括标题名称和内容。
5.1.5 事项打卡界面
用户登录本系统后,可以进行事项打卡操作。如下图所示:
图5-6事项打卡界面
事项打卡包括事项打卡信息的提交和查询显示,事项打卡前需要先进行登录,如果没有登。录界面提示登录后才能进行上传事项打卡,登陆后的信息是通过session进行判断。如果session存在登录信息,就说明已经登录,在事项打卡中输入事项打卡的内容,点击提交,把事项打卡信息保存到数据库中,事项打卡结束之后进行查询。查询通过当前信息的ID进行条件查询,查询的结果保存在数据集合中,对数据集合进行循环显示。
5.2后台模块的实现
5.2.1 老师管理
在系统主界面中的导航菜单中,有老师按钮,点击按钮,就可以在老师界面进行信息添加和管理。
其中,老师管理界面为5.7所示:
图5.7:老师管理页面
5.2.2 学生信息管理
在系统主界面中的导航菜单中,有学生信息按钮,点击按钮,就可以在学生信息界面进行信息添加和管理。
其中,学生信息管理界面为5.8所示:
图5.8:学生信息管理页面
学生ページに学生情報リストを読み込み、ページの初期化時にビジネスロジック層の学生クエリメソッドを呼び出します。このメソッドは、最初に Student エンティティ クラスを定義し、次にデータベース内の Student クエリ メソッドを呼び出し、クエリ結果をリスト コレクションにバインドします。コレクションをループし、データを Student エンティティ オブジェクトに 1 つずつバインドし、最後にインターフェイスに戻ります。取得した学生コレクションをループ内のインターフェイス コントロールにバインドし、フィールド名とデータ結果に従ってマッピングし、最後に表示します。
5.2.3 アナウンス管理
管理者が速報情報を確認します。このうち、アナウンス情報管理インターフェイスを 5.9 に示します。
図 5.9: お知らせページ
アナウンスページにアナウンス情報リストをロードし、ページの初期化時にビジネスロジック層のアナウンスクエリメソッドを呼び出します。このメソッドは、まずアナウンス エンティティ クラスを定義し、次にデータベース内のアナウンス クエリ メソッドを呼び出し、クエリ結果をリスト コレクションにバインドします。コレクションをループし、データをアナウンス エンティティ オブジェクトに 1 つずつバインドし、最後にインターフェイスに戻ります。取得したアナウンス コレクションをループ内でインターフェイス コントロールにバインドし、フィールド名とデータ結果に従ってマップし、最後に表示します。
5.2.4 イベント情報の管理
システムのメイン画面のナビゲーションメニューに「品目管理」ボタンがあり、このボタンをクリックすると、品目管理画面上で品目情報を追加・管理できます。項目を追加するためのインターフェイスは次のとおりです。
図 5.6: アイテム追加ページ
まずは商品ページをレイアウトし、インターフェースデザインを完成させます。アイテムページでアイテムの内容を入力し、「保存」をクリックして保存イベントを実行し、このイベントでデータの保存操作を実行します。イベント メソッドは、まずユーザーが入力したアイテムのコンテンツを取得し、そのデータをアイテム エンティティ メソッドにバインドして、アイテムが空かどうか、標準データ形式に準拠しているかどうかなど、アイテムの情報を検証します。検証に合格した後、項目のビジネス ロジック メソッドを呼び出します。ビジネス ロジック層は、最初に項目の一意性検証を実行し、検証に合格した後、データベース操作メソッドを呼び出します。insert ステートメントを使用して、オンライン保証データをデータベースに送信します。データベース操作メソッドは成功した操作情報をビジネス ロジック層に返し、ビジネス ロジック層は結果をオンライン保証ページに返して挿入操作を完了します。
5.2.5 アイテムのチェックインレビュー管理
システムのメインインターフェースのナビゲーションメニューに「アイテムチェックイン管理」ボタンがあり、このボタンをクリックするとアイテムチェックイン管理画面上で情報の確認や管理を行うことができます。
その中で、アイテムのチェックイン管理インターフェイスは 5.7 に示されています。