小型网上书店JSPJava Bean.docx

上传人:b****1 文档编号:1997537 上传时间:2023-05-02 格式:DOCX 页数:18 大小:170.71KB
下载 相关 举报
小型网上书店JSPJava Bean.docx_第1页
第1页 / 共18页
小型网上书店JSPJava Bean.docx_第2页
第2页 / 共18页
小型网上书店JSPJava Bean.docx_第3页
第3页 / 共18页
小型网上书店JSPJava Bean.docx_第4页
第4页 / 共18页
小型网上书店JSPJava Bean.docx_第5页
第5页 / 共18页
小型网上书店JSPJava Bean.docx_第6页
第6页 / 共18页
小型网上书店JSPJava Bean.docx_第7页
第7页 / 共18页
小型网上书店JSPJava Bean.docx_第8页
第8页 / 共18页
小型网上书店JSPJava Bean.docx_第9页
第9页 / 共18页
小型网上书店JSPJava Bean.docx_第10页
第10页 / 共18页
小型网上书店JSPJava Bean.docx_第11页
第11页 / 共18页
小型网上书店JSPJava Bean.docx_第12页
第12页 / 共18页
小型网上书店JSPJava Bean.docx_第13页
第13页 / 共18页
小型网上书店JSPJava Bean.docx_第14页
第14页 / 共18页
小型网上书店JSPJava Bean.docx_第15页
第15页 / 共18页
小型网上书店JSPJava Bean.docx_第16页
第16页 / 共18页
小型网上书店JSPJava Bean.docx_第17页
第17页 / 共18页
小型网上书店JSPJava Bean.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

小型网上书店JSPJava Bean.docx

《小型网上书店JSPJava Bean.docx》由会员分享,可在线阅读,更多相关《小型网上书店JSPJava Bean.docx(18页珍藏版)》请在冰点文库上搜索。

小型网上书店JSPJava Bean.docx

小型网上书店JSPJavaBean

 

软件工程实验报告

 

设计题目小型网上书店课程设计(JSP)

学生专业班级计算机科学与技术**级*班

学生姓名(学号)***(***)

指导教师***

完成时间****年**月**日

实习(设计)地点******

 

*****年**月**日

一、开发计划

使用JSP和JavaBean来构建一个简单的网上书店,该系统可以分类录入书籍和相关信息(如名称、页数、出版商、摘要、目录等),包括会员注册,会员登录,会员选书,会员订单提交,订单修改,订单查询。

二、需求分析

1.业务及用户需求分析

网上书店诞生早,规模大。

1969年因特网出现不久就有了线上购书。

经过20多年的发展,1997年全世界图书销售中,每5本书就有1本是通过网上书店销售的,占全世界图书销售总量的20%以上。

它已成为网上贸易主力军之一。

要设计一个实用的网络书店销售管理系统,就必须首先明确应用环境对系统的要求。

本系统开发的总体设计目标为开发一个在线系统,实现图书的在线查找、销售,以及在线管理等功能。

系统以Windows操作系统为平台,网络联接以TCP/IP协议为基础,使用Web服务器提供信息的浏览和查询,采用流行的B/S三层体系结构。

因此,该系统需主要满足以下几方面需求。

1.用户的管理,含注册、检验及修改等功能。

2.在线图书销售,包括查找、购物车及定单等功能。

3.图书在线管理,如浏览、修改、添加和删除图书等。

2.技术可行性

1.硬件:

计算机的存储量大,运算速度快,外部设备的功能好、效率高、可靠性高,通信设备的能力、质量都满足要求。

2.系统软件:

(1).操作系统WindowsXP接口能力强,数据库管理系统的功能足够。

(2).Java语言是一种优秀的编程语言。

“TheSanFranciscoproductiswrittenalmostentirelyinjavaandisbelievedtobeoneofthelargestjavadevelopmenteffortsatthistime”从这可以看出Java的发展是很快的。

它最大的优点就是与平台无关,在Windows、Linux以及其它平台上,都可以使用相同的代码。

“一次编写,到处运行”的特点,使其在互联网上广泛采用。

JSP+JavaBeans几乎可以在所有平台上通行无阻,从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译。

(3).除此之外Java语言还提供了一些有用的新特性,使得使用Java语言比C++语言更容易写出“无错代码”。

3.系统服务器配置及开发工具

1.数据库:

本系统数据库采用MicrosoftOfficeAccess即可满足需求。

2.Web服务器平台:

可以选用WindowsXP。

3.Web服务器:

Tomcat成为JavaWebServer的主流服务器是不可抵挡的趋势,它功能强大,性能稳定,完全可以做商业应用,所以采用Tomcat6.0。

4.开发工具:

Eclipse;

