软件工程课程设计
软件工程课程设计

软件工程课程设计1000字软件工程课程设计是一门专业性很强的课程,它涵盖了软件开发的整个过程,从需求分析到软件测试,以及代码实现等等。
它的目的是培养学生具备完整的软件工程知识和技能,使他们能够设计和开发高质量的软件产品。
在软件工程课程设计中,有几个关键要素需要学生掌握:1. 软件需求分析软件需求是软件开发的基础,它确保了软件开发的正确性。
在软件工程课程设计中,学生需要学习如何进行需求分析,收集、分析和规范化软件需求,以确保软件设计满足用户需求和功能。
2. 软件设计和架构软件设计和架构关注软件如何被设计以便高效地实现用户需求和功能。
在设计软件时,学生需要关注软件的可扩展性、可维护性和可重用性。
软件架构则关注系统的整体结构,它是一个系统的基础设施,这包括组件的分布和接口的定义等等。
3. 编程技能在软件工程课程设计中,学生需要学习如何使用编程语言(如Java、C++等)进行软件开发。
他们需要了解不同的编程范式,如面向对象编程和函数式编程,以及如何使用软件设计模式(如工厂模式、观察者模式、策略模式等)来有效地开发软件。
4. 软件测试软件测试是确保软件产品高质量和正确性的最后一道关口。
在软件工程课程设计中,学生需要学习如何进行软件测试,包括单元测试、集成测试和系统测试等。
他们需要了解不同的测试技术,并掌握软件测试工具和技术。
5. 团队合作和项目管理软件工程涉及到一个团队的开发工作,因此,团队合作和项目管理也是软件工程课程设计中的重要内容。
学生需要掌握团队合作技巧,比如如何进行有效的沟通和如何分配任务等。
同时,学生还需要了解项目管理的基本原则和工具,如项目计划、资源管理和风险管理等。
总之,软件工程课程设计是一门非常重要的课程,学生需要在其中掌握很多重要的知识和技能。
在完成这门课程的过程中,他们将学会整个软件开发过程中的各个环节,从而能够成为更好的软件开发人员。
软件工程的课程设计

软件工程的课程设计一、教学目标本节课的教学目标是使学生掌握软件工程的基本概念、原则和方法,培养学生分析和解决软件工程问题的能力,提高学生的软件工程实践能力。
具体目标如下:1.了解软件工程的基本概念、历史和发展趋势;2.掌握软件工程的基本原则和方法;3.理解软件开发过程中的各个阶段及其任务。
4.能够运用软件工程原则和方法分析、解决软件工程问题;5.能够编写简单的软件工程文档;6.能够参与软件开发过程中的各个阶段。
情感态度价值观目标:1.培养学生对软件工程的兴趣和热情,提高学生对软件工程的认识;2.培养学生团队协作、积极参与软件开发过程的精神;3.培养学生遵循软件工程规范、提高软件质量的意识。
二、教学内容本节课的教学内容主要包括软件工程的基本概念、原则和方法,以及软件开发过程中的各个阶段。
具体安排如下:1.软件工程概述:介绍软件工程的定义、历史和发展趋势;2.软件工程原则:讲解软件工程的基本原则,如模块化、抽象化、迭代开发等;3.软件工程方法:介绍软件工程常用的方法,如结构化方法、面向对象方法等;4.软件开发过程:讲解软件开发过程中的各个阶段,如需求分析、设计、编码、测试等;5.软件工程实践:通过案例分析,使学生掌握软件工程的应用。
三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用多种教学方法,如讲授法、讨论法、案例分析法等。
具体方法如下:1.讲授法:用于讲解软件工程的基本概念、原则和方法;2.讨论法:学生就软件工程实践中的问题进行讨论,培养学生的思考能力;3.案例分析法:通过分析实际案例,使学生掌握软件工程的应用。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的教材,如《软件工程》、《软件开发方法》等;2.参考书:提供相关的参考书籍,如《软件工程实践》、《软件工程案例分析》等;3.多媒体资料:制作精美的PPT,展示软件工程的图片、图表等;4.实验设备:准备计算机、网络等实验设备,便于学生进行实践操作。
软件工程导论课程设计

