第2章 程序开发技术
2.1 Mysql数据库
为了更容易理解Mysql数据库,接下来就对其具备的主要特征进行描述。
(1)首选Mysql数据库也是为了节省开发资金,因为网络上对Mysql的源码都已进行了公开展示,开发者根据程序开发需要可以进行下载,并做一些改动就可以使用在程序中,可以推动开发者开发此程序的开发进度。
(2)SQL数据语言在Mysql里面也同样适用
(3)Mysql不仅可以支持多种编程语言,比如在校期间学到的C语言,Java语言,以及课后接触的PHP语言,C++语言等编程语言,它都能很好的支持,而且Mysql的安装与使用还不挑剔使用平台。
(4)Mysql可以支持具有千万条数据记录的数据库,电脑操作系统在进行首次安装或者是重装时,可以根据需要选择安装32位或64位操作系统,这两种操作系统对表文件的支持力度不一样,32位的操作系统最多可以存放4GB的表文件,64位操作系统最多可以存放8TB的表文件。
(5)Mysql数据库可以通过GPL协议进行个性化定制,需要开发者自己对数据库的源代码进行修改,以此开发出属于自己的Mysql。
2.2 Java语言
程序开发语言有很多,但是截至目前,Java语言在IT领域内,仍然是最被认可,以及被广泛运用的编写语言之一,因此在选择此程序的编写语言上,果断选择这门编程语言进行程序开发。可以说经过了这么多年的发展,Java语言不仅在Web开发领域有了突出性贡献,而且在大数据开发领域以及微信小程序开发领域都得到了广泛运用。由于Java语言拥有较强的扩展性能,并且表现出的稳定性能,让其成为大型后端系统开发语言首选,现如今,Java语言也成为了一种常用的互联网平台的解决方案。
作为一种源码在网络上开源的面向对象的程序开发Java语言,由它开发完成的程序是不可能直接运行在各大平台的,Java程序的运行,需要在操作平台上配置其运行的环境,包括数据库软件与Java程序开发软件等工具的安装与配置。在Win7,Win10或其它操作平台上配置Java程序运行环境,只要环境配置成功,Java程序都可以运行起来。
2.3 微信小程序介绍
小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。
2.4 SSM框架
本课题程序开发使用到的框架技术,英文名称缩写是SSM,在JavaWeb开发中使用的流行框架有SSH、SSM、SpringMVC等,作为一个课题程序采用SSH框架也可以,SSM框架也可以,SpringMVC也可以。SSH框架是属于重量级别的框架,配置繁琐,不够灵活,修改程序需要修改好多个文件,并且运行起来也占用内存较高,CPU使用率相对也高,SpringMVC是Spring开发的一套MVC架构,更灵活更好用,SSM框架取中间值,既没有SSH臃肿,也没有SpringMVC简化,属于中间级别的,在配置过程和使用过程中更能编写和理解。MyBatis框架取代Hibernate框架是因为它更灵活,不需要完全在框架里操作,它在数据操作上可以写出更灵活的代码,它的性能也比Hibernate框架更稳定。总的来说,使用SSM框架是通过综合考虑而使用的,网上有很多的使用教程和心得体会,而且SSM又是这么的流行,用SSM框架开发是顺其自然的。
第3章 系统分析
在进行系统分析之前,需要从网络上或者是图书馆的开发类书籍中收集大量的资料,因为这个环节也是帮助即将开发的程序软件制定一套最优的方案,一旦确定了程序软件需要具备的功能,就意味着接下来的工作和任务都是围绕着这个方案执行的,所以系统分析需要对程序功能反复进行思考和研究。
3.1可行性分析
开发一款系统软件之前,用户都会思考这个软件程序值不值得去开发,把开发软件过程中可能涉及到的问题罗列出来,并一个个分析解决,以此来确定开发这款程序软件是否有必要,这样的分析方法也能帮助用户降低损失,不至于开发者开发进度进行到一半之后,突然遇到问题就放弃对软件的开发,到那时,资金损失,人力投入等方面就损耗太大了。
3.1.1技术可行性分析
此次开发程序使用到的开发工具有:Mysql等工具,使用的开发语言是Java,选择的开发工具和开发语言都是在大学课堂接触并学习过,后期因为自己也比较感兴趣,所以也通过网络渠道,或借助图书馆的开发类书籍进行过软件开发知识的系统学习,让自己有了一定的知识积累,加上自己在校期间也独立开发过一些软件作品,也积累了一定的开发经验,所以这次毕设作品的制作在技术上无须担忧过多。
3.1.2经济可行性分析
目前的信息时代,对信息的管理趋于高效化,便捷化,这也是计算机大力普及所带来的便利,此程序软件在设备选用上,依靠的是比较大众的电脑设备,对电脑的配置没有过多要求,一般学校的计算机机房的电脑都可以满足程序开发需求,另外,开发出此款程序,让信息处理变得高效率,其所带来的高效益是远超程序开发的低成本的,因此程序开发的资金投入是可以忽略不计的。
3.1.3操作可行性分析
程序软件的操作界面是符合大众审美的需求,功能模块的布局也是类似于社会上同种类型的软件,因此使用者操作该软件可以无需培训就上手。加上现在计算机入驻各家各户,大部分人的计算机操作水平都比较高,这样的局面也表明开发出来的程序在操作性问题上也是不用担心的。
综合上面的可行性论证,基本可以确定程序开发完全可行。
3.2系统运行环境
程序经过编码可以实现对程序设计的功能。但是编码实现时需要一定的配置环境,包括了电脑上的硬件环境,也包括在电脑操作系统上安装的软件环境。
硬件环境:一台可以正常使用并能够上网的笔记本或者是电脑,电脑内存最低要求4个G,电脑的中央处理器可以配置i5CPU。
软件环境:运用的微软操作系统是比较稳定的win7旗舰版系统,采用比较熟练的360安全浏览器,并在此系统上通过浏览器下载安装好MYSQL软件等。
3.3系统流程分析
分析程序的流程,涉及到程序的整体操作流程,通过分析与设计,绘制的程序操作流程图见下图。此程序为了确保安全,会让使用者通过登录模块验证信息,符合要求的使用者才有权限操作程序。
图3-1 程序操作流程图
程序处理数据会涉及到数据的录入环节,绘制的添加流程见下图。程序录入数据过程中,始终与数据库保持同步。
图3-2 信息添加流程图
程序里面的数据也会出现错误,因此就有相应的修改数据的功能,绘制的程序修改流程见下图。此过程也是跟后台数据库进行数据同步显示。
图3-3信息修改流程图
程序数据存放于数据仓库,有时也会涉及到数据删除,此过程对应的流程图见下图。数据信息被删除之后,数据库里面也就没有了该数据信息了。
图3-4 信息删除流程图
第4章 系统设计
4.1 系统设计的原则
在系统设计过程中,也需要遵循相应的设计原则,这些设计原则可以帮助设计者在短时间内设计出符合设计规范的设计方案。设计原则主要有可靠性,安全性,可定制化,可扩展性,可维护性,可升级性以及客户体验等原则。下面就对这些原则进行简要阐述。
可靠性:一个软件是否可靠决定了其是否被用户使用,设计不可靠的软件,用户很容易就遗弃;
安全性:程序软件承担了信息的保存与管理等事务,安全性不足的软件会导致使用者承担巨大的损失;所以系统安全也是需要考虑进入的;
可定制化:市场环境从来都不是一直固定不变,面对客户群体的改变,以及使用环境的改变,市场需求的改变等因素,程序软件也要易于调整以适应各种变化;
可扩展性:程序软件在运行使用期间,也需要及时引进当下的新技术来进行系统优化,主要就是在系统功能层面,系统性能层面上进行相应的扩展,只有这样才能让系统在实际生活中继续占有市场;
可维护性:程序软件的维护需要一定量的资金,不管是排除现有程序错误,还是变更软件的现有需求,都需要在软件技术上投入一定资金,所以易于维护的软件程序就可以降低技术层面的资金消耗;
可升级性:程序软件的投入使用,会面临用户数量增多的情况,用户对软件的使用率也会提升,所以系统面临这种情况,仍然需要通过升级保持性能的合理,这样才能够适应市场;
客户体验:设计出来的程序软件在界面上不能够太复杂,要遵循界面设计的原理设计出简单,方便操作的功能操作界面,让用户易于接受软件,并乐于使用软件提供的功能。
4.2 功能结构设计
在管理员功能模块确定下来的基础上,对管理员各个功能进行设计,确定管理员功能的详细模块。绘制的管理员功能结构见下图。
图4-2 管理员功能结构图
4.3 数据库设计
与功能结构设计一样,数据库设计也是程序开发不可避免的设计环节,数据库设计最主要的目的就是帮助运行程序存储相应的数据信息。数据库设计包含的内容有数据表结构的设计,也包含了数据库E-R图的设计。
4.3.1 数据库E-R图
在绘制E-R图之前,先要找出数据库的实体,明确各个实体具有的属性,比如用户信息这个实体,它具备的属性包括了用户的姓名属性,用户的密码属性,用户的创建时间属性等,所以明确了用户这个实体,以及用户实体具备的属性之后,就需要根据这些信息绘制用户实体对应的实体属性图了。绘制软件选用当下认可度高,使用范围广,操作便利的微软旗下的Visio工具。
(1)管理员实体属性图通过Visio工具绘制,绘制结果展示如下:
图4-4 管理员实体属性图
(2)业主信息实体属性图通过Visio工具绘制,绘制结果展示如下:
图4-5 业主信息实体属性图
(3)公告资讯实体属性图通过Visio工具绘制,绘制结果展示如下:
图4-6 公告资讯实体属性图
4.3.2 数据库表结构
在进行这部分设计之前,需要明白和掌握数据类型以及各个数据类型的长度范围等知识,因为在一张具体的数据表中,为了方便理解,这里就举个简单的例子。比如用户信息表,这个表格的字段就是用户这个实体具备的属性,这时就需要对字段进行数据类型,以及字段长度的设置,也要设置一个主键来作为用户信息表的唯一标识。这些都是数据库表结构设计需要完成的内容。根据基于微信小程序的小区疫情防控的功能设计以及数据库设计要求,展示该系统的数据表结构。
4.1公告资讯表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
addtime |
Date |
创建时间 |
是 |
3 |
title |
String |
标题 |
是 |
4 |
introduction |
String |
简介 |
是 |
5 |
picture |
String |
图片 |
是 |
6 |
content |
String |
内容 |
是 |
4.2消毒记录表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
addtime |
Date |
创建时间 |
是 |
3 |
xiaodumingcheng |
String |
消毒名称 |
是 |
4 |
xiaoduchangsuo |
String |
消毒场所 |
是 |
5 |
xiaodufangshi |
String |
消毒方式 |
是 |
6 |
xiaoduyongpin |
String |
消毒用品 |
是 |
7 |
xiaoduren |
String |
消毒人 |
是 |
8 |
jiancharen |
String |
检查人 |
是 |
9 |
xiaodujilu |
String |
消毒记录 |
是 |
10 |
xiaoduriqi |
date |
消毒日期 |
是 |
11 |
xiaodushijian |
datetime |
消毒时间 |
是 |
12 |
tupian |
String |
图片 |
是 |
4.3业主表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
addtime |
Date |
创建时间 |
是 |
3 |
yezhuzhanghao |
String |
业主账号 |
是 |
4 |
mima |
String |
密码 |
是 |
5 |
yezhuxingming |
String |
业主姓名 |
是 |
6 |
xingbie |
String |
性别 |
是 |
7 |
lianxifangshi |
String |
联系方式 |
是 |
8 |
touxiang |
String |
头像 |
是 |
9 |
shenfenzheng |
String |
身份证 |
是 |
4.4代购物品表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
addtime |
Date |
创建时间 |
是 |
3 |
daigoubianhao |
String |
代购编号 |
是 |
4 |
shangpinmingcheng |
String |
商品名称 |
是 |
5 |
shangpintupian |
String |
商品图片 |
是 |
6 |
shuliang |
Integer |
数量 |
是 |
7 |
fabushijian |
date |
发布时间 |
是 |
8 |
dizhi |
String |
地址 |
是 |
9 |
shangpinxiangqing |
String |
商品详情 |
是 |
10 |
yezhuzhanghao |
String |
业主账号 |
是 |
11 |
yezhuxingming |
String |
业主姓名 |
是 |
12 |
sfsh |
String |
是否审核 |
是 |
13 |
shhf |
String |
审核回复 |
是 |
14 |
userid |
Integer |
用户id |
是 |
4.5疫情分布表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
addtime |
Date |
创建时间 |
是 |
3 |
biaoti |
String |
标题 |
是 |
4 |
chengshi |
String |
城市 |
是 |
5 |
xinzengquezhen |
Integer |
新增确诊 |
是 |
6 |
xinzengwuzhengzhuang |
Integer |
新增无症状 |
是 |
7 |
quezhenrenshu |
Integer |
确诊人数 |
是 |
8 |
zhiyurenshu |
Integer |
治愈人数 |
是 |
9 |
tupian |
String |
图片 |
是 |
10 |
beizhu |
String |
备注 |
是 |
4.6出入登记表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
addtime |
Date |
创建时间 |
是 |
3 |
dengjibianhao |
String |
登记编号 |
是 |
4 |
yezhuzhanghao |
String |
业主账号 |
是 |
5 |
yezhuxingming |
String |
业主姓名 |
是 |
6 |
lianxifangshi |
String |
联系方式 |
是 |
7 |
shenfenzheng |
String |
身份证 |
是 |
8 |
tupian |
String |
图片 |
是 |
9 |
churuleixing |
String |
出入类型 |
是 |
10 |
churumude |
String |
出入目的 |
是 |
11 |
sfsh |
String |
是否审核 |
是 |
12 |
shhf |
String |
审核回复 |
是 |
4.7举报信息表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
addtime |
Date |
创建时间 |
是 |
3 |
jubaobianhao |
String |
举报编号 |
是 |
4 |
biaoti |
String |
标题 |
是 |
5 |
jubaoren |
String |
举报人 |
是 |
6 |
beijubaoren |
String |
被举报人 |
是 |
7 |
jubaoshijian |
date |
举报时间 |
是 |
8 |
tupian |
String |
图片 |
是 |
9 |
jubaoyuanyin |
String |
举报原因 |
是 |
4.8健康打卡表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
addtime |
Date |
创建时间 |
是 |
3 |
dakabianhao |
String |
打卡编号 |
是 |
4 |
yezhuzhanghao |
String |
业主账号 |
是 |
5 |
yezhuxingming |
String |
业主姓名 |
是 |
6 |
dangqiantiwen |
String |
当前体温 |
是 |
7 |
kesou |
String |
咳嗽 |
是 |
8 |
churufengxianquyu |
String |
出入风险区域 |
是 |
9 |
jiechubinghuan |
String |
接触病患 |
是 |
10 |
dangqianweizhi |
String |
当前位置 |
是 |
11 |
dakabeizhu |
String |
打卡备注 |
是 |
12 |
tupian |
String |
图片 |
是 |
13 |
sfsh |
String |
是否审核 |
是 |
14 |
shhf |
String |
审核回复 |
是 |
15 |
userid |
Integer |
用户id |
是 |
4.9来访登记表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
addtime |
Date |
创建时间 |
是 |
3 |
bianhao |
String |
编号 |
是 |
4 |
fangkexingming |
String |
访客姓名 |
是 |
5 |
fangkeshenfenzheng |
String |
访客身份证 |
是 |
6 |
shoujihaoma |
String |
手机号码 |
是 |
7 |
baifangyezhu |
String |
拜访业主 |
是 |
8 |
suishenwupin |
String |
随身物品 |
是 |
9 |
cunfangwupin |
String |
存放物品 |
是 |
10 |
laifangshijian |
datetime |
来访时间 |
是 |
11 |
laifangmude |
String |
来访目的 |
是 |
12 |
tupian |
String |
图片 |
是 |
13 |
laifangbeizhu |
String |
来访备注 |
是 |
4.10管理员表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
username |
String |
用户名 |
是 |
3 |
password |
String |
密码 |
是 |
4 |
role |
String |
角色 |
是 |
5 |
addtime |
Date |
新增时间 |
是 |
第5章 系统实现
系统实现这个章节的内容主要还是展示系统的功能界面设计效果,在实现系统基本功能,比如修改,比如添加,比如删除等管理功能的同时,也显示出系统各个功能的界面实现效果,该部分内容一方面与前面提到的系统分析,系统设计的内容相呼应,另一方面也是一个实际成果的展示。
5.1管理员后台功能实现
5.1.1 业主管理
此页面让管理员管理业主信息数据,管理员可以对业主信息进行添加,修改,删除,查询操作。
图5-1 业主信息管理页面
5.1.2 疫情分布管理
管理员可以对疫情分布信息进行添加,修改,删除查询操作,还可以对疫情分布进行统计。
图5-2 疫情分布管理页面
5.1.3 公告资讯
此页面显示公告资讯信息,公告资讯页面见下图。此页面主要让管理员对公告资讯进行查询,添加,修改,删除操作。
图5-3 公告资讯页面
5.1.4 举报信息
管理员可以对举报信息进行添加,修改,删除,查询操作。
图5-4 举报信息页面
5.2 微信小程序功能实现
5.2.1 首页
微信小程序输入正确的账号密码后就会默认进入首页显示界面。首页主要有轮播图,搜索框,以及下面的导航为主要组成部分。
图5-5 首页
5.2.2 疫情分布
业主可以查看以及查询疫情分布信息。
图5-6 疫情分布信息页面
5.2.3 消毒记录
用户可以在此页面查看和查询消毒记录信息。
图5-7 消毒记录页面
5.2.4 我的
我的里面主要是可以进行退出,点击小齿轮就可以选择退出当前账户,也可以点击代购物品,健康打卡,出入登录等关于个人行程的信息。
图5-8 我的页面