文档库 最新最全的文档下载
当前位置:文档库 › 基于Web汽车租赁系统详细设计说明书

基于Web汽车租赁系统详细设计说明书

<基于WEB的汽车租赁系统>

详细设计说明汽车

作者:

完成日期:2011-06-08

签收人:

签收日期:

修改情况记录:

目录

1 引言 (1)

1.1 编写目的 (1)

1.2 背景 (1)

1.3 定义 (1)

1.4 参考资料 (2)

2 程序系统的结构 (2)

3基于WEB的汽车租赁系统管理服务端设计 (5)

3.1基于WEB的汽车租赁系统服务端管理员登录模块 (5)

3.1.1 程序描述 (5)

3.1.2 功能 (5)

3.1.3 输入项及格式 (5)

3.1.4 算法 (5)

3.1.5 流程逻辑 (6)

3.1.6 接口 (6)

3.1.7 限制条件 (6)

3.1.8测试计划 (7)

3.1.9 尚未解决的问题 (7)

3.2管理员添加汽车信息模块 (7)

3.2.1 程序描述 (7)

3.2.2 功能 (7)

3.2.3 输入 (7)

3.2.4 算法 (8)

3.2.5流程图 (8)

3.2.6 接口 (8)

3.2.7 限制条件 (8)

3.2.8测试计划 (8)

3.2.9 尚未解决的问题 (9)

3.3管理员处理汽车信息(修改汽车信息、删除汽车信息)模块 (9)

3.3.1 程序描述 (9)

3.3.2 功能 (9)

3.3.3 输入 (9)

3.3.4 算法 (10)

3.3.5流程逻辑 (10)

3.3.6 接口 (11)

3.3.7 限制条件 (11)

3.3.8测试计划 (11)

3.3.9 尚未解决的问题 (11)

3.4管理员处理预订订单模块 (12)

3.4.1 程序描述 (12)

3.4.2 功能 (12)

3.4.4 算法 (13)

3.4.5流程逻辑 (13)

3.4.6 接口 (14)

3.4.5 限制条件 (14)

3.4.6测试计划 (14)

3.4.6 尚未解决的问题 (14)

3.5管理员修改密码模块 (15)

3.5.1 程序描述 (15)

3.5.2 功能 (15)

3.5.3 输入 (15)

3.5.4 算法 (15)

3.5.5流程逻辑 (16)

3.5.6 接口 (16)

3.5.7 限制条件 (17)

3.5.8测试计划 (17)

3.5.9 尚未解决的问题 (17)

3.6管理员退出管理模块 (17)

3.6.1 程序描述 (17)

3.6.2 功能 (17)

3.6.3 输入 (17)

3.6.4 算法 (18)

3.6.5流程逻辑 (18)

3.6.6 接口 (18)

3.6.7 限制条件 (18)

3.6.8测试计划 (18)

3.6.9 尚未解决的问题 (18)

4 基于WEB的汽车租赁系统客户服务端设计 (19)

4.1用户登录和注销模块 (20)

4.1.1 程序描述 (20)

4.1.2 功能 (21)

4.1.3 输入项 (22)

4.1.4输出项 (22)

4.1.5 算法 (22)

4.1.6 流程逻辑 (23)

4.1.7 接口 (23)

4.1.8 测试计划 (23)

4.1.9 尚未解决的问题 (23)

4.2用户注册模块 (24)

4.2.1 程序描述 (24)

4.2.2 功能 (24)

4.2.3 输入项 (25)

4.2.5 流程逻辑 (27)

4.2.6 接口 (27)

4.2.7 测试计划 (27)

4.3汽车信息检索模块 (28)

4.3.1 程序描述 (28)

4.3.2 功能 (29)

4.3.3 输入项 (29)

4.3.4输出项 (29)

4.3.5 算法 (30)

4.3.6 流程逻辑 (30)

4.3.7 接口 (30)

4.3.8 测试计划 (31)

4.4最优质服务排行推荐模块 (31)

4.4.1 程序描述 (31)

