关于题为公交车站公交车里程显示牌的品牌设计毕业设计ppt的设计思路与方法

城市纯电动公交车的总体设计_汽车_毕业设计论文网
未找到您最近浏览过的网页
历史浏览记录
热门搜索词: |
全部设计论文分类
本站所有出售的 资料均严格保密无重复,出售过后会做详细的记录避免重复,
QQ临时会话 可能会导致消息无法正常接收,咨询前请务必先加客服为好友.QQ:
本站提供的资料 都是已经做好的,现成的作品都是审核过的,保证质量和规范.
城市纯电动公交车的总体设计
以下是大纲或介绍,如需要完整的请购买下载。提示:本资料已审核通过,内容严格保密,格式标准,质量保证。 密 保
1.无需注册,购买下载后即可获取该完整资料。
2.本站提供下载链接或联系客服发送资料。
城市纯电动公交车的总体设计(任务书,开题报告,毕业论文说明书25000字,CAD图纸4张)
随着能源问题和环境问题的日益突出,现有车辆使用的动力方式已经不能很好的适应未来社会发展的需要。为此,电动汽车的发展得到了广泛的关注,各种类型的电动汽车也在研究和开发之中。
本研究的目的就是为了积累电动客车相关方面的技术,主要对电动汽车进行了总体设计研究,其中包括:分析了部分电动机的优缺点,选择永磁直流电动机作为动力源;对电动汽车的动力性进行了分析,通过最高车速、最大爬坡度和加速时间校核了电动机的性能;介绍了部分蓄电池的性能特点,选择铅酸蓄电池作为能量源;对电动机的控制策略进行了研究,提出蓄电池管理系统总体结构和各部分功能,并对蓄电池组电压、电流、温度和均衡充放电模块进行了总体设计研究;对整车再生制动的结构和控制进行了设计研究;讨论了电动汽车电动机及传动系统的结构和布置方案,设计了蓄电池组的布置位置和安放结构,同时对制动系统进行了初步改装设计。
关键词:纯电动汽车改装设计;电动机控制系统;蓄电池管理系统;再生制动
Being more and more serious along with the energy problems and the environmentproblems, the motive method of the existing vehicle used can't satisfy the demand of thesocial development in the future .For this, the development of EV gotten an extensive concern,various types of EV is also being in the research and the development. 〖资料唯一网址:毕业设计(论文)网 HTTP://www.56doc.com〗
The purpose of this research is to accumulated electric bus techniques.This researchmainly carried on a total design to the electric passenger car, the works are as follow:Ianalyzed the merit and shortcoming of some electric motors, and choosed the permanencemagnet DC motor to analyzed the motive of the electric passenger car,examine the performance ointroduced the function characteristics of somestorage batteries, and choosed the Lead-acid storage battery to study thecontrol strategy of the electric motor, put forward total structure of the storagebattery management system and each parts of functions, and carried on a design and
designed the structureand the control of the regener discussed electric motor and transmissionto equip of constitute and the decoration project, designed the decoration position of thestorage battery set and install structure, in the meantime first step to design a refit project ofthe the brake system, to carryon. 〖毕业设计(论文)网 HTTP://www.56doc.com 咨询QQ:〗
Keywords: EV Refit;Motor Drive System;Battery Management System;Regenerative Braking
主要内容:
1 研究电动汽车电动机的特点,并分析电动客车的动力性
2 研究电动客车的控制策略
3 分析电动汽车蓄电池性能特点及存在问题,设计蓄电池管理系统
4 研究纯电动汽车能量回收原理,设计再生制动系统的结构
5 设计电动客车总体布置图
技术要求:
1 研究电动汽车电动机的特点,并分析电动客车的动力性
2 研究电动客车的控制策略,并设计蓄电池管理系统
3 研究纯电动汽车能量回收原理,设计再生制动系统的结构
4 设计电动客车电机与传动系统机构布置、蓄电池组的布置、安装设计及电动汽车总体布置图
〖资料来源:毕业设计(论文)网 WWW.56DOC.com〗
摘要&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Ⅰ 〖毕业设计(论文)网 HTTP://www.56doc.com 咨询QQ:〗
Abstract&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Ⅱ
第1章 绪论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1&
&& 1.1本设计的背景及意义&&&&&&&&&&&&&&&&&&&&&&&&1
&&&&&& 1.1.1当今内燃机汽车带来的问题&&&&&&&&&&&&&&&&&&1
1.1.2 电动汽车的优点&&&&&&&&&&&&&&&&&&&&&&&2 〖毕业设计(论文)网 HTTP://www.56doc.com 咨询QQ:〗
1.1.3我国发展城市纯电动公交客车的优势&&&&&&&&&&&&&&3
&1.2 国内外电动汽车的现状及发展&&&&&&&&&&&&&&&&&&&&3
&&&&&& 1.2.1 世界电动汽车的发展历史溯源&&&&&&&&&&&&&&&&&3
&&&&&& 1.2.2 世界电动汽车近三十年的发展&&&&&&&&&&&&&&&&&4
第2章 电动汽车电机技术&&&&&&&&&&&&&&&&&&&&&&&5
2.1电动汽车电机的分类及特点&&&&&&&&&&&&&&&&&&&&&5 〖来源:毕业设计(论文)网 WWW.56DOC.COM 咨询QQ:〗
2.2电动汽车对电机性能的要求&&&&&&&&&&&&&&&&&&&&&7
2.3电动机驱动控制策略&&&&&&&&&&&&&&&&&&&&&&&&8
2.3.1电动汽车的电机驱动控制策略分析&&&&&&&&&&&&&&&&8
2.3.2电机与驱动控制&&&&&&&&&&&&&&&&&&&&&&&9
2.4本设计用电动机&&&&&&&&&&&&&&&&&&&&&&&&&&9 〖资料唯一网址:毕业设计(论文)网 HTTP://www.56doc.com〗
2.5电动机性能计算&&&&&&&&&&&&&&&&&&&&&&&&&&9
2.5.1电动车的使用情况及性能选择&&&&&&&&&&&&&&&&&9
2.5.2电动汽车的动力性&&&&&&&&&&&&&&&&&&&&&&10
2.5.3 电动机校核&&&&&&&&&&&&&&&&&&&&&&&&&11
2.6本章小结&&&&&&&&&&&&&&&&&&&&&&&&&&&&&13 〖毕业设计(论文)咨询QQ:〗
第3章 蓄电池技术及其管理系统设计&&&&&&&&&&&&&&&&&14
3.1电池技术&&&&&&&&&&&&&&&&&&&&&&&&&&&&&14
3.2蓄电池的分类及特点&&&&&&&&&&&&&&&&&&&&&&&&14
3.3蓄电池存在的问题&&&&&&&&&&&&&&&&&&&&&&&&&17
3.4电池管理技术&&&&&&&&&&&&&&&&&&&&&&&&&&&18 〖资料来源:毕业设计(论文)网 WWW.56doc.com〗
&3.5电池管理系统的组成原理 &&&&&&&&&&&&&&&&&&&&&20
3.6本研究用蓄电池 &&&&&&&&&&&&&&&&&&&&&&&&&21
3.7本章小结 &&&&&&&&&&&&&&&&&&&&&&&&&&&&22
第4章电动汽车能量回收及再生制动系统&&&&&&&&&&&&&&&23
&&& 4.1再生制动能量回收的重要性 &&&&&&&&&&&&&&&&&&&&23 〖资料来源:毕业设计(论文)网 WWW.56DOC.com〗
4.2电动汽车制动过程的能量转换及其制动模式 &&&&&&&&&&&&&23
4.3制动能量回收的原则和约束条件 &&&&&&&&&&&&&&&&&&23
4.4汽车再生制动原理 &&&&&&&&&&&&&&&&&&&&&&&&24
4.5制动能量回收系统控制策略 &&&&&&&&&&&&&&&&&&&&24
4.5.1再生制动力的分配原则 &&&&&&&&&&&&&&&&&&&24
4.5.2制动系统的控制策略 &&&&&&&&&&&&&&&&&&&&26 〖来源:毕业设计(论文)网 www.56doc.com 咨询QQ:〗
4.6再生制动系统的结构设计 &&&&&&&&&&&&&&&&&&&&&28
4.7本章小结 &&&&&&&&&&&&&&&&&&&&&&&&&&&&28
第5章 电动客车的总体设计&&&&&&&&&&&&&&&&&&&&&29
5.1电动客车的改装&&&&&&&&&&&&&&&&&&&&&&&&&29
5.2 改装布置设计注意事项&&&&&&&&&&&&&&&&&&&&&&29 〖来源:毕业设计(论文)网 WWW.56DOC.COM 咨询QQ:〗
5.3本设计所采用的方案&&&&&&&&&&&&&&&&&&&&&&&30
5.4蓄电池组的布置&&&&&&&&&&&&&&&&&&&&&&&&&30
5.4.1蓄电池组布置的要求&&&&&&&&&&&&&&&&&&&&&30
5.4.2 蓄电池组布置位置&&&&&&&&&&&&&&&&&&&&&&31
5.5本章小结&&&&&&&&&&&&&&&&&&&&&&&&&&&&31 〖资料来源:咨询QQ: 毕业设计(论文)网 WWW.56doc.com〗
结论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&33
参考文献 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&34
致谢&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&36 〖毕业设计(论文)网 HTTP://www.56doc.com 咨询QQ:〗
相关内容:
本站提供的资料属原创,内容严格把关,均审核通过的,保证质量和规范.
提供下载链接或发送至您的邮箱,资料可重复发送,确保您收到为止.
收到资料后若有任何疑难问题,均可通过本站客服提供帮助解决.
我们确保发送的资料完整无损,如核实为不合格资料,可以申请退换.
本站所列毕业设计(论文)资料均属于原创者所有,初衷是为大家在毕业设计(论文)过程中参考和学习交流之用,请勿做其他非法用途,转载必究,如有侵犯您的权利或有损您的利益,请联系本站,经查实我们会立即进行修正或删除相关内容! 56doc.com Copyright &
苏ICP备号 |论文写作技巧
这是一篇很完整的优秀毕业设计论文,共44页,字数总计:16620摘 要根据AT89C51单片机的特点和公交车报站器的特点,本文提出了一种用单片机控制语音芯片进行公交车语音自动报站的方法。同时给出了软硬件设计的方法,设计过程中包括硬件电路设计和软件程序编写两个方面,解释了单片机在应用过程中的方法和可能出现的问题。本文主要介绍硬件电路设计部分。利用AT89C51作为控制器,通过ISD4004语音芯片建立语音信息库,形成变化多样的语音信息,利用其功放播放语音信息以及提示语音,同时运用LED数码管进行站数显示。当公交车到达某站点,用键盘控制本系统工作,通过语音电路输出语音信息和提示,同时站数信息在LED数码管上显示。整个系统硬件设计包括键盘电路、复位电路、显示驱动电路、显示电路、内存扩展电路模块。本系统很大程度上提高公交车报站的准确性,可靠性。提高了公交系统的服务质量。促进城市经济发展和交通变化的和谐发展。关键词:AT89S51单片机,ISD4004语音芯片,LED数码管,自动报站目录&&&& 1.1 课题研究的背景及意义 11.2 报站器的动态发展趋势 11.3设计的主要目标任务 11.4公交车报站系统的方案设计 12.1 主控电路的设计 22.1.1 关于AT89C51单片机 22.1.2振荡器电路的设计 62.1.3复位电路的设计 82.2 脉冲检测电路的设计 112.2.1霍尔器件简介 112.2.2脉冲检测电路的设计 122.3.2 录音、放音电路的设计 172.4.2 6116芯片简介 222.4.3 LED点阵汉字显示电路的设计 233. 软件设计 253.1 主控程序的设计 253.1.1 整体流程图 253.2 语音报站程序的设计 263.2.1 流程图 273.3 LED汉字显示程序的设计 31总&&结 34致&&谢 35参考文献 36附录:程序清单 441.交车自动报站系统的设计&&&& 随着科学技术的日益发展和进步, 无人售票公交车在街头多起来了,语音报站器也被广泛使用,这在相当大的程度上免除了乘务人员沿途报站的麻烦,给许多不熟悉公交线路的乘客带来了方便。1.1 课题研究的背景及意义公共汽车为外出的人们提供了方便快捷的服务,而公共汽车的报站直接影响服务的质量。传统由乘务人员人工报站,该方式因其效果太差和工作强度太大,在很多大城市已经被淘汰。近年来,微型计算机技术已经在许多领域得到了广泛的应用。在声学领域,微机技术与各种语音芯片相结合,即可完成语音的合成技术,使得汽车报站器的实现成为可能,从而为市民提供了更加人性化的服务。鉴于传统公交车报站系统的不足之处,结合公交车辆的使用特点及实际营运环境,设计了一种由单片机控制的报站系统。公交车自动报站器的设计主要是为了弥补改变传统语音报站器必须有司机操控才能工作的落后方式,进站、出站自动播报站名及服务用语,为市民提供更人性化,更完善的服务。
您可能需要的
[] [] [] [] [] [] [] []您现在的位置:&&>>&&>>&&>>&正文
公交车查询系统设计与实现(PHP,MySQL)(附答辩记录)
来源:2BYSJ.cn
资料编号:2SJ404800 资料等级:★★★★★
%D7%CA%C1%CF%B1%E0%BA%C5%A3%BA2SJ404800
以下是大纲或介绍,如需要完整的资料请购买下载.
本资料已审核过,内容保密,格式标准,质量保证. 密&惠
1.无需注册登录,购买下载后即可获取该完整的资料.
2.购买后本站提供下载链接或联系客服发送资料.
公交车查询系统设计与实现(,MySQL)(附答辩记录)(选题审批表,任务书,开题报告,中期报告,7700字,文献综述,答辩记录,答辩ppt,成绩评定册)摘& 要:随着现在社会的发展,旅游和出差是避免不了的事。低廉费用促使公交车成了最佳的代步工具。因此,开发一个城市的公交车查询系统就显得十分必要,可以说是关系到一个城市的形象问题。本文用软件工程的方法分析城市公交查询系统,对整个系统进行了需求分析、功能模块划分;对城市公交查询系统的具体设计,描述了查询、录入模块的实现过程。关键词:城市公交;软件工程;;MySQL数据库Design And Implementation Of The Bus Inquiry SystemAbstract:Tourism and bussiness change into an unavoidable thing with the development of society. The bus became the best ways of transport becuuse of its low cost. For this reason, opening a city bus system is very necessary. It is related to a city's appearance. This paper analysis the bus inquiry system with the method of software engineering,& include requirement analysis requirement analysis, function module divide and make specific design on the city bus inquiry system, describing the achieve process of query and input.Keywords: Ur S ; MySQL系统各个功能模块详细说明(1)公交查询模块A.线路查询用户在查询框中输入公交车车次号码后,点击线路查询按钮就可以获得该线路公交车的相关信息,比如该线路公交车所经过站点名称(包括上行线路和下行线路)、始发时间及结束时间、发车频率、所属公司和公车类型。同时,该线路的所有站点都会有一个静态页面的下级链接,通过链接可以得到所有经过该站点的线路。此时,线路查询就相当于是站点查询。B.站点查询用户在查询框中输入站点名称的部分内容时,在查询框的下拉菜单中就会显示所有包含已输入内容的站点名称,可供用户自行选择,以便快速输入想要查询的站点名称,从而达到节省时间的目的。点击站点查询按钮后,则会得到所有经过该站点的线路名称。同时,每个线路名称也有一个下级链接,点击后可得到对应线路的所有信息。此时,站点查询就相当于线路查询了。C.站站查询用户需要在查询框中输入起始站点名称和终点站名称,如果没有在查询框中输入内容、起始站和终点站不存在或者起始站和终点站名称相同则会出现“请输入查询内容”的提示框。如果没有出现上述情况,则可以正常查询。查询结果分直达和换乘两种情况。本系统只实现了一次换乘,换乘结果会以公交车需要经过的站点数目为参考基础,按站点数从少到多呈现出来,可供用户自行选择。得到乘坐方案后,线路和站点都会有下级链接,点击链接可以得到线路的所有信息或者所有经过站点的线路名称[9]。(2)后台管理模块&&& &A.数据管理数据管理即指公交路线的数据导入和备份,可以以多种不同的方式导入数据库,以供用户进行查询。数据备份则是防止意外事故的发生。&&& &B.管理员管理后台管理员可以自主添加、删除、修改、查询管理员信息,可供多人共同管理本公交查询系统。C.线路管理通过后台管理员可以即时对个别路线进修添加、修改、删除、查询,以保证本系统的数据正确性[10]。服务器:MAMP (MS-XP、Aache、Mysql、 )开发工具: Dreamwaver、EasyEclipse、Editplus、Adimin&
#p#副标题#e#目&&& 录摘& 要&&& 1关键词&&& 11& 前言&&& 11.1& 课题背景&&& 21.2& 国内外现状研究&&& 22& 系统的开发工具和运行环境&&& 22.1& Apache概述&&& 22.2& MySQL概述&&& 32.3& 概述&&& 33& 总体设计&&& 43.1& 长沙公交现状说明&&& 43.2& 需求分析&&& 53.2.1& 需求规定&&& 53.2.2& 后台管理&&& 53.3& 运行环境&&& 53.4& 基本设计概念和处理流程&&& 53.4.1& 系统功能模块介绍&&& 53.4.2& 系统各个功能模块详细说明&&& 63.5& 系统数据库设计&&& 73.5.1& 数据库概念结构设计&&& 73.5.2& 数据库逻辑结构设计&&& 104& 系统查询功能设计与实现&&& 104.1& 用户界面&&& 104.2& 线路查询的实现&&& 114.3& 站点查询的实现&&& 124.4& 站站查询的实现&&& 145& 系统管理功能设计与实现&&& 166& 结论&&& 21参考文献&&& 22致&&& 谢&&& 23
下一篇计算机毕业设计:
没有相关计算机毕业设计当前位置: >>
公交查询系统设计与实现
届别 学号2012 届 毕业设计(论文)基于 JAVA 的郴州市的公交查询系统的设计与实现姓 系名高昌华别、 专 业 计算机科学系 网络工程专业导 师 姓 名、职 称 完 成 时 间唐日成讲师2012 年 3 月 2 日 目录摘 要 ...............................................................................................................................I ABSTRACT ...........................................................................................................................I 1 绪 论 .......................................................................................................................... 1 1.1 数据库技术 .............................................................................................................. 1 1.1.1 数据库体系结构 .................................................................................................. 1 1.1.2 数据库管理信息系统(DBMS) ....................................................................... 1 1.2 公交查询系统 .......................................................................................................... 2 1.2.1 系统功能 .............................................................................................................. 2 1.2.2 系统运行环境 ....................................................................................................... 2 1.2.4 系统开发工具 ...................................................................................................... 2 1.2.4 现状与前景 ........................................................................................................... 2 1.3 本文所作的工作 ...................................................................................................... 2 2 基于 Eclispe 平台下的开发技术 .................................................................................. 3 2.1 Java 语言介绍 ......................................................................................................... 3 2.1.1 Java 语言简介 ...................................................................................................... 3 2.1.2 Java 技术平台简介 ............................................................................................... 5 2.1.3 Java 程序框架 ...................................................................................................... 6 2.1.4 Java 优点 .............................................................................................................. 6 2.1.4 J2EE 技术简介 ...................................................................................................... 6 2.2 JSP 技术介绍 ........................................................................................................... 7 2.2.1 JSP 与 ASP 的简单比较 ....................................................................................... 7 2.2.2 JSP 运行环境 ........................................................................................................ 7 2.2.3 JSP 页面示例 ........................................................................................................ 7 2.3 B/S 结构介绍 ........................................................................................................... 9 2.3.1 Java 程序框架 ..................................................................................................... 10 2.3.2 B/S 架构具备极大的优越性 .............................................................................. 10 2.4 J2EE 所运用到的数据库技术 ............................................................................... 10 2.4.1 关系模型的基本概念 ......................................................................................... 11 2.4.2 关系型数据库 ..................................................................................................... 12 2.4.3 关系数据语言 ..................................................................................................... 13 2.5 SQL 语言介绍 ......................................................................................................... 14-1- 2.5.1 SQL 的组成 ......................................................................................................... 14 2.5.2 SQL 的数据查询 ................................................................................................. 14 2.5.3 SQL 的数据更新 ................................................................................................. 15 3 公交查询系统设计分析 ............................................................................................. 16 3.1 应用需求分析 ......................................................................................................... 16 3.2 系统功能模块划分 ................................................................................................ 17 3.3 系统数据库设计 .................................................................................................... 20 3.3.1 概念设计 ............................................................................................................. 20 3.3.2 逻辑设计 ............................................................................................................ 22 3.4 本章小结 ................................................................................................................ 24 4 公交查询系统设计分析 ........................................................................................... 24 4.1 查询模块的功能实现 ............................................................................................ 24 4.2 管理更新的功能实现 ............................................................................................ 27 4.3 公交线路管理 ........................................................................................................ 28 4.4 本章小结 ................................................................................................................ 30 5 总结 ............................................................................................................................. 30 参考文献 ........................................................................................................................ 31 致 谢 ............................................................................................................................ 32-2- 摘要如今计算机网络发展非常迅速,时间的重要性对于人们来说不言而喻,人们出行越来越注重时间的节 约,城市公交已经成为出行的一种主要的方式,本文结合公交运行的实际来对公交查询信息系统进行可行 性研究,通过详实的问题定义与需求分析并且进行了合理的设计,提出了在 B/S 模式下的三层体系结构, 应用了当前最流行的 Eclispe 开发环境,后台采用了以目前最稳定的 SQL Server2005 数据库为开发平台。 该系统可以帮助查询人员找到能最快到达目的地,并且节约费用。通过浏览器查询,通过计算机网络全面 联网,实现中心控制、自动更新、更多的查询方式、和 GIS 系统的互联互通等等更多更强大的功能。从这 方面来说,此系统具有美好的应用前景。 关键词:管理信息系统;B/S 结构;数据库;WEB 服务器;JSPABSTRACTNow computer network development very quickly,The importance of time for people to self-evident,People pay more and more attention to the travel time saving,City bus travel has become one of the main way,CombiningI with the actual operation of the bus to query information system of public transport for feasibility study,Through detailed problem definition and demand analysis and the reasonable design,Put forward the B/S model with three layers of the system structure, the application of the most popular Eclispe development environment, the backgroundto the most stable SQL Server2005 database for development platform. The system can help people find the soonest canquery destination, and save cost. Through the browser queries, through the computer network comprehensive networking,Realize center control, automatic update, more inquires the way, and the GIS system interconnected and so on more powerful function. In this regard, the system has a good application prospect. Key words: the managemen The B/S D WEB server. JSP.--II 1 绪 论数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于 60 年代末。现已形成相 当规模的理论体系和实用技术。优秀的数据库设计是应用成功的基石。万万丈高楼平地起,数据库设计如 同高楼的基石,是开发高品质应用的前提。1.1 数据库技术1.1.1 数据库体系结构 数据的体系结构分成三级:内部级(Internal),概念级(Conceptual)和外部级(External) 。这个三 级结构有时也称为“三级模式结构”。 1 外部级:最接近用户,是单个用户所能看到的数据 2 概 特性。单个用户使用的数据视图的描述称为“外模式”。 念级:涉及到所有用户的数据定义、是全局的数据视图。全局视图的描述称为“概念模式”。 3 内部级:最接近于物理存储设备,涉及到实际数据存储的结 构物理存储数据视图的描述称为“内模式”。 数据库的三 级模式结构是数据的三个抽象级别。它把数据的具体组织留给 DBMS 去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。 1.1.2 数据库管理信息系统(DBMS) 数据库管理系统 (DBMS) 是指数据库系统中管理数据的软件系统。 DBMS 是数据库系统的核心组成部分。 对数据库的一切操作,包括定义、查询、更新及各种控制,都是通过 DBMS 进行的。 在不同的计算机系统中,由于缺乏统一的标准,即使同种数据模型的 DBMS,它们 在用户接口、系统功能方面也常常是不相同的。 目标,是使数据作为一种可管理的资源处理。 DBMS 的主要功能为: DBMS 把操作从应用程序带到外部级、概念级、再导向内部级,进而操作存储器中的数据。DBMS 的主要用户对数据库进行操作,是由1 数据库定义功能: DBMS 2提供数据定义语言(DDL)定义数据库的三级结构,包括外模式、概念模式、内模式及基相互之间的映象, 定义数据的完整性、安全控制等约束。因此,在 DBMS 中应包括 DDL 的编译程序。 两类四种: 要的大事。 4 数据库的恢复:在数据库被破坏或数据不正确时,系统有能力把数据库恢复到正确的状态。 5 数据库的并发控制:DBMS 的并发控制子系统能 防止错误发生,正确处理好多用户、多任务环境下的并发操作。 7 数据库的安全性控制:防止未经授权的用户蓄谋或无 意地存取数据库中的数据,以免数据的泄露、更改或破坏。1数据库的操纵功能:DBMS 提供数据操纵语言(DML)实现对数据库中数据的操作。基本的数据操作分成 检索(查询) 、更新(插入、删除、修改)3 数据库的保护功能:数据库中的数据是信息社会的战略资源,对数据的保护是至关重6 数据库的完整性控制: 保证数据库中数据及语义的正确性和有效性, 防止任何对数据造成错误的操作。 8 数 据库的存储管理:把各种 DML 语句转换成低层的文件系统命令,起到数据的存储、检索和更新的作用。9 数据库的维护功能:它有许多实用程序提供给数据库管理员: 数据装载程序 文件重组织程序 性能监控程序 才能实现,通常 DD 中还存放数据库运行时的统计信息。 10 数 备份程序据字典:数据库系统中存放三级结构定义的数据库称为数据字典(DD) 。对数据库的操作都要通过访问 DD1.2 公交查询系统1.2.1 系统功能 1 基于浏览器(B/S 模式)的公交线路分类查询; 2 数据的录入、修改、添加、删除。 1.2.2 系统运行环境 该 系 统 采 用 Browser/Server 模式进行设计: 在服务器上运行 Web 发布服务器、数据库程序,服务器操作系统为 WindowsNT/2000/XP/2003 server,客户机操作为 Windows9×/ NT/2000/XP/2003,其上运行浏览器程序, 服务器和客户机可为同一设备。 1.2.4 系统开发工具 整个系统调试成功。 1.2.4 现状与前景 该系统采用 JDK Java 环 境进行开发,数据库服务器为 MySQL,WEB 发布服务器为 Tomcat Server;客户端使用浏览器运行程序,公交查询系统现状分析:鉴于中国目前的经济发展状况,中国人出行还是以公交车为主,所以每个城市的公交系统都比较庞大发达。公交查询系统是近两年出现的新生事物,每个城市的发展状况也是良莠不齐。 不仅能够查询到各条线路的起停站点,同时还能够分析出换乘车辆情况。 公交查询系统的发展前景:未来的公交查询系统,将是基于 B/S 架构,通过浏览器查询,通过计算机网目前的公交查询系统,基本上具备一下功能:采用车站站点查询、车次查询、路线分析查询三种查询形式,络全面联网,实现中心控制、自动更新、更多的查询方式、和 GIS 系统的互联互通等等更多更强大的功能。1.3 本文所作的工作本文首先介绍了城市公交查询系统的应用背景、开发环境以及选用的开发工具与数据库的关系, 阐明了计算机互联网络的概念。并对数据库的体系结构、DBMS 进行了介绍;介绍关系型数据库的基本概 念, 着重说明了几个关键概念的定义; 然后对 SQL 语言作了一个介绍说明; 从特点和功能入手, 介绍 Java、 JSP;并且介绍了 B/S 模式的概念、特点;用软件工程的方法分析城市公交查询系统,对整个系统进行了 需求分析、功能模块划分,并通过 ER 图对数据库进行概念设计;对城市公交查询系统的具体设计,描述 了查询、录入模块的实现过程。 最后,在结束语的总结部分指出了系统的亮点以及不足之处,简单介绍 了自己开发过程中的体会与心得:在摸索中实践,在实践中摸索。--2 2 基于 Eclispe 平台下的开发技术Java 是 Sun Microsystems 于 1995 年推出的高级编程语言,Java 领域的 JavaSE、JavaEE 技术已发展成 为同 C#和.NET 平分天下的应用软件开发平台和技术。 在 Sun 正式发布 JSP(JavaServer Pages) 之后,这种新的 Web 应用开发技术很快引起了人们的关注。 JSP 为创建高度动态的 Web 应用提供了一个独特的开发环境。按照 Sun 的说法, JSP 能够适应市场上 包括 Apache WebServer,IIS4.0 在内的 85% 的服务器产品。 当今比较流行的软件技术研发模式是 C/S 和 B/S 的体系结构。C/S(Client/Server)结构,即客户机和 服务器结构。 通过 C/S 可以充分利用两端硬件环境的优势, 将任务合理分配到 Client 端和 Server 端来实现, 降低了系统的通讯开销。 Eclipse 这样功能完整且成熟的开发环境,是由蓝色巨人 IBM 所释出。IBM 花了 4 千万美金来开发 这个 IDE(Integrated Development Environment)。第一版 1.0 在 2001 年 11 月释出,随后逐渐受到欢迎。 Eclipse 已经成为开放原始码计划(Open Source Project),大部分的开发扔然掌握在 IBM 手中,但是有一部 份由 eclipse.org 的软件联盟主导。2.1 Java 语言介绍2.1.1 Java 语言简介 Java 不仅可以开发桌面应用程序如银行软件、商场结算软件;还可以开发面向 Internet 的应用程序,3 如当红的网上数码商城、阿里巴巴、易趣网等都是用 java 开发出来的。 Java 是一种跨平台,适合于分布式计算环境的面向对象编程语言。具体来说,它具有如下特性: 简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。 下面我们将重点介绍 Java 语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性。 1 面向对象 面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消 息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说 传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息 为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。 所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java 也不例外。现实世界中的对象均 有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据 或同外界交互) 。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说, 对象是支持封装的手段,是封装的基本单位。Java 语言的封装性较强,因为 Java 无全程变量,无主函数, 在 Java 中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,Java 也提供了相应的对象类型以便与其他对象交互操作。 多态性就是多种表现形式,具体来说,可以用“一个对外接口,多个内在实现方法”表示。举一个例 子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的 算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选 择。运算符重载(operator overload)一直被认为是一种优秀的多态机制体现,但由于考虑到它会使程序变 得难以理解,所以 Java 最后还是把它取消了。 继承是指一个对象直接使用另一对象的属性和方法。 事实上, 我们遇到的很多实体都有继承的含义。 例如, 若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽车的特性, 因此,汽车是它们的“父亲” ,而这些子实体则是汽车的“孩子” 。Java 提供给用户一系列类(class) ,Java 的类有层次结构,子类可以继承父类的属性和方法。与另外一些面向对象编程语言不同,Java 只支持单一 继承。 2 平台无关性 Java 是平台无关的语言是指用 Java 写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关 有两种:源代码级和目标代码级。C 和 C++具有一定程度的源代码级平台无关,表明用 C 或 C++写的应用 程序不用修改只需重新编译就可以在不同平台上运行。 Java 主要靠 Java 虚拟机(JVM)在目标码级实现平台无关性。JVM 是一种抽象机器,它附着在具体操 作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。但 JVM 通常是在软件上而不是在 硬件上实现。 (目前,SUN 系统公司已经设计实现了 Java 芯片,主要使用在网络计算机 NC 上。 另外,Java 芯片的出现也会使 Java 更容易嵌入到家用电器中。 )JVM 是 Java 平台无关的基础,在 JVM 上,有一个 Java 解释器用来解释 Java 编译器编译后的程序。Java 编程人员在编写完程序后,通过 Java 编 译器将 Java 源程序编译为 JVM 的字节代码。 任何一台机器只要配备了 Java 解释器, 就可以运行这个程序, 而不管这种字节码是在何种平台上生成的。另外,Java 采用的是基于 IEEE 标准的数据类型。通过 JVM 保 证数据类型的一致性,也确保了 Java 的平台无关性。4 Java 的平台无关性具有深远意义。首先,它使得编程人员所梦寐以求的事情(开发一次软件在任意平 台上运行)变成事实,这将大大加快和促进软件产品的开发。其次 Java 的平台无关性正好迎合了“网络计 算机”思想。如果大量常用的应用软件(如字处理软件等)都用 Java 重新编写,并且放在某个 Internet 服 务器上,那么具有 NC 的用户将不需要占用大量空间安装软件,他们只需要一个 Java 解释器,每当需要使 用某种应用软件时,下载该软件的字节代码即可,运行结果也可以发回服务器。目前,已有数家公司开始 使用这种新型的计算模式构筑自己的企业信息系统。 3 分布式 分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上,操作分布是指把 一个计算分散在不同主机上处理。 Java 支持 WWW 客户机/服务器计算模式, 因此, 它支持这两种分布性。 对于前者,Java 提供了一个叫作 URL 的对象,利用这个对象,你可以打开并访问具有相同 URL 地址上的 对象,访问方式与访问本地文件系统相同。对于后者,Java 的 applet 小程序可以从服务器下载到客户端, 即部分计算在客户端进行,提高系统执行效率。 Java 提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便得实现 Java 的分布式特 性。 4 可靠性和安全性 Java 最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。Java 虽然源于 C++,但它消除 了许多 C++不可靠因素,可以防止许多编程错误。首先,Java 是强类型的语言,要求显式的方法声明,这 保证了编译器可以发现方法调用错误,保证程序更加可靠;其次,Java 不支持指针,这杜绝了内存的非法 访问;第三,Java 的自动单元收集防止了内存丢失等动态内存分配导致的问题;第四,Java 解释器运行时 实施检查,可以发现数组和字符串访问的越界,最后,Java 提供了异常处理机制,程序员可以把一组错误 代码放在一个地方,这样可以简化错误处理任务便于恢复。 由于 Java 主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络 下载程序执行就非常危险。Java 通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁 破坏。当 Java 字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java 解释器将决定程序中 类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰 破坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。 上述几种机制结合起来,使得 Java 成为安全的编程语言。 5 多线程 线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。 C 和 C++采用单线程体系结构, 而 Java 却提供了多线程支持。 Java 在两方面支持多线程。 一方面, Java 环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方 面,Java 语言内置多线程控制,可以大大简化多线程应用程序开发。Java 提供了一个类 Thread,由它负责 启动运行,终止线程,并可检查线程状态。Java 的线程还包括一组同步原语。这些原语负责对线程实行并 发控制。利用 Java 的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效 率。必须注意地是,Java 的多线程支持在一定程度上受运行时支持平台的限制。例如,如果操作系统本身 不支持多线程,Java 的多线程特性可能就表现不出来。 2.1.2 Java 技术平台简介5 1 JavaSE:Java Platform,Standard Edition J2SE 包含那些构成 Java 语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程,主要用 于桌面应用软件的编程。 2JavaME:Java 2 Micro Edition J2ME 是 Java 2 的一个组成部分,它与 J2SE、J2EE 并称。根据 Sun 的定义:J2ME 是一种高度优化的 Java 运行环境, 主要针对消费类电子设备的, 例如蜂窝电话和可视电话、 数字机顶盒、 汽车导航系统等等。 J2ME 技术在 1999 年的 JavaOne Developer Conference 大会上正式推出,它将 Java 语言的与平台无关的特性移植 到小型电子设备上,允许移动无线设备之间共享应用程序。 3JavaEE:Java Platform,Enterprise Edition J2EE 是一种利用 Java 2 平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。 J2EE 技术的基础就是核心 Java 平台或 Java 2 平台的标准版,J2EE 不仅巩固了标准版中的许多优点,例如 &编写一次、随处运行&的特性、方便存取数据库的 JDBC 、PI、CORBA 技术以及能够在 Internet 应用中保 护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans) 、Java Servlets API、JSP(Java Server Pages)以及 XML 技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的 体系结构。 2.1.3 Java 程序框架 public class HelloSODI {//外层框架 public static void main(String[ ] args) {//Java 入口程序框架 ?这里填写代码!... } } 2.1.4 Java 优点 1 跨越平台的限制 尽管目前 Windows 桌面系统一统天下,但是服务器系统采用的操作系统却具有多样性,包括 Linux、 Unix、Windows NT/2000Server 等系统都可以实现企业级应用。即便是桌面系统,中国政府出于安全和国 家战略的考虑,希望有自己的操作系统,Linux 的出现使这种想法变成了现实,不久也许国产的 Linux 系 统将占据更多桌面系统的市场份额。 传统的 C/S 架构的软件需要针对不同的操作系统开发不同版本的软件,面对众多的操作系统和软件快 速的升级换代, 采用这一架构开发软件,对于企业的 IT 投资无疑是一种巨大的风险。而采用 Java 语言实 现的 B/S 架构的软件产品真正做到了“一次编写处处运行(Write Once, Run Anywhere)” ,对企业而言, 可以规 避将来更换操作系统所带来的风险。 2 健壮的系统 Java 语言实现的软件具有天然的健壮性。 这是 Java 语言自身的特性保证的。 利用 Java 写成的软件几乎 不可能造成系统崩溃,这正是安全性要求很高的企业级应用所不可或缺的特性。 2.1.4 J2EE 技术简介 J2EE 是纯粹基于 Java 的解决方案。1998 年,Sun 发布了 EJB 1.0 标准。EJB 为企业级应用中必不可少 的数据封装、 事务处理、 交易控制等功能提供了良好的技术基础。 至此, J2EE 平台的三大核心技术 Servlet、6 JSP 和 EJB 都已先后问世。1999 年,Sun 正式发布了 J2EE 的第一个版本。紧接着,遵循 J2EE 标准,为企 业级应用提供支撑平台的各类应用服务软件争先恐后地涌现了出来。 IBM 的 WebSphere、 BEA 的 WebLogic 都是这一领域里最为成功的商业软件平台。随着开源运动的兴起,JBoss 等开源世界里的应用服务新秀也 吸引了许多用户的注意力。到 2003 年时,Sun 的 J2EE 版本已经升级到了 1.4 版,其中三个关键组件的版 本也演进到了 Servlet 2.4、JSP 2.0 和 EJB 2.1。至此,J2EE 体系及相关的软件产品已经成为了 Web 服务端 开发的一个强有力的支撑环境。2.2 JSP 技术介绍:2.2.1 JSP 与 ASP 的简单比较 JSP 与 Microsoft 的 ASP 技术非常相似。两者都提供在 HTML 代码中混合某种程序代码、由语言 引擎解释执行程序代码的能力。在 ASP 或 JSP 环境下, HTML 代码主要负责描述信息的显示样式,而 程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 和 JSP 页面需要附 加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给 浏览器。 ASP 和 JSP 都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。 ASP 的编程语言是 VBScript 之类的脚本语言, JSP 使用的是 Java ,这是两者最明 显的区别。此外, ASP 与 JSP 还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌 入的程序代码。 在 ASP 下, VBScript 代码被 ASP 引擎解释执行;在 JSP 下,代码被编译成 Servlet 并 由 Java 虚拟机执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。 2.2.2 JSP 运行环境 Sun 公司的 JSP 主页在 http://www.javasoft.com/products/jsp/index.html ,从这里还可以下载 JSP 规 范,这些规范定义了供应商在创建 JSP 引擎时所必须遵从的一些规则。 在运行 JSP 示例页面之前,请注意一下安装 JSWDK 的目录,特别是“ work ”子 目录下的内容。执行示例页面时,可以在这里看到 JSP 页面如何被转换成 Java 源文件,然后又被编译成 class 文件(即 Servlet ) 。 JSWDK 软件包中的示例页面分为两类,它们或者是 JSP 文件,或者是包含 一个表单的 HTML 文件,这些表单均由 JSP 代码处理。与 ASP 一样, JSP 中的 Java 代码均在服务器 端执行。 因此, 在浏览器中使用“查看源文件”菜单是无法看到 JSP 源代码的, 只能看到结果 HTML 代码。 所有示例的源代码均通过一个单独的“ examples ”页面提供。 2.2.3 JSP 页面示例 下面我们分析一个简单的 JSP 页面。您可以在 JSWDK 的 examples 目录下创建另外一个目录存放 此文件,文件名字可以任意,但扩展名必须为 .jsp 。从下面的代码清单中可以看到, JSP 页面除了比普 通 HTML 页面多一些 Java 代码外,两者具有基本相同的结构。 Java 代码是通过 & % 和 %& 符号加 入到 HTML 代码中间的,它的主要功能是生成并显示一个从 0 到 9 的字符串。在这个字符串的前面和 后面都是一些通过 HTML 代码输出的文本。 & body& language=&java& %& & % for (int i=1; i & 10; i++) {7& html& & & %! String str=&0&; %& %@ page& head&& title&JSP 页面 & /title&& /head& str = str + } %& & p& & %= str %& JSP 输出之后。 & /html& 这个 JSP 页面可以分成几个部分来分析: 首先是 JSP 指令。它描述的是页面的基本信息,如所使用的语言、是否维持会话状态、是否使用缓冲 等。 JSP 指令由 & %@ 开始, %& 结束。在本例中,指令“ & %@ page language=&java& %& ”只简单 地定义了本例使用的是 Java 语言(当前,在 JSP 规范中 Java 是唯一被支持的语言) 。 接下来的是 JSP 声明。 JSP 声明可以看成是定义类这一层次的变量和方法的地方。 JSP 声明由 & %! 开始, %& 结束。 如本例中的“ & %! String str=&0&; %& ”定义了一个字符串变量。在每一项声明的后面都必须有一个分号, 就象在普通 Java 类中声明成员变量一样。 位于 & % 和 %& 之间的代码块是描述 JSP 页面处理逻辑的 Java 代码,如本例中的 for 循环所示。 最后,位于 & %= 和 %& 之间的代码称为 JSP 表达式,如本例 中的“ & %= str %& ”所示。 JSP 表达式提供了一种将 JSP 生成的数值嵌入 HTML 页面的简单方法。 会话状态维持是 Web 应用开发者必须面对的问题。有多种方法可以用来解决这个问题,如使用 Cookies 、隐藏的表单输入域,或直接将状态信息附加到 URL 中。 Java Servlet 提供了一个在多个请求 之间持续有效的会话对象, 该对象允许用户存储和提取会话状态信息。 JSP 也同样支持 Servlet 中的这个 概念。 在 Sun 的 JSP 指南 中可以看到许多有关隐含对象的说明(隐含的含义是,这些对象可以直接引用, 不需要显式地声明,也不需要专门的代码创建其实例) 。例如 request 对象,它是 HttpServletRequest 的一 个子类。该对象包含了所有有关当前浏览器请求的信息,包括 Cookies , HTML 表单变量等等。 session 对象也是这样一个隐含对象。 这个对象在第一个 JSP 页面被装载时自动创建, 并被关联到 request 对象上。 与 ASP 中的会话对象相似, JSP 中的 session 对象对于那些希望通过多个页面完成一个事务的应用是非 常有用的。 为说明 session 对象的具体应用,接下来我们用三个页面模拟一个多页面的 Web 应用。第一 个页面( q1.html )仅包含一个要求输入用户名字的 HTML 表单,代码如下: & html& & body& METHOD=POST ACTION=&q2.jsp&& & INPUT TYPE=SUBMIT VALUE=&SUBMIT&& & /body& & /html& 第二个页面是一个 JSP 页面( q2.jsp ) ,它通过 request 对象提取 q1.html 表单中的 thename 值,8JSP 输出之前。 &/ p& & /body&& 请输入您的姓名: & INPUT TYPE=TEXT NAME=&thename&& & /FORM&FORM 将它存储为 name 变量,然后将这个 name 值保存到 session 对象中。 session 对象是一个名字 / 值对 的集合,在这里,名字 / 值对中的名字为“ thename ”,值即为 name 变量的值。由于 session 对象在会话 期间是一直有效的,因此这里保存的变量对后继的页面也有效。 q2.jsp 的另外一个任务是询问第二个问 题。下面是它的代码: & body& & %@ page language=&java& %& &% name = request.getParameter(&thename&); session.putValue(&thename&, name); & p& form method=post name=&food&& &/p& value=&SUBMIT&& & /form& & /html& 第三个页面也是一个 JSP 页面 ( q3.jsp ) , 主要任务是显示问答结果。 它从 session 对象提取 thename 的值并显示它,以此证明虽然该值在第一个页面输入,但通过 session 对象得以保留。 q3.jsp 的另外一个任务是提取在第二个页面中的用户输入并显示它: & html& & %! String food=&&; %& &% request.getParameter(&food&); session.getValue(&thename&); /p& & /body& & /html& %& & 您喜欢吃: & %= food %& 您的姓名是: & %= name %& String food name = = (String) & body& & %@ page language=&java& %& & /body& & input type=submit action=&q3.jsp&& & input type=text 您喜欢吃什么 ? %& 您的姓名是: & %= name %& & & %! String name=&&; %& & html&2.3 B/S 结构介绍B/S(Browser/Server)结构即浏览器和服务器结构。它是随着 Internet 技术的兴起而对 C/S 结构的一种 变化或者改进的结构。在这种结构下,用户工作界面通过 WWW 浏览器来实现,极少部分事务逻辑在前端 (Browser)实现,主要事务逻辑在服务器端(Server)实现。大大简化了客户端电脑载荷,减少了系统维 护与升级的成本和工作量,降低了用户的总体成本。B/S 方式可以形成所谓三层以上的结构。B/S 结构是9 一次到位开发,能实现不同人员,从不同地点,以不同的接入方式访问和操作共同的数据库;它能有效地 保护数据平台和管理访问权限,服务器数据库也很安全。特别是在 JAVA 这样的跨平台语言出现之后,B/S 架构管理软件更为方便、快捷、高效。B/S 工作机制如图 3-1 所示: 传统的 C/S 架构(客户机/服务器,Client/Server)方式中,业务逻辑位于客户端,每完成一项事务,都 要频繁地访问数据库,使得网络上数据流量非常大,对于慢速连接的用户,甚至无法使用。图 3.1 B/S 工作机制2.3.1 Java 程序框架 为弥补上述 C/S 架构的缺陷,人们发展出了三层或多层架构:客户机―中间件(应用服务器)―数据 库服务器(Client―Middle ware―Database Server)。在这种架构中,业务逻辑放置于中间件服务器上,大量 的数据流也位于中间件和数据库之间,而客户机只是简单地发出请求,中间件接受请求后进行事务处理并 将处理的结果返回给客户机,这一类型的客户机也称之为“C客户”。B/S 架构实际上是三层架构的一种, 所不同的是客户端就是目前几乎每台电脑中都有的网络浏览器, 而中间件则是 Web 应用服务器。 注意到主 要的业务逻辑均由位于 Web 应用服务器上的 Servlet 和 JSP 程序或 EJB 来处理。 2.3.2 B/S 架构具备极大的优越性 1 面向电子商务时代的技术 将来所有的应用系统几乎都在互联网或企业内部广域网上运行,发展电子商务成为企业不可避免的信 息化道路。B/S 架构的软件正是电子商务的基石,正是这类软件使得移动办公和分布式协同工作真正成为 现实。无论在世界的那个角落,只需要一台可以联网的设备(计算机、PDA 甚至手机)都可以方便地与客 户联系和与他人协同工作。 2 软件操作、维护和升级方式的革命 软件系统的改进和升级越来越频繁,B/S 架构的产品在维护和升级方面具备显著的优势。无论用户的 规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只对服务器进行,通过远程 连接服务器,异地的运维人员甚至于可以做到远程维护和升级,这对人力、时间、费用的节省是相当惊人 的。所有的客户端只是浏览器,所有的操作都和上网浏览网页类似,使用者接受的培训也仅限于业务逻辑 而无需将大量精力浪费学习软件操作上。 3 系统整合无论是办公自动化(OA)系统,人力资源(HR)系统,客户关系管理(CRM)系统,ERP 等等,发展的趋势是不 断融合。而采用统一的 B/S 结构开发的产品无论是现在还是将来都是最好的选择,它提供了真正意义上无缝地与其它系 统进行整合的方案。2.4 J2EE 所运用到的数据库技术10 关系数据库应用数学方法来处理数据库中的数据,关系数据库系统是支持关系模型的数据库系统。最 早将这类方法用于数据处理的是 1962 年 CODASYIL 发表的“信息代数” ,然而 30 多年来,关系数据库系 统的研究和开发取得了辉煌的成就。关系数据库系统从实验室走向了社会,成为最重要、应用最广泛的数 据库系统,大大促进了数据库应用领域的扩大和深入。 关系数据库的设计中,一个非常重要的被视为理论问题的内容是如何构造合理的关系,使之能准确地 反应现实世界,有利于应用和具体的操作。这一问题就是关系规范化要研究的问题。主要包括: 1 函数依赖及 Armstrong 公理系统; 2 为什么要对模式进行分解,如何分解; 3 如何判断关系模式达到几范式; 4 如何求属性的闭包及如何求最小函数依赖集,这几种理论信息构成了关系数据库的骨架。 2.4.1 关系模型的基本概念 用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。数据模型是对现实 世界的模拟。 1 二维表格举例--职工登记表,如表 2.1表 2.1 职工登记表工号 03 0004 2 键(KEY)姓名 Zhang Li Liu Wang年龄 26 25 29 22性别 男 女 男 女工资 00 1500键由一个或几个属性组成,在实际使用中,有下列几种键: (1) 超键(Super Key):在关系中能惟一标识元组的属性集称为关系模式的超键。 (2) 候选键(Candidate Key):不含有多余属性的超键 称为候选键。也就是在候选键中,若要再删除属性,就不是键了。 (3) 主键:(Primary Key):用户选作元组标识的一个侯选键称为主键。一般,如不加说明,则键是指 主键。 3 关系的定义和性质 我们可以用集合的观点定义关系。关系是一个元数为 K(K&=1)的元组的集合。把 关系看成是一个集合,集合中的元素是元组,每个元组的属性个数应相同。在关系模型中,对关系作了下 列规范性限制: (1)关系中每一个属性值都是不可分解的。 (2)关系中允许出现相同的元组(没有重复元组) (3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。 (4) 元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。 关系数据库的设计理论主要包括三个方面的内容:数据依赖、范式,模式设计方法。其中数据依赖 起着核心的作用。11 4 函数依赖(Functional dependency , FD)的定义 设 R(U)是一个关系模式,U 是 R 的属性集合,X 和 Y 是 U 的子集。对于 R(U)的任何一个可能的关系 r,如果 r 中不存在两个元组,它们在 X 上的属性值相同,而在 Y 上的属性值不同,则称“Y 函数依赖于 X” ,记作 X→Y。如果 X→Y,并且对于 X 的任一真子集 X ’,都有 Y 不函数依赖于 X ’,则称“Y 完全 函数依赖于 X” ,记作 X f Y 。若 X→Y,但 Y 不完全函数依赖于 X,则称“Y 部分函数依赖于 X” , 记作 X P Y 。如果 X→Y,Y→Z,且 Y≮ X, X 不函数依赖于 Y,则称“Z 传递函数依赖于 X”。 5 范式 在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。 在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即满足第 五范式的数据结构自动满足一、 二、 三、 四范式, 满足第四范式的数据结构自动满足第一、 二、 三范式, ……, 依此类推。 第一范式(first normal form,简称 1st NF)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。这个去掉重复项的过程就称之为规范 化处理。在本文所讨论的开发方法里,1st NF 实际上是没有什么意义的。因为我们按规范化建立的指标体 系和表的过程都自动保证了所有表都满足 1st NF。 第二范式(second normal form,简称 2nd NF)是指每个表必须有一个(而且仅一个)数据元素为主关键字(primary key),其它数据元素与主关键字一一 对应。例如,在图 l9.7 中如果我们将合同号定义为主关键字(其它数据元素中的记录数据都有可能重名,故 不能作为主关键字), 故只要知道了一个合同记录的合同号, 就可以唯一地在同一行中找到该合同的任何一 项具体信息。通常我们称这种关系为函数依赖(functional depEndence)关系。即表中其它数据元素都依赖于 主关键字,或称该数据元素唯一地被主关键字所标识。 第 三 范 式 (third normal form,简称 3rd NF)就是指表中的所有数据元素不但要能够唯一地被主关键字所标识,而且它们之 间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足了 2nd NF 的数据结构来说,表中有 可能存在某些数据元素依赖于其它非关键宇数据元素的现象,必须加以消除。 据库设计。下面以教务管理信息系统为例来进行分析。 6 模式设计方法 法应符合下列三条原则: 即数据等价和依赖等价,分别用无损联接和保持函数依赖来衡量。 分离性:是指属性间的“独立关系”应该用不同的关系模式表达。独立联系是我们所考虑的“基本信息单 位”。实际上分离就是清除存储异常和数据冗余现象。如果能达到这个目的,就分离。分离的基准就是一 系列范式,分离与依赖等价有时是不可兼容的。 最小冗余性:要求在分解后的数据库能表达原来数据库的所有信息这个前提下实现。目的就是节省存 储空间,提高对关系的操作效率,清除不必要的冗余。但要注意,在实际使用中,并不一定要达到最小宙 余。因为有时带点冗余对于查询处理是有好处的。 关系模式的方法基本上可以分为分解与合成两大类。分解型算法要求输入一个初始模式集和依赖集, 而结果满足数据等价要求。对于合成型算法只要求输入初始依赖集,结果满足依赖等要求。但它们依据的 基本思想是共同的,即独立的联系独立表示。 2.4.2 关系型数据库12为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量按关系规范化要求进行数 一个好的模式设计方 表达性:涉及到两个数据库模式的等价性问题, 1 关系数据库简介 提出关系模型的是美国 IBM 公司的 E.F.Codd, 1970 年提出关系数据模型 E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, 《Communication of the ACM》,1970;之后,提出了关系代数和关系 演算的概念;1972 年提出了关系的第一、第二、第三范式;1974 年提出了关系的 BC 范式 。 2 关系数据库 在一个给定的应用领域中,所有关系的集合构成一个关系数据库。 3 关系数据库的型与值 关系数据库的型:关系数据库模式,对关系数据库的描述。 关系数据库模式包括若干域的定义和在这些域上定义的若干关系模式。 关系数据库的值:关系模式在某一时刻对应的关系的集合,简称为关系数据库。 2.4.3 关系数据语言 1 关系代数语言 (1)传统的集合运算 包括并(Union) ,差(Difference) , 交(Intersection) ,笛卡尔积(Cartesian Product) 。 集合 R 和 S 具有相同的目 n(即两个关系都有 n 个属性)并且相应的属性取自同一个域,则: 并:R∪S :仍为 n 目关系,由属于 R 或属于 S 的元组组成 R∪S = { t|t ? R ∨t ?S } 差:R - S :仍为 n 目关系,由属于 R 而不属于 S 的所有元组组成 R -S = { t|t?R ∧t?S } 交:R∩S:仍为 n 目关系,由既属于 R 又属于 S 的元组组成 R∩S = { t|t ? R ∧t ?S } 或 R∩S = R C(R-S) 笛卡尔积:严格地讲应该是广义的笛卡尔积(Extended Cartesian Product) R: n 目关系,k1 个元组 S: m 目关系,k2 个元组 R× S : 列: (n+m)列元组的集合,元组的前 n 列是关系 R 的一个元组,后 m 列是关系 S 的一个元组 行:k1×k2 个元组 R× S = {tr ts |tr ?R ∧ ts?S } (2)专门的集合运算 选择(Selection) ,投影(Projection) ,连接(Join) ,除(Division) 。 选择:又称为限制(Restriction) 。 选择运算符的含义: 在关系 R 中选择满足给定条件的诸元组 σF(R) = {t|t?R ∧F(t)= '真'}。 其中 F:选择条件,是一个逻辑表达式,基本形式为:13X1θY1 投影:从 R 中选择出若干属性列组成新的关系: πA(R) = { t[A] | t ?R } 。 其中,A:R 中的属性列 连接:也称为θ 连接 连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R∞S = { tr ∈R∧ts∈S∧tr[A]θts[B] } A 和 B:分别为 R 和 S 上度数相等且可比的属性组 θ :比较运算符 连接运算从 R 和 S 的广义笛卡尔积 R×S 中选取(R 关系)在 A 属性组上的值与(S 关系)在 B 属性 组上值满足比较关系θ 的元组. 除:给定关系 R (X,Y) 和 S (Y,Z),其中 X,Y,Z 为属性组。 R 中的 Y 与 S 中的 Y 可以有不同的属性名,但必须出自相同的域集。 R 与 S 的除运算得到一个新的关系 P(X), P 是 R 中满足下列条件的元组在 X 属性列上的投影: 元组在 X 上分量值 x 的象集 Yx 包含 S 在 Y 上投影的集合,记作: R÷ S = {tr [X] | tr∈ R∧π Y (S)∩ Yx } Yx:x 在 R 中的象集,x = tr[X] 2 关系演算语言 元组关系演算语言 域关系演算语言 ALPHA QBE2.5 SQL 语言介绍SQL(Structured Query Language)即“结构式查询语言”。SQL 虽然名为查询语言,但实际上具有定义、 查询、更新和控制等多种功能。由于它使用方便、功能丰富、语言简单易学,很快得到应用和推广。从 20 世纪 70 年代末起,在推出的关系数据库系统产品 ORACLE、SQL/DS、DB2、SYBASE 上实现了 SQL 语 言。很快,SQL 语言被整个计算机界认可。1987 年 6 月,国际标准化组织(ISO)采纳为国际标准。随后, ISO 对标准进行了大量的修改和扩充。在 1992 年推出了新的标准-SQL2。SQL 的标准化工作还在继续, 新的标准已被命名为 SQL3,将包括许多新的数据库概念,正在不征求意见和进行修改,这里将简单介绍基 于 SQL89 和 SQL2 的语言使用概貌: 2.5.1 SQL 的组成 义 SQL 模式、基本表、视图和索引。 2 数据操纵:这一部分也称为“SQL DML”。它分为数据查询和数据更新两类。其中数据更新又分成 插入、删除、和修改三种操作。 权,完整性规则的描述,事务控制等内容。 4 嵌入式 SQL 的使用规定:这一部分内容涉及到 SQL 语句嵌入在宿主语言程序中使用的规则。 2.5.2 SQL 的数据查询14SQL 主要分成四个部分: 1 数据定义:这一部分也称为 “SQL DDL”,用于定3 数据控制:这一部分包括对基本表和视图的授SELECT 语句的语法 SELECT FROM [WHERE 行条件表达式] 基本表和(或)视图序列目标表的列名或列表达式序列 [GROUP BY 列名序列[HAVING 组条件表达式]] [ORDER BY 列名[ASC|DESC]…] 中[]表示该成分可有,也可无。 操作。 (2) 读取满足 WHERE 子句中给出的条件表达式的元组。 整个语句的执行过程如下: (1)读取 FROM 子句中基本表、视图的数据,执行笛卡尔积 (3) 按 GROUP 子句中指定列的值分组,同时提取满足 HAVING 子句中组条件表达式的那些组。 (4) 按 SELECT 子句中给出的列名或列表达式求值输出。 (5)ORDER 子句对输出的目标表进行排序,按附加说明 ASC 升序排列,或按 DESC 降序排列。 SELECT 语句中, WHERE 子句称为“行条件子句”, GROUP 子句称为“分组子句”,HAVING 子句称为“组条件子句”,ORDER 子句称为“排序子句”。 2.5.3 SQL 的数据更新 据插入、删除和修改等三种操作 INSERT VALUES(元组值) INSERT INTO 基本表名(列名表) ……) 2 数据删除 (TABLE(元组值) , (元组值) , 前一种格式只能插入一个元组,后一种格式可以插入多个元组。 DELETE [WHERE 条件表达式] 除满足条件表达式的元组。 句法如下: [WHERE 条件表达式] 语义是:修改基本表中满足条件表达式的那些元组中的列值,需修改的列值在 SET 子句中指出。 3 数据修改 当需要修改基本表中元组的某些列值时, 可以用 UPDATE 语句实现, 其 UPDATE 基本表名 SET 列名=值表达式[,列名=值表达式…] 其 FROM 基本表名 其语义是从基本表中删 INTO 1 数据插入 基本表名(列名表) 或者 SQL 的数据更新包括数 句法SQL 的删除操作是指从基本表删除元组, 其语法如下:--15 3 公交查询系统设计分析3.1 应用需求分析要设计一个良好的公交查询系统,就必须首先明确该应用环境对系统的要求。公交查询系统的应用 背景为:方便市民搭乘公交车出行;手动(目前) 、自动(将来) 、及时更新查询数据。因此,该系统需 满足以下几方面需求: 1 问题分析 (1)功能需求:该模块实现公交查询功能。该模块实现数据的录入、修改、删除功能。 (2)性能需求:系统的相应时间不能超过 10ms (3)出错处理需求:当输入的信息不全,或格式不正确时,提示出错信息。 2 问题描述16 (1)信息要求:可实现按起点-中转站-终点查询查询和按线路查询两种查询方式。 (2)处理要求:该模块实现数据的录入、修改、删除功能。该模块由公交站点管理与公交线路管理两 部分组成. (3)安全性与完整性要求。用户进入系统前必须登陆,输入密码,经服务器确认后放开进入系统。 (暂 未实现) 3 数据的更新修改: 更新:系统允许管理员级别的用户对数据进行更新、修改并且存盘操作; 员级别的用户对数据进行编辑、删除的操作,保证现库的真实性与实时性。 4 打印输出(暂未实现) :系统可以将用户查询到的内容动态地生成报表,并打印 输出。 编辑:系统允许管理3.2 系统功能模块划分公交查询系统功能划分模块如下: 1 查询系统模块 种查询方式。 详细设计视图如图 3.2.1 该模块实现公交查询功能。可实现按起点-中转站-终点查询查询和按线路查询两--17 图 3.2.1 查询系统模块2 录入系统模块该模块实现数据的录入、修改、删除功能。该模块由公交站点管理与公交线路管理两部分组成.详细设计视图如图 3.2.2 录入系统模块所示:--18 图 3.2.2 录入系统模块2 信息输入输出模块如图 3.2.3 所示:--19 图 3.2.3 信息输入输出模块3.3 系统数据库设计3.3.1 概念设计 支持数据库的 DBMS,不依赖于计算机系统的。 1 ER 模型 一种抽象。它的主要成分是实体、联系和属性。使 用这三种成分,我们可以建立许多应用环境的 ER 模型。 需要对 ER 图进行种种 变换。这些变换又称为 ER 模型的操作,包括实体类型、联系类型和属性的分裂、合并和增删等等。 3 利用 ER 方法的数据库概念设计 利用 ER 方法进行数据库的概念设计,可以分成三步进行:首先设计局部 ER 模式,然后把各局部 ER 模式综合成一个全局 ER 模式,最后对全局 ER 模式进行优化,得到最终的 ER 模 式,即概念模式。 设计局部的 ER 模式20概念设计的目标是产生反映城市公交查询系统需求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于 ER 模型是对现实世界的 2 ER 模型的操作在利用 ER 模型进行数据库概念设计的过程中,常常通常,一个数据库系统都 是为多个不同用户服务的。各个用户对数据的观点可能不一样,信息处理需求也可能不同。在设计数据库 概念结构时,为了更好地模拟现实世界,一个有效的策略是“分而治之”,即先分别考虑各个用户的信息需 求,形成局部概念结构,然后再综合成全局结构。在 ER 方法中,局部概念结构又称为局部 ER 模式,其 图形表示称为 ER 图(如图 3.3.1) 。 线路(线路编号,始发时间,终发时间,备注) 号,站点名称) 实体和属性的定义如下: 线路站点对应(线路编 站点(站点编号,站点名称,站点类别)图 3.3.1 实体和属性用例4 联系定义 ER 模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依 据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是 1:N, M:N,还是 1:1 等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实 体类型之间是否存在联系,等等。--21 站点类别 站点编号 始发时间 线路编号站点站点名称图 4.5 E/R 图的表示线路站点对应线路终发时间 备注3.3.2 逻辑设计 本系统初步定义了 4 个视图,具体视图设计及实例如下: 1 公交车信息的视图设计(如图 3.6) : 用途:输入公交车号 输出对应公交车所有信息图 3.6 公交车信息的视图设计2 公交车信息实例(如图 3.7) :图 3.7 公交车信息实例车站信息视图设计(如图 3.8): 输入: 车站号 输出: 对应车站所有信息--22 图 3.8 车站信息视图设计车站信息实例(如图 3.9)图 3.9 车站信息实例3 公交车DD站点查询视图(如图 3.10) : 输入:公交车号 输出:公交车经过的所有站点图 3.10 公交车DD站点查询视图4 站点DD公交车查询视图(如图 3.11) : 输入: 经过站点23 输出: 对应公交车号图 3.11站点DD公交车查询视图3.4 本章小结本章主要是从设计分析方面来讲的,该系统可划分为四个模块:查询系统模块,录入系统模块,地图 操作模块以及信息输入输出模块。 概念设计的目标是产生反映城市公交查询系统需求的数据库概念结构,即概念模式。概念模式是独立于数 据库逻辑结构,独立于支持数据库的 DBMS,不依赖于计算机系统的。 在逻辑设计方面,本系统初步定义了 4 个视图:公交车信息的视图设计,车站信息视图设计,公交车DD 站点查询视图,站点DD公交车查询视图。4 公交查询系统设计分析4.1 查询模块的功能实现24 公交查询模块是用户与系统进行交互的直接媒介。除了要完成用户的请求外,更需要从用户的角度出 发,以人为本。设计出人性化的交互页面。 查询模块主要有文本框和提交按钮组合而成。从实际出发对于公交查询系统而言,用户输入始发站,终点 站后提交请求,后台数据库查询系统为系统列出符合条件的公交班次。当用户发现填写有误时,点击重填 按钮,文本框自动清空。当然,用户还可以选择第二种查询方式:选择要查询的线路,提交后用户自动列 出该路公交车所路经的站点。 公交查询系统运行界面如图 4.1 所示:图 4.1 公交查询系统运行界面关键代码如下: connection = DataConnectionManager.getInstance().getConnection(); try { routes = route_Manager.selectes(connection); } catch (Exception e) { } finally { if (connection != null) { connection.close(); connection = } } &SCRIPT language=JAVASCRIPT type=text/javascript&25 &!-function loginSubmit(theObj) { if (theObj.fromStep.value == && && theObj.toStep.value != &&) { alert(&始发站不能为空&); theObj.fromStep.focus(); } else if (theObj.fromStep.value != && && theObj.toStep.value == &&) { alert(&终点站不能为空&); theObj.toStep.focus(); } else if (theObj.fromStep.value == && && theObj.toStep.value == &&) { alert(&始发站和终点站不能为空&); theObj.fromStep.focus(); } } // --& &/SCRIPT& &link rel=&STYLESHEET& type=&text/css& href=&../css/all.css&& &style type=&text/css&& &!-body { font-size: 9pt} table { font-size: 9pt} a:active { font-size: 9 color: #000000;} A:hover { font-size: 9 COLOR: #000000; TEXT-DECORATION: none} a:link { --&26font-size: 9 color: #000000;}a:visited { font-size: 9 color: #000000;} 4.2 管理更新的功能实现管理更新功能是针对系统维护而设计的。随着城市现代化的发展,公路部分线路也会有相应的变化。 为使本系统能跟上发展, 与现实保持同步, 管理更新功能也是举足轻重的。 其中包括站点管理和线路管理。 在数据库中每条公交线路都有其相应的站点,没路公交车都有其相应的公交线路。当现实中的某个因素改 变时,数据库中的记录也要有相应同步的变化。站点管理就是对路线上的站点进行相应的更新。输入相应 的站点序号,站点名称和类型后点击保存系统将数据录入数据库当中。现实中的某些站点更改时在站点列 表中点击删除即可。站点管理界面如图 4.2.1 所示:图 4.2 公交站点管理截图公交站点管理主要代码如下: &jsp:useBean class=&com.lanyuer.util.JspParamReader& id=&reader scope=&request&& /& &% reader.setRequest(request); List stopsets = C com.lanyuer.route.stopset_Manager stopset_Manager = com.lanyuer.route.stopset_Manager.getInstance(); com.lanyuer.route.stopset stopset1 = connection = DataConnectionManager.getInstance().getConnection(); try { if (reader.getString(&delRoute_Pk&,&&).length() & 0)27 stopset_Manager.deleteByPk(connection,com.lanyuer.route.stopset_Pk.valueOf (reader.getString(&delRoute_Pk&,&&))); stopsets = stopset_Manager.selectes(connection); if (reader.getString(&stopset_Pk&,&&).length() & 0) stopset1 = stopset_Manager.selectByPk (connection,com.lanyuer.route.stopset_Pk.valueOf (reader.getString(&stopset_Pk&,&&))); } catch (Exception e) { } finally { if (connection != null) { connection.close(); connection = } } %& &% Iterator iterator = stopsets.iterator(); while(iterator.hasNext()) { com.lanyuer.route.stopset stopset = (com.lanyuer.route.stopset)iterator.next(); %&4.3 公交线路管理现实中的公交线路在数据库中都对应了相应的记录。各路的公交车走各自的公交线路,随着城市现代 化的进程,某些公交车的线路可能发生改变。这需要在系统中及时的做出更改。在公交线路管理界面中输 入线路的编号,起始时间,及其对应的公交号码提交系统后会作保存。某些线路更改了公交号码就课点击 删除按钮将其删除。这样数据库就获取了更新数据,查询系统能够准确的提供有效信息。公交线路管理运 行界面如图 4-3 所示:--28 图 4.3 公交线路公里界面公交站点管理主要代码如下: &jsp:useBean class=&com.lanyuer.util.JspParamReader& id=&reader& scope=&request& /& &% reader.setRequest(request); List routes = C com.lanyuer.route.route_Manager route_Manager = com.lanyuer.route.route_Manager.getInstance(); com.lanyuer.route.route route1 = connection = DataConnectionManager.getInstance().getConnection(); try { if (reader.getString(&delRoute_Pk&,&&).length() & 0) route_Manager.deleteByPk(connection,com.lanyuer.route.route_Pk.valueOf(reader.getString(&delRoute_Pk&,&&))); routes = route_Manager.selectes(connection); if (reader.getString(&route_Pk&,&&).length() & 0) route1 = route_Manager.selectByPk(connection,com.lanyuer.route.route_Pk.valueOf(reader.getString(&route_Pk&,&&))); } catch (Exception e) { } finally { if (connection != null) { connection.close(); connection = }29 } %& &% Iterator iterator = routes.iterator(); while(iterator.hasNext()) { com.lanyuer.route.route route = (com.lanyuer.route.route)iterator.next(); %& &tr& &td align=&center&&&%=route.getiEndTime()%&&/td& &td align=&center&&&%=route.getcNote()%&&/td& &td align=&center&& &a &/tr& &% } %& href=&?delRoute_Pk=&%=java.net.URLEncoder.encode(route.getPrimaryKey().toString())%&&& 删 除 &/a&&/td&4.4本章小结本章是本文的重点, 主要是一些实现模块功能的关键代码与解释说明, 包括查询模块、 管理更新模块、公交线路管理等关键功能实现的代码,通过这些代码了解该系统的核心。其中,公交查询模块是用户与系 统进行交互的直接媒介,管理更新功能是针对系统维护而设计的,现实中的公交线路在数据库中都对应了 相应的记录。这些代码采用了 JSP 与 JAVA 结合的技术来实现。5 总结一个应用程序设计开发的好坏,与设计人员对开发工具的掌握程度息息相关。根据个人情况,尽量选择了 自己较熟悉的开发环境及工具,以便能够顺利的实现系统避免延期。同时设计的思想,套路在开发前期需 要认真的物色,一个好的设计思路是开发出好的系统的基石;开发之前经过思考研究以 B/S 的模式设计本 系统。 尽管如此在本系统的开发设计过程中,由于本人对开发工具的掌握尚有欠缺,可以说整个的开发过程 是一边摸索一边实践出来的。但令人高兴的是,通过这样一个边学习边应用的过程与其他同学、老师的帮 助,本人完成了公交查询系统的开发工作,并实现了该应用程序背景所要求的功能。在此过程中能力得到 了相应的提升,为日后设计开发和学习增强了信心。但总的来说,程序仍然存在许多不足之处,在整个开 发过程中本人一直本着认真、虚心、刻苦、积极的态度,坚持自己独立完成设计,并基本达到了应用设计30 的功能要求。相信随着对开发工具的逐渐熟悉和知识体系的逐渐完善,该系统在日后一定能够得到不断改 进,发挥出它应有的作用。参考文献[1] 王克宏、郝建文. Java 技术教程 [M] . 北京:清华大学出版社.2002 年. [2] 蔡敏、徐慧慧、黄炳强. UML 基础与 Rose 建模教程 [M]. 北京:人民邮电出版社,2006 年. [3] 萨师煊、王珊. 数据库系统概论(第三版) [M]. 北京:高等教育出版社.2005 年. [4] 齐治昌、谭庆平、宁洪. 软件工程(第二版) [M]. 北京:高等教育出版社.2004 年. [5] 周竞涛、赵寒. Eclipse 完全手册 [M]. 北京:电子工业出版社,2006 年. [6] Cay S.Horstmann、Gary Cornll. 叶乃文 等译. Java 核心技术 [M].北京:机械工业出版社.2006 年. [7] 蒙祖强、龚涛. Oracle 10g 数据库 Java 开发 [M].北京:中国水利水电出版社.2005 年. [8] [ 美 ] 霍 斯 特 曼 等 , 程 峰 等 北京:机械工业出版社.2006 年. [9] 杜江,管佩森.Java 实用编程 100 例 [M].北京:中国铁道出版社.2004 年 [10] 孙一林,彭波.Java 数据库编程实例 [M].北京:清华大学出版社.2003 年 [11] Cay S. Horstmann .Java 技术手册 [M].北京:清华大学出版社.2006 年. [12] [美]贾西诺斯基 著,盖江南等 译.Java,XML 和 Web 服务宝典 [M].北京:.电子工业出版社.2002 年. [13] [美]布朗(Brown,s.)著,白雁 等译.JSP 编程指南(第三版)[M].北京:电子工业出版社.2001 年 [14] 柯建勋,蔡毅,邓格琳,李宏伟. Powerbuiler 8.0 [M].北京: 清华大学出版社.2002 年. [15] 崔杜武,姚全珠,范艳华,黑新宏. Powerbuiler 8.0 从基础到应用 [M].北京.人民邮电出版社.2002 年. [16] Ramon A.Mata-Toledo. SQL 编程习题与解答.胡志君 高燕林 译.[M].北京:.机械工业出版社. 2002 年. [17] 何旭洪,余建英. PowerBuilder8.0 数据库系统开发实例导航. [M].北京:人民邮电出版社.2002 年. [18] 周亚辉. Java 数据库系统项目开发实践. 北京:科学出版社.2005 年. [19] 张海藩.软件工程导论(第 5 版). [M]北京:清华大学出版社.2008 年. [20] 张大志、王辉等.Jbuilder 9 基础教程. [M].北京:清华大学出版社.2004 年.31译 .Java2核 心 技 术 : 卷I基 础 知 识 [M]. 致谢最后感谢唐日成老师的辛勤指导。在研究分析的过程中,老师给予了很多帮助,并提供了很多与该课 题相关的重要信息,培养了我对事情研究分析的严谨态度和创新精神,很大程度上提高了我分析问题,解 决问题的能力,这非常有利于我现在和今后的学习和工作。还有我的朋友在毕业设计过程中给了我精神上 和学习上的巨大鼓舞,在此我表示我最衷心的感谢!--32
赞助商链接
基于java城市公交查询系统的设计与实现毕业论文_工学_高等教育_教育专区。毕业设计 太原公交查询系统的设计与实现学生姓名: 指导教师: [摘 要] 公交查询系统是为了...JIU JIANG UNIVERSITY 毕业论文题目 城市公交查询系统的设计与 实现 英文题目 City Public Transport Query System Design and Implementation 院专姓系业名 信息科学...毕业设计说明书 学生姓名 学专题院业目 学 号 计算机科学与技术(软件工程) 基于 web 的城市公交查询系统设计与 实现 指导教师 (姓名) 讲师/硕士 (专业技术职称...城市公交查询系统的设计与实现_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 城市公交查询系统的设计与实现_计算机软件及应用_IT/...城市公交查询系统的设计与实现_计算机软件及应用_IT/计算机_专业资料。摘 要 我国城市公交乘客信息系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少,...毕业设计论文公交查询系统_工学_高等教育_教育专区。软件工程毕业设计,城市公交查询...;当确定需求后, 该论文的系统设计部分就介绍了具体该怎么去设计并实现该系统。...毕业设计(论文)报告纸 公交查询系统设计毕业论文 信息工程系┊ ┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ 毕业设计...基于JAVA的公交查询系统的设计与实现_电脑基础知识_IT/计算机_专业资料 暂无评价|0人阅读|0次下载基于JAVA的公交查询系统的设计与实现_电脑基础知识_IT/计算机_专业...学号: 2015 届本科生毕业论文(设计) 城市公交查询系统设计与实现 学院(系) : 专业班级: 学生姓名: 指导教师: 合作指导教师: 完成日期: 城市公交查询系统设计与...城市公交查询系统的设计与实现文献综述_能源/化工_工程科技_专业资料 暂无评价|0人阅读|0次下载城市公交查询系统

我要回帖

更多关于 品牌推广毕业设计 的文章

 

随机推荐