数据库原理及应用课程设计报告.docx
- 文档编号:9384806
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:32
- 大小:1.11MB
数据库原理及应用课程设计报告.docx
《数据库原理及应用课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库原理及应用课程设计报告.docx(32页珍藏版)》请在冰豆网上搜索。
数据库原理及应用课程设计报告
2014-2015学年第2学期
数据库原理及应用
课程设计报告
课题名称:
专业:
班级:
学号:
姓名:
指导教师:
课程设计任务及进度表
课题名称
二手图书交易系统
设计目的
通过对二手图书交易系统的设计开发,了解数据库的设计与开发的全过程,达到巩固数据库理论知识、锻炼实践能力和构建合理知识结构的目的
实验环境
操作系统:
Windows7;
数据库管理系统:
SQLServer2008;
编译环境:
JSP
任务要求
1.搜集二手图书问题方面的资料,进行需求分析;
2.完成概念设计、逻辑设计等各阶段的设计;
3.编写程序代码,进行系统调试;
4.撰写课程设计报告
工作进度计划
序号
起止日期
工作内容
1
2015.03.16-2.15.03.31
查询资料、选择课题
2
2015.04.01-2015.04.30
需求分析、总体设计
3
2015.05.01-2015.06.27
系统整体设计、编写程序代码、调试程序
4
2015.06.28-2015.07.02
撰写课程设计报告
二手图书交易系统
【摘要】设计报告论述了分析、开发、设计一个二手图书交易系统的过程。
该系统为帮助师生以最小的代价和最快捷的方式实现二手书的交易,用户可以自己销售图书,管理自己的图书,该系统以本校师生二手书记网上交易为中心,兼顾区域跨校交易,实现了校园二手书籍网上交易所需的功能。
该系统采用myecilpse、DreamweaverCS5作为开发平台,开发语言为java,采用JSP动态网页技术标准开发而成,搭配SQLServer数据库技术,后台的数据库则使用MicrosoftSQLServer2008管理平台数据。
该系统主要由前台管理和后台管理两部分构成,前台主要完成的功能是首页、新书上架、图书分类、购物车、订单查询、我的图书管理(添加图书、修改自己上传的图书信息)、我的订单管理(查看、执行他人购买我的图书);后台的主要功能图书管理(添加、删除、查询、修改图书信息)、用户管理(添加、删除、查询、修改用户信息)、订单管理(查看、执行订单)、公告管理(添加、删除公告信息)。
该系统的各项功能经测试都达到了预定的效果,可以实现用户在该二手图书交易网站上销售、浏览或购买的功能。
关键词:
二手图书交易系统;Java;JSP;校园
【Abstract】Thedesignreportdescribestheprocessofanalyzing,developinganddesigningasecond-handbooktradingsystem.Thesystemforteachersandstudentstohelpwiththeminimumcostandthemostefficientwaytoachievetransactionsofsecond-handbooks,userscanownbooksalesandtheirownbooksmanagement,thesystemtotheSecondSecretaryoftheschoolteachersandstudentsinonlinetransactionsasthecenter,andtakingintoaccounttheregionalInterdistricttransactions,therealizationofthecampussecond-handbooksonlineexchangefunction.Thesystemusesmyecilpse,DreamweaverCS5asadevelopmentplatform,developmentlanguageforJavabyJSPdynamicwebtechnologystandardsand,pairedwithSQLServerdatabasetechnology,thebackstagedatabaseusingMicrosoftSQLServer2008managementplatformdata.Thesystemmainlyconsistsoftwoparts,thefrontandbackofficemanagement,frontdeskismainlytocompletethefunctionishomepage,bookshelves,classificationofbooks,shoppingcart,orderinquiries,mylibrarymanagement(addbooks,modify,uploadyourownbookinformation),Iordermanagement(view,carryontheothertobuymybook);backgroundofthemainlibrarymanagementfunctions(add,delete,query,modifythebooksinformation),usermanagement(add,delete,query,modifyuserinformation),ordermanagement(see,executiveorders),bulletinmanagement(add,delete,informationbulletin).Eachfunctionofthesystemhasachievedthepredeterminedeffect,whichcanrealizethefunctionoftheusertosell,browseorbuyonthesecond-handbooktradewebsite.
Keywords:
Second-handbooktradingsystem;Java;JSP;Campus
1需求分析
1.1系统现状
随着社会经济和Web技术的发展,越来越多的学生喜欢在网上购物。
用户可以在网上查询自己所需要的购物信息,足不出门就可以了解各方面的信息。
用户都希望能够通过方便、快捷的方式销售和购买物品。
在大学每年的毕业季学生就会把书本扔掉或者当做废旧品卖掉或者带回家,很少人会把课本二手销售给学弟学妹,因为那样很麻烦也浪费时间,所以他们缺少的是一个自由交易的平台。
实际上,网上交易与真实的交易是相同的,不同的是前者是买卖双方通过一个网络虚拟的平台来实现。
网上交易为学生提供更广阔的环境,可以不受时间的限制,不受空间的限制,可以随时随地在网上交易。
1.2用户需求
二手图书交易系统利用网络的优势实现二手图书在线销售管理,主要实现用户注册、用户信息管理、用户图书销售管理、购买订单管理等功能。
与传统方式相比,采用网上交易具有以下优势:
1.信息量大。
与传统书目报相比,网上交易能够提供海量图书信息。
2.书目信息丰富。
网上交易都提供尽可能完整详细的书目信息。
3.便于用户销售、购买图书。
这是一个自由的平台,由用户自行买卖。
2系统功能分析
2.1系统功能概述
2.11用户功能区
注册功能:
该功能主要为用户销售、购买图书而设立。
用户登录功能:
用户登录后才可以实现利用购物车、订单查询、上传销售图书、管理自己上传销售的图书。
修改资料功能:
用户可以修改自己的个人信息。
新书上架功能:
用户可以了解最近上架的图书,也可以设计自己上传销售的图书为新上架图书。
图书分类功能:
让用户能够更快地查找到购买图书的类型。
购物车功能:
可以存放用户感兴趣的图书。
订单查询功能:
用户查询自己购买的图书的订单信息。
我的图书管理功能:
用户可以添加、修改、删除自己的销售图书信息。
我的订单管理功能:
用户可以查看、执行他人购买自己的图书的订单信息。
网站公告功能:
让用户了解网站最新的动态。
查看功能:
可以查看图书的详细信息。
搜索功能:
当用户需要查找某一本图书或某一类图书时,输入点击即可查询到图书。
购买功能:
用户可以根据自己的需求购买图书。
2.12管理员功能区
管理员登录功能:
管理员登录后才能进行其他操作。
图书管理功能:
管理员可以添加、修改、删除、查看图书信息。
用户管理功能:
管理员可以修改、查看、冻结\解冻用户信息。
订单管理功能:
管理员可以查看、执行订单。
公告管理功能:
添加、删除公告内容。
2.2系统功能模块设计
二手图书交易系统中的各功能模块如图2.1所示。
二手图书交易系统
用户注册模块
用户登录模块
新书上架模块
图书分类模块
购物车模块
订单管理模块
图书管理模块
图书查找模块
用户信息管理模块
公告管理模块
图2.1系统功能模块图
(1)用户注册模块:
用户填写账户信息,账户信息包括用户名、真实姓名、地址、电话、电子邮箱等。
用户点击注册;跳转到注册页面;用户填写相应的信息(检测该用户名是否会已经使用);全部填写完成后点击完成注册;在数据库会员信息表中增添一个用户。
(2)用户登录模块:
根据用户帐号和密码登录,如果是已有用户,输入账号密码直接登录,如果是新的用户,点击注册按钮进入用户注册页面。
用户在登录页面上输入用户名和密码;系统获取输入数据,与数据库中的用户名和密码进行匹配;匹配失败,则显示“用户名或密码有误或被冻结”;匹配成功,跳到首页。
(3)新书上架模块:
用户点击新书上架,进入新书页面可以查看新书的书名出版社,可以点击购买,点击书名可以进入图书详细信息页面。
(4)图书分类模块:
用户点击图书分类,进入图书分类页面,点击图书分类列表可以打开该系列丛书页面,可以点击购买,点击书名可以进入图书详细信息页面。
(5)购物车模块:
当用户点击购物车,进入购物车页面查看自己要购买的的图书。
其中包括购买的书号、书名、单价、数量、退回、清空购物车等。
(6)订单管理模块:
用户点击订单查询可以查看自己购买的图书的订单详情;点击我的订单管理可以管理他人购买自己图书的订单;管理员可以查看订单详情,对你订单执行。
(7)图书管理模块:
用户可以对自己的图书增、删、查、改;管理员可以对所有图书增、删、查、改;
(8)图书查找模块:
用户在搜索框输入并点击搜索,即可进入搜索页面;搜索出来的图书实现分页处理;点击你喜欢的图书即可进入图书详细信息的页面。
(9)用户信息管理:
登陆成功,管理员或用户可以查询用户信息,管理员可以对用户冻结\解冻,用户可以对自己的信息进行修改和保存。
(10)公告管理模块:
管理员可以增加或删除公告内容。
该系统主要分为两大功能模块。
1.前台系统功能模块
2.后台系统功能模块
3系统总体设计
3.1系统总体流程图
否
是
是
否
3.2前台系统结构
否
是
3.3后台系统结构
否
是
4数据库设计
4.1数据库的概念设计
1.局部概念设计
各个实体的局部E-R模型:
2.全局概念结构设计
全局E-R图:
11
N
MN
4.2数据库的逻辑设计
1.将实体转化为关系模式
(1)用户关系模式为用户(用户编号,用户名称,用户真实姓名,用户密码,用户所在城市,用户地址,邮政编码,证件号码,证件类型,用户等级,消费额,联系电话,邮箱,是否为冻结)。
(2)管理员关系模式为管理员(管理员编号,管理员名称,管理员密码)。
(3)图书关系模式为图书(图书编号,图书名称,图书类型,出版社,作者,图书介绍,图书价格,出版日期,图书封面,录入时间,是否为新书,是否为推荐,上传用户)。
(4)订单关系模式为订单(订单编号,订购数量,订购人名称,订购人真实姓名,订购人地址,邮政编码,联系电话,邮箱,付款方式,邮寄方式,折扣,订购日期,备注,是否已执行)。
(5)订单详情关系模式为订单详情(订单详情编号,订单编号,图书编号,图书单价,订购数量)。
(6)公告关系模式为公告(编号,公告内容,录入时间)。
2.将联系转化为关系模式
订单关系模式:
订单(订单编号,订购数量,订购人名称,订购人真实姓名,订购人地址,邮政编码,联系电话,邮箱,付款方式,邮寄方式,折扣,订购日期,备注,是否已执行,用户编号,管理员编号)。
订单明细关系模式:
订单明细(订单编号,图书编号,数量)
4.3数据库的物理设计
1.用户表
2.管理员表
3.图书表
4.订单表
5.订单详情表
6.公告表
5应用程序设计
5.1系统设计总体思路
二手图书交易系统采用多层结构实现,数据库访问代码放在src目录下,用户层代码放在WebRoot目录下,管理员层代码放在WebRoot目录下的manage文件中。
系统提供了访问数据库的通用类,放在src目录下的beans中文件名为connDB.java,其代码如下:
packagebeans;
importjava.io.PrintStream;
importjava.sql.*;
publicclassconnDB
{
privatestaticConnectionconn=null;
privatestaticStatementstmt=null;
privatestaticResultSetrs=null;
privatestaticfinalStringdriverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";
privatestaticfinalStringURL="jdbc:
sqlserver:
//127.0.0.1:
1433;DatabaseName=db_bookmanage";
privatestaticfinalStringuser="sa";
privatestaticfinalStringpwd="123456";
publicconnDB()
{
try{
Class.forName(driverClass);
conn=DriverManager.getConnection(URL,user,pwd);
}catch(Exceptione){
e.printStackTrace();
}
}
publicResultSetexecuteQuery(Stringsql)
{
try{
stmt=conn.createStatement(1004,1007);
rs=stmt.executeQuery(sql);
}
catch(SQLExceptionex)
{
System.err.println(ex.getMessage());
}
returnrs;
}
publicintexecuteUpdate(Stringsql)
{
intresult=0;
try
{
stmt=conn.createStatement(1004,1007);
result=stmt.executeUpdate(sql);
}
catch(SQLExceptionex)
{
result=0;
}
returnresult;
}
publicintexecuteUpdate_id(Stringsql)
{
intresult=0;
try
{
stmt=conn.createStatement(1004,1007);
result=stmt.executeUpdate(sql);
StringID="select@@IDENTITYasid";
rs=stmt.executeQuery(ID);
if(rs.next())
{
intautoID=rs.getInt("id");
result=autoID;
}
}
catch(SQLExceptionex)
{
result=0;
}
returnresult;
}
publicvoidclose()
{
try
{
if(rs!
=null)
rs.close();
if(stmt!
=null)
stmt.close();
if(conn!
=null)
conn.close();
}
catch(Exceptione)
{
e.printStackTrace(System.err);
}
}
}
本系统的页面设计采用层叠样式表(CSS),在本系统中,所有页面共同调用一个CSS文件。
该文件放在CSS目录下,文件名style.css,其代码如下:
--
td{
font-size:
9pt;color:
#000000;
}
a:
hover{
font-size:
9pt;color:
#FF6600;
}
a{
font-size:
9pt;text-decoration:
none;color:
#676767;
noline:
expression(this.onfocus=this.blur);
}
img{
border:
0;
}
.blue{
font-size:
9pt;color:
#034683;
}
.bgcolor{
font-size:
9pt;color:
#1980DB;
}
.btn_grey{
font-family:
"宋体";font-size:
9pt;color:
#333333;
background-color:
#eeeeee;cursor:
hand;padding:
1px;height:
19px;
border-top:
1pxsolid#FFFFFF;border-right:
1pxsolid#666666;
border-bottom:
1pxsolid#666666;border-left:
1pxsolid#FFFFFF;
}
input{
font-family:
"宋体";
font-size:
9pt;
color:
#333333;
border:
1pxsolid#999999;
}
.word_grey{
color:
#333333;
}
.word_deepgrey{
color:
#999999;
}
.word_orange{
color:
#FF6600;
}
.word_blue{
color:
#123F73;
}
.word_white{
color:
#FFFFFF;
}
.word_gray{
color:
#dddddd;
}
body{
margin:
0px;
background-image:
url(../Images/bg.gif);
}
.textarea{
font-family:
"宋体";
font-size:
9pt;
color:
#333333;
border:
1pxsolid#999999;
}
.shadow{
font-size=13pt;
filter:
DropShadow(Color=#111111,offX=1,offY=0,positive=1);
height:
10;color:
#FF9900;
}
.tableBorder_B{
padding:
5px;
border-bottom:
#aaaaaa1pxsolid;
}
.tableBorder_B1{
border-bottom-width:
1px;
border-bottom-style:
dotted;
border-bottom-color:
#CCCCCC;
}
.tableBorder_LTR{
padding:
5px;
border-left:
#aaaaaa1pxsolid;
border-top:
#aaaaaa1pxsolid;
border-right:
#aaaaaa1pxsolid;
}
.tableBorder_LBR{
padding:
5px;
border-left:
#aaaaaa1pxsolid;
border-bottom:
#aaaaaa1pxsolid;
border-right:
#aaaaaa1pxsolid;
}
.tableBorder_L{
padding:
5px;
border-left:
#aaaaaa1pxsolid;
}
.tableBorder{
border:
#aaaaaa1pxsolid
}
.noborder{
border-style:
none;
}
.hidden_a_line{
noline:
expression(this.onfocus=this.blur);
}
-->
5.2系统首页
系统首页列出了所有在售图书,用户可以按书名查找需要的书,找到需要的书后单击查看可以打开该书的详细信息。
系统首页
获取系统时间代码:
<%@pageimport="java.text.SimpleDateFormat"%>
<%@pageimport="java.util.Date"%>
<%
DatenowTime=newjava.util.Date();
SimpleDateFormatHMFromat=newSimpleDateFormat("欢迎光临二手图书交易网!
今天是yyyy年M月d日");
StringstrNowTime=HMFromat.format(nowTime);
%>
获取天气代码:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 课程设计 报告