博主介绍:专注于Java vue .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了1000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
更多项目地址 介绍 qq_251836457-CSDN博客
下方有源码获取地址
系统分析
3.1功能需求分析
根据调查得知用户的需求,从而对系统的功能进行分析,系统应该包括了系统用户管理、学生信息管理、预约信息管理、离开信息管理等功能模块,其中以模块最为重要。
表3-1 功能需求列表
编号 | 功能名称 | 功能描述 | 输入内容 | 输出内容 |
| 用户登录 | 保证用户通过身份验证进入系统进行操作 | 用户名、密码 | 用户登录是否成功和用户登录状态 |
| 修改个人信息 | 用户可以根据自己当前的情况修改个人的信息 | 要修改的信息 | 提示修改的结果 |
| 添加学生信息 | 用户添加学生信息 | 学生信息的相关信息 | 学生信息列表 |
| 编辑学生信息 | 用户修改学生信息 | 学生信息相关信息 | 是否编辑成功 |
| 删除学生信息 | 用户删除学生信息 | 学生信息 | 学生信息删除成功或失败 |
| 学生信息审核 | 管理员给用户添加的学生信息审核 | 学生信息审核 | 学生信息审核是否通过 |
| 添加预约信息 | 管理员添加预约信息 | 维修的相关信息 | 预约信息列表 |
| 编辑预约信息 | 管理员修改预约信息 | 编辑预约信息 | 是否编辑成功 |
| 删除预约信息 | 管理员删除预约信息 | 预约信息 | 预约信息删除成功或失败 |
| 添加离开信息 | 管理员添加离开信息 | 离开信息 | 离开信息列表 |
| 编辑离开信息 | 管理员修改离开信息 | 离开信息 | 是否编辑成功 |
| 删除离开信息 | 管理员删除离开信息 | 离开信息 | 离开信息删除成功或失败 |
| 添加 自习室座位 | 管理员添加 自习室座位 | 自习室座位 | 自习室座位列表 |
| 编辑 自习室座位 | 管理员修改 自习室座位 | 自习室座位 | 是否编辑成功 |
| 删除 自习室座位 | 管理员删除 自习室座位 | 自习室座位 | 自习室座位删除成功或失败 |
本系统的需求用例图如下图所示。
图3-1系统用例图
普通用户的用例有自习室座位,学生信息,离开信息,个人信息等;管理员的用例有信息增加管理,删除管理,修改管理,查询管理等。
3.2业务流程分析
业务流程图基本符号如下图所示:
图3-1业务流程图基本符号
具体如下图所示:
图3-2总体业务流程图
总体业务流程:以用户的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统,管理系统等功能操作,以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统,管理系统等功能操作。
3.3数据流程分析
本系统根据上节所设计的各个业务流程图,采用逐层细化的方法,画的每一部分各层的数据流图如下:
普通用户和管理员都可以通过登录系统的界面来进入系统,如下图所示:
图3-8 0层数据流图
系统根据登录的数据,判断是该用户是哪种角色,仍然后跳转至相应的功能页面,系统用户在系统内进行数据操作,此时数据流的有效数据流流向数据库中心执行相应的数据mysql8语句,反馈结果到显示页面上。
1层为系统的详细数据流图。如下图所示:
图3-9 1层数据流图
1层数据流图中,数据实体包括普通用户和管理员,普通用户数据流程包括功能选择、作业管理、;管理员用户数据流程包括学生信息管理、预约信息管理、离开信息管理;普通用户数据流包括操作信息、添加信息、浏览信息;管理员数据流包括添加信息、删除信息、修改信息、查询信息、浏览信息、提示信息等,数据表包括。
2层为管理员操作后台数据流图,管理员可以分别通过添加、修改和删除来对系统进行管理,如下图所示:
图3-10 2层数据流图
2层数据流图中,数据流实体主要是管理员,数据流程包括;数据流包括添加信息、删除信息、修改信息、查询信息、浏览信息、提示信息;数据表包括。
3.4本章小结
本章主要论述了对用户的需求调研,系统业务功能,用例分析,系统业务流程分析、数据流程分析,其中数据的组成包括前端和后端的详细数据。
4.1系统设计思想
本课题的目的是设计一款基于安卓的校园自习室座位预约系统以实现¥。本系统采用B/S模式不仅可以避免用户必须安装专业软件才能开发系统或者访问系统的局限性,而且更加便利。该系统在不改变和影响用户操作习惯的前提下主要完成对有用信息的记录。
整个软件采用MVC(Model,View,Controller)框架,分别对以下三块进行详细介绍:
(1)Model(模型):
Model模块主要负责应用的核心加密解密功能,以及对数据库和文件的读写功能。该模块在接收 Controller传来的控制信息和信息数据的同时就要做出相应反应,及时把数据和文件记录在案,以及完成加密解密等操作。
(2)View(视图):
该模块是应用的界面版块,完成系统与用户的交互功能,将用户定制的加密保护策略更新至相应的数据库中,以更新控制模块的监控项。
(3)Controller(控制器):
该模块通常依据View模块传来的加密保护策略来及时更新监控列表,监控并记录接收监控列表内应用的数据,为了能按时完成加密解密操作,并在第一时间更新数据库或者文件,我们要把相关的重要信息传至Model版块。
4.2系统总体设计
根据前面的各项设计分析,按照系统开发的基本理念对系统进行分解,从模块上主要可分为用户模块和管理员模块。
用户模块只要是让普通用户使用,管理员模块只要是让管理员使用,可以对数据进行添加、删除、修改及查询等操作。
系统总体功能结构图如下图所示。
图4-2系统功能结构图
4.3系统功能模块设计
- 系统登录:系统登录是用户访问系统的路口,设计了系统登录界面,包括用户名、密码和验证码,然后对登录进来的用户判断身份信息,判断是管理员用户还是普通用户。
- 系统用户管理:不管是超级管理员还是普通管理员都需要管理系统用户,包括普通管理员的添加、删除、修改、查询,修改管理员的登录密码,新添加的管理员用户可以登录系统。
- 普通用户管理:管理员可以管理系统的其他普通用户的账号,包括录入新用户,删除现有的普通用户,修改现有的普通用户的信息,并可以通过用户名和姓名等关键字搜索普通用户,打印用户列表页面,导出用户列表至excel中。
- 修改密码:系统所有用户(管理员和普通用户)应该都要能修改自己的登录密码,修改后需要重新登录。
- 个人资料管理:由普通用户使用,普通用户登录系统后,可以修改个人原始信息,如修改电话号码、邮箱等,用户的用户名是无法修改的。
- 登录情况管理:系统每个用户应该都能查看个人的历史登录情况,如登录IP、登录时间、登录地址等,防止用户账号被盗,加强用户账号安全。
- 操作日志管理:系统每个用户应该都能查看个人的历史操作日志,如用户添加了某条数据,历史操作日志需要展示操作人,操作描述,操作时间等信息。防止系统被黑客攻击,加强系统的安全性。
- 学生信息管理:管理员发布学生信息后,普通用户便可以查询到该学生信息,用户选择某个学生信息,查询学生信息,管理员审核添加,或删除学生信息。
- 预约信息管理:管理员发布预约信息后,普通用户便可以查询到该预约信息,用户选择某个预约信息,查询预约信息,管理员审核添加,或删除预约信息。
- 自习室座位管理:管理员发布自习室座位后,普通用户便可以查询到该自习室座位,用户选择某个自习室座位,查询自习室座位,管理员审核添加,或删除自习室座位。
- 离开信息管理:管理员发布离开信息后,普通用户便可以查询到该离开信息,用户选择某个离开信息,查询离开信息,管理员审核添加,或删除离开信息。
4.4数据库设计
4.4.1概念模型设计
建立数据库之前,要对系统的数据进行概念模型设计,设计实体包含哪些属性,实体和实体直接的关系是怎么样的,根据概念设计,得到下图的系统总体ER图。
图4-2系统总体ER图
4.4.2数据库表设计
在服务器上建立名为安卓mgxxytsgzwyyxtdzkfA的数据库,其中包括以下表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
1 | ID | Int | 4 | 自增编号 | 10 | |
2 | username | VarChar | 50 | 是 | 255 | |
3 | pwd | VarChar | 50 | 是 | 255 | |
4 | cx | VarChar | 50 | 是 | 255 | |
5 | addtime | DateTime | 8 | 是 | 23 |
likaixinxi表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
1 | ID | Int | 4 | 自增编号 | 10 | |
2 | zuoweihao | VarChar | 50 | 是 | 255 | |
3 | yikatonghao | VarChar | 50 | 是 | 255 | |
4 | xingming | VarChar | 50 | 是 | 255 | |
5 | addtime | DateTime | 8 | 是 | 23 |
qiandaoxinxi表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
1 | ID | Int | 4 | 自增编号 | 10 | |
2 | zuoweihao | VarChar | 50 | 是 | 255 | |
3 | yikatonghao | VarChar | 50 | 是 | 255 | |
4 | xingming | VarChar | 50 | 是 | 255 | |
5 | addtime | DateTime | 8 | 是 | 23 |
xueshengxinxi表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
1 | ID | Int | 4 | 自增编号 | 10 | |
2 | yikatonghao | VarChar | 50 | 是 | 255 | |
3 | mima | VarChar | 50 | 是 | 255 | |
4 | xuehao | VarChar | 50 | 是 | 255 | |
5 | xingming | VarChar | 50 | 是 | 255 | |
6 | xingbie | VarChar | 50 | 是 | 255 | |
7 | banji | VarChar | 50 | 是 | 255 | |
8 | yuanxi | VarChar | 50 | 是 | 255 | |
9 | shenfenzhenghao | VarChar | 300 | 是 | 255 | |
10 | lianxidianhua | VarChar | 50 | 是 | 255 | |
11 | youxiang | VarChar | 300 | 是 | 255 | |
12 | addtime | DateTime | 8 | 是 | 23 |
yuyuexinxi表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
1 | ID | Int | 4 | 自增编号 | 10 | |
2 | zuoweihao | VarChar | 50 | 是 | 255 | |
3 | yikatonghao | VarChar | 50 | 是 | 255 | |
4 | xuehao | VarChar | 50 | 是 | 255 | |
5 | xingming | VarChar | 50 | 是 | 255 | |
6 | banji | VarChar | 50 | 是 | 255 | |
7 | yuanxi | VarChar | 50 | 是 | 255 | |
8 | shenfenzhenghao | VarChar | 300 | 是 | 255 | |
9 | lianxidianhua | VarChar | 50 | 是 | 255 | |
10 | yuyueshijian | VarChar | 50 | 是 | 255 | |
11 | addtime | DateTime | 8 | 是 | 23 |
zuoweixinxi表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
1 | ID | Int | 4 | 自增编号 | 10 | |
2 | zuoweihao | VarChar | 50 | 是 | 255 | |
3 | zhuangtai | VarChar | 50 | 是 | 255 | |
4 | addtime | DateTime | 8 | 是 | 23 |
4.4.3数据库连接计
由于系统采用java语言和mysql8数据库,那么java如何连接mysql8数据库,完成本系统的数据操作。
1. 需要MS mysql8的连接驱动jar包——mysql8jdbc4.jar,将jar包加入到工程中,并设置好Build Path 。
2. 编写专门的数据库操作类,实现数据库的连接和操作:
public Connection getConn()
{
try
{
if(conn==null||conn.isClosed()){
// Class.forName("com.mysql8.jdbc.Driver");
// conn = DriverManager.getConnection("jdbc:mysql8://localhost:3306/javatemp","root","");
Class.forName("com.microsoft.mysql8.jdbc.mysql8Driver");
conn = DriverManager.getConnection("jdbc:mysql8://localhost:1433;databaseName=安卓mgxxytsgzwyyxtdzkfA","sa","sa123456");
}}
catch(Exception e)
{
e.printStackTrace();
}
return conn;
}
4.5本章小结
本章主要论述了开发本系统时对系统进行的总体设计,包括网络设计采用B/S结构,然后对系统的普通用户模块和管理员模块分别进行功能的设计,最后对系统的各个模块进行划分,详细介绍如何设计。
5.1实现环境说明
运行环境包括硬件要求及软件要求如下表所示。
表5-1硬件要求
设备名称 | 说明 |
处理器 | 奔腾III以上,2GB |
内 存 | 2GB,内存越大,速度越快 |
硬 盘 | 500GB以上 |
鼠 标 | 双飞燕2D鼠标 |
表5-2软件要求
名 称 | 说明 |
操作系统 | Windows XP或 Windows7以上 |
应用软件 | myeclipse |
5.2前端页面的实现
本系统设计的是一个校园自习室座位预约系统。该系统总共分为学生信息管理、预约信息管理、离开信息管理等多个模块。通过对此系统的开发,达到了用户对校园自习室座位预约的了解。实现系统的实用性和易管理性。主页面如下图所示。
其中载入页面的主要代码如下:
<%@ Page Language="java" AutoEventWireup="true" CodeFile="Default.安卓" Inherits="_Default" %>
<%@ Register src="qttop.安卓" tagname="qttop" tagprefix="uc1" %>
<%@ Register src="qtleft.安卓" tagname="qtleft" tagprefix="uc2" %>
<%@ Register src="qtdown.安卓" tagname="qtdown" tagprefix="uc3" %>
数据准备,系统基本信息显示,主要代码如下:
<TR
align=middle bgColor=#ffffff>
<td colspan="4" bgColor=#CADCEA><strong>系统基本信息</strong></td>
</TR>
<TR align=middle
bgColor=#ffffff>
<TD width="14%" align="left" valign="bottom" >当前用户:</TD>
<TD width="37%" align="left" valign="bottom" ><font class="t4"><%=request.getSession().getAttribute("username")%></font></TD>
<TD width="9%" align="left" valign="bottom" >您的权限:</TD>
<TD width="40%" align="left" valign="bottom" ><font class="t4"><%=request.getSession().getAttribute("cx")%></font></TD>
</TR>
<TR align=middle
bgColor=#ffffff>
<TD height="38" align="left" valign="bottom" >当前日期:</TD>
<TD align="left" valign="bottom" ><%安卓.util.Date date = new 安卓.util.Date();
安卓.text.SimpleDateFormat format = new 安卓.text.SimpleDateFormat("yyyy-MM-dd", 安卓.util.Locale.CHINA);
5.3登录模块的实现
用户登录与用户管理模块相关联,超级管理员可以对用户(管理员)进行添加、删除、修改等操作。登录模块界面如下图所示。
图5-5登录流程图
随着系统规模的壮大,系统发布更新的信息及对普通用户量会越来越多,只有超级管理员负责系统后台恐怕任务艰巨,本系统考虑到这一问题后开发了超级管理员有权限可以增加管理员的模块。管理员角色不同对应权限亦不相同。添加管理员操作界面如下图所示。
5.4自习室座位模块的实现
管理员添加自习室座位是在点击添加按钮的前提下操作的,当页面跳转至zuoweixinxi_add.安卓,添加成功后,管理员在zuoweixinxii_list.安卓进行自习室座位管理,zuoweixinxi_ list.安卓通过查询数据库的自习室座位表列出所有自习室座位,每条自习室座位对应一个删除按钮和修改按钮,当管理员点击删除按钮,直接在数据库删除自习室座位,并重定向当前页面,当管理员选择点击修改,则进入zuoweixinxi_update.安卓页面,进行自习室座位的修改。
自习室座位流程图如下图所示。
大家点赞、收藏、关注、评论啦 其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者
源码文档下载获取地址