4.4.2 功能 (31)

4.4.3 输入项 (31)

4.4.4输出项 (32)

4.4.5 算法 (32)

4.4.6 流程逻辑 (33)

4.4.5 接口 (33)

4.4.6 测试计划 (33)

4.5查看汽车详细信息模块 (34)

4.5.1 程序描述 (34)

4.5.2 功能 (34)

4.5.3输出项 (34)

4.5.4 流程逻辑 (35)

4.5.5 接口 (35)

4.5.6 测试计划 (35)

4.6在线客服模块 (36)

4.6.1 程序描述 (36)

4.6.2 功能 (36)

4.6.3输出项 (36)

4.6.4 测试计划 (36)

4.7预订汽车信息模块 (36)

4.7.1 程序描述 (36)

4.7.2 功能 (36)

4.7.3 输入项 (37)

4.7.4输出项 (38)

4.7.5 算法 (38)

4.7.6 流程逻辑 (38)

4.7.7 接口 (39)

4.8查看订单模块 (39)

4.8.1 程序描述 (39)

4.8.2 功能 (39)

4.8.3 输入项 (40)

4.8.4 输出项 (40)

4.8.6 流程逻辑 (41)

4.8.7 接口 (41)

4.8.8 测试计划 (41)

4.9个人信息面板模块 (42)

4.9.1 程序描述 (42)

4.9.2 功能 (42)

4.9.3 输入项 (42)

4.9.4 输出项 (43)

4.9.6 流程逻辑 (44)

4.9.7 接口 (44)

4.9.8 测试计划 (44)

5 阶段小结 (44)

1 引言

1.1 编写目的

该详细设计说明文档详细阐述了整个网上汽车租赁系统各个模块的主要算法,具体实现流程,以及各个模块之间的接口,模块之间的通信机制。预期读者包含系统的设计人员、编码人员、测试人员以及后期维护人员。

1.2 背景

a.软件系统的名称:基于WEB的汽车租赁系统

b.任务提出者:

开发者:

用户:欲使汽车租赁系统网络化运营、拓展网络租赁业务的各类汽车租赁公司。

使用本软件的单位:待定

1.3 定义

UML:Unified Modeling Language ,统一建模语言。

案况(scenario):是一系列表示系统和用户之间一次交互的步骤。

用案(use case):是由一名普通用户的目标联系在一起的一组用案。

类图(class diagram):表述系统中各个对象的类型及其间存在的各种静态关系。静态关系包括关联和子类型两种。

交互图(interactive diagram):是表述各组对象如何依某种行为进行协作的模型。包括顺序图和协作图。

状态图:表述了一个特定对象可能进入的所有可能的状态以及该对象的

状态如何因影响该对象的事件而变。

可修改性:容许对系统进行修改而不增加原系统的复杂性。

有效性:软件系统能有效地利用计算机的时间资源与空间资源的能力。

可靠性:能够防止因概念、设计和结构等方面的不完善造成的软件系统

失效,具有挽回因操作不当造成软件系统失效的能力。

可理解性:系统具有清晰的结构,能直接反映用户的需求。可理解性有

助于控制软件系统的复杂性,并支持软件的维护、移植与可用。

可维护性:软件产品交付用户使用以后,能够对它进行修改,以便改正

潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化。

可重用性:概念或功能相互独立的一个或一组相关模块定义为一个软部

件。软部件可以在多种场合应用的程度称为部件的可重用性。

可适应性:软件在不同的系统约束条件下,使用户需求得到满足的难易

程度。

可移植性:软件从一个计算机系统或环境搬到另一个计算机系统或环境

的难易程度。

可追踪性:根据软件需求对软件设计、程序进行正向追踪,或根据程序、

软件设计对软件需求进行逆向追踪的能力。

可互操作性:多个软件元素相互通信并协同完成任务的能力。

1.4 参考资料

《软件工程:理论、方法与实践》,北京:高等教育出版社,2005.7出

版,孙家广主编,刘强编著。

