自行车租赁系统毕业论文

摘 要

本文论述了一个基于.NET 平台、B/S(浏览器和服务器结构) 的自行车租赁系统。设计原理、设计思想及具体的实现过程,对在设计过程中涉及到的关键设计思想及重要作业流程作了具体分析和介绍,并对各个模块的设计思想及设计过程作了详细阐述。本系统的设计采用了Microsoft 最新的.NET 技术,以Microsoft SQL Server 2005作为数据库支撑平台,应用到的技术包括ASP.NET 、面向对象方法学、软件工程思想等。

该系统是一个自行车租赁系统,是以低碳减排、健康生活为背景,开发一个可用于城市地区或公司的自行车租赁系统管,实现自行车租赁管理的高效化,电子化。通过使用本系统,可以方便快捷地实现自行车租赁中的服务站点管理、车辆管理、用户管理、租用车辆管理和归还车辆管理等操作,使各个管理井井有条,为公共自行车的健康发展创造条件。

本人的毕业设计是主要实现该系统的所有功能,后台采用C#开发语言,数据库采用SQL Server 2005设计。

关键词: 自行车租赁,面向对象,公共类,B/S

ABSTRACT :

This thesis discusses the.net platform, based on B/S (Browser/Server) bicycle rental system. Design principle, design idea and the realization process of in the design process involves key algorithms and important work flow are analyzed and introduced, and the design ideas of each module and design process are described. This system was designed using Microsoft's latest.net technology in 2005, Microsoft SQL Server database support platform, as applied to technology including the asp.net, object-oriented methodologies, software engineering idea and so on.

This system is a bicycle rental system, with low carbon emissions, healthy life as the background, developing a can be used in urban areas or the company's bicycle rental

system tube, realize the bike rental management highly effective, electronic. By using this system, can quickly realized the bicycle rental service site management, vehicle

management, user management, leased vehicle management and return vehicle

management operation, make each management in perfect order, for the healthy

development of public bicycle creates the condition.

I graduated from the design is mainly realizes the system by all the functions,

backstage C # development language, by 2005 design SQL Server database.

Keywords : b icycle rental, object-oriented , public class, B/S

目 录

摘 要 .................................................................................................................................... I

第1章 绪 论 ..................................................................................................................... 1

1.1 论文选题背景 . ................................................................................................................ 1

1.2 国内外研究现状 . ............................................................................................................ 1

1.3 论文研究的目的与应用价值 . ........................................................................................ 2

1.4 本章小结 . ........................................................................................................................ 3

第2章 系统项目研究方法及准备知识 . .......................................................................... 4

2.1 项目研究方法 . ................................................................................................................ 4

2.2 系统体系结构 . ................................................................................................................ 5

2.2.1 单用户体系结构 ......................................................................................................... 5

2.2.2 C/S体系结构 ............................................................................................................... 5

2.2.3 B/S体系结构 ............................................................................................................... 5

2.3 技术概述 . ........................................................................................................................ 6

2.3.1 IIS ................................................................................................................................. 6

2.3.2 ASP.NET . ...................................................................................................................... 6

2.3.3 SQL Server 2005 .......................................................................................................... 6

2.4 本章小结 . ........................................................................................................................ 7

第3章 需求分析 ............................................................................................................... 8

3.1 系统需求分析 . ................................................................................................................ 8

3.2 系统的功能需求 . ............................................................................................................ 8

3.3 用例分析 . ...................................................................................................................... 10

3.3.1 定义参与者 ............................................................................................................... 10

3.3.2 捕获用例 ................................................................................................................... 10

3.4 本章小结 . ...................................................................................................................... 11

第4章 数据库设计 ......................................................................................................... 12

4.2 表的设计 . ...................................................................................................................... 12

4.2.1 表的结构 ................................................................................................................... 12

4.2.2 车辆租借E-R 图 . ...................................................................................................... 16

4.3 视图与触发器设计 . ...................................................................................................... 16

4.3.1 view_bicycleInfo视图 ............................................................................................... 17

4.3.2 delUser删除型触发器 . .............................................................................................. 17

4.4 本章小结 . ...................................................................................................................... 17

第5章 系统的设计 ......................................................................................................... 18

5.1 系统设计思想 . .............................................................................................................. 18

5.2 系统模块的设计 . .......................................................................................................... 18

5.2.1 登录模块 ................................................................................................................... 18

5.2.2 车辆添加模块 ........................................................................................................... 19

5.2.3 车辆租借模块 ........................................................................................................... 20

5.2.4 车辆归还模块 ........................................................................................................... 21

5.2.5 车辆查询 ................................................................................................................... 21

5.3 公共类的封装与设计 . .................................................................................................. 22

5.4 关键技术 . ...................................................................................................................... 23

5.4.1 权限存储设计思路 ................................................................................................... 23

5.4.2 Menu动态菜单编辑 . ................................................................................................. 23

5.4.3 事务回滚 ................................................................................................................... 23

5.5 本章小结 . ...................................................................................................................... 24

第6章 系统实现与测试 ................................................................................................. 25

6.1 页面实现 . ...................................................................................................................... 25

6.1.1 登录页面 ................................................................................................................... 25

6.1.2 Menu菜单动态编辑 . ................................................................................................. 25

6.1.3 系统设置页面 ........................................................................................................... 26

6.1.4 用户管理 ................................................................................................................... 27

6.1.5 车辆借还页面 ........................................................................................................... 28

6.2 系统测试 . ...................................................................................................................... 30

6.3 本章小结 . ...................................................................................................................... 31

第7章 结束语 ................................................................................................................. 32

参考文献 ............................................................................................................................. 33 致 谢 ................................................................................................. 错误!未定义书签。

第1章 绪 论

1.1 论文选题背景

随着经济的快速发展,环境污染、生态恶化等一系列问题越来越突出。进入新世纪以来,世界各国更加关注生态环保问题。我国确定的世界环保日主题就是“共建生态文明,共享绿色未来”。主题旨在唤起社会公众对环境与发展关系的清醒认识和自觉行动,强调生态文明、绿色发展理念和公众参与,号召全社会行动起来为可持续发展之路做出贡献。

许多先进国家早已致力于发展自行车替代高能耗、高排放的交通工具。然而传统落后的自行车租赁管理模式仍然在很大程度上制约了推行公共自行车租赁普及化和现代化的发展,成为更深层次的“软环境”的问题。因此,在信息化、网络化的时代,通过计算机技术对自行车租赁系统进行信息管理化建设,实现自行车租赁管理的高效化,电子化,为提倡多利用公共自行车出行,能提高道路资源利用、缓解交通拥堵,促进节能减排、提高城市品位提供强有力的技术保障。自行车租赁系统是将自行车纳入到公共交通系统,基于“随用随借、公众使用”的开发理念,解决城市“最后1-3公里”的交通问题。

1.2 国内外研究现状

互联网发展速度迅猛,管理的现代化电子化已成为发展道路上发展的一大热点。随着宽带网络的普及以及网络互联网络应用方式的发展,正以前所未有的速度对传统管理方式以理论造成冲击,并对以往传统管理方式占主导的领域进行渗透。

“自行车租赁系统”以当前公共自行车租赁管理信息化的需求为背景,借鉴图书管理系统设计方案,采用了Microsoft 最新的.NET 技术,以Microsoft SQL Server 2005作为数据库支撑平台,应用到的技术包括ASP.NET ,面向对象方法学、软件工程思想,重点实现自行车租借管理,管理员及用户管理等重要功能。它是一般信息管理系统的特例,是管理信息系统在公共自行车领域的应用。

图书馆管理系统概念结构主要由四大部分组成即信息源、信息处理器、信息用户、

信息管理者组成。其中信息源是图书馆管理系统(MIS )的产地,信息处理器担负信息的传输、加工、保存等任务。信息用户是信息的使用者,它应用信息进行决策。信息管理者负责信息系统的设计实现。在西方的一些发达国家,几乎所有的企事业管理机制都有完整的计算机管理系统,提高了完整的管理信息服务,实现了办公自动化智能化,并有不同程度的辅助决策功能。而今,随着Internet 的广泛应用和计算机技术的不断创新,管理系统的发展又步入到一个崭新的阶段,基于大型数据库和Internet 的各个网络管理系统不断涌现,成为系统发展的新方向。

当前,我国基于自行车租赁系统建设尚处于发展阶段。由于缺乏统一的理、布局规划和各个自行车租赁公司的协调,再加上缺乏科学的软件工程理论,往往造成自行车租赁公司的重复建设和资源的隔阂,造成了不必要的浪费。

传统的自行车租赁系统大多停留在单机操作或是C/S架构,有的虽采用了平台无关的Java 技术实现Web 应用,但这只是系统开发一级的开放性,在特定的应用中无论是Client 端还是Server 端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。

“自行车租赁系统”旨在推进真正意义上的管理信息化,改进租赁企业在用户资料和车辆资料及车辆租借环节等繁重工作,利用网络,采用B/S结构,建立功能模块,突出交互性和动态性,实现基于Web 的在线自行车租赁系统,并通过开放式的接口,实现与跨服务站点和车辆信息交换与共享。

1.3 论文研究的目的与应用价值

本论文研究的主要内容是以一部分大城市推广公共自行车租赁系统为实例,运用.NET 技术基于Web 的应用系统软件的设计与实现模式,从中提炼出适合一般租赁公司需求的软件框架。面向自行车租赁管理员与广大用户的要求,本系统突出以下特点,以满足高效化和信息化的管理要求。

特点一:基于成熟架构模式,业务扩展简单方便

“自行车租赁系统”基于Web 和.NET 框架实现三层的B/S架构,使用于大规模客户端的应用和访问,大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。系统建立B/S结构的网络应用,并通过Internet 模

式下数据库应用,相对易于把握、成本较低。本项目一次性能实现不能的人员,不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。

特点二:模块化及公共类设计,提高开发效率及系统维护

本系统在界面与功能上,都采用了模块化设计思想,采用自顶向下逐层把系统分成若干个模块,每个模块完成一个特定的功能,所有模块按照科学的方法组装起来,完成完整的系统需求。同时在程序中设计编写公共类,大大地提高了开发的效率以及系统的可维护性,为以后的复用打下了基础。

特点三:源于一线的工作实际,人性化设计

自行车租赁系统在全国兴起,是将自行车纳入到公共交通系统,基于“随用随借、公众使用”的开发理念,解决城市“最后1-3公里”的交通问题。面对庞大的用户需求,使用计算机对自行车租赁系统的相关租赁及管理功能,本系统用户操作简单、方便,界面友好、美观,为其他系统提供借鉴和应用。

随着科学技术的不断提高,计算机科学技术不断成熟,它进入人类社会的各个领域并发挥着越来越重要的作用,作为计算机应用的一部分,使用计算机对自行车租赁进行管理,具有人工管理无法比拟的优点:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些能够极大提高自行车租赁管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。

1.4 本章小结

本章从管理系统跨越式发展的前景下提出公共自行车租赁管理工作数字化管理的需求,通过分析当前国内外自行车租赁系统的应用情况,明确了基于Web 和B/S结构的自行车租赁系统的开发模式,并阐述了课题研究的目标和意义。

