




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程实验报告 设 计 题 目 小型网上书店课程设计(JSP) 学生专业班级 计算机科学与技术*级*班 学生姓名(学号) * (*) 指 导 教 师 * 完 成 时 间 *年 *月 *日 实 习(设计)地点 * * 年 *月 *日一、 开发计划使用JSP和Java Bean来构建一个简单的网上书店,该系统可以分类录入书籍和相关信息(如名称、页数、出版商、摘要、目录等),包括会员注册,会员登录,会员选书,会员订单提交,订单修改,订单查询。二、需求分析1.业务及用户需求分析网上书店诞生早,规模大。1969年因特网出现不久就有了线上购书。经过20多年的发展,1997年全世界图书销售中,每5本书就有
2、1本是通过网上书店销售的,占全世界图书销售总量的20%以上。它已成为网上贸易主力军之一。要设计一个实用的网络书店销售管理系统,就必须首先明确应用环境对系统的要求。本系统开发的总体设计目标为开发一个在线系统,实现图书的在线查找、销售,以及在线管理等功能。系统以Windows操作系统为平台,网络联接以TCP/IP协议为基础,使用Web服务器提供信息的浏览和查询,采用流行的B/S三层体系结构。因此,该系统需主要满足以下几方面需求。1.用户的管理,含注册、检验及修改等功能。2.在线图书销售,包括查找、购物车及定单等功能。3.图书在线管理,如浏览、修改、添加和删除图书等。2. 技术可行性1.硬件:计算机
3、的存储量大,运算速度快,外部设备的功能好、效率高、可靠性高,通信设备的能力、质量都满足要求。2.系统软件:(1).操作系统Windows XP接口能力强,数据库管理系统的功能足够。(2).Java语言是一种优秀的编程语言。“The San Francisco product is written almost entirely in java and is believed to be one of the largest java development efforts at this time”从这可以看出Java的发展是很快的。它最大的优点就是与平台无关,在Windows 、Linux以
4、及其它平台上,都可以使用相同的代码。“一次编写,到处运行”的特点,使其在互联网上广泛采用。JSP+JavaBeans几乎可以在所有平台上通行无阻,从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译。(3).除此之外Java语言还提供了一些有用的新特性,使得使用Java语言比C+语言更容易写出“无错代码”。3. 系统服务器配置及开发工具1.数据库:本系统数据库采用Microsoft Office Access即可满足需求。2.Web服务器平台:可以选用Windows XP。3.Web服务器:Tomcat 成为Java Web Server的主流服务器是不可抵挡的趋势,它功能
5、强大,性能稳定,完全可以做商业应用,所以采用Tomcat 6.0。4.开发工具:Eclipse;5.软件开发工具箱:J2SDK。6.程序开发辅助工具:选用Dreamweaver MX2004来开发界面,编写及调试程序在Editplus和JBuilder中进行。7.系统平台:Windows XP + Tomcat + Microsoft Office Access + Eclipse.4. 系统数据流程分析说明:未注册用户通过注册后可以登录到前台进行购书,管理员通过登录可以进入后台进行管理。1.顶层数据流图如下图2. 前台购书和后台管理前台购书:用户登录后进行书籍浏览和查询,对书籍信息有了一定了
6、解后可根据自己的需求进行购书,购书后将所需书放入购物车,最终确定要购买的图书,提交定单,等待定单的处理结果。前台购书如下图所示:后台管理:管理员可以登陆到后台,查看相关的定单信息,然后修改定单的信息,主要是审核定单的有效性。系统第二层数据流图(后台管理)如下图三系统功能模块实现1.用户登陆模块这里介绍用户登陆的程序设计思路,数据库中存放有用户的基本信息,用户在网站中输入相关信息,通过匹配检测,便可以知道数据的有效性.其中会员登录Java Bean我们网上书店中的会员信息的库结构如图1所示:图1 会员信息库其中memberID 是主键,用于区分不同的会员,新会员注册时只能使用没有被使用的用户代码
7、。下面是登陆程序流程图如下图2所示:图2 登陆程序流程图登陆模块中的主要程序介绍:1.Java代码:Package BuyBook;import Java.sql.*;public class BuyerBean private String memberID = null ; /会员IDprivate String memberName = null; /会员姓名private String pwd = null;/密码private int logontimes = -1;/登录的次数private static String strDBDriver = “sun.jdbc.odbc.Jd
8、bcOdbcDriver”; /JDBC驱动private static String strDBUrl = “jdbc:odbc:bookstore”; /数据源 ,private Connection conn =null; /连接private ResultSet rs = null;/结果集public BuyerBean ()/加载JDBC-ODBC驱动try Class.forName(strDBDriver );/捕获异常catch(Java.lang.ClassNotFoundException e)System.err.println(“BuyerBean():” + e.g
9、etMessage();/获得登录次数,登录的会员的名字也在该方法调用时获得public int getLogontimes()String strSql = null;tryconn = DriverManager.getConnection(strDBUrl);Statement stmt = conn.createStatement();strSql = “Select logonTimes,membername from buyerInfo where memberID = ” + memberID + “ and pwd =” + pwd + “”;rs = stmt.execute
10、Query(strSql);while (rs.next()/ 登录的次数logontimes = rs.getInt(“logonTimes”);/会员姓名memberName = rs.getString(“membername”); rs.close();/如果是合法会员则将其登录次数加1if (logontimes != -1 ) strSql = “Update buyerInfo set logonTimes = logonTimes +1 where memberID = ” + memberID + “”;stmt.executeUpdate(strSql);stmt.clos
11、e();conn.close();/捕获异常catch(SQLException e)System.err.println(“BuyerBean.getLogontimes():” + e.getMessage();return logontimes ;/设置memberID属性;public void setMemberID(String ID)this.memberID = ID;/设置pwd 属性public void setPwd(String password)this.pwd = password;/获得该会员的真实姓名,必须在取该会员登录的次数之后才能被赋予正确的值public
12、String getMemberName()return memberName;/测试Bean中的各个方法是否能够正常工作public static void main(String args)BuyerBean buyer = new BuyerBean();buyer.setMemberID(“abcd”);buyer.setPwd(“1234”);System.out.println(buyer.getLogontimes();System.out.println(buyer.getMemberName();2.会员登录htm与JSP会员登录要由两个部分来完成,第一个页面用于会员输入其I
13、D和密码。清单default.htm! Copyright 1999 cuug,liu.CUUG ON LINE BOOK STORE MEMBER LOGINCUUG 网上书店会员登录页 请输入会员代号和密码: 会员代码: 密 码: 下面只需要查看记录集是不是为空,如果为空,则说明登陆失败;否则,登陆成功。2. 用户注册模块注册模块,会出现在很多程序中,这里借鉴了其他注册程序的流程。注册模块的核心思想是向数据库中输入数据,并且数据要不能重复,下面是注册模块的程序流程图如下图3所示。图 3 注册程序流程图登陆模块中的主要程序介
14、绍:String sql1; sql1=Insert intomember(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.executeI
15、nsert(sql1);数据通过验证后,向数据库输入数据,数据库会保存相关的注册信息。3. 提交定单模块等待处理结果定单信息定单提交开始定单提交成功4.定单处理模块定单处理模块的设计思路:用户提交定单后,管理员通过后台数据处理,可以查看全部的定单信息,由于定单编号是按照时间来命名的,管理员很容易查看到最新的定单信息。同时,本模块还和其他两个系统有间接的关系,一个是付款系统,另外一个是物流系统。定单的有效性和付款系统有直接关系,管理员处理的定单,通过审核的条件必须是付过书款的。另外,如果是有效定单,必须通过物流给用户寄发图书。定单处理程序流程图如下图4所示。图4定单处理程序流程图主要代码实现:t
16、ryClass.forName(sDBDriver);/处理异常catch(java.lang.ClassNotFoundException e)System.err.println(数据库连接:+e.getMessage();/数据库的连接conn=DriverManager.getConnection(sConnStr); stmt=conn.createStatement(); for(int i=0;iid.length;i+) int myUpdate=stmt.executeUpdate(update sub set sub_check=true where sub_number=
17、+idi+); int mUpdate=stmt.executeUpdate(update basket set basket_admincheck=true where sub_number=+idi+);/对定单数据进行具体到更新操作,更新两张表中的信息。本模块是系统的核心,主要负责定单的审查,是定单的流程最后一个环节,也是最重要的一个环节。5. 图书查询模块大量的数据中找到用户需要的数据,这样的数据挖掘很有必要。同样,系统中也提供这样的查询,在数据库的SQL中,查询实现很简单,本系统的查询也是根据SQL的查询语句实现的,通过模糊匹配,实现对图书信息的查询。其具体实现是输入关键字,如果数据
18、库中有记录,便会显示出查询的结果,没有记录则显示找不到与之对应的书。这其中主要是在系统的数据库中进行查找。查询界面如下图5所示。图5查询页面图主要的查询代码:String hw_name,sort_id; if(session.getAttribute(sort_id)=null) hw_name=getStr(request.getParameter(hw_name); sql=select * from hw where hw_name like %+hw_name+% order by hw_id DESC; rs=mdb.executeQuery(sql); else sort_id=
19、request.getParameter(sort_id); hw_name=getStr(request.getParameter(hw_name); sql=select * from hw where sort_id=+sort_id+ and hw_name like %+hw_name+% order by hw_id DESC;rs=mdb.executeQuery(sql);主要的程序设计思路是通过控件传递关键字给SQL语句,然后在数据库中进行查询操作。6.图书信息维护模块本模块主要是修改模块,对图书信息的修改。管理员通过本模块可以查询到系统中现有的图书信息,然后选择相关的图书信
20、息进行修改,程序主要是实现数据库中的更新SQL语句。图书信息维护程序流程如下图6所示。图6图书信息维护程序流程图程序设计思路:本模块主要是通过获得有效的修改信息,直接在数据库中执行SQL语句,SQL语句在数据库中执行完成对数据的更新。四系统测试1.软件测试的目标和定义:(1)测试是为了发现程序中的错误而执行程序的过程。(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。(3)成功的测试是发现了至今为止尚未发现的错误的测试。在对本网络书店销售管理系统测试时,也正是基于上述观点来进行的,测试的目的不是证明系统是完美的,而是发现问题,更好的解决问题,使系统不断完善,满足客户的需求。2.测
21、试的准则为了能设计出行之有效的测试方案,必须深入理解并正确运用指导软件测试的基本准则。下面列举主要的测试准则:(1) 所有的测试都应该追溯到用户需求。(2) 应该在开始测试之前就制定出测试计划。(3) 把Pareto原理应用到软件测试中。Pareto原理说明,测试发现的错误中80%很可能是由程序中的20%模块造成的。(4) 应该从“小模块”测试开始,并逐步进行“大模块”测试。(5) 穷举测试是不可能的。 (6) 为了达到最佳的测试效果,应该由独立的第三方从事测试工作。3.单元测试实例测试一:在管理员登陆时,用户名或密码有一项为空或者填写错误,系统是否出现预先设定的操作提示。预期效果:输入错误及
22、时报错。具体操作:用户名、密码、任意一项为空或者填写有误。结果:都出现相应的错误原因的信息提示。结论:要求管理员必须填写正确的用户名和密码,才能进入管理页面,测试成功。测试二:修改本站的公告返回前台,看其是否更新成功。预期效果:修改过后能及时更新内容。具体操作:通过信息管理页面中的修改公告功能修改公告的内容,看其是否修改成功。结果:公告内容更新为修改后的信息。结论:修改公告功能正常,测试成功。测试三:管理员删除一注册用户后,并让其登陆,看是否登陆成功。预期效果:该用户不能再进行登陆。具体操作:管理员删除一会员表中的用户后,该用户在前台登陆。结果:该用户无法登陆。结论:用户数据删除功能正常,测试
23、成功。测试四:添加删除一条书籍信息返回前台,看其是否添加删除成功。预期效果:能立即更新添加或删除的内容。具体操作:在信息管理页面中添加删除一条书籍信息。结果:显示新添加的书籍信息内容、被删除的书籍没有再显示。结论:书籍的添加删除功能正常,测试成功。测试五:管理员删除一图书的信息,在前台按关键字查询,看其是否能找到对应的信息。预期效果:用户不能再查找到该书。具体操作:在图书管理页面中的图书查看与修改页面中删除一图书的信息。结果:在前台搜索中,按关键字查询不到此书信息。结论:删除图书信息功能正常,测试成功。4. 系统的维护主要包括四个方面(1) 程序的维护:修改部分或全部程序,这种维护往往是在条件
24、发生变化或原系统的效率低的情况下进行的。(2) 数据文件的维护:按照用户的要求对数据文件进行不定期的修改。(3) 代码的维护:随着系统的发展和变化,可能会出现旧代码不能适应新要求的问题,因此,有必要变更代码,予以维护。(4) 硬件的维护:对系统所使用的设备进行维护。五结论经过近两个周的设计和开发,网络书店销售管理系统基本开发完毕。其功能基本符合需求,对于数据的一致性的问题也通过程序进行了有效的解决。在系统的开发过程中,主要作了以下工作:1.比较了传统的书店销售管理模式与当代网络书店销售管理模式的优点和缺点。2.深入学习了JSP和Eclipse以及Tomcat等开发工具,掌握了许多实用的开发技巧。3.从撰写需求分析报告基本上对软件开发流程有了更加深刻的认识。由于缺乏经验以及时间仓促,所以该系统还有许多不尽如人意的地方,比如用户界
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年心脏除颤器项目资金筹措计划书代可行性研究报告
- 2024年海水淡化设备项目资金申请报告代可行性研究报告
- 活性氯协同氧化工艺-洞察及研究
- 创新文化培育机制-洞察及研究
- 物流行业实习表现证明(7篇)
- 超市生鲜食品库存管理协议
- 房屋租赁中介服务证明(6篇)
- 人力资源外包服务及员工派遣协议
- 材料研发面试题及答案
- 数学浙江卷试题及答案
- GB 2714-2003酱腌菜卫生标准
- CNAS体系基础知识培训课件
- 2023年重庆市铜梁区物理八下期末质量跟踪监视模拟试题(含解析)
- 教师压力管理(教育心理健康C证培训)课件
- 工程勘察设计收费标准使用手册
- 网络暴力主题班会PPT课件讲义
- 《工程管理指导书》word版
- 合理低价法得分计算
- 关于涉农企业税收风险管理的实践和思考
- 05S502阀门井图集
- 轮扣式支架模板施工方案
评论
0/150
提交评论