东软《SAP R3开发课程》结课报告.docx
- 文档编号:10437711
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:52
- 大小:611.17KB
东软《SAP R3开发课程》结课报告.docx
《东软《SAP R3开发课程》结课报告.docx》由会员分享,可在线阅读,更多相关《东软《SAP R3开发课程》结课报告.docx(52页珍藏版)》请在冰点文库上搜索。
东软《SAPR3开发课程》结课报告
《SAPR/3开发课程》结课报告
——航空售票系统
年级-专业:
组名:
包名:
小组成员:
学号:
姓名:
日期:
摘要
随着信息技术在管理上越来越深入而广泛的应用以及信息的不断海量化,在很多行业对信息的管理不得不依赖计算机,而不是使用比较原始的纯人力管理方法。
在当今,各行各业都有很多计算机管理的系统,特别是民航方面,每天,有上千万的人次订票、买票或者乘坐飞机,如果采取传统的人工售票或登记的方式会大大影响机场运作的效率,并且也无法避免一些人为的错误。
所以一个好的票务管理系统由为重要,特别是现在很多人喜欢提前订票或上网订票,自然,好的票务管理系统不仅需要快捷方便的操作、优秀的保存和统计功能、还要应付大容量数据的快速查找和保存及应付长时间的工作需要,必须保证系统的稳定性和安全性,更重要的是,安全的票务管理系统不仅需要有能够防护各种病毒和黑客恶意攻击的能,还需要有能够应付突发状况的能力,比如突然断电之后,系统的售票信息和当前正在进行的进程、操作应该怎么处理,或者,系统突然死机之后,所有数据又应该怎样处理等等。
这些问题都是我们在实际生活中经常会遇到的,所以,能不能解决上述问题就成了评价一个好的票务管理系统的主要依据。
本系统开发的目的是为了更好更全面的运用的ABAP语言的对话(Dialog)程序、报表(SmartForms)程序,详细了解航空订票系统的业务流程。
在屏幕开发中用到了各种控件,包括:
文本框控件的使用、输入输出框的使用、各种按钮的制作、单选框和复选框的使用、下拉列表的制作、表控制(TableControl)的制作与使用等等。
并且将这些控件应用到航空订票系统开发过程中。
要求实现数据的交互,完成对数据的增删改查等功能。
关键词:
管理信息系统;航空售票系统;报表;ABAP语言
第一章前言
航空客运业务诞生已有近一个世纪了,作为现有交通工具中最方便快捷的一种,它确确实实地给民众的生活、出行带来了极大的方便。
互联网、邮寄机票以及电子机票技术的发展正在改变航空公司的销售业务,使全世界的消费者不出户就可以买到机票。
自九十年代以来,因特网技术的飞速发展正在迅速地改变着人们的生活方式,因特网正在由科学工作者的工具变为普通百姓获取信息、进行交流的场所,而因特网的商业应用则尤为引人注目。
航空公司在因特网上建立网上售票系统不仅方便了旅客,还节省了航空公司的代理费用,加速了资金周转,这为售票成本居高不下的航空公司带来了无限生机。
网上售票的另一优点是扩充了航空公司的销售网点,使航空公司通过因特网将其销售网点扩展到全世界。
网上售票系统是一个非常合适的电子商务项目,因为它打破了旧有经营模式(坐店经营、按点上下班)所带来的地理和时间上的限制,通过网络使企业面对整个世界,直接接触成千上万的新用户,为用户提供每周7天,每天24小时的服务,从而接触更多的潜在市场,创造了新的商业机会另外,在售票系统中不涉及到物流(订机票者可以到机场取票),因此,较其他电子商务系统更易于实现和运作。
网上售票系统实际上是一个特殊的售票点,是一个利用因特网技术建立的计算机系统。
一方面它与因特网相连,向广大上网用户提供各类航班信息,接受用户在线订票,另一方面它与传统订票网络系统连接,实时获取及更改机票余额等信息,起到一个特殊售票点的作用[1]。
1.1课题背景
航空售票系统将提供机票的舱位实时查询、机票预定等功能,是拓展机票业务的最佳手段,能提高公司的工作效率、运作成本。
因而航空售票系统的开发应用是势在必行的了。
计算机技术以突飞猛进的速度渗透到各个领域,成为人们生活中不可缺少的一部分。
迄今,我国的信息化建设已取得很大进步,在这样的环境下,航空信息化建设也向着严密、科学、完善的管理体系发展。
机票预订系统是一个很好的项目,不仅方便旅客,而且可以减轻工作人员的劳动强度,提高工作效率和企业的知名度,提升企业的整体水平,增强企业核心竞争力。
随着网络的进一步应用,增加Internet订票和人性化的服务,为企业的决策提供强有的支持,让旅客满意,必将为社会的科技进步带来更大的社会性效益和经济效益。
机票预订系统主要有两个特点:
一是品种丰富,选择余地大。
二是购买方便,用户不用亲自去机场排队买票,直接在网络中就可以预订购买机票。
而且现行的网上售票系统存在着灵活性差、可扩展性低、软件可复用性低及兼容性较差,基于ABAP语言设计的电子航空售票系统可以有效地解决这一点。
第二章系统分析
2.1可行性分析
1.技术可行性:
系统设计是从面向对象的角度,根据系统分析的结果对系统进行总体设计。
总体设计又称初步设计或概要设计,内容包括:
划分子系统(系统功能结构的划分)、模块结构图设计、信息系统流程图设计和系统物流配置方案设计等。
详细设计是在总体设计的基础上,确定每个模块内部的详细执行过程。
详细设计包括代码设计、数据库设计、输出设计、输入设计和其他设计等。
2.经济可行性:
一个项目的开发成本、运行费用和收益这些经济因素决定了该系统是否值得的做,只有投资预计能带来利润的系统才值得进一步去考虑。
该系统的开发使用的是已经很成熟的技术和语言,系统的操作和维护都很简单和方便,这些都表明了该系统是一个低成本的系统,该系统的运行费用很低,在运营中的成本波动不大。
在后期的运营中,经济效益主要的来源是网站广告的投放。
总的来说,该系统具有经济上的可行性。
商业企业在运营过程中,经常会受到以下一些条件的限制:
❑产品的宣传受到限制,采购商或顾客只能通过上门咨询、电话沟通等方式进行各种信息的获取,受一定的时间与物理空间的局限并且成本较高。
❑庞大的商业经济周转。
❑复杂的产品周转渠道。
从看样品、谈价格到支付货款等一系列的产品周转渠道过于复杂,企业与顾客之间缺乏全面的沟通与快捷运营的平台。
❑商业企业中根据季节的变化,热销商品在销售高峰到来时货源紧张,企业需要实时了解商品的销售情况,保证热销商品的要货满足率。
因此,企业需要重新认识市场、消费者以及自身市场定位,正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来制定长远发展战略,使企业与顾客间的经济活动变得更灵活、更主动。
3.操作可行性:
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户的需求。
设计开发中一直注重系统操作的简单方便,操作方式都非常简单人性化,相关的操作方式和用户已经习惯的各大网站的用户操作方式基本相同。
所以,操作方式在用户组织内是行得通的。
2.2系统功能设计
2.2.1功能需求
系统允许管理员添加航班信息,对航班信息进行时间安排,并且查看当前航班;而用户可以注册用户,并且进行个人信息修改,密码修改,查看航班,预订航班,退票等。
2.2.2需求分析
1.分析
(1)参与者
图2.1
(2)功能
注册帐号、登录帐号、修改帐号密码、订票、查询订票记录、订票信息备份、删除订票记录、维护航班基础信息、打印机票、生成报表、查询报表。
2.UML建模
(1)用例图
图2.1
(2).类图
图2.3
(3).状态图
图2.4订票单(订票信息单)状态图
图2.5机票状态图
图2.6报表状态图
(6).活动图
图2.7会员登录查询及订票活动图
图2.8维护乘客订票信息活动图
图2.9维护航班基础信息活动图
第三章系统及数据库设计
3.1规范化代码编写
3.1.1代码模块化和结构化
在运用ABAP语言进行开发时,应该尽量将程序代码模块化、结构化。
如源代码被其他程序共享,可以将其包装在Function内,以提高源代码的重用性,在避免数据冗余的同时减少了代码输入量,节省开发时间。
3.1.2变量的声明和全局类型的定义
在声明变量和程序全局类型定义时,可以将定义放在一个单独的Include文件中,提高程序的可视性的同时也方便查看和修改。
3.1.3程序注释
所有编程语言都有自己的注释方法,可见对代码的注释在编写程序时是相当重要的一步。
因为每个开发人员在编写代码过程中的思维都是不同的,所以为了方便其他开发人员读懂程序,也为了今后对程序修改的方便,有必要在代码中的关键位置注释,便于程序的转交和二次开发。
ABAP语言采用星号“*”进行整行注释,采用双引号“””进行半行或部分注释。
3.2Dialog程序开发及其控件的应用
Dialog程序开发主要是由一个或多个Dialog屏幕构成的。
每一个Dialog屏幕的设计都是由各种Dialog控件所组成。
在ABAP中,传统用户屏幕的类型主要有三种:
列表屏幕(ListScreen)、选择屏幕(SelectionScreen)、对话屏幕(DynproScreen)。
本系统中应用到最多的就是对话屏幕(DynproScreen)。
所谓对话屏幕,主要应用场合是接受用户输入的数据,并且将数据插入对应的数据库表中,ABAP中对话屏幕有如下几个重要组成部分。
属性包括屏幕号,屏幕描述,屏幕类型,下一个屏幕号等。
其中屏幕号是不超过四位的数字;下一个屏幕号则是当前屏幕执行完成后,要执行的下一个屏幕。
元素列表包括所有该屏幕包含的屏幕元素,如:
输入/输出域、文本、命令按钮等;同时还列出每个屏幕字段的属性,如:
位置、尺寸、数据类型。
流逻辑:
流逻辑的作用是控制屏幕之间的交互,它包含ABAP代码模块,但并不是真正意义上的ABAP语言。
流逻辑包含了两个事件以及他们所对应的事件处理块,PBO和PAI。
PBO是用于对屏幕显示前的预处理;PAI则是用于屏幕显示后对用户录入数据的后期处理。
当创建一个屏幕后,就可以点Layout(布局)按钮来进入屏幕设计工具(ScreenPainter)中,查看到所有的Dialog控件。
3.2.1文本框控件
文本框是用来显示编程人员输入的文本内容的控件。
其主要属性有名称和内容两个,其中名称是用来区分文本框的;内容则是文本框显示的内容。
文本框只是显示输入内容,与程序无关,也无须添加任何代码。
3.2.2按钮控件
按钮在系统起到了至关重要的作用,用户通过按钮来选择自己的操作,如保存、重置、取消、退出等。
用户点击按钮完成事件的处理,同时按钮也能指引用户进行一系列的操作。
在屏幕设计工具条中选择添加一个按钮,就可以直接放置到摆放区域,按钮的个数是不受限制的,可以根据系统的需求来决定按钮的个数。
在按钮的属性中,命名、内容、功能代码(FctCode)是必须填写的,如果其中任何一个属性没有正确填写,按钮在屏幕元素摆放区就会显示成红色状态。
另外,如果功能代码(FctCode)为空是,运行程序不仅会出错,而且该按钮在以后的操作中就不能被执行其点击后的事件,也不能执行按钮应赋予的功能。
功能代码(FctCode)也应该尽量和命名一致,而且最好是大写字母。
3.2.3下拉列表控件
本系统中,在用户成功登录后,即可根据商品类型等条件有针对性的查看商品,对这个事件的处理就用到了下拉列表。
下拉列表是为了让用户使用系统时更加方便,一目了然。
所提供的数据一般情况下都是唯一的,而且用户只能选择一项。
3.2.4表控制(TableControl)
本系统在管理员的操作界面中,多次使用到了表控制控件。
因为表控制可以直观的把数据库表中的数据显示在屏幕中,方便管理员对数据库表的操作,保证了数据的及时更新。
同时,管理员可以直接在屏幕上删除冗余数据,保证数据库数据的不重复使用。
3.3数据库设计
1.顾客表:
用来储存顾客信息,包括顾客号,密码,顾客姓名,电话,地址,顾客累积里程,搭乘次数7个字段。
该表如下所示:
表3.1顾客表
字段名
是否主键
数据类型
长度
描述
ID
是
CHAR
8
顾客号
PASSWORD
否
CHAR
16
密码
NAME
否
CHAR
8
姓名
TELEPHONE
否
NUMC
16
电话
ADDRESS
否
CHAR
30
地址
MILES
否
NUMC
10
累积里程
TIMES
否
NUMC
3
搭乘次数
图3.1
2.管理员表:
用来储存管理员信息,包括管理员号,管理员姓名,登陆密码3个字段,该表如下所示:
表3.1管理员表
字段名
是否主键
数据类型
长度
描述
USERID
是
CHAR
8
管理员号
USERNAME
否
CHAR
8
管理员姓名
PASSWORD
否
CHAR
16
密码
图3.2
3.订票表:
用来储存订票信息,包括航空公司号,航线号,航班日期,订票单号,顾客号,是否吸烟,行李重量,重量单位,订票日期,乘客姓名10个字段,改表如下所示:
表3.3订票表
字段名
是否主键
数据类型
长度
描述
CARRID
否(外键)
CHAR
3
航空公司号
CONNID
否(外键)
NUMC
4
航线号
FLDATE
否(外键)
DATS
8
航班日期
BOOKID
是
NUMC
8
订票单号
CUSTOMID
否
CHAR
8
顾客号
SMOKER
否
CHAR
1
是否吸烟
LUGGWEIGHT
否
QUAN
8
行李重量
WUNIT
否
UNIT
3
重量单位
ORDER_DATE
DATS
8
订票日期
PASSNAME
CHAR
25
乘客姓名
图3.3
4.航空公司表:
用来储存航空公司信息,包括航空公司号,航空公司名,网址,表控制用到的选择字段4个字段,该表如下所示:
表3.4航空公司表
字段名
是否主键
数据类型
长度
描述
CARRID
是
CHAR
3
航空公司号
CARRNAME
否
CHAR
20
航空公司名
URL
否
CHAR
30
网址
MARK
否
CHAR
1
表控制
图3.4
5.航班表:
用来储存航班信息,包括航空公司号,航线号,航班日期,价格,货币单位,最大座位数,当前座位数,当前订票总数,商务舱最大数,商务舱当前座位数,头等舱最大数量,头等舱当前座位数,商务舱价格,头等舱价格14个字段,该表如下所示:
表3.4航班表
字段名
是否主键
数据类型
长度
描述
CARRID
是(外键)
CHAR
3
航空公司号
CONNID
是(外键)
NUMC
4
航线号
FLDATE
是(外键)
DATS
8
航班日期
PRICE
否
CURR
15
价格
CURRENCY
否
CUKY
5
货币单位
SEATSMAX
否
INT4
10
经济舱最大座位数
SEATSOCC
否
INT4
10
经济舱已定座位数
PAYMENTSUM
否
INT4
10
当前订票总数
SEATSMAX_B
否
INT4
10
商务舱最大数
SEATSOCC_B
否
INT4
10
商务舱已定座位数
SEATSMAX_F
否
INT4
10
头等舱最大数量
SEATSOCC_F
否
INT4
10
头等舱已定座位数
PRICE_B
否
CURR
15
商务舱价格
PRICE_F
否
CURR
15
头等舱价格
MARK
否
CHAR
1
表控制
图3.5
6.航线表:
用来储存航线信息,包括航空公司号,航线号,起飞国家,起飞城市,到达国家,到达城市,起飞机场,到达机场,飞行距离,距离单位,表控制11个字段,改表如下所示:
表3.6航线表
字段名
是否主键
数据类型
长度
描述
CARRID
是
CHAR
3
航空公司号
CONNID
否(外键)
NUMC
4
航线号
COUNTRYFROM
否
CHAR
30
起飞国家
CITYFROM
否
CHAR
20
起飞城市
COUNTRYTO
否
CHAR
30
到达国家
CITYTO
否
CHAR
20
到达城市
AIRFROM
否
CHAR
30
起飞机场
AIRTO
否
CHAR
30
到达机场
DISTANCE
否
QUAN
9
飞行距离
DISTID
否
UNIT
3
距离单位
MATRK
否
CHAR
1
表控制
图3.6
3.4界面层次设计
机票预订系统所有的系统功能都由abap程序中的屏幕来实现。
3.4.1表控制
z10xx03_customer表和z10xx03_manager表的显示由表控制来实现;
程序总共用到7个表控制:
CONTROLS:
tc1TYPETABLEVIEWUSINGSCREEN'0600',"查看航空公司的表控制
tc2TYPETABLEVIEWUSINGSCREEN'0700',"查看航线的表控制
tc3TYPETABLEVIEWUSINGSCREEN'0800',"查看航班视图的表控制
tc4TYPETABLEVIEWUSINGSCREEN'1100',"查看用户订票的表控制
tc5TYPETABLEVIEWUSINGSCREEN'1300',"维护航空公司的表控制
tc6TYPETABLEVIEWUSINGSCREEN'1500',"维护航线的表控制
tc7TYPETABLEVIEWUSINGSCREEN'1700'."维护航班的表控制
3.4.2表单
z10xx03_scarr表,z10xx03_spfli表,z10xx03_sflight表和用户查看的z10xx03_sbook表的删改查也用到表控制,增加功能是用屏幕单独增加;管理员查看的z10xx03_sbook表用到了alv。
3.4.3用户查看
用户查看的《兑换订票标准》和管理员为用户打印机票的功能用到了SAPSMARTFORM。
由于程序中很多的按钮的functioncode是相同的,例如在维护航空公司表界面的新增按钮的functioncode是insert,而在新增界面的新增按钮还是insert,所以所有屏幕的PBO里都有一个module用来clearok_code,否则当点击一个按钮的时候,它可能不是执行的此按钮操作,而是前面的没有清除的functioncode的操作。
第四章系统实现
4.1系统功能描述
系统功能分析是在系统开发的总体任务的基础上完成。
航空售票系统分为管理员和会员两个权限,需要完成功能主要有:
管理员功能:
1.制定航班
2.安排航班
3.查看航班
会员功能:
1.会员注册
2.个人信息修改
3.密码维护
4.预订机票
5.查看预订信息并退票
4.2窗口界面实现
4.2.1登陆窗口
图4.1
WHEN'LOGIN'."会员登录
SELECTSINGLE*FROMz10xx03_customerINTOz10xx03_customer
WHEREid=z10xx03_customer-id
ANDpassword=z10xx03_customer-password.
IFsy-subrc=0.
MESSAGE'登陆成功!
'TYPE'I'.
SETSCREEN400.
ELSE.
MESSAGE'用户名或密码错误'TYPE'I'.
ENDIF.
WHEN'REGISTER'."会员注册
CLEARz10xx03_customer.
SETSCREEN200.
WHEN'LOGIN1'."管理员登录
SELECTSINGLE*FROMz10xx03_managerINTOz10xx03_manager
WHEREuserid=z10xx03_manager-userid
ANDpassword=z10xx03_manager-password.
IFsy-subrc=0.
MESSAGE'登陆成功!
'TYPE'I'.
SETSCREEN500.
ELSE.
MESSAGE'用户名或密码错误'TYPE'I'.
ENDIF.
WHEN'REGISTER1'."管理员注册
CLEARz10xx03_manager.
SETSCREEN300.
WHEN'QUIT'.
LEAVEPROGRAM.
4.2.2会员注册窗口
图4.2
CASEok_code.
WHEN'REGISTER'.
IFz10xx03_customer-idISINITIAL."判断用户是否输入顾客号,并提示
MESSAGE'请输入顾客号!
'TYPE'I'.
ELSE.
*判断用户是否输入姓名,并提示
IFz10xx03_customer-nameISINITIAL.
MESSAGE'请输入姓名!
'TYPE'I'.
ELSE.
*判断两次输入的密码是否一致
IFz10xx03_customer-password=pw.
*若一致,将用户输入的信息插入到用户表z10xx03_customer里
INSERTz10xx03_customerFROMz10xx03_customer.
IFsy-subrc=0.
MESSAGE'注册成功'TYPE'I'.
SETSCREEN100.
ELSE.
MESSAGE'用户已存在'TYPE'I'.
ENDIF.
ELSE.
MESSAGE'两次输入密码不一致'TYPE'I'.
CLEARpw.
ENDIF.
ENDIF.
ENDIF.
WHEN'RESET'.
CLEARz10xx03_customer.
WHEN'RETURN'.
CLEARz10xx03_customer.
SETSCREEN100.
ENDCASE.
4.2.3用户登录后的主界面
图4.3
用户点击哪个按钮就会跳到哪个屏幕执行相应的操作
CASEok_code.
WHEN'SCARR'.
SETSCREEN600.
WHEN'SPFLI'.
SETSCREEN700.
WHEN'SFLIGHT'.
CLEAR:
cityfrom,cityto,fldate1,fldate2,sum,ttcity.
CALLSELECTION-SCREEN0001.“当用户订票时调用这个选择屏幕来选择必要的信息
SETSCREEN800.“之后跳到航班信息界面,根据选择的条件显示筛选后的航班信息
WHEN'SBOOK'.
SETSCREEN1100.
WHEN'CUSTOMER'.
SETSCREEN1200.
WHEN'RETURN'.
SETSCREEN100.
CLEARz10xx03_customer.
ENDCASE.
4.2.4用户查看航空公司界面
图4.4
Flowlogic:
PROCESSBEFOREOUT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAP R3开发课程 东软SAP R3开发课程结课报告 东软 SAP R3 开发 课程 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)