第2章 系统项目研究方法及准备知识

2.1 项目研究方法

通过比较当前课题的研究现状与发展前景的基础上,以实际的工程需要和系统设计开发为蓝本进行。

瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

本系统采用带反馈的瀑布模型,如图2-1所示。当前流行的系统开发通过基于UML 的统一软件开发过程,统一过程是用例驱动的、以架构为中心的、迭代式和增量性的开发过程,有着开发瀑布不可比拟的优势。带反馈的瀑布模型有以下优点:

1.较小的项目失败风险,较好的生产力,较低的缺陷率。尽早暴露技术、需求、对象、可用性等风险,有利于缓和相关冲击。

2.早现的直观化过程。尽早反馈、处理变化需求,及时调整设计,有利于系统的精确性和密切干事人的关系。

3.迭代开发的学习型机制有利于改进系统开发。统一软件开发过程是一个弹性、开放的开放模式,鼓励融合极限编程等方法,利用驱动开发、重构、连续整合等步骤优化代码与设计。

图2-1 带反馈的瀑布模型

2.2 系统体系结构

系统体系结构是一个综合模型,系统体系结构是由许多结构要素及各种视图所组成的,而各种视图主要是基于各组成要素之间的联系与互操作而形成的。所以,系统体系结构是一个综合各种观点的模型,用来完整描述整个系统。随着信息系统规模不断扩大、复杂程度日益提高,体系结构模式对信息系统性能的影响越来越大,不同功能的信息系统对体系结构模式有不同的要求,各种体系结构模式的信息系统在开发和应用过程中也有很大的区别。选择和设计合理的体系结构模式甚至比算法设计和数据结构设计更重要。

2.2.1 单用户体系结构

单用户信息系统是早期最简单的信息系统,整个信息系统运行在一台计算机上,由一个用户占用全部资源,不同用户之间不共享和交换数据。

2.2.2 C/S体系结构

C/S(Client/Server)结构,即客户机和服务器结构。这种体系结构模式是以数据库服务器为中心、以客户机为网络基础、在信息系统软件支持下的两层结构模型。这种体系结构中,用户操作模块布置在客户机上,数据存储在服务器上的数据库中。客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。目前大多数信息系统是采用Client/Server结构。

2.2.3 B/S体系结构

B/S(Browser/Server)结构,即浏览器服务器结构。它是随着Internet 技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面通过浏览器来实现,极少部分事务逻辑在前端(Browser )实现,主要事务逻辑在服务器端(Server )实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。

2.3 技术概述

2.3.1 IIS

IIS 是Internet Information Server的缩写,它是微软公司主推的服务器, IIS 与WindowNT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS 内置的安全特性,建立强大,灵活而安全的Internet 和Intranet 站点。

IIS 支持HTTP ,FTP 以及SMTP 协议,通过使用CGI 和ISAPI ,IIS 可以得到高度的扩展。IIS 还支持与语言无关的脚本编写和组件,通过IIS ,开发人员就可以开发新一代动态的,富有魅力的Web 站点。IIS 不需要开发人员学习新的脚本语言或者编译应用程序,IIS 完全支持ASP ,VBScript ,JScript 开发软件以及Java ,它也支持CGI 和WinCGI ,以及ISAPI 扩展和过滤器。

2.3.2 ASP.NET

ASP.NET 基于.NET Framework , 使用.NET 语言调用.NET Framework类库,实现Web 应用系统开发。

因为ASP. NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web 应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET 的Web 应用中。ASP.NET 同时也是language-independent (语言独立化)的,所以,可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java 的结合体),VB ,Jscript , C++、F++。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP. NET。ASP.NET 使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。

2.3.3 SQL Server 2005

SQL(Structured Query Language)是用来对存放在计算机中的数据库进行组织、管

理和检索的语言。SQL Server 2005是一个前面的数据平台,为用户提供一套完整的数据管理和分析解决方案。使用SQL Server 2005可以构建和管理高可用、高性能的数据应用程序。SQL Server 2005的核心是数据库引擎,此外还整合了很多数据分析服务。

SQL Server 2005是一个完全完整的数据库与分析产品。具有高扩展性、高可靠性、高移植性和完全支持Web 等特点。从企业数据管理、开发人员生产效率和商业智能三方面帮助用户提要业务。

2.4 本章小结

本章主要介绍一些在系统开发中使用的相关技术,并对比分析各种技术的优劣点,根据系统可靠性和可扩展性等要求,从中选择合适的系统开发平台、开发模式和开发技术。

第3章 需求分析

自行车租赁系统是一个面向企业租赁管理的系统,系统基本上解决了目前自行车租赁管理的各个方面的问题。并在逻辑上实现了多个层面的日常工作管理和信息交互。系统在浏览器中体现出了特有的区分,可以限制有些系统重要内容的外泄,保证整个系统管理的完整性、安全性、独特性。

3.1 系统需求分析

参考法国里昂与杭州公共自行车系统,用户凭有效证件,在本系统进行用户注册并缴现金后,获得租车卡,可持该卡在公司设置的所有固定的自行车租用服务点办理租车或还车。本系统采用“通租通还”的形式,准予用户在一个租赁点取车,在不同的租赁点还车。系统根据用户租用不同车辆类型预付不同数额的信用金(租用车辆时扣除用户信用金,归还车辆时返还用户信用金),用户可以享受1h 的免费使用时间,超出部分费用也很低廉,积极提倡了环保出行的理念。

系统需要建立查询系统,即建立一个完善的数据库,构建一个完整的网络,一个租赁点就是一个网点,届时用户就可以通过登录系统来查询附近网点的分布情况,最近网点地址,有无存车,车辆数量等。管理员可以通过登录系统来管理车辆、用户信息结算车辆租借金额,高效的进行系统信息维护。

3.2 系统的功能需求

自行车租赁系统分为五个模块:系统设置、用户管理、车辆管理、车辆租还和系统查询。

系统的具体功能模块如图3-1所示。

图3-1 系统模块图

详细说明如下:

1. 管理员设置:添加删除管理员,对管理员各个模块权限的设置。 2. 修改密码:修改登录人的密码。

3. 服务站点设置:查看添加修改删除服务站点信息。 4. 车位设置:查看添加修改删除车位信息。

5. 用户类型管理:不同的用户类型具有不同的信用金额及可借车辆数量。对用户类型进行添加修改删除。

6. 用户档案管理:添加新用户、用户充值、用户基本信息的修改删除。 7. 车辆类型管理:添加车辆类型信息、车辆类型信息的修改与删除。 8. 车辆档案管理:添加车辆、车辆基本信息修改与删除。

9. 车辆租借:通过查找用户车辆编号获取用户及车辆信息、进行车辆租借、扣除用户信用金、生成车辆租借信息。

10. 车辆归还:通过查找用户条形码获取用户信息及租用车辆信息、进行车辆归还操作、返还信用金、按时间分段扣除租借费用、跟新车辆租借信息。 11. 车辆档案查询:通过多方式对车辆档案进行查询。

12. 车辆租借查询:通过车辆编号获得车辆相关信息及租用人名。 系统各功能之间的关系如下图3-2所示。

图3-2 系统功能之间的关系

3.3 用例分析

用例分析就是捕捉系统、子系统、类或者组件的行为,并通过用例图向外部用户展示。统一开发过程强调用例驱动的、迭代增量的开发,用例不但用于捕获需求,还用于提供分析到测试的活动基础。

3.3.1 定义参与者

参与者是与系统、子系统或者类发生交互作用的外部用户、进程或其他系统的理想化角色。一个参与者代表了一类外部用户可能与系统发生的交互。通过分析确认本系统的参与者为:超级管理员、管理员、和用户。

超级管理员拥有所有权限,管理员的权限是超级管理员给予分配的,用户的权限只拥有查询功能。

3.3.2 捕获用例

用例是一个外部可见的系统内聚功能单元,功能单元由一种被称为主体的类元提供,用例表示主体与系统单元的一个或多个参与者之间所交换的信息序列。下面对自行车租赁系统进行分析与说明,并列举用例图。

用户在系统中具有登录系统、退出系统、修改密码、系统查询四项功能权限,如图3-3所示。管理在系统中具有登录系统、退出系统、修改密码、系统设置、用户管理、车辆管理、车辆借还、系统查询全部的系统功能权限,如图3-4所示。

图3-3 用户用例图

图3-4 管理者用例图

3.4 本章小结

软件需求分析是软件在生命周期中重要的一步,也是决定性的一步。需求分析采用了流行的用例分析技术,确定了参与者与用例。在用例细化过程中,运用活动图进行分析,从而确定参与者的交互和初步的工作流程。

第4章 数据库设计

4.1 数据库设计原则

数据库设计要符合“一致性”、“完整性”、“安全性”与“可伸缩性”等原则。同时关系型数据库的设计应遵循规范化理论。在设计和操作维护数据库时,简洁、结构明晰的表结构对数据库的设计是相当重要的,关键的步骤就是要确保数据正确地分布到数据库的表中。使用正确的数据结构,不仅便于对数据库进行相应的存取操作,而且可以极大地简化应用程序的其他内容(查询、窗体、报表、代码等)。规范化的表结构设计,在以后的数据维护中,不会发生插入、删除和更新时的异常。

4.2 表的设计

本系统采用SQL server 2005数据库。在SQL server 2005数据库中创建名为tb_brs的数据库,在该数据库中创建10张表。包括管理员登录表、权限信息表、车辆租用信息表、车辆车位信息表、自行车信息表、车辆类型信息表、服务站点信息表、菜单栏信息表、用户信息表和用户类型信息表。

4.2.1 表的结构

1. 管理员登录表(tb_user)

管理员登录表用来记录管理员的登录信息。该表的结构如表4-1所示。

表4-1 tb_user表的表结构

2. 车位信息表(tb_bicyclecase)

车位信息表用来保存车辆存放位置的名称和编号信息。该表的结构如4-2所示。

表4-2 tb_bicyclecase表的表结构

3. 服务站点信息表(tb_serviceSite)

服务站点信息表用来存放自行车租赁系统服务站点的编号、名称、详细地点等信息。该表的表结构如4-3所示。

表4-3 tb_serviceSite表的表结构

4. 车辆租用信息表(tb_bicycleBorrow)

车辆租用信息表用来保存车辆租用时间、车辆归还时间、车辆编号、租车人条形码等。该表的表结构如4-4所示。

表4-4 tb_bicycleBorrow表的表结构

5. 权限信息表(tb_admSet)

权限信息表用来保存每个管理员所拥有的权限信息。该表的表结构如表4-5所示。

表4-5 tb_admSet表的表结构

6. 车辆信息表(tb_bicycleInfo)

车辆信息表用来保存车辆的编号、库存、价格等信息。该表的表结构如表4-6所示。

表4-6 tb_bicycleInfo表的表结构

7. 车辆类型信息表(tb_bicycleType)

