《软件工程毕业设计(论文)公交在线查询系统.doc》由会员分享,可在线阅读,更多相关《软件工程毕业设计(论文)公交在线查询系统.doc(31页珍藏版)》请在三一办公上搜索。
1、苏州高博软件技术职业学院毕业设计(论文)报告系 别 软件工程 专 业 web开发与应用 班 级 _姓 名 _学 号 _设计题目 公交在线查询系统 指导教师 _起 迄日期 2010.102010.12 苏州高博软件技术职业学院毕业设计诚信承诺书本人慎重承诺和声明:我承诺在毕业设计过程中严格遵守学校有关规定,在指导教师的安排与指导下完成所规定的毕业设计工作,绝不弄虚作假,不请别人代做毕业设计或抄袭别人的成果。所撰写的毕业论文或毕业设计是在指导老师的指导下自主完成,文中所有引文或引用数据、图表均注明来源,本人愿意为由此引起的后果承担责任。学生签名: 日期: 2010 年 12 月 28 日毕业设计知
2、识产权权属声明本人在老师指导下所完成的论文及设计成果、知识产权归属学校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。学生签名: 日期: 2010 年 12 月 28 日指导教师签名: 日期: 年 月 日公交在线查询系统摘 要我国城市公交乘客信息系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少,为了解决这种问题,需要大力发展我国的城市公交乘客信息系统。为了解决这种问题,加快发展城市公交信息化,设计一个城市公交查询系统是具有一定实际应用意义的。在老师的指导下,我开发了这个应用程序-苏州公交查询系统。在设计过程中,首先分析了我国城市公交乘客信息系统的发展现状,找出问
3、题和不足。其次,在对公交乘客出行心理特征进行分析的基础上,考虑了乘客选择公交线路决策的因素,建立了基于时间价值和费用价值的公交线路选择合理的模型。在此基础上,进行程序关键部分的框架设计,理清程序设计思路。最后结合系统开发阶段和调试阶段发现的问题,提出了系统需要完善的地方,总结了开发此系统所取得的经验。关键词 公交在线查询系统 ;ASP.NET ; Visual Studio 2008 ;SQL Server 2008目录第1章 绪论11.1引言11.2 论文的研究内容1第2章 系统的开发工具与环境22.1 ASP.NET简介22.1.1 ASP.NET技术的优点22.1.2 .NET Fram
4、ework概述4第3章 需求分析43.1 系统需求分析43.2 数据库需求分析53.3 性能需求63.3.1 系统处理的准确性和及时性63.3.2 系统的开放性和系统的可扩充性63.3.3 系统的易用性和易维护性73.3.4 系统的先进性7第4章 系统概要设计74.1概述74.2 功能模块划分84.3 数据库设计94.3.1 数据库概念结构设计104.3.2数据库逻辑结构设计12第5章 详细设计与实现155.1 前台功能的实施155.1.2按线路查询155.1.3按站点查询165.2后台管理功能的实现175.2.1新增车次线路175.2.2删除车次以及无效站点185.2.3修改车辆参数18第6
5、章 测试与维护196.1 创建和测试应用程序196.2测试项目196.3 程序改进206.4测试方法216.5测试内容216.6软件维护236.6.1 软件维护的影响因素236.6.2 软件的可维护性236.6.3 提高软件可维护性的方法23结 论24致 谢25第1章 绪论1.1 引言城市公交是专门服务于市民出行的客运企业。它是城市社会和经济活动的重要组成部分。伴随着国民经济和城市建设的快速发展,城市经济的繁荣,人口的增加,城市必须解决好人们出行的需求。城市公交直接关系着城市的经济发展和居民生活,对城市经济具有全局性、先导性的影响,城市公交以其方便、快捷、容量大而成为城市交通的主体。但是随着公
6、交系统的庞大,人们很难得到准确的公交信息,这样给一些人的出行就带来了不便。因此,急需一个方便、快捷的公交信息查询方式,本系统通过浏览器查询,实现中心控制、查询方式等功能。随着城市经济的发展、规模的扩大以及人口的增长,城市交通问题日益突出。降低出行时间将使所有的公交利用者产生效益,快速的交通、更好的信息及更好的市场可以提高公交的形象,能够增加公交乘坐者。城市公共交通运输以其覆盖面广、经济、快捷的特点,成为绝大多数出行者的首选方式,也是各地城市政府大力发展的一种交通方式。本地市民特别是外来旅游、出差、就医等急需了解本地道路情况的人可以利用本系统方便快捷的查询出所有符合他们要求的公交路线,对他们的出
7、行和生活提供帮助。 我国城市公交乘客信息系统的发展处于一个落后的水平,广大乘客可以获得信息的方式很少,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。出于这个目的,在老师的指导下,我设计了公交在线查询系统。在对公交乘客出行心理特征进行分析的基础上,考虑乘客选择公交线路决策的因素,进行程序关键部分的框架设计。现阶段,人们的出入方式主要还是来源于城市公交,特别是对于那些到外地出差、打工,进行商业有关或其他事情需要在外地进行短暂停留的人而言,公交对他们是必不可少的,但是对于那个不属于自己所熟悉的城市,坐公交也是一个很大的难题,因此,开发一个公交查询系统就显得非常的重要。
8、本系统的核心是对选择好的车次进行路线的查询,或者输入所要查询的车站名,点击“查询”按钮,查询所有含有该站的车次及相应的停靠站。1.2 论文的研究内容公交查询系统是一个取代过去由人工查询的查询系统。本论文论述了一个基于浏览器/服务器模式的公交查询系统的研究和实现的过程. 论文从开发平台和工具谈起,对ASP.NET服务器所提供的组件及其属性和方法做了一般介绍,更重要的是阐述了ASP.NET的数据库访问组件的使用方法。最后,详细介绍了如何创建“公交查询系统”的全部过程。第2章 系统的开发工具与环境2.1 ASP.NET简介ASP.NET 是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建
9、立强大的Web应用程序。ASP.NET提供许多比现在的Web开发模式强大的的优势。ASP.NET 建立在 .NET Framework 的编程类之上,它提供了一个 Web 应用程序模型,并且包含使生成 ASP Web 应用程序变得简单的控件集和结构。ASP.NET 包含封装公共 HTML 用户界面元素(如文本框和下拉菜单)的控件集。但这些控件在 Web 服务器上运行,并以 HTML 的形式将它们的用户界面推送到浏览器。在服务器上,这些控件公开一个面向对象的编程模型,为 Web 开发人员提供了面向对象的编程的丰富性。ASP.NET 还提供结构服务(如会话状态管理和进程回收),进一步减少了开发人员
10、必须编写的代码量并提高了应用程序的可靠性。另外,ASP.NET 使用这些同样的概念使开发人员能够以服务的形式交付软件。使用 XML Web services 功能,ASP.NET 开发人员可以编写自己的业务逻辑并使用 ASP.NET 结构通过 SOAP 交付该服务。Visual Studio .NET 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C+ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境,该环境允许它们共享
11、工具并有助于创建混合语言解决方案。2.1.1 ASP.NET技术的优点ASP.NET是一种将各种Web元素组合在一起的服务器技术,是一个统一的Web开发平台,它提供了生成一个完整的Web应用程序所必须要的各种服务。与以前的开发模型相比较,它提供了以下数个重要的优点:(1) 增强的性能。ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。与被解释的前辈不同,ASP.NET 可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码之前便显著提高了性能。(2) 世界级的工具支持。ASP.NET 框架补充了 Visual Studio 集成开发环境中的大量工具箱和设计器。WYSI
12、WYG 编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。(3) 威力和灵活性。由于 ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员可以利用整个平台的威力和灵活性。.NET 框架类库、消息处理和数据访问解决方案都可从 Web 无缝访问。ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言(如C#),或是跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到 ASP.NET 时保留基于 COM 的开发中的现有投资。(4) 简易性。ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署的站点配置。例如,ASP.N
13、ET 页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似 Visual Basic 的简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。(5) 可管理性。ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 Web 应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此“零本地管理”哲学也扩展到了 ASP.NET 框架应用程序的部署。只需将必要的文件复制到服务器,即可将 ASP.NET 框架应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运行的
14、编译代码时。(6) 可缩放性和可用性。ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。(7) 自定义性和扩展性。ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。实现自定义身份验证或状态服务一直没有变得更容易。(8) 安全性。借助内置的 Windows 身份验证和基于每个应用程序的配置
15、,可以保证应用程序是安全的。2.1.2 .NET Framework概述.NET Framework 是用于生成、部署和运行 XML Web services 和应用程序的多语言环境。它由以下几个主要部分组成:公共语言运行库 运行库实际上在组件的运行时和开发时操作中都起到很大的作用,尽管名称中没有体现这个意思。在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分配、启动和停止线程和进程,以及强制执行安全策略。在开发时,运行库的作用稍有变化;由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单,尤其是与今天的 COM 相比。特别是反射等功能显
16、著减少了开发人员为将业务逻辑转变为可重用组件而必须编写的代码量。 统一编程类 该框架为开发人员提供了统一的、面向对象的、分层的和可以扩展的类库集 (API)。目前,C+ 开发人员使用 Microsoft 基础类,而 Java 开发人员使用 Windows 基础类。框架统一了这些完全不同的模型并且为 Visual Basic 和 JavaScript 程序员同样提供了对类库的访问。通过创建跨所有编程语言的公共 API 集,公共语言运行库使得跨语言继承、错误处理和调试成为可能。从 JavaScript 到 C+ 的所有编程语言具有对框架的相似访问,开发人员可以自由选择它们要使用的语言。第3章 需求
17、分析3.1 系统需求分析随着我国经济的高速发展,人们生活水平的提高,越来越多的人开始热衷于到外地旅游。那么对于这些外来旅游者,首先搞清这个城市的公交路线显的很重要!我生活在苏州,作为“上有天堂,下有苏杭”的美丽城市,每年都要吸引大量的游客,为了满足这些游客熟悉公交路线的需求,特以公交查询系统为设计课题。本软件不仅能给游客带来方便,也能给广大市民提供方便。我认为这样的系统应该具有很好的实用性!开发本系统的目标就是立足广大乘客的实际,着眼于公交业的未来发展,规范公交管理,提高服务质量,方便乘客查询,并为此设计该系统。人们生活水平的提高,越来越多人喜欢旅游,但是第一次来一个陌生的城市,肯定对公交路线
18、不熟悉,所以必定需要一个能查看具体公交线路的公交系统。本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及和数据库的联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能前台主要有3个模块,线路查询、站点查询、后台管理模块功能名称:线路查询功能概述:可以获得要查询公交所通过的各个站点。功能名称:站点查询功能概述:通过输入的指定站点查询经过该站点的公交。功能名称:后台管理功能概述:用于管理员登陆,添加、修改、删除公交线路,修改信息资料、安全密码等功能。本系统提供了的车次查询功能
19、、路线查询功能。乘客可以方便的进行查询,以防乘错车次。当然有些功能的智能化不是很强,系统有待进一步来完善。3.2 数据库需求分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。数据库技术是由传统的文件系统发展而来的,从层次模型、网状模型发展到关系模型。数据库技术是数据管理的最新技术,是计算机科学的一个重要分支,它能指导我们正确地设计数据库系统,它的出现极大地促进了计算机应用的发展。采用数据库技术的原理和方法可以有效地设计实用的数据库系统。一个完整的数据库系统包括数据
20、库管理系统(DBMS),数据库管理员、数据库(DB)、应用程序和相应的硬件设施。目前许多数据库管理系统都基于关系模型,关系模型的主要特点是用表格结构表达实体,用键表示实体与实体之间的联系。与层次模型和网状模型相比,关系模型比较简单,容易为初学者接受。关系模型是由若干个关系模式组成的集合,关系模式相当于记录类型,它的实例称为关系。每个关系是一张表格。表格简单,用户易懂,用户只需用简单的查询语句就可以对数据库进行数据操作,并不涉及到存储结构,访问技术等细节。关系模型是数学化的模型,要用到集合论,离散数学等知识。SQL语言是关系数据库的代表性语言,已经得到广泛应用。在设计数据库时,应注意数据的安全性
21、,保证数据的安全,防止非法用户访问数据库,以免泄露重要信息,同时也能防止非法用户的蓄意破坏,有许多保护数据的方法,如采用用户标识,口令和密码或访问控制等方法。一个成功的数据库应用系统应具有用户标识,每一个合法用户具有一个用户名和相应的口令,进入数据库应用系统前必须输入正确的口令,否则无法进入系统,这就保证了只有合法的用户才能操作数据库系统。为了保证数据的合法语义,必须对数据库的数据进行完整性约束,即防止用户输入不合语义的数据。在设计应用软件时,应严格按照软件工程学的方法进行设计,传统的方法采用瀑布模型,从问题定义、可行性分析、需求分析、概念设计、总体设计、系统实现、编码和软件测试、运行和维护等
22、软件生命周期内,每一阶段均在前一阶段的基础上进行设计,并在每一阶段有相应的文档资料。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:数据库需要分析,数据库概念结构设计,数据库逻辑结构设计。3.3 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,城市公交查询系统应该满足以下的性能需求:3.3.1 系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。由于公交查询系统的查询功能对于整个
23、系统的功能和性能完成举足轻重。作为系统的很多数据来源,而车票数量和时间又影响企业的决策活动,其准确性很大程度上决定了公交查询系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。3.3.2 系统的开放性和系统的可扩充性公交查询系统在开发过程中,应该充分考虑以后的可扩充性。例如网上查询的用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3.3.3 系统的易用性和易维
24、护性公交查询系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。公交查询系统中涉及到的数据是公交公司的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时的恢复等工作。3.3.4 系统的先进性目前计算系统的技术发展相当快,作为公交查询系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而
25、不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并且先进有良好发展前途的产品。第4章 系统概要设计4.1概述本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用
26、。模块化的依据是:把复杂问题分解成许多容易解决的小问题。原来的问题也就变得容易解决。模块化设计是把大型软件按照一定的原则划分成一个较小的相对功能独立又相关联的模块。每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。完成指定的功能,满足问题的要求。采用模块化原理的优点在于可以使软件结构清晰,容易测试和调试。从而提高软件的可靠性,可修改性。有助于软件开发的组织管理。一个大型软件可分别编写不同的模块。模块化理论的几个重要概念如下:抽象。抽象就是抽象出事物的本质特性而暂时不考虑它们的细节。处理复杂系统唯一有效的方法是用层次的方式构造和分析它。一个复杂的动态系统首先可以用一些高级的抽象概念构
27、造和理解,这些高级概念又可以用一些较低级的理解,直到最低层次的具体元素。信息隐蔽和局部化。信息隐蔽是指在设计和确定模块时,应使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问。局部化是指把一些关系密切的软件元素物理的放得彼此靠近。局部化有助于实现信息隐蔽。信息隐蔽原理和局部化有助于在测试期间以及软件维护期间修改软件。因为绝大多数数据和过程对于软件的其它部分而言是隐蔽的,从而由疏忽引入的错误就很少可能传播到软件的其它部分。逐步求精的模块化概念。逐步求精和模块化的抽象是密切相关的。软件结构每一层中模块表示对软件抽象层次的次细化。用自顶向下,逐步求精的方法由抽象到具体的方式分配控制,简
28、化了软件设计和实施,提高了软件的可理解性和可测试性,并使得软件更容易维护。模块独立性。模块的划分要使模块间尽可能的相互独立,独立模块较易维护。度量模块的独立程度有两个标准:内聚和耦合。耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数。在软件的设计中应追求尽可能松散的耦合。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展,理想内聚的模块只做一件事情。在设计时应力求做到高内聚。4.2 功能模块划分查询系统模块该模块实现公交查询功能。可实现按线路查询、站点查询和起点终点查询三种查询方式。录入
29、系统模块该模块实现数据的新增、修改、删除功能。城市公交查询系统查询后台管理按 线 路 查 询按 站点 查 询两站点间换乘查询新增修改删除线 路车 辆 参 数发车时间表车次站名图4-1 系统模块图系统模块图如图4-1所示: 4.3 数据库设计数据库技术是在文件系统的基础上发展起来的一种高效的数据管理技术,它能保持系统数据的整体性,完整性和共享性。在数据库系统中提供了对数据的访问机制,能有组织的存储相关的数据,具有合理的存储方式,快速的查询效率和最小的数据冗余等特性。另外数据的存储和应用程序彼此独立,不仅便于数据的管理与控制而且有利于应用程序的编写与调试。数据库类似于一个数据的大仓库,能很好地实现
30、数据共享,能维护数据的一致性。数据库设计是系统设计的一个重要内容,其设计质量的好坏直接影响系统开发的成败,系统的质量,系统效率及可维护性。在本系统的设计中,充分考虑到了管理系统数据繁杂,重复性很大,数据使用频繁。因此本系统采用了一种能正确反映用户实现环境,能被现行系统接受,易于维护、效率高的数据管理方法-数据库系统。数据模型是指数据库中记录与记录之间联系的数据结构形成的。不同的数据管理系统有不同的数据模型,数据库设计的核心问题是设计好的数据模型。在目前的数据库管理系统中有层次模型,网状模型、关系模型三种数据模型。其中,关系模型具有较高的数据独立性,使用也较为方便。本设计采用关系数据库,该数据库
31、实行增、删、改、查。其中的排序和索引功能,对数据快速定位,查询提供了有利条件。交流互动对于本系统的数据库设计有以下几点说明:数据库设计兼顾前面设计的数据流程图,管理信息系统的设计并不是以数据库为核心的数据库应用设计,本系统的数据库设计尽量满足第三范式的要求,本系统的数据库设计以提高系统运行效率为前提。4.3.1 数据库概念结构设计在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模
32、型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但它只是数据库设计的第一步。E-R图是直观表示概念模型的工具,它有三个基本成分:(1) 矩形框,表示实体类型(考虑问题的对象)。(2) 菱形框,表示联系类型(实体间的联系)。(3) 椭圆形框,表示实体的属性。实体和属性的定义如下:管理员表(登陆ID,登录姓名,登录密码)站名表(站名编号,站名)车辆线路编号表(车次,车线类型)线路表(线路编号,车次,站名,次序)车辆表(车辆编号
33、,车次,车辆类型,去程,回程,票价,运行区间)发车时间表(车次,编号,首班时间,末班时间)各实体属性图如图4-2所示。站 名站名编号站名车辆线路编号车次车辆类型线 路线路编号次序车次站名车 辆服务类型车辆编号票价车次发车时间车次末班时间编号首班时间管 理 员用户名验证码登录密码图4-2 实体属性关系图4.3.2数据库逻辑结构设计本系统采用的数据库管理系统是Microsoft公司的SQL Server 2008。该管理系统由一系列产品组成,不仅能够满足最大的数据处理系统和商业 Web 站点存储数据的需要,还能为个人或小企业提供易于使用的数据存储服务。Microsoft SQL Server 20
34、08 的特性包括: (1) 企业数据管理在当今的互联世界中,数据和管理数据的系统必须始终为用户可用且能够确保安全。有了 SQL Server 2008,组织内的用户和信息技术 (IT) 专家将从减少的应用程序停机时间、提高的可伸缩性及性能、更紧密而灵活的安全控制中获益。SQL Server 2008 也包括了许多新的和改进的功能来帮助 IT 工作人员更有效率地工作。SQL Server 2008 包含几个在企业数据管理中关键的增强:易管理性、可用性、可伸缩性、安全性。SQL Server 2008 使部署、管理和优化企业数据以及分析应用程序变得更简单、更容易。作为一个企业数据管理平台,它提供单
35、一管理控制台,使数据管理员能够在任何地方监视、管理和调谐企业中所有的数据库和相关的服务。它还提供了一个可以使用 SQL 管理对象轻松编程的可扩展的管理基础结构,使得用户可以定制和扩展他们的管理环境,同时使独立软件供应商 (ISV) 也能够创建附加的工具和功能来更好地扩展打开即得的能力。(2) SQL Server Management StudioSQL Server 2008 通过提供一个集成的管理控制台来监视和管理 SQL Server 关系数据库、Integration Services、Analysis Services、Reporting Services、Notification
36、Services 以及在数量众多的分布式服务器和数据库上的 SQL Server Mobile Edition,从而简化了管理工作。数据库管理员能够同时执行多个任务,例如,编写和执行查询,查看服务器对象,管理对象,监视系统活动和查看联机帮助。SQL Server Management Studio 提供了一个开发环境,可在其中使用 Transact-SQL、多维表达式、XML for Analysis 和 SQL Server Mobile Edition 来编写、编辑和管理脚本和存储过程。Management Studio 可以很容易地与源代码控制集成在一起。Management Studi
37、o 还包括一些工具可用来调度 SQL Server 代理作业和管理维护计划,以自动执行日常维护和操作任务。管理和脚本编写集成在单一工具中,同时,该工具具有管理所有类型的服务器的能力,为数据库管理员们提供了更强的生产效率。SQL Server 2008 开放了 70 多个新的内部数据库性能和资源使用的度量值,涵盖了从内存、锁定到对事务、网络和磁盘 I/O 的调度等。这些动态管理视图 (DMV) 提供了对数据库和强大的基础结构的更大的透明度和可见性,可以主动监视数据库的状况和性能。(3) SQL 管理对象SQL 管理对象 (SMO) 是一个新的可编程对象集,它可实现所有 SQL Server 数据
38、库的管理功能。事实上,Management Studio 就是构建在 SQL 管理对象之上的。SMO 是作为 Microsoft .NET Framework 程序集实现的。您可以使用 SMO 自动执行常见的 SQL Server 管理任务,例如,用编程方式检索配置设置,创建新数据库,应用 Transact-SQL 脚本,创建 SQL Server 代理作业以及调度备份等。SMO 对象模型替代了包含在 SQL Server 早期版本中的分布式管理对象 (DMO),因为它更安全可靠并具有更高的可伸缩性。(4) 可用性在高可用性技术、额外的备份和恢复功能,以及复制增强上的投资使企业能够构建和部署高
39、可用的应用程序。在高可用性上的创新有:数据库镜像、故障转移群集、数据库快照和增强的联机操作,这有助于最小化停机时间,并确保可以访问关键的企业系统。本节将详细介绍这些增强特性。(5) 数据库镜像数据库镜像允许事务日志以连续的方式从源服务器传递到单台目标服务器上。当主系统出现故障时,应用程序可以立即重新连接到辅助服务器上的数据库。辅助实例几秒钟内即可检测到主服务器发生了故障,并能立即接受数据库连接。数据库镜像工作在标准服务器硬件下,不需要特定的存储或控制器。表:管理员表存放登陆系统所需要的用户名和密码,登录后台时需要访问此表。 管理员表 第5章 详细设计与实现5.1 前台功能的实施5.1.2按线路
40、查询线路查询模块:用户进入系统后,在线路查询模块的输入框中输入要查询的线路,点击查询按钮,系统首先检查用户所查询的线路是否存在,如果不存在给出出错提示,如果存在给出这条线路的相关信息,如:双向早晚车的工作时间,经过的站点。如线路存在,进入线路界面如图所示:主要实现代码如下:SqlCommand cmd=new SqlCommand(cmdstring,con);SqlDataReader sdrsj=cmdsj.ExecuteReader();while(sdrsj.Read()string linetemp1=sdrsj首班时间.ToString();string linetemp2=sdr
41、sj末班时间.ToString();line+=(首班时间为:+linetemp1+ ;line+=末班时间为:+linetemp2+);SqlCommand cmd=new SqlCommand(select * from 公交车线路表where 车次=+num+order by 次序ASC,con);SqlDataReader sdr=cmd.ExecuteReader();trywhile(sdr.Read()line+=sdr站名.ToString();line=line.Replace(sdr站名.ToString(),+sdr站名.ToString()+);line+=-;fina
42、llydr.Close();con.Close();int i;i=Convert.ToInt32(line.Length);line=line.Substring(0,i-3); 5.1.3按站点查询站点查询模块:用户进入系统后,在站点查询模块中有二种选择,第一个是按站点的确切信息也就是完全匹配查询,此时用户要给出站点的全称,当点击查询按钮后,系统会在数据库中检测该站点是否存在,如果存在,系统显示这个站点的相关信息。比如:经过这个站点共有哪些线路,这些线路又各经过哪些站点,第二个选择是站点的模糊查询,也就是不完全匹配,用户只需输入站点名称和部分字符信息,系统便会给出与此相关的所有站点信息。当
43、输入确切站点后,进入的界面如图所示:主要实现代码如下:SqlCommand cmd=new SqlCommand(SELECT 车次FROM 公交车线路表 WHERE 站名=+a+,con);SqlDataReader sdr=cmd.ExecuteReader();while(sdr.Read()alS.Add(sdr.GetValue(0);cmd.CommandText=SELECT 车次FROM 公交车线路表WHERE 站名=+b+;SqlDataReader sdr1=cmd.ExecuteReader();while(sdr1.Read()alE.Add(sdr1.GetValue
44、(0);for(int i=0;ialS.Count;i+)for(int j=0;jalE.Count;j+)if(alSi.ToString()=alEj.ToString()alNum.Add(alEj); 5.2后台管理功能的实现5.2.1新增车次线路此模块为管理员操作,如当地出现新的公交线路,或原有公交车线路有新的站点加入,管理员可以登陆此表,及时添加线路和站点的信息,以保证车次线路的及时更新,方便用户查询。添加的界面如图所示5.2.2删除车次以及无效站点此模块同样为管理员操作,如当地哪个公交线路已经被废除,或原有公交车线路有哪个站点被删除,管理员可以登陆此表,及时删除线路和站点的信
45、息,以保证车次线路的及时更新,方便用户查询。删除的界面如图所示:5.2.3修改车辆参数本系统设计了一个管理员和大众用户能共用的主界面。但管理员需登陆才能进入相应的界面进行操作和修改,而大众用户无需登陆可直接进入相应的界面进行查询。两者实现的功能基本一样,但系统只对用户提供信息查询功能,并不对用户开放所有数据信息的编辑权限。而管理员比大众用户增加了对数据信息编辑功能(包括:删除站点、删除线路、修改站点、添加线路等功能等),管理员实现对数据信息的编辑并对系统进行定期的维护,保证其运行的稳定性,为大众用户提供尽可能完善的服务。用户进入主页面后不但可以得到公交相关信息,而且可以对公交进行查询。在线路查询中主要实现所属线路具体的信息,获得该线路会经过的站点,起末班时间、价格等等。管理员通过后台进入系统,按照提示完成,车次、站点的添加、修改和删除。下图为修改车辆参数界面,如图所示:第6章 测试与维护6.1 创建和测试应用程序为了确保本系统能够正常运行,需要在发布之后做一次较全面的测试。现将具体操作及过程举例说明如下:创建和测试应用程序应是交替进行的,既要注意开发的效率也要注意它的稳定性。每编写一个模块,就要对这个模块进行测试,