千万建筑资料下载 →
摘要:
课题意义:
1.此次选做网上书店的系统为课题,首先在以前所做的基于c/s的系统上,学习b/s架构的系统开发。
2.学习掌握Java语言的高级编程,学习使用常用轻量级的J2EE框架。
3.掌握MVC模式架构的系统设计与开发,实现系统的分层设计,学习良好的编码的风格与系统架构设计。
方法:采用J2EE框架Struts1.3.10和Hibernate3.2,结合MVC模式架构,将系统设计成五层:表示层,控制器层,模型层,业务层,数据库持久层。
平台工具:语言采用Java、Jsp编码,页面设计采用Html、css、Javascript设计,数据库使用MySql,web服务器端采用Tomcat6.0,开发平台使用MyEclipse6.0,建模使用PowerBuilder11.1版本。
系统成果:
实现了用户在网上书店网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态提示、购物车管理、客户信息注册登录管理、订单处理等模块。
图书查询:当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者信息快速查询所需书目信息的功能。
购物车管理:当客户选择购买某图书产品时,应该能够将对应图书信息,如:价格、数量记录到对应的购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对应的购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。
订单处理:对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货的处理。
会员注册:为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关的信息。关键词:网上书店,JSP,Struts1.3.10,Hibernate3.2.0,MySql,MyEclipse6.0,Tomcat6.0,数据库连接池,PowerBuilder11.1.0
一、课程设计的目的与要求
通过软件综合课程设计,进一步了解和掌握现代应用软件开发的环境及架构,通过实践,提高软件分
1
析、设计和开发能力,本课程设计重点掌握分布式应用软件系统的体系结构、设计方法、开发环境及开发技术。
1.本课程设计侧重于使学生了解软件架构及模式对应用系统的重要性,不同主流分布式软件结构的异同和发展趋势。
2.掌握J2EE或.NET等分布式应用软件的体系架构以及在这些架构基础上的常用设计模式,如分层模式、代理者模式、MVC模式等;
3.结合主流数据库系统完成分布式应用软件项目的设计、开发,并能够进行部署、测试和性能优化。
4.进一步熟悉和实践RationalRose或者PowerDesigner的高级功能;
5.培养协作能力和团队精神。
二、设计正文
1.系统概述
1.1课题背景及意义
本课题是网上书店系统,有了网上书店,人们很少在费力亲自跑去在繁乱的书店里选择自己的书,而且买书价格也贵。基于现在互联网的发达,方便快捷的上网功能,通过网上书店系统用户能在家通过网上书店检索自己的书,并下订单,方便了用户的购买。
1.2系统的主要目标
实现用户在网上能找到指定域名的书店网站,进行购书。
1.3需求概述
网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态提示、购物车管理、客户信息注册登录管理、订单处理等模块。
根据网上书店的基本需求,本系统需要完成的具体任务如下:
图书查询:当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者信息快速查询所需书目信息的功能。
购物车管理:当客户选择购买某图书产品时,应该能够将对应图书信息,如:价格、数量记录到对应的购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对应的购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。
订单处理:对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货的处理。
会员注册:为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关的信息。
2
1.4开发环境与工具
J2EE平台:
J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。
J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。
MyEclipse6.0开发环境:
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
Tomcat6.0运行环境:
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。目前最新版本是6.0。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
MySQL数据库:
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码
3
这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
Powerbuilder建模工具:
(1)可视化、多特性的开发工具。全面支持Windows或WindowsNT所提供的控制、事件和函数。PowerScript语言提供了几百个内部函数,并且具有一个面向对象的编译器和调试器,可以随时编译新增加的代码,带有完整的在线帮助和编程实例。
(2)功能强大的面向对象技术。支持通过对类的定义来建立可视或不可视对象模型,同时支持所有面向对象编程技术,如继承、数据封装和函数多态性等。这些特性确保了应用程序的可靠性,提高了软件的可维护性。
(3)支持高效的复杂应用程序。对基于Windows环境的应用程序提供了完备的支持,这些环境包括Windows、WindowsNT和WinOS/2。开发人员可以使用PowerBuilder内置的WatcomC/C++来定义、编译和调试一个类。
(4)企业数据库的连接能力。PowerBuilder的主要特色是DataWindow(数据窗口),通过DataWindow可以方便地对数据库进行各种操作,也可以处理各种报表,而无需编写SQL语句,可以直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。
(5)强大的查询、报表和图形功能。PowerBuilder提供的可视化查询生成器和多个表的快速选择器可以建立查询对象,并把查询结果作为各种报表的数据来源。PowerBuilder主要适用于管理信息系统的开发,特别是客户机/服务器结构。
2.系统需求建模
2.1用例图
4
网上书店User的用例图
2.2类图
网上书店类图
2.3顺序图
5
网上书店完整设计.doc下载2.3.2用户注册
2.3.3查看书籍
6
2.3.4增加书籍到购物车
2.3.5更新购物车
7
2.3.6购物下订单
3.系统体系结构设计
网上书店系统
用
户登录用户注册用户修改个人信息
用户查询书籍
用户查询订单记录
购物车管理
用户购书
用户浏览书籍信息
系统类包组织结构:Src文件夹下:
8
com.actions:系统的action类的控制器层的封装com.logic:系统的业务实现的类的封装com.forms:系统的模型bean的封装
com.DB:系统的数据库的连接初始化类的封装constants.Constants:系统的常量文件Applications.Properties:系统的资源文件WebRoot文件夹:系统的页面Jsp的封装
4.子系统的设计4.1设计问题域子系统
9
4.2设计数据管理子系统数据库设计E-R图CDM:
数据库设计PDM表图:
10
4.3
设计人机交互子系统
1.首页index.jsp:
2.书籍详细信息页面bookdetail.jsp:
11
第11 / 20页
3.书籍检索页面searchbook.jsp
:
5.详细设计
1.包:
com.actions:系统的action类的控制器层的封装
com.logic:系统的业务实现的类的封装
com.forms:系统的模型bean的封装
com.DB:系统的数据库的连接初始化类的封装
constants.Constants:系统的常量文件
2.主页:index.jsp
3.用户登录功能:login.jsp,LoginAction.java,LoginForm.java,User.java
4.用户注册功能:register.jsp,RegisterAction.java,RegisterForm.java,User.java
5.用户查询书籍功能:
(1).用户按书名查询:searchbook.jsp,BookByNameAction.java,BookByNameForm.java,Book.java
(2).用户按书籍类别查询:searchbook.jsp,BookByCatAction.java,Book.java6.用户查看修改个人信息:personalinfo.java,ModifyUserAction.java,ModifyUserForm.java,
12
User.java
7.用户添加书籍到购物车:cartview.jsp,AddBookToCart.java,Cart.java,CartDetail.java
8.用户更新购物车:cartview.java,UpdateCartAction.java,UpdateCartForm.java,Cart.java,CartDetail.java
9.用户从购物车中删除记录:cartview.jsp,DelFromCartACtion.java,Cart,java,CartDetail.java
10.用户购买下订单:purchase.jsp,PurchaseAction.java,PurchaseForm.java,Orders.java,OrderDetail.java
11.用户查询个人订单记录:personalorder.jsp,Order.java
12.用户查询个人某条订单记录详细信息,orderdetail.jsp,OrderDetail.java
6.系统实现
1.
用户注册:
13
2.
用户登录
3.浏览主页,添加购物
14
4.
查看购物车
5.
更新购物车
15
第15 / 20页
6.
下订单,并提交
7.下订单成功
8
.查看个人信息
16
9.
查看个人订单记录
9
.查看个人某条订单记录详细信息
17
7.测试
1.登录功能功能测试
测试Id
采用方法
输入数据
预制条件
预期输出
跳转到主页用户登录测试1等价类划分测试类型用例概述安全性测试测试登录页面输入的正确数据验证的正确性正确的用户名密码,用户名:yangjie密码:yangjie当前页面为登录页面,输入数据已存在于数据库实际输出跳转到主页
结论符合预期测试Id
采用方法
输入数据
预制条件
预期输出用户登录测试2等价类划分测试类型用例概述安全性测试测试登录页面输入的正确数据验证的正确性正确的用户名,错误的或不输入密码,用户名:yangjie密码:不输入或asdc当前页面为登录页面实际输出
不跳转到主页,提示密码错误或为空异常不跳转到主页,提示密码错误或为空异常
结论符合预期
2.用户注册功能测试测试Id
采用方法
输入数据
预制条件
预期输出
不跳转到登录页,提示数据项空异常用户注册测试1等价类划分有为空的注册项当前页面为注册页面实际输出不跳转到登录页,提示数据项空异常测试类型用例概述安全性测试测试用户注册页面输入的数据正确性结论符合预期
18
测试Id
采用方法
输入数据
预制条件
预期输出用户注册测试2等价类划分测试类型用例概述安全性测试测试用户注册页面输入的数据格式长度符合要求有长度小于预期的注册项当前页面为注册页面实际输出
不跳转到登录页,提示数据项长度过短异常不跳转到登录页,提示数据项长度过短异
常
结论符合预期
测试Id
采用方法
输入数据
预制条件
预期输出
跳转到登录页用户注册测试3等价类划分测试类型用例概述安全性测试测试用户注册页面输入的数据正确性正确符合要求的注册项当前页面为注册页面页面实际输出跳转到登录页结论符合预期1.主页安全性链接测试测试Id
采用方法
输入数据
预制条件
预期输出
不跳转到相应页,跳转到登陆页面,提示
用户登录用户注册测试2等价类划分测试类型用例概述安全性测试用户不登录主页,点击“个人信息”链接或“我的购物车页面”用户不登录,点击“个人信息”链接或“我的购物车页面”当前页面为主页面实际输出不跳转到相应页,跳转到登陆页面,提示用户登录
结论符合预期
19
2.用户购物功能测试
测试Id
采用方法
输入数据
预制条件
预期输出
购物成功,跳转到购物成功页面用户购物功能测试等价类划分用例概述按页面提示步骤购物,购物是否成功测试类型功能性测试按页面提示步骤购物,输入正确数据当前页面为主页面实际输出购物成功,跳转到购物成功页面
结论符合预期
三、课程设计总结或结论
通过本次软件综合课程设计,组内3人相互讨论课题问题,并学习了J2EE的两个轻量级框架:struts,Hibernate。在实际应用到课设中,在搭配环境市遇到了2个框架之间因版本不同,不同版本间的框架引用包冲突的问题,导致程序运行出现异常。通过大家讨论、百度和翻阅参考书,从中对J2EE框架在实际应用中有了深刻的理解。
时间仓促和大家在忙于求职中,本次的课题完成的不算完整,但通过此次课题课设,深刻的理解到团队的合作的重要性。
四、参考文献
[1]邱哲,马斗《Strutsweb设计与开发大全》清华大学出版社2006年2月
[2]高宏静
[3]李芝兴,杨瑞龙
[4]郑阿奇《Java入门到精通》《JavaEEWeb编程》《JavaEE实用教程》化学工业出版社2009年6月机械工业出版社2008年1月机械工业出版社2009年11月
机械工业出版社2007年5月[5]陈天河《Struts,Hibernate,Spring集成开发宝典》
20
久久建筑网m.kkreddy.com提供大量:建筑图纸、施工方案、工程书籍、建筑论文、合同表格、标准规范、CAD图纸等内容。