计算机系网上书店管理系统课程设计+包含文档报告+有详细的设计图和数据库设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需求说明
1.任务概述
1.1目标
当今社会,随着计算机的应用和Internet的普及, Internet网络给人类社会带来了巨大
变化,网络在我们的生活中几乎无处不在。
因此,建立网上电子书店的销售管理系统是时代的潮流。
由于JSP可以在85%以上的服务器上运行,而且JSP技术的应用程序比ASP的应用程序易于维护和管理。
所以,通过采用JSP技术设计开发在线书店系统符合时代的潮流、具有积极的进步意义。
本人基于这样的实际需求,结合教学需要设计开发了基于JSP的网上书店销售管理系统。
网上书店系统可以实现人们远程逛逛书店和购买图书的愿望。
本系统主的功能是实现网上购书。
基本功能包括用户注册、会员登录、图书查询、新书介绍、网上购书以及后台管理等。
1.2用户特点
用户须具备一定的计算机知识、网络知识。
懂得如何操作电脑,了解Java 2EE,会配置SQL server数据库,会添加数据源。
1.3定义
JSP技术:JSP(Java Server Pages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。
它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。
在国内,JSP现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP 技术。
本章就对JSP及其相关技术进行简单的介绍。
JavaServer PagesTM (jsp(SUN企业级应用的首选))技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。
jsp(SUN 企业级应用的首选)技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。
SQL server:SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有
1
使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。
SQL Server 2000界面友好,易学易用且功能强大,与Windows 2000操作系统完美结合,可以构造网络环境数据库甚至分布式数据库,可以满足企业及Intemet等大型数据库应用。
Java Bean:JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。
在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。
对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。
比如说一个购物车程序,要实现购物车中添加一件商品这样的功能,就可以写一个购物车操作的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的核心特性并由(European Computer Manufacturers Association,ECMA)标准组织控制的脚本语言标准。
ECMA将其脚本语言命名为ECMAScript。
2.数据描述
参与系统的实体有:管理员、顾客、图书、银行卡。
(1):管理员和顾客有以下属性:
用户名、帐号、密码
(2):图书有以下属性:
书名、作者、出版社、价格、类型、简介
(3)银行卡有以下属性:
卡号、密码、姓名
(4)订单表
用户名、购买书名、数量
实体关系图为:
管理员管理E-R图
银行卡-顾客-图书E-R图
2.3数据库介绍
本项目使用的数据库SQL Server 2000,它是一个关系数据库管理系统,是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。
数据库设计:本数据库一共包含四个表(书目表、用户信息表、银行卡、订单表)。
书目表:包含书名、作者、出版社、价格类型、本书简介。
用户信息表:包含用户名、密码。
银行卡表:包含卡号、密码、姓名。
订单表:包含用户名、购买书名、数量。
3.功能需求
总体结构
3.1功能划分
4.性能需求
4.1数据精确度
注册时,输入用户名后,输入密码,再次确认密码,点击“注册”,如果用户名已经存在则不能注册,反之注册成为会员,输出注册失败或者注册成功。
登录时,输入用户名和密码,经过验证,如果正确则成功登录。
查找书籍时,输入书名,查找数据库后输出书籍的信息。
在购书时,所购买书的数量必须大于零,小于这本书的总量,点击“确定”后,输出购书订单。
付款时,钱数精确到分即小数点后两位,经过审核,输出交易成功。
4.2 适应性
JavaBeans 通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。
众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 属性。
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet 程序或者应用来使用这些对象。
用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
当操作方式发生变化时,一些功能同样能够实现。
因为在实现各项功能时,把功能划分成了模块,各模块之间互不干扰,而且Java Bean都采用类的形式,每个功能都封装成一个类。
运行环境发生变化时,对程序会有一些影响,但打上补丁就可以继续运行了。
总体上讲,
本系统具有一定的自适应性。
5.运行需求
5.1用户界面
用户主界面:
搜索查询书籍界面:
会员登录界面
顾客注册界面:
管理员登录界面:
购书界面:
购书之后显示的订单信息:
5.2硬件接口
本系统可在一般的windows X86操作系统上运行,也可在Linx上运行。
但需要安装Java Bean,并且要安装SQL server数据库,才能运行程序。
在进行登录、查询时,如果数据库不是SQL server 2005 还需要添加驱动器—三个Jar文件。
数据库附加好了,就可运行。
5.3软件接口
系统包括网上购书、书籍查询、会员登录、用户注册、查看订单、后台管理这些模块之间的接口。
各个模块之间有自成一个小的程序,功能封装成了类,使用对象调用。
类中成员函数的参数是传递值的接口。
5.4故障处理
当系统遇到问题时,首先查看运行环境是否更该;如更改,只需修复运行环境即可,若
未更改,查看系统中各功能模块之间的接口是否有问题,可通过调试改正错误。
数据库最严重的问题莫过于数据库损坏,那么当数据库损坏时,最好的办法是从备份恢复数据库。
由于存储问题导致部分数据文件损坏,但是数据库还可以连接,这种情况可以采用导出数据库的表结果和数据的方法来恢复数据库。
当然对损坏的表,导出是无法完成的,这是可以使用db2dart的导出数据功能来导出这些损坏的表的数据。
解决数据库的性能问题,可以从以下方面入手,检查数据库的配置,如缓冲池,排序堆等是否合理;检查数据库是否收集过统计信息,准确的统计信息对语句优化起着重要的左右;对sql语句进行优化;查看是否有系统资源瓶颈。
其它需求
Java Bean是java类,属于某些特定的译码知道方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。
在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。
在安装了Java Bean和SQL server 数据库时可运行该程序。
本系统不仅能运行在windows X86上,还能在Linx上运行,具有可移植性。
程序较安全,高级管理员要保密,不对其他人泄露登录密码。
程序在开发时,结构是可扩展的,后期可扩展功能。
参考文献:
阅读资料文献表选用顺序编码制,按在实习中选看的先后顺序编号。
[1]刘毅书店系统简介
网址:/question/38074100.html 2009年7月
[2]Perter van der Linden(新国庆译) Java 2教程,电子工业出版社,2008 年8月第6版
[3]张海藩软件工程导论,清华大学出版社,2008年2月第5版
[4]薛华成管理信息系统,清华大学出版社,2003年12月第4版
[5]萨师煊数据库系统概论,高等教育出版社,2000年2月第3版
[6]王君学网页制作基础FrontPage2002 ,人民邮电出版社,2001年6月第1版
[7]张琴张千帆 JSP动态网页制作,人民邮电出版社,2005 年5月第1版
[8]张朋基于Web的信息管理系统架构的研究,
网址:/zh-cn/default.aspx 2009年7月2日
[9]王城 Dreamweaver8入门基础,清华大学出版社,
网址:/eschool/zhuanti/shipin/wyzz.shtml 2009年8月
[10]何雄 JSP网络程序设计,人民邮电出版社,2000年12月第1版
[11]王靖管理模块的设计与实现,
网址:/yuanchuanglunwen/htm/1/17580.htm
2009年8月
个人体会
为期近一个星期的软件能力测试实习结束了,回首整个过程,当第一次拿到实习报告的时候,真的没有想到自己能够和我的同伴们顺利的完成任务,最终事实证明我们做到了,我们学到了更多的知识。
在这期间,我们开始接触了小型的系统。
这些小型的系统分析、设计与实
现巩固了我们的基础知识,让我们学会了一些编程的技巧,以及一些验证的方法。
首先是需求分析这块,它很重要。
我们根据老师给的要求,结合在网上差的一些资料,做了初步的需求分析,本系统的主要功能是实现信息的发布和管理,涉及到前台用户对书籍信息的浏览和后台管理。
在前台的新闻浏览模块里,一般需要对书籍进行分类展示,并需要通过栏目导航进入特定的书籍信息模块。
如有文艺类书籍,理工类书籍,计算机类书籍等等。
在后台的管理方面。
需要由合法的管理者来管理书籍的添加、修改、删除等,还有一个管理者的登录、注销的模块。
最重要的是管理网上交易。
从后台管理大体来看,系统实际分为,书籍管理栏目、网上购物管理及模块管理。
然后进行了系统总体设计,我们采用采用B/S模式实现,分为三个层次。
用户界面层:界面层为客户端浏览器提供对应用程序的访问,这一层是为用户提供操作接口而实现的。
业务逻辑层:包含各种业务规则和逻辑的实现,业务规则完成如匿名用户书籍查找,用户登录时进行身份认证等。
数据访问层:数据访问层为业务逻辑层提供数据服务,首先设计了一个连接数据库的类,然后封装了对数据库的数据进行的操作。
访问数据库的结果供业务逻辑层使用。
现在我谈一下自己做系统总体设计的体会。
系统总体设计的好坏直接影响后面的编码过程。
刚开始我们的总体设计不是很完善,导致在具体实现时,我们的模块划分的不是很好,数据表的设计也不能很好的反映现实情况。
后来我们又完善了系统的总体设计,对各个模块进行了详细的规划,系统层次显得分明,编码也相对容易一些。
最主要的是数据库设计与实现。
在设计一个数据库时,首先应该仔细研究业务需求。
雨雾需求将直接决定表的设计。
表之间可以是一对一、一对多、多对多的关系。
在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。
在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单据对应多个实体,或多张原始单据对应一个实体。
明确这种对应关系后,对我们设计录入界面大有好处。
数据库设计的实用原则是:在数据冗余和处理速度之间找到合适的平衡点。
表的设计应该遵循“三少”原则:数据库中表的个数尽量少,一个表中组合主键的字段个数尽量少,表中的字段个数尽量少。
但是必须要能反映现实情况。
我一共设计了四个表,书籍信息表、用户登录表、银行卡表
和订单表。
四个表的详细设计在上面数据库的设计中有说明,各表的关系也用E-R图展示出来了,这里就不在赘述了。
最后我觉得理论知识很必要,实践也不可缺少,只有在实践中才能更清楚的了解自己对理论知识的掌握程度,才能学以致用,把所学的知识运用到实践中去。
通过这次课程设计,我培养了自己的动手操作能力。
我基本经历了整个系统的开发:从需求分析,到系统的总体设计、详细设计,再到数据库的设计与实现,让我能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的软件设计与开发技能。