第二章开发技术介绍
此系统的关键技术和架构,Java技术、B/S结构、Ssm框架和Mysql数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。
2.1 系统开发平台
在线自助购药小程序中,Eclipse能给用户提供更多的方便,其特点一是方便学习,方便快捷;二是有非常大的信息储存量,主要功能是用在对数据库中查询和编程。其功能有比较灵活的数据应用,只需利用小部分代码就能实现非常强大的功能。因此,利用Eclipse 技术进行系统代码管理是该系统数据库的首选。
2.2微信开发者工具
在传统web浏览器中,在加载htm15页面时先加载视图层的html和css,后加载逻辑层的java script,然后返回数据并在浏览器中展示页面。而微信开发者工具的系统层是基于Native System的,视图层和逻辑层会同时被加载。微信小程序的这种逻辑方式大大的优化了页面响应速度,减少了页面加载的等待时间,提高了用户体验。微信开发者工具可以实现同步本地文件,开发调试,编译预览,上传,发布等一整套流程。
2.3 Java技术
JavaScript是一种网络脚本语言,广泛运用于web应用开发,可以用来添加网页的格式动态效果,该语言不用进行预编译就直接运行,可以直接嵌入HTML语言中,写成js语言,便于结构的分离,支持多种浏览器可以在多平台下运行。它具有三个不同的体系,分别为J2SE、J2EE、J2ME。Java 语言比较容易理解,而且也容易学习和上手,其语法与C语言和C++语言很相似,它可以自动的处理废料,而且不会受到内存的影响。
Java 程序被编译后形成的class 文件,这样就能够实现在多系统中正常运行。Java语言支持多个线程同吋执行,Java程序所需要的类能够动态的或者通过网络被载入到运行环境。Java开发工具支持JavaJDK7\8,开发集成环境IDE为Eclipse。
2.4 Mysql数据库介绍
利用Mysql的数据独立性、安全性等特点,在软件项目中对数据进行操作,可以保证数据准确无误,并降低了程序员的应用开发时间。
Mysql的特点是支持多线程,能方便的对系统资源充分利用,有效提高速度,还提供多种方式途径来对数据库进行连接;Mysql的功能相对弱小、规模也小,但本系统要求不高,Mysql完全可以满足本系统使用。
利用Mysql建立系统数据库,不仅有利于数据处理业务的早期整合,还能利于发展后两种数据扩展的操作。
2.5 Mysql环境配置
本系统的数据使用的是Mysql,所以要将Mysql安装到指定目录,如果下载的是非安装的Mysql压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\Mysql\bin\winMysqladmin.exe这个文件其中C:\Program Files\Mysql是Mysql安装目录。输入winMysqladmin的初始用户、密码(注:这不是Mysql里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动Mysql服务。
修改Mysql数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\Mysql\bin
Mysqladmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时Mysql中账号 root 的密码被改为 123 安装完毕。
2.6 B/S架构
B/S结构是目前使用最多的结构模式,它可以使得系统的开发更加的简单,好操作,而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库,和一些很常用的浏览器就可以了。浏览器就会与数据库进行信息的连接,可以实现很多的功能,B/S结构是可以直接进行使用的,而且B/S结构在使用中极大的减少了工作的维护。基于B/S的软件,所有的数据库之间都是相互独立的,因此是非常安全的。因为基于B/S结构可以清楚的看到系统正在处理的业务,并且能够及时的让管理人员做出决策,这样就可以避免企业的损失。B/S结构的基本特点是集中式的管理模式,用户使用系统生成数据后,这些数据就可以存储到系统的数据库中,方便日后能够用到,这样就可以满足人们的所有的需求。
图2-1 B/S模式三层结构图
2.7Ssm框架
开发信息管理系统的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框架;对于相关SQL操作,采用Mybatis作为持久层框架,对JDBC进行封装,使得数据库的底层面向开发者操作处于一种透明状态。
第三章系统分析
3.1 可行性分析
一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本系统来补充线下自助购药小程序管理模式中的缺限,去解决其中的不足等,通过对本系统,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该系统能实现更大的意义和价值,系统完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该自助购药小程序的开发设计中,对技术、经济、操作方面进行了可行性分析。
3.1.1技术可行性
本系统开发选择Java语言,它被研究的目的就是在于能够为网页创建等可以看到的信息。随着移动互联网技术的不断发展和创新,Java俨然已成为下一代互联网的Web标准。所以后台设计选择使用Mysql,数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。
3.1.2操作可行性
现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。
3.1.3经济可行性
基于Ssm框架的自助购药小程序,该系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的自助购药小程序管理,同时还能实现对人力资源和管理资源的有效节约,该自助购药小程序在经济上完全可行。
3.2性能需求分析
对系统的性能,从(功能、运行、界面、安全)等方面进行,下面我们逐一进行分析;
-
系统的功能是否完整进行分析:系统的功能,能对应设计出原始代码和算法,以表格同文字的形式进行详细介绍个人信息保证功能完整;
-
系统的运行是否通畅进行分析:系统的每个功能都有编写数据的关系和应对的代码,通过需求分析和可行性分析进行分析和显示系统的物理数据,保证其进行通畅;
-
系统的界面设计进行分析:对系统中的软件进行处理与分析的方式是由不同代码来进行的;从而使界面容易操作。
4.系统的安全性进行分析:这样才可以每个角色的不同对应的信息也就不同,在登录系统务必使用自己的账号,密码登录,账号与密码错误自然就登录失败了。登录成功可以对自己的信息进行操作,不能对别人的账号的信息进行查看等操作,这样自然保证系统的安全性。
第四章系统设计
4.1功能结构
为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该自助购药小程序的功能结构图如下所示:
图4-1 系统总体结构图
4.2数据库设计
4.2.1 数据库E/R图
ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:
-
用户注册E/R图如下所示:
图4-2用户注册E/R图
-
药品信息E/R图如下所示:
图4-3药品信息E/R图
4.2.2数据库表
数据库表的设计,如下表:
表4-1:地址
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
address | varchar | 200 | 地址 | ||
name | varchar | 200 | 收货人 | ||
phone | varchar | 200 | 电话 | ||
isdefault | varchar | 200 | 是否默认地址[是/否] |
表4-2:药品分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yaopinfenlei | varchar | 200 | 药品分类 |
表4-3:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-4:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-5:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 收藏id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 收藏名称 | ||
picture | varchar | 200 | 收藏图片 | ||
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩) | 1 | |
inteltype | varchar | 200 | 推荐类型 |
表4-6:商家
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangjiazhanghao | varchar | 200 | 商家账号 | ||
mima | varchar | 200 | 密码 | ||
shangjiamingcheng | varchar | 200 | 商家名称 | ||
fuzeren | varchar | 200 | 负责人 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
lianxishouji | varchar | 200 | 联系手机 | ||
xiangpian | varchar | 200 | 相片 | ||
money | float | 余额 | 0 |
表4-7:订单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
orderid | varchar | 200 | 订单编号 | ||
tablename | varchar | 200 | 商品表名 | yaopinxinxi | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | varchar | 200 | 商品图片 | ||
buynumber | int | 购买数量 | |||
price | float | 价格 | 0 | ||
discountprice | float | 折扣价格 | 0 | ||
total | float | 总价格 | 0 | ||
discounttotal | float | 折扣总价格 | 0 | ||
type | int | 支付类型 | 1 | ||
status | varchar | 200 | 状态 | ||
address | varchar | 200 | 地址 | ||
tel | varchar | 200 | 电话 | ||
consignee | varchar | 200 | 收货人 | ||
logistics | longtext | 4294967295 | 物流 | ||
shangjiazhanghao | varchar | 200 | 商户名称 |
表4-8:公告信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | varchar | 200 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-9:发票信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
fapiaomingcheng | varchar | 200 | 发票名称 | ||
yaopinmingcheng | varchar | 200 | 药品名称 | ||
yaopinfenlei | varchar | 200 | 药品分类 | ||
goumaishuliang | int | 购买数量 | |||
goumaijine | int | 购买金额 | |||
fapiaoleixing | varchar | 200 | 发票类型 | ||
fapiaotupian | varchar | 200 | 发票图片 | ||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
shoujihaoma | varchar | 200 | 手机号码 | ||
shibiehao | varchar | 200 | 识别号 | ||
dizhi | varchar | 200 | 地址 | ||
shangjiazhanghao | varchar | 200 | 商家账号 | ||
shangjiamingcheng | varchar | 200 | 商家名称 | ||
kaipiaoriqi | date | 开票日期 | |||
userid | bigint | 用户id |
表4-10:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-11:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhanghao | varchar | 200 | 账号 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
xingbie | varchar | 200 | 性别 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
shoujihaoma | varchar | 200 | 手机号码 | ||
xiangpian | varchar | 200 | 相片 | ||
money | float | 余额 | 0 |
表4-12:购物车表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tablename | varchar | 200 | 商品表名 | yaopinxinxi | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | varchar | 200 | 图片 | ||
buynumber | int | 购买数量 | |||
price | float | 单价 | |||
discountprice | float | 会员价 | |||
shangjiazhanghao | varchar | 200 | 商户名称 |
表4-13:药品信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yaopinmingcheng | varchar | 200 | 药品名称 | ||
yaopintupian | varchar | 200 | 药品图片 | ||
yaopinfenlei | varchar | 200 | 药品分类 | ||
yaopinchengfen | varchar | 200 | 药品成分 | ||
shengchanshang | varchar | 200 | 生产商 | ||
yaopinjianjie | longtext | 4294967295 | 药品简介 | ||
yaopingongxiao | varchar | 200 | 药品功效 | ||
fuyongfangshi | varchar | 200 | 服用方式 | ||
shangjiariqi | date | 上架日期 | |||
shangjiazhanghao | varchar | 200 | 商家账号 | ||
shangjiamingcheng | varchar | 200 | 商家名称 | ||
lianxishouji | varchar | 200 | 联系手机 | ||
price | float | 价格 | |||
onelimittimes | int | 单限 | -1 | ||
alllimittimes | int | 库存 | -1 |
第五章系统功能实现
5.1前台功能模块
登录,用户通过输入账号和密码等信息并点击登录进行系统登录操作,如图5-1所示。
图5-1用户登录界面图
用户注册,在注册页面通过填写账号、密码、确认密码、姓名、性别、身份证、手机号码等详细信息进行注册操作;如图5-2所示。
图5-2用户注册界面图
用户登陆系统后,可以对首页、药品信息、购物车、我的等功能进行详细操作,如图5-3所示。
图5-3小程序首页界面图
药品信息,在药品信息页面可以查看药品名称、药品图片、药品分类、药品成分、生产商、药品功效、服用方式、上架日期、商家账号、商家名称、联系手机、价格、单限、库存、药品简介等详细信息;并进行评加入购物车,立即订购,评论和收藏操作;如图5-4所示。
图5-4药品信息界面图
用户功能,用户在我的页面可以对发票信息、我的收藏管理、用户充值、购物车、我的订单等详细信息进行操作,如图5-5所示。
图5-5用户功能界面图
用户信息,在用户信息页面通过填写账号、密码、姓名、性别、身份证、手机号码、相片等详细信息进行保存或退出登录操作,如图5-6所示。
图5-6用户信息界面图
5.2后台功能模块
管理员和商家登录,管理员和商家通过输入账号、密码,选择角色并点击登录进行系统登录操作,如图5-7所示。
图5-7管理员登录界面图
5.2.1 管理员功能
管理员登录系统后,可以对首页、个人中心、用户管理、商家管理、药品信息管理、药品分类管理、发票信息管理、系统管理等功能进行相应操作,如图5-8所示。
图5-8管理员功能界面图
用户管理,在用户管理页面可以对索引、账号、姓名、性别、身份证、手机号码、相片等内容进行详情,修改和删除操作,如图5-9所示。
图5-9用户管理界面图
商家管理,在商家管理页面可以对索引、商家账号、商家名称、负责人、身份证、联系手机、相片等内容进行详情,修改和删除操作,如图5-10所示。
图5-10商家管理界面图
药品信息管理,在药品信息管理页面可以对索引、药品名称、药品图片、药品分类、药品成分、生产商、药品功效、服用方式、上架日期、商家账号、商家名称、联系手机、价格、单限、库存等内容进行详情,修改,查看评论和删除操作,如图5-11所示。
图5-11药品信息管理界面图
药品分类管理,在药品分类管理页面可以对索引、药品分类等内容进行详情,修改和删除操作,如图5-12所示。
图5-12药品分类管理界面图
发票信息管理,在发票信息管理页面可以对索引、发票名称、药品名称、药品分类、购买数量、购买金额、发票类型、发票图片、账号、姓名、手机、识别号、地址、商家账号、商家名称、开票日期等内容进行详情和删除操作,如图5-13所示。
图5-13发票信息管理界面图
系统管理,在公告信息页面可以对索引、标题、图片等内容进行详情,修改和删除操作,还可对轮播图管理进行相对应操作,如图5-14所示。
图5-14系统管理界面图
5.2.2商家功能
商家登录系统后,可以对首页、个人中心、药品信息管理、发票信息管理、订单管理等功能进行相应操作,如图5-15所示。
图5-15商家功能界面图
个人中心,在个人中心页面通过填写商家账号、商家名称、负责人、身份证、联系手机、相片等信息进行个人信息修改操作,如图5-16所示。
图5-16个人中心界面图
药品信息管理,在药品信息管理页面可以对索引、药品名称、药品图片、药品分类、药品成分、生产商、药品功效、服用方式、上架日期、商家账号、商家名称、联系手机、价格、单限、库存等内容进行详情,开票,修改,查看评论和删除操作,如图5-17所示。
图5-17药品信息管理界面图
订单管理,在已支付订单页面可以对索引、订单编号、商品名称、商品图片、购买数量、价格、折扣价格、总价格、折扣总价格、支付类型、状态、地址、电话、收货人、商户名称、下单时间等内容进行详情,物流和发货操作,还可以对已完成订单,已发货订单,未支付订单,已取消订单,已退款订单进行详细操作如图5-18所示。
图5-18订单管理界面图