驾驶员考试系统的设计与实现

上传人:仙*** 文档编号:104574205 上传时间:2022-06-10 格式:DOC 页数:54 大小:642KB
返回 下载 相关 举报
驾驶员考试系统的设计与实现_第1页
第1页 / 共54页
驾驶员考试系统的设计与实现_第2页
第2页 / 共54页
驾驶员考试系统的设计与实现_第3页
第3页 / 共54页
点击查看更多>>
资源描述
摘 要随着生活水平的提高,学车的人越来越多,在竞争越来越激烈的今天,人们的生活工作节奏也在急剧加快。电脑辅助教学作为一种新的教学方式正受到越来越多的重视。不管是学校还是培训中心都大量使用电脑来辅助教学,使学校的教学工作规范高效率,最大限度地节约成本。在此,我将建立一个典型的人性化设计的驾驶员考试系统,讲述如何采用电脑作为一种教学工具来提高我们的教学效率、降低教学成本。驾驶员考试系统具有许多功能,具体包括:打开考试设置模块,它包括数据库维护,考试范围设置,考试参数设置;关闭考试设置模块,它包括模拟考试,关于我们,系统帮助,退出系统等,通过ADO来访问数据库。该系统可以对参加考试的人员进行知识测试。软件界面友好美观,且有详细的帮助信息,方便用户使用,该系统还可以自动判断答案的对错,统计成绩,减轻考试人员压力,提高工作效率。系统开发过程遵循调查研究、可行性分析、需求分析、系统设计和系统实施、测试六个主要阶段来对系统进行开发。在开发工具的选择上,主要选用Delphi7.0作为前台开发工具,选用SQL Server 2000作为后台数据库,从而保证了数据的完整性与一致性。论文主要从可行性分析、需求分析、系统设计、系统实施与测试等几个方面对驾驶员考试系统进行介绍。关键词:考试系统;Delphi;SQL Server;ADO AbstractLearn the person of the car along with the exaltation of the living level more and more, Be competing more and more vigorous today, people of living work rhythm also in the nasty play speed.The CAI conduct and actions a kind of new teaching method is be subjected to value more and more.Ignore is a school or a training centers are all a great deal of to use a computer to come to extended education, make the teaching of the school work the norm is high-efficiency, economizing cost with maximum limit.Here, I examine the pilot who build up a humanization of typical model to design to system, relate how adopt the computer conduct and actions a kind of teaching tool to raise our teaching efficiency and lower teaching cost.The pilot examines system to have multi-function, concretely include:Open the examination constitution mold piece, it includes the database maintenance, examining the scope constitution, the examination parameter constitution;Close the examination constitution mold piece, it includes simulated test, concerning us, the system help, withdraw system etc. Come to visit to ask a database through an ADO.That system can carry on a knowledge test towards take examinations of personnel.The software interface amity beauty, and have a detailed help information, the convenient customer usage, that system can also judge answer automatically of to wrong, statistics result, ease examination personnels pressure, raise a work efficiency.The system development process follows to investigate the research,viability assessment,need analysis,the system design and the system implement and tests six main stages to come to carry on a development to the system.Mainly choose to use Delphi7 in developping the choice of the tool.0 Be the stage development tool, choose to use the SQL Server 2000 Be the backstage database, promised the integrity and the consistency of the data thus.Thesis mainly a few aspects such as implement and test etc. examine system to carry on introduction to the pilot from the viability assessment,the need analysis,the system design,system.Key words: Examines system; Delphi;SQL Server; ADO目 录第1章 绪 论11.1 系统的开发背景11.2 系统开发的必要性5第2章 可行性分析62.1 技术可行性62.2 经济可行性62.3 操作可行性72.4运行环境可行性7第3章 需求分析83.1 现状的分析83.2 数据需求93.3数据字典93.4业务流程10第4章 系统总体设计114.1模块设计114.2数据库设计124.2.1概念设计134.2.2逻辑设计154.2.3物理设计21第5章系统详细设计225.1界面设计225.1.1主窗体设计225.1.2数据模块设计245.1.3数据库维护模块设计255.1.4考试参数模块设计275.1.5考试范围设置模块设计295.1.6模拟考试模块设计30第6章 系统测试346.1 软件测试概述346.2 测试的步骤356.3系统的具体测试36第7章 结 论37参考文献38致 谢39附 录40第1章 绪 论1.1 系统的开发背景改革开放,市场经济,人、财、物的大流动。使我国汽车工业得到了空前的飞速发展。随着人民生活水平的提高,使我国私人购车以惊人的速度增加。申领机动车驾驶证的人员逐年增多,尽管全国各地陆续新增了许多驾驶员培训学校,但仍不能满足人们学习汽车驾驶技术的需求,有些驾校只顾追求经济效益,放松了培训质量,加之目前的考试方法受人为因素较大,难以做出科学客观的评判,从而影响了驾驶员的培训考核质量,远不能适应道路的快速增长和道路交通安全的需求。以至于有些新学员领到驾驶证后居然不敢开车上路,不仅经常发生交通事故,而且给本来就拥挤的道路造成更加严重的堵塞,同时也带来严重安全事故隐患,人们常戏称新驾驶员为“马路杀手”。本来申领驾驶证,购买新车是非常高兴的事情,但因自身驾驶水平不高,发生交通事故后给自己和他人带来经济和精神上不可挽回的灾难甚至是宝贵的生命。 目前,车辆的大幅度增加和新增许多不合格驾驶员,在现有路况、车况不良,使我国交通事故以惊人的数目增加。例如去年,我国发生交通事故70多万起,死于交通事故的人数超过十万,受伤人数达五十多万,直接经济损失在三十多亿元以上,间接损失更是难以估计。据分析新驾驶员发生事故率约占25%。一起触目惊心的交通事故,一次次血的教训,原因何在?如何降低交通事故?人们在思考,专家在分析,对其原因进行了不懈的探索。针对交通事故的严重性和如何有效抑制交通事故的发生,中央领导同志曾在全国交通安全会议上尖锐指出;我国交通形势非常严峻,影响恶劣,善后工作复杂,在一定程度上影响到社会的安定。要扭转这种局面,必须采用新技术、新装备,引进先进国家成功经验,提高我国现代化交通管理水平。随着计算机技术和相关电子产品的飞速发展,驾驶员考试系统很好的解决了驾驶考核受人为影响因素大,难以做到客观、公正、规范的问题。由于该系统效果显著、规范,该系统取得了明显的社会效益。韩国的类势系统使用时一次考试合格率从70%下降到30%左右,这一结果令主管部门震惊,因为存在人情拿驾照、代考、行贿办照、放松尺度等现象。30%的新司机合格率,说明以前70%的合格率有很大水分,如果水分多了,马路杀手就增多。目前我国现在情况也相似。正处于经济高速增长时期,车辆与驾驶员数量飞速增长,交通问题同样非常严峻。韩国警察厅下决心,一定要把这考试系统严格坚持推广下去,结果第三年考试一次合格率上升到了50%以上,这与推广该系统后学员丢掉侥幸心理刻苦学习分不开的,使每一批源源不断的高标准合格新司机上路,他们遵守交通法规、驾驶技术过硬。通过这系统考核的新司机能够熟练操作,事故率明显降低。将会使我国的交通秩序、驾校学习风气、廉政方面明显好转,交通事故发生率不断下降。因此,建立一个易于操作、稳定性好的驾驶员考试系统对各学员来说尤为重要。系统的开发环境:系统在前台开发语言上选用的是Delphi 7,所用的后台数据库是SQL Server 2000。Delphi是美国Borland开发的可视化软件开发工具,很多人把Delphi称为是第四代编程语言,它具有简单,高效,功能强大等特点,一直是广大程序员喜爱的编程工具。在 Delphi众多的优势中,它在数据库方面的特长显得尤为突出:适合于多种数据库结构,从客户/服务器模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。Delhpi7具有以下新特性:1.集成开发环境的扩展 在专业版和企业版中新增可Indy Intercepts和Indy I/O Handlers组件类,它们提供打开源Internet协议的组件。新增Rave组件类,提供产品应用系统输出报告的组件。新增了IW Standard,IW Data,IW Client Side 和IW Control 类组件,提供用于开发基于Web应用的IntraWeb组件。 新增的组件还有:Dialog类新增了一个TpageSetupDialog组件,为应用程序提供Windows标准页面设置对话框:Additional类组件新增了3个组件,分别是TXPColorMap,TstandardColorMap和TtwilightColorMap,用于为选单和工具条设置颜色;dbExpress 类组件用TsimpleDataSet组件代替了TSQL ClientDataSet组件另外,Delhpi7在编译信息、调试信息和Code Insight等方面也有发展。2.Web技术的扩展(仅限于专业版和企业版) Delhpi7从AtoZed软件公司引入了IntraWeb技术,IntraWeb类组件可使用户以窗体工具的形式使用IntraWeb技术来设计WebBroker,WebSnap以和Web服务器应用程序。 Delhpi7支持Apache 2 Web服务器作为WebBroker,WebSnap和SOAP的目标环境。 Delhpi7还加强了对Web Services的支持,具体表现在:1)提供了一个新的UDDI(Universal Description,Discovery and Integration,统一描述、发现和集成协议)窗口,可以方便地从Web Services进行WSDL文档的导出;2)提供了新类和接口用于向SOAP(Simple Object Access Protocol)封装体中插入标题头,以便在服务器和客户之间进行消息传递;3)为Web Services增加了处理附件(Attachments)的功能。3.数据库技术的增强Delhpi7中新增了名为DBClientActns的单元文件,它包含了3个动作组件,分别是:TClientDataSetApply,TClientDataSeeUndo和TClientDataSetRevert。这3个动作组件用于开发与客户端数据集相关的数据库应用程序。另外,Delhpi7中dbExpress类的组件也有了增强,可以支持Informix S E,Oracle 9i,DB27.2,InterBase6.5和MySQL3.23.49,并增加了1个支持MS SQL2000的驱动器。4.COM的增强Delhpi 7提供了导入类型库的功能,可以为.NET环境创建合作类(CoClass)封装体,这样就可以利用微软.NET框架的互操作特性。5.对开发Linux平台应用程序更强大的支持Delhpi 7装有内建的Linux跨平台支持系统-Borlan Kylin3,它是1个高性能的可视集成开发环境,可快速创建数据库、图形用户接口(GUI)和Linux操作系统的Web服务应用。Microsoft SQL Server2000是由 Microsoft公司开发的,在Microsoft SQL Server的发展历程中,有两版本具有重要的意义。那就是在1996年推出的SQL Server6.5和在2000年8月推出的SQL Server2000版本。6.5版本使SQL Server得到了广泛的应用,而2000版本在功能和易用性上有很大的增强,并推出了简体中文版,它包括企业版,标准版,开发版和个人版4个版本。Microsoft SQL Server2000(简称SQL Server)由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。SQL Server提供了在服务器系统上运行的服务器软件和在客户端运行的客户端软件,连接客户和服务器计算机的网络软件则由Windows NT/2000提供。SQL Server的数据库系统的服务器运行在Windows NT/2000系统上,负责创建和维护表和索引等数据库对象,确保数据完整性和安全性,能够在出现各种错误时恢复数据。客户端应用程序可以运行在Windows9x/NT/2000系统上,完成所有的用户交互操作。将数据从服务器检索出来后,可以生成拷贝,以便在本地保留,也可以进行操作。SQL Server建立于Microsoft Window NT的可伸缩性和可管理性之上,提供了功能强大的客户服务器平台,高性能客户服务器结构的数据库管理系统可以将Visual FoxPro、Visual Basic、Visual C+作为客户端开发工具,而将SQL Server作为存储数据的后台服务器软件。 SQL Server是基于客户机/服务器的数据库管理系统。用户通过使用客户系统从服务器检索信息并进行本地操作,服务器关注数据库进程,而客户则关注信息的表示。 SQL Server使用Transact-SQL语言来维护、实现和访问数据库,Transact-SQL是SQL(Structured Query Language)的一个子集标准。SQL是数据库操作的标准,每个数据库产品均包含其某一版本。 Microsoft SQL Server 2000 的特性包括: 1Internet 集成 SQL Server 2000 数据库引擎提供完整的 XML 支持。它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在 Web 应用程序中包含了用户友好的查询和强大的搜索功能。2可伸缩性和可用性同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。 3企业级数据库功能SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。 4易于安装、部署和使用SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。 5数据仓库SQL Server 2000 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。SQL Server 中还包括一些工具,可用来直观地设计数据库并通过 English Query 来分析数据。1.2 系统开发的必要性传统的教学弊端日趋突出:学员一般都有自己的工作,不能与全日制一样开课,学员一般要求随到随学,学习之后进行学习情况检查,马上知道自己的学习效果。而传统的教学因为采用试卷进行学习情况的检查,不仅驾驶学校要出卷,还要给学员改卷,最后还要给学员评卷。学员一来就得给他上课,各学员的进度又不一样,很多时候基本上是一对一的教学。这样的学习不仅浪费学校的财力、人力,还不能取得令学员满意的学习效果。大量的人力财力就白白浪费在传统教学上,同时还要给学员多开设一门电脑基础课来保障学员能顺利进行交警部门的理论考试。不仅教学效率低,而且教学成本大幅度上升,不利于市场的竞争。因此,为适应发展,驾驶学校需要一个适用于其特殊性的软件,以方便其日常教学工作所用,提高学员的学习效率,减轻教学人员的劳动强度,提高其劳动效率,真正做到解放生产力,创造更多的劳动价值;给驾驶学校更好的宣传,扩大学校的知名度。使学校更规范、科学、高效、有更大的发展潜力。第2章 可行性分析进行可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,而且我们的目的不仅仅是解决问题,还要确定问题是否值得去解决。在可行性分析阶段,我们首先需要进一步分析和澄清问题的定义。在问题定义阶段初步确定的规模和目标,如果是正确的就进一步加以肯定,如果有错误就应该和时改正,如果对目标系统有任何约束和限制,也必须把他们清楚地列举出来。可行性分析主要分为技术可行性、经济可行性、操作可行性和运行环境可行性四个方面。2.1 技术可行性驾驶员考试系统是单机版操作软件,该软件的开发平台是在Windows XP下的Delhpi7与SQL SEVER2000。用一台性能优良的PC机作为开发工具,而且在开发人员背后有着强大的技术支持与庞大的图书馆资料的支持。系统中所需要的功能在Delhpi7与SQL SEVER 2000组建的数据库管理系统中都可以轻松实现。SQL SEVER 2000数据库本身就是大型数据库管理软件,功能强大,最重要的是它具有许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点,可跨越多种平台使用。而且Delhpi7与SQL SEVER 2000组合兼容性好。另外,SQL SEVER 2000除了具有使用方便、可伸缩性好、与相关软件集成程度高等优点以外,还具有可以迅速开发新的因特网系统的功能,这些都充分说明Delhpi7与SQL SEVER 2000是该系统开发的完美结合体。2.2 经济可行性其系统设计充分体现了简洁实用、安全可靠、高集成度、以人为本的先进设计思想和理念。本系统结合中国法规和应用习惯而特别开发;本系统能准确公平的对考试者进行自动评分,能充分体现公平,公正,公开高效的原则。真正提高了学员的学习质量,本系统美观实用。2.3 操作可行性该软件运行环境的要求不高,由于界面友好只要对用户稍加培训甚至不需要培训和可掌握使用方法。因此其在运行操作上是可行的。2.4运行环境可行性软件环境:Windows XP/2000/98,Borland公司的Delphi6.0以上版本,SQL Server2000;硬件环境:CPU: Pentium 3 以上,内存至少128 MB,硬盘空间10GB,显示器800 *600或更高分辨率,普通键盘,一般的3D鼠标即可。第3章 需求分析设计一个性能良好的数据库系统,明确应用环境对系统的要求是首要的基本的。因此,应该把对用户需求的收集和分析作为数据库设计的第一步。 需求分析的主要任务是通过详细调查要处理的对象,包括某个组织、某个部门、某个企业的业务管理等,充分了解原手工或原计算机系统的工作概况和工作流程,明确用户的各种需求,产生数据流图和数据字典,然后在此基础上确定新系统的功能,并产生需求说明书,值得注意的是,新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求老设计数据库。3.1 现状的分析虽然现在处在网络时代,互联网上也有很多用来进行驾驶理论模拟考试的软件,比如“统一驾照模拟考试系统”,程序设计的相当不错,但驾驶学员反映模拟考试后不能够查看自己做错了的题目,不知道哪些题目做错了,不能够将自己做错了的题目有针对性地再练习一次,因此学习效果不是很好;进行出题时速度慢,有时还有重复出题的现象;再有软件虽然提供了很多的功能,但对驾驶学校来说根本用不上,或是有了那些功能反而不好,比如“统一驾照模拟考试系统”中的“有的放矢”因为有的对本软件熟悉的学员在用了之后将他所选的保存了,结果是后面上机的学员因为直接进了前一个考生的练习环境,有很多考试题库没有练习到,影响了学习进度。当然,网上还有其它的驾驶考试软件,但都存在这样或那样的不足,或都是针对大众的,没有一款完全适用于我们当地的情况;或是有某些较好的软件,但因为不能修改软件,使用的同时又在给别人做宣传。这对学校的宣传,品牌效应有一定的影响。如果有一款为驾驶学校量身定做的驾驶理论教学的软件,将会给驾驶学校带来巨大的经济效益,同时还会带来很大宣传效应性能需求在使用Delphi7软件,它以组件化的编程方式、面向对象的程序设计、快速的Pascal编译器,众多的作践和强大的数据库和网络应用开发支持。另外,Windows XP系统不容易出现死机,不会让用户输入一半数据的时候出现数据丢失。这样的稳定性正是用户所希望的。3.2 数据需求 因为一个软件系统本质上就是一个信息处理系统,它通过输入的数据信息决定应该执行哪一部操作,而且系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,所以,必须分析系统的数据要求,这是软件需求分析的一个重要任务。3.3数据字典数据字典是结构化设计方法的另一个工具,它用来对系统中的各类数据进行详尽的描述。对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要成果。数据字典中的内容在数据库设计过程中还要不断的修改、充实和完善。为了对数据流程图中的各个元素做出详细的说明,有必要建立数据字典。数据字典是结构化设计方法的另一个工具,数据字典主要从数据项、数据结构、数据流、数据存储、处理过程五个方面对数据流程图进行具体的定义。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。另外,数据字典的内容在数据库设计过程中还要不断的修改、充实、完善。 3.4业务流程首先,在数据库中输入各个科目的考试题,在测试前设置考试参数,然后进行测试,交卷后可以查看成绩和答题情况,驾驶员考试系统业务流程如图3.1所示。图3.1业务流程图第4章 系统总体设计系统设计是软件开发的最重要阶段。它是保证软件质量的重要步骤,是把用户需求准备转化为软件产品的唯一途径,是后续开发步骤和软件维护工作的基础,系统设计是一个把软件需求转化为软件表示的过程。系统总体设计的基本任务包括:模块设计和数据库设计。4.1模块设计模块是数据说明、语句等程序对象的集合,单独命名而且可通过名字来访问,如过程、函数、子程序、宏等都可以作为模块。模块化是把程序划分成若干模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,可以完成只能功能,满足问题的需求。采用模块化的原理可以使软件结构清晰,既容易设计 也容易阅读、理解和修改。其原因有三:1.程序错误常局限在 有关模块和其接口中;2.修改错误只会涉和少数模块;3.可以由许多程序员同时协同完成大型程序。降低了系统的复杂性,使得系统容易修改,推动了系统各个部分的并行开发,从而提高了软件的生产效率。程序结构表明了程序各个模块的组织情况,一般是树状结构,蕴涵了程序控制上的层次关系。位于最上层根部的是顶层模块,它是程序的主模块。与其联系的有若干下属模块,受其控制和调用。各个下属模块可以有自己的下属模块。本系统主要划分为以下几个模块如图4.1所示。1.数据库维护模块:可以完成考试题的添加、修改、删除等功能;2.考试参数设置模块:可以对考试相关参数进行设置;3.考试范围设置模块:可以设置考试科目;4.模拟考试模块:可以进行测试; 图4.1系统功能模块4.2数据库设计数据库的设计是很关键的一步。只有把数据库设计好,系统才能发挥其强大的功能数据库设计是指针对一个给定的应用环境,构造最优的数据库环境,建立数据库和其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库设计包括静态数据模型即模式与子模式的设计称为数据库的结构设计;和在模型上的动态操作即应用程序设计称为数据设计。数据库数据合理存储和组织的核心是构造设计一个科学的关系模式,使它能够准确地反映现实世界实体本身以和实体与实体之间的联系,最大限度地减少数据冗余等。范式(Normal Form,NF)的概念和关系模式的规范化问题是由E.F.Codd提出的,从1971年到1972年,E.F.Codd系统地提出了1范式、2范式、3范式的概念。如果一个关系模式,它的每一个分量是不可分的数据项,则此关系式为第一范式。如果一个关系模式属于第一范式,并且每一个属性都完全依赖于其主码,则称该关系为第二范式。如果一个关系模式为第一范式,同时不存在非主属性对码的传递依赖,则称为第三范式。数据库一般都遵循软件的生命周期理论,分为6个阶段进行:1.需求分析这一阶段主要是与系统用户相互交流,了解他们对数据的要求和已有的业务流程,并把这些信息用数据流图和数据字典等图表或文字的形式记录下来,最终与用户对系统的信息要求和处理要求取得一致认识。2.概念设计概念设计阶段要对需求分析中收集的信息和数据进行分析和抽象,确定试题、属性和它们之间的联系,将各个用户的局部视图合并成一个总的全局视图,形成独立于计算机的反映用户需求的概念模型。概念模型是数据库结构的高级描述,独立于用来实现数据库的特定的DBMS。一般地说概念设计的目的是描述数据库的信息内容。3.逻辑设计逻辑设计是在概念模型的基础上导出数据库的逻辑模型。逻辑模型是可被DBMS所处理的数据库逻辑结构。它包括数据项、记录、和记录间的联系、安全性和一致性约束等等。导出的逻辑结构是否与概念模式一致,从功能和性能上是否满足用户的要求,要进行模式评价。如果达不到用户要求,还要反复、修改或重新设计。4.物理设计 在物理设计阶段根据DBMS的特点和处理需要,进行物理存储的安排,建立索引,形成数据库的内模式。5.数据库的实施数据库的实施阶段是建立数据库的实质性阶段,在该阶段将建立实际数据库结构,装入数据、完成编码和进行测试,最终使系统投入使用。6.数据库的运行和维护使用和维护阶段是整个数据库生存期中最长的时间段。在该阶段设计者需要根据系统运行中产生的问题和用户的新需求不断完善系统功能和提高系统的性能,以延长数据库使用时间。4.2.1概念设计概念设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象 一个不依赖于任何具体机器的数据模型。概念设计的主要特点:1.是对现实世界的抽象和概括,它真实、充分地反映了现实世界中事物和事物之间的联系,能满足用户对数据的处理要求。 2.简洁、明晰、独立于机器,很容易理解。使用户能积极参与数据库的设计工作,保证设计工作顺利进行。 3.易于更新,当应用环境和应用要求改变时,容易对概念模型修改和扩充。4.容易向关系、网状、层次等各种数据模型转换。实体关系如图4.2、图4.3、图4.4、图4.5所示。图4.2考试科目实体属性图 图4.3考试参数设置实体属性图图4.4热键设置实体属性图图4.5管理条理实体属性图4.2.2逻辑设计概念结构设计所得的ER模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。为了能够建立起最终的物理系统,我们还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。这就是数据库逻辑设计所要完成的。本系统所用数据表如表4.1所示,详表如图4.6、图4.7、图4.8、图4.9、图4.10、图4.11、图4.12、图4.13、图4.14、图4.15、图4.16、图4.17、图4.18、图4.19、图4.20、图4.21、图4.22、图4.23、图4.24所示:表4.1驾驶远考试系统数据表表名称功能描述chi_bio中华人民共和国交通管理条例科目表cli_bio车辆管理科目表dan_bio危险物品运输科目表gao_bio高速公路交通管理办法科目表goz_bio汽车构造科目表gua_bio机动车管理办法科目表jia_bio交通标志标线科目表jiu_bio救护相关知识科目表jsz_bio驾驶证管理科目表muo_bio摩托车知识科目表pan_bio号牌管理科目表saf_bio安全常识科目表shi_bio道路交通处理办法科目表hot_bio快捷键设置表pka_bio判断题考试表xka_bio选择考试题表zhe_bio增考题tre_bio考试科目表的索引par_bio考试参数表图4.6考试科目表的索引表图4.7考试参数设计表图4.8热键设置表图4.9中华人民共和国道路交通管理条例科目表图4.10高速公路交通管理办法科目表图4.11车辆管理科目表图4.12危险物品运输科目表图4.13汽车构造科目表图4.14机动车管理办法科目表图4.15交通标志线科目表图4.16救护相关知识科目表 图4.17驾驶证管理科目表图4.18摩托车知识科目表图4.19号牌管理科目表图4.20判断考试题表图4.21安全常识科目表图4.22道路交通事故处理办法科目表图4.23选择考试题表图4.24增考表4.2.3物理设计数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。数据库的物理设计通常分为两步:1.确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;2.对数据结构进行评价,评价的重点是时间和空间效率。第5章 系统详细设计在详细设计阶段,要根据总体设计对每个模块的定义进行设计,以实现指定的功能、算法和外部接口所要求的模块的内部的数据结构和程序的逻辑结构。详细设计阶段的后续阶段是编码。在编码阶段,根据详细设计阶段的程序逻辑结构设计程序,因此编码阶段并不困难,重点是详细设计阶段。由于在总体设计阶段已经定义好了各模块的功能、外部接口和主要算法,所以详细设计的重点在于如何描述程序的逻辑结构。只有有了好的详细设计,才能设计出可维护性好、质量好的软件。5.1界面设计人-机界面是软件开发环境重要组成部分,人-机界面的好坏直接影响软件系统的质量。人-机界面引导和帮助用户更好地使用软件系统的功能。如图5.1所示。5.1.1主窗体设计图5.1主界面驾驶员考试系统主窗体“关闭考试设置”层单击“关闭考试设置”按钮,设置Panel4组件的Align属性,使其遮盖后一层按钮。其代码如下:procedure TF_main.SpeedButton8Click(Sender: TObject);begin Panel4.Align:=alclient; speedbutton8.Enabled:=False; speedbutton7.Enabled:=True;end;单击“模拟考试”按钮,系统提示是否恢复上一次考题,用户单击“是”按系统打开上一次的考题,单击“否”按钮,使用SQL DELETE语句删除上一次考题,根据考试设置中的参数进行选题,并建立两份考题:一份是选择题,一份是判断踢。用户可以在考试中切换。其代码如下:procedure TF_main.SpeedButton11Click(Sender: TObject);var sj,i,rcount,prcount:integer;beginrandomize; if application.MessageBox(是否恢复上一次的考题?,提示!,mb_yesno)=7 then/7为按下NO 按钮begin删除考试数据库 with datamodule3.xkaoqy do begin close; sql.clear; sql.add(delete from xka_bio); execsql; end;if trim(datamodule3.parse.DataSet.Fields1.AsString)=1 then/1为在参数表中设置的随机出题 for i:=0 to sj do/随机查找记录 datamodule3.carqy.Next else datamodule3.carqy.Next; prcount:=datamodule3.pkaose.DataSet.RecordCount; end; end; datamodule3.treeqy.Next; end; if datamodule3.pkaose.DataSet.RecordCountstrtoint(trim(datamodule3.parse.DataSet.Fields4.AsString) then application.MessageBox(判断题库题不够。,提示,mb_ok); end;end; Application.CreateForm(TF_kao,F_kao); F_kao.ShowModal; F_kao.Free;end;在主窗体显示时,对TSTATUSBAR组件面板显示内容进行初始化。其代码如下:procedure TF_main.FormShow(Sender: TObject);begin statusbar1.Panels1.Text:=今天日期:+datetostr(date(); speedbutton8.Enabled:=false;end;当鼠标移动到TSPEEDBUTTON组件上时字体颜色变红。其代码如下:procedure TF_main.SpeedButton11MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin if (60x) and (x140) and (20y) and (y 30) then Speedbutton11.Font.Color:=clred else Speedbutton11.Font.Color:= clblack;end;5.1.2数据模块设计 数据模块用来集中管理数据库组件。通常和数据库访问有关的组件放置在数据模块中,这样可以集中管理,提高编程效率。如图5.2所示。图5.2驾驶员考试系统数据模块5.1.3数据库维护模块设计数据库维护模块可以完成考试题的添加、修改、删除等功能。如图5.3所示。 图5.3数据库与维护界面处理TTREEVIEW组件的单击事件,通过索引号查找用户在TTREEVIEW组件中选择的表,并将数据显示在TBGRID组件中,代码如下:procedure TF_dbc.TreeView1Click(Sender: TObject);var selectindex:integer;begin selectindex:=treeview1.Selected.Index;/被选择科目节点的索引号 with datamodule3 do begin treese.DataSet.First; while (datamodule3.treeqy.Eof=False) do begin if (selectindex)=strtoint(trim(treese.DataSet.Fields1.AsString) then begin con_bio:=trim(treese.DataSet.Fields3.asstring);/con_bio为当前操作的表名 carqy.Close; carqy.SQL.Clear; carqy.SQL.Add(select*from+ +con_bio); carqy.Open; label1.Caption:=当前操作表:+treese.DataSet.Fields0.asstring; dbgrid1.Columns0.Title.caption:=编号; dbgrid1.Columns1.Title.caption:=题目; dbgrid1.Columns2.Title.caption:=选项A; dbgrid1.Columns3.Title.caption:=选项B; dbgrid1.Columns4.Title.caption:=选项C; dbgrid1.Columns5.Title.caption:=选项D; DBGrid1.Columns6.Visible := False;/不显示此字段 dbgrid1.Columns7.Title.caption:=答案; Dbgrid1.Columns8.Visible:=False; dbgrid1.Columns1.Width:=100; dbgrid1.Columns2.Width:=100; dbgrid1.Columns3.Width:=100; dbgrid1.Columns4.Width:=100; dbgrid1.Columns5.Width:=100; break; end; datamodule3.treeqy.Next; end; end;end;5.1.4考试参数模块设计考试参数模块主要是对考试相关参数进行设置,该模块可以在“热键设定”选项卡中对考试的相关热键进行设置,在“考试参数设定”选项卡中可以对考试时间、每题的分数、出题数量、选题方式进行设置。如图5.4、图5.5所示。图5.4参数设置“热键设定”页图5.5参数设置“考试参数设定”页读取数据库中的设置值并显示在编辑框中,代码如下:procedure TF_par.FormShow(Sender: TObject);begin With Datamodule3.parse.DataSet do begin Edit1.Text:=Fields0.AsString; Edit2.Text:=Fields3.AsString; Edit3.Text:=FIelds4.AsString; Edit4.Text:=Fields5.Asstring; Edit5.Text:=Fields1.AsString; end; With datamodule3.hotse.DataSet do begin Edit6.Text:=Fields7.AsString; Edit7.Text:=Fields8.AsString; Edit8.Text:=FIelds9.AsString; Edit9.Text:=Fields10.Asstring; Edit10.Text:=Fields0.AsString; Edit11.Text:=Fields1.AsString; Edit12.Text:=Fields2.AsString; Edit13.Text:=FIelds3.AsString; Edit15.Text:=Fields6.AsString; end;end;将用户设定的值写入数据库中,代码如下:procedure TF_par.SpeedButton2Click(Sender: TObject);begin Datamodule3.hotqy.Edit; With datamodule3.hotse.DataSet do begin Fields7.AsString:=Trim(Edit6.Text); Fields8.AsString:=Trim(Edit7.Text); FIelds9.AsString:=Trim(Edit8.Text); Fields10.Asstring:=Trim(Edit9.Text); Fields0.AsString:=Trim(Edit10.Text); Fields1.AsString:=Trim(Edit11.Text); Fields2.AsString:=Trim(Edit12.Text); FIelds3.AsString:=Trim(Edit13.Text); Fields6.AsString:=Trim(Edit15.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!