设计说明书设计题目数码商品信息管理系统完成日期 2016年 6 月30 日专业班级计算机15本设计者赵成指导教师张冬姣前言数码商品信息管理系统是生活系统建设的重要组成部分,是提高生活水平的质量和效益的关键环节。
数码商品信息处理的电脑化、网络化,也是实现数码产品管理现代化和信息化的重要内容。
数码商品信息管理系统的内容对于消费者的决策者和管理者来说都至关重要, 所以数码商品信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理,这种管理方式存在着许多缺点,如:效率低,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对商品信息进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高数码商品管理的效率,也是进行科学化、正规化管理,与世界接轨的重要条件。
随着进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。
传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S 结构应用系统,另一种是称为浏览器——服务器的B/S结构应用系统。
而后者的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。
因此,开发一套采用B/S结构的数码商品信息管理系统就成为必要的事情。
本系统正是采用B/S结构开发的,该系统主要由商品信息添加,商品信息查询,商品信息修改和商品信息删除等功能模块组成,实现数码商品信息管理。
本文将在后面一一加以详细阐述。
第一章需求分析本系统主要是针对商品信息进行管理,本系统满足以下几点要求:1.系统安全性。
由于该系统的使用对象多,要求有较好的权限管理。
不同权限进入不同的界面,为了防止数据的并发现象的出现,数据的编辑必须由合法用户来操作,并对每个商品的信息进行良好的保密。
2.系统内容的全面性。
商品信息管理系统不仅是对商品的基本信息进行管理,还包过商品的查询和修改等,因此,本系统能够很好的满足用户对商品的信息进行完善、统一的管理。
3.系统灵活性。
要求有良好的人机界面,操作简单(数据的添加、删除、修改、查询等方便快捷)。
4.可扩展性。
站点的数据承载量、功能模块的单个或整体调整都可以满足变化的需要,这种适应性称为可扩展性。
固定资产管理系统的可扩展性,体现在不同用户群需要处理不同类型的数据、数据与用户之间进行交互、数据要符合个用户的使用需求、多表查询系统化、避免性能下降等方面。
5.易维护性。
本系统采用B/S结构,系统的升级只需要在服务器端完成,更新软件系统的数据库、文件也只需要更新服务器端即可。
在进行系统的维护时,只需要远程登录服务器系统,减少了维护系统的成本和周期。
第二章总体设计本课题研究内容为数码商品信息管理系统,数码商品信息管理系统提供了强大的商品管理功能,方便管理员对商品信息的添加、修改、删除、查询等操作。
本系统开发的总体任务是实现数码商品信息管理的系统化、规范化、自动化、达到提高商品信息管理效率的目的。
主要内容包过:1.商品信息管理模块:1. 管理员可以对商品进行添加(包过基本信息)、删除、查看、修改信息。
数码商品信息管理系统主要提供方便高效的管理功能以及网上的信息查阅平台,管理员可以通过该系统查阅相关信息、修改相关信息。
该系统使用JSP编程语言,Microsoft SQL2008数据库以及Apache Tomcat 作为开发平台,运用软件工程思想方法,对系统进行快速有效开发, 系统分为以下几个方向:(1)用户管理。
实现对不同用户分配不同的权限。
(2)数据库连接。
使程序能访问数据库,并能对其中的数据进行操作。
(3)数据录入。
通过程序能实现往数据库中增加记录。
(4)数据查询。
通过各种查询组合实现对数据的精确选取。
(5)数据维护。
包括对数据的修改及删除操作。
系统依据Apache Tomcat构架的运行平台,利用Dreamweaver 进行整体框架的设计,连接数据库,最后进行全面的系统调试而完成。
2.本课题研究的目标及主要特色1.研究目标:建立一个数码商品信息管理系统,实现管理员对商品信息的获取、统计等各环节的计算机管理。
2.主要特点:(1)实现商品信息管理的基本要求,对商品进行完善管理。
(2)界面友好,简单易用。
(3)系统操作简单,功能强大,易于维护。
3.系统示例图第三章数据库设计在本系统中使用的是SQL Server2008数据库管理系统。
本系统使用的数据库名为shuma,下面具体讲解数据库中各数据表的创建和逻辑结构.1.总体表设计er表:记录管理员信息;2.sp表:记录商品信息;2.数据库表的结构User-表列名数据类型允许null值userName nchar(10) 否password nchar(10) 否Sp-表列名数据类型允许null值spmc numeric(18, 0) 否mc nvarchar(50) 否sb nvarchar(50) 否xh nvarchar(50) 否jg numeric(18, 0) 否3.数据库连接JDBC是Java数据库连接(Java Data Base Connectivity)技术的简称,是为各种常用的数据库提供无缝连接的技术。
JDBC定义了Java语言同各种SQL数据之间的应用程序设计接口(API),提高了软件的通用性。
JDBC的关键技术是数据库连接驱动程序,针对这点大量的数据库厂商和第三方开发商支持Java的JDBC的标准,并开发了不同的数据库JDBC驱动程序。
本系统正是利用JDBC-ODBC Bridge驱动程序来连接数据库的。
第四章详细设计与实现1.登入界面由于系统设置了2个不同的权限,所以登入时首先应该对权限进行判断,然后对所属权限范围内的用户进行用户名和密码验证,验证成功才进入相应的页面。
图4-1 登录输入用户名密码错误判断正误进入系统正确Login 登录页面代码<%@page import="java.sql.*"%><%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html><html><head><title>商品信息管理系统--登录页面</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><!-- <body background="image/login.jpg">--><body background="images/beijing1.jpg"><br><br><br><center><form action="main.jsp" method="post"><table border="0"><tr><td><tr height="130"><td align="center"> 用户名<input type="text" name="userName" size="20" ><br><br> 密 码<input type="password" name="password" size="20"><br><br><input type="submit" value="登录" size="12"/> <input type="reset" value="清除" size="12"/></td></tr></td></tr></table></form></center></body></html>2.主页面图4-2主页面部分主要代码main.jsp<body><div class="header"><center> <div class="header"><h4><strong><font size="70"> 数码商品信息管理</font ></strong></h4><!-- end .header --></div></center><div class="sidebar1"><ul class="nav"><li><a href="NewStu.jsp">商品信息添加</a></li><li><a href="QueryStu.jsp">商品信息查询</a></li><li><a href="Login.jsp">返回登录页面</a></li></ul></body>3.添加商品信息页面图4-3添加商品页面主要代码NewStu.jsp<%@page import="java.sql.*"%><%@page contentType="text/html" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>输入要添加商品的信息</title></head><body bgcolor="CCCFFF"><a href="main.jsp">返回主页</a><%Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");String url="jdbc:sqlserver://localhost:1433;databasename=shuma";String user="sa";String password="root";Connection conn= DriverManager.getConnection(url,user,password);Statement stmt=conn.createStatement();*%><br><br><center><form action= "NewStuCheck.jsp" method="post"><h2>输入要添加商品的信息</h2><hr><table border="0" width="200"><tr><td>商 品 编 号</td><td><input type="text" name="spbh"></td></tr><tr><td>名称</td><td><input type="text" name="mc" ></td></tr><tr><td>商标</td><td><input type="text" name="sb"></td></tr><tr><td>型号</td><td><input type="text" name="xh"></td></tr><tr><td>价格</td><td><input type="text" name="jg"></td><tr><td><input name="sure" type="submit" value="提交"></td><td><input name="clear" type="reset" value="取消"></td></tr></table></form></center></body></html>添加商品信息后页面图4-4添加商品信息后页面主要代码NewStuCheck.jsp<table border=2 bgcolor="ccceee" align="center"><tr><th>商品编号</th><th>名称</th><th>商标</th><th>型号</th><th>价格</th></tr><%Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Stringurl3="jdbc:sqlserver://localhost:1433;databasename=shuma";String user3="sa";String password3="root";Connection conn3= DriverManager.getConnection(url3,user3,password3); Statement stmt3=conn3.createStatement();String sql3="select * from sp";ResultSet rs=stmt3.executeQuery(sql3);while(rs.next()){%><tr><td><%=rs.getString("spbh")%> </td><td><%=rs.getString("mc")%> </td><td><%=rs.getString("sb")%> </td><td><%=rs.getString("xh")%> </td><td><%=rs.getString("jg")%> </td></tr><%}rs.close();stmt3.close();conn3.close();%></table>4.查询页面图4-5查询页面主要代码QueryStu.jsp<table border=2 bgcolor="ccceee" align="center"><tr><!-----------------------------显示表头--------------------------------------------><th>商品编号/th><th>名称</th><th>商标</th><th>型号</th><th>价格</th></tr><%/*---------------------------------------连接数据库并查询-----------------------*/Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Stringurl="jdbc:sqlserver://localhost:1433;databasename=shuma";String user="sa";String password="root";Connectionconn=DriverManager.getConnection(url,user,password);Statement stmt=conn.createStatement();String sql="select * from sp";ResultSet rs=stmt.executeQuery(sql);while(rs.next()){%><!-------将查询结果投放至表格中显示-------------------------------------><tr><td><%=rs.getString("spbh")%> </td><td><%=rs.getString("mc")%> </td><td><%=rs.getString("sb")%> </td><td><%=rs.getString("xh")%> </td><td><%=rs.getString("jg")%> </td><!-------用来进行修改删除命令发起的按钮,自带指示位置的数据-----> <td><form action="UpdateStu.jsp" method="post"><inputtype="hidden"name="spname" value="<%=rs.getString("spbh") %>"> <input type="submit" value="修改" name="submit"></form><form action="DeleteStu.jsp" method="post"><input type="hidden" name="spname" value="<%=rs.getString("spbh") %>"><input type="submit" value="删除" name="submit"></form></td></tr><%}%><%/*------------关闭与数据库的连接---------------------------*/rs.close();stmt.close();conn.close();%></table>5.修改页面图4-6修改页面主要代码<tr><!--------------------显示表头------------------------------------><th>商品编号/th><th>名称</th><th>商标</th><th>型号</th><th>价格</th></tr><%/*----------------------连接数据库并查询--------------------*/ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Stringurl="jdbc:sqlserver://localhost:1433;databasename=shuma";String user="sa";String password="root";Connectionconn=DriverManager.getConnection(url,user,password);Statement stmt=conn.createStatement();String sql="select * from sp";ResultSet rs=stmt.executeQuery(sql);while(rs.next()){%><!---------------将查询结果投放至表格中显示----------------><tr><td><%=rs.getString("spbh")%> </td><td><%=rs.getString("mc")%> </td><td><%=rs.getString("sb")%> </td><td><%=rs.getString("xh")%> </td><td><%=rs.getString("jg")%> </td><!-----用来进行修改删除命令发起的按钮,自带指示位置的数据----> <td><form action="UpdateStu.jsp" method="post"><input type="hidden" name="spname" value="<%=rs.getString("spbh") %>"><input type="submit" value="修改" name="submit"></form><form action="DeleteStu.jsp" method="post"><input type="hidden" name="spid" value="<%=rs.getString("spbh") %>"> <input type="submit" value="删除" name="submit"></form></td></tr><%}%><%/*-----------------------关闭与数据库的连接---------------*/rs.close();stmt.close();conn.close();%></table><%/*-------连接数据库并查询学生表中指定数据-------------------*/ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")String url3="jdbc:sqlserver://localhost:1433;databasename=shuma";String user3="sa";String password3="root";Connection conn3=DriverManager.getConnection(url3,user3,password3);Statement stmt3=conn3.createStatement();String spname=request.getParameter("spname");/*获取QueryStu或UpdateStu页面的修改按钮所提交的数据*/ String sql3="select * from sp where spbh="+spname+"";ResultSet rs3=stmt3.executeQuery(sql3);rs3.next();%><!-----------创建用于提交修改后的数据的表单并先将旧数据填----------------><form action= "UpdateStuCheck.jsp" method="post"><h2>输入要添加商品的信息</h2><input type="hidden" name="spbh" value="<%=rs3.getString("spbh") %>"> <table border="0" width="200"><tr><td>商 品 编 号</td><td><input type="text" value="<%=rs3.getString("spbh") %>" name="spbh"></td><td>名 称</td><td><input type="text" value=<%=rs3.getString("mc") %> name="mc" ></td></tr><tr><td>商 标</td><td><input type="text" value=<%=rs3.getString("sb") %> name="sb"></td> <td>型 号</td><td><input type="text" value=<%=rs3.getString("xh") %> name="xh"></td> </tr><tr><td>价 格</td><td><input type="text" value=<%=rs3.getString("jg") %> name="jg"></td> <tr>td><input name="sure" type="submit" value="提交"></td><td><input name="clear" type="reset" value="取消"></td>修改商品信息后提交完页面图4-7主要代码UpdateStuCheck.jsp/*---------------------------------把来自UpdateStu页面的数据提取出来----------*/tring spbh=request.getParameter("spbh");byte b[]=spbh.getBytes("ISO-8859-1");pbh=new String(b,"UTF-8");String mc=request.getParameter("mc");byte b1[]=mc.getBytes("ISO-8859-1");mc=new String(b1,"UTF-8");String sb=request.getParameter("sb");byte b2[]=sb.getBytes("ISO-8859-1");sb=new String(b2,"UTF-8");String xh=request.getParameter("xh");byte b3[]=xh.getBytes("ISO-8859-1");xh=new String(b3,"UTF-8");String jg=request.getParameter("jg");byte b4[]=jg.getBytes("ISO-8859-1");jg=new String(b4,"UTF-8");/*---------------连接数据库并修改商品表中指定商品的数据-------------------*/Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Stringurl="jdbc:sqlserver://localhost:1433;databasename=shuma";String user="sa";String password="root";Connection conn= DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement();String sql="update sp set mc='"+mc+"',sb='"+sb+"',xh='"+xh+"',jg="+jg+" where spbh="+spbh+"";stmt.executeUpdate(sql);stmt.close();conn.close();%><h3>已更改商品信息</h3><h3>经过以上操作后,数据库中有以下记录</h3><hr><table border=2 bgcolor="ccceee" align="center"><tr><!-------------------------显示表头---------------------------------------><th>商品编号</th><th>名称</th><th>商标</th><th>序号</th><th>价格</th></tr><%/*-----------------连接数据库并查询-----------------------------------------*/ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");String url3="jdbc:sqlserver://localhost:1433;databasename=shuma";String user3="sa";String password3="root";Connection conn3= DriverManager.getConnection(url3,user3,password3);Statement stmt3=conn3.createStatement();String sql3="select * from sp";ResultSet rs=stmt3.executeQuery(sql3);while(rs.next()){%><!----------------将查询结果投放至表格中显示-------------------------------------><tr><td><%=rs.getString("spbh")%> </td><td><%=rs.getString("mc")%> </td><td><%=rs.getString("sb")%> </td><td><%=rs.getString("xh")%> </td><td><%=rs.getString("jg")%> </td><!---------用来进行修改删除命令发起的按钮,自带指示位置的数据--------------><td><form action="UpdateStu.jsp" method="post"><input type="hidden" name="spname" value="<%=rs.getString("spbh") %>"><input type="submit" value="修改" name="submit"></form><form action="DeleteStu.jsp" method="post"><input type="hidden" name="spid" value="<%=rs.getString("spbh") %>"> input type="submit" value="删除" name="submit"></form></td></tr><%/*-----------------------关闭与数据库的连接-----------------------------*/}rs.close();stmt3.close();conn3.close();%>6.删除页面图4-8删除页面主要代码<td><%=rs.getString("spbh")%> </td><td><%=rs.getString("mc")%> </td><td><%=rs.getString("sb")%> </td><td><%=rs.getString("xh")%> </td><td><%=rs.getString("jg")%> </td><!-------用来进行修改删除命令发起的按钮,自带指示位置的数据-----------><td><form action="UpdateStu.jsp" method="post"><input type="hidden" name="spname" value="<%=rs.getString("spbh") %>"><input type="submit" value="修改" name="submit"></form><form action="DeleteStu.jsp" method="post"><input type="hidden" name="spid" value="<%=rs.getString("spbh") %>"> <input type="submit" value="删除" name="submit">第五章.心得体会课程设计是一个重要的教学环节,通过课程设计使我们了解到一些实际与理论之间的差异。