⑴ 求一篇軟體工程實訓的總結。
通過短暫的課程設計,我深有感觸。一開始構想時只有大體的思路,忽略了一些細節,因此在我真正做設計時發現有很多錯誤,有的時候要解決一個錯誤會花上很多時間,在做的過程中,有很多錯誤意想不到,有的錯誤卻犯得很幼稚,不過這樣對自身的排錯能力能得到很大的提高。資料庫連接錯誤,找了半天才發現密碼不能用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個字描述一下你自己的理想職業形象。你想看到什麼樣的自己?在職業能力方面你希望得到他人怎樣的評價?偉大的演講者?超贊的作家?絕佳的氣質?友好且富有愛心?善於交際?擅長關系建立?你自己說吧!
這些就是你職業生涯規劃的基礎。以上這些定義足夠幫助你開始進行職業規劃這件事兒了,我不會展開描述每個層級的其他細節了。