《UML基础与Rose建模教程》,人民邮电出版社,蔡敏,徐慧慧,黄

炳强编著。

2 程序系统的结构

管理服务端

服务端共包含7项功能:添加新优惠通知、、在现客服、删除过期通知、修改汽车信息、注册客户管理、特殊订单处理、密码变更、客户信息反馈处理、退出管理。

服务端各个模块总体结构图如下:

当管理员登录汽车租赁系统服务端时,首先进入login.jsp界面,出现管理员登录页面,正确输入ID和密码后,页面跳转到后台管理主页面managerPannel.jsp,如果ID和密码输入不正确,这页面跳转到loginErr.htm错误提示页面。

客户服务端

客户服务端共包含功能:注册、登录、注销、分类浏览汽车信息、推荐最优质服务、最新优惠服务通知、查看汽车、服务人员详细信息、按各种查询条件搜索、

在线客服、提交订单、查看订单、个人信息面板、修改个人信息。

服务端各个模块总体结构图如下:

客户通过浏览器进入首页index.htm,该页面可以以各种方式浏览租赁公司简介、最新租赁优惠通知、最优质服务推荐、最新汽车信息、最近客户留言等,也可以通过在线客服获得帮助。注册用户则可以输入ID和密码验证登录。登录失败后,跳转到loginErr.htm。登录成功后进入注册客户服务userPannel.jsp主页面。这里可以查看、修改个人信息、发表租赁心得、预订租赁汽车服务、查看订单(当前订单状态和历史订单)。

3基于WEB的汽车租赁系统管理服务端设计

3.1基于WEB的汽车租赁系统服务端管理员登录模块

3.1.1 程序描述

服务端管理员登录模块主要完成对管理员登录时ID和密码的验证,如果输入的ID和密码正确,则页面跳转到managerPannel.jsp,进行下一步的操作,并且用session变量保存管理员的ID,以方便修改密码验证使用,否则就不能进入服务端主界面,不能进行管理员对汽车租赁系统的维护操作。

3.1.2 功能

验证管理员输入的ID和密码是否合法。

3.1.3 输入项及格式

登录ID:(adminID)

标识:adminID

类型:字符串型

格式:字符、数字的组合(字母开头)均可

长度的有效范围:20

登录密码:

标识:password

类型:字符串型

格式:字符、符号、数字的组合均可(区分大小写)

长度的有效范围:20

3.1.4 算法

系统先从登录界面的输入框中取得登录人员输入的ID和密码,然后将ID和密码与数

据库中的ID 和密码匹配,如果两者均和数据库中的相同,则验证通过,页面跳转到主界面,如果两者无法同时匹配,则验证不能通过,要求用户继续输入ID 和密码进行验证。

3.1.5 流程逻辑

adminLogin

adminSession

adminLoginS

adminMain

3.1.6 接口

ID : adminID

参数赋值:调用request.getParameter 从输入文本框中得到 调用方式:使用session.setAttribute 将ID 存入session 变量中 关联表: carRent 数据库中的login 表

3.1.7 限制条件

数据库在使用前要配置成功。

3.1.8测试计划

1.输入一个错误的ID观察程序运行的结果。

2.输入一个正确的ID和密码观察程序运行的结果。

3.不输入ID只输入密码观察程序结果。

4.只输入ID而不输入密码观察程序运行结果。

3.1.9 尚未解决的问题

暂无。

3.2管理员添加汽车信息模块

3.2.1 程序描述

管理员添加汽车信息模块主要完成管理员向数据库中添加新汽车的详细信息,系统先出现一个汽车信息输入提示界面,让管理员输入该汽车的相关信息,然后确定添加后,系统将该汽车的相关信息存入数据库中。

添加汽车信息模块包含如下文件:

addCarInfo.htm(填写汽车信息)

addCarStore.jsp(添加汽车处理页面,主要完成向数据库插入汽车信息的功能)3.2.2 功能

在输入框中输入相应的汽车信息,然后单击添加汽车信息按钮,程序将输入的信息添加到数据库中,完成添加汽车信息操作。

