1、盐城工学院本科生毕业设计报告(2009)网站设计与开发课程设计报告库存物资管理系统的实现专业计算机科学与技术(网络技术)学生姓名班级计算机131学号任课教师完成日期2016年1月23日成绩批改日期2016年1月日1库存物资管理系统摘 要:随着科学技术的不断发展,计算机网络技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管理成了一项十分重要的工作。人工管理仓库既费时又费力,而且容易造成混乱,严重时会影
2、响商城、企业的正常运作,造成恶劣的后果。随着信息技术的发展,办公自动化的普及,如何快速、高效、便捷的管理仓库受到了高度的关注;因此为了解决这个问题我们提供这个系统以满足仓库管理需求。本系统模拟仓库管理,系统主要针对于日常库存信息的管理,包括录入出入库单据、查询操作、统计操作等处理情况.管理员可以通过相应的模块,对仓库里的物品的基本情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并进行入库和出库操作等。通过库存物资管理系统的设计与实现,使我们巩固和加深对数据库基础理论和基本知识的理解,进一步掌握了使用数据库进行软件设计的基本思想和方法,提高了运用数据库理论解决实
3、际问题的能力,锻炼了实际动手能力、创新能力,培养了调查研究、查阅技术文献、资料、手册以及编写文档的能力。关键词:库存物资管理系统;物资管理;网站;JSP;SQL Server 2005盐城工学院本科生网站设计与开发课程设计报告(2016)目 录1 需求分析21。1 任务概述21。1.1 任务目标21.1。2 用户特点21.1.2 假定和约束21。2 需求规定21。2.1 功能需求21.2。2 性能需求31。2。3 接口需求31.3 数据流图31。4 数据字典51.4。1 数据处理描述51。4.2 数据存储描述51。4。3 数据流描述62。1 总体设计概论82。1。1 设计要求82.1。2 开发
4、结构及工具选择82。2 系统层次图92.2。1 系统功能描述92.3 数据库设计102。3.1 概念设计102。3.2 逻辑设计122.3.3 物理设计123 详细设计133。1 系统主页面133。2 前台管理员模块153.2。1 管理员注册154实现185测试186结速语19参考文献20附录21附录1 源程序清单21附录1.1 系统登录模块21附录1。1。1 管理员登录模块21附录1。1。2 管理员注册模块23附录1。1。3 查询模块26附录1。1。4 统计模块28附录1.1。5 录入模块31库存物资管理系统的实现1 需求分析1。1 任务概述1.1。1 任务目标开发库存物资管理系统可以快速、
5、高效、便捷的管理仓库,解决了人工管理仓库的繁琐,使企业、工厂、超市等运行的更加流畅。1。1。2 用户特点库存物资管理属于工作型的网站,网站的使用者是商城、超市、工厂和企业等,对实际的计算机水平没有很高的要求.1。1.2 假定和约束a) 系统寿命:通过网站的不断更新,理论上没有使用期限的限制。b) 经费限制:数据来源大部分由学校提供,一台计算机即可进行开发。c) 运行平台要求:Windows xp操作系统,Intel Celeron 2.4GHz以上处理器,1GMB以上内存容量,安装IIS5。0组件,并装有IE6.0或以上浏览器.d) 开发期限:4周以内。1.2 需求规定1.2。1 功能需求设计
6、一个简单的库存物资管理系统,可以进行录入出入库单据、查询、统计等简单操作.a) 管理员注册管理员注册个人信息时,需写用户名、密码、性别和电话等信息,其中必须填写用户名和密码,否则注册失败,注册时系统将信息录入到数据库中。b) 管理员登录登录模块首先从当前路径找到数据库文件,然后从“管理员”表中检测输入的用户名和密码是否存在.如果登录成功,显示主页面,否则,清除输入的信息并且停留在本页面.c) 录入入库数据当有新的商品要进入仓库的时候,管理员就需要通过此模块将要入库的商品信息录入到数据库中,以便之后的查询统计等操作.d) 录入出库数据当有商品要出库的时候,管理员就需要通过此模块将要出库的商品信息
7、录入到数据库中,以便之后的查询统计等操作.e) 查询操作管理员可以通过此模块查询出库或者入库的各种商品的详细信息,以便了解各商品的属性及情况。f) 统计操作管理员通过此模块可以了解到各年,各月甚至是一个月的某一天的各种商品的数量,以便了解仓库的总体情况,可相应的做出对策。g) 退出操作当管理员使用此功能时,页面将会回到主页面.1。2。2 性能需求a) 精度需求在精度需求上,根据使用需要,在各项数据的输入、输出及传输过程中,可以满足各种精度的需求。b) 时间需求网站的响应时间、更新处理时间应比较快且迅速.c) 灵活性当用户需求,如操作方式、运行环境与其他软件接口等发生变化时,设计的网站要做适当调
8、整,灵活性非常大。1。2。3 接口需求a) 用户接口图1-1 用户接口实例用户进入首页后点击相应的超链接,即可进行相应栏目信息的浏览,操作方便简单,图11是库存物资管理系统的一个实例。b) 软件接口Microsoft Windows XP操作系统,IE6.0浏览器。1.3 数据流图图12 管理员信息数据流图图1-3入库信息数据流图图1-4入库信息数据流图1.4 数据字典1.4。1 数据处理描述a) 数据处理名:P1.1注册模块处理逻辑:如果管理员注册成功,将跳到主页面b) 数据处理名:P1。2核对密码处理逻辑:将关键字与数据存储内容进行比较,找到匹配的内容 c) 数据处理名:P1。3选择操作类
9、型处理逻辑:有录入单据、查询、统计等功能,可以选择一个进行操作d)数据处理名:P1。4录入单据模块处理逻辑:将新入库的商品信息录入到数据库中或者要出库的商品信息录入到数据库中e) 数据处理名:P1。5查询模块处理逻辑:选择一个商品名称,查询它的相关信息f) 数据处理名:P1.6统计模块处理逻辑:选择一个日期,将显示各商品的数量以便浏览g) 数据处理名:P1.7退出模块处理逻辑:管理员退出登录,回到主页面1.4。2 数据存储描述a) 数据存储名:管理员信息标识符:D1数据结构如表11表11 管理员信息数据结构组成类型长度备注userName字符30账号password字符30密码sex字符2性别
10、phone字符10电话birth字符10生日nation字符10 国籍b) 数据存储名:入库信息标识符:D2简述:管理员将入库的商品信息录入到数据库中 数据结构如表1-2。表12 入库信息数据结构组成类型长度备注spname字符50商品名称product字符50生产厂家modelnumber字符50型号standard字符50规格number字符50数量datedatetime日期time字符50时间instorename字符50入库单位名称sendername字符50送货人姓名c) 数据存储名:出库信息标识符:D3简述:管理员将出库的商品信息录入到数据库中数据结构如表13表1-3出库信息数据
11、结构组成类型长度备注spname字符50商品名称product字符50生产厂家modelnumber字符50型号standard字符50规格number字符50数量datedatetime日期time字符50时间instorename字符50入库单位名称sendername字符50送货人姓名1。4.3 数据流描述a) 数据流名称:注册标识符:F1简述:管理员注册的信息数据结构如表14。表14管理员注册信息数据结构表组成类型长度备注userNameVarchar30账号passwordVarchar30密码sexVarchar2性别phoneVarchar10电话birthVarchar10生日
12、nationVarchar10国籍来源:页面去向:数据库b) 数据流名称:录入标识符:F2简述:管理员将商品信息录入到数据库中数据结构:F1数据结构中的一种来源:处理P1.1去向:数据存储D1c) 数据流名称:账号密码标识符:F3简述:管理员登录需要输入的用户名和密码数据结构:F1数据结构中的一种来源:页面去向:处理P1.2d) 数据流名称:验证标识符:F4简述:将管理员输入的信息与数据库中的存储作比较数据结构:F1数据结构中的一种来源:处理P1。2去向:数据存储D1e) 数据流名称:正确标识符:F5简述:验证成功后进入主页面数据结构:F1数据结构中的一种来源:处理P1.2去向:处理P1。3f
13、) 数据流名称:查询标识符:F7简述:管理员选择的操作类型来源:处理P1。3去向:处理P1.5g) 数据流名称:统计标识符:F8简述:管理员选择的操作类型来源:处理P1。3去向:处理P1.6h) 数据流名称:退出主页面标识符:F9简述:管理员退出主页面,回到登陆页面来源:处理P1。3去向:处理P1.72 总体设计2.1 总体设计概论2。1.1 设计要求系统设计要求通过本网站实现对仓库的基本管理,可以使管理员通过该系统进行一些简单的操作,比如对出入库单据的录入,查询商品信息,统计各种商品某个时期的数量,以便管理员更好的管理仓库.同时要求该系统具有良好的可移植性、通用性和可扩充性.2.1.2 开发
14、结构及工具选择本系统采用B/S(Browser/Server)结构,即浏览器和服务器结构.它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构,所对应的三层分别称为表现层,逻辑层,数据层。a) 表现层表现层又称为界面层,提供给用户一个可视界面,用户可以用来输入数据或获取数据.界面层同时也提供一定的安全性验证,确保用户不会看到机密的信息.B/S结构的表现层就是Web页面。 b) 逻辑层逻辑层也称中间层或中间代理层,
15、是界面层和数据层之间的桥梁。它响应界面层的用户请求,执行任务并从数据层获取数据,然后将必要的数据传递给界面层.逻辑层封装了系统的应用逻辑,应用系统的大部分计算工作在此完成。在/结构中逻辑层表现为类库和存储过程。逻辑层负责同数据库打交道,维护同数据库的连接。采用“数据缓冲”和“代理连接”,逻辑层只需维持较少量的数据连接。逻辑层可以根据不同的应用需要进行分布式计算,故能提供较高性能的数据库应用。c) 数据层数据层负责数据存储,并维护数据的完整性(参照一致性)和安全性。它响应逻辑层的请求,向逻辑层提供数据。这一层通常由大型的数据库服务器实现,如Oracle、DB2、MS SQL Server等。2.
16、2 系统层次图系统层次图用来直观的表示整个系统的功能。本系统层次图如图21所示.库存物资管理管理员注册管理员登录注册信息录入单据查询模块统计模块退出主页面图21 系统层次图2。2.1 系统功能描述a) 注册模块:主要进行管理员的注册,之后管理员可以登录验证进入主页面。b) 入库模块:主要是对入库商品信息的操作,包括录入商品信息,查询商品信息和统计商品的数量.c) 出库模块:主要是对出库商品信息的操作,包括录入商品信息,查询商品信息和统计商品的数量。d) 退出主页面模块:管理员结束操作,回到主页面.2.3 数据库设计2。3。1 概念设计将用户需求抽象为信息结构即概念模型的过程就是概念结构设计.在
17、需求分析阶段得到的应用需求需要抽象为信息世界的结构即概念模型,才能更好的、更准确的实现这些需求。本系统根据前面需求分析得到的实体有:管理员实体,入库单据实体和出库单据实体等.图2-2管理员用户属性图描述了“管理员”这个实体的属性.图2-2管理员实体属性图图23入库单据属性图描述了“入库单据”这个实体的属性,图23入库单据实体属性图图24出库单据属性图描述了“出库单据这个实体的属性,图24出库单据实体属性图各个实体属性之间的关系可以用ER图表示,图25描述的是实体之间的关系的局部E-R图。管理员入库单据录入出库单据录入管理员1nn1图2-5 局部ER图2。3。2 逻辑设计数据库的逻辑设计的任务是
18、基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。根据系统实体属性图及系统基本E-R图设计出关系模式如下:a) 1:n关系:将1方实体的主关键字作为n方实体的外部关键字。管理员(用户名,密码,性别,电话,生日,国籍),主键为用户民.入库单据(商品名称,生产厂家,型号,规格,数量,日期,时间,入库单位名称,送货人姓名),主键为商品名称.出库单据(商品名称,生产厂家,型号,规格,数量,日期,时间,出库单位名称,提货人姓名),主键为商品名称。2。3.3 物理设计为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。数据库在物理设备上的存储结构与存取
19、方法称为数据库的物理结构,它依赖于选定的数据库管理系统。数据库结构设计的好坏将直接对系统的访问效率、稳定性以及实现的效果产生影响。一个设计合理的数据库可以提高数据库的存储速率,保证数据的完整性和一致性。本系统采用SQL SERVER2005数据库,系统数据库名称为Manage。数据库Manage中包含了3张数据表,各个表的属性及字段说明见表21,2-2和23。表2-1管理员信息表字段名字段类型字段长度是否允许为空是否为主键描述userNameVarchar30不允许是账号passwordVarchar30允许否密码sexVarchar2允许否性别phoneVarchar10允许否电话birth
20、Varchar10允许否生日nationVarchar10允许否国籍表22入库信息表字段名字段类型字段长度是否允许为空是否为主键描述spnamevarchar50不允许是商品名称productvarchar50允许否生产厂家modelnumbervarchar50允许否型号standardvarchar50允许否规格numbervarchar50允许否数量datedatetime允许否日期timevarchar50允许否时间instorenamevarchar50允许否入库单位名称sendernamevarchar50允许否送货人姓名表23出库信息表字段名字段类型字段长度是否允许为空是否为主键
21、描述spnamevarchar50不允许是商品名称productvarchar50允许否生产厂家modelnumbervarchar50允许否型号standardvarchar50允许否规格numbervarchar50允许否数量datedatetime允许否日期timevarchar50允许否时间instorenamevarchar50允许否入库单位名称sendernamevarchar50允许否送货人姓名3 详细设计3。1 系统主页面系统主页面上提供了一些商品信息,可以让管理员浏览。管理员登录后还可以录入出入库商品信息。系统主页面如图3-1所示:图31 系统主页面主页面代码如下: head
22、 库存物资管理系统-主页面/title /head frameset cols=”20,* framespacing=”0 border=”no frameborder=”0” frameset rows=”20,10%,” frame src=”top。jsp name=top” scrolling=”no” frame src=”middle.jsp?userName=%=request。getParameter(userName)” name=toop scrolling=”no” frame src=”bottom。jsp” name=main /frameset /frameset/
23、htmlhtml head meta http-equiv=”ContentType” content=text/html; charset=UTF8” JSP Page body bgcolor=”CCCFFF” String userName=request。getParameter(”userName”); a href=”instore。jsp?userName=userName% target=main”录入入库单据/a tda href=outstore。jsp?userName= target=”main录入出库单据/a/td td查询/a/td tda href=”count。
24、jsp?userName=退出主页面/a/td /tr /table /body/html3.2 前台管理员模块3。2.1 管理员注册管理员要想成功的进入系统进行商品信息的查询等操作功能就必须在系统中注册.注册页面如图32所示:图3-2 注册页面注册页面主要代码如下:html head meta http-equiv=ContentType” content=”text/html; charset=UTF-8” titleJSP Page /body管理员注册程序流程图如图3-3所示:注册页面N校验Y登陆页面图33 管理员注册程序流程图4实现主要实现代码见附录.5测试设置好本地服务器信息后,打
25、开IE浏览器,在地址栏输入localhost或者http:/locahost/index。asp进入网站首页,如图51。图51系统主页面点击“退出主页面”,进入登录页面,如图5-2.图5-2 登录页面6结速语通过这次库存物资管理系统的设计,查阅了很多课外资料,不仅掌握了SQL Server 2005数据库的基本操作,而且还了解了NetBeans制作网页的许多发法。经过两个星期的努力终于把库存物资管理系统做完了,通过做这次课程设计我对数据库系统及sql语句和java语言有了更深的认识和理解,把理论知识和实践结合起来,使理论知识得到了运用,同时自己也掌握了知识。经过自己亲手实践后,就会真正明白实践
26、是检验真理的唯一标准。在设计的过程中,我参考了很多有关数据库和java语言的资料,掌握了很多课堂上没有的知识,提高了自己的能力,了解了软件开发的过程,受益匪浅.同时也发现了自己的不足之处并且改正,为以后的工作和学习打下了良好的基础。参考文献1张海藩。软件工程导论M。北京:清华大学出版社,2006。2陈明. 实用软件工程基础M.北京:清华大学出版社,2005.3王珊,萨师煊.数据库系统概论。高等教育出版社,2008.4SQL Server数据库开发经典案列解析,清华大学出版社,2006.5启明工作室,JSP+SQL server网络应用系统开发与实例第1版.北京:人民邮电出版社,2005。6刘廷
27、,刘帆.JSP开发实例完全剖析。北京:中国电力出版社,2006。7吉根林,崔海源。JSP程序设计教程。电子工业出版社,2005。8美)Walther,S.著,马朝晖等译.JSP技术内幕,北京:机械工业出版社 20029美)Mrdula Parihar著,王勇 盖江南 尚红昕等译。JSP宝典,北京:电子工业出版社200210邹建峰 李律松 李晓栓 等著JSP开发技术详解,北京:人民邮电出版社200511彭明柳 Visual Basic。NET彻底研究 北京:中国铁道出版社,200312美)Jones,A。R著,高春蓉等译 JSP与VB。NET从入门到精通。 北京。 电子工业出版社,2002附录附
28、录1 源程序清单附录1。1 系统登录模块附录1。1。1 管理员登录模块 head meta httpequiv=”Content-Type content=”text/html; charset=UTF8 库存物资管理系统-登录页面/title style !- p1fontfamily:华文行楷;fontsize:20pt;color:blue; h1fontfamily: 华文行楷;fontsize:40pt;color:red - /style /head body bgcolor=”99aaee table border=”0” width=”100 cellspacing=”0 ce
29、llpadding=”0” tr bgcolor=”99aaee” td align=”center h2库存物资管理系统/h2 /td /tr tr hr align=”center width=100” size=”20 color=”green” /td /tr tr td width=”30 align=”center” img src=”images/bottom。jpg” alt=”风景 height=”360” /td form action=”LoginServlet。jsp” method=”post” td align=”center” height=”130” 输入用户姓
30、名:br p/p 输入用户密码: td input type=submit value=确 定” nbsp;nbsp;nbsp;nbsp;nbsp; input type=reset” value=”清 除” /td /tr td p align=”centera href=”register。jsp注册/p /td /tr /table %page import=”java.io。”%page import=”javax.servlet。*”%page import=javax。servlet。http。*page import=”java。sql。”page contentType=”te
31、xt/html” pageEncoding=”UTF8%!DOCTYPE htmlhtml head meta http-equiv=”ContentType content=text/html; charset=UTF8” titleJSP Page body String userName=request。getParameter(”userName)。trim(); String password=request。getParameter(”password”)。trim(); Connection con=null; Statement stmt=null; ResultSet rs=null; Class.forName(com.microsoft。sqlser