车辆类型信息表用来保存车辆的类型、车辆免费租用时间、信用金等信息。该表的结构如表4-7所示。

表4-7 tb_bicycleType表的表结构

8. 菜单栏信息表(tb_menuInfo)

菜单栏信息表用来保存菜单栏的文本、跳转路径、权限名称等信息。该表的结构如表4-8所示。

表4-8 tb_menuInfo表的表结构

9. 用户信息表(tb_borrowerInfo)

用户信息表主要包括用户条形码、姓名、密码等信息。该表的结构如表4-9所示。

表4-9 tb_borrowerInfo表的表结构

10. 用户类型信息表(tb_borrowerType)

用户类型信息表用来保存用户类型名称信息、用户类型可租用车辆数量信息。该表的结构如表4-10所示。

表4-10 tb_borrowerType表的表结构

4.2.2 车辆租借E-R 图

在自行车租赁系统中的各表信息中,其中约定:任何用户可以借多辆车辆,任何一辆自行车可以被多个人借,租车时,要登记相应的租车日期;一个车辆类型可以属于多个车辆,同一辆自行车只能是同一个车辆类型;一个服务站点可以含有多辆不同的自行车,每辆自行车只能属于一个服务站点。如车辆租借E-R 图4-1所示。

图4-1 车辆租借E-R 图

4.3 视图与触发器设计

为了方便程序中进行查询和保证数据的统一性,改数据库中创建了一个视图和一个删除型触发器。视图和触发器的详细设计如下。

4.3.1 view_bicycleInfo视图

视图view_bicycleInfo用来保存车辆的详细信息,其中包括车辆类型、车辆所在服务站点和车位名称。该视图是车辆信息表(tb_bicycleIfo)、车辆类型信息表

(tb_bicycleType)、服务站点信息表(tb_serviceSite)、车位信息表(tb_bicyclecase)4张表通过连接获得。创建视图的代码如下:

create view view_bicycleInfo

as

select*from(tb_bicycleInfo as a inner join tb_bicycleType as b on

a.bicycleType=b.typeID) inner join tb_bicycleserviceSite as c on

a.serviceSite=c.serviceSiteID inner join tb_bicyclecase as d on

a.bicyclecase=d.bicyclecaseID

go

4.3.2 delUser删除型触发器

delUser 删除型触发器是用来保证数据的统一性。例如,需要删除某一个管理员的信息,就要保证删除管理员登录表中管理员信息和权限信息表中的管理员权限信息。实现这个系统也可以通过两条SQL 语句来实现,但是为了提高执行效率本系统使用删除型触发器。触发器可以看做一个存储过程。它与存储过程的区别在于,存储过程通过存储过程名被调用,而触发器通过触发事件将被调用。删除型触发器是在删除某表中的数据而被触发的。delUser 删除型触发器编写在权限信息表中(tb_admSet)。该触发器实现的代码如下:

create trigger delUser on tb_admSet

for delete

as delete from tb_user where username=(select username from deleted)

4.4 本章小结

本章介绍了关系型数据库设计的基本思想,在系统需求分析的基础上进行数据库中表及视图和触发器的建立。

第5章 系统的设计

5.1 系统设计思想

.NET Framework是用于Windows 的新托管代码编程模型。它强大功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。自行车租赁系统系统架构是基于.NET Framework。同时,为了实现系统的可重用性和可扩展性。在系统中,利用一个用户界面控制器控制网页的生成、转发及控件调用,实现模型和视图分离,从而使系统的各个功能模块达到一种层间低耦合的效果,提高系统灵活性、复用性和可维护性。系统结构设计如图5-1所示:

表示层

业务逻辑层数据访问层数据库

图5-1 三层架构图

5.2 系统模块的设计

根据需求分析,自行车租赁系统主要包括系统设置、车辆信息管理、用户信息管理、车辆借还、系统查询五个子系统。

5.2.1 登录模块

用户登录模块是用户进入系统的窗口,用户要访问设备管理系统首先必须要进行身份验证,只有验证通过的用户才能访问本系统。因此,首先用户要打开用户登录页面,在登录页面按照要求输入自己的用户名和密码,然后单击页面“确定”按钮,用户输入的信息在客户端进行加密后发送到服务器,服务器接受到客户的请求后将对数据进行解密操作,将解密得到的用户名和密码与数据库的用户表中的用户名和密码进行比较,如果表中存在该用户名且密码也相同,则用户登录成功,程序将进行下一步

处理,通过用户名获取该用户所具有的权限,最后根据用户的权限生成系统的主页面返回给用户;如果用户名不存在或密码错误,将会给出相应的提示信息“用户名不存在”或“密码错误”;如果用户不输入用户名或密码直接登录,系统则会提示“用户名或密码不能为空”。

根据上面的分析,用户登录流程为用户先要进入自行车租赁系统的用户登录页面,在登录页面输入自己的用户名和密码进行登录,登录成功后将返回主操作页面给用户,其具体的流程图如下图5-2所示:

图5-2 用户登录流程图

5.2.2 车辆添加模块

将用车辆信息信息录入是系统运行数据的来源,管理员登录成功后,在主操作页面的功能菜单栏点击菜单栏下的车辆信息管理页面中的添加车辆按键,链接到添加车辆页面,在添加该页面可添加新的车辆的相关信息。

下面以的流程为管理员先打开用户登录页面,输入自己的用户名和密码进行登录,登录成功后管理员将进入主操作页面给设备管理员,管理员进入车辆添加页面,在其页面中输入正确的车辆信息,系统核实信息格式正确后,将会调用sql 语句将车辆信息保存在车辆信息表中并返回“保存成功”,则完成了车辆添加操作。其具体的流程图如下图5-3所示:

图5-3 添加车辆流程图

5.2.3 车辆租借模块

本模块实现获取用户信息,获取车辆信息,实现租借功能,生成租借信息表,扣除用户信用金等操作。管理员登录后,在主页面的车辆租还的菜单栏下选择车辆租借,进入车辆租借页面。在页面中输入要租用车辆的用户编号,系统搜索用户条形码是否存在,若用户条形码不存在,则输出“用户条形码输入错误”。若用户条形码存在,则显示用户信息。管理员输入车辆编号,系统将搜索车辆编号是否存在,若输入的车辆编号不存在,则输出“车辆编号错误”。若辆编号存在,则显示此车辆的信息。管理员单击“租用”进行车辆租借,系统扣除用户信用金并生成把用户信息与租用车辆保存在车辆租借表里,完成车辆租借过程。车辆租用流程图如图5-4所示:

图5-4 车辆租用流程图

5.2.4 车辆归还模块

系统车辆归还模块实现用户租借车辆后归还车辆的另一重要功能。管理员登录后,在车辆借还菜单栏下选择车辆归还,进入车辆归还页面。在页面中输入用户条形码,系统搜索用户条形码是否存在,若用户条形码不存在,则输出“用户条形码输入错误”。若用户条形码存在,则显示用户信息及用户租用所有车辆信息。管理员也可继续输入车辆编号,若车辆编号输入错误,则显示“车辆编号输入错误”,若车辆编号输入正确,则只显示此车辆信息。管理员单击“归还”按钮,系统将跟新车辆租借表,返还用户信用金及扣除租借费用,并显示“归还成功!返还信用金额,扣除租借费用”。车辆归还流程如图5-5所示:

图5-5 车辆归还流程图

5.2.5 车辆查询

车辆查询是设备管理员及用户了解车辆管理情况的一个重要手段,通过查询设备管理员与用户能够方便轻松地获得车辆的有关资料。下面是对车辆查询模块的设计情况。

车辆查询的流程为管理员先打开登录页面,输入自己的用户名和密码进行登录,登录成功后将返回主操作页面给设备管理员,设备管理员单击车辆查询菜单下的车辆档案查询即可进行车辆查询页面,在车辆查询页面,用户可以按照所选择项输入相应

的查询条件进行查询。其具体的流程图如下图5-6所示:

图5-6 车辆信息查询流程图

5.3 公共类的封装与设计

封装就是将抽象得到的数据和行为(或功能) 相结合,形成一个有机的整体,也就是把数据与操作数据的代码源进行有机的结合,形成“类”,其中数据和汗水都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,特定的访问权限来使用类的成员。

在开发项目中以类的形式来组织、封装一些常用的方法和事件,把所有属性和尽可能多的东西藏起来,对外提供简捷的接口。类的封装不仅可以提高代码的重用率,也大大方便了代码的管理。在本系统中创建了一个公共类dataOperate ,该类主要用来访问SQL Server数据库、返回基本的ADO.NET 对象、执行数据绑定和数据验证等功能。在程序开发时,窗体只需调用相应方法即可。

自定义seleSQL 方法来判断所指定的数据是否存在;自定义方法enteySql 方法用于实现用户登录;自定义execSQL 方法用来实现对数据库的更新、插入和删除操作;自定义getDataset 方法用来实现查询数据并返回DateSet 对象;自定义getRow 方法用来实现查询数据库并返回SqlDataBorrower 对象;自定义execTransaction 方法用来执行事务处理。

5.4 关键技术

5.4.1 权限存储设计思路

由于不同的管理员会拥有不同的管理权限,所有每个管理员的管理权限都保存在数据库中。在数据库中使用了两张表来保存权限信息。一张是权限信息表(tb_admSet)该表中用来存储是否拥有权限,每个权限字段会表示2个或3个子权限。例如,在车辆租借字段中记录着2个子权限,如车辆租用和车辆归还,这2个子权限分别用0和1来表示,并使用逗号将2个表示是否拥有权限的0或1隔开。另一张菜单栏信息表(tb_menuInfo)用来保存各菜单项在Menu 控件中显示的文本和跳转路径等信息。可以通过判断权限信息表中的某个字段是否拥有权限,如果拥有再根据菜单栏信息表中的相应文本和跳转路径添加到Menu 控件上。

5.4.2 Menu动态菜单编辑

在系统中是使用Menu 控件来显示权限信息的,Menu 控件与样式与Windows 应用程序中菜单栏类似。在Windows 程序中比较常见。Menu 控件具有两种显示模式:静态模式和动态模式。静态显示模式意味着Menu 控件始终是完全展开的。整个结构都是可视的,用户可以单击任何部位。而在动态显示的菜单中,只有用户将鼠标指定在父节点上才会显示其子菜单项。本系统采用动态显示模式,Menu 控件中只显示管理员拥有权限,管理员没有的权限在Menu 控件中将不会显示,而Menu 控件是根据数据库中所保存的权限信息动态创建的。动态创建Menu 菜单主要是通过使用MenuItem 对象来实现。

5.4.3 事务回滚

在车辆借还过程中使用了事务回滚功能,事务回滚可以保证数据的完整性,由于在车辆借还操作中要执行多部操作,例如,将用户信息表中的金额减去信用金,将车辆信息表中的车辆租用次数加1和车辆库存减1。如果这几步操作出现错误将会导致比较严重的错误。为了避免错误的发生在车辆借还业务操作中使用事务回滚操作。

在AOD.NET 中使用SqlConnection 对象中的BeignTransaction 方法来创建一个本

