飞机订票系统分析与设计Word格式.docx

上传人:b****5 文档编号:20358431 上传时间:2023-01-22 格式:DOCX 页数:26 大小:269.29KB
下载 相关 举报
飞机订票系统分析与设计Word格式.docx_第1页
第1页 / 共26页
飞机订票系统分析与设计Word格式.docx_第2页
第2页 / 共26页
飞机订票系统分析与设计Word格式.docx_第3页
第3页 / 共26页
飞机订票系统分析与设计Word格式.docx_第4页
第4页 / 共26页
飞机订票系统分析与设计Word格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

飞机订票系统分析与设计Word格式.docx

《飞机订票系统分析与设计Word格式.docx》由会员分享,可在线阅读,更多相关《飞机订票系统分析与设计Word格式.docx(26页珍藏版)》请在冰豆网上搜索。

飞机订票系统分析与设计Word格式.docx

1

信息

处理

旅客信息

旅行社

工作人员

信息

3

取票处理

取票信息机票

D2取票信息

图1-2细化模型图

增加“订票信息”和“取票信息”两个数据存储。

2、再进一步细化可得

D1订票信息D3订票清单D2取票信息

2.3

产生订票信息处理

订票信息订票清单

2.2

更新订票清单处理

2.1

订票

清单

2.4

打印机

旅客信息订票信息

1.2

1.1

接收

信息信息

3.1

取票信息

3.2

取票信息取票信息

机票

图1-3最终模型图

将1.1、1.2、2.2和3.1放在同一个边界内,这个系统将联机地接收信息、信息处理订票处理、更新订票清单处理及取票处理;

将2.3、2.4和3.2放在同一边界内,以批量方式产生信息给旅客。

1.2数据字典

名字:

旅客信息

别名:

描述:

姓名、性别、工作单位、旅行时间、旅行目的地、身份证号码

定义:

旅客信息=姓名+性别+工作单位+身份证号码+旅行时间+旅行目的地

位置:

接收信息

信息处理

订票处理

更新订票清单处理

身份证号码

在订票清单中唯一被标志的关键城

身份证号码=18个字符

订票信息

订票清单

取票通知

取票证据之一

取票通知=姓名+身份证号码+取票时间+航班

姓名

在订票清单中除身份证号码外另一个被标识的城

姓名=10个字符

订票清单

订票信息

机票

旅客凭此来坐飞机

机票=日期+源地点+目的地点+航班+坐次+起飞时间

输出到打印机

帐单

取票凭证之一

帐单=姓名+身份证号码+交款数额

打印机

取票证据

旅客凭此证据在飞机起飞前一天取票

取票信息=取票通知+账单

表1-1数据字典

1为把客户的数据要求清晰明确的表达出来,建立一个ER模型。

工作单位

旅行时间

性别

旅行目的地

名字

信息处理

订票/取票

起飞时间

坐次

航班

目的地点

源地点

日期

图1-4ER模型图

2、

IPO表

系统:

机票预订系统作者:

丁霞

模块:

订票模块日期:

编号:

2

注释:

IPO图能够方便地描绘输入数据。

对数据的处理和输出数据之间的关系。

下面用改进的IPO图表来描述

信息处理日期:

1

注释:

调用:

被调用:

订票模块和取票模块

输出:

输入:

姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地

订票信息取票信息

处理:

盘但是订票还是取票,并调用相应的功能模块。

将旅客信息输给本模块,根据旅客要求安排航班,并给旅客在飞机起飞前一天取票的证据即取票通知和账单

局部数据元素;

局部数据元素:

取票模块日期:

3

姓名、身份证号码、航班、日期

将输入的信息传给本模块,校对无误后打印机票

图1-5IPO图表

可采用VB、VF、VC、PB等算法来完成上述模块

2总体设计

经过需求分析阶段的分析过程,已粗略的表现了整个设计过程。

总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。

因此,总体设计阶段要完成两个小阶段,首先要进行系统设计,从需求分析阶段的数据流图设想完成系统功能的最佳物理方案,然后进行软件结构设计,确定软件有哪些模块组成以及这些模块之间的动态调用关系。

用结构图来描绘软件结构

将需求分析阶段的数据流图进一步细化,经分析从而得到软件结构图,

