《航空售票系统实施报告.doc》由会员分享,可在线阅读,更多相关《航空售票系统实施报告.doc(29页珍藏版)》请在课桌文档上搜索。
1、目录第一章 引言31.1编写目的31.2参考文献31.3术语和缩写词3第二章 软件概述42.1软件用途42.2软件运行52 .3系统配置102 .4软件结构102 .5软件性能112 .6输入、处理、输出122.6.1输入122.6.2输出12第三章 软件使用过程133.1软件安装133.2运行步骤133.3运行说明133.3.1控制输入143.3.2管理信息143.4.3输入输出文件143.4.4输出报告143.5出错处理153.6非常规过程15第四章 软件维护过程154.1程序设计的约定154.2出错及纠正方法164.3专用维护程序174.4 源程序清单17第一章引言1.1编写目的开发目标
2、:开发出一个操作简便,界面友好,灵活实用,安全可靠,功能齐全的的航空售票管理信息系统。航空售票管理信息系统对航空相关单位进行包括机票订购在的许多信息管理有着极其重要的作用,就一般的实用软件来说,它的设计容繁多、功能重叠、操作复杂,比如订票和修改票务信息*些功能模块重叠等。本开发小组正是通过广泛调研,对同类的相关系统掌握了一定的资料的基础上,制定开发出来的。为了更好的完善本系统,在实施管理阶段特制定本实施报告,以求彻底完善本系统。1.2参考文献1翼英等 Visual Basic课程设计 清华大学 出版日期:2008-12信息系统开发方法清华大学 旭平1.3术语和缩写词在本文档中,所有专门术语的定
3、义以及缩写词的原意如下:程序流程图:程序流程图又称程序框图,独立于任何一种设计语言,比较直观和清晰的描述了过程的控制流程。N-S图:N-S图是为了改变流程图描述程序逻辑时过大的随意性与灵活性,其规定了五种图形构建,包括:顺序型,选择型,while重复,until重复型,多分枝选择型。PAD图:PAD图是problem analysis diagram的英文缩写,是日本日立公司提出。它使用结构化程序设计思想表现程序的逻辑结构的图形工具。PDL语言:PDL语言是procedure design language的英文缩写。PDL是所有非正文形式的过程设计工具的统称。PDL具有非纯粹”的编写语言的特
4、点。第二章 软件概述2.1软件用途现在应用在大中型企业的管理信息系统中,几乎都包括了工资管理模块。有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分。这些根据规的西方的管理制度设计的工资管理软件,在很多时候还不能完全解决中国特色的中小企业的问题,本文介绍的就是要为高校解决他们在工资管理方面的问题,主要实现系统用户管理、员工基本信息管理、工资标准设定以及工资结算和查询等一般工资管理系统应具有的主要功能,以便完成课程实践的目的。2.2软件运行学生成绩管理系统主要有:登陆界面、员工信息管理,工资标准管理主要运行如下所示:a : 登陆界面输入、密码,点击登陆界面显示图
5、b : 航线信息界面图2.5c :机票信息界面图2.82 .3系统配置本软件要求在PC 及其兼容机上运行,要求奔腾II以上CPU,64兆以上存,10G以上硬盘。软件需要有WINDOWS 7操作系统环境。2 .4软件结构航空售票管理系统的结构图如下:图2.122 .5软件性能A:用户管理模块能在普通用户与管理员之间加以区分,分别实现其对应的功能,方法简单,性能较好。B:查询模块中我们对教职工按照和工号两种方法进行查询,有效的考虑了重名的各种情况,达到一定的性能指标。C:工资模块:我们将职称工资管理和其他工资管理等几种情况D:密码管理:我们起初编写了一份密码表,只有按照密码表上的输入才能对工资管理
6、系统进行相关操作,性能较好。2 .6输入、输出2.6.1输入本系统采用文本文框进行信息的输入以及成绩的输入。我们将创建模块,显示模块,存盘功能模块,读入功能模块,统计功能模块等的输入项2.6.2输出本系统采用文本文框进行信息的输出以及成绩的输出。我们将创建模块,显示模块,存盘功能模块,读入功能模块,统计功能模块等的输出项第三章 软件使用过程3.1软件安装本系统采用进行设计与实现,完成设计后进行发布就可以在没有安装环境的计算机中使用,安装方便简洁,只需要在安装的计算机中添加数据库即可。3.2运行步骤首先选择要登录的角色,然后进入相应的界面进行操作。3.3运行说明对于本系统我们设计时进行了权限的分
7、配,比如普通用户登陆后只能进行自己工资的查询而不能进行工资的修改,管理员登陆后既可以进行查询又可以进行修改。3.3.1控制输入按照软件的说明,将测试数据加入到软件中3.3.2管理信息软件运行过程中的密码键入:通过文本框进行输入。3.4.3输入输出文件软件运行过程过文本框进行文件的输入输出。3.4.4输出报告若输入要输出的条件正确的话会弹出相应的提示框提示是否成功或者正确等。3.5出错处理软件运行过程中可能雏形的出物及处理如下:(1)输入信息出错在数据库找不到输入的信息,输入信息有误,导致操作失败。(2)出错处理对策检查重新输入的信息是否符合要求。(3)数据库连接错误这类错误主要是数据库设置不正
8、确,或sql server异常引起的,我们只要取消本次操作,提醒用户检查数据库问题就可。3.6非常规过程如果出现不可能处理的问题,可以直接与公司的技术支持人员联系。第四章软件维护过程4.1程序设计的约定本软件程序是一个单一的运行软件,各个软件子模块的预定如下:航空售票管理系统主要以管理航空售票信息为目的,设置了严密的权限管理。用户管理:设置了权限管理功能查询管理:包括查询航线和航班等基本信息。可以显示单独一条记录,也可以显示所有信息。更新管理:当有需要时,管理员可以进行工资和信息的删除操作密码管理:管理员和个人可以根据需求修改密码。4.2出错及纠正方法可能由于输入的数据不符合软件的要求,软件将
9、可能提出错误,并提醒您按照软件的要求运行程序;可能出现的问题如下:若输入密码格式不对,应提示:您输入的密码错误。4.3专用维护程序本软件提供您一个专用维护软件,以便在软件出现意想不到的问题时可以使您迅速发现您在软件运行时的失误,保证您的分析结果不会受到损失,尽管您的软件可能永远不会出现使用维护本软件的时候,希望您在使用分析错误!未找到索引项。软件的时候,可以浏览以下本软件的使用。软件的使用如下:A:输入正确的用户名与密码登陆。B:若是普通用户,请选择登陆普通用户界面。C:若是管理员,请选择登陆管理员界面。4.4源程序清单登录界面代码:Imports System.DataImportsPubl
10、icClass登录InheritsDim count AsInteger = 0Dim my_class AsNew class1#Region Windows 窗体设计器生成的代码PublicSubNew()MyBase.New()该调用是Windows 窗体设计器所必需的。 Initializeponent()在Initializeponent() 调用之后添加任何初始化EndSub窗体重写dispose 以清理组件列表。ProtectedOverloadsOverridesSub Dispose(ByVal disposing AsBoolean)If disposing ThenIfN
11、ot (ponents IsNothing) Then ponents.Dispose()EndIfEndIfMyBase.Dispose(disposing)EndSubWindows 窗体设计器所必需的Private ponents As注意: 以下过程是Windows 窗体设计器所必需的可以使用Windows 窗体设计器修改此过程。不要使用代码编辑器修改它。FriendWithEvents Button2 AsFriendWithEvents Button1 AsFriendWithEvents Te*tBo*2 AsFriendWithEvents Te*tBo*1 AsFriendW
12、ithEvents Label3 AsFriendWithEvents Label2 AsFriendWithEvents Label1 As PrivateSub Initializeponent()Dim resources As System.ponentModel.ponentResourceManager = New System.ponentModel.ponentResourceManager(GetType(登录)Me.Button2 = NewMe.Button1 = NewMe.Te*tBo*2 = NewMe.Te*tBo*1 = NewMe.Label3 = NewMe
13、.Label2 = NewMe.Label1 = NewMe.SuspendLayout()Button2Me.Button2.Font = New System.Drawing.Font(宋体, 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte)Me.Button2.Location = New System.Drawing.Point(306, 299)Me.Button2.Name = Button2Me.Button2.Size = New System.Dr
14、awing.Size(112, 32)Me.Button2.TabInde* = 13Me.Button2.Te*t = 取消Button1Me.Button1.Font = New System.Drawing.Font(宋体, 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte)Me.Button1.Location = New System.Drawing.Point(72, 299)Me.Button1.Name = Button1Me.Button1.Size
15、 = New System.Drawing.Size(112, 32)Me.Button1.TabInde* = 12Me.Button1.Te*t = 确定Te*tBo*2Me.Te*tBo*2.Location = New System.Drawing.Point(208, 235)Me.Te*tBo*2.Name = Te*tBo*2Me.Te*tBo*2.PasswordChar = Global.Microsoft.VisualBasic.ChrW(42)Me.Te*tBo*2.Size = New System.Drawing.Size(240, 21)Me.Te*tBo*2.Ta
16、bInde* = 11Te*tBo*1Me.Te*tBo*1.Location = New System.Drawing.Point(208, 163)Me.Te*tBo*1.Name = Te*tBo*1Me.Te*tBo*1.Size = New System.Drawing.Size(240, 21)Me.Te*tBo*1.TabInde* = 10Label3Me.Label3.Font = New System.Drawing.Font(宋体, 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Poin
17、t, CType(134, Byte)Me.Label3.Location = New System.Drawing.Point(48, 234)Me.Label3.Name = Label3Me.Label3.Size = New System.Drawing.Size(136, 22)Me.Label3.TabInde* = 9Me.Label3.Te*t = 密码Label2Me.Label2.Font = New System.Drawing.Font(宋体, 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUn
18、it.Point, CType(134, Byte)Me.Label2.Location = New System.Drawing.Point(48, 163)Me.Label2.Name = Label2Me.Label2.Size = New System.Drawing.Size(136, 21)Me.Label2.TabInde* = 8Me.Label2.Te*t = 用户名Label1MeMe.Label1.Font = New System.Drawing.Font(华文彩云, 36.0!, System.Drawing.FontStyle.Regular, System.Dra
19、wing.GraphicsUnit.Point, CType(134, Byte)MeMe.Label1.Location = New System.Drawing.Point(55, 9)Me.Label1.Name = Label1Me.Label1.Size = New System.Drawing.Size(393, 120)Me.Label1.TabInde* = 7Me.Label1.Te*t = 航空公司管理信息系统登录Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)Me.BackgroundImage = CType(r
20、esources.GetObject($this.BackgroundImage), System.Drawing.Image)Me.ClientSize = New System.Drawing.Size(504, 390)Me.Controls.Add(Me.Button2)Me.Controls.Add(Me.Button1)Me.Controls.Add(Me.Te*tBo*2)Me.Controls.Add(Me.Te*tBo*1)Me.Controls.Add(Me.Label3)Me.Controls.Add(Me.Label2)Me.Controls.Add(Me.Label1
21、)Me.Icon = CType(resources.GetObject($this.Icon), System.Drawing.Icon)Me.Name = 登录Me.Te*t = Form7Me.ResumeLayout(False)Me.PerformLayout()EndSub#EndRegionPrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim user AsStringDim pw AsStringDim temp1
22、 AsStringDim temp2 AsStringDim con AsStringDim singe AsInteger = 1 user = Te*tBo*1.Te*t username = Te*tBo*1.Te*t pw = Te*tBo*2.Te*t con = select * from users where id= + user + and password= + pw + Dim ds AsNew DataSet ds = class1.query(con)TryIf ds.Tables(0).Rows.Count 0 Then class1.dr = ds.Tables(
23、0).Rows(0) temp1 = class1.dr(0) temp2 = class1.dr(1)主窗口.Show()EndIfCatch e* As E*ception MessageBo*.Show(e*.Message)EndTrycon = insert into log(id) select id from permission where id= + temp1 + If (Trim(user) = Trim(temp1) And Trim(pw) = Trim(temp2) And (user Or pw ) Then Me.Hide() class1.insert(con
24、) singe = 1ElseIf (user = And pw = ) Then MessageBo*.Show(用户名和密码为空!, 提示) Te*tBo*1.Focus() singe = 0ElseIf (Trim(user) Trim(temp1) Or Trim(pw) Trim(temp2) Then MessageBo*.Show(没有这个用户或密码错误,请重新输入!, 提示) Te*tBo*1.SelectAll() Te*tBo*1.Focus() singe = 0End Ifcount = count + 1If (count = 3 And singe = 0) Th
25、en MessageBo*.Show(三次错误,退出本系统, 提示) EndEnd IfEndSubPrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickEndSubPrivateSub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load class1.init() Label1.BackColor = Colo
26、r.Transparent Label2.BackColor = Color.Transparent Label3.BackColor = Color.Transparent Button1.BackColor = Color.Transparent Button2.BackColor = Color.TransparentEndSubEndClass订票界面代码:PublicClass订票PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Cl
27、ickDim i AsIntegerIf Te*tBo*1.Te*t = Then i = MsgBo*(客户号不能为空, MsgBo*Style.OkCancel, 警告)ElseDim conn AsString = data source=.;connect timeout=5;User ID=sa;Password=123;initial catalog=Ticket;Dim objconn1 AsNew SqlConnection(conn) objconn1.Open()Dim客户号AsNew SqlParameter(客户号, SqlDbType.Int, 4)Dim客户AsNe
28、w SqlParameter(客户, SqlDbType.Char, 10)Dim起飞地AsNew SqlParameter(起飞地, SqlDbType.VarChar, 50)Dim目的地AsNew SqlParameter(目的地, SqlDbType.VarChar, 50)Dim票价AsNew SqlParameter(票价, SqlDbType.Int, 4)Dim飞行时间AsNew SqlParameter(飞行时间, SqlDbType.Int, 4)Dim航空公司AsNew SqlParameter(航空公司, SqlDbType.VarChar, 50)Dim strin
29、AsString strin = insert into flyernb(客户号,客户,起飞地,目的地,票价,飞行时间,航空公司) values(客户号,客户,起飞地,目的地,票价,飞行时间,航空公司)Dim objcmd1 AsNew Sqlmand(strin, objconn1) objcmd1.Parameters.Add(客户号) objcmd1.Parameters.Add(客户) objcmd1.Parameters.Add(起飞地) objcmd1.Parameters.Add(目的地) objcmd1.Parameters.Add(票价) objcmd1.Parameters
30、.Add(飞行时间) objcmd1.Parameters.Add(航空公司)客户号.Value = Te*tBo*1.Te*t客户.Value = Te*tBo*2.Te*t起飞地.Value = boBo*2.Te*t()目的地.Value = boBo*3.Te*t()票价.Value = Te*tBo*5.Te*t飞行时间.Value = Te*tBo*6.Te*t航空公司.Value = boBo*1.Te*t objcmd1.E*ecuteNonQuery() objconn1.Close() objcmd1.Dispose() MsgBo*(订票成功!) Te*tBo*1.Te*
31、t = Te*tBo*2.Te*t = Te*tBo*5.Te*t = Te*tBo*6.Te*t = boBo*2.Te*t = boBo*3.Te*t() = boBo*1.Te*t() = EndIfEndSubPrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickMe.Close()EndSubEndClass退票界面代码:PublicClass退票PrivateSub Button1_Click(ByVal sender As
32、System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim i AsInteger i = MsgBo*(确定要退票吗?, MsgBo*Style.OkCancel, 警告)If i = MsgBo*Result.Cancel Then Close()ElseDim conn AsString = data source=.;connect timeout=300;User ID=sa;Password=123;initial catalog=Ticket;Dim objconn1 AsNew SqlConnecti
33、on(conn)objconn1.Open()Dim strsql AsString = delete from flyernb where 客户号= & Trim(Te*tBo*1.Te*t) & objconn1.Open()Dim objcmd AsNew Sqlmand(strsql, objconn1) objcmd.E*ecuteNonQuery() objconn1.Close() objcmd.Dispose() MsgBo*(删除成功!) Te*tBo*1.Te*t = EndIfEndSubPrivateSub Button2_Click(ByVal sender As S
34、ystem.Object, ByVal e As System.EventArgs) Handles Button2.ClickMe.Close()EndSubEndClass用户权限设置代码:PublicClass退票PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim i AsInteger i = MsgBo*(确定要退票吗?, MsgBo*Style.OkCancel, 警告)If i = MsgBo*Result.Can
35、cel Then Close()ElseDim conn AsString = data source=.;connect timeout=300;User ID=sa;Password=123;initial catalog=Ticket;Dim objconn1 AsNew SqlConnection(conn)objconn1.Open()Dim strsql AsString = delete from flyernb where 客户号= & Trim(Te*tBo*1.Te*t) & objconn1.Open()Dim objcmd AsNew Sqlmand(strsql, o
36、bjconn1) objcmd.E*ecuteNonQuery() objconn1.Close() objcmd.Dispose() MsgBo*(删除成功!) Te*tBo*1.Te*t = EndIfEndSubPrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickMe.Close()EndSubEndClass航线信息代码:PublicClass航线信息Inherits#Region Windows 窗体设计器生成的代码Publi
37、cSubNew()MyBase.New()该调用是Windows 窗体设计器所必需的。 Initializeponent()在Initializeponent() 调用之后添加任何初始化EndSub窗体重写dispose 以清理组件列表。ProtectedOverloadsOverridesSub Dispose(ByVal disposing AsBoolean)If disposing ThenIfNot (ponents IsNothing) Then ponents.Dispose()EndIfEndIfMyBase.Dispose(disposing)EndSubWindows 窗体
38、设计器所必需的Private ponents As注意: 以下过程是Windows 窗体设计器所必需的可以使用Windows 窗体设计器修改此过程。不要使用代码编辑器修改它。FriendWithEvents GroupBo*1 AsFriendWithEvents Label1 AsFriendWithEvents Label2 AsFriendWithEvents Label3 AsFriendWithEvents Label4 AsFriendWithEvents Label5 AsFriendWithEvents Label6 AsFriendWithEvents Label7 AsFr
39、iendWithEvents Label8 AsFriendWithEvents Label9 AsFriendWithEvents Label10 AsFriendWithEvents Te*tBo*1 AsFriendWithEvents Te*tBo*2 AsFriendWithEvents Te*tBo*3 AsFriendWithEvents Te*tBo*4 AsFriendWithEvents Te*tBo*5 AsFriendWithEvents Te*tBo*6 AsFriendWithEvents Te*tBo*7 AsFriendWithEvents Te*tBo*8 A
40、sFriendWithEvents boBo*1 AsFriendWithEvents Button1 AsFriendWithEvents Button2 AsFriendWithEvents Label11 AsFriendWithEvents Te*tBo*10 AsFriendWithEvents Te*tBo*9 As PrivateSub Initializeponent()Dim resources As System.ponentModel.ponentResourceManager = New System.ponentModel.ponentResourceManager(
41、GetType(航线信息)Me.GroupBo*1 = NewMe.Te*tBo*10 = NewMe.Te*tBo*9 = NewMe.Label11 = NewMe.boBo*1 = NewMe.Te*tBo*8 = NewMe.Te*tBo*7 = NewMe.Te*tBo*6 = NewMe.Te*tBo*5 = NewMe.Te*tBo*4 = NewMe.Te*tBo*3 = NewMe.Te*tBo*2 = NewMe.Te*tBo*1 = NewMe.Label10 = NewMe.Label9 = NewMe.Label8 = NewMe.Label7 = NewMe.Lab
42、el6 = NewMe.Label5 = NewMe.Label4 = NewMe.Label3 = NewMe.Label2 = NewMe.Label1 = NewMe.Button1 = NewMe.Button2 = NewMe.GroupBo*1.SuspendLayout()Me.SuspendLayout()GroupBo*1Me.GroupBo*1.Controls.Add(Me.Te*tBo*10)Me.GroupBo*1.Controls.Add(Me.Te*tBo*9)Me.GroupBo*1.Controls.Add(Me.Label11)Me.GroupBo*1.Co
43、ntrols.Add(Me.boBo*1)Me.GroupBo*1.Controls.Add(Me.Te*tBo*8)Me.GroupBo*1.Controls.Add(Me.Te*tBo*7)Me.GroupBo*1.Controls.Add(Me.Te*tBo*6)Me.GroupBo*1.Controls.Add(Me.Te*tBo*5)Me.GroupBo*1.Controls.Add(Me.Te*tBo*4)Me.GroupBo*1.Controls.Add(Me.Te*tBo*3)Me.GroupBo*1.Controls.Add(Me.Te*tBo*2)Me.GroupBo*1.Controls.Add(Me.Te*tBo*1)Me.GroupBo*1.Controls.Add(Me.Label10)Me.GroupBo*1.Cont