地的事务并将该事务添加到SqlTransaction 类中。SqlTransaction 类表示在SQL Server数据库中处理的Transact-SQL 事务,该类无法继承。在该类中的两个比较重要的方法,下面具体说明。

(1) Commit 方法

该方法用来提交数据库的事务,语法格式如下:

Public override void Commit()

(2) Rollback 方法

该方法用来从挂起状态回滚事务,语法格式如下:

Public override void Rollback()

5.5 本章小结

通过三层体系结构系统设计,以满足基于控件和角色分配的灵活的可扩充的低耦合系统。

第6章 系统实现与测试

6.1 页面实现

6.1.1 登录页面

登录页面实现用户和管理员登录的功能。登录页面中设有用户与管理员两个不同身份,登录者登录系统后,系统将保存登录者的用户名与登录身份。登录页面如图6-1所示。

图6-1 登录页面

6.1.2 Menu菜单动态编辑

权限菜单栏显示了管理员所拥有的权限信息,由于每个管理员的管理权限是不同的,所以菜单栏是根据管理员的权限信息而动态创建的。菜单栏如图6-2所示。

前台页面设计中创建1个Web 用户控件页面,在页面中添加1个Menu 控件,该控件用于实现菜单栏导航。不同的管理员进入系统后将显示不同的菜单栏。

后台代码在页面加载事件中,首先判断用户登录类型,根据登录类型得知登录者是以用户还是管理员的身份登录。如果登录者是以用户身份登录将调用自定义menuBorrower 方法显示用户的Menu 菜单栏。如果是是管理员的身份登录,将调用自定义menuManage 方法显示管理员的菜单栏。

图6-2 Menu菜单栏

6.1.3 系统设置页面

管理员设置页面用于对管理员信息的查看和管理,包括管理员的权限信息和添加管理员、删除管理员等操作。管理员设置页面如图6-3所示。

图6-3 管理员设置页面

管理员权限设置页用来设置管理员的每个权限信息。管理员权限设置页面如图6-4所示。

图6-4 管理员权限设置页

6.1.4 用户管理

用户类型管理用来添加新的用户类型,在该页面下可以修改用户类型和删除用户类型。用户类型管理页面如图6-5所示。

图6-5 用户类型管理页面

用户信息管理页面用于对用户信息的查看和管理,包括查看用户信息和添加用户、修改用户信息、删除用户等操作,用户信息管理页面如图6-6所示。

图6-6 用户信息管理页面

6.1.5 车辆借还页面

车辆租借页面用来实现自行车租借功能。在页面中输入用户的条形码和车辆的编号来实现车辆的租借功能。车辆租借页面如图6-7所示。

图6-7 车辆租借页面

车辆租借页面用来实现自行车租借功能。在页面中输入用户的条形码和车辆的编号来实现车辆的租借功能。车辆租借页面如图6-8所示。

图6-8 车辆归还页面

6.1.6 车辆档案查询页面

车辆档案查询页面用来实现用户对某个车辆的搜索功能。在该页面中用户可以根据车辆的编号、车辆名称、车辆类别、车辆服务站点等条件,进行车辆的搜索功能。使用该功能可以方便用户了解车辆的库存、车辆的所在服务站点。车辆的租借次数等信息。如图6-9所示。

图6-9 车辆档案查询页面

6.2 系统测试

软件质量是贯穿软件生存期的一个重要的问题,为提高软件质量,在软件开发的各个阶段都要注意提高软件质量。为了保证软件的质量和可靠性,必须对软件进行一系列的测试。系统测试伴随着迭代增量开发的每一个周期,特别要重视软件开发后期进行的测试验收与确认阶段进行的软件测试工作,即软件可靠性测试。通常它是衡量在规定的条件与时间内,软件完成规定的能力软件的可靠性是评价软件质量的一个重要指标。

软件的测试方法和技术多种多样,从是否关心软件内部结构和具体实现的角度上可划分为:白盒测试、黑盒测试和灰盒测试;从是否执行程序的角度可划分为:静态测试和动态测试;从软件开发的过程按阶段可划分为:单元测试、集成测试、系统测试。

本系统是采用按照软件开发的阶段的测试方法,因而本系统在交付运行之前要进行单元测试、集成测试和系统测试。

1. 单元测试

单元测试又称模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。单元测试主要是用来检验程式的内部逻辑,通常由编写程序代码的程序员负责进行。在面向对象程序中单元测试的主要对象是类,其测试包括类的方法和属性。

2. 集成测试

集成测试也叫组装测试。集成测试是在单元测试基础上,将所有模块按照概要设计要求组装成为子系统或系统后的测试。集成测试主要目的是检查详细设计中可能存在的问题,尤其是检查各单元与其它程序部分之间的接口上可能存在的错误。面向对象的集成测试能够检测出那些类相互作用时才会产生的错误。

3. 系统测试

系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案中指定功能的有效方法, 它是按照系统需求规格说明来设计测试用例,并在实际的环境中执行测试以验证软件是否满足指定的系统需求,通过与系统的需求定义作比较来发现软件与系统定义不符合或相矛盾的地方。

6.3 本章小结

本章对自行车租赁系统的主要模块的实现为例,结合多种设计模式和分层技术原则,较全面地分析了系统的实现过程。并在迭代开发循环测试基础上,通过浏览客户端,对最终系统进行业务处理测试,验证了系统的稳定性与显示效果。

第7章 结束语

本自行车租赁系统根据现代公共自行车租赁发展的需求和数字化管理的总体要求而提出,在借鉴国内外项目的研究经验基础上,通过统一软件开发过程和UML 规范,研究了基于.net framework 平台建设基于B/S的自行车租赁系统。随着越来越多的城市开始建设自行车租赁系统,鼓励市民充分利用自行车代步,以实现“低碳排放、绿色出行”。许多自行车租赁系统班的比较好,业务也比较全面,可就租赁软件大多是缺乏与远程客户的交流,仅仅局限于本地或者本区域,使租赁发展受到了很大的束缚。本系统正是从此处考虑,通过计算机技术对自行车租赁系统进行信息管理化建设,实现自行车租赁管理的高效化,电子化,为提倡多利用公共自行车出行,提高道路资源利用、缓解交通拥堵,促进节能减排、提高城市品位提供强有力的技术保障。本系统具有一定的创新性和推广价值,体现在以下几方面。

(1)实现自行车租赁的需求和统计日常化管理。本系统源自一线的自行车租赁工作业务的需求,通过对杭州自行车租赁系统的实际业务模型为依据进行设计、分析。在设计中对系统的可扩展性做了充分的考虑。特别谁对权限设置的设计上,使系统更富生命力和普通适用性。

(2)采用统一软件开发过程与UML 规范。并采用迭代增量、用例驱动开发思路,系统分析、设计和实现完全使用面向对象方法,保证了系统分析、设计、实现模型结构的一致性,并通过UML 建模语言描述了软件分析、设计各阶段的模型成果。

(3)基于模块开发和通过三层架构的模式,以及安全性、事务性设计,使系统具有良好的稳定性、可维护性和扩展性,适应未来不断变化的需求。

本系统所需的大部分功能已经得以实现,并且也符合以上几个特性。但是,一个完整的系统分析、设计需要更长的时间来测试并不断完善,其合理性和适用性还有待实践的检验。规划时出现的功能现在由于时间,技术等原因都不能很好的实现,使系统的质量受到一定的影响。因此,本系统仍然存在着一些需要改进和不足的地方。

参考文献:

[1]沈士根,汪承焱,许小东.Web 程序设计—ASP.NET 使用网站开发[M].北京:清华大学出版社,2009.

[2]张跃廷,苏宇,房大伟.ASP.NET 开发模型模块大全[M].北京:人民邮电出版社,2009.276-309.

[3]唐德红,彭琳. 自行车租赁系统的设计分析[J].科技资讯.2009年.

[4]常跃,黄科舫. 城市自行车租赁管理方法和系统[P],中国专利:[1**********]7.5,2008年.

[5]钟明,陈闪. 一种自行车租赁方法[P],中国专利:[1**********]1.6,2008年.

[6]姚遥,周扬军. 杭州市公共自行车系统规划[J].城市交通.2009,7(4).

[7]韩慧敏,张宇,乔伟. 里昂公共自行车系统[J].城市交通. 2009,7(4).

[8]郭敏辉,钟明. 上海市公共自行车系统规划与实现[J].城市交通.2009,7(4).

[8]耿雪,田凯,张宇,黎晴. 巴黎公共自行车租赁点规划与设计 [J].城市交通,2009,7(4).

[10]钱雪忠,罗海驰,陈国俊. 数据库原理及技术课程设计[M].北京:清华大学出版社,2009.

[11]万军. 自行车租赁控制及自行车和租赁控制方法[P].中国专利:[1**********]9.7,2005年.

[12]任泰明. 基于B/S结构的软件开发技术[M].陕西:西安电子科技大学出版社,2006.

[13]李小英.SQL Server 2005 数据库原理与应用基础[M].北京:清华大学出版社,北京交通大学出版社,2008.

[14]杨恩慧, 牛允鹏. Web开发技术基础教程[S].电子工业出版社,2002.

[15]李镇贤. 高效学生综合考评系统的设计与实现[D].广州:华南理工大学,2005.

[16]韩柯. 软件子系统测试[M].机械工业出版社,2003.

[17]陈松乔等. 现代软件工程[M].北方交通大学出版社,2002.

[18]Martin Fowler. UML Distilled: A Brief Guide to the Standard Object Modeling Language [M].Third Edition. Addison Wesley Professional, 2003.

[19]Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling Language User Guide [M], Second Edition. Addison Wesley Professional, 2005.

摘 要

本文论述了一个基于.NET 平台、B/S(浏览器和服务器结构) 的自行车租赁系统。设计原理、设计思想及具体的实现过程,对在设计过程中涉及到的关键设计思想及重要作业流程作了具体分析和介绍,并对各个模块的设计思想及设计过程作了详细阐述。本系统的设计采用了Microsoft 最新的.NET 技术,以Microsoft SQL Server 2005作为数据库支撑平台,应用到的技术包括ASP.NET 、面向对象方法学、软件工程思想等。

该系统是一个自行车租赁系统,是以低碳减排、健康生活为背景,开发一个可用于城市地区或公司的自行车租赁系统管,实现自行车租赁管理的高效化,电子化。通过使用本系统,可以方便快捷地实现自行车租赁中的服务站点管理、车辆管理、用户管理、租用车辆管理和归还车辆管理等操作,使各个管理井井有条,为公共自行车的健康发展创造条件。

本人的毕业设计是主要实现该系统的所有功能,后台采用C#开发语言,数据库采用SQL Server 2005设计。

关键词: 自行车租赁,面向对象,公共类,B/S

ABSTRACT :

This thesis discusses the.net platform, based on B/S (Browser/Server) bicycle rental system. Design principle, design idea and the realization process of in the design process involves key algorithms and important work flow are analyzed and introduced, and the design ideas of each module and design process are described. This system was designed using Microsoft's latest.net technology in 2005, Microsoft SQL Server database support platform, as applied to technology including the asp.net, object-oriented methodologies, software engineering idea and so on.