如下:

无票

退票或换票

D1订票信息D3订票清单D2取票信息

订票信息订票清单取票信息

订票

旅客订票取票

信息信息清单信息

信息

取票取票信息

取票

信息信息机票

出错

图2-1数据流图

(二)由上面的数据流图可软件结构图

机票预定系统

订票处理系统

取票处理系统

旅客订票信息

旅客取票信息

图2-2软件结构图

3详细设计

详细设计阶段的关键任务是确定怎样具体地实现所需要的目标系统,也就是要设计出程序的“蓝图”,除了应该保证程序的可靠行之外,使下一步即将要编的程序可读性好,容易理解,容易测试和容易修改,维护是详细设计阶段最重要的目标。

1)选择PAD图作为完成详细设计的工具,根据总体设计中的数据流图可得PAD图为:

p1.1

P1

p1

p2

p1.2

c

P3

p3p2.1defp3.1

defp2.2

P2

p1:

信息处理

p2:

订票处理p2.3p3.2

p3:

c:

旅客信息p2.4

图3-1PAD图

2)在总体设计中得出了软件结构设计之后,在详细设计阶段,可与使用面向数据结构地方法来设计每个模块的处理过程。

选用Jackson方法来描绘数据结构。

首先、得到数据结构的Jackson图:

输入数据结构输出数据结构

由数据结构的Jackson图到处描绘程序结构的Jackson图

账单

4编码

人和计算机通信仍然必须使用人工设计的语言,也既是程序设计语言。

编码就是把软件设计的结果翻译成计算机可以“理解”的形式——用某种程序设计语言书写的程序。

机票预定系统采用PB(PowerBuilder)语言来编写程序。

基本界面:

W_message

旅客信息

查询条件

姓名身份证号码

退出

检索

保存

删除

增加

W_plane_message

起止时间

机型

目的地

票价

查询

图4-1基本界面

工作前的准备工作

首先在powerbuilder中创建Adaptiveserveranywhere本地数据库

其次将powerbuilder与数据库连接即连库

接着在powerbuilder中操作Adaptiveserveranywhere数据库的表

在使用数据库表之前首先要创建表。

使用powerbuilder的数据库画板创建表

进入columns试图工作区

Columnname

DataType

Width

Null

Default

Passenger-name

Char

12

No

(None)

Passenger-sex

Yes

Passenger-number

Integer

18

Passenger-company

20

Passenger-time

Timestamp

8

Passenger-address

Passenger-planeid

表4-1passenger表

在创建一个名为plane_message的表如下

Passenger-startandend

Time

16

Passenger-type

Passenger-start

Passenger-end

Passenger-id

10

Passenger-price

Double

表4-1plane_mesage表

(一)、创建界面前的还要做的准备工作

(1)首先建数据库,在连接数据库。

(2)建表

(3)填入数据

(4)建立数据窗

(5)修改标题存盘d—plane

(6)建立窗口(W—man)

主窗口(W—man)代码:

dw-1.SettransObject(SQLCA)

dw-1.Retrieve()

(7)窗口open(打开)事件的代码:

SQLCA.DBMS=ProfileString(“PB.INI”,“Database”,“DBMS”,“”)

SQLCA.Database=ProfileString(“PB.INI”,“Database”,“DataBase”,“”)

SQLCA.LogID=ProfileString(“PB.INI”,“Database”,“LogID”,“”)

SQLCA.LogPass=ProfileString(“PB.INI”,“Database”,“LogPassword”,“”)

SQLCA.ServerName=ProfileString(“PB.INI”,“Database”,“ServerName”,“”)

SQLCA.UserID=ProfileString(“PB.INI”,“Database”,“UserID”,“”)

SQLCA.DBPass=ProfileString(“PB.INI”,“Database”,“DatabasePassword”,“”)

SQLCA.Lock=ProfileString(“PB.INI”,“Database”,“Lock”,“”)

SQLCA.DbPam=ProfileString(“PB.INI”,“Database”,“DbPam”,“”)

CONNECT;

W_message:

信息输入窗口

创建选项:

Title=“信息录入”;

WindowType=“response!

”;

dw_message.DataObject=“d_message_Input”;

