版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.新录入的书籍信息。
特价书籍。显示网上书店中5折与5折以下的特价书籍信息。
新注册用户。提供客户网上自助注册功能,填写注册表单并提交后,就能成为网上书店的用户,注册成功并登录后就可以进行网上购书了。
用户登录。供已注册的用户登录,登录后才能在网上购书。
网上购书。已登录的用户可以将需要购买的书籍放入购物车,可将已放入购物车中的书籍生成一订单并作确认,可将“未作确认”和缺货的订单取消。书店首页书店首页客户注册登录图书浏览图书查询书店简介查看购物车查看订单查看图书详细信息图书购买修改订购数量删除订购图书继续选购其他图书清空购物车提交购物车查看订单详细信息图4-2系统前台功能模块网上书店后台管理实现的功能有:入库管理。供管理员订购在库数小于安全在库数的书籍。
支付管理。供管理员支付所欠的资金。情报管理。供管理员对信息进行管理。书籍分类管理。供管理员对网上书店的书籍进行管理,可增加、修改、删除书籍的分类信息。
书籍资料管理。供管理员增加、修改、删除网上书店书籍的基本资料信息,主要是文本信息。用户管理。供管理员增加、修改、删除用户的基本信息。后台管理后台管理登录订单管理出库管理入库管理支付管理情报管理退出进货单制作图书入库进货信息查询支付票制作支付用户管理图书管理图书信息管理图书分类管理图4-3系统后台功能模块4.1.3完整的购书过程如果合并用户的前台购书流程和系统的后台订单处理流程,就会得到完整的购书流程,如图4-4所示。这个购书流程贯穿系统设计之中,是连接前、后台的核心流程。用户在前台浏览和查询图书,然后将图书放入购物车,通过提交购物车,生成图书订单,并实际支付(在线实时支付和汇款等),网上书店后台系统收到付款后根据订单发货,最后用户收到图书并确认(回执或签字等),这就完成了整个购书流程。选择图书选择图书加入购物车提交购物车生成订单收款发货收货确认图4-4整个购书流程4.2系统开发环境本系统采用的技术方案为JSP+Tomcat+MySql,即使用JSP作为Web服务器端开发语言,采用Tomcat作为Web服务器和JSP引擎,采用MySql作为后台网络数据库管理系统。本系统的开发环境如下所述:操作系统:WINDOWSXP;运行工具:IE6.0开发工具:MyEclipse5.1.0GA数据库:MySql服务器:Tomcat5.54.3数据库设计4.3.1数据库的概念数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。
数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。
物理数据层。它是数据库的最层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由部模式描述的指令操作处理的位串、字符和字组成。
概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义与数据间的逻辑联系,是存贮记录的集合。它所涉与的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。
逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
数据库不同层次之间的联系是通过映射进行转换的。数据库具有以下主要特点:
实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。
数据实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以与数据间的联系。
数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:安全性控制:以防止数据丢失、错误更新和越权使用;完整性控制:保证数据的正确性、有效性和相容性;并发控制:使在同一时间周期,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;故障的发现和恢复:由数据库管理系统提供一套方法,可与时发现故障和修复故障,从而防止数据被破坏。4.3.2数据库的选择本使用MySQL实现关系型数据库。MySQL是一个多用户、多线程的支持标准SQL语句的关系型数据库。它支持大文件与图像的存储,并且提供一个丰富和极其有用的功能集。它的特点是速度快,易用,稳定性能好,它由一个服务器守护程序MySQL和很多不同的客户程序和库组成。MySQL支持标准的ANSISQL语句,支持多种平台,在Unix系统上该软件支持多线程运行方式,从而能获得相当好的性能。大访问量查询加上修改时很容易阻塞,不支持事务处理使MySQL无法胜任关键的企业业务,不支持外键约束等等,使得数据的完整性只能靠开发人员自己保证.然而MySQL结构简单,又不包含一些复杂的高级的数据库功能,因此查询极快.这也是本系统选择MySQL的主要原因。4.3.3数据库表的描述图书表book的定义如表4-1所示:表4-1图书表book的定义字段类型KeyForeignKeyNull默认字段含义book_idint(11)PRI否主键,递增namevarchar(40)否书名bookClass_idint(11)bookClass否0图书类别authorvarchar(25)是NULL作者publisher_idint(11)publisher是NULLimage_urlvarchar(100)是NULL图片地址notestext是NULL容简介pricefloat是NULL价格is_recommendedint(1)是NULL是否推荐ratingint(11)是NULL投票分数rating_countint(11)是NULL投票次数图书分类表bookclass的定义如表4-2所示:表4-2图书分类表bookclass的定义字段类型KeyNull默认字段含义category_idint(11)PRI否分类编号,自增namevarchar(50)否分类名称管理员表admin的定义如表4-3所示:表4-3管理员表admin的定义字段类型KeyNull默认字段含义idvarchar(50)PRI是NULL管理编号passwordvarchar(50)是NULL密码书店信息表editorial的定义如表4-4所示:表4-4书店信息表editorial的定义字段类型KeyForeignKeyNull默认字段含义article_idint(11)PRI否主键,递增editorialclass_idint(11)editorialclass否信息分类IDarticle_titlevarchar(50)否信息标题article_descvarchar(20)是NULL信息描述book_idint(11)book是NULL图书ID书店信息分类表editorialclass的定义如表4-5所示:表4-5书店信息分类表editorialclass的定义字段类型KeyNull默认字段含义editorialclass_idint(11)PRI否主键,递增editorialclass_namevarchar(20)否信息分类名订单表orders的定义如表4-6所示:表4-6订单表orders的定义字段类型KeyForeignKeyNull默认字段含义order_idint(11)PRI否主键,递增guest_idint(11)guest否用户IDbook_idint(11)book否0图书IDquantityint(11)否0数量conditionint(1)是NULL状态pre_dateDate是NULL订购日期payoff_dateDate是NULL支付日期pro_dateDate是NULL处理日期ispayoffint(1)是NULL是否支付isconsignmentint(1)是NULL是否发货进货表inventory的定义如表4-7所示:表4-7进货表inventory的定义字段类型KeyForeignKeyNull默认字段含义inventory_idint(11)PRI否主键,递增payoff_dateDate否进货日期publisher_idint(11)publisher否0IDhope_inputDateDate否NULL希望到货期inputDateDate是NULL到货期sumfloat是NULL金额进货明细表inventorydetail的定义如表4-8所示:表4-8进货明细表inventorydetail的定义字段类型KeyForeignKeyNull默认字段含义inventory_idint(11)PRI否主键,递增book_idint(11)book否图书IDcountint(11)否0数量支付表payment的定义如表4-9所示:表4-9支付表payment的定义字段类型KeyForeignKeyNull默认字段含义payment_idint(11)PRI否主键,递增payDateDate否支付日期publisher_idint(11)publisher否0IDpayment_sumfloat否0支付金额表publisher的定义如表4-10所示:表4-10表publisher的定义字段类型KeyNull默认字段含义publisher_idint(11)PRI否主键,递增namevarchar(20)否名addressvarchar(50)否0地址postvarchar(11)否0telvarchar(11)是NULLregtimeDate是NULL登记日期remaining_sumfloat是NULL差款金额顾客表guest的定义如表4-11所示:表4-11顾客表guest的定义字段类型KeyNull默认字段含义guest_idint(11)PRI否主键,递增guest_loginvarchar(20)否登陆guest_passwordvarchar(20)否0登陆密码first_namevarchar(20)否0名字postvarchar(20)是NULLemailvarchar(20)是NULLEmailphonevarchar(20)是NULLaddressvarchar(20)否地址4.3.4数据库表之间的关系数据库表之间的关系图如图4-5所示:图4-5数据库表之间网上书店后台系统的实现5.1后台管理架构与实现后台管理后台管理入库管理支付管理情报管理进货单制作图书入库进货信息查询支付票制作支付用户管理分类管理信息目录图书管理信息编辑管理员管理管理图5-1后台管理结构图只有通过管理员登陆验证之后,才能进行管理员权限的各种管理功能,对于不具有管理员权限的用户,后台系统将不提供任何服务。5.2入库管理5.2.1进货单制作功能描述该类主要实现进货单制作。管理员在登录后可以显示“入库管理”菜单,选择“进货单制作”的操作,将会显示所有在库数小于安全在库数的ID,选中某个ID后点击查询按钮,将显示所有向该进货的图书的信息。其主要方法如下:selectShiiresakicode():取得图书在库数小于安全在库数的ID。selectShouhin():取得在库数小于安全在库数的图书的详细信息。insertHaqiyuuData():在库数小于安全在库数的图书登录进货表。模块流程图有有否无是否开始是管理?显示错误信息获取存在在库数小于安全在库数的图书的存在?显示不存在这样的图书显示这些ID结束查询进货详细信息图5-2进货单制作流程图打印进货单界面设计图5-3进货单制作界面5.2.2图书入库该类主要实现图书入库。其主要方法如下:updateHaqyuuhuragu():图书入库,修改进货flag。selectHacchuuShouhin():取得进货图书信息。selectHacchuuShouhin():取得进货图书的信息。updateHacchuuhuragu():更新进货flag。updateZaikosuu():更新图书在库数。功能描述管理员在登录后可以显示“入库管理”菜单,选择“图书入库”的操作,输入图书ID,点击“查询”进行查询该图书的图书信息。输入入库数量,点击“更新”进行图书在库数量的更新。模块流程图否否是否是开始输入图书ID查询图书信息存在?显示没有图书信息显示图书信息输入入库数量更新图书在库数更新成功?显示错误信息显示入库后在库数结束图5-4图书入库流程图界面设计图5-5图书入库界面5.3进货管理5.3.1进货信息查询功能描述该类主要实现进货信息查询。管理员在登录后可以显示“进货管理”菜单,选择“进货信息查询”的操作,通过进货ID查询信息,并对信息进行修改。其主要方法如下:getHacchuuData():取得信息。updateKaikakeKinZandaka():更新应还款金额。updateNounyuuHiduke():更新到货日期。界面设计图5-6进货信息查询界面模块流程图图5-7图5-7进货信息查询流程图是否否是输入进货ID查询存在?开始显示错误信息显示信息更新成功?更新信息显示错误信息结束5.3.2支付票制作功能描述该类主要实现支付票制作。管理员在登录后可以显示“进货管理”菜单,选择“支付票制作”的操作,通过输入ID和支付资金进行支付票制作功能。其主要方法如下:updateShiharaiHiduke():更新支付日付。模块流程图否否是开始输入ID和支付资金发行支付票?显示错误信息图5-8支付票制作流程结束打印支付票5.3.3支付功能描述该类主要实现支付。管理员在登录后可以显示“进货管理”菜单,选择“支付”的操作,输入支付ID,点击“查询”进行支付信息查询;点击“支付”进行支付信息登录。界面设计图5-9支付界面支付模块流程图是是否是否输入支付ID查询支付信息存在信息?显示错误信息显示支付信息登录成功?是?登录支付信息显示错误信息结束开始图5-10支付流程图5.4情报管理5.4.1用户管理功能描述该类主要实现用户管理。管理员在登录后可以显示“情报管理”菜单,选择“用户管理”的操作;输入关键字,点“查询”进行模糊查询;点“添加”进行新用户的添加;点列表中的某个账号进行该账号的更新与删除操作。其主要方法如下:insertMembers():负责添加用户。deleteMembers():负责删除用户信息。updateMembers():负责更新用户信息。selectAllMembers():查询所有用户信息。selectOrders():查询所有用户定购信息。用户管理模块流程图否否否是否是是开始显示所有用户信息进行模糊查询添加用户信息更新,删除用户信息显示错误信息添加成功?存在?更新成功?结束显示错误信息图5-11用户管理流程图显示用户信息显示用户信息用户管理界面设计图5-12用户管理界面1图5-13用户管理界面2图5-14用户管理界面35.4.2图书分类管理功能描述该类主要实现图书分类管理。管理员在登录后可以显示“情报管理”菜单,选择“分类管理”的操作;点“添加”进行新分类的添加;点列表中的某个分类名称进行该分类名称的更新与删除操作。其主要方法如下:selectCategories():查询所有分类信息;updateCategories():通过分类ID更新分类信息。deleteCategories():通过分类ID删除分类信息。insertCategories():插入分类信息。模块流程图是是是否否开始显示所有分类信息添加分类信息更新,删除分类信息显示错误信息添加成功??更新成功?结束图5-15分类管理流程图显示所有分类信息显示分类信息5.4.3图书信息目录管理该类主要实现图书信息目录管理。管理员在登录后可以显示“情报管理”菜单,选择“信息目录”的操作;点“添加”进行新信息目录的添加;点列表中的某个信息目录名称进行该信息目录的更新与删除操作。其主要方法如下:selectEditorial_categories():查询所有图书信息目录。updateEditorial_categories():通过信息目录ID更新信息目录。deleteEditorial_categories():通过信息目录ID删除信息目录。insertEditorial_categories():插入信息目录。5.4.4图书信息编辑管理该类主要实现图书信息编辑管理。管理员在登录后可以显示“情报管理”菜单,选择“信息编辑”的操作;点“添加”进行新信息的添加;点列表中的某个信息名称进行该信息的更新与删除操作。其主要方法如下:selectEditorials():查询所有信息。updateEditorials():通过信息ID更新信息。deleteEditorials():通过信息ID删除信息。insertEditorials():插入信息。5.4.5图书管理功能描述该类主要实现图书管理。管理员在登录后可以显示“情报管理”菜单,选择“图书管理”的操作;选择图书类型和是否推荐图书进行图书查询操作;点“添加”进行新图书的添加;点列表中的某个图书名称进行该图书信息的更新与删除操作。其主要方法如下:selectBooks():查询所有图书信息。updateBooks():通过图书ID更新图书信息。deleteBooks():通过图书ID删除图书信息。insertBooks():插入图书信息。模块流程图是是否否是是否开始显示所有图书信息模糊查询添加图书信息更新,删除图书信息显示错误信息添加成功?存在?更新成功?结束显示错误信息图5-16图书管理流程图显示图书信息显示图书信息界面设计图书查询界面如图5-17所示:图5-17图书查询界面图书编辑界面如图5-18所示:图5-18图书编辑界面添加新图书界面如图5-19所示:图5-19添加新图书界面5.4.6管理员管理该类主要实现管理员管理。管理员在登录后可以显示“情报管理”菜单,选择“管理员管理”的操作;输入关键字进行管理员模糊查询;点“添加”进行新管理员的添加;点列表中的某管理员名称进行该管理员信息的更新与删除操作。其主要方法如下:selectAdmins():通过管理员账号进行模糊查询updateAdmin():通过管理员ID更新管理员信息。deleteAdmin():通过管理员ID删除管理员信息。
insertAdmin():添加管理员。5.4.7图书货源地管理该类主要实现图书货源地管理。管理员在登录后可以显示“情报管理”菜单,选择“管理”的操作;输入关键字进行信息模糊查询;点“添加”进行新的添加;点列表中的某名称进行该信息的更新与删除操作。其主要方法如下:selectPublishers():通过名进行模糊查询。updatePublisher():通过ID更新信息。deletePublisher():通过ID删除信息。insertPublisher():插入信息。系统测试与运行6.1单元测试随着敏捷开发方法的风行,单元测试的思想也在遍地开花。越来越多的开发人员和公司开始学习和接受这种思想,并且在日常的开发工作中进行一些尝试。但是在尝试中,人们却遇到了不少问题和障碍。比如,如何将单元测试的思想传播给小组中的每一位成员,并让他们心悦诚服地接受;如何坚持这种边写边测的做法并最终养成一种习惯;如何进行高效的单元测试,而不是把时间无意义地浪费在对getter、setter的测试之上。在使用XP进行开发的过程,unittest是必不可少的环节。作为unittest,junit是首选工具。6.1.1测试基本步骤Junit的使用非常简单.它的基本使用步骤:创建:从junit.framework.TestCase派生unittest需要的testcase;
书写测试方法:提供类似于如下函数签名的测试方法:publicvoidtestXXXXX();编译:书写完testcase后,编译所写的testcase类;
运行:启动junittestrunner,来运行这个testcase.6.1.2测试用例以图书管理为例介绍测试的过程。测试用例为:图书类型为Programming,推荐图书为yes。6.1.3测试结果该测试用例的运行结果如下图所示:图6-1运行结果通过测试,系统的各个单元模块都能各自正常运行。6.2结合测试结合测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。将各个单元模块装配成一个完整的系统,通过测试,可以正常运行,能够达到预期的结果。结论顺利如期的完成本次毕业设计给了我很大的信心,让我了解专业知识的同时也对本专业的发展前景充满信心,网上书店系统采用了一些新的技术和设备他们有着很多的优越性但也存在一定的不足,这些不足在一定程度上限制了我们的创造力。只有发现问题面对问题才有可能解决问题,不足和遗憾不会给我打击只会更好的鞭策我前行,今后我更会关注新技术新设备新工艺的出现,并争取尽快的掌握这些先进的知识,更好的为祖国的四化服务。经过这次毕业设计和对相关资料的收集,让我清楚的感到随着网络科技的不断发展和网络的广泛应用,使我们的生活离不开它了。网络它以自己的独特的优点征服了我们。在教育越来越受重视的21世纪,随着
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拒绝校园暴力友善相伴共成长六年级主题班会课件
- 小学生心理健康:认识情绪学会表达自我小学主题班会课件
- 2026二下数学第七单元核心素养课件
- 2026二下数学第八单元公开课课件
- 国企 DRP 系统建设与数据治理实操指南
- 客户关系管理领域增强客户粘性方案
- 月度经营分析报告提交提醒函(4篇范文)
- 项目实施计划调整说明的确认函4篇
- 安全意识培训小学主题班会课件
- 催办2026年业绩考核指标完成情况函4篇
- 2024年阿维菌素市场分析:全球阿维菌素市场规模约为7.5亿美元
- GB/T 21837-2023铁磁性钢丝绳电磁检测方法
- 康复治疗师考试知识点汇总
- 传播学教程课件
- 名著导读《水浒传》教学设计-部编版语文九年级上册
- 维克多高中英语3500词汇
- 西方古典家具发展史
- JJF 1921-2021 GNSS行驶记录仪校准规范
- WS 322.1-2010胎儿常见染色体异常与开放性神经管缺陷的产前筛查与诊断技术标准第1部分:中孕期母血清学产前筛查
- GB/T 29107-2012道路交通信息服务交通状况描述
- 《国际传播学》课程教学大纲
评论
0/150
提交评论