第3章 系统分析
在进行系统分析之前,需要从网络上或者是图书馆的开发类书籍中收集大量的资料,因为这个环节也是帮助即将开发的程序软件制定一套最优的方案,一旦确定了程序软件需要具备的功能,就意味着接下来的工作和任务都是围绕着这个方案执行的,所以系统分析需要对程序功能反复进行思考和研究。
3.1可行性分析
开发一款系统软件之前,用户都会思考这个软件程序值不值得去开发,把开发软件过程中可能涉及到的问题罗列出来,并一个个分析解决,以此来确定开发这款程序软件是否有必要,这样的分析方法也能帮助用户降低损失,不至于开发者开发进度进行到一半之后,突然遇到问题就放弃对软件的开发,到那时,资金损失,人力投入等方面就损耗太大了。
3.1.1技术可行性分析
此次开发程序使用到的开发工具有:Eclipse,Mysql等工具,使用的开发语言是Java,选择的开发工具和开发语言都是在大学课堂接触并学习过,后期因为自己也比较感兴趣,所以也通过网络渠道,或借助图书馆的开发类书籍进行过软件开发知识的系统学习,让自己有了一定的知识积累,加上自己在校期间也独立开发过一些软件作品,也积累了一定的开发经验,所以这次毕设作品的制作在技术上无须担忧过多。
3.1.2经济可行性分析
目前的信息时代,对信息的管理趋于高效化,便捷化,这也是计算机大力普及所带来的便利,此程序软件在设备选用上,依靠的是比较大众的电脑设备,对电脑的配置没有过多要求,一般学校的计算机机房的电脑都可以满足程序开发需求,另外,开发出此款程序,让信息处理变得高效率,其所带来的高效益是远超程序开发的低成本的,因此程序开发的资金投入是可以忽略不计的。
3.1.3操作可行性分析
程序软件的操作界面是符合大众审美的需求,功能模块的布局也是类似于社会上同种类型的软件,因此使用者操作该软件可以无需培训就上手。加上现在计算机入驻各家各户,大部分人的计算机操作水平都比较高,这样的局面也表明开发出来的程序在操作性问题上也是不用担心的。
综合上面的可行性论证,基本可以确定程序开发完全可行。
3.2系统运行环境
程序经过编码可以实现对程序设计的功能。但是编码实现时需要一定的配置环境,包括了电脑上的硬件环境,也包括在电脑操作系统上安装的软件环境。
硬件环境:一台可以正常使用并能够上网的笔记本或者是电脑,电脑内存最低要求4个G,电脑的中央处理器可以配置i5CPU。
软件环境:运用的微软操作系统是比较稳定的win7旗舰版系统,采用比较熟练360安全浏览器,并在此系统上通过浏览器下载安装好Eclipse软件,下载安装好MYSQL软件等。
3.3系统流程分析
分析程序的流程,涉及到程序的整体操作流程,通过分析与设计,绘制的程序操作流程图见下图。此程序为了确保安全,会让使用者通过登录模块验证信息,符合要求的使用者才有权限操作程序。
图3-1 程序操作流程图
程序处理数据会涉及到数据的录入环节,绘制的添加流程见下图。程序录入数据过程中,始终与数据库保持同步。
图3-2 信息添加流程图
程序里面的数据也会出现错误,因此就有相应的修改数据的功能,绘制的程序修改流程见下图。此过程也是跟后台数据库进行数据同步显示。
图3-3信息修改流程图
程序数据存放于数据仓库,有时也会涉及到数据删除,此过程对应的流程图见下图。数据信息被删除之后,数据库里面也就没有了该数据信息了。
图3-4 信息删除流程图
第4章 系统设计
4.1 系统设计的原则
在系统设计过程中,也需要遵循相应的设计原则,这些设计原则可以帮助设计者在短时间内设计出符合设计规范的设计方案。设计原则主要有可靠性,安全性,可定制化,可扩展性,可维护性,可升级性以及客户体验等原则。下面就对这些原则进行简要阐述。
可靠性:一个软件是否可靠决定了其是否被用户使用,设计不可靠的软件,用户很容易就遗弃;
安全性:程序软件承担了信息的保存与管理等事务,安全性不足的软件会导致使用者承担巨大的损失;所以系统安全也是需要考虑进入的;
可定制化:市场环境从来都不是一直固定不变,面对客户群体的改变,以及使用环境的改变,市场需求的改变等因素,程序软件也要易于调整以适应各种变化;
可扩展性:程序软件在运行使用期间,也需要及时引进当下的新技术来进行系统优化,主要就是在系统功能层面,系统性能层面上进行相应的扩展,只有这样才能让系统在实际生活中继续占有市场;
可维护性:程序软件的维护需要一定量的资金,不管是排除现有程序错误,还是变更软件的现有需求,都需要在软件技术上投入一定资金,所以易于维护的软件程序就可以降低技术层面的资金消耗;
可升级性:程序软件的投入使用,会面临用户数量增多的情况,用户对软件的使用率也会提升,所以系统面临这种情况,仍然需要通过升级保持性能的合理,这样才能够适应市场;
客户体验:设计出来的程序软件在界面上不能够太复杂,要遵循界面设计的原理设计出简单,方便操作的功能操作界面,让用户易于接受软件,并乐于使用软件提供的功能。
4.2 系统结构设计
在系统结构设计上,经综合考虑还是选择比js更加简洁的vue框架,现如今浏览器已经实现了普及,并在技术上逐渐完善和成熟,它在节约软件开发成本的基础上,还能实现原本用专业软件操作才能实现的强大功能。总之,小程序架构是当下全新的,认可度高的系统构造技术。系统结构设计图通过绘制,效果展示如下:
图4-1 系统结构设计图
4.3功能结构设计
在管理员功能模块确定下来的基础上,对管理员各个功能进行设计,确定管理员功能的详细模块。绘制的管理员功能结构见下图。
图4.3 管理员功能结构图
4.4数据库设计
与功能结构设计一样,数据库设计也是程序开发不可避免的设计环节,数据库设计最主要的目的就是帮助运行程序存储相应的数据信息。数据库设计包含的内容有数据表结构的设计,也包含了数据库E-R图的设计。
4.4.1 数据库E-R图
在绘制E-R图之前,先要找出数据库的实体,明确各个实体具有的属性,比如用户信息这个实体,它具备的属性包括了用户的姓名属性,用户的密码属性,用户的创建时间属性等,所以明确了用户这个实体,以及用户实体具备的属性之后,就需要根据这些信息绘制用户实体对应的实体属性图了。绘制软件选用当下认可度高,使用范围广,操作便利的微软旗下的Visio工具。
(1)下图是班级寝室公告实体和其具备的属性。
班级寝室公告实体属性图
(2)下图是寝室寝室公告实体和其具备的属性。
寝室寝室公告实体属性图
(3)下图是报修实体和其具备的属性。
报修实体属性图
(4)下图是字典表实体和其具备的属性。
字典表实体属性图
(5)下图是老师实体和其具备的属性。
老师实体属性图
(6)下图是宿管实体和其具备的属性。
宿管实体属性图
(7)下图是学生考勤实体和其具备的属性。
学生考勤实体属性图
(8)下图是寝室实体和其具备的属性。
寝室实体属性图
(9)下图是论坛实体和其具备的属性。
论坛实体属性图
(10)下图是访客实体和其具备的属性。
访客实体属性图
(11)下图是调寝申请实体和其具备的属性。
调寝申请实体属性图
(12)下图是学生实体和其具备的属性。
学生实体属性图
(13)下图是学生请假实体和其具备的属性。
学生请假实体属性图
(14)下图是寝室卫生实体和其具备的属性。
寝室卫生实体属性图
4.4.2 数据库表结构
在进行这部分设计之前,需要明白和掌握数据类型以及各个数据类型的长度范围等知识,因为在一张具体的数据表中,为了方便理解,这里就举个简单的例子。比如用户信息表,这个表格的字段就是用户这个实体具备的属性,这时就需要对字段进行数据类型,以及字段长度的设置,也要设置一个主键来作为用户信息表的唯一标识。这些都是数据库表结构设计需要完成的内容。根据宿舍管理系统的功能设计以及数据库设计要求,展示该系统的数据表结构。
表4.1班级寝室公告表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | laoshi_id | Integer | 老师 | 是 |
3 | banjigonggao_uuid_number | String | 班级寝室公告编号 | 是 |
4 | banjigonggao_name | String | 班级寝室公告名称 | 是 |
5 | banjigonggao_file | String | 附件 | 是 |
6 | banjigonggao_types | Integer | 班级寝室公告类型 | 是 |
7 | banji_types | Integer | 班级 | 是 |
8 | banjigonggao_content | String | 寝室公告内容 | 是 |
9 | insert_time | Date | 发布时间 | 是 |
10 | create_time | Date | 创建时间 | 是 |
表4.2报修表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | xuesheng_id | Integer | 学生 | 是 |
3 | baoxiu_uuid_number | String | 报修编号 | 是 |
4 | baoxiu_address | String | 报修标题 | 是 |
5 | baoxiu_name | String | 报修位置 | 是 |
6 | baoxiu_types | Integer | 报修类型 | 是 |
7 | baoxiu_content | String | 报修内容 | 是 |
8 | insert_time | Date | 报修时间 | 是 |
9 | baoxiu_zhuangtai_types | Integer | 报修状态 | 是 |
10 | create_time | Date | 创建时间 | 是 |
表4.3字典表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | dic_code | String | 字段 | 是 |
3 | dic_name | String | 字段名 | 是 |
4 | code_index | Integer | 编码 | 是 |
5 | index_name | String | 编码名字 | 是 |
6 | super_id | Integer | 父字段id | 是 |
7 | beizhu | String | 备注 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.4访客表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | xuesheng_id | Integer | 学生 | 是 |
3 | qinshi_id | Integer | 寝室 | 是 |
4 | fangke_name | String | 访客姓名 | 是 |
5 | fangke_phone | String | 访客手机号 | 是 |
6 | fangke_id_number | String | 访客身份证号 | 是 |
7 | sex_types | Integer | 性别 | 是 |
8 | fangke_content | String | 来访事由 | 是 |
9 | laifang_time | Date | 来访时间 | 是 |
10 | likai_time | Date | 离开时间 | 是 |
11 | insert_time | Date | 录入时间 | 是 |
12 | create_time | Date | 创建时间 | 是 |
表4.5论坛表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | forum_name | String | 帖子标题 | 是 |
3 | xuesheng_id | Integer | 学生 | 是 |
4 | laoshi_id | Integer | 老师 | 是 |
5 | suguan_id | Integer | 宿管 | 是 |
6 | users_id | Integer | 管理员 | 是 |
7 | forum_content | String | 发布内容 | 是 |
8 | super_ids | Integer | 父id | 是 |
9 | forum_types | Integer | 帖子类型 | 是 |
10 | forum_state_types | Integer | 帖子状态 | 是 |
11 | insert_time | Date | 发帖时间 | 是 |
12 | update_time | Date | 修改时间 | 是 |
13 | create_time | Date | 创建时间 | 是 |
表4.6寝室寝室公告表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | suguan_id | Integer | 宿管 | 是 |
3 | gonggao_name | String | 寝室寝室公告名称 | 是 |
4 | gonggao_photo | String | 寝室寝室公告图片 | 是 |
5 | gonggao_types | Integer | 寝室寝室公告类型 | 是 |
6 | insert_time | Date | 发布时间 | 是 |
7 | gonggao_content | String | 寝室寝室公告详情 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.7老师表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | laoshi_uuid_number | String | 老师工号 | 是 |
3 | laoshi_name | String | 老师姓名 | 是 |
4 | laoshi_phone | String | 老师手机号 | 是 |
5 | laoshi_id_number | String | 老师身份证号 | 是 |
6 | laoshi_photo | String | 老师头像 | 是 |
7 | laoshi_email | String | 老师邮箱 | 是 |
8 | jinyong_types | Integer | 账户状态 | 是 |
9 | create_time | Date | 创建时间 | 是 |
表4.8寝室表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | qinshi_uuid_number | String | 寝室编号 | 是 |
3 | loudong_types | Integer | 楼栋 | 是 |
4 | danyuan_types | Integer | 单元 | 是 |
5 | qinshi_name | String | 寝室名称 | 是 |
6 | qinshi_address | String | 寝室位置 | 是 |
7 | qinshi_content | String | 寝室备注 | 是 |
8 | insert_time | Date | 录入时间 | 是 |
9 | create_time | Date | 创建时间 | 是 |
表4.9寝室卫生表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | qinshi_id | Integer | 寝室 | 是 |
3 | qinshiweisheng_uuid_number | String | 寝室卫生编号 | 是 |
4 | qinshiweisheng_name | String | 寝室卫生标题 | 是 |
5 | qinshiweisheng_photo | String | 寝室照片 | 是 |
6 | qinshiweisheng_types | Integer | 卫生状态 | 是 |
7 | qinshiweisheng_hege_types | Integer | 是否合格 | 是 |
8 | qinshiweisheng_video | String | 检查视频 | 是 |
9 | qinshiweisheng_dafen | BigDecimal | 打分 | 是 |
10 | qinshiweisheng_time | Date | 所属日期 | 是 |
11 | qinshiweisheng_content | String | 卫生详情 | 是 |
12 | insert_time | Date | 录入时间 | 是 |
13 | create_time | Date | 创建时间 | 是 |
表4.10宿管表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | suguan_uuid_number | String | 宿管工号 | 是 |
3 | suguan_name | String | 宿管姓名 | 是 |
4 | suguan_phone | String | 宿管手机号 | 是 |
5 | suguan_id_number | String | 宿管身份证号 | 是 |
6 | suguan_photo | String | 宿管头像 | 是 |
7 | suguan_email | String | 宿管邮箱 | 是 |
8 | jinyong_types | Integer | 账户状态 | 是 |
9 | create_time | Date | 创建时间 | 是 |
表4.11调寝申请表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | xuesheng_id | Integer | 学生 | 是 |
3 | qinshi_id | Integer | 寝室 | 是 |
4 | tiaoqinshenqing_uuid_number | String | 调寝申请编号 | 是 |
5 | tiaoqinshenqing_name | String | 申请标题 | 是 |
6 | tiaoqinshenqing_types | Integer | 调寝申请类型 | 是 |
7 | tiaoqinshenqing_content | String | 申请缘由 | 是 |
8 | insert_time | Date | 申请时间 | 是 |
9 | tiaoqinshenqing_yesno_types | Integer | 申请状态 | 是 |
10 | tiaoqinshenqing_yesno_text | String | 处理意见 | 是 |
11 | tiaoqinshenqing_shenhe_time | Date | 审核时间 | 是 |
12 | create_time | Date | 创建时间 | 是 |
表4.12学生表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | qinshi_id | Integer | 寝室 | 是 |
3 | xuesheng_uuid_number | String | 学号 | 是 |
4 | xuesheng_name | String | 学生姓名 | 是 |
5 | xuesheng_phone | String | 学生手机号 | 是 |
6 | xuesheng_id_number | String | 学生身份证号 | 是 |
7 | xuesheng_photo | String | 学生头像 | 是 |
8 | banji_types | Integer | 班级 | 是 |
9 | xuesheng_email | String | 学生邮箱 | 是 |
10 | jinyong_types | Integer | 账户状态 | 是 |
11 | create_time | Date | 创建时间 | 是 |
表4.13学生考勤表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | xuesheng_id | Integer | 学生 | 是 |
3 | xueshengkaoqin_types | Integer | 考勤状态 | 是 |
4 | xueshengkaoqin_time | Date | 所属日期 | 是 |
5 | xueshengkaoqin_content | String | 考勤备注 | 是 |
6 | insert_time | Date | 录入时间 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.14学生请假表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | xuesheng_id | Integer | 学生 | 是 |
3 | xueshengqingjia_name | String | 请假标题 | 是 |
4 | xueshengqingjia_text | String | 请假缘由 | 是 |
5 | xueshengqingjia_types | Integer | 请假类型 | 是 |
6 | insert_time | Date | 申请时间 | 是 |
7 | xueshengqingjia_time | Date | 请假时间 | 是 |
8 | xueshengqingjia_number | Integer | 请假天数 | 是 |
9 | xueshengqingjia_yesno_types | Integer | 申请状态 | 是 |
10 | xueshengqingjia_yesno_text | String | 处理意见 | 是 |
11 | xueshengqingjia_shenhe_time | Date | 审核时间 | 是 |
12 | create_time | Date | 创建时间 | 是 |
表4.15管理员表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | username | String | 学生名 | 是 |
3 | password | String | 密码 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增时间 | 是 |
系统实现这个章节的内容主要还是展示系统的功能界面设计效果,在实现系统基本功能,比如修改,比如添加,比如删除等管理功能的同时,也显示出系统各个功能的界面实现效果,该部分内容一方面与前面提到的系统分析,系统设计的内容相呼应,另一方面也是一个实际成果的展示。
5.1管理员功能实现
5.1.1 寝室管理
此页面让管理员管理寝室的数据,寝室管理页面见下图。此页面主要实现寝室的增加、修改、删除、查看的功能。
图5-1 寝室管理页面
5.1.2 寝室公告信息管理
寝室公告信息管理页面提供的功能操作有:新增寝室公告,修改寝室公告,删除寝室公告操作。下图就是寝室公告信息管理页面。
图5.3 寝室公告信息管理页面
5.1.3寝室公告类型管理
寝室公告类型管理页面显示所有寝室公告类型,在此页面既可以让管理员添加新的寝室公告信息类型,也能对已有的寝室公告类型信息执行编辑更新,失效的寝室公告类型信息也能让管理员快速删除。下图就是寝室公告类型管理页面。
图5.4 寝室公告类型列表页面
5.1.4 报修管理
如图5.4显示的就是报修管理页面,此页面提供给管理员的功能有:新增报修,修改报修,删除报修。
图5.4报修管理页面
5.1.5 报修类型管理
如图5.5显示的就是报修类型管理页面,此页面提供给管理员的功能有:新增报修类型,修改报修类型,删除报修类型。
图5.5 报修类型管理页面
点赞+收藏+关注 → 私信领取本源代码、数据库,另有JAVA毕设的帮助、指导,调试和面部署等方的支持。
加VX获取 更多源码 及PPT报告:Json6690(VX号)