《SSH项目开发实训设计说明书.doc》由会员分享,可在线阅读,更多相关《SSH项目开发实训设计说明书.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateSSH项目开发实训设计说明书JSP网站生成工具应用SHH 项目开发实训设计说明书姓 名: 吴现利 学 号: 20111130122 班 级: 11软件技术 指导教师: 苏秀芝 完成日期: 2013.12.25 -设 计 要 求考核目的通过实践考核,使学生巩固Java EE的知识结构、程序设计思想设计模式,使学生掌握Struts2+Hibernate+Spring+AJ
2、AX+JQuery进行WEB项目的开发,具备开发中小型WEB项目的能力。考核项目要求考核方式:课程设计考核内容:系统开发。要求:1.根据自己确定的WEB项目,进行网站规划与分析:(1) 网站结构(2) 内容功能(3) 界面设计(4) 后台处理功能设计(5) 分析报告的思路要清晰,分析要到位。2、完成网站的设计与制作(1)设计目的 掌握设计开发一个网上图书管理系统(自选题目)的技术和方法。(2)设计内容使用Struts2+Hibernate+Spring+AJAX+JQuery进行网站的开发,系统包括包含教师、学生二级用户,教师负责录入用户管理,图书管理;学生能实现查询图书、查询自己的借阅情况。
3、(3)设计步骤 1) 对所开发的网上图书管理系统进行规划2) WEB项目的功能设计3) 数据库设计4) 前台设计5) 后台设计6) 网站调试目 录一 概述11.1 需求分析11.2编写目的11.3背景11.4经济可行性11.5技术可行性21.6用户分析21.7网上书店系统的特点21.8定义21.9系统结构3二.物理结构设计3三.数据库的实施53.1创建数据库63.2.创建admin 表73.3创建book表83.4创建customer 表93.5创建orderlist 表103.6创建userorder表11四.执行操作124.1添加用户124.2更新数据134.3删除数据144.4查询数据1
4、5五.总结16参考文献171 概述1.1 需求分析在需求分析阶段,主要分析了用户的各种需求,在此基础上确定了新系统的功能,具体内容包括编写目的、开发背景、相关定义、系统结构等部分。1.2编写目的 随着信息技术的发展与普及,网络竞争越发的激烈、残酷,传统的营销方式在现今的社会竞争中已经力不从心,尤其是书本的营销。客户作为市场的最大资源,已经成为了市场营销的核心,谁争取到了最多的客户,谁就取得了最大的成功,对客户的把握将最终决定企业的命运。书籍网络营销于一种新的营销模式出现在当前人们的生活中,而随着电子商务的发展,人们已经更多地关注了网上购物,这就无形中对网上书店的管理提出了更高的要求,需要其现代
5、化、系统化、规范化、高效化。如何更加完善自身的管理,扩大网上书城的知名度,提高经济效益,增加客户量,成为网上书店管理迫切需要解决的问题。 网上书店管理的特殊性在于书籍信息量大、信息更新快、客户信息量大、客户反馈信息量大、信息间关联多、涉及的各层管理人员复杂。 同时其分工、权限又各不相同,如果所有的工作都按部就班地手工完成,将在很大程度上浪费劳动力和时间,降低工作效率。 因此通过引进计算机管理系统,把大量的工作微机化管理,这样就可以实现高效、安全、合理的管理模式,本系统就是基于这样一个目的来编写的。1.3背景 数据库名称:bookshop软件系统名称:网上书店管理系统 1.4经济可行性 现在做电
6、子商务的网站很多,网络书店就只有那么几个屈指可数的知名网站,像是“当当网上书城”、“卓越网”等 正是由于网上书店的数量少,而且不规范,以及在网络书店的客户量上存在很大的发展空间,为满足广大读者朋友的需求,网上书店的系统的建立将是未来一笔可观的财富。1.5技术可行性 网络管理日益趋向于系统化、完整化、人性化。在网络书店的数据库设计上,我们运用到SQL2008编程,具有完善的数据库设计思想和操作能力。1.6用户分析 随着网络的普及,越来越多的读者都习惯在网上看书、买书。在网络上用户可以找到自己想要的书籍,解决了用户区域性的问题,为广大读者提供一个平台能够找到珍贵的书籍。网上书店数据库系统是针对广大
7、的读者,在线的用户量极具的增加,网上读书的客户量也在扩大,例如“当当”网上书城、“卓越”网。我们在整个书店的管理上将网络书籍进行分类,包括用用户登录、用户管理、书的管理、订单管理等,以便更好的熟悉整个网络书店的后台数据库的运行环境。 1.7网上书店系统的特点 简单性:在实现平台的功能的同时,尽量让平台操作简单易懂。 针对性:平台设计使网上书店系统我们的数据库设计主要是后台管理,所以具有很强的针对实用性:我们在数据库设计的时候,将用户、管理员、书籍等基本信息在数据库中存储,具有良好的实用1.8定义 所有的表名的命名规则 : 所有的表名用具有实际含义的英文单词组成,本系统共有5张表: admin:
8、记录管理员的信息book:记录书籍的信息customer:记录用户的信息orderslist:订单表,记录订单信息 userorder:订单的记录信息,记录购买的用户的信息1.9系统结构 根据网上书店的项目功能需求及对网上书店的调研,该系统的系统总体结构如下图所示。 删除用户查看订单查询图书修改图书删除图书添加图书用户管理用户前台管理后台管理图书管理订单管理网上书店系统查询图书查看订单用户注册用户登录图书购买图1-1物理系统结构图2.物理结构设计为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,这就是物理设计所要完成的任务。用表格来描述出数据库的内容,分别建立如下五个表格,通过主
9、键和外键的连接构成一个小型数据库。如下所示:管理员(admin)数据表:字段名字段类型长度idvarchar10passwordvarchar10book表:字段名字段类型长度idvarchar10namevarchar50authorvarchar15publishervarchar30typevarchar10pricevarchar15stockvarchar10customer表:字段名字段类型约束控制idvarchar11passwordvarchar20namevarchar8sexvarchar2addressvarchar20telvarchar20registertimeda
10、tetimeuserorder表:字段名字段类型约束控制idvarchar10usernamevarchar8dayintmoneyintorderlist表:字段名字段类型约束控制uservarchar8 bookvarchar50sumvarchar10moneyint3.数据库的实施数据库实施是指在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。3.1创建数据库图3-1创建数据库CREATE DATABASE bookshop ON PRIMARY ( NAME = Nbookshop, FILENAME = ND:bookshopbookshop.mdf , SIZE
11、 = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = Nbookshop_log, FILENAME = ND:bookshopbookshop_log.ldf , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)GO ALTER DATABASE bookshop SET COMPATIBILITY_LEVEL = 100 GO3.2.创建admin 表图3-2图 创建admin表CREATE TABLE dbo.admin(id varchar(1
12、0) primary key,password varchar(10) NULL,)3.3创建book表图3-3创建book表CREATE TABLE dbo.book(id varchar(10) primary key,name varchar(50) NULL,author varchar(15) NULL,publisher varchar(30) NULL,type varchar(10) NULL,price varchar(15) NULL,stock varchar(10) NULL,)3.4创建customer 表图34 创建customer表CREATE TABLE dbo
13、.customer(id varchar(11) primary key,password varchar(20) NULL,name varchar(8) NULL,sex varchar(2) NULL,address varchar(20) NULL,tel varchar(20) NULL,registertime datetime NULL,)3.5创建orderlist 表图35 创建orderlist表CREATE TABLE dbo.orderlist(id varchar(10) primary key,user varchar(20) NULL,book varchar(3
14、0) NULL,sum varchar(10) NULL,money varchar(20) NULL,)3.6创建userorder表图36 创建userorder表CREATE TABLE dbo.userorder(id varchar(10)primary key,username varchar(10) NULL,day varchar(20) NULL,money varchar(20) NULL,)4.执行操作4.1添加用户图41 添加用户insert into customer(id,password,name,sex,address,tel,registertime)valu
15、es(1,weifeng,weifeng,女,青岛滨海学院,123,1991-12-24)insert into customer(id,password,name,sex,address,tel,registertime)values(2,mifeng,mifeng,男,青岛滨海学院,123,1990-12-24) 4.2更新数据图42 更新数据update customerset address=莱芜where id=14.3删除数据图43 删除数据delete from customerwhere id=14.4查询数据图44 查询数据select id, password from a
16、dminwhere id=mifeng5、模块设计5.1前台模块5.1.1会员注册客户如果想访问滨海在线书店购书,需要先进行注册,注册时需要填写自己的个人真实信息,以便购买图书后的卖家及时配送。会员注册功能界面如下图所示:图5.1 用户注册界面注册时每一条信息都必须填写,如果不填,则给出友好提示,如下图所示:图5.2 用户注册界面输入为空错误提示两次输入的密码必须一致,如果不一致则给出友好提示,如下图所示:图5.3用户注册两次输入密码不一致错误提示 像这种弹出窗口的提示还有用户的电话号码和邮编是否为数字的验证,用户名、密码是否超过数据库规定长度等等,这些在浏览器端的提示都是通过javascri
17、pt的正则表达式来实现。点击注册按钮后,表单数据提交到CustomerServlet,CustomerServlet接收表单数据,把表单数据封装到Customer对象中,调用CustomerServiceImpl类中的saveCustomer(Customer customer)方法,把该Customer所有信息存入数据库,如果c_id存在则提示用户该登录名已经存在。此处还使用了数据库操作的辅助类DBUtil、SqlHelper类以及dbinfo.properties配置文件。DBUtil类使用了Singleton模式(单例模式)封装了JDBC连接数据库和关闭数据库的方法,使用简便,提高了加载
18、效率,相比多次实例化数据库对象节省了堆内存空间,同时也实现了代码的复用。dbinfo.properties文件存储了数据库连接需要的参数,本项目使用的是mysql,如果需要更换为oracle、sqlserver或其他数据库,则只需要修改配置文件并把jar包引入即可。dbinfo.properties文件如下图所示:图5.4 dbinfo.properties文件SqlHelper类与DBUtil类一样,同样使用了singleton模式,封装了数据库的CRUD操作,但如果涉及到事务,需要一次性执行多个操作的时候无法时候此类,比如后面要实现的提交订单和删除订单同时涉及到Orders和OrderIt
19、em这两张表,就无法使用此类了。当注册成功后页面自动跳转到登录界面。5.1.2会员登录登录分为会员登录和管理员登录,二者共用一个登录界面,登录系统时,需要输入正确的登录名、密码、身份和验证码进行登录验证处理。登录时首先进行验证码的校验,当验证码输入正确之后再去数据库进行登录名和密码的校验,如果验证码输入错误则给出提示。图5.5 验证码输入错误界面验证码采用Servlet以及GUI绘图技术实现,将随机生成的验证码放到session中,进行登录验证时候把随机生成的验证码从session中取出,如果一致,则验证通过,去数据库进行登录名和密码的验证,如果输出有误,同样给出相应的提示。图5.6 登录名或
20、密码输出错误界面5.1.3图书管理图书管理模块有两个子功能模块,分别是推荐图书和选购图书。Book和Type表的内容在整个系统中随处都用的上,如果把Book和Typed的信息在项目启动时候就被查询出放到容器里,就可以避免在用到的时候还需要去数据库里查找的不便,同时还减轻了Servlet的负担,Servlet只需要做控制器负责页面跳转,不需要传递数据了,降低了系统的耦合度,所以把存放Book和Type的List放到ServletContext中最适合不过,此处用到一个ContextListener类,此类实现了ServletContextListener接口。推荐图书是滨海在线书店向会员展示本书
21、店热点类别图书和推荐图书的界面,在全部图书类别中只有4种类别可以作为热点类别,对应数据库中Type表t_ishot为true的记录。在全部图书中如果是被推荐的图书,对应数据库中Book表b_iscommend为true的记录,并且该图书的所属类别是热点类别,可以获得推荐图书页面展示的机会,推荐图书界面如下图所示:图5.7 推荐图书界面选购图书功能是用户可以图书名的关键字进行模糊查询,同时也可以指定查找具体哪类图书的信息,当输入的图书名为空时,查询全部的图书,界面如下图所示:图5.8 选购图书界面选购图书界面使用了分页技术进行展现,提供了上下翻页,链接到首页,尾页,以及链接到用户输入的指定页码的
22、功能,在本系统中,默认每页最多显示5条记录。分页显示界面如下图所示:图5.9 选购图书分页显示界面此处同样用到了js表单验证技术,跳转到特定的页码所输入的页码号必须为数字并且不能为空,如下图所示:图5.10 跳转到特定页面错误显示分页显示图书信息功能用到了BookServlet、BookServiceImpl等类以及el表达式,jstl标签等。点击详细信息按钮之后,跳转到显示图书详细信息的页面,此页面可以查看图书的详细信息以及是否将图书加入购物车。图5.11 图书详细信息界面5.1.4个人管理个人管理功能模块,有三个子功能模块,分别是查看及修改个人信息,修改密码和退出系统。个人信息页面可以查看
23、和修改个人信息,如下图所示:图5.12 个人信息界面修改密码页面可以修改个人密码,但原密码必须输入正确才能修改成功,修改密码界面如下图所示:图5.13 修改密码界面点击退出系统按钮后直接跳转到登录界面,于此同时需要清除掉session中的个人信息,以防个人信息泄漏。5.2后台模块后台模块部分功能与前台模块的功能有部分重叠之处,重叠处不再进行详细讲述和列举相关代码5.2.1会员管理会员管理模块提供了查询会员和删除会员两个功能。查询会员采用以会员真实名称关键字作为模糊查询,如果输入的关键字为空,则查询出所有会员的信息,查询出会员信息之后还可以对会员进行删除操作,如下图所示:图5.14 查询会员界面
24、删除会员同样给出提示,如下图所示:图5.15 删除会员弹出提示5.2.2订单管理订单管理模块分为查询所有会员订单和删除指定会员订单两个功能,查询会员订单界面如下图所示:图5.16 查询订单界面点击“详单”按钮可查看该订单的详细订单项,如下图所示:图5.17 查询订单详单界面删除订单操作与添加订单操作一样,涉及到Orders和OrderItem两张表,所以需要放到同一个事务中操作,并切应该先删除OrderItem表中的相关数据,再删除Orders表中的相关数据。点击“删除订单”按钮弹出提示,如下图:图5.18 删除订单弹出提示5.总结经过近段时间的设计和开发,小型书店管理系统基本开发完毕。本系统
25、基本能够完成小型书店图书的管理,即对图书的查询、插入、删除、修改等,并且能够实现小型书店的简单的销售问题。但是该系统还有许多不尽如人意的地方,比如尚未设计与制作前台系统与后台数据库的连接,还有就是由于对数据库知识的掌握有限和不牢固,表的制作和视图的创建没有想象中的完美,也无备份和还原的相关模块,以致小型书店管理系统只是达到了基本要求,有待进一步改善,希望老师给予批评。在设计的过程中,我学到的不仅是知识,我还认识到许多事情。这次设计对我的综合能力是一次很好的锻炼,使我的编程与设计水平提高了一大步,同时也使我充分的认识到了自己的不足。由于本设计还有很多不足,所以在实际应用上还有很大的局限性,这也是
26、自己在知识上的欠缺所造成的。在今后的学习中,我会随时不断拓宽自己的知识面,增加自己的知识量,把此次课程设计做的更完善,功能更多,更稳定。在设计制作的过程中,把知识运用的实际中去,创造出实际效益。参考文献1 (美)Eruce Eckel. Java编程思想(第4版) 机械工业出版社 2007年6月 第四版 2 李兴华,王月清. Java Web开发实战经典 清华大学出版社 2010年8月 第四版 3 崔洋. MySQL数据库应用从入门到精通 中国铁道出版社 2012年1月 第一版4 郝玉龙. JAVAEE编程技术 北京交通大学出版社 2012年4月 第一版5 单东林. 锋利的JQuery 人民邮
27、电出版社 2012年7月 第二版6 郭靖宇,刘凤华. 使用软件工程教程. 中国铁道出版社 2011年5月, 第一版 7 王宜贵. 软件工程 . 机械工业出版社 2008年01月 第二版信息工程学院SHH框架实训实践考核标准与成绩报告单2013-2014学年度第一学期期末排课编号:(2013-2014-1)-2034208-00839-1 批阅日期: 年 月 日姓名吴现利班级11软件学号20111130122评分标准及得分(红色部分项目仅作参考)评价项目评分标准满分得分备注系统功能完成情况系统整合应用框架技术实现总体设计,根据整合情况,系统缺少一种框架技术扣10分。40代码和注释使用情况注释使用不当,代码缩进等问题每处扣1-2分10界面布局情况页面设计中出现的问题,每处扣2-5分20运行情况运行存在异常错误每处扣1-2分20Ajax+JQuery使用情况应用Ajax+JQuery技术情况,缺少一项技术扣10分,应用中出现问题扣1-2分10合计考核成绩任课教师签名复核人签名
限制150内