专业综合课程设计报告参考模板.docx
《专业综合课程设计报告参考模板.docx》由会员分享,可在线阅读,更多相关《专业综合课程设计报告参考模板.docx(26页珍藏版)》请在冰豆网上搜索。
专业综合课程设计报告参考模板
燕山大学
专业综合课程设计报告
学院里仁学院
年级专业09计算机科学与技术X班
学生姓名XXX
学号XXX
指导教师XXX
设计日期201X年X月X日—
201X年X月X日
摘要
随着Internet的蓬勃发展,网络购物作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足于信息的浏览和发布,而是渴望能够充分享受网络所带来的便利。
网络购物正适应了当今社会快节奏的生活,使顾客足不出户便可以方便轻松地选购自己喜欢的商品。
本系统便是尝试用JSP在网络上架构一个动态的电子商务网站,它是在WindowsXP下,以SQLServer2000为数据库开发平台,以Tomcat为应用服务器,采用JSP(JavaServerPages)技术开发的网上购物系统。
它分为前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理等功能;后台部分由管理员使用,主要包括商品管理,订单处理,用户信息管理,公告管理等功能。
建成后的网站系统是一个动态的、交互式的,具有商品提供、系统管理等功能的电子商务网站。
关键词 JSP;SQLServer2000;Tomcat;网上购物系统
第1章专业综合课程设计概述
1.1专业综合课程设计的目的和意义
生产实习是本科生培养的必要教学环节,是根据计算机专业学习的需要,进行的较为深入和综合的实习。
了解相关专业知识和理论在实际生产中的应用,对于加强理论联系实际,培养学生的实践能力以及加强素质教育具有十分重要的作用
具体了解计算机科学与技术专业相关领域的技术现状和发展动态,了解软件技术的应用和发展,通过在相关软件开发人员指导下进行软件开发基本技能的学习和训练,力求对本专业相关领域形成较为专业、系统、和全面的认识,培养专业兴趣和实践技能。
对于21世纪的计算机人才,走向工作岗位前这次的生产实习显得尤为重要,在前期主要学习理论知识,内容较为抽象,而生产实习是一次将理论知识和时间相结合的过程,将抽象转化为具体。
通过相关的讲座和参观,了解计算机在实际生产中得应用,熟悉各种处理流程,对于计算机处理业务有一定的初步认识。
对于后期的系统开发,在自主的情况下学习各种开发知识,熟悉相关软件的应用,通过设计,编码实现,测试各个环节,对于我们学生来说,学习到软件的开发过程,具有了一定的业务处理能力,为以后的学习或进入工作岗位打下了基础。
1.2专业综合课程设计内容安排
开发系统为小型超市管理系统,以java程序设计为基础,结合使用MySQL数据库技术,利用MVC分层技术构建出C/S模式的界面,实现超市的人员管理、登陆、录入、库存、销售、查询等相关的业务。
1.3本报告主要内容
本文依据生产专业综合课程设计安排,阐述过程中所学与所用,介绍相关的内容,对于讲座、参观、硬件组装主要是过程阐述以及相关感受。
对于系统开发,会从系统详细设计、数据库构建、界面设计、编码、测试等方面详细介绍。
第2章技术综述
2.1JSP简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。
目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,所以JSP迅速成为商业应用的服务器端语言。
JSP可用一种简单易懂的等式表示为:
HTML+Java=JSP。
2.2JSP技术的优势
(1)一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。
从只有一个小的文件Jar就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
2.3JSP的技术方法
(1)将内容的生成和显示进行分离
用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。
生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。
由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。
(2)可重用组件
绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者EnterpriseJavaBeans组件)来执行应用程序所要求的复杂的处理。
开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。
基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
(3)采用标识
Web页面开发人员不会都是熟悉脚本语言的编程人员。
JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。
标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
(4)适应平台
几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。
从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。
(5)数据库连接
Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。
Sun公司还开发了JDBC-ODBCbridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MSSQLServer和MSAccess等数据库。
此外,通过开发标识库,JSP技术可以进一步扩展。
第三方开发人员和其他人员可以为常用功能创建自己的标识库。
这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。
作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为JavaServlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。
2.4JSP技术的应用模型
利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。
JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。
JSP页面通常被编译成为JavaServlets,这是一个标准的Java扩展。
页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。
当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个JavaServlets类,并且存储在服务器的内存中。
这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。
JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。
基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。
不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。
2.5本章小结
本章概要介绍了JSP技术的基本知识,从四个方面介绍了JSP的技术优势,又从多个角度简要阐述了JSP的技术方法,最后提出了JSP技术的应用模型。
JSP技术是Java在Web项目上的应用,因此,它也就具有了Java的所有优点。
它在技术方面的优势是明显的,应用JSP技术开发Web项目将成为主流。
第3章网上琴行系统分析
3.1需求分析
通过对一些典型电子商务网站的考察、分析及实际的市场调查,要求本系统具有以下功能:
统一友好的操作界面,能保证系统的易用性;规范、完善的基础信息设置;商品分类详尽,可按不同类别查看商品信息;按商品大类及商品名称进行模糊查询;实现网上购物;新品及特价商品展示;商品销售排行榜。
3.2可行性分析
商业企业在运营过程中,经常会受到一些条件的限制:
产品的宣传受到限制,采购商或顾客只能通过上门咨询、电话沟通等方式进行各种信息的获取,受一定的时间与物理空间的局限并且成本较高;庞大的商业经济周转;庞杂的产品周转渠道,从看样品、谈价格到支付货款等一系列的产品周转渠道过于复杂,企业与顾客之间缺乏全面的沟通与快捷运营的平台;商业企业中根据季节的变化,热销商品在销售高峰到来时货源紧张,企业需要实时了解商品的销售情况,保证热销商品的要货满足率。
因此,企业需要重新认识市场、消费者以及自身市场定位,正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来制定长远发展战略,使企业与顾客间的经济活动变得更灵活、更主动。
3.3本章小结
本章主要对网上琴行进行系统分析,分别进行了需求分析和可行性分析。
通过对项目进行全面的分析,有利于项目的顺利进行。
根据软件工程的理论,需求分析和可行性分析是必须予以高度重视的,它们在开发周期中占的比重越高,项目开发的成功率也就越高。
因此,在所有技术工作开始之前,一定要成功地进行需求分析和可行性分析,只有这样,才能保证整个项目的顺利进行。
第4章客运线路信息管理系统设计
4.1总体设计
电子商务系统是一个典型的JSP数据库开发应用程序,由前台商品展示及销售和后台管理两部分组成。
(1)前台商品展示及销售。
该部分主要包括新品上架、特价商品、销售排行、购物车、会员管理、商品公告及订单查询、商品查询等。
(2)后台管理。
该部分主要对商城内的一些基础数据进行有效管理,包括商品管理、会员管理、订单管理、公告管理等。
4.2系统功能结构设计
电子商务系统前台由七部分组成,分别为商品展台、商品查询、购物车、收银台、会员管理、订单查询和商城公告。
商品展台包含三个功能模块,分别为新品上架、特价商品和销售排行;商品查询包含两个功能模块,分别为按类别查看商品和按类别及商品名称模糊查询;购物车包含四个功能模块,分别为添加至购物车、查看购物车、从购物车中移去商品和清空购物车;收银台包含两个功能模块,分别为填写订单信息和结账;会员管理包含三个功能模块,分别为会员注册、会员登录和会员资料修改;订单查询包含一个功能模块订单查询;商城公告包含一个功能模块商城公告。
电子商务系统后台由六部分组成,分别为后台登录、商品管理、会员管理、订单管理、公告管理和退出后台。
后台登录包含一个功能模块后台登录;商品管理包含四个功能模块,分别为查看商品信息、添加商品信息、修改商品信息和删除商品信息;会员管理包含两个功能模块,分别为查看会员信息和冻结或解冻会员;订单管理包含两个功能模块,分别为查看订单信息和执行订单;公告管理包含三个功能模块,分别为查看公告信息、添加公告信息和删除公告信息;退出后台包含一个功能模块退出后台。
4.3设计目标
对于典型的数据库管理系统,尤其是对像电子商务这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。
本系统在设计时应该满足以下几个要求:
采用人机对话的操作方式,界面设计美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠;全面展示商城内所有商品,并可特别展示最新商品及特价商品;为顾客提供方便、快捷的商品信息查询功能,可采用模糊查询方式查询数据;会员可以随时修改自己的会员资料;实现网上购物;商品销售排行,以方便顾客了解本商城内的热销商品及帮助企业领导者做出相应的决策;查看商城内的公告信息;用户随时都可以查看自己的订单;对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误;系统要易维护和易操作;系统运行稳定、安全可靠。
4.4数据库设计
本系统采用SQLServer2000数据库,数据库共包含九张表,分别为商品大分类信息表、商品小分类信息表、折扣表、订单明细表、订单信息主表、会员信息表、管理员信息表、商品信息表和公告信息表。
数据库表
1、车辆基本信息(bus_info)其结构如表4.4.1
字段名称
描述
数据类型
宽度
bus_id
车牌号(主键)
varchar
10
Bus_type
车辆类型
int
10
People_num
载客数量
int
line_id
线路编号(外键)
varchar
10
Bus_type:
1---小型客车
2---中型客车
3---大型客车
2、驾驶员基本信息(driver_info)
字段名称
描述
数据类型
宽度
Driver_id
驾驶员驾驶证号(主键)
varchar
20
Driver_name
驾驶员姓名
Varchar
10
Id_card
驾驶员身份证号码
char
18
birthday
驾驶员出生年月
Datetime
1
bus_id
车牌号(外键)
varchar
10
3、站点基本信息(station_info)
字段名称
描述
数据类型
宽度
station_id
站点编号(主键)
varchar
10
Station_name
站点名称
Varchar
10
4、线路基本信息(line_info)
字段名称
描述
数据类型
宽度
line_id
线路编号(主键)
varchar
10
Line_type
线路类型
Int
10
Line_type:
0---环形线路
1---往返线路
5、线路详细信息(line_detail)
字段名称
描述
数据类型
宽度
Id
编号(主键)
Int
line_id
线路编号(外键)
varchar
10
Station_id
站点编号(外键)
Varchar
10
sequence
站点顺序
Int
Sequence:
如果line_type=1则sequence=0代表始发站,sequence=-1代表终点站。
如果line_type=0则sequence=0代表始发站,也是终点站。
6、用户表(user)
字段名称
描述
数据类型
宽度
User_id
用户名(主键)
varchar
20
password
密码
varchar
20
Role_id
角色编号(外键)
Varchar
10
7、角色表(role)
字段名称
描述
数据类型
宽度
Role_id
角色编号(主键)
Varchar
10
Menu_list
菜单列表
varchar
100
Role_name
角色名称
Varchar
10
8、菜单表(menu)
字段名称
描述
数据类型
宽度
Menu_id
菜单编号(主键)
Int
url
菜单地址
varchar
50
Menu_name
菜单名称
Varchar
10
Pid
父菜单编号
Int
Pid:
如果是顶级菜单,则pid=-1。
4.5本章小结
本章在前一章系统分析的基础上对网上琴行进行了系统设计,主要由前台和后台两部分组成,前台和后台又由若干功能模块组成。
数据库设计是系统设计的主要内容,合理设计数据库是项目成功的关键。
网上琴行的数据库共有9张数据表,每张数据表的字段、数据类型和长度都设计的非常合理,完全能够满足数据的需要。
第5章网上琴行系统实现
5.1编写JavaBean
5.1.1数据库操作的JavaBean的实现
数据库操作的JavaBean是一个公共类,通常包括连接数据库的方法getConnection、执行查询语句的方法executeQuery、执行更新操作的方法executeUpdate、关闭数据库连接的方法close。
下面将给出网上琴行中的数据库操作的JavaBean的实现过程。
(1)指定JavaBean保存的包,并导入所需的类包,并将其保存到包中。
(2)在构造方法connDB中定义该类中所需的变量,通常将方法中常用的变量均放在构造方法中。
(3)为了方便程序移植,我将数据库连接所需信息保存到properties文件中。
定义loadProperty方法读取properties文件中的数据库连接所需信息。
读取数据库连接所需信息时,可能发生异常,因此需要编写代码捕获这个异常。
(4)创建连接数据库的方法getConnection,该方法返回Connection对象的一个实例。
(5)创建执行查询语句的方法executeQuery,返回值为ResultSet结果集。
(6)创建执行更新操作的方法executeUpdate,返回值为int型的整数,代表更新的行数。
(7)创建执行更新操作,并返回该操作中自动编号字段的自动编号的方法executeUpdate_id。
(8)创建关闭数据库连接的方法close。
图5-1安装向导
图5-2安装过程图
5.1.2字符串处理的JavaBean的实现
字符串处理的JavaBean是解决程序中经常出现的有关字符串处理问题的方法的类。
包括将数据库中及页面中有中文问题的字符串进行正确的显示和存储的方法chStr和将字符串中的回车换行、空格及HTML标记符正确显示的方法convertStr两个方法。
下面是网上琴行中的字符串处理的JavaBean“chStr”的实现过程。
(1)编写解决输出中文乱码问题的方法chStr。
(2)编写显示文本中的回车换行、空格及保证HTML标记的正常输出的方法convertStr。
5.1.3商品JavaBean的实现
商品JavaBean就是对商品实体的抽象,它包含了商品实体的所有属性及商品对象的初始化构造的方法。
packagecommerce;
publicclassgoods{
privateIntegerID=Integer.getInteger("-1");//商品ID号
privateinttypeID=-1;//商品类别ID
privateStringgoodsName="";//商品名称
privateStringintroduce="";//商品简介
privatefloatprice=(float)0.0;//商品定价,此处必须强制类型转换
privatefloatnowPrice=(float)0.0;//商品现价,此处必须强制类型转换
privateStringpicture="";//商品图片
privateintnewGoods=-1;//是否为新品
privateintsale=-1;//是否特价
publicvoidgoods(){//商品类的构造方法,此方法不能省略
}
publicIntegergetID(){//获取商品ID
returnID;
}
publicvoidsetID(IntegerID){//设置商品ID
this.ID=ID;
}
……//此处省略了控制商品信息其他属性的属性接口的代码
publicintgetSale(){//获取商品是否为特价商品
returnsale;
}
publicvoidsetSale(intsale){//设置商品是否为特价商品
this.sale=sale;}}
5.1.4保存购物信息的JavaBean的实现
保存购物信息的JavaBean主要在实现购物车时应用,在类中定义商品的属性。
packagecommerce;
publicclassgoodselement{
publicintID;//商品ID
publicfloatnowprice;//现价
publicintnumber;//数量
}
5.1.5对商品信息操作的接口的JavaBean的实现
对商品信息操作的接口的JavaBean的代码如下:
packagecom.wgh.dao;
importcommerce.goods;//导入商品JavaBean
publicinterfaceGoodsDao