课程设计报告网上书店参考模版.docx
《课程设计报告网上书店参考模版.docx》由会员分享,可在线阅读,更多相关《课程设计报告网上书店参考模版.docx(21页珍藏版)》请在冰豆网上搜索。
课程设计报告网上书店参考模版
师大学软件学院
小学期课程设计报告
课程名称《c语言程序设计》
课程设计名称
学生姓名
学号
时间2012.6.11至2002.6.22
师大学软件学院制
2012年11月1日
一、课程设计项目概述
二、本的所使用的技术
三、系统分析
四、系统设计
五、系统实施
六、系统测试及结论
七、结束语
一、课程设计项目概述
该项目的目的是开发一个综合,实现《在线书店》的基本功能,如管理图书,网上销售图书等功能。
要求能发布到Internet上。
该采用Jsp+JavaBean+JDBC+SQLServer等技术,服务器端采用Resin(或Tomcat)服务器。
数据库采用MSSQLServe数据库服务器,用户在自己的客户端使用浏览器就可以进行电子书籍的浏览和在线购物(提交订单)。
也就是采用B/S模式。
共有以下三大模块:
(1)第一部分时是用户权限管理,
用户分成管理员和客户两类。
管理员可以对的书籍进行管理,如添加书籍类别,增加书籍,删除,更新书籍商品,查看客户的订单的。
一般客户可以浏览网上的书籍资源,注册客户可以购买书籍,使用购货车进行购物,并形成订单。
(2)第二部分是后台管理部份,后台管理部份将实现如下的功能:
商店图书管理:
添加,修改,删除,查看。
用户信息管理:
查看,修改,删除。
订单信息管理:
查看订单清单,更新订单付款,出货状态。
删除订单。
(3)第三部分时前台部分,这部分将实现如下功能:
图书选购,(可按分类方式查找图书,或通过关键字进行查询);
购物篮功能;
查看图书详细情况;
查看用户的订单信息.;
修改用户个人信息。
二、本的所使用的技术
1、服务器
Resin-2.1.14服务器是当今使用广泛的Servlet/JSP服务器,它运行稳定,性能可靠,对系统资源占有相对较小,在加上本身不大,因为它的效率很高,而且对xml和中文的支持很好。
最新版本是Resin-2.1.14,可以到他的官方站点下载:
.caucho./download/所以Resin-2.1.14服务器是一个很好的选择。
,
DreamweaverMX是Dreamweaver系列的最新产品,它支持jsp、asp和php等嵌入式脚本语言,而且能够很好的完成网页布局,是web开发的最佳选择。
2.JSP技术
JSP(JAVASERVERPAGES)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有其强大而别特的功能。
(1)将容的生成和显示进行分离
在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
(2)生成可重用的组件
绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。
基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
3.MSSQLServe2000简介
SQLServer是微软在Windows系列平台上开发的数据库,区别于FoxPro、Access小型数据库,SQLServer是一个功能完备的数据库管理系统。
它包括支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能。
而像存储过程、触发器等特性,也是大型数据库才拥有的。
本所用到的数据库为SQLServer2000下的indent数据库。
图1
4、JDBC技术
JDBC是一种用于执行SQL语句的JavaAPI,它由一组用Java编程语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯JavaAPI来编写数据库应用程序。
JDBC-ODBC桥使ODBC驱动程序可被用作JDBC驱动程序。
它的实现为JDBC的快速发展提供了一条途径。
在本系统中将采用这一技术,因此在操作系统得ODBC源中必须设置数据源bookshop,把它和上面的indent数据库相联系在一起。
图2
三、系统分析
1、本系统目标和主要活动
本将设计成一个动态,实现在网上进行交易的功能。
用户分成管理员和客户两类。
管理员可以对的书籍进行管理,如添加书籍类别,增加书籍,删除,更新书籍商品,查看客户的订单的。
一般客户可以浏览网上的书籍资源,注册客户可以购买书籍,使用购货车进行购物,并形成订单。
2.系统的功能模块图
图3
下面对各个功能块进行说明:
1)用户管理
用户管理主要功能是用户注册,这样该用户才可以购买书籍。
要求用户提供、地址、联系方式等一系列的信息。
2)前台管理
图书选购,(可按分类方式查找图书,或通过关键字进行查询);
购物篮功能:
用户可以将满意的书籍放入购物篮(也叫购物车)
查看图书详细情况:
用户可以查看商店的图书的详细情况。
查看用户的订单信息.;
修改用户个人信息。
3)后台管理
商店图书管理:
添加,修改,删除,查看。
用户信息管理:
查看,修改,删除。
订单信息管理:
查看订单清单,更新订单付款,出货状态。
删除订单。
3、建立系统逻辑模型
我们采用的是数据流程图来分析系统的系统逻辑模型,在该系统中需要对购物篮的流程作详细的说明。
购物篮部分系统数据流图
图4
其中P1,P2,P3,P4,P5,P6是编号的处理模块。
购物处理数据流图
图5
其中D代表数据存储,F代表数据流
四、系统设计
系统设计是在系统分析的基础上由抽象到具体的过程。
在系统的数据库设计中,首先要对系统分析所得到的数据存储进行分析。
分析各数据存储之间的关系,然后得到系统的关系模式。
在这里,我们使用实体--联系图(E—R图)来描述系统的概念模型,E—R图由实体、属性、联系三部分组成。
1、E-R图
E-R模型图如下图
图6
2、数据库设计
从E-R模型可以转化成关系模型。
共有6个关系,如下:
商店图书关系:
My_Book(Id,BookName,BookClass,Author,Publish,BookNo,Content,Prince,Amount,Leav_number,RegTime)
商店图书类别关系:
My_BookClass(Id,ClassName)
商店管理员关系:
My_BookAdminuser(AdminUser,AdminPass)
购书用户关系:
My_Users(Id,UserName,PassWord,Names,Sex,Address,Phone,Post,Email,RegTime,RegIpAddress)
购物篮订单号关系:
My_Indent(Id,IndentNo,UserId,SubmitTime,ConsignmentTime,TotalPriceconten,IPAddress,IsPayoff,IsSales)
购物篮订单号列表关系:
My_IndentList(Id,IndentNo,BookNo,Amount)
其中各项属性的含义见下面的SQL语言来表达。
该SQL语句可以用来生成数据库的表及其有关记录。
createtableMy_Book(--商店图书表
Id[INT]IDENTITY(1,1)NOTNULL,--ID序列号
BookNamevarchar(40)NOTNULL,--书名
BookClassintnotnull,--图书类别
Authorvarchar(25)NULL,--作者
Publishvarchar(150)NULL,--
BookNovarchar(30)NULL,--书号
Contentvarchar(4000)NULL,--容介绍
PrincefloatNULL,--书价
AmountintNULL,--总数量
Leav_numberintNULL,--剩余数量
RegTimedatetimeNOTNULl--登记时间
);
altertableMy_Book--设定Id为主键值
addprimarykey(Id);
createtableMy_BookClass(--商店图书类别
Id[int]IDENTITY(1,1)NotNullprimarykey,--ID序列号
ClassName[varchar](30)notnull--图书类别名
);
createtableMy_BookAdminuser(--商店管理员表
AdminUser[varchar](20),--管理员用户名
AdminPass[varchar](50)--管理员密码
);
insertintoMy_BookAdminuservalues('admin','admin');--初始化管理员用户
createtableMy_Users(--购书用户表
Id[int]IDENTITY(1,1)notnull,--ID序列号
UserNamevarchar(20)notnull,--购物用户名
[PassWord]varchar(50)notnull,--用户密码
Namesvarchar(20),--用户联系用
Sexvarchar
(2),--用户性别
Addressvarchar(150),--用户联系地址
Phonevarchar(25),--用户联系
Postvarchar(8),--用户联系邮编
Emailvarchar(50),--用户电子
RegTimeDateTime,--用户注册时间
RegIpAddressvarchar(20)--用户注册时IP地址
);
altertableMy_Users--设定Id为主键值
addprimarykey(Id);
createtableMy_Indent(--购物篮订单号表
Id[int]IDENTITY(1,1)notnull,--ID序列号
IndentNovarchar(20)notnull,--订单编号
UserId[int]notnull,--用户序列号
SubmitTimedatetimenotnull,--提交订单时间
ConsignmentTimevarchar(20),--交货时间
TotalPricefloat,--总金额
contentvarchar(400),--用户备注
IPAddressvarchar(20),--下单时IP
IsPayoff[int]null,--用户是否已付款
IsSales[int]null--是否已发货
);
altertableMy_Indent--设定Id为主键值
addprimarykey(Id);
createtableMy_IndentList(--购物篮订单货物列表
IdintIDENTITY(1,1)notnull,--ID序列号
IndentNo[int]notnull,--订单号表序列号
BookNo[int]notnull,--图书表序列号
Amount[int]--订货数量
);
altertableMy_IndentList--设定Id为主键值
addprimarykey(Id);
五、系统实现
由于本系统是一个在线购物,并且最终要发布到INTERNET上供用户浏览,因此,一个良好的界面是至关重要要的,它将直接影响用户对的印象和评价。
因此,在设计界面时,必须设计出界面友好的,其主要效果图如下页:
(由于篇幅问题只列举了部分界面)
首先是的首页,启动服务器后,在IE的地址栏键入localhost:
8080/jspbookshopsql/index.jsp可以得到首页。
图8
Jspbookshopsql/目录位于webapps下,它的目录结果如下:
图9
1.前台管理部份技术分析及部分界面。
在前台管理的“在线购物”界面下可以列出各类图书的信息,每一项均有“查看图书详细情况”功能。
对应的程序是showbook.jsp,下面详细对对其分析。
1)首先编写“数据库连接管理器”DBConnectionManager.java,在其中定义数据库的连接,它是整个重用的组件JavaBean,其定义必须符合JavaBean的定义规则。
其中重要的代码片段为:
packageorg.pan.util;
privateStringdriverName="sun.jdbc.odbc.JdbcOdbcDriver";
privateStringurl="jdbc:
odbc:
bookshop";
privateStringuser="sa";
privateStringpassword="sa";
publicConnectiongetConnection()throwsException{
Class.forName(driverName);
returnDriverManager.getConnection(url,user,password);
}
2)DataBase.java也是一个重用的组件JavaBean,用于检查数据库登录的信息。
其中重要的代码片段为:
packageorg.pan.web;
protectedConnectionconn=null;//Connection接口
protectedStatementstmt=null;//Statement接口
protectedResultSetrs=null;//记录结果集
protectedPreparedStatementprepstmt=null;//PreparedStatement接口
protectedStringsqlStr;//sqlString
protectedbooleanisConnect=true;//与数据库连接标识
publicDataBase(){
try{
sqlStr="";
DBConnectionManagerdcm=newDBConnectionManager();
conn=dcm.getConnection();
stmt=conn.createStatement();
}catch(Exceptione){System.out.println(e);isConnect=false;}
}
3)login.java也是一个重用的组件JavaBean,是用来进行用户登录信息检查。
packageorg.pan.web;
publicclassloginextendsDataBase{
privateStringusername;//登录用户名
privateStringpasswd;//登录密码
privatebooleanisadmin;//是否管理员登录
privatelonguserid=0;//用户ID号
4)booksmn.java是一个可重用的组件JavaBean,也是用来得到图书类别列表,其中重要的代码片段为:
packageorg.pan.web;
publicclassbooksmnextendsDataBase{
privatebooksabooks=newbooks();//新的图书类
privatejavax.servlet.http.HttpServletRequestrequest;//建立页面请求
privatebooleansqlflag=true;//对接收到的数据是否正确
privateVectorbooklist;//显示图书列表向量数组
privateintpage=1;//显示的页码
privateintpageSize=10;//每页显示的图书数
privateintpageCount=0;//页面总数
privatelongrecordCount=0;//查询的记录总数
5)book.java是一个可重用的组件JavaBean,其中重要的代码片段为:
packageorg.pan.web.book;
publicclassbooks{
privatelongId;//ID序列号
privateStringBookName;//书名
privateintBookClass;//图书类别
privateStringclassname;//图书类别名
privateStringAuthor;//作者
privateStringPublish;//
privateStringBookNo;//书号
privateStringContent;//容介绍
privatefloatPrince;//书价
privateintAmount;//总数量
privateintLeav_number;//剩余数量
privateStringRegTime;//登记时间
5)showbook.jsp是实现查看图书详细情况的jsp界面,其中重要的代码片段为:
<%pagecontentType="text/html;charset=gb2312"%>
<%pagesession="true"%>
<%pageimport="org.pan.web.book.books"%>
<%pageimport="org.pan.util.strFormat"%>
useBeanid="book"scope="page"class="org.pan.web.booksmn"/>
booksbk=(books)book.getBooklist().elementAt(0);
图书名:
<%=bk.getBookName()%> |
操作界面如下
图10
图11
前台的大部分功能都是基于JavaBean组件模式的,其技术都是按上面的流程来编写。
下面是购货篮使用的情况
图12
2.后台管理部份技术分析及部分界面。
下面是管理员登陆后出现的后台管理页面,从首页的“站点管理”进入。
图13
在上面的页面中,有商店图书查询,添加图书资料,订单信息查询,用户数据查询等功能,就jspbookshopsql/manage的目录结构如下:
图14
下面将对“添加图书资料”功能进行详细的分析。
“添加图书资料”功能对应addbook.jsp,其中重要的代码片段为:
<%pagecontentType="text/html;charset=gb2312"%>
<%pagesession="true"%>
<%
if(session.getAttribute("admin")==null||session.getAttribute("admin")==""){
response.sendRedirect("error.htm");
}%>
<%pageimport="org.pan.web.book.bookclass"%>
useBeanid="classlist"scope="page"class="org.pan.web.bookclasslist"/>
useBeanid="book"scope="page"class="org.pan.web.booksmn"/>
<%if(classlist.excute()){
for(inti=0;ibookclassbc=(bookclass)classlist.getClasslist().elementAt(i);%>
"><%=bc.getClassName()%>
<%}
}%>
下面是添加新图书的操作界面。
图15
3.上还有一些信息,如推荐书籍,提示等,这里不再多述。
六、系统测试及结论
1.系统的使用说明
本系统使用简单,按照网页界面提示操作即可。
首页主要是面向用户的,由在线购物,我的购货车,用户信息,用户登录等功能组成。
测试用户名为test,密码也为test
管理连接的是后台管理,如商店图书管理、用户信息管理、订单信息管理等。
管理员的名称为admin,密码也为admin。
2.结论
本系统在单机上调试通过,运行顺畅,所设计的功能全部实现。
基本达到了课程设计的目的。
使用Jsp+JavaBean+JDBC+SQLServer的模式开发动态是可行的。
但是本还有一些缺点,如界面还不太美观,功能还可以进一步完善。
由于时间关系,只能把精力放在技术的实现上,而美工方面要差一些。
七、结束语
本次课程设计的容就全部结束了。
回顾整个过程,还是十分艰苦的,但是受益非浅。
不仅把书本知识融会贯通,加深和了解一些细节的问题,对自己也是一个提高。
而且真正地做了一回学生,真正体会到学生做课程设计的难处,使我今后在实验教学的过程中,认真布置实验项目,自己实际操作,找出难点、更多的了解细节。
更好地指导学生。
展开阅读全文
相关搜索
|