gb_message.Text=“旅客信息”;

gb_condition.Text=“查询条件”;

me_passenger_name.Text=“姓名”;

sle_passenger_name.Text=“”;

me_passenger_number.Text=“身份证号码”;

sle_passenger_number.Text=“”;

me_sex.Text=“性别”;

sle_sex.Text=“”;

me_company.Text=“工作单位”;

sle_company.Text=“”;

me_time.Text=“旅行时间”;

em_time.MaskDataType=“datemask!

em_time.Mask=“yy/mm/dd”;

me_address.Text=“旅行目的地”;

sle_address.Text=“”;

me_planeid.Text=“航班”;

sle_planeid.Text=“”;

cd_save.Text=“保存”;

cd_exit.Text=“退出”;

cd_delete.Text=“删除”;

cd_add.Text=“增加”;

cd_retrieve.Text=“检索”;

cd_exit.Cancel=TRUE

窗口的open事件代码为:

dw_message.SetTransObject(SQLCA)

dw_message.Retrieve()

sle_passenger.number.SetFocus()

Windows_cen(this)

“身份证号码”编辑框(sle_passnger-number)的modified事件代码为:

Stringls_passenger_number

Longll_rows

ls_passenger_number=Trim(sle_passenger_number.text)

IFls_passenger_number=“”THEN

dw_message.SetFilter(“”)

dw_message.Filter()

sle_passenger_name.Text=“”

em_credit.Text=“0”

ELSE

Kw_message.SetFilter(“passenger_number=”’+ls_passenger_number+”’”)

dw_massage.Filter()

ll_rows=dw_message.Retrieve()

IFll_rows<

>

OTHEN

sle_passenger_name.Text=dw_message.Object.Passenger_name[1]

em_credit.Text=string(dw_message.object.Credit[1])

sle_passenger_number.SetFocus()

sle_passenger_name.SetFocus()

ENDIF

“姓名”编辑框(sle_passenger_name)的modified事件代码为:

sle_passenger_name.SetFocus()

“性别”编辑框(sle_passenger_sex)的modified事件代码为:

sle_passenger_sex.SetFocus()

“工作单位”编辑框(sle_passenger_company)的modified事件代码为:

sle_passenger_company.SetFocus()

“旅行时间”编辑框(sle_passenger_time)的modified事件代码为:

sle_passenger_time.SetFocus()

“旅行目的地”编辑框(sle_passenger_address)的modified事件代码为:

sle_passenger_address.SetFocus()

“航班”编辑框(sle_passenger_planeid)的modified事件代码为:

sle_passenger_planeid.SetFocus()

“增加”编辑框(cd_add)的clicked事件代码为:

Open(w_message_add)

IF

sle_passenger_name.Text=“”OK

sle_passenger_sex.Text=“”OK

sle_passenger_number.Text=“”OK

sle_passenger_company.Text=“”OK

sle_passenger_time.Text=“”OK

sle_passenger_address.text=“”OK

sle_passenger_planeId.Text=“”OK

messagebox(“提示”其输入姓名、性别、身份证号码、工作单位、旅行时间、旅行目的地和航班!

”)

RETURN

ENDIF

sl_row=dw_message_input.InsetRow(0)

dw_message.Input.ScrollToRow(sl_row)

dw_message.Input.SetRow(sl_row)

dw_message.Input.SetFocus()

“删除”按钮(cd_delete)的clicked事件代码为:

intli_ret

li_ret=MessageBox(“提示”,“确实要删除吗?

”Exclamation!

Yes/No!

IFli_ret=1THEN

dw_message.DeleteRow(0)

IFdw_message.Update()=1THEN

COMMIT;

ROLLBACK;

“保存”按钮(cd_save)的clicked事件代码为:

stringls_passenger_name,ls_passenger_number,ls_passenger_company,

ls_passenger_time,ls_passenger_address,ls_passenger_planeId

intli_credit

decimalldec_message

ls_passenger_name=Trim(ls_passenger_name.text)

ls_passenger_sex=Trim(ls_passenger_sex.text)

ls_passenger_number=Trim(ls_passenger_number.text)

ls_passenger_company=Trim(ls_passenger_company.text)

ls_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1