5.软件开发工具箱:

J2SDK。

6.程序开发辅助工具:

选用DreamweaverMX2004来开发界面,编写及调试程序在Editplus和JBuilder中进行。

7.系统平台:

WindowsXP+Tomcat+MicrosoftOfficeAccess+Eclipse.

4.系统数据流程分析

说明:

未注册用户通过注册后可以登录到前台进行购书,管理员通过登录可以进入后台进行管理。

1.顶层数据流图如下图

2.前台购书和后台管理

前台购书:

用户登录后进行书籍浏览和查询,对书籍信息有了一定了解后可根据自己的需求进行购书,购书后将所需书放入购物车,最终确定要购买的图书,提交定单,等待定单的处理结果。

前台购书如下图所示:

后台管理:

管理员可以登陆到后台,查看相关的定单信息,然后修改定单的信息,主要是审核定单的有效性。

系统第二层数据流图(后台管理)如下图

三.系统功能模块实现

1.用户登陆模块

这里介绍用户登陆的程序设计思路,数据库中存放有用户的基本信息,用户在网站中输入相关信息,通过匹配检测,便可以知道数据的有效性.

其中会员登录JavaBean

我们网上书店中的会员信息的库结构如图1所示:

图1会员信息库

其中memberID是主键,用于区分不同的会员,新会员注册时只能使用没有被使用的用户代码。

下面是登陆程序流程图如下图2所示:

图2登陆程序流程图

登陆模块中的主要程序介绍:

1.Java代码:

PackageBuyBook;

importJava.sql.*;

publicclassBuyerBean{

privateStringmemberID=null;//会员ID

privateStringmemberName=null;//会员姓名

privateStringpwd=null;//密码

privateintlogontimes=-1;//登录的次数

privatestaticStringstrDBDriver=“sun.jdbc.odbc.JdbcOdbcDriver”;//JDBC驱动

privatestaticStringstrDBUrl=“jdbc:

odbc:

bookstore”;//数据源,

privateConnectionconn=null;//连接

privateResultSetrs=null;//结果集

publicBuyerBean(){

//加载JDBC-ODBC驱动

try{

Class.forName(strDBDriver);

}

//捕获异常

catch(Java.lang.ClassNotFoundExceptione){

System.err.println(“BuyerBean():

”+e.getMessage());

}

}

//获得登录次数,登录的会员的名字也在该方法调用时获得

publicintgetLogontimes(){

StringstrSql=null;

try{

conn=DriverManager.getConnection(strDBUrl);

Statementstmt=conn.createStatement();

strSql=“SelectlogonTimes,membernamefrombuyerInfowherememberID=‘”+

memberID+“’andpwd=’”+pwd+“’”;

rs=stmt.executeQuery(strSql);

while(rs.next()){

//登录的次数

logontimes=rs.getInt(“logonTimes”);

//会员姓名

memberName=rs.getString(“membername”);

}

rs.close();

//如果是合法会员则将其登录次数加1

if(logontimes!

=-1){

strSql=“UpdatebuyerInfoset

logonTimes=logonTimes+1wherememberID=‘”+memberID+“’”;

stmt.executeUpdate(strSql);

}

stmt.close();

conn.close();

}

//捕获异常

catch(SQLExceptione){

System.err.println(“BuyerBean.getLogontimes():

”+e.getMessage());

}

returnlogontimes;

}

//设置memberID属性;

publicvoidsetMemberID(StringID){

this.memberID=ID;

}

//设置pwd属性

publicvoidsetPwd(Stringpassword){

this.pwd=password;

}

//获得该会员的真实姓名,必须在取该会员登录的次数之后才能被赋予正确的值

publicStringgetMemberName(){

returnmemberName;

}

//测试Bean中的各个方法是否能够正常工作

publicstaticvoidmain(Stringargs[]){

BuyerBeanbuyer=newBuyerBean();

buyer.setMemberID(“abcd”);

buyer.setPwd(“1234”);

System.out.println(buyer.getLogontimes());

System.out.println(buyer.getMemberName());

}

}

2.会员登录htm与JSP

会员登录要由两个部分来完成,第一个页面用于会员输入其ID和密码。

清单default.htm

Copyright©1999cuug,liu.

CUUGONLINEBOOKSTORE–MEMBERLOGIN

CUUG网上书店

会员登录页

 

 


请输入会员代号和密码:


会员代码:


密    码:



下面只需要查看记录集是不是为空,如果为空,则说明登陆失败;否则,登陆成功。

2.用户注册模块

注册模块,会出现在很多程序中,这里借鉴了其他注册程序的流程。

注册模块的核心思想是向数据库中输入数据,并且数据要不能重复,下面是注册模块的程序流程图如下图3所示。

