轨道交通收费数据模拟生成软件的设计和实现毕业论.doc_第1页
轨道交通收费数据模拟生成软件的设计和实现毕业论.doc_第2页
轨道交通收费数据模拟生成软件的设计和实现毕业论.doc_第3页
轨道交通收费数据模拟生成软件的设计和实现毕业论.doc_第4页
轨道交通收费数据模拟生成软件的设计和实现毕业论.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题 目 轨道交通收费数据模拟生成软件的设计和实现 _院(系) _专业 学 号 姓 名 指导教师 顾问教师 起止日期 设计地点 东南大学毕业设计(论文)报告摘要 . . 轨道交通收费数据模拟生成软件的设计和实现 摘要 近年来,随着经济的快速发展,作为城市交通建设中重要的组成部分轨道交通建设也得 到快速的发展。城市轨道交通是一种安全、舒适、快捷、准时、环保的大能力客运交通工具。其 中,自动售检票(AFC)系统是其中最为重要的组成部分,是体现和衡量轨道交通信息化水平的 重要标志。在进行轨道交通的各种软件、票卡设计时需要轨道交通实际收费原始数据作参考和验 证,而各城市轨道交通的相关原始收费数据保密程度是很高的,这就迫切需要能自己生成在各种 条件下的模拟原始收费数据。本设计能够模拟生成在各种条件下地铁进出站时所产生的收费原始 数据,并将数据保存备份。 该系统采用模块化设计思想,具有界面友好、操作方便、交互灵活特点,已具备基本的数据 产生及保存功能。本系统主要实现了以下几个功能:参数设置,包括:线路站点图,票卡种类 设置,票率设置,数据生成周期,人流总量设置,人流量分布设置等;票价计算,主要是利用 Dijkstra 算法智能查询最短路径并根据南京当地地铁收费标准进行票价的规定;收费数据的生 成,根据每一次的收费数据,按照一定的格式输出收费信息,包括时间,起始站点,到达站点, 乘客选择的路径,经过的站点数,票价等;统计报表的生成,主要根据设置的数据生成周期, 同步的产生已规定好的报表格式,将各个参数写入并且保存。 关键词:Dijkstra 算法,自动售检票系统,收费文件,报表,C#窗体应用程序 东南大学毕业设计(论文)报告Abstract . I . RAIL TRAFFIC CHARGE DATA SIMULATION GENERATION OF SOFTWARE DESIGN AND IMPLEMENTATION Abstract In recent years, with the rapid development of economy, urban traffic construction as an important component part of the rail traffic construction-has also been fast development. Urban rail transit is a safe and comfortable, rapid, on time and environmental protection of great power passenger traffic tools. Among them, the automatic fare collection (AFC) system is one of the most important part of the measure is to reflect and rail traffic information level of important symbol. In rail transit in the various software, design need rides rail traffic actual charges for original data for reference and verification, and the urban rail transit relevant original fee data confidential degree is high, it is urgent to need to be able to generate its own in various conditions simulated original fee data. This design can simulate generation in various conditions in and out of the subway station which charge of original data, and will save data backup. The system adopts the idea of modular design, has friendly interface, easy operation, interactive flexible characteristics, already has basic data to create and save function. This system mainly realized the following functions: parameters Settings, including: line site map, rides kinds Settings, ticket rate setting, data generation cycle, the total flow setting, stream distribution setting; the fare calculation is the main Dijkstra algorithm intelligent inquires according to the shortest path and nanjing local subway fares on the provisions of the charge standard; charge data generation, according to each charge data, according to certain format output charge information, including time, start site, arrived at the site, passengers choose path, after site number, fares, etc.; the generation of statistical reports, mainly based on the data generation cycle set, synchronous generation has stipulated good report format, will write and save all parameters. KEYWORDS: Dijkstra algorithm, automatic fare collection system (afc) charging documents, reports, C# application form 东南大学毕业设计(论文)报告目录 . II . 目录 摘要I ABSTRACT.II 第 1 章 绪论.5 1.1 引言.5 1.2 轨道交通系统发展现状.5 1.3 自动售检票系统研究概况.6 1.4 论文主要工作和内容.7 第 2 章 模拟收费数据系统需求分析及功能设计.9 2.1 系统需求.9 2.1.1 软件需求 .9 2.1.2 系统业务流程 .9 2.1.3 原始表格及其数据形成样式 10 2.2 系统功能设计11 2.3 本章小结 11 第 3 章 模拟收费数据系统的实现12 3.1 系统体系结构选择12 3.2 软件开发工具的选择13 3.3 数据库开发工具的选择15 3.4 程序代码设计思想及原则16 3.4.1 面向对象编程思想 16 3.4.2 事件驱动程序设计思想 16 3.4.3 软件代码设计原则 16 3.4.4 软件界面设计原则 16 3.5 模拟收费数据生成系统程序设计举例17 3.5.1 登陆模块 17 3.5.2 计费与参数设置模块 19 3.5.3 计费文件输出模块 25 3.6 难点27 3.7 本章小结27 第 4 章 最短路径查询数学模型建立28 4.1 城市轨道交通的数学模型28 4.2 最短路径查询的几种算法和对应的数学模型29 4.2.1 DIJKSTRA算法.29 东南大学毕业设计(论文)报告目录 . III . 4.2.2 A*算法 36 4.2.3 BELLMAN-FORD算法 .37 4.2.4 FLOYD-WARSHALL算法 .38 4.2.5 几种算法的比较和优缺点 38 4.3 本章内容总结39 第 5 章 软件功能测试与分析40 5.1 计费功能测试40 5.1.1 基本的计费功能40 5.1.2 智能选择最短路径功能 40 5.2 文件生成与存储功能测试40 5.2.1 文件生成功能测试 40 5.2.2 文件存储与查询统计功能测试 41 5.3 本章小结41 第 6 章 总结与展望42 6.1 全文总结42 6.2 工作展望42 参考文献:.43 致 谢45 东南大学毕业设计(论文)报告第 2 章 . 4 . 第一章 绪论 1.1 引言 轨道交通自动售检票(Automatic Fare Collection,AFC)系统是城市轨道交通的重要组成 部分,特别针对我国人口众多、客流量大的应用特点,自动化的轨道交通售检票系统及其可重复 使用的智能 lC 车票,可以大大加快乘客购票和进出站时间,提高客运量及提供人性化服务。在当 今轨道交通 AFC 系统中“一卡通”是 AFC 系统的发展方向,IC 卡技术的应用促使地铁收费系统与 其他公共交通收费系统共用一张卡进行收费。为使 AFC 系统稳健发展,提出保证系统顺利实施和高 效运作需要把握的关键和相应措施。在地铁大系统中,自动售检票系统(AFC 系统)以其高度的智能 化设计,扮演着售票员、检票员、会计、统计、审计等角色,以数据收集和控制系统实现了票务管 理的高度自动化。随着电子技术的高速发展,自动收费系统理念和技术也发生了巨大变化,一卡通、 电子钱包等便利手段的应用愈来愈普及。 本设计主要是根据轨道交通(主要是地铁)AFC 完成轨道交通运营管理中的售检票及清分功 能,因为它直接由乘客打交道,是城市交通的重要窗口,所以它也是轨道交通的重要组成部分。 轨道交通 AFC 系统由轨道交通清结算中心系统(CCHS)、线路中心系统(LCC)、车站系统(SC)、 终端设备(SLE)和票卡组成。CCHS、LCC 和各 SC 系统都有其各自的局域网,系统通过一个专用传 输网络来连接。 在进行轨道交通的各种软件、票卡设计时需要轨道交通实际收费原始数据作参考和验证,而 各城市轨道交通的相关原始收费数据保密程度是很高的,作为开发商很难获得相关数据。这就迫 切需要能自己生成在各种条件下的模拟原始收费数据。 1.2 轨道交通系统发展现状 改革开放以来, 我国城市规模和经济建设飞速发展, 城市化进程日益加快, 城市人口急剧增 加, 100 万人口以上的大城市已有 34 个, 其中 300 万以上的有 8 个。这些大城市一天的客运高 峰期间, 旅客高度集中, 流向大致相同, 低运量的交通工具已远远不能满足民众出行的需要。而 采取城市轨道交通系统, 发展多层次、立体化、智能化的交通体系, 是从根本上改善交通需求的 重要战略措施之一。 在当今社会,节能环保在全球范围内越来越被重视并且得到许多实际应用。节能、环保、便 捷与准时的大众化交通工具城市轨道交通正受到全球各个大中城市的青睐,尤其在非洲、亚 洲,像埃及开罗、新加坡、泰国曼谷和印度新德里等国家和城市都相继建成城市轨道交通。 东南大学毕业设计(论文)报告第 2 章 . 5 . 我国城市轨道交通的建设始于 20 世纪 60 年代的北京地铁,于 1965 年开工,1969 年建成通 车,全长 40km,采用人工售检票方式。直到 20 世纪 90 年代,我国城市轨道交通建设进入了快速 发展期,建设规模之大是世界城市轨道交通发展史之最。经过 10 多年的建设,截至 2006 年年底, 己有北京、上海、天津、广州、深圳等 10 座城市共建成 20 多条轨道交通线路,总运营里程达 504.63km。经初步预测,到 2020 年左右,我国将有近 20 个城市要建设城市轨道交通,总建设里 程可达 1500kln。预计到 2050 年,中国城市轨道交通线路总长将超过 4500km。 自动售检票系统是国际化大城市轨道交通运行中普遍应用的现代化联网收费系统,随着自动 售检票系统的启用,乘客现在可以通过各入口处的自动售票机购买电子票。目前上海、北京、广 州、天津、深圳、南京等大城市的轨道交通地铁站都广泛使用了 AFC 系统作为重要客运管理应用, 更多的应用场合包括电影院,体育馆,歌剧院,火车站,机场等。 1.3 自动售检票系统研究概况 本设计研究的是轨道交通系统收费数据模拟生成软件,涉及到具体的收费数据,因此所涉及 的系统软件需要缜密、完善、健壮以及可移植可拓展性。在此我们需要先了解轨道交通系统的一 些构成,然后了解本次设计所需要用到的技术、开发环境、重点难点的解析,所以需要先查阅相 关资料了解最新的工程背景,从而能使软件更切合实际的运用到实际工程中。 随着线路的不断增加,AFC( automatic fare collection, 自动售检票 )系统正逐步进入网络 化建设阶段。为了提高 AFC 系统的运行效率, 降低建设成本,提高服务水平, 保证轨道交通的经济 效益和社会效益,需要编制线网 AFC 系统技术规程。在南京的 AFC 技术规程制定的过程中, 业主 对技术规程制定小组采用目标管理和过程控制相结合,对关键技术进行攻关,保证技术规程的正确 性、可行性、适用性、完整性、可扩展性和先进性1 1。因此 AFC 系统所有的设计需要遵照技术规 程,从而达到各个承包商产品的兼容性、互联互通性。 城市轨道交通车票从发行机构及应用范围来分,有一卡通和一票通种、一卡通由城市公共交通 行业指定部门来发行,适应整个城市所有的公共交通行业;一票通由轨道交通行业指定部门来发行, 用以实现轨道交通线路间无障碍换乘。对于 一票通 车票, 根据票种属性的不同, 常分为两类。 第一类, 单程类车票, 仅单程有效使用, 一般包括普通单程票、纪念单程票、出站票、往返票及 带行李单程票等; 第二类, 储值类车票, 可多程有效使用, 根据需要可充值再使用, 一般包括储 值票、计次票、限期票、区域票、员工票等2 2。由此我们了解到各种票卡,从而对计费软件的算 法有一定的帮助。 AFC 系统是一个综合性很强的专业系统,一般由中央清分系统(ACC) 、线路中央计算机系统 (LCC) 、车站计算机系统(SC) 、车站现场设备(SLE)和车票五层结构体系组成,涉及机械、电 子、微控、传感、计算机、网络、数据库和系统集成等多个方面的技术,其中 AFC 应用系统软件 是最核心的技术,它不仅要集成所有售检票设备信息,还要对车票和现金等实物进行管理,涉及 东南大学毕业设计(论文)报告第 2 章 . 6 . 车站管理、收益管理和车票管理等各个环节,是实现 AFC 系统集成的关键环节3 3。由此可知,AFC 系统的构建需要各个领域各个专业的紧密配合,才能完善。 从运行效果来看, 票卡业务内置型读写器更适合网络化运营的需要。该读写器对票卡数据结 构、安全密钥、处理流程、交易数据生成、交易验证码计算、交易审计数据生成等处理过程封装 在装置内部, 避免上述数据的外漏, 有效地保护了轨道交通核心数据安全。该读写器的参数化设 置便于对 AFC 系统统一管理, 降低了系统升级维护成本4 4。这种内置型读写器增加了核心数据的 安全性,是当前 AFC 系统所必须要解决的关键问题。 票卡库存管理系统是典型的信息管理系统,其实施过程主要包括后台数据库的建立和维护以 及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性及数据的安全性,而 对于后者则要求应用程序功能完备、易使用等特点。经过分析使用微软公司 VisualB 开 发工具,利用其提供的各种面向对象的开发工具,尤其是 ADO 性能方便而简洁操纵数据库的智能 化对象,短期内开发出可行的系统5 5。 ACC 是 AFC 系统最上层的管理中心, 将承担轨道交通票卡发行、票务收入的汇总、清分、资 金划拨和线网 AFC 系统的运行联动、监督, 同时还负责处理一卡通车票在轨道交通中应用的清分 和管理, 以及对整个线网客流信息的汇总分析。ACC 的基本职能包括收益清分、运营管理、票务 管理、分析决策等。1) 收益清分。主要是指制定并实施清分规则, 实现轨道交通各线之间、轨道 交通领域与其他行业领域之间的收益清分。2) 运营管理。主要指客流量、票卡流向、重大故障等 线网级运营状况的监视, 管理线网属性、密钥、票价参数、车票种类、费率表、乘客服务界面等 相关参数,并进行汇总和转发。3) 票务管理。包括票种的发行计划、票卡初始化与分拣、库存、 调拨、注销销毁等。4) 分析决策。指充分利用清分系统数据平台中的信息资源, 为政府决策部门 的决策制定提供准确、丰富的数据支持6 6。 多线路的线网情况下存在换乘客流。无障碍换乘模式下,进出站之间有换乘时,交易数据无 法反映乘客的实际换乘路径。进出站之间的换乘路径可能有多种选择,本文选择南京地铁清分模 型采用的最佳路径,作为视同乘客选择的实际换乘路径,将有换乘的行程信息拆分成在各个线路 上的乘坐信息。如果有需要,也可以在此基础上调整,对进出站之间的不同的换乘选择根据权重 按比例拆分。为根据进站时间推算换乘时间,可以采用为同一线路内任意两站设定行车时长矩阵 参数的方法,来计算首次换乘后次路径的进站时间。但是这样处理时,如果行车密度小时间间隔 较长,根据进站时间加行车时长计算得到的换乘时间误差比较大,而且列车行车时间、停靠时间 有调整时,需要同步调整行车时长矩阵参数。考虑到计算断面客流一个很重要的目的是为行车组 织提供参考,所以不采用行车时间矩阵参数的方法,直接用列车运行时刻表来作为换乘时间计算 依据,进一步把按时间段分布的客流,具体推算到每一趟列车上,产生比较实际实用的算法7 7。 1.4 论文主要工作和内容 本论文的主要工作是开发一款地铁收费数据模拟生成的软件,主要工作包括系统的需求分析、 东南大学毕业设计(论文)报告第 2 章 . 7 . 系统功能设计、体系结构设计和程序代码设计,同时对最短路径查询方法进行研究,在建立了其 数学模型的基础上,运用 Dijkstra 算法求解路径问题,实例证明该方案切实可行。 本论文共有六章,组织如下: 第一章 绪论 主要介绍了课题背景以及轨道交通系统特别是自动售检票系统的国内外发展现 状,然后说明了本论文的主要工作和内容。 第二章 着重介绍模拟收费系统的总体设计方案,在需求分析的基础上给出了各功能模块的数 据形成过程,完成了功能设计工作。 第三章 确定整个软件框架的体系结构,进行了软件开发工具的选择,在软件编程思想指导下 进行模块的界面设计和代码实现。 第四章 介绍了几种最短路径建立数学模型的方法以及其各自的原理。重点介绍了本系统使用 的 Dijkstra 算法。 第五章 系统各个功能的代码实现以及智能查询最短路径的问题。数据库的建立以及最后通过 实例结果对比,说明算法的可行性和优异性。 第六章 对论文所做的工作进行总结,并对下一步的工作进行了展望。 东南大学毕业设计(论文)报告第 2 章 . 8 . 第二章 模拟收费数据系统需求分析及功能设 计 2.1 系统需求 需求分析是系统开发最重要的一步,对于模拟收费数据而言,需求分析就是充分了解用户对 系统提出的要求,通过对实际当中的工作流程以及查阅文献资料进行了解。 2.1.1 软件需求 具有参数设定功能 包括线路站点图、票卡种类设置、票率设置(系统内部)、数据生成周期设置、人流总量设置、 人流量分布设置。 具有文件存储功能 能够存储起末站点、票卡种类、票价、所属线路等重要数据。 具有浏览功能 包括浏览各个站点及主要站点确定路径的正确性等内容。 具有生成报表功能 根据数据生成周期生成统计报表。 票价分析功能 根据始末站点以及对路径的统计,按照相关规定产生票价。 系统功能 提供友好的用户界面、时间显示、退出系统及确认等基本的系统功能以及较高级的数据备份 功能和界面美化。 2.1.2 系统业务流程 整个计费清分系统流程大致为如下 4 个过程 (1)票卡种类确定 (2)车站售检票设备 (3)车站计算机系统 (4)线路中央计算机系统 (5) 城市轨道交通清分系统 如图 2-1 所示,轨道交通 AFC 系统由轨道交通清结算中心系统(CCHS)、线路中心系统(LCC)、 车站系统(SC)、终端设备(SLE)和票卡组成。CCHS、LCC 和各 SC 系统都有其各自的局域网,系统 通过一个专用传输网络来连接。 东南大学毕业设计(论文)报告第 2 章 . 9 . 图 1-1 系统主要流程图 2.1.3 原始表格及其数据形成样式 一、收费数据表 编号时间起始站点到达站点票卡种类票价 实收 找零 二. 统计报表格式 城市轨道交通清分系 统 公交一卡 通系统 线路中央计算机 系统 1 线路中央计算机 系统 2 线路中央计算机 系统 n 车站计算机系统 1n 车站计算机系统 1n 车站计算机系统 1n 车站售检票设备车站售检票设备车站售检票设备 单程票储值票其他票种 东南大学毕业设计(论文)报告第 2 章 . 10 . 时间段编号收费金额总费用 二、登陆用户管理 用户名密码 2.2 系统功能设计 系统功能设计是系统开发过程中的一个重要阶段。功能设计工作应该自顶向下的进行,首先 设计总体结构,然后逐层深入,直至进行每一个模块的设计。根据整个系统的需求分析,设计一 个实用化的地铁模拟收费数据管理系统,下文将对主要开发部分作详细介绍。 地铁模拟收费软件系统 用户信息确认 参数设定 计费系统 数据生成与保存 确认用户名和密码 地铁线路图描述 票卡种类设定 数据生成周期设定 计费算法以及数据 系统内置票率设定 生成周期时间报表 生成当前计费数据 人流总量设定 人流量分布设定 图 2-2 系统框架 2.3 本章小结 本章完成了需求分析的任务,对整个系统的功能自上而下逐个模块进行了设计,并且初步设 定了生成数据的类型及参数。 内置用户名和密码 东南大学毕业设计(论文)报告第 3 章 . 11 . 第三章 模拟收费数据系统的实现 3.1 系统体系结构选择 任何一个应用系统,从单机系统到复杂的网络计算,它都由三部分组成:显示逻辑部分(表 示层) ,事务处理逻辑部分(功能层)和数据处理逻辑部分(数据层) 。表示层的功能是实现与用 户的交互,功能层的功能是进行具体的运算和数据的处理,数据层的功能是实现对数据库中的数 据进行查询、修改、更新等任务。按照当前流行的程序设计方法,可以将数据库应用程序分为两 类,一类是两层结构的数据库应用系统,另一类是多层结构的数据库应用系统。 两层结构的数据库应用程序有两种构造方式,这就是客户/服务器(C/S)结构与浏览器/服务 器(B/S)结构,可形象地表示为图 3-1 所示。C/S 结构中显示逻辑和事务处理逻辑部分均被放在 客户端,数据处理逻辑和数据库放在服务器端。两层 C/S 数据库体系结构如图 3-2 所示: 客户机2浏览器1浏览器2 数据库服务器 客户机1 图 3-1 两层数据库应用程序 显示 逻辑 数据 处理 逻辑 事务 处理 逻辑 数 据 库 客户机服务器 图 3-2 两层 C/S 数据库体系结构图 相对于采用 B/S 的浏览器和服务器模式,采用 C/S 模式有如下优点。 C/S客户端1 C/S客户端n Intranet C/S结构服 务器 图 3-3 应用系统 C/S 结构图 (1)网络负荷较轻。B/S 采用了逻辑上的三层结构,但在物理上的网络结构仍然是原来的以太 东南大学毕业设计(论文)报告第 3 章 . 12 . 网或环形网。这样,第一层与第二层结构之间的通信、第二层与第三层结构之间的通信都需占用 同一条网络线路,网络通信量大。而 C/S 只有两层结构,网络通信量只包括 Client 与 Server 之 间的通信量,网络通信量低。所以,C/S 处理大量信息的能力是 B/S 无法比拟的。 (2)响应速度较快。由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。 (3)安全性高。由于 C/S 采用配对的点对点的结构模式,并采用适用于局域网、安全性比较好 的网络协议(例如 NT 的 NetBEUI 协议),安全性可得到较好的保证。C/S 一般面向相对固定的用户 群,程序更加注重流程,它还可以对权限进行多层次校验,提供了更安全的存取模式,对信息安 全的控制能力很强。一般高度机密的信息系统采用 C/S 结构适宜。而 B/S 采用点对多点、多点对 多点这种开放的结构模式,并采用 TCPIP 这一类运用于 Intemet 的开放性协议,其安全性只能 靠数据服务器上管理密码的数据库来保证。 3.2 软件开发工具的选择 由于本课题是基于C/S模式的系统,我们先主要是在期刊网与万方数据库查阅前辈们所做的案 例,看看人家是运用什么技术,什么开发平台。通过别人的设计,他们应用ASP.NET技术实现网络 环境下的轨道交通收费系统的设计管理,利用Microsoft Visual Studio.NET工具作为开发平台, 结合使用ASP.NET技术 +SQL Server数据库,使用C#作为编程语言、采用ADO.NET技术进行数据库 操作,结合B/S模式的工作原理及特点,并以此为理论技术依据阐述了基于Web的轨道交通收费管 理系统的结构设计和具体的实现过程,采用面向对象的编程方法,设计了基于.NET 的轨道交通收 费信息管理系统。系统开发数据库采用SQL SERVER 2000。系统部署需满足的软件环境为WINDOWS SERVER 2000或2003、IIS6、.NET2.0。在另外一个设计系统中提出了一种基于B/S 模式采用 ASP.NET 和Web 数据库技术的通用公路收费管理系统实现方案。 C#(C Sharp)是微软(Microsoft)为.NET Framework量身订做的程序语言,微软公司在2000年 6月发布的一种新的编程语言。C#拥有C/C+的强大功能以及Visual Basic简易使用的特性,是第 一个组件导向(Component-oriented)的程序语言,和C+与Java一样亦为对象导向(object- oriented)程序语言。C sharp(音标 a:p )(又被简称为 “C#“)是微软公司在 2000年6月发 布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。 C#是微软公司 研究员Anders Hejlsberg的最新成果。 C#看起来与Java有着惊人的相似;它包括了诸如单一 继承、界面、与 Java几乎同样的语法,和编译成中间代码再运行的过程。但是C#与Java有 着明显的不同,它借鉴了 Delphi的一个特点,与 COM(组件对象模型 )是直接集成的,而且它 是微软公司 .NET windows网络框架的主角。 正是由于C#面向对象的卓越设计,使它成为构建 各类组件的理想之选 无论是高级的商业对象还是系统级的应用程序。使用简单的C#语 言结构,这些组件可以方便的转化为 XML网络服务,从而使它们可以由任何语言在任何操作 系统上通过 INTERNET进行调用。最重要的是, C#使得C+程序员可以高效的开发程序,而绝 不损失C/C+原有的强大的功能。 C#从与现在发展很火爆的 jave 语言相比,继承了 java 的许多特点。包括 类:在 C# 东南大学毕业设计(论文)报告第 3 章 . 13 . 中类的声明与 Java 很相似,这是合理的,因为经验告诉我们Java 模型工作得很好。 Java 的关键字 import 已经被替换成 using,它起到了同样的作用。 C#是一个强类型的语言, 它的数值类型有一些可以进行隐式转换,其他的必须显式转换,隐式转换的类型只能是长度短 的类型转换成长的类型,例如int 可以转换成 long、float、double、decimal,反之必须 显式的转换。 与 C/C+比较,继承他们的地方有 编译,程序直接编译成标准的二进制可执 行形式。结构体,一个 C#的结构体与 C+的结构体是相似的,因为它能够包含数据声明和 方法.但是,不象 C+,C#结构体与类是不同的而且不支持继承 .但是,与 Java 相同的是,一 个结构体可以实现接口( interface)。 预编译,C#中存在预编译指令支持条件编译 ,警 告,错误报告和编译行控制 。命名空间, 命名空间提供了一种方法来唯一标识一个类型以 及进行类型的逻辑组织。命名空间可以嵌套使用并可以跨程序集使用。一个类型的完全限定名 包括所有命名空间。在一个命名空间中,所有的类型必须有一个唯一的名称。基本类型库 (Base Class Library)是.NET Framework 的所有语言可下可用的命名空间集。命名空间是 组织和重用代码的编译单元。命名空间和文件的结构关系不像Java,命名空间与文件的结 构之间没有关系。 using 语句是用来在使用类型时不需要用全限定名的类型,全限定名也可 以被使用。命名空间中的声明, C#与 C+有所不同,是 C#独有的特点。 操作符重载, 一 些操作符能够被重载,而另一些则不能 .特别的是,没有一个赋值运算符能够被重载 。在 C#中独有的特点就是 它和 Java 的不同,而不是相似的地方 .这一节(和这个系列第二部分的 大部分地方)讲述了 C#实现的和 Java 不同的地方或者 Java 根本没有的特点 。分别为动 态查阅,C# 4.0 新增 dynamic 关键字,提供动态编程( dynamic programming)把既有的 静态对象标记为动态对象,类似javascript,Python 或 Ruby。中间代码, 微软在用户选 择何时 MSIL 应该编译成机器码的时候是留了很大的余地 .微软公司很小心的声称 MSIL 不是 解释性的,而是被编译成了机器码 .它也明白许多 -如果不是大多数的话 -程序员认为 Java 程序要不可避免的比 C 编写的任何东西都要慢 .而这种实现方式决定了基于 MSIL 的程 序(指的是用 C#,Visual Basic,“Managed C+“-C+的一个符合 CLS 的版本-等语言编写 的程序)将在性能上超过 “解释性的“Java 代码.当然,这一点还需要得到事实证明,因为 C#和其他生成 MSIL 的编译器还没有发布 .但是 Java JIT 编译器的普遍存在使得 Java 和 C# 在性能上相对相同 .象“C#是编译语言而 Java 是解释性的, “之类的声明只是商业技巧 .Java 的中间代码和 MSIL 都是中间的汇编形式的语言,它们在运行时或其它的时候被编译成机器代 码。命名空间中的申明, 当你创建一个程序的时候,你在一个命名空间里创建了一个或多 个类.同在这个命名空间里(在类的外面)你还有可能声明界面,枚举类型和结构体。必须使 用 using 关键字来引用其他命名空间的内容。 拥有比 java 和 C/C+更为广泛的数据类型 与 COM 的集合,C#对 Windows 程序最大的卖点可能就是它与COM 的无缝集成了, COM 就 是微软的 Win32 组件技术.实际上,最终有可能在任何 .NET 语言里编写 COM 客户和服务器端。 C#编写的类可以子类化一个已存在的COM 组件;生成的类也能被作为一个 COM 组件使用,然 东南大学毕业设计(论文)报告第 3 章 . 14 . 后又能使用,比方说, JScript 语言子类化它从而得到第三个COM 组件。这种现象的结果是 导致了一个运行环境的产生,在这个环境里的组件是网络服务,可用任何.NET 语言子类化 。 索引下标, 一个索引与属性除了不使用属性名来引用类成员而是用一个方括号中的数字来 匿名引用(就象用数组下标一样)以外是相似的。 因此我们决定采用Microsoft Visual Studio 2008中的C#语言作为开发工具,使用其中的 Windows窗体应用程序以及基本的控制台程序模块进行本系统的开发和设计。 3.3 数据库开发工具的选择 在确定了开发语言之后,我们需要确定数据库的选择,为了方便输出结果。而现有的数据库 种类繁多。在经过一番查阅之后我了解到数据库是用来存放数据的一种服务器。应该只有大型小 型之分。大型数据库有:oracl、SQL server 小型数据库有:Access、MySQL、BD2 等。在本系统 中由于不需要数据库繁琐的操作,仅限于文件的输出与保存,因此我们采用 Access 作为本系统的 数据库开发工具。AAccess 是微软公司推出的基于 Windows 的桌面关系数据库管理系统(RDBMS), 是 Office 系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块 7 种用来建立数据 库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成 等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码, 就可以完成大部分数据管理的任务。Access 是一种关系型数据库管理系统,其主要特点如下: (1)存储方式单一 Access 管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为 (.mdb)的数据库文件种,便于用户的操作和管理。 (2)面向对象 Access 是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化, 将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对 每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展 方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。 同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。 (3)界面友好、易操作 Access 是一个可视化工具,是风格与 Windows 完全一样,用户想要生成对象并应用,只要使用 鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据 库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 (4)集成环境、处理多种数据信息 Access 基于 Windows 操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大 地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表 打印等可以方便有序地进行。 (5)Access 支持 ODBC(开发数据库互连,Open Data Base Connectivity) ,利用 Access 强大的 东南大学毕业设计(论文)报告第 3 章 . 15 . DDE(动态数据交换)和 OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、 Excel 表格、Word 文档,还可以建立动态的数据库报表和窗体等。Access 还可以将程序应用于网 络,并与网络上的动态数据相联接。利用数据库访问页对象生成 HTML 文件,轻松构建 Internet/Intranet 的应用。 3.4 程序代码设计思想及原则 3.4.1 面向对象编程思想 面向对象设计思想模拟自然界认识和处理事务的方法,将数据和对数据的处理方法放在一起, 形成一个相对独立的整体对象(Object) ,对同类对象抽象出共性,形成类(Class) 。任何一 个类中的数据都只能用本类自有的方法进行处理,并通过简单的接口和外部联系。对象之间通过 消息进行通信。 在面向对象程序发展的早期,软件行业主要集中于研究面向对象的编程(OOP) ,但是对于大 型软件的开发过程,编程只是其中一个很小的部分。面向对象的方法的根本和理性在于它符合客 观世界的组成方式和大脑的思维方式,因此面向对象的思想方法应贯穿软件开发的全过程,这就 是面向对象的软件工程。面向对象的软件工程遵循分层抽象、逐步细化的原则,软件开发过程包 括面向对象分析(Object Oriented Analysis,OOA) 、面向对象设计(Object Oriented Design,OOD) 、面向对象编程(OOP) 、面向对象测试(Object Oriented Test,OOT) 、面向对象 维护(Object Oriented Soft Maintenance, OOSM)5 个阶段。经过这 5 个阶段的软件程序进入 运行的维护期,即投入使用12。 3.4.2 事件驱动程序设计思想 由于本次设计的是地铁收费数据模拟生成系统,因此需要将输出文件事件的驱动设计清楚,并且 在计费的过程中,会产生很多计费数据,这些数据和 Access 的接口也需要注意。 3.4.3 软件代码设计原则 由于 MIS 软件的最终目的是要用户使用,为此存在着许多衡量一个 MIS 软件好坏的标准。一 般来说,这些程序设计的标准形成一些设计原则,通常从正确性、健壮性、可维护性、可用性、 可重用性、效率和编制文档等方面定义。 3.4.4 软件界面设计原则 用户界面又称人机界面,是使用者和计算机联系的中间媒介,也是应用程序中最重要、最关 键的部分之一。用户界面的质量直接关系到软件系统的性能能否发挥,能否使用户高效率地工作。 为了设计出友好的用户界面,必须遵循以下的界面设计原则14: 1可靠性 用户界面提供的环境首先应是高可靠、少出错及容错性好。用户界面对用户的每个输入都应 做出适当的响应,并且能容忍用户操作上的失误。用户操作出错时,应以一致的方式与用户通信, 东南大学毕业设计(论文)报告第 3 章 . 16 . 提供易操作的改正错误的机制,以便用户可以立即恢复到正确状态下重新操作。用户界面应可以 检测用户错误,屏蔽输入错误,防止错误在运行中蔓延。用户界面还应能容忍系统内部某些部分 可能发生的错误。一旦出错,用户界面应能最大可能的支持连续一致的用户响应。 2简单性 简单性是设计人机界面的基本原则之一,其主要目的是降低环境复杂度,防止人的信息超载, 提高工作效率。用户界面简单性主要包括输入和输出简单性。输入的简单性是指用户输入的信息 应尽量简单,设置缺省,减少击键的频度和难度,最大限度地减少用户短时记忆和操作的负担。 输出简单性是指屏幕显示的输出信息应以简单和易理解的形式出现,例如:选择图形方式输出。 用户界面的简单性还体现在一致性方面,所有的命令语言有相同的结构,命令语言使用的相 同关键词所代表的意义相同。整个系统采用统一风格与用户对话。 3易学习和易使用性 用户界面应提供多种学习和使用方式,必须相当灵活以适用所有的用户。并且,用户界面应 极大的方便用户,在所有用户需要的地方都可以提供帮助。帮助包括对系统功能提示、操作方法 提示、运行状态提示和错误处理提示。易学习和易使用原则要求用户界面工作方式必须与人的理 解、记忆、通信和解决问题方式兼容。 4立即反馈性 一个友好的界面应对用户的所有输入都立即做出反馈。其中需要特别注意的是:不论系统给 予用户的反馈信息多么简单,重要的是,要告诉用户要求他做的每项操作。当系统进行长时间处 理时,用户界面应提供用户等待信息及系统运行状态信息,避免用户对系统运行状态不了解而引 起失误。 在交互软件开发过程中,运用上述原则指导友好用户界面的开发,将有助于摆脱用户界面设 计的盲目性,有利于用户界面及整个软件产品质量的提高。 3.5 模拟收费数据生成系统程序设计举例 由于系统模块较多,本文以登陆模块,计费与参数设置功能模块,文件输出功能模块为例, 分别给出了这三个模块的界面介绍以及部分代码实现片段。 3.5.1 登陆模块 1、界面介绍 由于本系统是面向管理员和决策者进行分析数据的一款软件,因此需要设置登陆模块对操作人员 进行辨别,只有具有管理员权限的 ID 才能对系统进行访问。在此没有设置过多的参数和控件,仅 在系统内部定义好了管理员用户名和密码,以便今后的扩展。 东南大学毕业设计(论文)报告第 3 章 . 17 . 2、代码实现 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace station public partial class Form2 : Form public Form2() InitializeComponent(); private void Form2_Load(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) if (textBox1.Text = “ | textBox2.Text = “) MessageBox.Show(“请输入用户名密码!“); return; if (textBox1.Text != “admin“ textBox1.Text = “; textBox2.Text = “; 东南大学毕业设计(论文)报告第 3 章 . 18 . return; else Form1 fm1 = new Form1(); fm1.Show(); this.Hide(); 3.5.2 计费与参数设置模块 1、界面介绍 本模块为系统的主界面,包含了参数的设定,费用的计算以及数据的产生几个功能。 2、代码实现 (1)参数设置功能 东南大学毕业设计(论文)报告第 3 章 . 19 . private void radioButton18_CheckedChanged(object sender, EventArgs e) if (radioButton26.Checked) label8.Text = radioButton18.Text; else if (radioButton27.Checked) label7.Text = radioButton18.Text; private void radioButton17_CheckedChanged(object sender, EventArgs e) if (radioButton26.Chec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论