软件工程导论 课程设计一、课程目标知识目标:1. 了解软件工程的基本概念、原则和方法,掌握软件开发的基本流程和模型;2. 理解软件需求分析、软件设计、编码、测试等阶段的任务和目标;3. 掌握软件项目管理的基本知识,了解软件质量保证和风险管理的重要性。
技能目标:1. 能够运用软件工程的基本方法进行小规模软件项目的需求分析和设计;2. 学会使用至少一种编程语言进行软件编码,并掌握基本的调试技巧;3. 能够运用项目管理方法,对软件项目进行计划、执行和监控。
情感态度价值观目标:1. 培养学生对软件工程的兴趣,激发他们探索软件世界的热情;2. 培养学生的团队合作意识,使他们学会在团队中分工合作、共同解决问题;3. 培养学生具备良好的软件工程伦理素养,关注软件质量、用户体验和社会责任。
本课程针对高中年级学生,结合课程性质、学生特点和教学要求,将课程目标分解为具体的学习成果。
通过本课程的学习,使学生能够掌握软件工程的基本知识,具备初步的软件开发能力,同时培养他们的团队合作意识和软件工程伦理素养。
为后续深入学习软件工程相关领域知识打下坚实基础。
二、教学内容1. 软件工程基本概念:软件、软件工程、软件生命周期、软件开发模型;2. 软件需求分析:需求获取、需求分析、需求规格说明书;3. 软件设计:总体设计、详细设计、设计原则和模式;4. 编码与实现:编程语言选择、编码规范、调试技巧;5. 软件测试:测试方法、测试策略、测试用例设计;6. 软件项目管理:项目计划、项目执行、项目监控、风险管理;7. 软件质量保证:质量标准、质量保证方法、质量评估;8. 软件工程伦理:软件工程伦理原则、伦理问题案例解析。
教学内容依据课程目标,按照科学性和系统性原则,结合教材章节进行组织。
教学大纲明确以下安排和进度:第一周:软件工程基本概念;第二周:软件需求分析;第三周:软件设计;第四周:编码与实现;第五周:软件测试;第六周:软件项目管理;第七周:软件质量保证;第八周:软件工程伦理。
软件工程课程设计

感谢您的观看
汇报人:
确定软件的目标和 范围
定义软件系统的功 能需求
描述软件系统的非 功能需求
确定软件系统的约 束和假设
软件设计
软件设计的目标和任务
软件设计的目标是 实现软件的功能需 求、性能需求和用 户界面需求,同时 保证软件的可维护 性、可扩展性和可
重用性。
软件设计的任务包 括对软件系统进行 结构设计和数据设 计,确定软件系统 的组成模块、接口 和数据库等,并制 定相应的设计规范
软件工程课程设计
汇报人:
目录
添加目录标题
软件设计
01
04
软件工程课程设计概 述
软件实现
02
05
软件需求分析
03
软件测试和维护
06
添加章节标题
软件工程课程设 计概述
课程设计的目的和意义
目的:通过实践操作,加深对软件工程理论知识的理解,提高实际操作 能力。
意义:为后续的软件开发工作打下基础,培养团队协作和沟通能力。
需求建模的方法和工具
需求建模的基本方 法:包括功能需求、 非功能需求、设计 约束等
需求建模的工具: 如Enterprise Architect、Visual Paradigm等
需求建模的步骤: 包括需求获取、分 析、描述、验证等
需求建模的注意事 项:如准确性、完 整性、可验证性等
需求规格说明的编写
设计目标:确定 系统的整体结构, 提高可维护性、 可扩展性和可重 用性。
设计过程:需求 分析、架构设计、 详细设计、实现 与测试。
常见软件体系结 构风格:分层式、 客户端-服务器、 浏览器-服务器等。
数据库设计
确定数据库需 求
创建数据表和 关系
软件工程第4版课程设计

软件工程第4版课程设计1. 课程设计背景软件工程课程是计算机科学与技术专业的核心课程之一,同时也是软件开发人员必备的技能之一。
在当今信息化发展快速的时代,软件工程技术的应用场景越来越广泛,因此软件工程教育的重要性日益突显。
本次课程设计旨在结合软件工程第4版教材的理论知识,通过实践项目的形式,让学生们深入了解软件工程的全过程,加强实际动手能力,提高软件工程实践能力。
2. 课程设计目标本次课程设计的主要目标有以下几点:1.理解软件工程的基本原理和开发过程;2.学习项目管理的相关技能,加强团队协作能力;3.熟悉多种软件开发工具的使用,包括代码编辑器、版本控制工具等;4.通过实践项目,加深对软件工程理论的理解,提高实践能力。
3. 课程设计内容本次课程设计分为三个阶段:3.1 阶段一:项目规划本阶段主要任务是对项目进行全面的规划和确定,包括项目范围、需求分析、项目进度计划等。
学生们需要学习和运用项目管理工具,如Github、Trello等,对项目进行全面管理。
3.2 阶段二:项目实现在第一阶段确定了项目要求和进度计划后,进入第二阶段,即项目实现。
学生们需要按照需求规范,在规定的时间内完成项目,并保证代码质量。
在开发过程中需要学习和使用相应的开发工具,例如开发环境的配置、版本控制工具的使用等。
3.3 阶段三:项目测试与验收在完成开发后,需要进行测试和验收。
在测试中,学生们需要根据测试用例进行测试,同时熟悉测试工具,如Selenium、JMeter等。
验收过程中需要撰写验收测试报告,并对代码进行最终检查和整理。
4. 课程设计总结本次课程设计旨在通过实践项目的形式,加深对软件工程理论的理解,强化实践能力。
通过课程设计,学生们能够在实际操作中理解和掌握软件开发全过程,体验团队协作和项目管理的实际应用。
同时,本次课程设计也可以为学生们今后的软件开发工作打好基础,提高实际操作能力和职业竞争力。
软件工程课程设计报告