3.2.3 输入

3.2.4 算法

先从输入的文本框中取得上述数据,然后以汽车编号在数据库中查找,看看是否有重复的,如果有,则不能添加该汽车,因为每一本汽车的编号是唯一的,如果数据库中不存在这一编号,则将数据用SQL语句insert into……values…添加到数据库中。实现添加一条汽车信息记录的功能。

3.2.5流程图

3.2.6 接口

该程序的接口为上述输入数据,使用request.getParameter方法从输入文本框中取得数据,然后将这些数据传递给汽车添加处理程序,完成向数据库中插入一条新汽车信息记录的功能。

3.2.7 限制条件

数据库在使用前要配置成功,且确保输入的车牌号唯一。

3.2.8测试计划

1.输入不完整的汽车信息观察运行结果

2.输入完整的汽车信息且车牌号唯一,观察程序运行结果。

3.输入一个中已有的车牌号,观察程序运行结果,看看是否显示出错信息。

3.2.9 尚未解决的问题

暂无。

3.3管理员处理汽车信息(修改汽车信息、删除汽车信息)模块3.3.1 程序描述

管理员处理汽车信息模块主要完成对汽车信息修改、删除功能。在每条汽车信息后面有两个按钮,分别为修改和删除,单击修改按钮,即进入修改汽车页面,首先显示汽车原有信息,然后管理员对相应的项进行修改,修改完后,单击修改,程序收集修改后的信息,然后对原有数据库的相应项进行更新。即可完成汽车信息的修改。如果单击删除按钮,即可将该汽车信息记录从数据库中删除。

修改汽车信息、删除汽车功能包含如下文件:

dealCarInfo.jsp:处理汽车信息页面,通过这个页面可以删除汽车、修改汽车信息,以及搜索汽车。

delCar.jsp:根据车牌号在数据库中搜索该汽车,搜索到该汽车就将其从数据库中删除。

modifyCar.jsp:显示要修改汽车的原始信息,然后根据需要更改相应的项。

modifyCarS.jsp:显示修改后的汽车信息

3.3.2 功能

实现管理员对汽车信息的删除、修改的功能。

3.3.3 输入

注:删除时不需输入数据,而修改汽车信息需对汽车相应信息进行修改,需要输入修改的数据,此时,汽车编号、车牌号、汽车品牌、入库时间不能被修改。

3.3.4 算法

删除汽车时,通过点击汽车信息记录后面的删除按钮,系统将该汽车的编号传递到下一个页面进行处理,删除汽车处理页面先根据汽车编号和车牌号在数据库中进行查找,如果找到,则将该汽车从数据库中删除,页面进行自动刷新。而修改汽车信息时,也是首先将汽车编号和车牌号传递到下一个进行汽车修改操作的页面,程序先根据汽车编号在数据库查找该汽车,并把该汽车的原有信息输出,供管理员查看,管理员对汽车信息应修改的部分进行修改,然后点击确认后,程序对数据库进行更新,并显示修改成功后汽车的相应信息。

3.3.5流程逻辑

删除汽车信息:

数据库中查到,删除

修改汽车信息:

3.3.6 接口

汽车编号和车牌号:carNo、carID

方法:1、通过URL来传递该参数给下一页面处理

self.open('maintainCar.jsp? no=<%=carNo%>&id=<%=carID%>');

2、使用session变量来保存

session.setAttribute(“carNo”,carNo);

session.setAttribute(“carID”,carID);

3.3.7 限制条件

1、数据库在使用前要配置成功。

2、删除汽车时先会弹出一个确认删除框,只有点击确认后,才能对汽车进行删除操作,

否则删除无法成功。

3.3.8测试计划

1.删除几条汽车记录,查看数据库中该汽车是否已经删除。

2.对汽车信息进行修改操作,修改后,查看输出修改后的结果和数据库中的显示是否一致

3.3.9 尚未解决的问题

暂无。

3.4管理员处理预订订单模块

