机票预定系统实验报告
- 格式:doc
- 大小:278.00 KB
- 文档页数:18
飞机订票系统测试报告1. 引言本文档旨在介绍飞机订票系统的测试过程和结果。
飞机订票系统是一款用于用户预订航班机票的在线平台。
通过测试,我们旨在确保系统的功能正常、性能稳定,并且用户能够顺利完成预订流程。
2. 测试环境为了对系统进行全面的测试,我们搭建了以下测试环境:•操作系统:Windows 10•浏览器:Google Chrome,Mozilla Firefox•设备:台式电脑,笔记本电脑,手机(Android,iOS)•网络环境:LAN,WLAN,4G网络3. 测试目标我们的测试目标主要包括以下几个方面:•功能测试:确保系统的各项功能正常运作,包括用户注册、登录、查询航班信息、预订机票等。
•兼容性测试:在不同的操作系统、浏览器和设备上测试系统的兼容性,确保用户可以在不同的环境中正常使用系统。
•性能测试:通过模拟多用户同时访问、查询航班和预订机票,测试系统的性能稳定性和响应速度。
•安全性测试:检查系统的安全性,防止潜在的数据泄露和非法访问。
4. 测试步骤为了对系统进行全面的测试,我们按照以下步骤进行测试:4.1 用户注册和登录功能测试1.打开系统主页,点击注册按钮进入注册页面。
2.输入有效的用户名、密码和邮箱地址,点击注册按钮完成注册。
3.使用注册的用户名和密码,尝试登录系统。
4.验证登录是否成功,检查是否能够正常浏览个人信息页面。
4.2 航班查询功能测试1.登录系统后,点击航班查询按钮进入查询页面。
2.输入有效的出发地、目的地和日期,点击查询按钮进行航班搜索。
3.检查系统是否能够正确地显示符合条件的航班信息。
4.选择一条航班信息,尝试获取详细信息。
4.3 机票预订功能测试1.在航班查询结果页面,选择一条符合条件的航班信息。
2.输入乘客信息和联系方式,点击预订按钮进行机票预订。
3.检查系统是否成功生成订单,并显示预订成功的提示信息。
4.登录用户的邮箱,确认是否收到预订成功的邮件通知。
4.4 兼容性测试在不同的操作系统、浏览器和设备上测试系统的兼容性,包括:•操作系统:Windows,macOS,Linux•浏览器:Google Chrome,Mozilla Firefox,Safari•设备:台式电脑,笔记本电脑,手机(Android,iOS)4.5 性能测试1.使用性能测试工具,模拟多用户同时访问系统。
机票订购管理系统实习报告一、实习背景与目的作为一名计算机专业的学生,我深知实践对于理论知识的巩固和技能提升的重要性。
因此在大学期间,我积极寻找实习机会,以期在实际工作中锻炼自己,提高自己的专业素养。
本次实习,我有幸加入了一家机票订购管理系统的开发团队,参与到了这个项目的开发与维护工作中。
此次实习的主要目的是通过实际操作,将所学知识运用到实际工作中,提高自己的实际工作能力和团队协作能力。
二、实习内容与过程在实习期间,我主要参与了以下几个方面的工作:1. 系统需求分析:在项目开始阶段,我和团队成员一起对系统进行了需求分析。
通过对机票订购流程的了解,我们明确了系统的功能需求和性能需求。
2. 系统设计:根据需求分析结果,我参与到了系统的设计工作中。
主要工作是根据业务需求,设计系统的数据库结构和界面布局。
3. 系统开发与实现:在设计完成后,我开始着手进行系统的开发工作。
在开发过程中,我主要运用了Java语言和MySQL数据库技术,实现了系统的核心功能。
4. 系统测试与调试:在系统开发完成后,我和团队成员一起对系统进行了测试和调试。
通过不断的测试和优化,保证了系统的稳定性和可靠性。
5. 系统部署与维护:在系统测试合格后,我开始负责系统的部署和维护工作。
通过对系统的定期检查和更新,保证了系统的正常运行。
三、实习收获与反思通过本次实习,我收获颇丰。
首先,我学到了很多实际开发经验,掌握了Java语言和MySQL数据库技术的实际应用。
其次,我提高了自己的团队协作能力,学会了如何与团队成员沟通、协作,共同完成项目任务。
最后,我认识到了自己的不足,发现了自己在专业知识和实际操作中存在的漏洞,为今后的学习指明了方向。
同时,我也深刻反思了自己的实习过程。
在实习过程中,我认识到理论知识与实际工作的联系十分紧密,只有掌握了扎实的理论知识,才能在实际工作中游刃有余。
此外,我也认识到团队协作的重要性,一个优秀的团队可以产生1+1>2的效果。
一、实训背景随着我国航空事业的快速发展,航空客运订票系统在航空公司的运营中发挥着越来越重要的作用。
为了更好地了解和掌握航空购票系统的设计、开发和运行,我们小组进行了为期一个月的航空购票系统实训。
二、实训目的1. 熟悉航空购票系统的基本原理和功能;2. 掌握航空购票系统的设计和开发方法;3. 提高团队合作能力和实践能力;4. 为今后的工作积累经验。
三、实训内容1. 系统需求分析在实训过程中,我们首先对航空购票系统进行了需求分析。
通过查阅相关资料和与航空公司的技术人员沟通,我们了解到航空购票系统主要包括以下功能:(1)航班信息查询:用户可以查询到航班号、起飞时间、到达时间、机型、票价等信息;(2)机票预订:用户可以选择航班、座位、票价等,进行机票预订;(3)订单管理:用户可以查看、修改、取消订单;(4)支付管理:用户可以选择在线支付或线下支付;(5)个人信息管理:用户可以查看、修改个人信息;(6)客服中心:用户可以咨询航班、订票等问题。
2. 系统设计根据需求分析,我们制定了以下系统设计:(1)系统架构:采用B/S架构,前端使用HTML、CSS、JavaScript等技术,后端使用Java语言和SSM框架(Spring、SpringMVC、MyBatis)进行开发;(2)数据库设计:使用MySQL数据库,存储航班信息、用户信息、订单信息等;(3)功能模块设计:将系统分为航班信息模块、机票预订模块、订单管理模块、支付管理模块、个人信息管理模块和客服中心模块。
3. 系统实现在系统实现过程中,我们遵循以下步骤:(1)前端开发:使用HTML、CSS、JavaScript等技术,完成航班信息查询、机票预订、订单管理、个人信息管理等功能模块的前端页面设计;(2)后端开发:使用Java语言和SSM框架,完成航班信息查询、机票预订、订单管理、支付管理、个人信息管理等功能模块的后端逻辑实现;(3)数据库设计:使用MySQL数据库,创建数据表,存储航班信息、用户信息、订单信息等;(4)系统集成:将前端页面和后端逻辑进行集成,实现整个系统的功能。
机票预订系统压力测试报告1. 简介机票预订系统是一种用于在线预订航班机票的软件系统。
为了确保系统能够在高流量情况下正常运行,我们进行了一系列的压力测试,以评估其性能和稳定性,并提供本报告以记录和分析测试结果。
2. 测试环境我们搭建了一个模拟真实用户访问的测试环境,包括使用真实数据的航班信息和用户信息,并通过自动化工具模拟了多种类型的用户请求。
测试环境的配置如下:- 操作系统:Windows Server 2016- 虚拟机:VMware Workstation 15- 内存:8GB- 处理器:***********************3. 测试内容和方法我们针对机票预订系统的主要功能和模块进行了压力测试,包括以下方面:- 用户登录和注册- 航班查询和订购- 订单支付和确认- 退票和改签功能在每个功能测试中,我们模拟了多个并发用户同时访问系统,并通过增加并发请求的数量来逐渐增加系统的负载,直到达到系统资源的极限。
同时,我们还进行了长时间持续压力测试,以评估系统在高负载状态下的稳定性和性能表现。
4. 测试结果根据我们的压力测试,机票预订系统在正常使用负载下能够快速响应用户请求,系统性能表现良好,能够满足用户的需求。
然而,在极端高负载条件下,系统响应时间会有所增加,并存在一些瓶颈和性能问题。
具体的测试结果如下:- 在低负载条件下,系统平均响应时间为500毫秒。
- 随着并发用户数量的增加,系统响应时间逐渐增加。
当并发用户数量达到100时,系统平均响应时间增加到2秒。
- 当并发用户数量达到200时,系统响应时间进一步增加,平均响应时间达到5秒。
- 在持续高负载情况下,系统偶尔出现请求超时和响应错误的情况,但整体稳定性较好。
5. 性能优化建议根据测试结果,我们提出以下性能优化建议,以改善机票预订系统的性能和稳定性:- 针对数据库查询进行性能优化,包括索引的优化和查询语句的优化,以提高系统的查询和订购速度。
一、实验名称系统静态建模二、实验目的1、掌握用例(Use Case)、角色(Actor)、用例图(Use Case Diagram)的概念。
2、掌握用例与用例之间、用例与角色、角色与角色之间的相互关系。
3、掌握类的属性和操作以及与其相关的概念,重点掌握类与类之间的关系三、所用软件1、Rational Rose2、Micorsoft Word四、预习内容1、UML的用例图、类图画法2、机票预订系统的分析3、Rational Rose的使用方法。
五. 实验介绍为方便旅客,某航空公司拟开发一个机票预定系统。
旅行社把预定机票的旅客信息(姓名、性别、工作单位,身份证号码、旅行时间、施行目的地等)输入该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞前一天凭取票通知单和帐单交款取票,系统校对无误即印出机票给旅客。
机票预定系统的数据需求包括如下几点:1.数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。
数据的输入来源是手工输入。
手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
2.数据的一致性与完整性由于系统的数据是共享的,在不同的旅行社中中,机票是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。
要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。
3.数据的共享与独立性整个机票预定系统的数据是共享的。
然而,从系统开发的角度上看,共享会给设计和调试带来困难。
因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。
机票预定系统实验报告机票预定系统实验报告一、引言机票预定系统是现代航空业中不可或缺的一环。
它通过在线平台的方式,为乘客提供方便快捷的机票预订服务。
本次实验旨在探讨机票预定系统的设计与实施,以及对用户体验的影响。
二、系统设计与实施1. 系统架构机票预定系统的设计需要考虑到用户界面、数据库、后台逻辑等多个方面。
我们采用了三层架构,即用户界面层、业务逻辑层和数据访问层。
这样的架构能够保证系统的可扩展性和灵活性。
2. 用户界面设计用户界面是机票预定系统中最直接与用户交互的部分。
我们注重设计简洁、直观的界面,以提高用户的使用体验。
通过合理的布局和明确的操作流程,用户可以轻松地完成机票预订的过程。
3. 数据库设计为了存储用户的个人信息和机票预订记录,我们设计了一个符合实际需求的数据库结构。
通过合理的表结构设计和索引优化,可以提高数据的查询效率和系统的响应速度。
4. 后台逻辑实现后台逻辑是机票预定系统的核心部分,它包括用户认证、机票查询、订单生成等功能。
我们使用了面向对象的编程语言,通过合理的类设计和模块划分,实现了系统的各项功能。
三、用户体验的影响机票预定系统的用户体验是评价系统质量的重要指标。
通过本次实验,我们对用户体验进行了一系列的测试和分析。
1. 响应速度用户在使用机票预定系统时,最关心的是系统的响应速度。
我们通过模拟大量用户同时访问系统的情况,测试了系统的并发处理能力。
结果显示,系统能够在短时间内响应用户的请求,保证了用户的流畅体验。
2. 用户界面友好性用户界面的友好性对于提高用户体验至关重要。
我们邀请了一些用户进行系统的测试,并收集了他们的反馈意见。
根据用户的建议,我们对界面进行了一些优化,使得用户能够更加轻松地完成机票预订的过程。
3. 功能完整性机票预定系统需要提供全面的功能,包括机票查询、订票、退票等。
我们对系统的各项功能进行了测试,确保其能够满足用户的需求。
同时,我们还进行了一些异常情况的测试,以保证系统的稳定性和可靠性。
软件工程机票预订实验报告standalone; self-contained; independent; self-governed;autocephalous; indie; absolute; unattached; substantive本科实验报告课程名称:软件工程导论实验项目:机票预订系统实验地点:专业班级:学生姓名:指导教师:年月日1.实验目的和要求目的:为本实验课程做好各项准备工作,熟悉软件开发环境,熟悉电子资源的获取,了解学校内部工资系统的流程及其内容。
本实验课程通过完整地实施软件生命周期各阶段的任务,让学生系统地学习到软件开发过程的主要理论、方法、技术、标准和规范,使他们具备基本的软件开发设计能力;通过软件工程中常用CASE工具和软件项目管理的实践,使他们具备运用各种工具完成项目设计和实施的基本技能;通过集体项目开发,培训学生的合作意识和团队精神,培养学生对技术文档的编写能力。
要求:确定分组成员,根据提供的课题需求,作出相应的可行性研究报告,需求分析,结构化设计等。
结合具体的开发项目进行分析、设计。
二、实验内容和原理1.班级按项目小组进行分组,每组不得超过5人。
2.每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目,所有实验中都要采用同一个实验题目。
项目开发的每项任务要落实到人且规定该任务的起止日期和时间。
3.每个项目小组全体成员参加集体讨论需求分析,完成需求分析报告,,修订并评审需求分析报告,确定系统的需求分析模型。
4. 项目总体设计小组每个成员根据第3步需求分析的结果对系统进行总体设计,并完成文档,提交项目小组讨论。
2. 5. 项目详细设计小组人员每人选择第4步的一个模块进行详细设计。
6. 项目小组全体成员选择第4步的一个模块编码实现。
7. 由需求分析人员对第5步的结果进行黑盒测试,设计人员进行白盒测试,并编写测试计划和测试结果报告。
三、主要仪器设备计算机,相关软件开发工具和环境,浏览器四、操作方法与实验步骤小组情况项目题目:机票预订系统项目成员一、可行性分析报告1.引言目的为了方便旅客,航空公司拟开发一个飞机票预订系统。
机票预定系统调研报告机票预定系统调研报告一、调研目的随着人们生活水平不断提高,旅游和出差成为人们生活中不可或缺的一部分。
机票预定系统的出现为人们出行提供了更加便捷和高效的选择,本次调研旨在了解机票预定系统的现状,以及对其进行评估和分析,从而为未来的开发和改进提供参考。
二、调研方法本次调研采用了定性和定量相结合的方法,包括面对面访谈、问卷调查和数据分析等手段,通过对不同用户群体的意见和反馈进行综合分析,以获得全面的调研结论。
三、调研结果1. 现有机票预定系统普遍存在的问题:a. 界面设计:部分系统界面设计不够简洁,用户体验不佳。
b. 功能缺失:部分系统缺乏查询、预订、支付等基本功能,不能满足用户需求。
c. 信息不准确:部分系统提供的机票信息存在不准确或过时的情况,给用户带来困扰。
d. 客服服务:部分系统的客服服务不及时、不专业,难以解决用户的问题和困惑。
2. 用户对机票预定系统的期望:a. 界面友好:用户希望系统的界面设计简洁、操作方便,提供良好的用户体验。
b. 信息准确:用户希望系统能够提供准确、实时的机票信息,以便更好地做出预定决策。
c. 多样性选择:用户希望系统能够提供多样的机票选择,包括航班、航空公司、价格等方面的选择。
d. 专业客服:用户希望系统的客服能够及时、准确地回答问题,提供专业的服务。
四、结论和建议1. 结论:a. 现有机票预定系统在界面设计、功能缺失、信息准确性以及客服服务方面存在问题。
b. 用户对机票预定系统的期望主要集中在界面友好、信息准确、多样性选择和专业客服方面。
2. 建议:a. 完善界面设计:优化现有机票预定系统的界面设计,使其更加简洁美观,提高用户体验。
b. 支持主要功能:确保系统具备查询、预订、支付和退改签等基本功能,满足用户需求。
c. 提供准确信息:与机票供应商合作,确保机票信息的准确性和实时性。
d. 加强客服服务:提高客服团队的专业水平,加强培训,提供及时、准确的解答和帮助。
测试分析报1引言编写目的测试分析报告是在测试分析的基础上,对测试的结果以及测试的数据等加以记录和分析总结。
它也是测试过程中的一个重要环节,同时,它也是对软件性能的一个总的分析和认可及对不足之处的说明。
因此,测试分析报告对于今后对软件的功能的加强,不足之处的弥补等都起着十分重要的提纲作用。
另外,它还有利于今后软件开发者阅读原程序,根据测试提供的数据和结果,分析原代码,掌握各函数的功能和局限性。
从而缩短软件开发者的再开发时间和所耗费的精力、资金。
从这方面上,我们不难发现,测试分析报告所指明的对象主要是针对于软件开发者。
背景说明:1.被测试软件系统的名称:XX航空公司机票预订系统;2.此项目是由XX航空公司应顾客需求,要求开发一套实时,有效,完善,安全性好的软件系统。
XXXX软件开发小组应聘对此进行开发。
定义Microsoft Access: 系统服务器所使用的数据库管理系统(DBMS)。
SQL: 一种用于访问查询数据库的语言事务流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。
值互不相同。
外部主键:数据库表中与其他表主键关联的域。
ROLLBACK: 数据库的错误恢复机制。
参考资料1)张海藩《软件工程导论》(第五版)北京:清华大学出版社;2)《机票预订系统需求分析说明书》 XXXX软件开发小组;3)《机票预订系统可行性分析说明书》 XXXX软件开发小组;4)《机票预订系统概要和详细设计说明书》 XXXX软件开发小组。
2测试概要主界面模块:对输入参数查验,检测数据库数据异常时能否判断并给予适当处理。
测试用例预期结果错误的用户名提示:用户名错误错误的密码提示:密码错误正确的用户名、密码提示:登陆成功并转入相应页面航班管理模块:测试用例:测试用例预期结果错误的用户名提示:用户名错误错误的密码提示:密码错误正确的用户名、密码提示:登陆成功并转入相应页面用户管理模块:测试用例:测试用例预期结果输入显示用户,添加用户,进入下一界面创建订单,更改用户进入退票页,输入相关信息并确认显示退票成功进入订票页面,输入正确的用户信息显示订票成功和打印取票通知进入创建订单页面输入航班班次显示航班信息取票模块:测试用例:测试用例预期结果提交的信息与数据库资料不符提示输入有误,请重新输入提交的信息与数据库资料符合打印机票并更新数据库的机票信息旅客管理模块:测试用例:测试用例预期结果提交的信息与数据库资料不符提示输入有误,请重新输入提交的信息与数据库资料符合打印机票并更新数据库的机票信息3测试结果及发现测试1(标识符)系统登录/注册模块测试:对于无效输入能够做出判断,并提示用户;有效输入能够成功存入数据库中。
机票预定系统实验报告
《机票预定系统实验报告》
随着航空业的快速发展,机票预定系统成为了现代人出行的重要工具。
为了评估不同机票预定系统的效率和可靠性,我们进行了一项实验,并在本报告中分享我们的发现和结论。
实验方法:
我们选择了三个不同的机票预定系统进行测试,分别是A系统、B系统和C系统。
我们以相同的出发地和目的地为基准,分别在不同的时间段内使用这三个系统进行机票预定。
我们记录了每个系统的预定速度、可用航班数量、价格差异以及用户体验等方面的数据。
实验结果:
经过实验,我们发现A系统在预定速度上表现最佳,平均预定时间为3分钟;B系统次之,平均预定时间为5分钟;C系统表现最差,平均预定时间为10分钟。
在可用航班数量方面,A系统和B系统的航班选择较为丰富,而C系统的航班数量相对较少。
在价格方面,三个系统的价格相差不大,但A系统在特定时间段内能够提供更多的优惠折扣。
在用户体验方面,A系统和B系统的界面设计更加友好和直观,而C系统的界面较为复杂,容易使用户感到困惑。
结论:
通过这次实验,我们得出了以下结论:
1. A系统在预定速度、航班选择和用户体验方面表现最佳,是一个高效可靠的机票预定系统。
2. B系统在各个方面都表现稳定,是一个中等水平的机票预定系统。
3. C系统在预定速度和航班选择方面表现较差,需要改进其性能和用户体验。
总的来说,机票预定系统的性能和可靠性对用户的出行体验有着重要的影响。
我们希望通过这次实验报告,能够为用户选择合适的机票预定系统提供一些参考,也希望航空公司和系统开发者能够根据我们的实验结果,不断改进和优化机票预定系统,为用户提供更好的服务和体验。
机票预订系统实验报告:潘凯学号:1041903119专业:通信工程一、目的用面向对象分析、设计方法来分析机票系统。
二、主要内容及问题需求分析:为方便旅客,某航空公司拟开发一个机票预订系统。
旅行社把预订机票的旅客信息(、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。
功能需求该系统主要分为五大功能:系统管理、新增、修改、查询和系统维护。
机票预定系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。
三、使用环境操作系统:Windows XP建模工具:StarUML、Microsoft Visio四、设计内容1-1、用例模型图用例模型图说明:机票预订系统主要使用的对象是旅行社管理员。
管理员根据顾客填写的目的地和时间信息,将其输入系统,系统根据相关信息进行处理,则系统其中的一个功能即用例就是接收顾客信息。
顾客需要用取票单去航空公司取票,系统由管理员输入的信息来识别,则系统的另一个功能即用例就是预定管理员输入信息符合的票。
1-2、类图类图说明:为此系统定义了4个类,分别是顾客类,管理员类,航空公司类,机票类。
各个类对应的属性和操作方法在图中已表示出,目前应该还是有很多不完善的地方,在后期再加以修改。
1-3、对象图对象图说明:对象图是根据设置的类图而设置的。
一个对象就是类的一个具体实例,本例中设置了一个custom的取票操作,详细信息在图中已经设置,根据顾客的相关信息和操作,系统会调用相应的类的对象来处理,在本例中不一定会全部都涉及。
1-4、顺序图顺序图说明:顺序图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。
由于在顾客,旅行社,航空公司之间也有先后顺序,所以在顺序图中会有两个生命周期,分别是订票和取票操作。
旅行社根据顾客填写的信息,就操作系统的订票功能。
系统在对管理进行处理时,会先记录顾客的相关信息,最后再打印取票单给顾客。
系统对取票进行处理时,会先收取款,最后会把票给顾客。
1-5、状态图状态图说明:在订票系统中,主要会有两个对象的状态:顾客和管理员。
顾客的状态最开始是填写信息,再管理员将信息输入系统,此时系统查询合适的航班,顾客收到系统打印出的相应单据,最后顾客将取票单和款返回给系统得到票。
1-6、活动图活动图说明:状态图着重描述对象的状态变化以及触发状态变化的事件,活描述系统中各种活动的执行顺序,刻画一个方法中所要进行的各项活动的执行流程。
在订票系统中,各种活动由顾客和管理员的状态图转化而来。
顾客的信息,之后就由管理员输入系统,系统对应的活动就有查询订票,各自活动都有自己的的后续活动。
2、动态模型动态模型说明:动态模型主要是描述系统的动态行为和控制结构。
动态行为包括系统中对象生存期内可能的状态以及事件发生时状态的迁移,还包括对象之问动态合作关系,显示对象之间的交互过程以及交互顺序,同时描述了为满足用例要求所进行的活动以及活动问的约束关系。
动态模型主要包括的状态图、顺序图和活动图已经在1-4、1-5、1-6中画出。
建立动态模型的第一步是编写交互行为的脚本;第二步从脚本中提取出事件,确定后触发每个事件的动作对象及接收事件的目标对象;第三步排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。
最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。
3、功能模型功能模型说明:功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成,此功能模型的分析与设计依照对象模型和动态模型而来。
DFD图(数据流图)描绘信息流和数据从输入移动到输出的过程中所经受的变换。
数据流中没有任何具体的物理部件,它知识描绘数据在软件中流动和被处理的逻辑过程,流程如图。
4、对象模型对象模型说明:对象模型描述了现实世界中的类与对象以及它们之间的关系,表示了目标系统的静态数据结构。
首先确定对象类和关联,对于大型复杂问题还要进一步划分出若干个主题;然后给类和关联增添属性,以进一步描述它们;接下来利用适当的继承关系进一步合并和组织类。
而对类中操作的最后确定,则需要等到建立了动态模型和功能模型之后,以为这两个子模型更准确地描述了对类中提供的服务的需求。
数据库表航空公司表字段类型含义说明Airline_ID Varchar(50) 航空公司的ID 用来唯一标识一个航空公司(PK)航空公司的名字Airline _Name Varchar(200) 航空公司的名字Airline _Addr Varchar(200) 航空公司所在航空公司所在地地航班表字段类型含义说明Flight_ID Varchar(50) 航班的ID 用来唯一标识次航班(PK)Flight_Time Time 航班时间飞机的起飞时间Flight _Start Varchar(200) 航班起点飞机的起飞地点Flight_End Varchar(200) 航班终点飞机的飞行目的地Flight_Number Int(8) 航班乘坐人数航班乘坐人数C语言代码#include<stdio.h> //标准输入、输出头文件#include<string.h> //包含字符串函数处理头文件#include<stdlib.h> //包含动态存储与释放函数头文件#define N 10000struct air //定义结构体数组{int num;char start[20];char over[20];char time[10];int count;}s[N];int i;int m=0;#define PRINT "%-d%12s%12s%10s%12d\n ",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //定义输出格式void input();void print();void search();void Delete();void Booking();void Modify();void Refund();void save();void read();void main(){int j;do{printf(" ★---您好,欢迎进入中国民航管理系统!---★\n");printf("================================================================ ================ ");printf(" -------- ☆ 1.输入航班信息☆--------\n "" -------- ☆ 2.浏览航班信息☆-------- \n"" -------- ☆ 3.查询航班信息☆-------- \n"" -------- ☆ 4.删除航班信息☆-------- \n"" -------- ☆ 5.订票信息☆--------\n "" -------- ☆ 6.修改信息☆--------\n "" -------- ☆7.退票信息☆-------- \n"" -------- ☆0.退出☆-------- \n");printf("================================================================ ================\n ");printf("请在0-7中选择以回车键结束:");scanf("%d",&j);switch(j){case 1: input();//调用输入模块break;case 2:print();//调用打印模块break;case 3:search();//调用查询模块break;case 4:Delete();//调用删除模块break;case 5:Booking();//调用订票模块break;case 6:Modify();//调用修改模块break;case 7:Refund();//调用退票模块break;case 0:break;}}while(j=!0);}void input()//打印模块程序{char f[]="2008china"; //设置密码int y;printf("请输入密码并以回车键结束: ");scanf("%s",f); //读取密码if(strcmp(f,"chinahk")==0){printf("请依次输入航班信息(机票数为0结束输入): ""完成输入信息请键入w以回车键结束\n"); //打印提示信息printf("-------------------------------------------------------------------------- \n");for(i=0;i<N;i++){printf("请输入航班号: ");scanf("%d",&s[i].num); //读取航班号printf("请输入起始站: ");scanf("%s",s[i].start);//读取起始站printf("请输入终点站: ");scanf("%s",s[i].over);//读取终点站printf("请输入时间: ");scanf("%s",s[i].time);//读取时间printf("请输入机票数(机票数为0结束输入): ",m);scanf("%d",&s[i].count);//读取机票数m++;printf("第%d个信息已经输完是否继续?按任意键继续,按0结束",m);scanf("%d",&y);//在此需输入任意一个整数值数值,程序才能继续执行if(y==0)break;}save();//保持输入数据}elseprintf("输入密码错误!请检查您的密码是否正确!谢谢!再见! \n");}void save()//保存模块程序{FILE *fp;//定义文件指针if((fp=fopen("E:\\飞机票系统数据保存.txt","w"))==NULL)//打开文件并判断是否出错{printf("文件打开失败! ");//打印出错提示}else{fprintf( fp,"航班号起始站终点站时间机票数\n");fprintf( fp,"============================================================\ n ");for(i=0;i<m;i++){fprintf(fp,"%-d%12s%12s%10s%12d\n ",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count);}}fclose(fp);//关闭文件}void read()//从文件读取信息模块{FILE *fp;//定义文件指针if((fp=fopen("E:\\飞机票系统数据保存.txt","r"))==NULL)//打开文件,并判断是否出错printf("创建文件失败! ");//打印出错提示elsefor(i=0;i<m;i++){fscanf(fp,"%-d%12s%12s%10s%12d\n ",&s[i].num,s[i].start,s[i].over,s[i].time,&s[i].count );printf(PRINT);}fclose(fp);//关闭文件}void print()//打印模块{char w[10];printf("航班号起始站终点站时间机票数\n");read();//调用读取文件函数/*for(i=0;i<m;i++){printf(PRINT);//打印信息printf("\n");}*/printf("请按任意键回车键结束返回上层菜单以: \n");scanf("%s",w);}void search()//查询模块{char name1[20];char name2[20];char ii[10];int n,no;do{printf("请选择查找方式:");//打印查询方式菜单printf("1.按航班号查找""2.按终点站查找""3.按航线查找""0.返回");printf("请在0-3中选择:""按其他键以回车键结束返回主菜单:\n ");scanf("%d",&n);//读取查找方式if(n==0)break;switch(n){case 1:printf("请输入航班号:");scanf("%d",&no);//航班号break;case 2:printf("请输入终点站名称:");scanf("%s",name2);//读取终点站break;case 3:printf("请输入起始站名称:");scanf("%s",name1);//读取起始站printf("请输入终点站名称:");scanf("%s",name2);//终点站break;}printf("航班号起始站终点站时间机票数\n");read();//调用读取函数for(i=0;i<m;i++){if(strcmp(s[i].over,name1)==0&&strcmp(s[i].over,name2)==0)//按终点站起始站判断输出条件{printf(" 对不起,没有您要的航班信息!\n ");break;}if(strcmp(s[i].over,name2)==0){printf("航班号起始站终点站时间机票数\n");printf(PRINT);//打印信息break;}if(s[i].num==no)//按航班号判断输出条件{printf(" 查找航班信息成功!\n ");printf("航班号起始站终点站时间机票数\n");printf(PRINT);//打印信息break;}}no=0;//将航班号赋值为0printf("没有您需要的信息或查找完毕:\n ""是否继续查找?请键入yes或no以回车键结束\n ");scanf("%s",ii);}while(strcmp(ii,"yes")==0||strcmp(ii,"no")==0);//判断结束}void Delete()//删除模块{char name1[20];char name2[20];char ii[10];char f[]="2008china";//设置密码int no,n;printf("请输入密码并以回车键结束: \n");scanf("%s",f);//读取密码if(strcmp(f,"2008china")==0) //判断密码是否正确{do{printf("请选择删除以方式回车键结束:\n ");//打印删除方式菜单printf("*1.按航班号删除""*2.按航线删除""*0.返回");printf("请在0-2中选择以回车键结束:\n");scanf("%d",&n);//读取删除方式if(n==0)break; //跳出循环switch(n){case 1:printf("请输入航班号:");scanf("%d",&no);//读取航班号read();//调用读取函数break;//跳出循环case 2:printf("请输入起始站名称:");scanf("%s",name1);//读取起始站printf("请输入终点站名称:");scanf("%s",name2);//读取终点站read();//调用读取函数break;//跳出循环}for(i=0;i<m;i++){if(s[i].num==no)//按航班号删除{printf("航班号起始点终点站时间票数\n");for(int j=i;j<m;j++){s[j]=s[j+1];}m--;for(int i=0;i<m;i++){printf(PRINT);}}if(strcmp(s[i].start,name1)==0&&strcmp(s[i].over,name2)==0){printf("航班号起始点终点站时间票数\n");for(int k=i;k<m;k++){s[k]=s[k+1];}m--;for(int i=0;i<m;i++){printf(PRINT);}}}printf("查找完毕或没有这个信息");printf("是否继续删除\n");printf("请键入yes或no以回车键结束\n");scanf("%s",ii); //读取是否继续信息save(); //调用读取函数if(!strcmp(ii,"yes")) //判断是否继续删除printf("请按任意键以回车键结束返回上层菜单: ");break;}while(n!=1&&n!=2&&n!=0); //判断结束}elseprintf("对不起密码错误!您不是管理员,不能使用此项功能!谢谢!再见!\n "); }void Booking()//订票模块{int n;char a[10];do{search();//调用查询模块printf("请输入您要订的机票数以回车键结束:\n ");scanf("%d",&n);//读取所订机票数if(n<0||s[i].count<n){printf("请输入有效的机票数!");//判断机票数是否出错}if(s[i].count!=0&&s[i].count>=n)//判断是否出错{s[i].count=s[i].count-n;save();//调用保存函数printf("订票成功!\n\n ");}printf("是否继续?请输入yes或no以回车键结束: \n");//判断是否继续订票scanf("%s",a);}while(!strcmp(a,"yes"));//判断结束}void Refund()//退票模块{int n;char a[10];do{search();//调用查询模块printf("请输入您要退的机票数目:");scanf("%d",&n);//输入所退票数if(n<0) //判断票数是否有效printf("请输入有效的机票数!");else{s[i].count=s[i].count+n;save(); //调用保存模块printf("退票成功! ");}printf("是否继续?请键入yes或no以回车键结束: ");//判断是否继续退票scanf("%s",a);}while(!strcmp(a,"yes"));//判断并跳出循环}void Modify() //修改模块{struct modify //定义结构体{int mo;char start1[20];char over1[20];char time1[20];int count1;}M[1];char j[10];char f[]="2008china";//设置密码int n;printf("请输入密码并以回车键结束: ");scanf("%s",f);//读取密码if(strcmp(f,"2008china")==0)//判断是否出错printf("航班号起始点终点站时间票数\n");read();//调用读取模块do{printf( "请选择修改方式:\n ""*1,按航班号修改: \n""*2,按航线修改:\n ");printf("请在1---2中修改以回车键结束:\n");scanf("%d",&n);//读取修改方式switch(n){case 1:printf("请输入航班号:");scanf("%d",&M[0].mo);//读取航班号break;case 2:printf("请输入起始站:");scanf("%s",M[0].start1);//读取起始站printf("请输入终点站:");scanf("%s",M[0].over1);//读取终点站break;}for(int i=0;i<m;i++){if(strcmp(s[i].start,M[0].start1)==0&&strcmp(s[i].over,M[0].over1)==0)//判断输出条件{printf("航班号起始站终点站时间机票数\n");printf(PRINT);break;}if(s[i].num==M[0].mo)//判断输出条件{printf("航班号起始站终点站时间机票数\n");printf(PRINT);break;}}M[0].mo=0; //将结构体中的号为零printf("请输入新航班号、起始站、终点站、时间(星期几)、机票数:\n ");printf("新航班号新起始站新终点站新时间新机票数\n");scanf("%d\t%s\t%s\t%s\t%d",&M[0].mo,M[0].start1,M[0].over1,M[0].time1,&M[0].count1);//定义输入格式s[i].num=M[0].mo;//替换航班号strcpy(s[i].start,M[0].start1);//替换其始站strcpy(s[i].over,M[0].over1);//替换终点站strcpy(s[i].time,M[0].time1);//替换时间s[i].count=M[0].count1;//替换机票数save();//调用保存模块printf("是否继续?请键入yes或no以回车键结束:\n ");scanf("%s",j);}while(strcmp(j,"yes")==0||strcmp(j,"no")==0); //判断结束elseprintf("对不起密码错误!您不是管理员,不能使用此项功能!谢谢!再见! "); }登陆界面:(密码是chianhk)输入信息界面:查询界面:订票系统:五、总结通过本次实验,我基本能用面向对象的分析方法来分析机票预定系统,用面向对象的设计方法来实现系统的各种基本模型图。