软件工程课程设计报告软件工程课程设计报告1、项目概述本项目是一个软件工程课程的设计项目。
通过设计和开发一个软件系统,来实践软件工程的相关知识和方法。
本项目旨在提高学生的实践能力和团队合作能力,培养学生的软件开发和管理能力。
2、项目背景随着信息技术的发展,软件系统在各个领域中得到广泛应用。
软件开发的需求量不断增加,对软件工程人才的需求也日益增长。
因此,学习和掌握软件工程的知识和方法成为了现代学生必备的能力之一。
3、项目目标本项目的目标是通过设计和开发一个软件系统,来实践和应用软件工程的相关知识和方法。
具体目标包括:- 学习和掌握软件工程的基本理论和方法;- 通过实践项目,提高学生的软件开发和管理能力;- 培养学生的团队合作能力和沟通能力;- 在项目中培养学生的创新思维和问题解决能力。
4、项目计划本项目的计划包括以下几个阶段:- 需求分析阶段:通过与用户和相关利益方沟通,收集和分析项目的需求;- 设计阶段:根据需求分析结果,进行系统设计和架构设计;- 编码阶段:根据设计文档,进行系统编码和单元测试;- 测试阶段:进行系统测试和集成测试,包括功能测试和性能测试;- 部署阶段:将系统部署到实际环境中,并进行用户培训和验收测试;- 维护阶段:对系统进行维护和支持,解决用户的问题和bug。
5、项目团队本项目的团队由多名学生组成,每名学生负责不同的角色和任务。
其中包括项目经理、需求分析师、设计师、开发工程师、测试工程师和运维工程师等。
6、项目成果本项目的最终成果是一个完整的软件系统,包括用户界面、功能模块和数据库等。
项目成果将根据用户需求和项目计划来确定和评估。
7、项目总结通过本项目的设计和开发,学生将能够实践和应用软件工程的相关知识和方法,提高其软件开发和管理能力。
同时,通过团队合作和沟通,学生的团队合作能力和沟通能力也将得到提高。
这对于学生的综合素质和就业能力都有着重要的意义。
软件工程期末课程设计

软件工程期末课程设计一、课程目标知识目标:1. 理解并掌握软件工程的基本概念、原则和方法;2. 学会运用结构化分析方法进行需求分析,并能设计出清晰、合理的软件需求规格说明书;3. 掌握软件设计的基本原理,能够运用面向对象设计方法进行软件设计;4. 了解软件测试的基本策略和技巧,能够对简单软件系统进行测试计划的制定和实施;5. 理解软件工程项目管理的基本知识,包括进度控制、风险管理等。
技能目标:1. 能够运用所学软件工程方法,独立完成小型软件系统的需求分析和设计;2. 培养团队协作能力,能在团队中发挥个人专长,与他人共同完成软件开发任务;3. 能够运用软件测试方法,对软件系统进行基本的测试,发现并修复缺陷;4. 学会使用项目管理工具,对软件开发过程进行有效管理。
情感态度价值观目标:1. 培养学生严谨、细致的工作态度,注重软件工程实践中的规范性和质量;2. 激发学生的创新意识,鼓励在软件设计中寻求优化和改进;3. 培养学生具备良好的沟通能力,能够与团队成员有效交流,共同解决问题;4. 培养学生的责任感和团队精神,使其认识到个人在团队中的价值。
本课程针对高年级学生,结合软件工程学科特点,以实用性为导向,旨在帮助学生将所学理论知识与实际软件开发过程相结合,提高学生的软件开发能力。
课程目标具体、可衡量,有利于教师进行教学设计和评估,同时有助于学生明确学习成果,提高学习效果。
二、教学内容1. 软件工程概述:介绍软件工程的基本概念、发展历程、目标与原则,使学生建立对软件工程的初步认识。
教材章节:第1章 软件工程概述2. 软件需求分析:讲解需求分析的基本概念、方法和技术,重点掌握结构化分析方法。
教材章节:第2章 软件需求分析3. 软件设计:介绍软件设计的基本原理、方法,重点掌握面向对象设计方法。
教材章节:第3章 软件设计4. 软件测试:讲解软件测试的基本概念、策略与技巧,学会制定测试计划。
教材章节:第4章 软件测试5. 软件项目管理:介绍项目管理的基本知识,包括进度控制、风险管理等。
软件工程课程设计大纲