3.4.1 程序描述

管理员处理订单模块主要完成管理员对订单的查看、取消以及个别特殊情况的用户订单处理。首先显示所有订单信息,订单处理分为处理、查看、取消功能。其中处理订单功能可以由系统根据汽车租赁日程表安排来自动处理,如时间冲突,提示预订时间冲突,拒绝用户订单,系统将推荐相似度最接近的其他空闲车辆信息给用户。查看订单时,根据订单编号查找数据库,如果查到,显示该订单的相关信息,如果查不到,提示出错信息。取消订单时,先弹出一个确认窗口,以防止管理员误操作,确认取消后,将该订单标号传到取消订单处理页面,根据该订单号,查找数据库,如果查到,修改该订单的服务状态,如果查不到,提示错误信息。个别特殊情况用户订单,如系统提示用户时间冲突,但是用户坚持原有订单,那么如果其他用户取消了订单,而此时正好时间不再冲突,那么系统发送邮件提示用户是否需要继续服务,如果用户没有取消订单,则更改订单状态(“成功”),如果用户取消,则更改订单状态(“取消”)等等个别特殊订单。

处理订单包含如下文件:

dealOrder.jsp:订单处理主界面,可以查看、处理、取消订单

orderDel.jsp: 订单取消处理,更改用户订单状态

orderSucc.jsp:更改订单状态和相应汽车日程安排表

orderLook.jsp:查看用户所有订单信息

3.4.2 功能

管理员查看订单信息、取消用户订单以及根据用户预订时间进行订单预处理。

3.4.3 输入

3.4.4 算法

查看订单时,程序将订单编号传递给orderLook.jsp页面,该页面接收到订单编号后,首先从数据库中查找,如果查到,就从数据库中取出该订单的信息项,在页面中输出供管理员查看。

取消订单,程序首先显示是否确定取消订单,确认后,程序将订单编号传递给orderDel.jsp页面,该页面接收到订单编号后,在数据库中查找该订单,找到后就从数据库更改该订单状态。

处理订单时,首先将订单编号传递给orderPreproc.jsp页面,系统将根据汽车日程表安排是否已经安排任务来判断此次的订单是否可以接受,如果时间冲突,则订单将拒绝,如果时间空闲,则可以将订单状态更改“成功”,订单被接受。

3.4.5流程逻辑

查看订单:

查找数据库,取出订单信息取消订单:

订单处理:

订单预订日程安

3.4.6 接口

该功能模块所包含的程序之间的接口主要是用户ID和订单编号(recordNo)。

传参方法:

1、通过URL来传递该参数给下一页面处理

self.open('maintainCar.jsp? id=<%=ID%>& no =<%= recordNo %>');

2、使用session变量来保存

session.setAttribute(“id”,ID);

session.setAttribute(“recordNo”,no);

3.4.5 限制条件

数据库在使用前要配置成功。

3.4.6测试计划

1.点击查看订单,观察显示出的订单信息和数据库中的是否一致

2.点击取消订单,产看数据库中的该订单状态是否已经被修改。

3.分别针对算法中介绍的几种情况进行测试,查看数据库中订单的状态信息改变情况。

3.4.6 尚未解决的问题

暂无。

3.5管理员修改密码模块

3.5.1 程序描述

管理员修改密码模块主要完成管理员对密码的修改。其包含的文件如下:

updatePwd.jsp:对管理员的密码进行验证以及更改操作。

3.5.2 功能

实现管理员更该密码功能。

3.5.3 输入

3.5.4 算法

管理员根据需要可以修改登录密码,实现方法如下:首先通过session变量取得管理员登录服务端所输入正确的adminID,通过管理员的登录ID查找数据库,取出相应密码,即为原密码,然后将该密码与修改密码时需要输入的原来密码项、新密码和验证密码项作比较,如果不同,显示出错信息,如果相同,则意味着通过验证,将管理员输入的新密码写入数据库,更新数据库中相应的项。

相关文档
相关文档 最新文档