青岛理工大学数据库系统课程设计院(系):计算机工程学院专业:软件工程姓名:任伟伟班级:软件081学号:200807187题目:汽车站售票管理系统起迄日期:_2011.1.3~2011.1.14_设计地点:2号实验楼402指导教师:张艳目录第1章前言..........................................................11.1课题背景.......................................................11.2开发工具.......................................................11.2.1MFC简介..................................................11.2.2C++简介...................................................11.2.3SQLServer2000数据库....................................1第2章需求分析........................................................22.1任务概述.......................................................22.1.1系统目标..................................................22.1.2用户特点..................................................22.2系统的功能需求.................................................22.2.1系统角色功能需求..........................................22.2.2功能模块..................................................22.4数据需求.......................................................2第3章系统总体设计...................................................33.1系统功能设计...................................................33.1.1系统总体模块..............................................3第4章数据库设计.....................................................44.1数据库概念设计.................................................44.2逻辑设计.......................................................54.2.1表汇总....................................................54.2.2表逻辑结构设计............................................5第5章详细设计.......................................................75.1程序结构的设计..................................................7第6章系统总结......................................................166.1总结..........................................................166.2系统不足......................................................16第7章参考文献......................................................14第1章前言1.1课题背景1.2开发工具本系统利用VC++6.0MFC来设计前台页面,采用C++语言编写后台代码,以MicrosoftSQLServer2000作为后台数据库,选用ADO访问数据库来实现各种功能。1.2.1MFC简介从物理角度看,MFC是一个可以控制计算机及其系统的类库,是windows系统目录下的一系列mfc*.dll文件;从逻辑角度看MFC是一个以C++类的层次形式组织面向对象的应用程序框架,程序员可以使用这一框架创建Windows应用程序。1.2.2C++简介C语言之所以要起名为“C”,是因为它是主要参考那个时候的一门叫B的语言,它的设计者认为C语言是B语言的进步,所以就起名为C语言;但是B语言并不是因为之前还有个A语言,而是B语言的作者为了纪念他的妻子,他的妻子名字的第一个字母是B;当C语言发展到顶峰的时刻,出现了一个版本叫CwithClass,那就是C++最早的版本,在C语言中增加class关键字和类,那个时候有很多版本的C都希望在C语言中增加类的概念;后来C标准委员会决定为这个版本的C起个新的名字,那个时候征集了很多种名字,最后采纳了其中一个人的意见,以C语言中的++运算符来体现它是C语言的进步,故而叫C++。1.2.3SQLServer2000数据库SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的一个版本。该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。第2章需求分析2.1任务概述2.1.1系统目标本系统需要满足以下几个系统设计目标。⑴实用性原则:真正为用户的实际工作服务⑵友好性原则:本程序管理系统面向的用户是火车票售票点的管理员以及用户,所以系统操作上要求简单、方便、快捷,便于用户使用。2.1.2用户特点本系统面向火车售票的管理员,以及对订票退票的客户。2.2系统的功能需求2.2.1系统角色功能需求本系统有两种角色:客户,管理员。详细划分如下:⑴客户:订票,退票,查询汽车时刻表,登陆订退票系统。⑵管理员:登陆,查看总汽车信息,添加、删除、修改、查询单次汽车。2.2.2功能模块本系统主要负责管理模块,各个子模块功能需求如下:⑴汽车信息管理功能模块需求:管理员可以查询任意汽车信息,并可以对汽车表进行添加删除修改。⑵汽车时刻信息查看模块:能查看现有线程的发车信息。⑶客户订票模块:用户登录,查看汽车信息,输入线程,票数进行订票并记录在案。⑷客户退票模块:用户登录,输入线程,退票数,退票,显示结果,退出。2.4数据需求通过对系统功能需求的分析,可以初步确定系统的基本数据需求。由各个功能模块可以进一步确定具体的数据需求,具体的数据需求如下:⑴汽车信息管理功能模块数据需求该模块主要管理汽车信息,需要表示汽车信息的数据,应包含:线程,汽车类别,座位数量,发车时间,单价,管理员名,密码。⑵汽车时刻信息查看模块数据需求主要包含线程,汽车发车时间⑶客户订票模块:用户帐号,密码,线程,车票数量,汽车类别,座位数量,发车时间,单价⑷客户退票模块:用户帐号,密码,线程,车票数量第3章系统总体设计3.1系统功能设计3.1.1系统总体模块火车票售票系统分为汽车信息管理子系统和客户订退票子系统,其中客户订退票子系统又分为:订票模块,退票模块,查看时刻表模块。火车票售票系统客户订退票子系统汽车信息管理子系统订票模块退票模块查看时刻表模块添加线程信息修改线程信息删除线程信息用户登陆订票用户登陆退票第4章数据库设计4.1数据库概念设计本系统根据数据需求分析规划出的实体有:汽车表,管理员,客户,时刻表。1)汽车对应的实体属性线程,汽车类别,座位数量,发车时间,单价2)管理员对应的实体属性3)客户对应的实体属性4)系统E-R图管理员帐号密码汽车线程汽车类别座位数量单价发车时间客户帐号密码姓名登陆状态该系统的主要实体关系有:管理员管理汽车表,客户查看汽车时刻表,客户订购汽车表中的线程。4.2逻辑设计4.2.1表汇总表名简要说明carsinfor汽车信息表,存放汽车的基本信息client客户信息,存放客户信息dinggou存放客户订购的信息manager存放管理员信息4.2.2表逻辑结构设计(1)carsinfor表列名数据类型可否为空carscodechar可为空carskindchar可为空carsamountint可为空pricefloat可为空carstimechar可为空(2)client表列名数据类型可否为空M管理员帐号密码汽车线程汽车类别座位数量单价发车时间客户帐号密码姓名登陆状态订购Ncidchar可为空cnamechar可为空caddresschar可为空cpasswordchar可为空cflgchar可为空(3)dinggou表列名数据类型可否为空lcarskindchar可为空lcarscodechar可为空lcarsamountint可为空allpriceint可为空carstimechar可为空lcidchar可为空lcnamechar可为空(4)manager表列名数据类型可否为空usernamechar可为空passwordchar可为空第5章详细设计5.1程序结构的设计在第三章各个功能模块有:管理员登陆模块,用户订票模块,用户退票模块,管理员管理汽车信息模块。(1)管理员登陆模块是开始输入用户名和密码在数据库中查找该管理员信息验证用户名和密码是否正确进入汽车管理系统结束否开始结束(2)用户订票模块否输入用户名和密码开始在数据库中查看用户信息验证是否正确提示用户名或密码错误否是输入线程,订票数量在数据库中查看信息验证是否有此线程,剩余票数是否足够?提示五次线程,或票数不足是(3)用户退票模块记录信息,修改相应数据结束是否退出?否是注销登录并退出开始输入用户名密码在数据库中查看信息是N验证用户名和密码是否正确否输入要退票的线程和数量登陆成功查看数据库是否由此条记录否退票数是否符合要求NY记录信息修改数据库数据显示成功退票是否退出注销登陆结束Y(4)管理员管理汽车信息模块管理员管理汽车信息,可以分为添加,修改,查找。添加:Y开始刷新列表输入要添加的线程信息信息是否完整提示信息不完整N将信息添加至数据库刷新列表是否继续添加?Y是否退出?NY执行其他操作结束退出界面修改:开始刷新列表输入要修改的线程信息数据库中是否有此线程信息无此记录N修改数据库中数据刷新列表是否继续修改YY是否退出?结束执行其他操作NNY退出界面删除:开始刷新列表输入要删除的线程数据库中是否有次线程信息从数据库中删除此线程信息无此记录NY是否继续删除刷新列表Y是否退出N执行其他操作NY结束退出界面第6章系统总结6.1总结本系统在windowsXP下,利用VC6.0和SQLSever2000进行设计,实现了管理员对火车列次信息的管理和顾客订票售票的功能。管理员管理火车列次信息的功能如添加,删除,修改等,并讲所做出的的改动永久记录在数据库中。顾客可对信息表中的汽车信息进行查询,但无修改权限,并进行订票,订票后还可以进行退票,并改动数据库中数据。实际系统基本做到了管理,订票,退票的功能,能较好的完成一系列操作。6.2系统不足对同一客户多次订购同一列次不能够进行统计,造成退票时有时会产生错误。应该添加更多的数据项,如地点,可以让汽车经过不同的地点,可根据地点,订票的价格有