软件工程课程设计大纲一、课程目标知识目标:1. 让学生理解软件工程的基本概念、原则和方法;2. 使学生掌握软件开发各阶段的目标、任务及相互关系;3. 帮助学生了解软件项目管理、软件质量保证及软件测试的相关知识;4. 引导学生掌握至少一种编程语言及其在软件工程中的应用。
技能目标:1. 培养学生运用软件工程方法进行问题分析、需求分析、系统设计的能力;2. 提高学生编写规范、可读性强、高质量的代码的能力;3. 培养学生团队合作意识,提高项目管理和沟通协调能力;4. 培养学生运用软件测试方法对软件进行质量保证的能力。
情感态度价值观目标:1. 培养学生对软件工程的兴趣,激发学生主动学习和探究的精神;2. 引导学生树立正确的软件工程观念,认识到软件质量对于整个软件生命周期的重要性;3. 培养学生具备良好的职业道德,尊重知识产权,遵循行业规范;4. 培养学生具备较强的责任感,关注软件对社会、环境及人类生活的影响。
课程性质:本课程为理论与实践相结合的课程,旨在培养学生掌握软件工程的基本理论、方法和技术,具备软件开发和项目管理能力。
学生特点:本课程针对的是高年级学生,他们已经具备一定的编程基础和软件工程知识,具备较强的自主学习能力和团队合作精神。
教学要求:教师应注重理论与实践相结合,引导学生通过案例分析和项目实践,将所学知识应用于实际软件开发过程中。
同时,关注学生个体差异,提供个性化指导,确保课程目标的达成。
在教学过程中,注重评估学生的具体学习成果,以指导后续的教学设计和教学改进。
二、教学内容1. 软件工程概述- 软件工程的定义、目标与原则- 软件生命周期与开发模型2. 软件需求分析- 需求分析的方法与工具- 需求规格说明书编写3. 软件设计- 概要设计与详细设计- 设计模式与应用- 编码规范与命名规则4. 编程语言及应用- Java、C++、Python等编程语言基础- 编程语言在软件工程中的应用案例5. 软件测试- 软件测试方法与策略- 自动化测试工具与应用- 测试用例设计与执行6. 软件项目管理- 项目计划与管理方法- 团队协作与沟通技巧- 风险管理及应对措施7. 软件质量保证- 软件质量标准与评价方法- 软件过程改进与优化- 质量保证工具与技术8. 项目实践- 案例分析与讨论- 团队项目开发与实施- 项目成果展示与评价教学内容安排与进度:第1-2周:软件工程概述、需求分析第3-4周:软件设计、编程语言及应用第5-6周:软件测试、软件项目管理第7-8周:软件质量保证、项目实践教学内容与教材章节关联性:本教学内容与教材《软件工程》各章节紧密关联,涵盖了软件工程的基本理论、方法和技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连科技学院毕业实习报告题目开拓飞机票管理系统学生姓名康志华专业班级软件工程08-2 指导教师王立娟刘瑞杰职称讲师讲师所在单位信息科学系软件工程教研室教学部主任王立娟完成日期 2012年3月23日毕业实习报告单综合评定:(优、良、中、及格、不及格)指导教师签字:2012年3月23日《毕业实习设计》任务书任务及要求:一、设计(研究)内容和要求内容:编写一个飞机票系统管理软件,使用GUI界面,实现“飞机票订阅”和“飞机票查询”两部分功能。
用户可以对飞机票信息和销售预定信息进行,查询,添加,删除等操作。
采用数据库存储数据。
要求:1、软件要求(1)实现界面,可以依次录入飞机票管理系统登录的界面,主界面,飞机票预订管理的界面,飞机票销售信息查询管理的界面。
(2)实现数据库的连接和应用功能。
(3)实现对飞机票预订信息和销售信息的查询,添加,删除等功能。
2、文档要求(1) 设计程序结构、画出模块图。
(2)按照指导教师给出的项目文档的模板进行书写。
(3) 参考文献数量不得低于4个。
二、工作量3周(15个工作日)时间三、计划安排第1个工作日-第3个工作日:查找相关资料、书籍,阅读示例文档;设计程序结构、模块图、完成类的设计。
第4个工作日-第12个工作日:完成程序的编码,并且自己调试、测试。
穿插进行项目文档的撰写。
第13个工作日-第14个工作日:撰写和整理项目文档。
第15个工作日:由教师检查软件测试效果、项目文档,给出学生本课程成绩。
指导教师签字:2012年3月5日目录1 需求分析 (1)1.1 功能要求 (1)1.2 操作要求 (1)1.3 系统性能要求 (1)2 总体设计 (3)2.1 本系统的主要功能 (3)2.2 系统包含的类及类之间的关系 (3)2.3 java源文件及其功能 (3)3 详细设计与实现 (4)3.1 主类main类 (4)3.2 模式设计 (4)3.3 数据库表 (5)3.3 运行效果 (7)3.3.1 系统主界面 (7)3.3.2 系统具体功能实现录入界面 (7)参考文献 (9)毕业实习设计总结 (10)附录 (11)1 需求分析1.1 功能要求开拓航空订票管理系统主要是为机场、航空公司和客户三方进行服务的。
航空公司提供航线、飞机的资料,机场则对在本机场起飞和降落的航班和机票进行管理,而客户能得到的服务应该有查询航班路线和剩余票数,以及网上订票,退票,以及改签等功能。
客户可以分为两类:一类是普通客户,对于普通客户只有普通的查询功能和订票功能没有相应的票价优惠;另一类是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策。
机场还要有紧急应对措施,在航班出现延误时,要发送相应的信息。
1.2 操作要求并分析所需要存储的数据信息。
(1)查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;(2)承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况和折扣情况,若尚有余票,则根据折扣为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。
若需要,可登记排队候补;(3)承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足客户的要求,则为客户办理订票手续,否则依次询问其他排队候补的客户。
(4)承办改签业务:若客户晚点到达机场或因故不能乘坐预定的航班,为客户办理改签手续,根据与客户沟通的乘坐时间,查询该航班的载客情况,改签到下一班次。
1.3 系统性能要求(1)客户订票过程设计一个存储过程,实现客人订票处理。
提示:需先查看客户是否为特殊客户,若不是,则票价不打折扣;否则如果客户累计航程超过10万公里,票价打九折;超过20万公里,打八折。
获得确切票价后加入客户订票信息表中,并将客户新订票里程的信息累计到用户信息表中。
注:须查看客户订票后,是否超过可容纳的座位数目,如果超过,取消所有操作。
(2)飞机更新处理设计一个触发器,实现在飞机信息表中若删除了一架飞机,同时需删除该航班的信息。
(3)航班延误处理设计一个触发器,实现若航班产生延误,则发出信息通知客户。
(4)余票更新处理设计一个触发器,实现若订票后,自动更新的功能。
2 总体设计2.1 本系统的主要功能1.查询航线功能;2.办理订票业务功能;3.办理退票业务功能;4.办理改签业务功能;2.2 系统包含的类及类之间的关系本系统共包括7个java源文件。
如图2-1所示。
图2-1 类之间的关系2.3 java源文件及其功能1.book.java该文件实现了订票功能;2.query.java该文件实现了查询功能;3.order.java该文件实现了预约功能;4.change.java该文件实现了改签功能;5.refound.java该文件实现了退票功能;6.mydb.java该文件实现了与SQL之间的连接;7.main.java该文件为运行类,其中包含了主方法。
3 详细设计与实现3.1 主类main类(1)成员变量见表2-1表2-1 主要成员变量(属性)(2)方法见表2-2表2-2 主要方法(3)源代码见文件Main.java3.2 模式设计按系统整体E-R模型,写出关系模式;并利用数据字典加以描述。
(如每个关系模式有何属性、属性的类型、属性值的长度、是否可取空值、是否为主码、有何约束条件等信息)航空客运的业务包括查询,订票,退票,预约,改签等。
用户通过查询航线、航班来确定自己的需求。
需要建立一个关系模式,如下:∙航线(航线号,航班号,出发地,终点,出发时间,到底时间)∙航班(航班号,飞机号,出发地,终点)∙飞机(飞机号,一等舱数量,二等舱数量,三等舱数量)∙机票(机票号,座位号,单价,航班号,客户号)∙客户(客户号,身份证号,姓名,联系方式,类型)∙订票(订票号,客户号,舱位等级,订票量,订票价格)∙退票(退票量,订票号)∙预约(预约号,预约量,客户号)改签(客户号,改签航班)3.3 数据库表表2-5 飞机表2-11 改签3.3 运行效果3.3.1 系统主界面图3-1 系统主窗口3.3.2 系统具体功能实现录入界面图3-2 查询操作界面图3-3 订票操作界面图3-4 退票操作界面图3-5 改签操作界面参考文献[1] 孙卫琴.Java面向对象编程.电子工业出版社.2006年[2] 王海亮,张立民.精通Oracle 10g SQL和PLSQL.中国水利水电出版社.2006[3] 耿祥义,张跃平.JAVA2实用教程(实用教程)[M].北京:清华大学出版社,2006.[4] (美)Karl E.Wiegers.软件需求(第二版)[M].北京:高等教育出版社,2004.[5] (美)Karl E.Wiegers.软件需求(第二版)[M].北京:高等教育出版社,2004.[6] 曹建主编.Dreamweaver与JSP实战演练[M].北京:电子工业出版社.2001.[7] Time创作室编著.Office2000系列丛书SQLserver2000[M].北京:人民邮电出版社.1999.[8] 武晓军,陈海滨编著.Javascript/VBScript网页编程实例解析[M].北京:清华大学出版社.2001.[9] [美]Greg Buczek著.王小娟.陈代川译.SQLserver2000数据库开发即时应用[M].北京:人民邮电出版社.2002.[10] 林金霖.JSP实务经典[M].北京:中国铁道出版社.2000.[11] BruceEckel.JAVA编程思想[M].北京:机械工业出版社.2003.10.[12] 赛奎春.JAVA工程应用与项目实践[M].北京:机械工业出版社.2002.8.毕业实习总结通过这次实验,我深刻的认识到实习实验的必要性,从实验的过程中,我学会了很多自己原本不会的知识,我深刻的理解了动手的主要性。
从开始的不知所措到最后实验的初步成型,我收获了很多,让我获益匪浅。
在实验的过程中,把课堂里所学的知识与理论相结合起来,更加清楚的明白了各个过程的功能。
航空管理系统是一个比较复杂的系统,从起初画ER开始,就可以清楚的知道,在确定试题,关系的时候,我考虑了很多不同的情况,也走了很多弯路。
但是在实际见表的过程中,我意识到问题所在。
在编程界面的时候,由于各种原因,使得界面与数据库的联系失败,都给我深刻的印象,也使我更加注重这个方面,我也一直向编程好的同学请教,在不断磨合的过程中,我终于做好这个设计,但是我还是觉得我的设计有很多问题,但不管怎样,在这个学习的过程中,我学到了很多知识,我相信自己在今后的学习中会更加努力,争取做好。
附录package com.db;import java.sql.*;public class mydb {String url="jdbc:odbc:mydb";String driver="sun.jdbc.odbc.JdbcOdbcDriver";Connection con=null;public mydb() {try {Class.forName(driver);} catch (ClassNotFoundException e) {e.printStackTrace();}}public ResultSet executeQuery(String sql) {ResultSet rs = null;try {con = DriverManager.getConnection(url);Statement cmd = con.createStatement();rs = cmd.executeQuery(sql);} catch (Exception ex) {ex.printStackTrace();}return rs;}public void executeUpdate(String sql) {try {con = DriverManager.getConnection(url);Statement cmd = con.createStatement();cmd.executeUpdate(sql);con.close();} catch (Exception ex) {ex.printStackTrace();}}public void closeConnection() {try {if (con!=null&&!con.isClosed())con.close();} catch (SQLException e) {e.printStackTrace();}}}package com.view;import java.awt.*;import java.awt.event.*;import java.sql.ResultSet;import javax.swing.*;import javax.swing.table.DefaultTableModel;import com.db.mydb;public class query extends JFrame implements ActionListener{ private JLabel jb1=new JLabel("出发站名");private JTextField jt1=new JTextField();private JLabel jb2=new JLabel("终点站名");private JTextField jt2=new JTextField();private JButton jb_ok=new JButton("确定");private JButton jb_reset=new JButton("重置");String ss[]={"航线号","航班号","起飞时间"};String rows[][]=new String[3][3];JTable table=new JTable(rows,ss);mydb db=new mydb();public query(){super("查询");JPanel jp=(JPanel)this.getContentPane();jp.setLayout(new BorderLayout());JPanel jp1=new JPanel();jp.add(jp1,BorderLayout.NORTH);jp1.setLayout(new GridLayout(5,2));jp1.add(jb1);jp1.add(jt1);jp1.add(jb2);jp1.add(jt2);jp1.add(jb_ok);jp1.add(jb_reset);jb_ok.addActionListener(this);jb_reset.addActionListener(this);JScrollPane jsp=new JScrollPane(table);jp.add(jsp);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }public void actionPerformed(ActionEvent e) {if(e.getSource()==jb_ok){String start=jt1.getText().trim();String destination=jt2.getText().trim();String sql="select count(*) from airline_1740";ResultSet rs=db.executeQuery(sql);try{rs.next();int c=rs.getInt(1);rows=new String[c][3];c=0;sql="select a.air_no,plane_no,start_time " +"from airline_1740 a,fly_1740 b " +"where a.start='"+start+"'"+"and a.destination='"+destination+"'";rs=db.executeQuery(sql);System.out.print(sql);if (rs.next()){rows[c][0]=rs.getString(1);rows[c][1]=rs.getString(2);rows[c][2]=rs.getString(3);//rows[c][3]=rs.getString(4);//c++;}table.setModel(new DefaultTableModel(rows,ss));db.closeConnection();}catch(Exception ex){}}}// public static void main(String[] args) {// searchFrm frm=new searchFrm();// frm.setSize(250,200);// frm.setVisible(true);// }}package com.view;import java.awt.*;import java.awt.event.*;import java.sql.ResultSet;import javax.swing.*;import javax.swing.table.DefaultTableModel;import com.db.mydb;public class book extends JFrame implements ActionListener{ JLabel lbl1=new JLabel("订票号:");JTextField txt1=new JTextField();JLabel lbl3=new JLabel("订票量:");JTextField txt3=new JTextField();JButton btn1=new JButton("1");JButton btn2=new JButton("取消");String ss[]={"订票号","客户号","订票量"};String rows[][]=new String[3][3];JTable table=new JTable(rows,ss);mydb db=new mydb();public book(){super("订票查询");JPanel jp=(JPanel)this.getContentPane();jp.setLayout(new BorderLayout());JPanel jp1=new JPanel();jp.add(jp1,BorderLayout.NORTH);jp1.setLayout(new GridLayout(5,2));jp1.add(lbl1);jp1.add(txt1);jp1.add(lbl3);jp1.add(txt3);jp1.add(btn1);jp1.add(btn2);btn1.addActionListener(this);btn2.addActionListener(this);JScrollPane jsp=new JScrollPane(table);jp.add(jsp);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}// public static void main(String[] args) {// orderFrm frm=new orderFrm();// frm.setSize(250,200);// frm.setVisible(true);// }public void actionPerformed(ActionEvent e) { if(e.getSource()==btn1){String book_no=btn1.getText().trim();String sql="select count(*) from bookticket_1740";ResultSet rs=db.executeQuery(sql);try{rs.next();int c=rs.getInt(1);rows=new String[c][3];c=0;sql="select book_no,client_no,booknum " +"from bookticket_1740 " +"where book_no='"+book_no+"'";rs=db.executeQuery(sql);System.out.print(sql);if (rs.next()){rows[c][0]=rs.getString(1);rows[c][1]=rs.getString(2);rows[c][2]=rs.getString(3);//rows[c][3]=rs.getString(4);//c++;}table.setModel(new DefaultTableModel(rows,ss));db.closeConnection();}catch(Exception ex){}}}//public static void main(String[] args) {//searchFrm frm=new searchFrm();//frm.setSize(250,200);//frm.setVisible(true);//}}package com.view;import java.awt.*;import java.awt.event.*;import java.sql.ResultSet;import javax.swing.*;import javax.swing.table.DefaultTableModel;import com.db.mydb;public class change extends JFrame implements ActionListener{ JLabel lbl1=new JLabel("航班号:");JTextField txt1=new JTextField();JLabel lbl2=new JLabel("客户号:");JTextField txt2=new JTextField();JLabel lbl3=new JLabel("改签航班号:");JTextField txt3=new JTextField();JButton btn1=new JButton("1");JButton btn2=new JButton("取消");String ss[]={"订票号","改签航班号:"};String rows[][]=new String[2][2];JTable table=new JTable(rows,ss);mydb db=new mydb();public change(){super("改签");JPanel jp=(JPanel)this.getContentPane();jp.setLayout(new BorderLayout());JPanel jp1=new JPanel();jp.add(jp1,BorderLayout.NORTH);jp1.setLayout(new GridLayout(5,2));jp1.add(lbl1);jp1.add(txt1);jp1.add(lbl3);jp1.add(txt3);jp1.add(btn1);jp1.add(btn2);btn1.addActionListener(this);btn2.addActionListener(this);JScrollPane jsp=new JScrollPane(table);jp.add(jsp);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}// public static void main(String[] args) {// changeFrm frm=new changeFrm();// frm.setSize(250,200);// frm.setVisible(true);// }public void actionPerformed(ActionEvent e) {if(e.getSource()==btn1){String book_no=btn1.getText().trim();String sql="select count(*) from refundticket_1740";ResultSet rs=db.executeQuery(sql);try{rs.next();int c=rs.getInt(1);rows=new String[c][2];c=0;sql="select book_no,change_no " +"from changeticket_1740 " +"where book_no='"+book_no+"'";rs=db.executeQuery(sql);System.out.print(sql);if (rs.next()){rows[c][0]=rs.getString(1);rows[c][1]=rs.getString(2);//rows[c][2]=rs.getString(3);//rows[c][3]=rs.getString(4);//c++;}table.setModel(new DefaultTableModel(rows,ss));db.closeConnection();}catch(Exception ex){}}}//public static void main(String[] args) {//searchFrm frm=new searchFrm();//frm.setSize(250,200);//frm.setVisible(true);//}}package com.view;import java.awt.*;import java.awt.event.*;import java.sql.ResultSet;import javax.swing.*;import com.db.mydb;public class order extends JFrame{JLabel lbl1=new JLabel("航班号:");JTextField txt1=new JTextField(8);JLabel lbl2=new JLabel("客户号:");JTextField txt2=new JTextField(8);JLabel lbl3=new JLabel("订票量:");JTextField txt3=new JTextField(8);JButton btn1=new JButton("订票");JButton btn2=new JButton("取消");mydb db=new mydb();public order(){JPanel jp=(JPanel)this.getContentPane();jp.setLayout(new BorderLayout());JPanel jp1=new JPanel();jp1.setLayout(new GridLayout(3,2,10,10));jp1.add(lbl1);jp1.add(txt1);jp1.add(lbl2);jp1.add(txt2);jp1.add(lbl3);jp1.add(txt3);JPanel jp2=new JPanel();jp2.add(btn1);jp2.add(btn2);jp.add(jp1);jp.add(jp2,BorderLayout.SOUTH);this.setTitle("订票");}// public static void main(String[] args) {// orderFrm frm=new orderFrm();// frm.setSize(250,200);// frm.setVisible(true);// }}package com.view;import java.awt.*;import java.awt.event.*;import java.sql.ResultSet;import javax.swing.*;import javax.swing.table.DefaultTableModel;import com.db.mydb;public class refund extends JFrame implements ActionListener{ JLabel lbl1=new JLabel("订票号:");JTextField txt1=new JTextField();JLabel lbl2=new JLabel("客户号:");JTextField txt2=new JTextField();JLabel lbl3=new JLabel("退票量:");JTextField txt3=new JTextField();JButton btn1=new JButton("1");JButton btn2=new JButton("取消");String ss[]={"订票号","客户号"};String rows[][]=new String[2][2];JTable table=new JTable(rows,ss);mydb db=new mydb();public refund(){super("退票");JPanel jp=(JPanel)this.getContentPane();jp.setLayout(new BorderLayout());JPanel jp1=new JPanel();jp.add(jp1,BorderLayout.NORTH);jp1.setLayout(new GridLayout(5,2));jp1.add(lbl1);jp1.add(txt1);jp1.add(lbl3);jp1.add(txt3);jp1.add(btn1);jp1.add(btn2);btn1.addActionListener(this);btn2.addActionListener(this);JScrollPane jsp=new JScrollPane(table);jp.add(jsp);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}// public static void main(String[] args) {// refundFrm frm=new refundFrm();// frm.setSize(250,200);// frm.setVisible(true);// }public void actionPerformed(ActionEvent e) {if(e.getSource()==btn1){String book_no=btn1.getText().trim();String sql="select count(*) from refundticket_1740";ResultSet rs=db.executeQuery(sql);try{rs.next();int c=rs.getInt(1);rows=new String[c][2];c=0;sql="select book_no,refund_no " +"from refundticket_1740 " +"where book_no='"+book_no+"'";rs=db.executeQuery(sql);System.out.print(sql);if (rs.next()){rows[c][0]=rs.getString(1);rows[c][1]=rs.getString(2);//rows[c][2]=rs.getString(3);//rows[c][3]=rs.getString(4);//c++;}table.setModel(new DefaultTableModel(rows,ss));db.closeConnection();}catch(Exception ex){}}}//public static void main(String[] args) {//searchFrm frm=new searchFrm();//frm.setSize(250,200);//frm.setVisible(true);//}}package com.view;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class main extends JFrame implements ActionListener{ JButton btn_query=new JButton("查询");JButton btn_order=new JButton("预约");JButton btn_refund=new JButton("退票");JButton btn_change=new JButton("改签");JButton btn_book=new JButton("订票");public main(){JPanel jp=(JPanel)this.getContentPane();btn_query.addActionListener(this);btn_book.addActionListener(this);// btn_order.addActionListener(this);btn_refund.addActionListener(this);btn_change.addActionListener(this);JPanel jb=(JPanel)this.getContentPane();jp.setLayout(new BorderLayout());JPanel jp1=new JPanel();jp.add(jp1,BorderLayout.CENTER);jp1.setLayout(new GridLayout(5,0));jp1.add(btn_query);jp1.add(btn_order);jp1.add(btn_refund);jp1.add(btn_change);jp1.add(btn_book);JPanel jp2=new JPanel();jp.add(jp2,BorderLayout.SOUTH);jp2.setLayout(new FlowLayout());this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setTitle("机票查询系统");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public void actionPerformed(ActionEvent e) {if(e.getSource()==btn_query){query frm=new query();frm.setSize(500,200);frm.setVisible(true);}if(e.getSource()==btn_book){book frm=new book();frm.setSize(250,200);frm.setVisible(true);}if(e.getSource()==btn_refund){refund frm=new refund();frm.setSize(250,200);frm.setVisible(true);}if(e.getSource()==btn_change){change frm=new change();frm.setSize(250,200);frm.setVisible(true);}}public static void main(String[] args) { main frm=new main();frm.setSize(200,200);frm.setVisible(true);}}。