1软件能力训练与测试实习报告实习项目名称:网上书店管理系统学生姓名(班学号):饶珍珍111072-2220071003193指导教师:孙明一、需求说明1.任务概述1.1目标当今社会,随着计算机的应用和Internet的普及,Internet网络给人类社会带来了巨大变化,网络在我们的生活中几乎无处不在。因此,建立网上电子书店的销售管理系统是时代的2潮流。由于JSP可以在85%以上的服务器上运行,而且JSP技术的应用程序比ASP的应用程序易于维护和管理。所以,通过采用JSP技术设计开发在线书店系统符合时代的潮流、具有积极的进步意义。本人基于这样的实际需求,结合教学需要设计开发了基于JSP的网上书店销售管理系统。网上书店系统可以实现人们远程逛逛书店和购买图书的愿望。本系统主的功能是实现网上购书。基本功能包括用户注册、会员登录、图书查询、新书介绍、网上购书以及后台管理等。1.2用户特点用户须具备一定的计算机知识、网络知识。懂得如何操作电脑,了解Java2EE,会配置SQLserver数据库,会添加数据源。1.3定义JSP技术:JSP(JavaServerPages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。在国内,JSP现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP技术。本章就对JSP及其相关技术进行简单的介绍。JavaServerPagesTM(jsp(SUN企业级应用的首选))技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。jsp(SUN企业级应用的首选)技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。SQLserver:SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。SQLServer2000界面友好,易学易用且功能强大,与Windows2000操作系统完美结合,可以构造网络环境数据库甚至分布式数据库,可以满足企业及Intemet等大型数据库应用。JavaBean:JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的3重复利用,另外对于程序的易维护性等等也有很重大的意义。比如说一个购物车程序,要实现购物车中添加一件商品这样的功能,就可以写一个购物车操作的JavaBean,建立一个public的AddItem成员方法,前台Jsp文件里面直接调用这个方法来实现。如果后来又考虑添加商品的时候需要判断库存是否有货物,没有货物不得购买,在这个时候我们就可以直接修改JavaBean的AddItem方法,加入处理语句来实现,这样就完全不用修改前台jsp程序了。JavaScript:JavaScript是用于浏览器的第一种具有通用目的、动态的客户端脚本语言。Netscape于1995年首先提出了JavaScript,但当时将其称为LiveScript。后来Netscape迅速地将LiveScript改名为JavaScript,Java的开发商Sun与他们在同一年发表了一项声明。声明中指出Java和JavaScript将互相补充,但它们是截然不同的技术,这样才打消了很多人对这两项技术的错误理解。JavaScript为创建用户界面控件提供了一种脚本语言。事实上,JavaScript在浏览器中插入了代码逻辑。它可以支持这样的效果:当光标在Web页的某个位置移动时验证用户输入或者变换图像。Microsoft也编写出了自己的JavaScript版本并将其称为JScript。Microsoft和Netscape都支持一种围绕JavaScript和JScript的核心特性并由(EuropeanComputerManufacturersAssociation,ECMA)标准组织控制的脚本语言标准。ECMA将其脚本语言命名为ECMAScript。2.数据描述参与系统的实体有:管理员、顾客、图书、银行卡。(1):管理员和顾客有以下属性:用户名、帐号、密码(2):图书有以下属性:书名、作者、出版社、价格、类型、简介4(3)银行卡有以下属性:卡号、密码、姓名(4)订单表用户名、购买书名、数量实体关系图为:管理员管理E-R图管理员用户名账号密码管理银行卡图书卡号密码姓名书简介出版社书名作者价格种类5银行卡-顾客-图书E-R图2.3数据库介绍本项目使用的数据库SQLServer2000,它是一个关系数据库管理系统,是Microsoft公司推出的SQLServer数据库管理系统的最新版本该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。数据库设计:本数据库一共包含四个表(书目表、用户信息表、银行卡、订单表)。书目表:包含书名、作者、出版社、价格类型、本书简介。用户信息表:包含用户名、密码。银行卡表:包含卡号、密码、姓名。订单表:包含用户名、购买书名、数量。顾客银行卡使用图书购买出版社书店作者价格种类卡号密码姓名数量优惠额度书简介63.功能需求功能输入变量处理过程输出结果浏览首页无直接运行书店的首界面查找书籍书名或作者或出版社查找数据库书籍信息网上购书订单网上交易购买成功注册用户名、密码查找并写入数据库注册结果会员登陆用户名、密码身份认证登陆成功(失败)书籍分类管理书名、信息。书类型按类型归类书籍按类别存放订单管理用户订单对订单进行审核通过网上交易订单、钱、用户名审核账目交易成功总体结构73.1功能划分模块分模块模块功能前台匿名用户书店首页查找书籍开始网站首页匿名用户注册用户登陆后经权限判断普通用户系统管理员查找书籍网上购书网上注册书籍分类修改书籍分类修改书籍分类添加新书管理用户管理交易查看订单浏览分类查找书籍8网上书店管理系统阅读网上注册网上购书后台管理管理员登录身份确认书籍管理书籍分类修改分类添加新书修改书籍信息订单管理审核订单网上交易总体数据流图:买书流程图:开始书店首界面选择书店概况网上购书书籍信息查询会员登陆注册返回首页94.性能需求4.1数据精确度注册时,输入用户名后,输入密码,再次确认密码,点击“注册”,如果用户名已经存在则不能注册,反之注册成为会员,输出注册失败或者注册成功。登录时,输入用户名和密码,经过验证,如果正确则成功登录。查找书籍时,输入书名,查找数据库后输出书籍的信息。在购书时,所购买书的数量必须大于零,小于这本书的总量,点击“确定”后,输出购书订单。付款时,钱数精确到分即小数点后两位,经过审核,输出交易成功。4.2适应性JavaBeans通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。众所周知,属性名称符合这种模式,其他Java类可以通过自省机制发现和操作这些JavaBean属性。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。当操作方式发生变化时,一些功能同样能够实现。因为在实现各项功能时,把功买书使用网上银行付款现金支付网上支付修改数据库成功下订单10能划分成了模块,各模块之间互不干扰,而且JavaBean都采用类的形式,每个功能都封装成一个类。运行环境发生变化时,对程序会有一些影响,但打上补丁就可以继续运行了。总体上讲,本系统具有一定的自适应性。5.运行需求5.1用户界面用户主界面:11搜索查询书籍界面:12会员登录界面13顾客注册界面:14管理员登录界面:15购书界面:16购书之后显示的订单信息:5.2硬件接口本系统可在一般的windowsX86操作系统上运行,也可在Linx上运行。但需要安装JavaBean,并且要安装SQLserver数据库,才能运行程序。在进行登录、查询时,如果数据库不是SQLserver2005还需要添加驱动器—三个Jar文件。数据库附加好了,就可运行。5.3软件接口系统包括网上购书、书籍查询、会员登录、用户注册、查看订单、后台管理这些模块之间的接口。各个模块之间有自成一个小的程序,功能封装成了类,使用对象调用。类中成员函数的参数是传递值的接口。175.4故障处理当系统遇到问题时,首先查看运行环境是否更该;如更改,只需修复运行环境即可,若未更改,查看系统中各功能模块之间的接口是否有问题,可通过调试改正错误。数据库最严重的问题莫过于数据库损坏,那么当数据库损坏时,最好的办法是从备份恢复数据库。由于存储问题导致部分数据文件损坏,但是数据库还可以连接,这种情况可以采用导出数据库的表结果和数据的方法来恢复数据库。当然对损坏的表,导出是无法完成的,这是可以使用db2dart的导出数据功能来导出这些损坏的表的数据。解决数据库的性能问题,可以从以下方面入手,检查数据库的配置,如缓冲池,排序堆等是否合理;检查数据库是否收集过统计信息,准确的统计信息对语句优化起着重要的左右;对sql语句进行优化;查看是否有系统资源瓶颈。6.其它需求JavaBean是java类,属于某些特定的译码知道方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。在安装了JavaBean和SQLserver数据库时可运行该程序。本系统不仅能运行在windowsX86上,还能在Linx上运行,具有可移植性。程序较安全,高级管理员要保密,不对其他人泄露登录密码。程序在开发时,结构是可扩展的,后期可扩展功能。18二、主要程序清单(关键代码)//////////////////书籍信息类publicclassBook{StringbookName;StringbookAuthor;Stringpublisher;StringbookPrice;StringbookType;StringbookInfo;intquantity;publicDBLinklink=newDBLink();publicBook(Stringname){Connectionconn=link.Linkdb();ResultSetres=null;StringSQL=SELECT*FROMBookSysWHEREBookName='+name+';try{Statementsm=conn.createStatement();res=sm.executeQuery(SQL);res.next();bookName=res.getString(BookName);System.out.println(bookName);bookAuthor=res.getString(BookAuthor);System.out.println(bookAuthor);bookPrice=res.getString(BookPrice);System.out.p