This system is a bicycle rental system, with low carbon emissions, healthy life as the background, developing a can be used in urban areas or the company's bicycle rental

system tube, realize the bike rental management highly effective, electronic. By using this system, can quickly realized the bicycle rental service site management, vehicle

management, user management, leased vehicle management and return vehicle

management operation, make each management in perfect order, for the healthy

development of public bicycle creates the condition.

I graduated from the design is mainly realizes the system by all the functions,

backstage C # development language, by 2005 design SQL Server database.

Keywords : b icycle rental, object-oriented , public class, B/S

目 录

摘 要 .................................................................................................................................... I

第1章 绪 论 ..................................................................................................................... 1

1.1 论文选题背景 . ................................................................................................................ 1

1.2 国内外研究现状 . ............................................................................................................ 1

1.3 论文研究的目的与应用价值 . ........................................................................................ 2

1.4 本章小结 . ........................................................................................................................ 3

第2章 系统项目研究方法及准备知识 . .......................................................................... 4

2.1 项目研究方法 . ................................................................................................................ 4

2.2 系统体系结构 . ................................................................................................................ 5

2.2.1 单用户体系结构 ......................................................................................................... 5

2.2.2 C/S体系结构 ............................................................................................................... 5

2.2.3 B/S体系结构 ............................................................................................................... 5

2.3 技术概述 . ........................................................................................................................ 6

2.3.1 IIS ................................................................................................................................. 6

2.3.2 ASP.NET . ...................................................................................................................... 6

2.3.3 SQL Server 2005 .......................................................................................................... 6

2.4 本章小结 . ........................................................................................................................ 7

第3章 需求分析 ............................................................................................................... 8

3.1 系统需求分析 . ................................................................................................................ 8

3.2 系统的功能需求 . ............................................................................................................ 8

3.3 用例分析 . ...................................................................................................................... 10

3.3.1 定义参与者 ............................................................................................................... 10

3.3.2 捕获用例 ................................................................................................................... 10

3.4 本章小结 . ...................................................................................................................... 11

第4章 数据库设计 ......................................................................................................... 12

4.2 表的设计 . ...................................................................................................................... 12

4.2.1 表的结构 ................................................................................................................... 12

4.2.2 车辆租借E-R 图 . ...................................................................................................... 16

4.3 视图与触发器设计 . ...................................................................................................... 16

4.3.1 view_bicycleInfo视图 ............................................................................................... 17

4.3.2 delUser删除型触发器 . .............................................................................................. 17

4.4 本章小结 . ...................................................................................................................... 17

第5章 系统的设计 ......................................................................................................... 18

5.1 系统设计思想 . .............................................................................................................. 18

5.2 系统模块的设计 . .......................................................................................................... 18

5.2.1 登录模块 ................................................................................................................... 18

5.2.2 车辆添加模块 ........................................................................................................... 19

5.2.3 车辆租借模块 ........................................................................................................... 20

5.2.4 车辆归还模块 ........................................................................................................... 21

5.2.5 车辆查询 ................................................................................................................... 21

5.3 公共类的封装与设计 . .................................................................................................. 22

5.4 关键技术 . ...................................................................................................................... 23

5.4.1 权限存储设计思路 ................................................................................................... 23

5.4.2 Menu动态菜单编辑 . ................................................................................................. 23

5.4.3 事务回滚 ................................................................................................................... 23

5.5 本章小结 . ...................................................................................................................... 24

第6章 系统实现与测试 ................................................................................................. 25

6.1 页面实现 . ...................................................................................................................... 25

6.1.1 登录页面 ................................................................................................................... 25

6.1.2 Menu菜单动态编辑 . ................................................................................................. 25

6.1.3 系统设置页面 ........................................................................................................... 26

6.1.4 用户管理 ................................................................................................................... 27

6.1.5 车辆借还页面 ........................................................................................................... 28

6.2 系统测试 . ...................................................................................................................... 30

6.3 本章小结 . ...................................................................................................................... 31

第7章 结束语 ................................................................................................................. 32

参考文献 ............................................................................................................................. 33 致 谢 ................................................................................................. 错误!未定义书签。

第1章 绪 论

1.1 论文选题背景

随着经济的快速发展,环境污染、生态恶化等一系列问题越来越突出。进入新世纪以来,世界各国更加关注生态环保问题。我国确定的世界环保日主题就是“共建生态文明,共享绿色未来”。主题旨在唤起社会公众对环境与发展关系的清醒认识和自觉行动,强调生态文明、绿色发展理念和公众参与,号召全社会行动起来为可持续发展之路做出贡献。

许多先进国家早已致力于发展自行车替代高能耗、高排放的交通工具。然而传统落后的自行车租赁管理模式仍然在很大程度上制约了推行公共自行车租赁普及化和现代化的发展,成为更深层次的“软环境”的问题。因此,在信息化、网络化的时代,通过计算机技术对自行车租赁系统进行信息管理化建设,实现自行车租赁管理的高效化,电子化,为提倡多利用公共自行车出行,能提高道路资源利用、缓解交通拥堵,促进节能减排、提高城市品位提供强有力的技术保障。自行车租赁系统是将自行车纳入到公共交通系统,基于“随用随借、公众使用”的开发理念,解决城市“最后1-3公里”的交通问题。

1.2 国内外研究现状

互联网发展速度迅猛,管理的现代化电子化已成为发展道路上发展的一大热点。随着宽带网络的普及以及网络互联网络应用方式的发展,正以前所未有的速度对传统管理方式以理论造成冲击,并对以往传统管理方式占主导的领域进行渗透。

“自行车租赁系统”以当前公共自行车租赁管理信息化的需求为背景,借鉴图书管理系统设计方案,采用了Microsoft 最新的.NET 技术,以Microsoft SQL Server 2005作为数据库支撑平台,应用到的技术包括ASP.NET ,面向对象方法学、软件工程思想,重点实现自行车租借管理,管理员及用户管理等重要功能。它是一般信息管理系统的特例,是管理信息系统在公共自行车领域的应用。

图书馆管理系统概念结构主要由四大部分组成即信息源、信息处理器、信息用户、

信息管理者组成。其中信息源是图书馆管理系统(MIS )的产地,信息处理器担负信息的传输、加工、保存等任务。信息用户是信息的使用者,它应用信息进行决策。信息管理者负责信息系统的设计实现。在西方的一些发达国家,几乎所有的企事业管理机制都有完整的计算机管理系统,提高了完整的管理信息服务,实现了办公自动化智能化,并有不同程度的辅助决策功能。而今,随着Internet 的广泛应用和计算机技术的不断创新,管理系统的发展又步入到一个崭新的阶段,基于大型数据库和Internet 的各个网络管理系统不断涌现,成为系统发展的新方向。

当前,我国基于自行车租赁系统建设尚处于发展阶段。由于缺乏统一的理、布局规划和各个自行车租赁公司的协调,再加上缺乏科学的软件工程理论,往往造成自行车租赁公司的重复建设和资源的隔阂,造成了不必要的浪费。

传统的自行车租赁系统大多停留在单机操作或是C/S架构,有的虽采用了平台无关的Java 技术实现Web 应用,但这只是系统开发一级的开放性,在特定的应用中无论是Client 端还是Server 端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。

“自行车租赁系统”旨在推进真正意义上的管理信息化,改进租赁企业在用户资料和车辆资料及车辆租借环节等繁重工作,利用网络,采用B/S结构,建立功能模块,突出交互性和动态性,实现基于Web 的在线自行车租赁系统,并通过开放式的接口,实现与跨服务站点和车辆信息交换与共享。

1.3 论文研究的目的与应用价值

本论文研究的主要内容是以一部分大城市推广公共自行车租赁系统为实例,运用.NET 技术基于Web 的应用系统软件的设计与实现模式,从中提炼出适合一般租赁公司需求的软件框架。面向自行车租赁管理员与广大用户的要求,本系统突出以下特点,以满足高效化和信息化的管理要求。

特点一:基于成熟架构模式,业务扩展简单方便

“自行车租赁系统”基于Web 和.NET 框架实现三层的B/S架构,使用于大规模客户端的应用和访问,大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。系统建立B/S结构的网络应用,并通过Internet 模

式下数据库应用,相对易于把握、成本较低。本项目一次性能实现不能的人员,不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。

特点二:模块化及公共类设计,提高开发效率及系统维护

本系统在界面与功能上,都采用了模块化设计思想,采用自顶向下逐层把系统分成若干个模块,每个模块完成一个特定的功能,所有模块按照科学的方法组装起来,完成完整的系统需求。同时在程序中设计编写公共类,大大地提高了开发的效率以及系统的可维护性,为以后的复用打下了基础。

特点三:源于一线的工作实际,人性化设计

自行车租赁系统在全国兴起,是将自行车纳入到公共交通系统,基于“随用随借、公众使用”的开发理念,解决城市“最后1-3公里”的交通问题。面对庞大的用户需求,使用计算机对自行车租赁系统的相关租赁及管理功能,本系统用户操作简单、方便,界面友好、美观,为其他系统提供借鉴和应用。

随着科学技术的不断提高,计算机科学技术不断成熟,它进入人类社会的各个领域并发挥着越来越重要的作用,作为计算机应用的一部分,使用计算机对自行车租赁进行管理,具有人工管理无法比拟的优点:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些能够极大提高自行车租赁管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。

1.4 本章小结

本章从管理系统跨越式发展的前景下提出公共自行车租赁管理工作数字化管理的需求,通过分析当前国内外自行车租赁系统的应用情况,明确了基于Web 和B/S结构的自行车租赁系统的开发模式,并阐述了课题研究的目标和意义。

第2章 系统项目研究方法及准备知识

2.1 项目研究方法

通过比较当前课题的研究现状与发展前景的基础上,以实际的工程需要和系统设计开发为蓝本进行。

瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

本系统采用带反馈的瀑布模型,如图2-1所示。当前流行的系统开发通过基于UML 的统一软件开发过程,统一过程是用例驱动的、以架构为中心的、迭代式和增量性的开发过程,有着开发瀑布不可比拟的优势。带反馈的瀑布模型有以下优点:

1.较小的项目失败风险,较好的生产力,较低的缺陷率。尽早暴露技术、需求、对象、可用性等风险,有利于缓和相关冲击。

2.早现的直观化过程。尽早反馈、处理变化需求,及时调整设计,有利于系统的精确性和密切干事人的关系。

3.迭代开发的学习型机制有利于改进系统开发。统一软件开发过程是一个弹性、开放的开放模式,鼓励融合极限编程等方法,利用驱动开发、重构、连续整合等步骤优化代码与设计。

图2-1 带反馈的瀑布模型

2.2 系统体系结构

