⑴ 求一篇软件工程实训的总结。
通过短暂的课程设计,我深有感触。一开始构想时只有大体的思路,忽略了一些细节,因此在我真正做设计时发现有很多错误,有的时候要解决一个错误会花上很多时间,在做的过程中,有很多错误意想不到,有的错误却犯得很幼稚,不过这样对自身的排错能力能得到很大的提高。数据库连接错误,找了半天才发现密码不能用char型。这些细小错误让我深受感慨,它告诉了我编程细心重要,养成一个好的编程习惯更重要。这次项目的完整开发,让我有项目初步的思想,这次项目的开发让我把软件生成的流程从信息的收集,再写需求,再完成后台设计到编写代码,到测试,让我知道还有很多地方的不足。更重要的是团队之间的合作,相互之间的交流,有时一个问题总是想不通,但每个队友负责的部分不同,所以想法也不同,交流之后,便有了新的思路。这次课程设计的时间很紧迫,再加上各方面的经验不足,也遇到很多问题,这个网上机票订票系统还有很多地方没有完善,希望老师能谅解。总的来说,这次课程设计对我很有帮助,我发觉老师上课讲的很多东西对我们都很有用,让我受到不少的启发。
⑵ 软件工程航空公司机票预定系统
软件工程课程设计
一、 课程设计题目:
航空公司机票预订系统。
二、 课程设计内容简要分析:
航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
三、主要设计过程:
1、问题定义:
航空运输现在已经逐渐成为我国运输事业的重要手段,但是对于航空运输来说,天气或人为的种种的因素,会给航空机票的预定和退订带来困难,特别是对于机票的预定和退订的条理性、及时性和准确性,也同样带来巨大的困难。
对以上的问题,完全可以建立一套完整的航空公司机预定系统,来对信息进行录入、查询、订票、退票等日常管理工作,尽量少的人员介入和数据冗余,以简练实用为基础,实现信息管理计算机化,提高工作效率和信息化水平。
2、可行性分析:
可行性分析对系统的开发至关重要,可以大幅减少不必要的损失,保证系统开发的顺利进行。可以从技术可行性、经济可行性、操作可行性三方面进行系统可行性分析:
2.1、技术可行性:
这些年来,计算机技术的发展异常迅猛,而绝大多数的企业和单位,都已经把计算机作为信息和数据处理、保存和管理的重要工具。
Java是Sun Microsystem公司的James Gosling开发的编程语言。它以C++为基础,但是却是一个全新的软件开发语言。Java是一个简单,面象对象、分布式、解释性、强壮、安全,与系统无关、可移植、高性能、多线程和动态的语言,利用Java就可以编制出程序接口好、图形界面优美的管理系统。同时,微软公司开发的SOL Server 2000,为数据库的开发和管理带来了极大的方便。
2.2、经济可行性:
一方面,对于新系统的开发和研究,不需要花费更多的费用,而且对于人员的培训,不同样不需要花费很多;另一方面,航空公司的原有服务器和计算机系统,同样可以用来使用,不需要更新系统。
2.3、操作可行性:
对于用Java开发的本系统,通过简单的学习就可以熟练操作,同时,对于票务的管理,也同样因为本系统的高效性、及时性和方便性而易于管理。
通过以上的分析,航空公司机票预定系统在经济上、技术上、操作上都是可行的。
3、 需求分析:
需求分析阶段的主要目标是准确了解用户对未来软件的系统结构的需求,是发现、求精、建模、规格说明和复审过程。
在需求分析中,可以采用主要流程和数据流程图来描述。
3.1、该系统主要要完成的流程为:
a) 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
b) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;
c) 订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;
d) 退票: 可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
3.2、数据流程图:
数据流程图是描绘信息流和数据从输入移动到输出的过程中所经历的变换。是一种能全面描述信息系统逻辑模型的主要工具,也是系统分析人员与用户进行交流的有效手段。
旅客的订票流程图如下:
旅客取票的流程图如下:
订票旅客清单
打印机票
旅客信息查询
旅客
旅客
售出机票信息
4、概要设计:
4.1、本系统的设计总框图:
说明:本系统共分为两大子系统:客户定票系统和后台管理系统。
客户服务系统包含三个子系统:
1、查询系统(实现查询功能)
2、定票系统(实现定票功能)
3、退票系统(实现退票和修改功能)
后台处理系统包含三个子系统:
1、航班信息查询 (实现航班信息的查询功能)
2、航班信息修改(实现航班信息的修改、新增、删除功能)
3、乘客信息查询(实现乘客信息的查询)
两大系统共用两个数据文件:航班基本信息文件和客户定票信息文件。
4.2、客户定票系统的概要设计:
说明:
1)查询:用户可以通过输入航班号单关键字查询,飞机的起降地点和飞机的起飞时间双关键字查询两种方式进行查询。(注:结构图里查询和订票之间的连线表示客户可以由查询界面直接进入订票界面)
2)订票:客户可以直接从主界面直接进入订票界面,也可以从航班信息查询界面通过事件触发进入订票界面。客户在订票界面内填写客户基本信息和所定航班的关键信息,然后由提交事件进行信息有效性判断。如果数据有效,则修改航班基本信息,新增客户信息。
3)退票和修改:在客户正确输入交易单号,乘客姓名,身份证号的前提下,系统确定数据有效性,客户拥有退票或修改交易的权限。此时对航班基本信息数据文件和客户订票信息文件进行数据项的删除或修改。
4)客户修改的主要作用:当客户对于所定机票的航班号,数量,等级等内容需要修改时,可启动此功能。
同时,为方便客户修改过程能准确的了解航班基本信息,在客户退票界面加入了查询按钮。可以通过事件触发进入相关界面。
4.3、后台管理系统的概要设计:
说明:
1) 航班信息修改:管理人员可以通过输入航班号与日期查询该航班的基本信息 。可在查询的结果上进行修改,也可删除该条信息。所有数据修改都应在数据文件中完成,在界面上显示出来。
2) 航班信息录入:管理人员可以通过输入新的航班信息新加一条航班的基本信息。
3) 乘客信息查询:管理人员可以通过输入交易单号码,乘客姓名,乘客身份证号查询乘客的基本信息。
4.4、机票预订系统的逻辑模型如下:
航班机票信息
旅行时间
姓名
性别
旅行地点
身份证号码
工作单位
旅客
1
价格
航空公司
取票通知
帐单
订票
1 1
时间
旅行社
合适航班机票
N
订票旅客清单
售出机票信息
可售机票
等级
5、详细设计:
5.1、主界面程序流程图设计:
说明:在主界面,可以设置四个按钮以供选择:查询、订票、退票和退出。
选择不同的按钮触发不同事件。
5.2、查询系统程序流程图设计:
5.3、订票系统程序流程图设计:
5.4、 退票系统流程流程图设计:
6、实现和单元测试:
6.1、编码:
航班信息链表类核心代码:
public class FlightList implements Serializable
{
public FlightListNode firstNode; // 第一架航班的信息表
public FlightListNode lastNode; // 最后一架航班的信息表
public String name;
public int numberOfRecords; // 全天起落航班的总记录
public FlightList( String s )
{
name = s;
firstNode = lastNode = null;
}
public boolean exist( String sFlightNo, Date date ) //判断含传入航班号和日期的结点是否存在
{
FlightListNode current = firstNode; // 航班信息的第一个结点
while( current != null)
{
if( current.data.flightNum.equals( sFlightNo )
&& current.data.date.equals( date ) )
return false;
else
current = current.next; //当前航班号不存在时转入下一个结点
}
return true;
}
public void insertAtFront( FlightInfo insertItem ) //在链首插入结点
{
if( isEmpty() )
firstNode = lastNode = new FlightListNode( insertItem );
else
firstNode = new FlightListNode( insertItem, firstNode );
return numberOfRecords ++;
}
public void insertAtBack( FlightInfo insertItem ) //在链尾插入结点
{
if( isEmpty() )
firstNode = lastNode = new FlightListNode( insertItem );
else
lastNode = lastNode.next = new FlightListNode( insertItem );
return numberOfRecords ++;
}
public void delete( FlightInfo deleteItem ) //删除航班信息结点
{
FlightListNode deleteNode = new FlightListNode( deleteItem );
FlightListNode current = firstNode;
if( isEmpty() )
throw new EmptyListException( name );
FlightListNode temp = firstNode;
int flag = 0 ;
while( current != null )
{
if( current.data.flightNum.equals( deleteNode.data.flightNum ))
{
if( flag == 0 )
{
firstNode = firstNode.next;
}
temp.next = current.next;
break;
}
else
{
temp = current;
current = current.next;
flag ++;
}
}
numberOfRecords --;
}
}
7、软件维护:
维护方面主要为对服务器上的数据库数据进行维护。可使用 SQL SERVER 2000的数据库维护功能机制。例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。
三、 主要参考文献:
1 张海潘. 软件工程导论. 北京:清华大学出版社,2005
2 赵松涛. SQL Server 2000系统管理实录. 北京:电子工业出版社, 2006
3 宋波. Java Web应用与开发教程. 北京:清华大学出版社,2006
4 孙卫琴. Java面向对象编程. 北京:电子工业出版社,2006
⑶ 软件工程使用mind manager绘制职业规划图实验报告
最近有朋友过来请教有关职业发展的事情,我和他谈了我自己对于自己职业的长期规划,很多眼前的选择困难,就在于没有想清楚长期的发展问题。下面这张思维导图的方法可以帮你思考长期的职业规划问题,你可以试试。
mindmanager 2020:点击获取MindManager链接Mac版 :点击获取MindManager链接
职业生涯规划支柱释义
目前的工作或角色:这是你现在在做的事情,无论你是在进行一个大项目,创业还是在求职,或者是待在家里照顾你爱的人。给自己现在的角色作一个定义。
事业目标和梦想:如果你制定了正确的目标,这将非常有益。列出你的短期目标(6-9个月)和长期(1-3年)事业梦想。在这些时间段你希望达成什么样的成就?你想得到什么样的成果?能详细些就太好了!
你的动机:你要知道自己做这件事情的动机。这是比较难的,因为如果现在的角色让你觉得痛苦不堪,你是不愿意做这件事的,写下你仍在做的原因。如果你正在追求你真正的事业梦想,写下你究竟是为什么想要实现这些目标和梦想。明晰你工作背后的动机将为你后面几步打下牢固的基础。
核心价值观:你始终坚守的最重要的3-5个核心价值观是什么?即便你现在没有百分百地遵守也把它们写下来。因为在你转换工作或者行业之前了解这些是非常重要的。诸如:正直、合作、财务自由、灵活性等等。
边界线:这些是你的边界线。你不想做什么?你不想与什么样的人一起工作?在你的工作和事业中你坚守的底线是什么?如果你从未考虑过这些,现在绝对是个好时机。在你的职业生涯中这些将为你赢得尊重。
最强项:强项是才能和技巧的结合,学习如何识别强项。现在的你擅长什么?你的哪个强项使你成为现在这样一位野心家?例如:你可以完成一场令人叹服的演讲,或者在和你对手缔结良好合作关系的同时睿智地完成谈判。
渴望拥有的强项:这指的是在才能或者技巧方面你想有所进步的地方。在考虑事业梦想时,你希望自己获得哪些强项?哪些是你想要真正想做好的?
个人教育投资:你愿意为自己投资什么?你愿意参加专业会议, 加入策划小组,或者请一位辅导师吗?我刚刚花了一大笔钱请了一位私人辅导师来投资自己,这不仅对我十分有益,我的客户也会因此获得更好的辅导。投资你自己 吧!你是在进修硕士,还是在读夜校或者参加工作坊呢?写下你6-12个月的规划吧!同时,也要列出你如何获得这笔教育资金。
执行策略:执行何种策略才能达成你的职业梦想呢?这是你的路线图。例如,你可以创业,开发网站,举办聚会,成为一个演讲师。你可以换份工作或者进入一个新的行业。找出你的梦想与现状之间的差距,减小差距慢慢接近你的梦想。
角色榜样:你钦佩哪些人?我有一个经常会更新的榜样名单,你猜怎么样?在特定的领域我会钦佩特定的人,例如,我欣赏这一个人的演讲技巧,欣赏另一个人的写作能力。谁是你的榜样呢?他们可以是现在仍在世的人,也可以是存在于数百年或者数十年前却依然用他们的故事激励着你的人。
理想的客户或公司:在工作中,知道你想要服务的对象至关重 要。诚实地回答自己。你的理想客户或者公司是什么样的?描述一下,他们的特征,他们和你共同的价值观,甚至是他们的名字。如果你梦想进入谷歌或者苹果工 作,那么他们就是你的理想客户。但你要很清楚地知道原因?是什么让你觉得他们是最佳的?
理想的自我职业形象:用25个字描述一下你自己的理想职业形象。你想看到什么样的自己?在职业能力方面你希望得到他人怎样的评价?伟大的演讲者?超赞的作家?绝佳的气质?友好且富有爱心?善于交际?擅长关系建立?你自己说吧!
这些就是你职业生涯规划的基础。以上这些定义足够帮助你开始进行职业规划这件事儿了,我不会展开描述每个层级的其他细节了。