Java web 医药系统.docx
《Java web 医药系统.docx》由会员分享,可在线阅读,更多相关《Java web 医药系统.docx(28页珍藏版)》请在冰豆网上搜索。
Javaweb医药系统
《JavaWeb应用开发》课程设计
课程名称:
《JAVAWeb应用开发》课程设计
设计题目:
艾斯医药商务系统
指导教师:
班级:
学号:
学生姓名:
成绩:
评语:
计算机与数据科学学院
2016年6月12日
第一章.系统概述
1.1开发背景
随着信息技术的发展和国内外互联网技术应用水平的逐步提高,在企业管理过程中,传统的工作方式和管理模式已经难以满足现代社会的必然需求,实现企业现代化综合管理已经是提高国家政府机关和企事业单位各部门工作效率、规范化管理的必然发展趋势。
大家只要看了新闻,就可以了解到21世纪是信息的世纪,信息化正以极快的速度取代传统的效率低下的人工作业。
随着小型计算机,微型计算机的成本的不断下降,性能的不断提升,使得计算机作为当今最重要的信息产品,成为人民大众必不可缺的工具。
计算机技术已经广泛应用于日常办公,企业管理,文字处理、电子报表以及进行简单的人事管理、财务管理等,大大提高了我们的工作效率,节省许多资源,使管理更加规范化,系统化,科学化。
目前随着计算机技术的发展和普及,各行各业的管理机构开始使用计算机处理大量信息。
在我国药品品种繁多,规模甚大,以往的手工记载、查询操作容易出错且工作效率低,已经不能适应时代发展的要求,从管理的角度来看,对管理者会造成诸多的不便,还有可能疏忽一些细节,让不法商家逃脱罪责。
所以,市场迫切需要一款简单实用的药品管理系统。
药品管理系统的设计理念是,让企业能够拥有更高效的管理工具,使企业在21世纪异常激烈的竞争中脱颖而出。
国外的管理系统有许多优秀的经验,但是并不完全符合我国的国情,我国的最广大药品销售的企业是分布在全国各地的中小型销售企业。
所以,此次开发的药品管理系统功能乃是汲取了外国优秀管理工具的优秀功能,同时又创新了更符合我国用户需求的功能的一个综合信息管理系统。
药品管理系统分为五大模块,分别为系统用户模块,职工信息管理模块,进货管理模块,销售管理模块,库存转移管理模块。
该五大功能模块设计合理,功能全面,同时界面友好,非常符合我国各大小型药品销售企业的管理需求。
但由于时间仓促以及笔者找工作实习的原因,系统还不是很完善,和市场上一些成熟的产品比较仍然有不足之处。
2.2开发环境
开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下:
开发环境:
Window7旗舰版
开发工具:
MyEclipse10.0
数据库版本:
MySql5.6.24
服务器:
Tomcat6.0
第二章.可行性分析
2.1技术可行性
本项目中使用了Servlet+JSP+JavaBean技术来实现艾斯医药商务系统的,目前该种技术已经非常成熟,很多小型的项目的可以用这种模式来实现,因为在技术可行性方面不存难以解决的问题。
2.2操作可行性
传统的医药公司管理有两种方式:
一种是通过人员手工管理,通过纸笔手写记录公司的运作信息。
另一种是通过现在先进的计算机进行网上的记录管理与销售。
在进行设计以前,我们通过实地考察多家医药公司,调查了解他们的工作流程,还从其他相关的了解医药公司的运作流程,完成系统开发。
因此艾斯医药商务系统是具有操作可行性的。
第三章.需求分析
3.1系统功能
艾斯医药商务系统功能包括用户登录,商品浏览,商品查询,购物管理和后台模块等模块。
其中用户登陆管理负责用户注册及用户登录信息的维护.登陆成功的用户可以浏览商品。
查询特定商品的信息,对于选中的商品进行购买。
包括加入购物车和生成订单。
后台管理处理从购物网站转过来的订单包括发送邮件,商品管理和用户管理。
艾斯医药商务系统模块结构图如图3.1.1所示
图3.1项目功能模块
3.2系统功能描述
3.2.1用户管理
用户管理主要包括一下模块:
(1)注册用户信息。
对于新用户,单击“注册”,进入注册页面,填写相关信息进行注册。
有标记我“*”的为必填项。
(2)用户登陆验证。
对于已经注册过的用户,进入用户登陆界面,填写账号密码进行登陆。
图3.2注册模块
3.2.2浏览商品
网站的商品列表列出当前网站所有的商品名称,编号,类别,价格,库存图片等。
3.2.3查询商品
用户可以再网站的商品查询页面进行查询。
选择查询条件,输入查询的关键字,单击“查询”按钮可以进行查询。
若商品存在则返回查询结果,若不存在则不显示。
图3.3查询界面图
图3.4查询结果显示
3.2.4购物管理
(1)查看购物车。
用户可以查看自己的购物车,可以添加或者删除购物车中的商品,可以修改购物车中商品的数量,进行购买。
(2)生成订单。
在浏览商品时,用户可以在查看商品列表或详细信息是将此产品添加到购物车,添加完毕可以选择继续购物或者是结算,若要结算这需要添加购物记录表。
图3.5购物车管理
3.2.5后台管理
(1)订单邮件管理。
设置管理员邮箱地址,包括转发邮件以及管理员接收邮件地址。
图3.6后台管理
(3)商品管理。
包括商品的添加修改删除。
图3.7添加用户
(4)用户管理。
包括用户信息的修改,用户权限的管理,用户删除。
图3.8修改用户权限
第四章.系统分析与设计
4.1系统分析
通过UML语言的用例图,类图以及序列图来分析艾斯医药系统。
4.1.1用例图
用例图显示了系统与系统外实体之间的交互。
项目用例图如图4.1.1所示
图4.1系统用例
4.1.2类图
类图显示了模型的静态结构,特别是模型中存在的类。
类的内部结构以及类与类之间的关系。
系统类图如图4.1.2所示。
图4.2系统类图
4.1.3序列图
序列图的主要作用之一,是把用例图表达的需求进一步,更加正式层次的精细表达。
系统一些功能序列图。
图4.3管理员登陆序列
图4.4用户管理模块修改用户信息序列
图4.5用户管理模块修改用户角色序列
4.2系统设计
本项目中使用了Servlet+JSP+JavaBean技术来实现艾斯医药商务系统的。
在这套技术中JSP作为视图层。
Servlet用于控制用户请求以及调用相应的业务组件,作为控制层。
JSP将数据传送给Servlet,Servlet去调用具体的JavaBean用于处理前端页面JSP的请求,完成具体的业务逻辑过程。
Com.ascent.bean放置处理的JavaBean。
Com.ascent.servlet放置处理请求相应类。
Com.ascent.dao放置处理数据持久化类。
Com.ascent.util放置帮助类和一些其他类。
表4.1Jsp文件实现功能。
文件名称
功能
Index.jsp
首页
Error.jsp
错误页面
Add_products_admin.jsp
添加商品页面
Admin_ordershow.jsp
管理员订单页面
Admin_orderuser.jsp
查看订单用户页面
Admin_prodects_show.jsp
管理员管理商品页面
Changesupersuer.jsp
修改用户角色页面
mailmamager.jsp
邮件管理页面
Oederitem_show.jsp
订单项查询页面
Ordershow.jsp
订单查询页面
Products_show.jsp
商品查看
Products_showuser.jsp
注册用户管理界面
Update_products_admin.jsp
修改商品信息页面
Updateproductuser.jsp
修改用户信息页面
Carthow.jsp
购物车管理页面
Checkout.jsp
结算页面
Checkoutsucc.jsp
结算成功页面
contactUs.jsp
联系我们页面
Employee.jsp
招聘信息页面
Itservice.jsp
公司介绍页面
Product_search.jsp
商品搜索页面
Product_search_show.jsp
商品搜索结果页面
Product_show.jsp
商品信息列表页面
Products.jsp
公司产品介绍页面
Regist_succ.jsp
注册成功页面
Register.jsp
注册页面
表4.2Servlet中包含的类。
文件名称
功能
文件名称
功能
Loginservlet.java
用户登录
productservlet.java
商品管理
mailservlet.java
邮件管理
shopcartservlet.java
购物管理
orderservlet.java
订单管理
usermanagerservlet.java
用户管理
表4.3JavaBean包含的类。
文件名称
功能
文件名称
功能
Mailtb.java
邮件类
product.java
商品类
orderitem.java
订单类
usr.java
用户类
orders.java
用订单类
userproduct.java
用户和商品类
表4.4DAO数据称方法类
文件名称
功能
LoginDAO.java
处理登录和退出
mailDAO.java
处理邮件管理
orderDAO.java
处理订单管理
productDAO.java
处理商品的管理
usermanagerDAO.java
处理用户管理
表4.5Uitl工具类
文件名称
功能
Authitem.java
验证码生成类
cartitem.java
封装商品及购买数量类
DataAccess.java
数据库连接类
DatabaseConfigparser.java
解析数据库配置文件类
Jmyz.java
发送邮件时进行权限控制类
pageBean.java
分页封装
sendmail.java
发送邮件类
SetcharacterEncodingFilter.java
乱码问题处理过滤器
shopcart.java
购物车类
signonFliter.java
是否具有登陆权限的过滤器
XMLConfigParser.java
解析XML类
第五章.数据库设计
5.1数据库概念设计
5.1.1整体E-R图
1.E-R图设计方法
1).属性必须是不可分的数据项。
2).属性不能与其他实体具有联系,联系只能发生在实体之间。
图5.1整体E-R
5.1.2局部E-R图
(1)管理员与用户
图5.2管理员与用户关系
(2)用户与商品
图5.3用户与商品关系
(3)管理员与商品
图5.4管理员与商品关系
5.2数据表关系设计
表5.1mailtb(邮件)表
列名
类型
说明
mid
Int
表示邮件id自增主键
fromaddress
Varchar(35)
发邮件地址
frompassword
Varchar(20)
发邮件密码
toaddress
Varchar(35)
收邮件地址
表5.2orderitem(订单项)表
列名
类型
说明
id
Int
订单项ID,主键自增
orderid
Int
订单ID外键
pid
Int
商品ID外键
quantity
Varchar(50)
商品购买数量
表5.3orders(订单)表
列名
类型
说明
orderid
Int
订单ID,主键自增
uid
Int
客户ID外键
datetime
Varchar(45)
订单创建时间
delsoft
Varchar
(2)
软删除标志1删除,0正常
表5.4product(商品)表
列名
类型
说明
pid
Int
表示商品ID主键自增
product_id
Varchar(32)
表示商品编号
catalogno
Varchar(32)
表示商品分类编号
cas
Varchar(32)
表示商品摘要信息
productname
Varchar(64)
商品名称
structure
Varchar(64)
图片
mdlnumber
Varchar(64)
MDL编号
formula
Varchar(32)
表示化学方程式
mw
Varchar(32)
表示重量
price1
Varchar(32)
价格
price2
Varchar(32)
会员价格
stock
Varchar(32)
表示剩余量
realstock
Varchar(32)
库存量
newproduct
Varchar(32)
是否是新商品
category
Varchar(32)
表示分类名称
note
Varchar(32)
备注
del_flag
Int
软删除标志位
表5.5productuser(用户)表
列名
类型
说明
uid
Int
用户标识ID主键自增
username
Varchar(32)
用户名
password
Varchar(32)
密码
companyname
Varchar(32)
公司名字
city
Varchar(32)
生活城市
job
Varchar(32)
工作
tel
Varchar(32)
电话
email
Varchar(32)
电子邮箱
country
Varchar(32)
国家
zip
Varchar(32)
表示zip
companyaddress
Varchar(32)
公司地址
superuser
Varchar(32)
权限
note
Varchar(32)
备注
fullname
Varchar(32)
全名
title
Varchar(32)
职称级别
del_flag
Int
软删除标志
(6)user_product(用户订单)表
列名
类别
说明
user_product_id
Int
订单ID主键自增
uid
Int
用户ID外键
pid
Int
商品ID外键
第六章.主要功能模块实现
6.1登陆注册功能
6.1.1登陆功能
登陆的用户可以分成两类:
用户和管理员。
登录时并不区分登陆的用户,登录时系统自动匹配是管理员还是普通用户,然后进行权限设置。
登录时当用户输入错误时会进行提醒,是账号不存在,密码错误或是没有输入,登陆后会用session保存用户名,当退出登录时,调用session的session.invalidate();方法清除session里面的内容。
publicvoiduserLogin(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
{
Stringname=request.getParameter("username");
Stringpassword=request.getParameter("password");
LoginDAOLd=newLoginDAO();
Productuserpuser=Ld.logIn(name,password);
if(puser==null)
{
this.doError(request,response,"productuserL_tip.login.fail");
}
else
{
Stringsuperuser=puser.getSuperuser();
HttpSessionmysession=request.getSession(false);
mysession.setAttribute("productuser",puser);
if(superuser.equals("1")){this.doBrowse(request,response,"/product/products.jsp");
}elseif(superuser.equals("2")){this.doBrowse(request,response,"/product/products.jsp");
}elseif(superuser.equals("3")){ListallProductList=Ld.getAllUser();
mysession.setAttribute("allproductlist",allProductList);
this.doBrowse(request,response,"/product/products_showusers.jsp");
}
}
}
publicvoidloginOut(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
{
HttpSessionsession=request.getSession(false);
session.invalidate();
this.doBrowse(request,response,"/index.jsp");
}
图6.1登录模块
6.1.2注册功能
注册功能运用了正则表达式,会对用户输入的信息进行检测,而且带“*”的为必填项。
functioncheck(){
if(form.username.value=="")
{
alert("用户名不能为空!
");
form.username.focus();
returnfalse;
}
if(form.password.value=="")
{
alert("请输入密码!
");
form.password.focus();
returnfalse;
}
if(form.password2.value=="")
{
alert("请再次输入密码!
");
form.password2.focus();
returnfalse;
}
if(form.password.value!
=form.password2.value){
alert("两次输入的密码不一致!
");
form.password2.focus();
returnfalse;
}
if(form.email.value=="")
{
alert("请输入邮件!
");
form.email.focus();
returnfalse;
}
varregm=/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;//验证Mail的正则表达式,^[a-zA-Z0-9_-]:
开头必须为字母,下划线,数字,
if(form.email.value!
=""&&!
form.email.value.match(regm))
{
alert("邮件格式不对,检查后重新输入!
");
form.email.focus();
returnfalse;
}
if(form.code.value==""){
alert("请输入验证码!
");
form.code.focus();
returnfalse;
}
else
returntrue;
}
图6.2添加用户
6.2购物车功能
购物车功能,可以加入购物车,结算下订单。
6.3购买物品
图6.4购物车管理
图6.5订单查询
6.3商品查询功能
商品查询功能:
可以通过商品分类,商品名称,商品简介,商品MDL编号等查询。
商品分类
摘要信息
名称
MDLNumber
化学方程式
图6.5商品查询功能
图6.6商品查询结果
6.4后台管理功能
6.4.1用户管理
用户管理功能可以对用户进行添加修改和删除,设置用户的权限。
当删除角色时候可以进行软删除,删除后可以进行恢复。
图6.7用户管理
6.4.2商品管理
商品管理:
可以进行商品的添加修改和删除,添加商品时可以选择商品是新进商品还是以前已有的商品。
图6.8添加商品功能
6.4.3邮件管理
邮件管理:
管理客户发来的订单请求邮件,然后发送邮件,告知用户货物应经运送。
图6.9发送邮件功能
第七章.心得体会
课程设计是培养学生综合运用所学知识,发现提出分析和解决实际问题,锻炼实践能力的重要环节是对学生实际工作能力的具体训练和考察过程本次课程设计虽然很辛苦,实在是受益匪浅。
本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。
理论和实践的相结合是学习最有效的方法。
在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故回顾起此次课程设计,至今我仍感慨颇多,的确,从拿到老师给我们的题目,然后老师简单的阐述我们该做些什么,该完成些什么的时候,我就觉得这个课程设计是很有挑战的,因为我知道平时自己学的知识不是很牢固,这些做起来肯定很棘手。
事实验证了我的想法。
在整整一星期的日子里,可以说得是苦多于甜,由于对相关知识所学甚少,可以说做起设计来是一片茫然。
在设计的过程中遇到问题,可以说得是困难重重,遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
在课程设计中,我真正的清楚了自己的不足,由于自己并没多少知识,别人可以说是通过此次课程设计巩固了以前所学过的知识,而且学