系统体系结构是一个综合模型,系统体系结构是由许多结构要素及各种视图所组成的,而各种视图主要是基于各组成要素之间的联系与互操作而形成的。所以,系统体系结构是一个综合各种观点的模型,用来完整描述整个系统。随着信息系统规模不断扩大、复杂程度日益提高,体系结构模式对信息系统性能的影响越来越大,不同功能的信息系统对体系结构模式有不同的要求,各种体系结构模式的信息系统在开发和应用过程中也有很大的区别。选择和设计合理的体系结构模式甚至比算法设计和数据结构设计更重要。

2.2.1 单用户体系结构

单用户信息系统是早期最简单的信息系统,整个信息系统运行在一台计算机上,由一个用户占用全部资源,不同用户之间不共享和交换数据。

2.2.2 C/S体系结构

C/S(Client/Server)结构,即客户机和服务器结构。这种体系结构模式是以数据库服务器为中心、以客户机为网络基础、在信息系统软件支持下的两层结构模型。这种体系结构中,用户操作模块布置在客户机上,数据存储在服务器上的数据库中。客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。目前大多数信息系统是采用Client/Server结构。

2.2.3 B/S体系结构

B/S(Browser/Server)结构,即浏览器服务器结构。它是随着Internet 技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面通过浏览器来实现,极少部分事务逻辑在前端(Browser )实现,主要事务逻辑在服务器端(Server )实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。

2.3 技术概述

2.3.1 IIS

IIS 是Internet Information Server的缩写,它是微软公司主推的服务器, IIS 与WindowNT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS 内置的安全特性,建立强大,灵活而安全的Internet 和Intranet 站点。

IIS 支持HTTP ,FTP 以及SMTP 协议,通过使用CGI 和ISAPI ,IIS 可以得到高度的扩展。IIS 还支持与语言无关的脚本编写和组件,通过IIS ,开发人员就可以开发新一代动态的,富有魅力的Web 站点。IIS 不需要开发人员学习新的脚本语言或者编译应用程序,IIS 完全支持ASP ,VBScript ,JScript 开发软件以及Java ,它也支持CGI 和WinCGI ,以及ISAPI 扩展和过滤器。

2.3.2 ASP.NET

ASP.NET 基于.NET Framework , 使用.NET 语言调用.NET Framework类库,实现Web 应用系统开发。

因为ASP. NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web 应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET 的Web 应用中。ASP.NET 同时也是language-independent (语言独立化)的,所以,可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java 的结合体),VB ,Jscript , C++、F++。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP. NET。ASP.NET 使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。

2.3.3 SQL Server 2005

SQL(Structured Query Language)是用来对存放在计算机中的数据库进行组织、管

理和检索的语言。SQL Server 2005是一个前面的数据平台,为用户提供一套完整的数据管理和分析解决方案。使用SQL Server 2005可以构建和管理高可用、高性能的数据应用程序。SQL Server 2005的核心是数据库引擎,此外还整合了很多数据分析服务。

SQL Server 2005是一个完全完整的数据库与分析产品。具有高扩展性、高可靠性、高移植性和完全支持Web 等特点。从企业数据管理、开发人员生产效率和商业智能三方面帮助用户提要业务。

2.4 本章小结

本章主要介绍一些在系统开发中使用的相关技术,并对比分析各种技术的优劣点,根据系统可靠性和可扩展性等要求,从中选择合适的系统开发平台、开发模式和开发技术。

第3章 需求分析

自行车租赁系统是一个面向企业租赁管理的系统,系统基本上解决了目前自行车租赁管理的各个方面的问题。并在逻辑上实现了多个层面的日常工作管理和信息交互。系统在浏览器中体现出了特有的区分,可以限制有些系统重要内容的外泄,保证整个系统管理的完整性、安全性、独特性。

3.1 系统需求分析

参考法国里昂与杭州公共自行车系统,用户凭有效证件,在本系统进行用户注册并缴现金后,获得租车卡,可持该卡在公司设置的所有固定的自行车租用服务点办理租车或还车。本系统采用“通租通还”的形式,准予用户在一个租赁点取车,在不同的租赁点还车。系统根据用户租用不同车辆类型预付不同数额的信用金(租用车辆时扣除用户信用金,归还车辆时返还用户信用金),用户可以享受1h 的免费使用时间,超出部分费用也很低廉,积极提倡了环保出行的理念。

系统需要建立查询系统,即建立一个完善的数据库,构建一个完整的网络,一个租赁点就是一个网点,届时用户就可以通过登录系统来查询附近网点的分布情况,最近网点地址,有无存车,车辆数量等。管理员可以通过登录系统来管理车辆、用户信息结算车辆租借金额,高效的进行系统信息维护。

3.2 系统的功能需求

自行车租赁系统分为五个模块:系统设置、用户管理、车辆管理、车辆租还和系统查询。

系统的具体功能模块如图3-1所示。

图3-1 系统模块图

详细说明如下:

1. 管理员设置:添加删除管理员,对管理员各个模块权限的设置。 2. 修改密码:修改登录人的密码。

3. 服务站点设置:查看添加修改删除服务站点信息。 4. 车位设置:查看添加修改删除车位信息。

5. 用户类型管理:不同的用户类型具有不同的信用金额及可借车辆数量。对用户类型进行添加修改删除。

6. 用户档案管理:添加新用户、用户充值、用户基本信息的修改删除。 7. 车辆类型管理:添加车辆类型信息、车辆类型信息的修改与删除。 8. 车辆档案管理:添加车辆、车辆基本信息修改与删除。

9. 车辆租借:通过查找用户车辆编号获取用户及车辆信息、进行车辆租借、扣除用户信用金、生成车辆租借信息。

10. 车辆归还:通过查找用户条形码获取用户信息及租用车辆信息、进行车辆归还操作、返还信用金、按时间分段扣除租借费用、跟新车辆租借信息。 11. 车辆档案查询:通过多方式对车辆档案进行查询。

12. 车辆租借查询:通过车辆编号获得车辆相关信息及租用人名。 系统各功能之间的关系如下图3-2所示。

图3-2 系统功能之间的关系

3.3 用例分析

用例分析就是捕捉系统、子系统、类或者组件的行为,并通过用例图向外部用户展示。统一开发过程强调用例驱动的、迭代增量的开发,用例不但用于捕获需求,还用于提供分析到测试的活动基础。

3.3.1 定义参与者

参与者是与系统、子系统或者类发生交互作用的外部用户、进程或其他系统的理想化角色。一个参与者代表了一类外部用户可能与系统发生的交互。通过分析确认本系统的参与者为:超级管理员、管理员、和用户。

超级管理员拥有所有权限,管理员的权限是超级管理员给予分配的,用户的权限只拥有查询功能。

3.3.2 捕获用例

用例是一个外部可见的系统内聚功能单元,功能单元由一种被称为主体的类元提供,用例表示主体与系统单元的一个或多个参与者之间所交换的信息序列。下面对自行车租赁系统进行分析与说明,并列举用例图。

用户在系统中具有登录系统、退出系统、修改密码、系统查询四项功能权限,如图3-3所示。管理在系统中具有登录系统、退出系统、修改密码、系统设置、用户管理、车辆管理、车辆借还、系统查询全部的系统功能权限,如图3-4所示。

图3-3 用户用例图

图3-4 管理者用例图

3.4 本章小结

软件需求分析是软件在生命周期中重要的一步,也是决定性的一步。需求分析采用了流行的用例分析技术,确定了参与者与用例。在用例细化过程中,运用活动图进行分析,从而确定参与者的交互和初步的工作流程。

第4章 数据库设计

4.1 数据库设计原则

数据库设计要符合“一致性”、“完整性”、“安全性”与“可伸缩性”等原则。同时关系型数据库的设计应遵循规范化理论。在设计和操作维护数据库时,简洁、结构明晰的表结构对数据库的设计是相当重要的,关键的步骤就是要确保数据正确地分布到数据库的表中。使用正确的数据结构,不仅便于对数据库进行相应的存取操作,而且可以极大地简化应用程序的其他内容(查询、窗体、报表、代码等)。规范化的表结构设计,在以后的数据维护中,不会发生插入、删除和更新时的异常。

4.2 表的设计

本系统采用SQL server 2005数据库。在SQL server 2005数据库中创建名为tb_brs的数据库,在该数据库中创建10张表。包括管理员登录表、权限信息表、车辆租用信息表、车辆车位信息表、自行车信息表、车辆类型信息表、服务站点信息表、菜单栏信息表、用户信息表和用户类型信息表。

4.2.1 表的结构

1. 管理员登录表(tb_user)

管理员登录表用来记录管理员的登录信息。该表的结构如表4-1所示。

表4-1 tb_user表的表结构

2. 车位信息表(tb_bicyclecase)

车位信息表用来保存车辆存放位置的名称和编号信息。该表的结构如4-2所示。

表4-2 tb_bicyclecase表的表结构

3. 服务站点信息表(tb_serviceSite)

服务站点信息表用来存放自行车租赁系统服务站点的编号、名称、详细地点等信息。该表的表结构如4-3所示。

表4-3 tb_serviceSite表的表结构

4. 车辆租用信息表(tb_bicycleBorrow)

车辆租用信息表用来保存车辆租用时间、车辆归还时间、车辆编号、租车人条形码等。该表的表结构如4-4所示。

表4-4 tb_bicycleBorrow表的表结构

5. 权限信息表(tb_admSet)

权限信息表用来保存每个管理员所拥有的权限信息。该表的表结构如表4-5所示。

表4-5 tb_admSet表的表结构

6. 车辆信息表(tb_bicycleInfo)

车辆信息表用来保存车辆的编号、库存、价格等信息。该表的表结构如表4-6所示。

表4-6 tb_bicycleInfo表的表结构

7. 车辆类型信息表(tb_bicycleType)

车辆类型信息表用来保存车辆的类型、车辆免费租用时间、信用金等信息。该表的结构如表4-7所示。

表4-7 tb_bicycleType表的表结构

8. 菜单栏信息表(tb_menuInfo)

菜单栏信息表用来保存菜单栏的文本、跳转路径、权限名称等信息。该表的结构如表4-8所示。

表4-8 tb_menuInfo表的表结构

9. 用户信息表(tb_borrowerInfo)

用户信息表主要包括用户条形码、姓名、密码等信息。该表的结构如表4-9所示。

表4-9 tb_borrowerInfo表的表结构

10. 用户类型信息表(tb_borrowerType)

用户类型信息表用来保存用户类型名称信息、用户类型可租用车辆数量信息。该表的结构如表4-10所示。

表4-10 tb_borrowerType表的表结构

4.2.2 车辆租借E-R 图

在自行车租赁系统中的各表信息中,其中约定:任何用户可以借多辆车辆,任何一辆自行车可以被多个人借,租车时,要登记相应的租车日期;一个车辆类型可以属于多个车辆,同一辆自行车只能是同一个车辆类型;一个服务站点可以含有多辆不同的自行车,每辆自行车只能属于一个服务站点。如车辆租借E-R 图4-1所示。

图4-1 车辆租借E-R 图

4.3 视图与触发器设计

为了方便程序中进行查询和保证数据的统一性,改数据库中创建了一个视图和一个删除型触发器。视图和触发器的详细设计如下。

4.3.1 view_bicycleInfo视图