图3注册程序流程图

登陆模块中的主要程序介绍:

Stringsql1;sql1="Insertinto

member(user_name,user_pass,user_adds,user_mail,user_tel,user_regip,user_postcode,user_namec,user_type)values('"+user_name+"','"+user_pass+"','"+user_adds+"','"+user_mail+"','"+user_tel+"','"+request.getRemoteHost()+"','"+user_postcode+"','"+getStr(request.getParameter("user_namec"))+"','会员')";

mdb.executeInsert(sql1);

数据通过验证后,向数据库输入数据,数据库会保存相关的注册信息。

3.提交定单模块

4.定单处理模块

定单处理模块的设计思路:

用户提交定单后,管理员通过后台数据处理,可以查看全部的定单信息,由于定单编号是按照时间来命名的,管理员很容易查看到最新的定单信息。

同时,本模块还和其他两个系统有间接的关系,一个是付款系统,另外一个是物流系统。

定单的有效性和付款系统有直接关系,管理员处理的定单,通过审核的条件必须是付过书款的。

另外,如果是有效定单,必须通过物流给用户寄发图书。

定单处理程序流程图如下图4所示。

图4定单处理程序流程图

主要代码实现:

try

{

Class.forName(sDBDriver);

}

//处理异常

catch(java.lang.ClassNotFoundExceptione)

