1、 为便于旅客由旅行社代替铁路局把预定车票的旅客信息,包括身份证号码、身高、年龄、旅行时间、旅行目的地,输入火车票预定系统的客户端程序,系统经过查询管理系统内的车次数据服务器后,为旅客安排车次。系统校对无误后即印出车票给旅客。如果某方面出现问题,旅客可以持有效证件去火车站退票。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。3.3 数据字典与流程图经过可行性分析和初步需求调查, 抽象出该系统业务流程图, 结合该实例具体情况,给出旅客信息、车票信息的具体需求。去火车站买车票去售票窗口买窗口核对相关确认乘车车次票信息打印车票图 1 旅客购票流程图3.3.1 调查用户需求3.3.1.1 火
2、车站办公需求功能:旅客持个人证件去火车站购买车票。 希望能通过旅客车票查到该旅客的车票编号及基本信息。 统计功能:按车票统计买票人数3.3.1.2 旅客购票需求交费功能:交费、退费3.3.1.3 车次信息需求查询功能: 车次号 (始发站、终到站、发车时间)3.4 系统框架在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法( SA 方法)。首先,定义全局概念结构的框架,如图 2 所示。火车票管理系统乘客信息系车次信息系统退票信息系补票信息系统统图 2 车票管理系统总框架图各子系统需要进一步细化。 旅客信息系统为例进一步细化, 如图3所示。旅客信息系统查询旅客信统
3、计人数息图 3 旅客信息系统细化以其中的查询旅客信息功能为例进一步细化,如图 4 所示。乘客信息身份证号 身高 年龄 工作单位图 4 查询乘客信息功能车次信息车次号 始发站 终到站 发车时间图 5 车票信息系统能查询到的内容退票信息车次号 上车地 下车地 价格图 6 退票信息系统细化补票信息图 7 退票信息系统细化将所有子系统全部细化。 将所有用户需求分析完毕之后, 就要开始构造数据字典了。经分析之后,本系统要用到五个基本表:退票信息表,乘客信息表,车次信息表,补票信息表,车次座位信息表。数据结构定义如表 1 所示。表 1 数据结构定义数据结构名 含义说明 组成定义了乘客退票的有关退票信息 车
4、次,上车地,下车地,价格信息身份证号,年龄,乘客 定义了乘客有关信息定义了车次车次信息表的有关信息定义了乘客补票的有关车票座位息定义了座位有关信息表工作单位,身高车次,始发站,终到站,发车时间车次,上车地,下车地,价格车次,座位号 , 身份证号,车票类型4概念结构设计4.1 概念结构设计的方法与步骤4.1.1 概念结构设计的方法概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。4.1.2 概念结构设计的步骤第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能
5、较好的反映系统中各局部应用的子系统组成。因此我们先逐一的设计分 E-R 图。第二步是进行视图的集成:各子系统的 E-R 图设计好之后,下一步就是要将所有的分 E-R 图合成一个系统的总 E-R 图,一般有两个方式,多个分 E-R 图一次集成, 另一种是一次集成两个分 E-R 图。我想采用一次集成两个分 E-R图的方式。4.2 数据抽象与局部视图设计按照图 2 火车票管理系统总框架图,设计实体属性图以及局部 E-R 图。车次号上车地下车地价格图 9 补票信息实体属性图图 10 退票信息实体属性图身份证号身高年龄工作单位图 11 乘客实体属性图车次图 12 补票实体属性图图 13 车次实体属性图车
6、票类型座位号座位信息图 14 座位实体属性图图 15 乘客购票局部 E-R图图 16 乘客退票局部 E-R图去火车站补票图 17 乘客补票局部 E-R图包含图 18 乘客座位局部 E-R图4.2.1 视图的集成经过逐步细化再进行每两个一集成初步形成一个 E-R 图,最后得到图总体概念结构 E-R图。n退票1乘客m购买1补u车次 价格上车地 下车地始发站 终到站n 车次信息1 发车时间座位号 身份证号图 19 系统总体结构 E-R图5逻辑结构设计5.1 E-R 图向关系模型的转换将图 19 总体概念结构 E-R 图转化成关系模型。乘客(身份证号,工作单位,身高,年龄)车次信息(车次,始发站,终到
7、站,发车时间)退票信息(下车地,车次,上车地,价格)补票信息(上车地,车次,下车地,价格)座位信息(座位号,身份证号,车次,车票类型)5.2 数据模型的优化将转化的关系模式进行优化,最终达到第三范式。1、确定数据依赖乘客信息(身份证号,工作单位,身高,年龄)根据这个关系写出数据依赖身份证号工作单位,身份证号年龄车次信息(车次,始发站,终到站,发车时间)车次始发站,车次终到站,车次发车时间(下车地,车次)上车地, (下车地,车次)价格(上车地,车次)下车地, (上车地,车次)价格座位号身份证号,座位号车次,座位号车票类型2、 对各关系模式间数据依赖进行极小化处理,消除冗余车次始发站,车次终到站,
8、车次发车时间(下车地,车次)上车地, (下车地,车次)价格(上车地,车次)下车地, (上车地,车次)价格座位号身份证号,座位号车次,座位号车票类型3、 看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解最终分解成第三范式:(身份证号,工作单位,年龄) (车次,始发站,终到站,发车时间)(下车地,车次)(下车地,价格)(上车地,车次)(上车地,价格)(座位号,身份证号,车次,车票类型)5.3 数据库的结构给出机票预定系统基本表结构图。Get offGet onTrainTake offdestinatplacenumberpriceiontimeIdagestatusWorkdepar
9、tmentSeatTrain tickettype图 20 各表的结构根据总体结构图设计各表的结构,其相应标的定义如下:表 2 乘客信息系统的结构字段名 数据类型 长度 约束 描述id decimal 20 主键 身份证号age decimal 3 不为空 年龄status varchar 50 不为空 身高Work_departmVarchar 50 工作单位ent表 3 退票信息系统的结构字段名数据类型长度约束描述Trainnumberdecimal5主键Get_on_placevarchar50不为空Get_off_place4表 4 车次信息表系统的结构Take_off_pla始发站c
10、edestination终到站Train_time发车时间表 5 补票通知单系统的结构10000price decimal 1000 不为空 价格表 6 车次座位信息表Seat_number decimal 6 主键 座位号Trainnumber decimal 5 不为空 车次Id decimal 20 不为空 身份证号Trian_ticketvarchar_type6数据库的实施6.1 表的建立与数据的载入CREATE TABLE ADMINISTRATOR.PASSENGER ( ID DECIMAL (20, 0) NOT NULL ,AGE DECIMAL (2, 0) NOT NU
11、LL ,STATAS VARCHAR (50) NOT NULL ,WORK DEPARTMENT VARCHAR (50) ,CONSTRAINT IDNO PRIMARY KEY ( ID) )CREATE TABLE( TRAIN NUMBER DECIMAL (5, 0) NOT NULL ,GET ON PLACE VARCHAR (50) NOT NULL ,TAKE OFF PLACEPRICE DECIMAL (5, 0) NOT NULL ,CONSTRAINT CC PRIMARY KEY ( ) )CREATE TABLE ( VARCHAR (5) NOT NULL ,
12、 VARCHAR(50) NOT NULL, TAKE OFFPLACEVARCHAR(50) NOT NULL, TIME TIME NOT NULL , CONSTRAINT CC PRIMARY KEY ( CREATETABLE ( DECIMAL(5, 0) NOT NULL, GET ONPLACETAKEOFFPLACEVARCHAR(50) NOT NULL, PRICE DECIMAL (5, 0) NOT NULL , CONSTRAINTCC PRIMARYKEY ( TRAINNUMBERSEATNUMBERDECIMAL(6, 0) NOT NULL, DECIMAL (5, 0) NOT NULL , ID DECIMAL (20, 0) NOT NULL , TRAIN SEAT NUMBER VARCHAR (50) NOT NULL , CONSTRAINT CC PRIMARY KEY ( SEAT NUMBER需要明确数据库需要建立几张表,以及每个表中所要包括的属性。在建立表的过程中。要对每个表进行字段属性的设置。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1