视图view_bicycleInfo用来保存车辆的详细信息,其中包括车辆类型、车辆所在服务站点和车位名称。该视图是车辆信息表(tb_bicycleIfo)、车辆类型信息表

(tb_bicycleType)、服务站点信息表(tb_serviceSite)、车位信息表(tb_bicyclecase)4张表通过连接获得。创建视图的代码如下:

create view view_bicycleInfo

as

select*from(tb_bicycleInfo as a inner join tb_bicycleType as b on

a.bicycleType=b.typeID) inner join tb_bicycleserviceSite as c on

a.serviceSite=c.serviceSiteID inner join tb_bicyclecase as d on

a.bicyclecase=d.bicyclecaseID

go

4.3.2 delUser删除型触发器

delUser 删除型触发器是用来保证数据的统一性。例如,需要删除某一个管理员的信息,就要保证删除管理员登录表中管理员信息和权限信息表中的管理员权限信息。实现这个系统也可以通过两条SQL 语句来实现,但是为了提高执行效率本系统使用删除型触发器。触发器可以看做一个存储过程。它与存储过程的区别在于,存储过程通过存储过程名被调用,而触发器通过触发事件将被调用。删除型触发器是在删除某表中的数据而被触发的。delUser 删除型触发器编写在权限信息表中(tb_admSet)。该触发器实现的代码如下:

create trigger delUser on tb_admSet

for delete

as delete from tb_user where username=(select username from deleted)

4.4 本章小结

本章介绍了关系型数据库设计的基本思想,在系统需求分析的基础上进行数据库中表及视图和触发器的建立。

第5章 系统的设计

5.1 系统设计思想

.NET Framework是用于Windows 的新托管代码编程模型。它强大功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。自行车租赁系统系统架构是基于.NET Framework。同时,为了实现系统的可重用性和可扩展性。在系统中,利用一个用户界面控制器控制网页的生成、转发及控件调用,实现模型和视图分离,从而使系统的各个功能模块达到一种层间低耦合的效果,提高系统灵活性、复用性和可维护性。系统结构设计如图5-1所示:

表示层

业务逻辑层数据访问层数据库

图5-1 三层架构图

5.2 系统模块的设计

根据需求分析,自行车租赁系统主要包括系统设置、车辆信息管理、用户信息管理、车辆借还、系统查询五个子系统。

5.2.1 登录模块

用户登录模块是用户进入系统的窗口,用户要访问设备管理系统首先必须要进行身份验证,只有验证通过的用户才能访问本系统。因此,首先用户要打开用户登录页面,在登录页面按照要求输入自己的用户名和密码,然后单击页面“确定”按钮,用户输入的信息在客户端进行加密后发送到服务器,服务器接受到客户的请求后将对数据进行解密操作,将解密得到的用户名和密码与数据库的用户表中的用户名和密码进行比较,如果表中存在该用户名且密码也相同,则用户登录成功,程序将进行下一步

处理,通过用户名获取该用户所具有的权限,最后根据用户的权限生成系统的主页面返回给用户;如果用户名不存在或密码错误,将会给出相应的提示信息“用户名不存在”或“密码错误”;如果用户不输入用户名或密码直接登录,系统则会提示“用户名或密码不能为空”。

根据上面的分析,用户登录流程为用户先要进入自行车租赁系统的用户登录页面,在登录页面输入自己的用户名和密码进行登录,登录成功后将返回主操作页面给用户,其具体的流程图如下图5-2所示:

图5-2 用户登录流程图

5.2.2 车辆添加模块

将用车辆信息信息录入是系统运行数据的来源,管理员登录成功后,在主操作页面的功能菜单栏点击菜单栏下的车辆信息管理页面中的添加车辆按键,链接到添加车辆页面,在添加该页面可添加新的车辆的相关信息。

下面以的流程为管理员先打开用户登录页面,输入自己的用户名和密码进行登录,登录成功后管理员将进入主操作页面给设备管理员,管理员进入车辆添加页面,在其页面中输入正确的车辆信息,系统核实信息格式正确后,将会调用sql 语句将车辆信息保存在车辆信息表中并返回“保存成功”,则完成了车辆添加操作。其具体的流程图如下图5-3所示:

图5-3 添加车辆流程图

5.2.3 车辆租借模块

本模块实现获取用户信息,获取车辆信息,实现租借功能,生成租借信息表,扣除用户信用金等操作。管理员登录后,在主页面的车辆租还的菜单栏下选择车辆租借,进入车辆租借页面。在页面中输入要租用车辆的用户编号,系统搜索用户条形码是否存在,若用户条形码不存在,则输出“用户条形码输入错误”。若用户条形码存在,则显示用户信息。管理员输入车辆编号,系统将搜索车辆编号是否存在,若输入的车辆编号不存在,则输出“车辆编号错误”。若辆编号存在,则显示此车辆的信息。管理员单击“租用”进行车辆租借,系统扣除用户信用金并生成把用户信息与租用车辆保存在车辆租借表里,完成车辆租借过程。车辆租用流程图如图5-4所示:

图5-4 车辆租用流程图

5.2.4 车辆归还模块

系统车辆归还模块实现用户租借车辆后归还车辆的另一重要功能。管理员登录后,在车辆借还菜单栏下选择车辆归还,进入车辆归还页面。在页面中输入用户条形码,系统搜索用户条形码是否存在,若用户条形码不存在,则输出“用户条形码输入错误”。若用户条形码存在,则显示用户信息及用户租用所有车辆信息。管理员也可继续输入车辆编号,若车辆编号输入错误,则显示“车辆编号输入错误”,若车辆编号输入正确,则只显示此车辆信息。管理员单击“归还”按钮,系统将跟新车辆租借表,返还用户信用金及扣除租借费用,并显示“归还成功!返还信用金额,扣除租借费用”。车辆归还流程如图5-5所示:

图5-5 车辆归还流程图

5.2.5 车辆查询

车辆查询是设备管理员及用户了解车辆管理情况的一个重要手段,通过查询设备管理员与用户能够方便轻松地获得车辆的有关资料。下面是对车辆查询模块的设计情况。

车辆查询的流程为管理员先打开登录页面,输入自己的用户名和密码进行登录,登录成功后将返回主操作页面给设备管理员,设备管理员单击车辆查询菜单下的车辆档案查询即可进行车辆查询页面,在车辆查询页面,用户可以按照所选择项输入相应

的查询条件进行查询。其具体的流程图如下图5-6所示:

图5-6 车辆信息查询流程图

5.3 公共类的封装与设计

封装就是将抽象得到的数据和行为(或功能) 相结合,形成一个有机的整体,也就是把数据与操作数据的代码源进行有机的结合,形成“类”,其中数据和汗水都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,特定的访问权限来使用类的成员。

在开发项目中以类的形式来组织、封装一些常用的方法和事件,把所有属性和尽可能多的东西藏起来,对外提供简捷的接口。类的封装不仅可以提高代码的重用率,也大大方便了代码的管理。在本系统中创建了一个公共类dataOperate ,该类主要用来访问SQL Server数据库、返回基本的ADO.NET 对象、执行数据绑定和数据验证等功能。在程序开发时,窗体只需调用相应方法即可。

自定义seleSQL 方法来判断所指定的数据是否存在;自定义方法enteySql 方法用于实现用户登录;自定义execSQL 方法用来实现对数据库的更新、插入和删除操作;自定义getDataset 方法用来实现查询数据并返回DateSet 对象;自定义getRow 方法用来实现查询数据库并返回SqlDataBorrower 对象;自定义execTransaction 方法用来执行事务处理。

5.4 关键技术

5.4.1 权限存储设计思路

由于不同的管理员会拥有不同的管理权限,所有每个管理员的管理权限都保存在数据库中。在数据库中使用了两张表来保存权限信息。一张是权限信息表(tb_admSet)该表中用来存储是否拥有权限,每个权限字段会表示2个或3个子权限。例如,在车辆租借字段中记录着2个子权限,如车辆租用和车辆归还,这2个子权限分别用0和1来表示,并使用逗号将2个表示是否拥有权限的0或1隔开。另一张菜单栏信息表(tb_menuInfo)用来保存各菜单项在Menu 控件中显示的文本和跳转路径等信息。可以通过判断权限信息表中的某个字段是否拥有权限,如果拥有再根据菜单栏信息表中的相应文本和跳转路径添加到Menu 控件上。

5.4.2 Menu动态菜单编辑

在系统中是使用Menu 控件来显示权限信息的,Menu 控件与样式与Windows 应用程序中菜单栏类似。在Windows 程序中比较常见。Menu 控件具有两种显示模式:静态模式和动态模式。静态显示模式意味着Menu 控件始终是完全展开的。整个结构都是可视的,用户可以单击任何部位。而在动态显示的菜单中,只有用户将鼠标指定在父节点上才会显示其子菜单项。本系统采用动态显示模式,Menu 控件中只显示管理员拥有权限,管理员没有的权限在Menu 控件中将不会显示,而Menu 控件是根据数据库中所保存的权限信息动态创建的。动态创建Menu 菜单主要是通过使用MenuItem 对象来实现。

5.4.3 事务回滚

在车辆借还过程中使用了事务回滚功能,事务回滚可以保证数据的完整性,由于在车辆借还操作中要执行多部操作,例如,将用户信息表中的金额减去信用金,将车辆信息表中的车辆租用次数加1和车辆库存减1。如果这几步操作出现错误将会导致比较严重的错误。为了避免错误的发生在车辆借还业务操作中使用事务回滚操作。

在AOD.NET 中使用SqlConnection 对象中的BeignTransaction 方法来创建一个本

地的事务并将该事务添加到SqlTransaction 类中。SqlTransaction 类表示在SQL Server数据库中处理的Transact-SQL 事务,该类无法继承。在该类中的两个比较重要的方法,下面具体说明。

(1) Commit 方法

该方法用来提交数据库的事务,语法格式如下:

Public override void Commit()

(2) Rollback 方法

该方法用来从挂起状态回滚事务,语法格式如下:

Public override void Rollback()

5.5 本章小结

通过三层体系结构系统设计,以满足基于控件和角色分配的灵活的可扩充的低耦合系统。

第6章 系统实现与测试

6.1 页面实现

6.1.1 登录页面

登录页面实现用户和管理员登录的功能。登录页面中设有用户与管理员两个不同身份,登录者登录系统后,系统将保存登录者的用户名与登录身份。登录页面如图6-1所示。

图6-1 登录页面

6.1.2 Menu菜单动态编辑

权限菜单栏显示了管理员所拥有的权限信息,由于每个管理员的管理权限是不同的,所以菜单栏是根据管理员的权限信息而动态创建的。菜单栏如图6-2所示。

前台页面设计中创建1个Web 用户控件页面,在页面中添加1个Menu 控件,该控件用于实现菜单栏导航。不同的管理员进入系统后将显示不同的菜单栏。