{

System.err.println("数据库连接:

"+e.getMessage());

}//数据库的连接

conn=DriverManager.getConnection(sConnStr);

stmt=conn.createStatement();

for(inti=0;i

intmyUpdate=stmt.executeUpdate("updatesubsetsub_check=truewheresub_number='"+id[i]+"'");

intmUpdate=stmt.executeUpdate("updatebasketsetbasket_admincheck=truewheresub_number='"+id[i]+"'");

//对定单数据进行具体到更新操作,更新两张表中的信息。

本模块是系统的核心,主要负责定单的审查,是定单的流程最后一个环节,也是最重要的一个环节。

5.图书查询模块

大量的数据中找到用户需要的数据,这样的数据挖掘很有必要。

同样,系统中也提供这样的查询,在数据库的SQL中,查询实现很简单,本系统的查询也是根据SQL的查询语句实现的,通过模糊匹配,实现对图书信息的查询。

其具体实现是输入关键字,如果数据库中有记录,便会显示出查询的结果,没有记录则显示找不到与之对应的书。

这其中主要是在系统的数据库中进行查找。

查询界面如下图5所示。

图5查询页面图

主要的查询代码:

Stringhw_name,sort_id;

if(session.getAttribute("sort_id")==null){

hw_name=getStr(request.getParameter("hw_name"));

sql="select*fromhwwherehw_namelike'%"+hw_name+"%'orderbyhw_idDESC";

rs=mdb.executeQuery(sql);

}

else{

sort_id=request.getParameter("sort_id");

hw_name=getStr(request.getParameter("hw_name"));

sql="select*fromhwwheresort_id='"+sort_id+"'andhw_namelike'%"+hw_name+"%'orderbyhw_idDESC";

rs=mdb.executeQuery(sql);

}

主要的程序设计思路是通过控件传递关键字给SQL语句,然后在数据库中进行查询操作。

6.图书信息维护模块

本模块主要是修改模块,对图书信息的修改。

管理员通过本模块可以查询到系统中现有的图书信息,然后选择相关的图书信息进行修改,程序主要是实现数据库中的更新SQL语句。

图书信息维护程序流程如下图6所示。

图6图书信息维护程序流程图

程序设计思路:

本模块主要是通过获得有效的修改信息,直接在数据库中执行SQL语句,SQL语句在数据库中执行完成对数据的更新。

四.系统测试

1.软件测试的目标和定义:

(1)测试是为了发现程序中的错误而执行程序的过程。

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。

(3)成功的测试是发现了至今为止尚未发现的错误的测试。

在对本网络书店销售管理系统测试时,也正是基于上述观点来进行的,测试的目的不是证明系统是完美的,而是发现问题,更好的解决问题,使系统不断完善,满足客户的需求。

2.测试的准则

为了能设计出行之有效的测试方案,必须深入理解并正确运用指导软件测试的基本准则。

下面列举主要的测试准则:

(1)所有的测试都应该追溯到用户需求。

(2)应该在开始测试之前就制定出测试计划。

(3)把Pareto原理应用到软件测试中。

Pareto原理说明,测试发现的错误中80%很可能是由程序中的20%模块造成的。

(4)应该从“小模块”测试开始,并逐步进行“大模块”测试。

(5)穷举测试是不可能的。

(6)为了达到最佳的测试效果,应该由独立的第三方从事测试工作。

3.单元测试实例

测试一:

在管理员登陆时,用户名或密码有一项为空或者填写错误,系统是否出现预先设定的操作提示。

预期效果:

输入错误及时报错。

具体操作:

用户名、密码、任意一项为空或者填写有误。

结果:

都出现相应的错误原因的信息提示。

结论:

要求管理员必须填写正确的用户名和密码,才能进入管理页面,测试成功。

测试二:

修改本站的公告﹑返回前台,看其是否更新成功。

预期效果:

修改过后能及时更新内容。

具体操作:

通过信息管理页面中的修改公告功能修改公告的内容,看其是否修改成功。

结果:

公告内容更新为修改后的信息。

结论:

修改公告功能正常,测试成功。

测试三:

管理员删除一注册用户后,并让其登陆,看是否登陆成功。

预期效果:

该用户不能再进行登陆。

具体操作:

管理员删除一会员表中的用户后,该用户在前台登陆。

结果:

该用户无法登陆。

结论:

用户数据删除功能正常,测试成功。

测试四:

添加﹑删除一条书籍信息﹑返回前台,看其是否添加删除成功。

预期效果:

能立即更新添加或删除的内容。

具体操作:

在信息管理页面中添加﹑删除一条书籍信息。

结果:

显示新添加的书籍信息内容、被删除的书籍没有再显示。

结论:

书籍的添加删除功能正常,测试成功。

测试五:

管理员删除一图书的信息,在前台按关键字查询,看其是否能找到对应的信息。

预期效果:

用户不能再查找到该书。

具体操作:

在图书管理页面中的图书查看与修改页面中删除一图书的信息。

结果:

在前台搜索中,按关键字查询不到此书信息。

结论:

删除图书信息功能正常,测试成功。

4.系统的维护主要包括四个方面

(1)程序的维护:

修改部分或全部程序,这种维护往往是在条件发生变化或原系统的效率低的情况下进行的。

(2)数据文件的维护:

按照用户的要求对数据文件进行不定期的修改。

(3)代码的维护:

随着系统的发展和变化,可能会出现旧代码不能适应新要求的问题,因此,有必要变更代码,予以维护。

(4)硬件的维护:

对系统所使用的设备进行维护。

五.结论

经过近两个周的设计和开发,网络书店销售管理系统基本开发完毕。

其功能基本符合需求,对于数据的一致性的问题也通过程序进行了有效的解决。

在系统的开发过程中,主要作了以下工作:

1.比较了传统的书店销售管理模式与当代网络书店销售管理模式的优点和缺点。

2.深入学习了JSP和Eclipse以及Tomcat等开发工具,掌握了许多实用的开发技巧。

3.从撰写需求分析报告基本上对软件开发流程有了更加深刻的认识。

由于缺乏经验以及时间仓促,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,出错处理不够,无帮助文档等多方面问题,这些都有待进一步改善。

另外,本系统用于测试的时间较短,存在未知的错误也在所难免。

主要存在以下一些问题:

1.系统的某些设计的可扩展性并不十分理想,在以后的系统维护过程中,使用重构方法对系统进行重构,使系统的设计日益趋于更强的可扩展性。

2.多开发和使用用户控件,以提高代码的重复使用率和运行效率方面欠佳,有待进一步改善。

3.在功能实现方面,定单处理模块设计中还有不足,同时更新两张表中的信息,为保证数据的一致性,应该使用数据库中的事物处理机制,如果出现异常情况,数据库回滚到初始状态。

模块中的程序没有考虑到这种具体情况,有待改进。

4.在网上书店的设计过程中由于本人设计水平有限再加上时间比较仓促,网站的部分功能没有实现。

此外还有许多功能需要拓展,需要进一步完善和优化。

六.参考文献

[1]方逵主编;许向阳等编写.JSP编程技术与应用.北京:

高等教育出版社2003,No.5:

10

[2]张晓雁,李朝葵.网上书店研究综述[J].图书馆学刊,2002,No.5:

41.

[3]孙海峰.促进我国电子商务发展的思考[A].经济师,2004,No.1:

138.

[4]JSP应用教程.石志国,薛为民,董洁编著.北京:

清华大学出版社,2004,No.3:

25

[5]DanielWybrow,PateCameron-MaccDonald.ManagementInformationSystems:

Dotheygivemanufacturingorganizationswhattheywant?

[J].JournalofMaterialsProcessingTechnology,1996,Vol3

(2):

61.

 

课程设计成绩评定表

学生姓名

徐广奇

专业班级

计本05.2

设计题目

小型网上书店课程设计(JSP)

指导教师评语及意见:

 

指导教师评阅成绩:

指导教师签字:

年月日

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2