MFC库中的所有类形成了建立应用程序的框架,利用这些类可以充分支持Windows应用程序开发。构建MFC库的主要目的是为方便Windows应用程序的开发和设计。正是由于MFC编程方法充分利用了面向对象技术的优点,它使得编程时极少需要关心对象方法的具体实现细节,同时类库中的各种对象的强大功能足以完成设计任务中的绝大部分,这使得应用程序设计中,程序员所需编写的代码大为减少,有力地保证了程序的良好的可调试性。MFC是一个框架式类库,框架式类库同一般的类库的不同之处在于,库中的各个类之间是有联系的它们是按照框架所定义的模式去协作完成任务的。
总之,MFC封装了Win32API,OLEAPI,ODBCAPI等底层函数的功能,并提供更高一层的接口,简化了Windows编程。同时,MFC支持对底层API的直接调用。MFC提供了一个Windows应用程序开发模式,对程序的控制主要是由MFC框架完成的,而且MFC也完成了大部分的功能,预定义或实现了许多事件和消息处理,等等。框架或者由其本身处理事件,不依赖程序员的代码;或者调用程序员的代码来处理应用程序特定的事件。MFC是C++类库,程序员就是通过使用、继承和扩展适当的类来实现特定的目的。例如,继承时,应用程序特定的事件由程序员的派生类来处理,不感兴趣的由基类处理。实现这种功能的基础是C++对继承的支持,对虚拟函数的支持,以及MFC实现的消息映射机制。
2.1.3 技术可行性
系统采用菜单式,实现用户与数据库的交互,界面简洁友好,操作方便。
2.2 需求分析
需求分析是软件设计的一个重要的环节。本阶段对订票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。用户对系统的需求我们从以下几方面进行分析。
2.2.1 功能需求
本软件应具备如下功能:
1.Djikstras算出最短路径
根据输入的起始点和终点算出可达的最短路径
2.显示路况
要求能显示出各个路段的实时路况信息
3.自己的算法
要求能根据输入的起始点和终点用自己的算法算出最短路径
4.增加路况
能增加指定路段的路况信息
2.2.2 数据需求
数据需求,即在系统中需要处理哪些数据。根据出租车路径规划系统的分析,本系统的信息需求如表2-1所示。
表2-1信息需求表
信息输入 信息处理 信息输出
用户输入起始点和终点 检索系统数据 符合用户需求的最短路径
2.2.3 性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。
1.准确性和及时性
系统处理的准确性和及时性是系统的必要性能。系统应能及时而且准确的根据用户权限及所输入的信息做出响应。由于本系统的增加路况信息决定了自己算法的实现,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。
2.易用性
本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。
2.2.4 数据逻辑
为了实现路径的生成,在图中标注了39个点,每个点都有自己的坐标,还用邻接矩阵存储了各个路段的距离以及路况信息。代码如下:
pot[0].x=583;pot[0].y=380;//A pot[1].x=480;pot[1].y=374;//B VC出租车路线规划算法Dijkstra设计(4):http://www.751com.cn/jisuanji/lunwen_2100.html