软件项目设计技术报告.docx
- 文档编号:9021197
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:18
- 大小:62.48KB
软件项目设计技术报告.docx
《软件项目设计技术报告.docx》由会员分享,可在线阅读,更多相关《软件项目设计技术报告.docx(18页珍藏版)》请在冰豆网上搜索。
软件项目设计技术报告
《软件项目设计》
技术报告
设计题目场地预约系统
专业班级
小组人员
组长
指导教师
计算机学院
2013年1月
地预约系统的设计与实现
摘要
体育城场地预约系统是一个B/S模式下的体育城场地预约平台。
系统以Web界面实现与用户交互,为用户提供信息并接受用户提出的需求信息,同时通过数据库管理系统存储信息数据。
在线体育城场地预约系统实现了对信息数据的浏览、查询、编辑和管理等基本数据库操作,采取模块化的编程思想,提高了代码的可读性、可移植性和一致性,同时提高了开发效率。
系统对用户或管理权限有严格要求,因此加入了用户身份识别模块。
用户功能模块与管理员后台管理功能模块分离,增强了系统的安全性,有利于系统的管理。
一、系统需求分析
1.1开发背景
随着人们物质生活水平的不断提高,人们在工作之余,闲暇时期进行一些体育运动已经成为人们必不可少的生活内容,同时大多数人选择在进行体育运动的同时进行商业之类的人际交流,所以能方便,快捷的预约体育运动场地成为人们迫切的需要。
信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。
计算机虽然与人类的关系愈来愈密切,许多需要用手工劳动的场景,现在由于计算机操作而不再继续存在。
随着网络的不断的普及,网页技术的不断发展,人们对网页的要求也不再是文字,图片的简单堆砌或是单调枯燥的内容,而是实时性,交互性和丰富性,使用动态网页技术的网页越来越受欢迎。
应用ASP技术的灵活性可以方便的访问数据库,ASP把数据库搬上了WEB页面,使人们可以通过互联网使用大型的包含数据库功能的系统。
传统的场地预约需要客户亲自到场地所在位置或指定地点进行,由于预约记录多是认为完成,易于出现错误和漏洞,管理效率低,特别是场地繁杂时,传统的预约方式已经完全不能满足要求。
远程预约是一种全新的网络租用方式,它通过互联网突破了时间和空间限制,实现了便捷快速的预约与管理功能。
在对数据信息有效组织并整合了一定使用功能后,远程预约系统可以方便地实现预约与取消,场地资料查询,管理员管理等功能。
由于体育城场地预约系统是针对体育城场地预约用户要求用计算机对所需的场地信息进行查询和搜索的一种现代化软件。
而主要包括浏览者对所需场地信息的查询与搜索,同时可进行注册;系统管理员掌握并记录,修改,查询场地信息,以及审核预约信息,以便管理系统的正常运行。
1.2本系统需求分析
运动场地场馆预订系统的开发主要包括前端应用系统和后台管理系统,应用程序系统要求界面友好,功能完备,易使用等特点。
而后台数据库的数据要具有一致性、完整性、安全性、易维护性[2]。
(1)、系统前台——功能强大、操作方便。
前台作为与用户直接交互的界面,在考虑功能的同时,也考虑了操作的简洁和方便性,目的是让大多数不在懂电脑操作的客户,也能轻松的享受互联网的给他们带来的便利。
前台系统主要包括用户注册、浏览电子文档、浏览查看场地信息、浏览新闻信息、查看介绍信息以及已经注册的用户登录系统查看个人信息和消费结果等。
(2)系统后台:
本系统后台管理在考虑系统管理操作简便的同时,提供了功能强大的管理窗口。
后台系统可分为场地管理、电子文档管理、新闻管理、关于我们的信息管理、管理员管理、会员管理、使用场地登记、场地费用结算、使用记录查看等
1.3各个模块划分
对与用户来说,对系统最重要的要求是能够提供一个查找预约所需场地信息的平台,其次是能够于网站建立联系,这样能使用户对系统提高关注度,增加网站的点击率,同时也能方便系统开发人员增加系统功能。
而对管理员来说,必须要能够全面地对系统进行管理与维护。
所以,要求系统具有三个主要模块:
用户查询与预约模块,用户登录与注册模块,管理员管理模块。
系统整体的功能模块划分如图2-1所示:
图
2-1系统功能模块划分
块具体的需求描述如下:
(1)用户查询与预约模块:
这是系统前台的主要模块,用户可在此完成所需场地信息的查询与预约。
(2)用户登录与注册模块:
用户登录与注册的平台,用户在此完成登录与注册,同时也提供了密码找回的功能,从而建立与系统的联系,也方便系统的扩展。
(3)管理员管理模块:
管理员通过管理员账号与密码登录后可进行对场地名称,类别与价格的添加,修改,删除,从而全面的管理网站信息;同时管理员还能通过审核完成对用户预约信息的管理。
体育城场地预约系统使用技术的动态网页与数据库制作,用户通过网络访问该系统,提供用户登录,注册以及密码找回等功能,场地查看,查询以及预约功能;同时提供两种场地查询模式,模糊与直接查询,方便用户;管理员可以使用修改、删除、添加场地功能,同时通过审核用户提交的预约信息,完成预约管理功能,良好的达到后台管理的目的。
二、总体设计
2.1系统配置(硬件方面)
在运行本系统前,请先检查一下软硬件配置是否符合以下要求:
硬件环境:
服务器端/客户端:
处理器:
IntelPentium4
内存:
512M
硬盘空间:
20G
2.2系统配置(软件与技术方面)
(1)MacromediaDreamweaver8平台
MacromediaDreamweaver8是建立Web站点和应用程序的专业工具。
它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和应用程序。
从对基于CSS的设计的领先支持到手工编码功能,Dreamweaver提供了专业人员在一个集成、高效的环境中所需的工具。
开发人员可以使用Dreamweaver及所选择的服务器技术来创建功能强大的Internet应用程序,从而使用户能连接到数据库、Web服务和旧式系统。
(2)jsp技术
JSP简介
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
[1]
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
JSP可用一种简单易懂的等式表示为:
HTML+Java+JSP标记=JSP。
(3)MySQL
MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
(4)HTML(HyperTextMarkupLanguage)
HTML的英文全称是"HypertextMarkupLanguage",中文译为“超文本标记语言”。
“超文本”就是指页面内可以包含图片,联接,甚至音乐,程序等非文字的元素。
一个HTML文件中包含了所有将显示在网页上的文字信息,其中也包括对浏览器的一些指示,如哪些文字应放置在何处,显示模式是什么样的等。
如果你还有一些图片、动画、声音或是任何其它形式的资源,HTML文件也会告诉浏览器到哪里去查找这些资源,以及这些资源将放置在网页的什么位置。
浏览的网页就是由HTML语言编写出来的。
2.3数据表设计
(1)用户信息表
它记录了用户名,密码和有关用户的个人信息,方便系统管理用户信息,也是实现预约功能所必不可少的信息。
表2-1用户表
字段名称
数据类型
必填字符
描述
user_id
Varchar(20)
是
序号(自加)
user_name
Varchar(20)
是
用户名
password
Varchar(20)
是
密码
idtype
Varchar(20)
是
证件类型
Idnumber
Varchar(20)
是
证件编号
user_tel
int
是
电话
user_sex
Varchar(10)
是
性别
isadmin
int
是
是否管理员
(2)场地信息表
它记录了场地属性信息,方便用户查询所需要的场地信息,也是管理员添加场地信息的载体。
表2-2场地信息表
字段名称
数据类型
必填字符
描述
ground_id
Varchar(20)
是
编号(自加)
ground_name
Varchar(20)
否
场地名称
ground_type
Varchar(20)
否
场地类型
ground_fee
Varchar(20)
否
场地费用
ground_status
int
是
场地状态
(3)预约详单表
记录了预约属性信息,是实现用户预约与管理员管理预约信息的重要部分。
表2-3预约表
字段名称
数据类型
必填字符
描述
order_id
int
是
预约编号(自加)
user_name
Varchar(20)
否
用户名
ground_id
int
是
场地编号(自加)
ground_name
Varchar(20)
否
场地名称
order_time
date
否
操作时间
ground_fee
Varchar(20)
否
场地费用
begin_time
date
否
开始时间
end_ime
date
否
结束时间
order_post`
int
否
邮政编码
Order_adress
Varchar(30)
否
地址
Tel
Varchar(20)
否
联系方式
Order_status
Int
否
订单状态
(4)预约表
记录了预约属性信息,是实现用户预约与管理员管理预约信息的重要部分。
表2-4预约表
字段名称
数据类型
必填字符
描述
order_id
int
是
预约编号(自加)
user_name
Varchar(20)
否
用户名
ground_id
int
是
场地编号
ground_name
Varchar(20)
否
场地名称
fee_total
float
是
总费用
2.4系统功能模块设计
前台系统主要包括查看场地模块、浏览文档信息模块、浏览新闻信息模块、查看关于我们信息模块、用户注册模块。
前台系统模块图:
2.4.2后台系统功能划分
后台系统可分为场地管理模块、文档管理模块、新闻管理模块、关于我们信息管理模块、管理员管理管理模块、会员管理模块、使用登记管理模块、费用结算管理模块。
后台系统如图4-2。
2.5系统功能描述
2.5.1前台系统功能描述
1.查看场地信息模块:
用户查看协会的场地信息。
2.浏览文档信息模块:
用户浏览系统中的电子文档信息。
3.浏览新闻信息模块:
用户浏览管理员发布的新闻信息。
4.查看关于我们信息模块:
用户查看协会的信息。
5.用户注册模块:
浏览系统页面的用户可以随意注册成为会员。
2.5.2后台系统功能描述
1.管理员管理模块:
管理员对使用系统的管理员进行管理。
2.新闻管理模块:
此模块的功能是对协会的新闻信息进行添加、修改和删除管理。
3.场地管理模块:
管理员对协会的场地信息进行管理。
4.文档管理模块:
管理员对电子文档信息进行发布管理。
5.关于我们管理模块:
对协会的介绍信息进行管理。
6.会员管理模块:
对协会的会员信息进行管理。
7.使用登记管理模块:
对客户使用场地的情况信息进行管理。
费用结算管理模块:
对场地使用费用进行结算。
2.5.3ER图
管理场地信息
管理订单信息
用户信息管理
新信息的发布
管理员
本系统主体采用B/S(Browser/Server,浏览器/服务器)结构,即采用目前分布式系统流行的3层软件结构,即在传统的客户和服务器之间加入应用服务器(Applicationserver),3层即是表现层(浏览器)、业务逻辑层(Web服务
器)、数据层(数据服务器),系统简图如图3-1所示。
数据服务器与Web服务器是完全分开的,分开之后的3层软件结构功能明确:
客户层只提供应用程序的用户界面,负责与用户交互;业务逻辑层是应用系统的关键,它负责处理所有用户请求,进行具体的运算和决定程序的流程,并把处理结果返回给表现层;服务器层仍然提供的是数据库支持、维护和更新应用程序的数据。
(系统框架简图)
三详细设计:
3.1管理员管理模块
通过数据库的查询,寻找唯一确定的管理员用户名,有效的保证了系统的安全行。
Stringuser_name=request.getParameter("user_name");
Stringuser_pwd=request.getParameter("user_pwd");
IUserDaouserDao=newUserDaoImpl();
HttpSessionsession=request.getSession();
UserBeanuserBean=(UserBean)session.getAttribute("userBean");
userBean=userDao.checkUser(user_name,user_pwd);
if(userBean!
=null){
IGroundTypeDaogroundTypeDao=newGroundTypeDaoImpl();
List
for(inti=0;i ; } 用户添加实现代码 inta=Integer.parseInt(request.getParameter("a")); Stringuser_name=request.getParameter("user_name"); Stringuser_password=request.getParameter("user_password"); intsex=Integer.parseInt(request.getParameter("sex")); StringidType=request.getParameter("idType"); StringidNumber=request.getParameter("idNumber"); Stringtel=request.getParameter("tel"); intisAdmin=Integer.parseInt(request.getParameter("isAdmin")); UserBeanuserBean=newUserBean(user_name,user_password,idType, idNumber,tel,sex,isAdmin); IUserDaouserDao=newUserDaoImpl(); userDao.addUser(userBean); if(a==0){ response.sendRedirect("regsucc.jsp"); } if(a==1){ request.getRequestDispatcher("UserSelectServlet").forward(request,response); } 用户列表相关代码: StringnowPage=request.getParameter("nowPage"); intnPage=0; PageBeanpb=newPageBean(); IUserDaouserDao=newUserDaoImpl(); pb.setSumRows(userDao.sumRows()); try{ nPage=Integer.parseInt(nowPage); }catch(NumberFormatExceptione){ //TODOAuto-generatedcatchblock nPage=pb.getNowPage(); } pb.setPageData(userDao.findByPageUser(pb.getStart(),pb.getPageSize())); pb.setNowPage(nPage); request.setAttribute("pbUser",pb); request.getRequestDispatcher("admin/jsp/user_list.jsp").forward(request,response); 删除功能的实现 intid=Integer.parseInt(request.getParameter("user_id")); IUserDaouserDao=newUserDaoImpl(); userDao.deleteUser(id); request.getRequestDispatcher("UserSelectServlet").forward(request,response); 3.2 注册相关代码如下: 用户注册功能使用了数据库的插入操作,用户通过注册填写的资料与系统建立联系,从而使用系统提供给注册用户的功能,用户注册的关键代码如下: intuser_id=Integer.parseInt(request.getParameter("user_id")); Stringuser_name=request.getParameter("user_name"); Stringuser_password=request.getParameter("user_password"); intsex=Integer.parseInt(request.getParameter("sex")); StringidType=request.getParameter("idType"); StringidNumber=request.getParameter("idNumber"); Stringtel=request.getParameter("tel"); intisAdmin=Integer.parseInt(request.getParameter("isAdmin")); UserBeanuserBean=newUserBean(user_id,user_name,user_password,idType, idNumber,tel,sex,isAdmin); IUserDaouserDao=newUserDaoImpl(); userDao.updateUser(userBean); request.getRequestDispatcher("UserSelectServlet").forward(request,response); 场地信息的浏览: inta=Integer.parseInt(request.getParameter("a")); Stringuser_name=request.getParameter("user_name"); response.setContentType("text/html"); PrintWriterout=response.getWriter(); StringnowPage=request.getParameter("nowPage"); intnPage=0; PageBeanpb=newPageBean(); IOrderDetailDaoorderDetailDao=newOrderDetailDaoImpl(); pb.setSumRows(orderDetailDao.sumRows()); try{ nPage=Integer.parseInt(nowPage); }catch(NumberFormatExceptione){ //TODOAuto-generatedcatchblock nPage=pb.getNowPage(); } pb.setPageData(orderDetailDao.findByPageDetail(user_name,pb.getStart(),pb.getPageSize())); pb.setNowPage(nPage); request.setAttribute("pbOrderDetail",pb); request.setAttribute("a",a); List "sdfdfdf"+lst); if(a==0){ request.setAttribute("orders",lst); request.getRequestDispatcher("common/order_list.jsp").forward(request,response); }else{ request.getRequestDispatcher("admin/jsp/orderdetail_list.jsp").forward(request,response); } 场地查找相关代码: intground_id=Integer.parseInt(request.getParameter("ground_id")); IGroundDaogroundDao=newGroundDaoImpl(); Gr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 设计 技术 报告