购书中心管理信息系统华工数据库大作业含源文件.docx
《购书中心管理信息系统华工数据库大作业含源文件.docx》由会员分享,可在线阅读,更多相关《购书中心管理信息系统华工数据库大作业含源文件.docx(25页珍藏版)》请在冰豆网上搜索。
购书中心管理信息系统华工数据库大作业含源文件
《数据库原理与设计》大作业(含答案)
一、内容:
购书中心管理信息系统
某购书中心需建立一个信息管理数据库来存储管理以下信息(最少要求):
*购书中心信息包括购书中心编码,名称,总经理,运营费用。
*购书中心内有多个部门,每个部门有部门号、部门主管姓名、地址,电话及每个月的部门运营费用。
*每个部门有多个员工,每个员工有员工号、姓名、年龄、性别,职位及月工资。
*每个部门销售不同类型的书籍,书籍有编号、书名、规格,采购成本和零售价格、批发价格。
*书籍采购自出版商,出版商有编码,名称,联系电话,联系地址。
*所有的书籍存在商场购书中心或仓库中。
*购书中心有多个仓库,仓库有仓库号,仓库管理者姓名、电话及仓库的运营成本。
应完成的主要功能:
(1)基础信息管理功能,如购书中心信息的管理功能,包括录入、修改、查询、输出超市的信息;部门信息的管理功能,包括录入、修改、查询、输出部门的信息;还有员工,书籍,出版商,仓库等的信息管理功能。
(2)购书中心的进销存功能模块,包括进货,销售,库存以及盘点等常见功能。
(3)购书中心的利润统计功能,包括月利润和年利润统计;并能输出各种报表,如员工工资月报表,年报表;每个部门销售的书籍的月报表;仓库存储书籍的月报表;购书中心的运营开销和部门运营开销的月报表等。
二、开发环境
数据库选用微软的SQLSERVER。
开发工具可以选择:
(1)Delphi;
(2)VisualBasic;(3)C++builder;(4)VisualC++;(5)VisualC#;(6)自选。
三、基本要求
(1)完成上面所提及的所有需求
(2)要求撰写不少于2500字符的Word文档。
(3)文档中至少要包括:
ER模型图、系统功能图、数据字典、表关系的详细说明。
(4)用户界面设计:
采用图形界面菜单驱动,界面要友好,操作要简单,C/S和B/S架构自由选择。
(5)用户手册,描述软件系统所具有的功能及基本的使用方法。
使用户能了解该软件的用途,并能确定在什么情况下、如何使用它。
四、文档格式
1、概述
包括项目背景、编写目的、软件定义、开发环境等内容。
2、需求分析
问题陈述、需完成的功能。
画出ER模型图
3、数据库逻辑设计
把ER模型图转换为关系表。
描述每一个基本表关系。
要求所有关系达到BCNF范式。
定义视图、定义索引、主关键字、定义权限。
4、软件功能设计
画出软件功能图。
描述每一个功能所完成的任务情况。
5、界面设计
界面设计要合理。
6、结束语
写出完成本课程设计的心得,领会数据库理论与软件开发实践的关系。
有哪些收获。
软件还需要哪些改进。
7、参考文献。
评分标准:
1.优――完成上述题目的所有内容,并能适当扩展需求功能,功能完善,文档详细,数据库设计合理,人机接口界面好。
2.良――完成上述题目的大部分内容,功能完善,文档详细,数据库设计较合理,人机接口界面较好。
3.中――完成上述题目的大部分内容,功能基本完善,文档较详细,数据库设计基本合理,有基本的人机接口界面。
4.及格――基本完成上述内容,只有基本功能文档。
5.不及格――未按时完成上述内容,或者抄袭(雷同者全部为不及格)。
一、需求分析
1.1背景分析
伴随着互联网快速发展的大潮流,电子商务将成为21世纪主流的商业模式。
它通过人与电子通信方式的结合,依靠计算机网络,以通讯技术为基础,实现各个领域的网上营销。
网上书城与传统实体书店相比,网上书城的经营方式和销售渠道是全新的。
另外一方面,网上书城可以及时的向在线网民提供最新的书籍信息,提供的服务也是相当完善。
小组成员经过讨论决定设计开发“基于Web的网上书城系统”,希望可以为同学们提供一个销售平台并进一步拓展市场。
1.2可行性分析
1.2.1技术可行性
此网上购书系统可以运用于windowsxp,windows7,windowsserver2000/2003操作系统。
对计算机的硬件配置没有太高要求,现在的个人电脑基本完全可以满足条件。
对于浏览器的要求也没有特定的版本限制。
1.2.2经济可行性
本系统可以运用于现在市场上所出售的各种个人电脑,成本主要集中在系统的开发上,而且当系统投入运营后,可以逐渐发展成为一个B2C的网上销售系统。
其所带来的经济效益远远大于系统软件的开发成本。
在另外的角度考虑,若可以结合当下的网络营销环境以及网上购书系统存在的弊端进一步进行优势性的发展,很有可能可以占据一片属于自己的市场。
1.2.3操作可行性
界面设计充分考虑到用户的习惯,图书信息浏览、会员注册登录、购书等功能操作方便。
页面设计简洁、合理,不会让用户感到视觉疲劳。
由于界面以及功能的专一性,不会令用户产生厌烦的情绪,换言之,开发人员与测试人员积极沟通,大大提升了系统的可操作性。
1.2.4用户体验性
用户体验当前各类网站、软件、APP开发所必须考虑的首要条件,本系统在考虑用户的体验性时刻意将系统简化,功能突出,网站的核心突出。
希望老师同学在测试过程中可以体验到不一样的舒适。
1.3功能需求
对书店的图书信息和用户信信息的进行有效的管理;对图书的添加、存储、销售、订单的管理等环节进行信息化管理;实现读者网上浏览图书,网上购书的便捷性功能。
1.4性能需求
数据库的录入;图书检索;用户信息查询;图书信息查询;网上购书;订单查询;订单管理。
1.5安全与保密性
书店中所有的图书能够供用户随时查阅;用户的个人信息可以由用户自己修改、添加;书店图书的信息只能由书店管理人员添加、修改;所有注册用户信息只能由书店管理人员查询。
系统设计的安全性、便于管理等各个方面均十分重要。
本系统一方面给以用户一定的权限,另一方面又限制用户的权限保障用户信息的安全。
二、功能模块
设计系统过程中对于各个模块的设计以及对象与各个模块的操作关系至关重要。
2.1系统功能概述
2.1.1前台设计
(1)用户注册
(2)用户登录
(3)图书选购,购物车功能(订单管理、查看购物车)
(4)查看图书的详细情况(图书详情、图书信息摘要)
(5)查看用户的订单信息
(6)修改用户个人信息(登录密码修改、用户信息修改)
2.1.2后台数据库设计
后台数据库设计行营的数据表对系统内需要记录、修改、整合的信息进行记录,便于系统的管理运营。
(1)书城图书管理:
添加,修改,删除,查看
(2)用户信息管理:
查看,修改,删除
(3)订单信息管理:
查看信息详情,更新订单付款,出货状态,删除订单。
2.2功能模块图
2.3用户与主要模块关系图
三、总体设计
3.1文件路径设计
设置项目文件夹bookshop在ApacheTomcat的相应服务目录下,所有的jsp文件直接存放在该文件夹下,bookshop\image存放项目开发用到的所有图片,bookshop\WEB-INF\tags存放项目开发的所有tag文件。
服务器IP地址为http:
//10.6.183.107,开放端口为8080。
3.2前台设计理念
通过简约的设计理念完成一个多功能的系统使我们的开发核心。
作为一个购书平台,考虑到用户需要及时了解书籍的更新情况、书籍的详细资料、实现下单功能、查看个人用户的购物车及订单信息,开发人员将这些基本功能整合完成一个简单的基于Web的网上书城系统,最大可能的为用户提供简易平台完成购书、了解书籍的情况的实现操作。
3.3数据库设计理念
采用SQLServer2005数据库开发后台数据管理平台,建立相应的数据库bookshop,并建立用户表、图书信息表、订单信息表进行数据管理。
方便管理员对用户数据维护。
同时运用纯Java的数据连接方式实现JSP界面与数据库中数据的通信。
设计数据库过程中需要注意启用TCP/IP协议、NamedPipes协议,如下图所示:
3.4用户体验值评估
基于考虑以上内容,我们小组内认识到本系统以简约赢得较多用户的支持,然而存在功能的不完善从而导致用户评价值低的结果,但小组成员已尽最大努力完善系统,并会继续吸纳用户及专业人士的建议优化系统。
四、数据库设计
4.1概述
由于本系统需要对所学的专业知识有所巩固,而且对数据库有一定的要求,因此采用SQLServer2005数据库作为数据库设计工具。
系统的所有数据都存于bookshop数据库中,该数据库共有三个表。
4.2数据表
4.2.1用户表users
(1)结构:
如图所示:
(2)用途:
存储用户的信息,即会员的注册信息存入user表中。
users表的主键是logname,各个字段值的说明如下:
Logname:
存储注册的用户名(字符型)
Password:
存储登陆密码(字符型)
Phone:
存储电话(字符型)
Email:
电子邮件(字符型)
Address:
存储通信地址(字符型)
Realname:
存储真实姓名(字符型)
说明:
如下是将测试用户的注册信息提前写入数据表users的截图:
4.2.2图书信息表bookForm
(1)结构:
如图所示:
(2)用途:
存储图书信息。
bookForm表的主键是bookISBN,各字段值得说明如下:
bookPic:
存储于图书相关的一副图像文件的名字(字符型)
BookISBN:
图书的ISBN(字符型)
bookName:
图书的名称(字符型)
bookAuthor:
图书的作者(字符型)
bookPrice:
图书的价格(单精度浮点型)
bookPublish:
图书的出版商(字符型)
bookAbstract:
图书的摘要(字符型)
说明:
如下是将测试图书信息提前写入数据表bookForm的截图:
4.2.3订单信息表orderForm
(1)结构:
如图所示:
(2)用途:
存储订单信息。
orderForm表的主键是orderNumber,各字段值的说明如下:
orderNumber:
存储订单号(int型)
Logname:
存储注册的用户名(字符型)
orderMess:
订单信息(字符型)
Sum:
所定图书的价格总和(单精度浮点型)
说明:
如下是将测试订单信息提前写入数据表orderForm的截图:
五、详细设计
5.1概述
本系统使用的Web服务目录是bookshop,是在Tomcat安装目录的webapps目录下建立的服务目录。
需要在当前服务目录下建立如下的目录结构:
Bookshop:
webapps\ROOT\bookshop,其中存放着开发系统所需要的所有的JSP界面和图片。
WEB-INF:
webapps\ROOT\WEB-INF\tags,其中存放着开发中调用的所有tag文件。
附加说明:
head.txt:
该文件涵盖的内容所有界面必须存在的导航条,为便于对系统进行维护,其他JSP界面通过<%@include…%>标记将导航条内的内容嵌入到自己的页面。
head.txt存放在webapps\ROOT\bookshop中。
5.2网站首页
index.jsp
主页index.jsp由导航条、欢迎语句以及首页图片welcome.jpg组成,该图片保存在Apachetomcat指定目录下的bookshop中。
用户可以通过在浏览器的地址栏键入http:
//10.6.183.107:
8080/访问。
运行界面如图所示:
5.3用户注册界面
该模块要求用户必须输入用户名、密码信息,否则不允许注册。
用户的注册信息被存入数据库的users表中。
该模块由一个JSP页面Register.jsp和一个Tag文件Register.tag构成。
页面负责提交用户的注册信息到本页面,然后调用Register.tag文件。
Register.tag文件负责将用户提交的信息写入数据库的users表中。
5.3.1Register.jsp
Register.jsp负责提供输入注册信息界面,并显示注册反馈信息。
该页面将用户提奖的注册信息交给Register.tag文件,并显示Tag文件返回的有关注册信息是否成功的信息。
Register.jsp页面效果如图所示。
5.3.2Register.tag
Tag文件的名字是Register.tag,负责连接数据库,将用户提交的信息写入到users表,并返回有关注册是否成功的信息给Register.jsp页面。
5.4用户登录界面
用户在该模块输入曾注册的用户名和密码,该模块将对用户名和密码进行验证,如果输入的用户名和密码有错误,将提示用户输入的用户名或密码不正确。
该模块由一个JSP页面Login.jsp和一个Tag文件Login.tag构成。
Login.jsp负责提交用户的登录信息到本页面,然后页面调用Login.tag文件。
Login.tag负责验证用户名和密码是否正确,并返回登陆是否成功的消息给Login.jsp页面。
5.4.1Login.jsp
JSP页面Login.jsp负责提交用户的登录信息到本页面,然后页面调用Login.tag文件,并负责显示Login.tag文件的反馈信息,比如登录是否成功等,Login.jsp页面效果如图所示。
5.4.2Login.tag
Login.tag文件负责连接数据库,查询users表中的注册信息,以便验证用户名和密码是否正确。
并返回登录是否成功的信息给JSP页面Login.jsp。
5.5浏览图书信息界面
该模块由一个JSP页面LookBook.jsp和一个Tag文件ShowBookByPage.tag构成。
LookBook.jsp页面负责调用ShowBookByPage.tag文件,ShowBookByPage.tag文件负责显示图书信息。
5.5.1LookBook.jsp
LookBook.jsp负责调用文件,并将有关数据源、表的名称以及需要显示的页码等信息传递给Tag文件,然后显示Tag文件返回的有关信息。
LookBook.jsp页面的效果如图所示。
5.5.2ShowBookByPage.tag
ShowBookByPage.tag负责连接数据库,查询bookForm表,并将查询到的图书信息反馈给JSP页面LookBook.jsp。
5.6查询图书信息界面
该模块由一个JSP页面FindBook.jsp和一个Tag文件FindBook.tag构成。
FindBook.jsp页面负责调用FindBook.tag文件,FindBook.tag文件负责显示图书信息。
5.6.1FindBook.jsp
FindBook.jsp页面负责调用FindBook.tag文件,并将有关数据源、表的名称以及ISBN、作者名或图书名称等信息传递给该Tag文件,然后显示Tag文件返回的有关信息。
FindBook.jsp页面效果如图所示。
5.6.2FindBook.tag
FindBook.tag文件负责连接数据库,查询bookForm表,并将查询到的图书信息反馈给JSP页面FindBook.jsp。
5.7查看购物车界面
该模块由一个JSP页面LookPurchase.jsp和一Tag文件LookPurchase.tag构成。
LookPurchase.jsp页面负责调用LookPurchase.tag文件,LookPurchase.tag文件负责显示用户购物车(session对象)中的图书。
5.7.1LookPurchase.jsp(显示当前的订单)
LookPurchase.jsp负责将用户购买的图书添加到用户的购物车(session对象),并可以根据用户的选择从购物车中删除曾添加到购物车中的图书。
LookPurchase.jsp页面负责调用LookPurchase.tag文件,并显示Tag文件返回的相关信息。
用户在LookPurchase.jsp页面可以确定是否生成订单。
LookPurchase.jsp页面效果如图所示。
5.7.2LookPurchase.tag
LookPurchase.tag文件负责显示用户购物车(session对象)中的图书,并计算出购物车中图书的总价,然后将这些信息返回给LookPurchase.jsp页面。
5.8订单预览界面
该模块由一个JSP页面PreviewOederFrom.jsp和一个Tag文件PreviewOederFrom.tag构成。
PreviewOederFrom.jsp页面负责调用PreviewOederFrom.tag文件,并显示PreviewOederFrom.tag文件返回的待确定订单。
5.8.1PreviewOrderForm.jsp
PreviewOederFrom.jsp页面负责调用LookPurchase.tag文件,并显示其返回的订单。
用户在PreviewOederFrom.jsp页面可以选择是否确定订单。
PreviewOederFrom.jsp页面的效果如图所示。
5.8.2PreviewOrderForm.tag
PreviewOederFrom.tag文件根据用户购物车中的图书生成订单,然后将订单返回给PreviewOederFrom.jsp页面。
5.9确认订单界面
该模块由一个JSP页面MakeOrderForm.jsp和一个Tag文件MakeOrderForm.tag构成。
MakeOrderForm.jsp负责调用MakeOrderForm.tag文件,并显示MakeOrderForm.tag返回的确认的订单。
5.9.1MakeOrderForm.jsp
MakeOrderForm.jsp页面负责调用MakeOrderForm.tag文件,并将订购图书的有关信息传递给Tag文件。
MakeOrderForm.jsp页面效果如图所示。
5.9.2MakeOrderForm.tag
MakeOrderForm.tag文件负责连接数据库,将订单写入到数据库中的orderFrom表,达到确定订单的目的,然后将订单信息返回给MakeOrderForm.jsp页面。
5.10查询订单界面
该模块由一个JSP页面QueryOrderForm.jsp和一个Tag文件QueryOrderForm.tag构成。
QueryOrderForm.jsp负责调用QueryOrderForm.tag文件,并显示Tag文件返回的订单信息。
5.10.1QueryOrderForm.jsp
QueryOrderForm.jsp页面负责调用QueryOrderForm.tag文件,并将用户登录的用户名传递给该Tag文件。
QueryOrderForm.jsp页面的效果如图所示。
5.10.2QueryOrderForm.tag
QueryOrderForm.tag文件负责连接数据库,查询orderFrom表,然后将订单信息返回给QueryOrderForm.jsp页面。
5.11修改密码界面
该模块由一个JSP页面ModifyPassword.jsp和一个Tag文件ModifyPassword.tag构成。
ModifyPassword.jsp负责调用ModifyPassword.tag文件,并显示ModifyPassword.tag文件返回的有关修改密码是否成功的信息。
5.11.1ModifyPassword.jsp
ModifyPassword.jsp页面负责调用ModifyPassword.tag文件,并将用户名、当前密码和新密码传递给该Tag文件。
ModifyPassword.jsp页面的效果如图所示。
5.11.2ModifyPassword.tag
ModifyPassword.tag文件负责连接数据库,查询、更新user表,然后将密码是否更新成功的信息返回给ModifyPassword.jsp页面。
5.12修改登录信息界面
该模块由一个JSP页面ModifyRegister.jsp和两个Tag文件ModifyRegister.tag和GetRegister.tag构成。
ModifyRegister.jsp页面负责调用GetRegister.tag文件,并显示GetRegister.tag文件返回的用户曾注册的有关信息;ModifyRegister.jsp页面调用Tag文件ModifyRegister.tag文件,并显示ModifyRegister.tag文件返回的有关修改注册信息是否成功的信息。
5.12.1ModifyRegister.jsp
ModifyRegister.jsp页面负责调用GetRegister.tag文件,并显示GetRegister.tag文件返回的用户曾注册的有关信息;ModifyRegister.jsp页面调用Tag文件ModifyRegister.tag文件,并将用户名的新信息传递给Tag文件。
ModifyRegister.jsp页面的效果如图所示。
5.12.2GetRegister.tag
GetRegister.tag文件负责连接数据库,从user表查询用户曾注册的信息。
5.12.3ModifyRegister.tag
ModifyRegister.tag文件负责连接数据库,更新user表,以改变用户的注册信息。
5.13退出登录界面
ExitLogin.jsp
该模块只有一个名字为ExitLogin.jsp的页面,负责销毁用户的session对象,导致登录失效。
ExitLogin.jsp页面的效果如图所示。
六、关键技术
6.1前期设计技术
(1)Excel表格整理数据表;
(2)UML绘制功能模块图;
(3)RationalRose绘制对象与功能模块的关系图;
6.2开发技术
(1)本系统是在Win7下;
(2)以SQLServer2005为数据库开发平台;
(3)ApacheTomcat6.0网络信息服务作为应用服务器;
(4)采用JSP(JavaServerPages)技术;
(5)基于Web的开发模式选用JSP+tag(B/S模式);
6.3测试技术
采用JMETER测试工具。
七、系统测试
7.1Web网站测试的概述
随着网络的普及和Web应用技术的成熟,基于Web服务器的应用系统逐渐进入视野;然而当Web应用的数据量和访问用户量日益增加,系统不得不面临性能和可靠性方面的挑战。
因此,无论是开发商或是最终用户,都要求在上线前对系统进行科学的性能评价,从而降低系统上线后的性能风险。
针对不同的性能指标,采用如下不同的测试方法:
(1)负载测试:
找到系统的处理极限,为系统调优提供数据;
(2)压力测试:
测试系统在CPU、内存等饱和状态下可以处理的会话能力,以及系统是否会出现错误.StressTesting;
(3)并发测试:
模拟用户的并发访问,测试多用户访问同一应用,同一模块或者数据记录时是否存在死锁或者其他性能问题。
7.2JMETER测试
下载地址:
(1)JDK:
(2)JMeter:
http:
//jmeter.apache.org/download_jmeter.cgi
(3)JMeter插件:
http:
//jmeter-plugins.o