后台代码在页面加载事件中,首先判断用户登录类型,根据登录类型得知登录者是以用户还是管理员的身份登录。如果登录者是以用户身份登录将调用自定义menuBorrower 方法显示用户的Menu 菜单栏。如果是是管理员的身份登录,将调用自定义menuManage 方法显示管理员的菜单栏。

图6-2 Menu菜单栏

6.1.3 系统设置页面

管理员设置页面用于对管理员信息的查看和管理,包括管理员的权限信息和添加管理员、删除管理员等操作。管理员设置页面如图6-3所示。

图6-3 管理员设置页面

管理员权限设置页用来设置管理员的每个权限信息。管理员权限设置页面如图6-4所示。

图6-4 管理员权限设置页

6.1.4 用户管理

用户类型管理用来添加新的用户类型,在该页面下可以修改用户类型和删除用户类型。用户类型管理页面如图6-5所示。

图6-5 用户类型管理页面

用户信息管理页面用于对用户信息的查看和管理,包括查看用户信息和添加用户、修改用户信息、删除用户等操作,用户信息管理页面如图6-6所示。

图6-6 用户信息管理页面

6.1.5 车辆借还页面

车辆租借页面用来实现自行车租借功能。在页面中输入用户的条形码和车辆的编号来实现车辆的租借功能。车辆租借页面如图6-7所示。

图6-7 车辆租借页面

车辆租借页面用来实现自行车租借功能。在页面中输入用户的条形码和车辆的编号来实现车辆的租借功能。车辆租借页面如图6-8所示。

图6-8 车辆归还页面

6.1.6 车辆档案查询页面

车辆档案查询页面用来实现用户对某个车辆的搜索功能。在该页面中用户可以根据车辆的编号、车辆名称、车辆类别、车辆服务站点等条件,进行车辆的搜索功能。使用该功能可以方便用户了解车辆的库存、车辆的所在服务站点。车辆的租借次数等信息。如图6-9所示。

图6-9 车辆档案查询页面

6.2 系统测试

软件质量是贯穿软件生存期的一个重要的问题,为提高软件质量,在软件开发的各个阶段都要注意提高软件质量。为了保证软件的质量和可靠性,必须对软件进行一系列的测试。系统测试伴随着迭代增量开发的每一个周期,特别要重视软件开发后期进行的测试验收与确认阶段进行的软件测试工作,即软件可靠性测试。通常它是衡量在规定的条件与时间内,软件完成规定的能力软件的可靠性是评价软件质量的一个重要指标。

软件的测试方法和技术多种多样,从是否关心软件内部结构和具体实现的角度上可划分为:白盒测试、黑盒测试和灰盒测试;从是否执行程序的角度可划分为:静态测试和动态测试;从软件开发的过程按阶段可划分为:单元测试、集成测试、系统测试。

本系统是采用按照软件开发的阶段的测试方法,因而本系统在交付运行之前要进行单元测试、集成测试和系统测试。

1. 单元测试

单元测试又称模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。单元测试主要是用来检验程式的内部逻辑,通常由编写程序代码的程序员负责进行。在面向对象程序中单元测试的主要对象是类,其测试包括类的方法和属性。

2. 集成测试

集成测试也叫组装测试。集成测试是在单元测试基础上,将所有模块按照概要设计要求组装成为子系统或系统后的测试。集成测试主要目的是检查详细设计中可能存在的问题,尤其是检查各单元与其它程序部分之间的接口上可能存在的错误。面向对象的集成测试能够检测出那些类相互作用时才会产生的错误。

3. 系统测试

系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案中指定功能的有效方法, 它是按照系统需求规格说明来设计测试用例,并在实际的环境中执行测试以验证软件是否满足指定的系统需求,通过与系统的需求定义作比较来发现软件与系统定义不符合或相矛盾的地方。

6.3 本章小结

本章对自行车租赁系统的主要模块的实现为例,结合多种设计模式和分层技术原则,较全面地分析了系统的实现过程。并在迭代开发循环测试基础上,通过浏览客户端,对最终系统进行业务处理测试,验证了系统的稳定性与显示效果。

第7章 结束语

本自行车租赁系统根据现代公共自行车租赁发展的需求和数字化管理的总体要求而提出,在借鉴国内外项目的研究经验基础上,通过统一软件开发过程和UML 规范,研究了基于.net framework 平台建设基于B/S的自行车租赁系统。随着越来越多的城市开始建设自行车租赁系统,鼓励市民充分利用自行车代步,以实现“低碳排放、绿色出行”。许多自行车租赁系统班的比较好,业务也比较全面,可就租赁软件大多是缺乏与远程客户的交流,仅仅局限于本地或者本区域,使租赁发展受到了很大的束缚。本系统正是从此处考虑,通过计算机技术对自行车租赁系统进行信息管理化建设,实现自行车租赁管理的高效化,电子化,为提倡多利用公共自行车出行,提高道路资源利用、缓解交通拥堵,促进节能减排、提高城市品位提供强有力的技术保障。本系统具有一定的创新性和推广价值,体现在以下几方面。

(1)实现自行车租赁的需求和统计日常化管理。本系统源自一线的自行车租赁工作业务的需求,通过对杭州自行车租赁系统的实际业务模型为依据进行设计、分析。在设计中对系统的可扩展性做了充分的考虑。特别谁对权限设置的设计上,使系统更富生命力和普通适用性。

(2)采用统一软件开发过程与UML 规范。并采用迭代增量、用例驱动开发思路,系统分析、设计和实现完全使用面向对象方法,保证了系统分析、设计、实现模型结构的一致性,并通过UML 建模语言描述了软件分析、设计各阶段的模型成果。

(3)基于模块开发和通过三层架构的模式,以及安全性、事务性设计,使系统具有良好的稳定性、可维护性和扩展性,适应未来不断变化的需求。

本系统所需的大部分功能已经得以实现,并且也符合以上几个特性。但是,一个完整的系统分析、设计需要更长的时间来测试并不断完善,其合理性和适用性还有待实践的检验。规划时出现的功能现在由于时间,技术等原因都不能很好的实现,使系统的质量受到一定的影响。因此,本系统仍然存在着一些需要改进和不足的地方。

参考文献:

[1]沈士根,汪承焱,许小东.Web 程序设计—ASP.NET 使用网站开发[M].北京:清华大学出版社,2009.

[2]张跃廷,苏宇,房大伟.ASP.NET 开发模型模块大全[M].北京:人民邮电出版社,2009.276-309.

[3]唐德红,彭琳. 自行车租赁系统的设计分析[J].科技资讯.2009年.

[4]常跃,黄科舫. 城市自行车租赁管理方法和系统[P],中国专利:[1**********]7.5,2008年.

[5]钟明,陈闪. 一种自行车租赁方法[P],中国专利:[1**********]1.6,2008年.

[6]姚遥,周扬军. 杭州市公共自行车系统规划[J].城市交通.2009,7(4).

[7]韩慧敏,张宇,乔伟. 里昂公共自行车系统[J].城市交通. 2009,7(4).

[8]郭敏辉,钟明. 上海市公共自行车系统规划与实现[J].城市交通.2009,7(4).

[8]耿雪,田凯,张宇,黎晴. 巴黎公共自行车租赁点规划与设计 [J].城市交通,2009,7(4).

[10]钱雪忠,罗海驰,陈国俊. 数据库原理及技术课程设计[M].北京:清华大学出版社,2009.

[11]万军. 自行车租赁控制及自行车和租赁控制方法[P].中国专利:[1**********]9.7,2005年.

[12]任泰明. 基于B/S结构的软件开发技术[M].陕西:西安电子科技大学出版社,2006.

[13]李小英.SQL Server 2005 数据库原理与应用基础[M].北京:清华大学出版社,北京交通大学出版社,2008.

[14]杨恩慧, 牛允鹏. Web开发技术基础教程[S].电子工业出版社,2002.

[15]李镇贤. 高效学生综合考评系统的设计与实现[D].广州:华南理工大学,2005.

[16]韩柯. 软件子系统测试[M].机械工业出版社,2003.

[17]陈松乔等. 现代软件工程[M].北方交通大学出版社,2002.

[18]Martin Fowler. UML Distilled: A Brief Guide to the Standard Object Modeling Language [M].Third Edition. Addison Wesley Professional, 2003.

[19]Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling Language User Guide [M], Second Edition. Addison Wesley Professional, 2005.


相关文章

  • 自行车论文-2003 文档
  • 撰写目的和基本思路 撰写的目的:为了使杭州首次推出的公共自行车租赁系统更加有效地运行,针对该系统,提出了自行车的最优租赁方案和风景区中的最优分配方案,并加以推广. 基本思路:通过合理的假设,搜集相应的数据,运用运筹学的相关知识,建立换车模型 ...查看


  • 东南大学交通工程课程论文
  • 城市低碳化交通政策主题 --中国公共自行车现状 21715202孙旭升 概述: 公共自行车,是"公共自行车出行系统"的简称.该系统通常以城市为单位进行部署.建设,由数据中心.驻车站点.驻车电子防盗锁.自行车(含随车锁具. ...查看


  • 一辆自行车的遨游梦想
  • "凡骑"要做的,就是好好发挥自己在城市交通中"毛细血管"的作用―― 在这个汽车时代,仍然有一部分人对自行车念念不忘.这不奇怪. 如果你每天要步行20分钟到公交站,经常要花40分钟等一班公车,每每在路上 ...查看


  • 毕业设计 论文 共享单车之摩拜系统研究
  • 学年论文 (2016-2017 学年第二学期) 题 目: 共享单车之摩拜系统研究 ────────────────────── 专 业: 电子商务 ──────────── 班 级: 电商11402 ──────────── 姓 名: ── ...查看


  • 2011国际信贷论文
  • . 内容: 一. 介绍 目前,我国融资租赁税收政策主要存在流转税负.印花税负不均,以融资租赁方式取得的货物无法直接进行增值税抵扣,融资租赁折计提主体规定不尽合理,缺乏明确.系统的促进融资租赁业发展的税收政策.借鉴国际融资租赁税制经验,我们建 ...查看


  • 自行车停放管理对策分析
  • uR盼N户u目Jc"tgt,/lgt:09T<城市公装交嚣>2010.05 曹林涛1余丽花1黄俊2 (1.襄樊学院建筑工程学院 襄樊441053 2.武汉市政工程设计研究院有限责任公司武汉430015) 摘要:自行车失窃时有发生 ...查看


  • 北京公租房
  • 北京公租房 [社会问题的背景] (1)所谓"公租房",其全称为公共租赁住房,是指政府提供政策支持,限定户型面积.供应对象和租金水平,面向北京市中低收入住房困难家庭等群体出租的住房.按照<北京市公共租赁住房管理办法( ...查看


  • 城市公共自行车租赁系统运营模式
  • 城市公共自行车租赁 系统运营模式 目录 一. 公共自行车的概况·····················3 二. 城市公共自行车租赁系统的优点·········7 (一).环保篇·····························7 ...查看


  • 2017年共享单车管理系统技术解决方案
  • 2017年共享单车管理系统 技 术 解 决 方 案 目 录 1.设计目标 ........................................... 0 2.系统结构 .............................. ...查看


热门内容