我們得到了一些心得體會(huì)以后,應(yīng)該馬上記錄下來(lái),寫一篇心得體會(huì),這樣能夠給人努力向前的動(dòng)力。大家想知道怎么樣才能寫得一篇好的心得體會(huì)嗎?下面我?guī)痛蠹艺覍げ⒄砹艘恍﹥?yōu)秀的心得體會(huì)范文,我們一起來(lái)了解一下吧。
軟件工程實(shí)踐總結(jié)軟件工程專業(yè)實(shí)訓(xùn)心得體會(huì)篇一
在這次軟件工程課程中,我學(xué)到了很多東西,第一次深刻的體會(huì)到了什么叫做用工程化的思想來(lái)編寫軟件,以前自己也寫過(guò)一些小型軟件,沒(méi)有做過(guò)大型的項(xiàng)目,直到這次課堂我擔(dān)任組長(zhǎng)并組織組員共同完成“個(gè)人圖書管理系統(tǒng)”這個(gè)項(xiàng)目,第一次和別人合作,才發(fā)現(xiàn)運(yùn)用工程化的思想來(lái)做是如此的有必要。
從這里,我才真正的意識(shí)到實(shí)施一個(gè)軟件工程并不是說(shuō)簡(jiǎn)單的會(huì)編碼就能夠解決問(wèn)題的,我們更多的精力不是放在編碼上,編碼只是一個(gè)很小的模塊,只占到那么小的一個(gè)部分。這個(gè)事實(shí)在很大程度上顛覆了我以前的思想,在我以前的認(rèn)識(shí)中,似乎整個(gè)軟件就是編碼,除此無(wú)它,還好有老師的指導(dǎo),不然真的會(huì)出現(xiàn)老師所說(shuō)的,撞得頭破血流之后才想起來(lái)用軟件工程的思想來(lái)完成這個(gè)工作。
剛真正開(kāi)始工作之前,我們費(fèi)了很多的時(shí)間來(lái)完成一些前端工作,如需求分析和可行性分析,這塊工作在別人看來(lái)可能是相對(duì)無(wú)關(guān)緊要,甚至是多于的,其實(shí),換做在以前,我也會(huì)這么認(rèn)為。可是,我現(xiàn)在算是深深地明白了磨刀不誤砍柴工的道理,這些工作的完成太有必要了,太重要了,要想你的軟件有用有市場(chǎng),能被別人接受和認(rèn)可,在進(jìn)行過(guò)程中不會(huì)出現(xiàn)崩潰性的問(wèn)題,這些工作缺一不可。
還有就是接下來(lái)的一些設(shè)計(jì)模塊,此模塊與軟件編碼涉及比較緊密,主要是解決一些參數(shù)傳遞和接口通訊的問(wèn)題,此模塊對(duì)我的觸動(dòng)遠(yuǎn)沒(méi)有上兩個(gè)模塊對(duì)我的影響大,因此再次也不做過(guò)多的介紹。
在整個(gè)活動(dòng)的完成過(guò)程中,作為組長(zhǎng),我收獲很多,我發(fā)現(xiàn),要是組里有個(gè)人不怎么想做事情時(shí),他對(duì)于整個(gè)組織的影響是毀滅性的,正所謂“一顆老鼠屎,能壞一倉(cāng)谷”,以后我的組織里要是出現(xiàn)這樣的人,我絕不會(huì)給他繼續(xù)留下來(lái)的機(jī)會(huì),我會(huì)在第一時(shí)間將他清除出去。還有就是,作為組長(zhǎng),你要做的最重要的事情,不是發(fā)揮自己的聰明才智,而是創(chuàng)造出一個(gè)平臺(tái),讓別人去發(fā)揮,你所要做得,出了保證這個(gè)平臺(tái)的完整性和公平性外,還有就是協(xié)調(diào)好各組員之間的關(guān)系。
這就是我的實(shí)習(xí)感想。
軟件工程實(shí)踐總結(jié)軟件工程專業(yè)實(shí)訓(xùn)心得體會(huì)篇二
這學(xué)期學(xué)習(xí)了軟件工程實(shí)踐這門課,我覺(jué)得這是對(duì)上學(xué)期的軟件工程課程學(xué)習(xí)的檢驗(yàn),上學(xué)期學(xué)習(xí)軟件工程只是我們淺顯的認(rèn)識(shí),相比之下,這學(xué)期就更加全面的說(shuō)明了開(kāi)發(fā)一個(gè)項(xiàng)目所需要的步驟以及開(kāi)發(fā)項(xiàng)目過(guò)程中所需要注意的諸多細(xì)節(jié)。如果說(shuō)上學(xué)期的課程注重理論基礎(chǔ)的話,那么這學(xué)期的軟工實(shí)踐,顧名思義,就是側(cè)重我們動(dòng)手操作的能力。
原來(lái)我認(rèn)為開(kāi)發(fā)一個(gè)項(xiàng)目最重要的就是寫代碼,似乎整個(gè)軟件都是編代碼,因?yàn)樽约簞?dòng)手能力不強(qiáng)所以就很排斥做項(xiàng)目??墒墙?jīng)過(guò)我們學(xué)習(xí)軟工課程到團(tuán)隊(duì)做項(xiàng)目再到學(xué)習(xí)軟件工程實(shí)踐課程之后,我才真正意識(shí)到實(shí)施一個(gè)軟件工程項(xiàng)目并不是說(shuō)簡(jiǎn)單的會(huì)編碼就能夠解決問(wèn)題的,因?yàn)橐粋€(gè)軟件的生命周期分為三個(gè)時(shí)期:軟件定義時(shí)期、開(kāi)發(fā)時(shí)期、維護(hù)時(shí)期,而這三個(gè)時(shí)期整體又分為七個(gè)階段,他們分別是:?jiǎn)栴}定義、可行性研究、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試,由此可看出,當(dāng)我們開(kāi)發(fā)一個(gè)項(xiàng)目時(shí),更多的精力不是放在編碼上,編碼只是一個(gè)很小的模塊,而是項(xiàng)目的整體結(jié)構(gòu)上。
在寫軟工實(shí)踐體會(huì)之前,我想在這里總結(jié)一下上學(xué)期三人團(tuán)隊(duì)做項(xiàng)目的相關(guān)事宜。上學(xué)期我們?nèi)藞F(tuán)隊(duì)根據(jù)軟件開(kāi)發(fā)的步驟開(kāi)發(fā)一個(gè)名為“西大老鄉(xiāng)‘薈’”的社交系統(tǒng),主要是為西大學(xué)子提供一個(gè)找老鄉(xiāng)的平臺(tái)。雖然只進(jìn)行到詳細(xì)設(shè)計(jì)階段,沒(méi)有進(jìn)一步實(shí)現(xiàn),但是我還是從中學(xué)到很多東西的。首先要先確定項(xiàng)目主題,也就是這個(gè)項(xiàng)目用來(lái)做什么,可以解決什么問(wèn)題。接著就是這個(gè)項(xiàng)目是否有研究的必要以及是否有解決的辦法,針對(duì)我們的項(xiàng)目,我們對(duì)西大的一些學(xué)生做了問(wèn)卷調(diào)查,并從調(diào)查中繼續(xù)完善系統(tǒng)本身的做用戶。第三步根據(jù)我們確定的項(xiàng)目主題進(jìn)行需求分析,這一步驟當(dāng)時(shí)做的不是很好,比如所畫e-r圖、數(shù)據(jù)流圖等都有考慮不周的問(wèn)題,導(dǎo)致接下來(lái)的概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)進(jìn)行的很困難,有些步驟甚至還需要返工。
從我們?cè)谛枨蠓治鲋谐霈F(xiàn)的問(wèn)題,使我們明白了軟件定義階段對(duì)于一個(gè)項(xiàng)目的開(kāi)發(fā)是至關(guān)重要的,當(dāng)軟件定義階段完成時(shí)必須要用正式的文檔準(zhǔn)確的地記錄目標(biāo)系統(tǒng)的需求。只有前期的準(zhǔn)備工作做得好,后面的工作才能順利進(jìn)行。雖然項(xiàng)目最后沒(méi)有完全實(shí)現(xiàn),但是起碼我們已經(jīng)初步體會(huì)到軟件項(xiàng)目開(kāi)發(fā)的步驟,以及每一步所需要完成的文檔等內(nèi)容。
這學(xué)期的軟件工程實(shí)踐雖然不是親自動(dòng)手開(kāi)發(fā)一個(gè)系統(tǒng),但是張?jiān)嚼蠋熞浴拔锫?lián)網(wǎng)物流倉(cāng)儲(chǔ)管理系統(tǒng)”為主給我們講解了一個(gè)真實(shí)系統(tǒng)的開(kāi)發(fā)過(guò)程,從計(jì)劃到項(xiàng)目系統(tǒng)的發(fā)布實(shí)施,以及每一步必須生成的文檔。我主要從以下五個(gè)方面談一下我的心得體會(huì)。
第1、行業(yè)背景說(shuō)明方面
對(duì)于一個(gè)軟件系統(tǒng)的開(kāi)發(fā),第一步就是問(wèn)題定義,了解所開(kāi)發(fā)系統(tǒng)的行業(yè)背景,制定計(jì)劃。當(dāng)我們計(jì)劃確定以后就要對(duì)項(xiàng)目系統(tǒng)本身進(jìn)行可行性研究,主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性三個(gè)方面著手。就比如《物聯(lián)網(wǎng)物流倉(cāng)庫(kù)管理系統(tǒng)》的行業(yè)背景說(shuō)明文檔中非常詳細(xì)地分析了當(dāng)下物聯(lián)網(wǎng)物流行業(yè)的整體業(yè)務(wù)說(shuō)明、應(yīng)用背景、未來(lái)發(fā)展趨勢(shì)以及相關(guān)應(yīng)用案例等四個(gè)方面,項(xiàng)目團(tuán)隊(duì)中系統(tǒng)分析員就可以根據(jù)這份文檔以及相關(guān)的調(diào)查資料對(duì)將要開(kāi)發(fā)系統(tǒng)的進(jìn)行定義等工作。
原來(lái)我們寫這類文檔的時(shí)候就是草草了事,不會(huì)做得這么詳細(xì),而這次看到大型項(xiàng)目的行業(yè)背景說(shuō)明也是這么詳細(xì),也讓自己認(rèn)識(shí)到不管是軟件開(kāi)發(fā)的那個(gè)階段都要認(rèn)真對(duì)待,這些瑣碎的文檔都是后期開(kāi)發(fā)項(xiàng)目的支撐,只要它們做的透徹,后面的開(kāi)發(fā)工作才能更順利的進(jìn)行。
第2、項(xiàng)目需求說(shuō)明方面
這部分項(xiàng)目需求說(shuō)明就是軟件定義時(shí)期中需求分析階段,而該階段的主要目的就是了解用戶的需要,根據(jù)用戶的需要確定系統(tǒng)必須完成那些工作,并對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。在需求分析結(jié)束之前系統(tǒng)分析人員要寫出一份需求規(guī)格說(shuō)明,即為《物聯(lián)網(wǎng)物流倉(cāng)儲(chǔ)管理系統(tǒng)》項(xiàng)目需求說(shuō)明文檔。我們可以看出該文檔也是非常詳細(xì),相比之下我們之前做項(xiàng)目時(shí)寫的需求規(guī)格說(shuō)明書就非常不合格,不僅格式不正確內(nèi)容也是少之又少。
在這方面,這篇文檔給我啟發(fā)很大。首先就是文檔的格式,要美觀整齊,讓人看著舒服方便。其次就是文檔的內(nèi)容,原來(lái)它不是很重要,寫文檔的時(shí)候也不知道怎么寫就借鑒下網(wǎng)上的內(nèi)容,結(jié)果根本就沒(méi)有把自己項(xiàng)目的需求寫明白,以至于自己最后都有些糊涂,所以根據(jù)以前的經(jīng)驗(yàn)教訓(xùn)我會(huì)對(duì)這部分更加重視。
第3、系統(tǒng)概要設(shè)計(jì)方面
這部分內(nèi)容分說(shuō)的是軟件設(shè)計(jì)時(shí)期的概要設(shè)計(jì)階段,該階段的主要目的就是實(shí)現(xiàn)系統(tǒng)的功能、設(shè)計(jì)軟件的結(jié)構(gòu)、模塊組成以及模塊之間的關(guān)系。在概要設(shè)計(jì)階段,我們可以站在全局的高度上,花較少的成本,從抽象的層次上分析對(duì)比多種可能的系統(tǒng)實(shí)現(xiàn)方案和軟件結(jié)構(gòu),從中選出最佳方案和最合理的結(jié)構(gòu)。在這個(gè)階段還會(huì)具體畫出e-r圖、數(shù)據(jù)流圖等方面的設(shè)計(jì)。
比如《物聯(lián)網(wǎng)物流倉(cāng)庫(kù)管理系統(tǒng)》的系統(tǒng)概要設(shè)計(jì)從項(xiàng)目概述、設(shè)計(jì)約束、功能單元與功能模塊設(shè)計(jì)、數(shù)據(jù)e-r圖設(shè)計(jì)、總體設(shè)計(jì)、界面設(shè)計(jì)等六個(gè)方面介紹,通過(guò)讀這個(gè)文檔,我覺(jué)得最重要的還是總體設(shè)計(jì),分別從邏輯架構(gòu)設(shè)計(jì)、物理架構(gòu)設(shè)計(jì)、技術(shù)架構(gòu)設(shè)計(jì)設(shè)計(jì)系統(tǒng)。在這個(gè)階段中模塊要做到高內(nèi)聚低耦合,這樣開(kāi)發(fā)出來(lái)的系統(tǒng)才會(huì)具有更高的獨(dú)立性。
在原來(lái)做項(xiàng)目時(shí)沒(méi)有編寫過(guò)這類文檔,在該階段只是畫了結(jié)構(gòu)圖、層次圖以及相關(guān)的模塊劃分,對(duì)該類文檔尚未重視。通過(guò)張老師的講解和自己的學(xué)習(xí),我相信在以后做項(xiàng)目的時(shí)候一定會(huì)注意到這類文檔的編寫。
第4、詳細(xì)設(shè)計(jì)與分析方面
詳細(xì)設(shè)計(jì)階段就是把概要設(shè)計(jì)階段的每個(gè)模塊進(jìn)一步設(shè)計(jì),確定每個(gè)模塊所需要的算法和數(shù)據(jù)結(jié)構(gòu)。在這個(gè)階段還是需要我們?cè)O(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明,而不是編寫程序。在詳細(xì)設(shè)計(jì)階段,系統(tǒng)設(shè)計(jì)人員可以通過(guò)使用程序流程圖、盒圖、pad圖等過(guò)程設(shè)計(jì)的工具和jackson圖等面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)工具進(jìn)一步設(shè)計(jì)系統(tǒng)相關(guān)接口,主要包括界面設(shè)計(jì)接口、業(yè)務(wù)單設(shè)計(jì)接口、單元模塊設(shè)計(jì)接口等,這些對(duì)于以后的編碼工作都是極其重要的。
第5、編碼和測(cè)試方案方面
關(guān)于編碼,我認(rèn)為編碼要想做的完美必備條件就是前面的軟件定義和軟件設(shè)計(jì)時(shí)期要按部就班的做,文檔一定要按要求書寫,不能偷懶也不能草草書寫。對(duì)于編碼也要有相應(yīng)的文檔書寫規(guī)范,要使源程序代碼的邏輯簡(jiǎn)明清晰、易讀易懂。這樣盡管我們不是設(shè)計(jì)系統(tǒng)的人員,當(dāng)看到源程序代碼的時(shí)候也能容易讀懂代碼的意思。
其次就是測(cè)試的內(nèi)容,從測(cè)試的文檔中我們可以得出,其實(shí)測(cè)試在軟件開(kāi)發(fā)中同樣占據(jù)了重要的地位,它主要就是盡可能多的找到問(wèn)題并排除其中的潛藏的錯(cuò)誤,最終把一個(gè)高質(zhì)量的軟件系統(tǒng)交給用戶使用。它要求測(cè)試人員也要有很高的技術(shù)水平。
軟件工程實(shí)踐總結(jié)軟件工程專業(yè)實(shí)訓(xùn)心得體會(huì)篇三
這次實(shí)習(xí)的目的是提高我的專業(yè)技能、實(shí)踐能力,讓我了解一些實(shí)際的工作情況。正式工作前對(duì)我意義重大。在實(shí)踐中對(duì)專業(yè)技能、綜合素質(zhì)、人際關(guān)系有更深的體會(huì),這給了我正式工作前的寶貴經(jīng)驗(yàn)。
這次實(shí)習(xí)的主要任務(wù)是了解整個(gè)軟件制作流程,以及各個(gè)環(huán)節(jié)的細(xì)節(jié)。學(xué)完這些環(huán)節(jié),就可以用學(xué)到的知識(shí)去完成一個(gè)公司安排的項(xiàng)目。我分配的項(xiàng)目名稱是診所管理系統(tǒng)。我們將以小組的形式共同完成這個(gè)項(xiàng)目,模擬實(shí)際的軟件制作過(guò)程,最大限度地將學(xué)到的知識(shí)轉(zhuǎn)化為實(shí)踐能力。為真正的項(xiàng)目做好充分的準(zhǔn)備,這樣實(shí)習(xí)后才能在正式工作中面對(duì)。
公司的最終目的是希望能了解實(shí)際的項(xiàng)目制作,初步了解各個(gè)環(huán)節(jié)的意義。讓我們將項(xiàng)目用于實(shí)際生產(chǎn),這樣我們可以更好地理解項(xiàng)目生產(chǎn)中每個(gè)過(guò)程的意義,以及團(tuán)隊(duì)在項(xiàng)目生產(chǎn)過(guò)程中是如何合作的。
我的實(shí)習(xí)單位是埃森哲信息技術(shù)(大連)有限公司軟件開(kāi)發(fā)部,校企合作。該部門的主要職能是外包服務(wù)工作,根據(jù)客戶需求制作相應(yīng)的軟件。因此,我們需要熟悉整個(gè)軟件開(kāi)發(fā)過(guò)程,這樣才能處理客戶的各種問(wèn)題,做出更好的軟件來(lái)滿足客戶的需求。
因?yàn)閷?shí)習(xí)的原因,我的職位是軟件助理工程師。具體的時(shí)間安排是實(shí)際的項(xiàng)目制作和專業(yè)知識(shí)的學(xué)習(xí)。實(shí)習(xí)時(shí)間8周。本來(lái)實(shí)習(xí)的地方是在公司。后來(lái)因?yàn)楣緝?nèi)部原因,我們實(shí)習(xí)的地方改成了學(xué)校內(nèi)部實(shí)習(xí),每天的時(shí)間和正式工作一樣。上午8點(diǎn)和5點(diǎn),每周六周日休息。
整個(gè)實(shí)習(xí)的實(shí)際過(guò)程前面已經(jīng)講過(guò)了,包括八周的實(shí)際項(xiàng)目制作和專業(yè)知識(shí)學(xué)習(xí)。具體每周任務(wù)、實(shí)際工作內(nèi)容、專業(yè)知識(shí)和技能的實(shí)際應(yīng)用會(huì)根據(jù)不同環(huán)節(jié)而有所不同。但總體目標(biāo)是讓我們了解實(shí)際工作中的軟件生產(chǎn)流程,以及每個(gè)流程需要的技術(shù)和注意點(diǎn),讓我們用實(shí)際的項(xiàng)目去實(shí)踐。
整個(gè)實(shí)習(xí)的任務(wù)和目的上面已經(jīng)介紹過(guò)了。下面將詳細(xì)介紹整個(gè)實(shí)習(xí)過(guò)程,并詳細(xì)講解每個(gè)過(guò)程的細(xì)節(jié)。
具體時(shí)間安排如下:
第一周:這個(gè)項(xiàng)目需要的知識(shí)將被集中整理和復(fù)習(xí)。鞏固一些不熟悉的知識(shí),以防項(xiàng)目出現(xiàn)意外需求。實(shí)習(xí)的第一天,企業(yè)的經(jīng)理向我們?cè)敿?xì)解釋了軟件工程科學(xué)對(duì)軟件生產(chǎn)的重要性,并在此基礎(chǔ)上給了我們大致的實(shí)習(xí)過(guò)程。
第二周:直接進(jìn)行項(xiàng)目的需求分析。因?yàn)橐呀?jīng)給出了項(xiàng)目名稱,可行性分析就取消了。分配給我們小組的項(xiàng)目是“門診管理系統(tǒng)”,去診所實(shí)地調(diào)查是必然的。在實(shí)際調(diào)研過(guò)程中發(fā)現(xiàn),需求分析的過(guò)程非常非常重要,需求分析文檔的制作決定了項(xiàng)目的各項(xiàng)功能以及軟件是否滿足用戶的需求。本周的收獲是軟件需求分析的文檔化,這是軟件工程中非常重要的一步,這個(gè)環(huán)節(jié)是整個(gè)軟件生成過(guò)程中最重要、最關(guān)鍵的一環(huán)。
第三周:這一周由于臨時(shí)變動(dòng),將概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)合并成一周。根據(jù)調(diào)查結(jié)果,進(jìn)行概要設(shè)計(jì)。因?yàn)槭堑谝淮沃谱鬈浖乓治鑫臋n,所以有很多不規(guī)范的地方,比如數(shù)據(jù)流圖的制作,很多小細(xì)節(jié)都忽略了,所以像這樣的問(wèn)題還是很多的。但這些問(wèn)題經(jīng)過(guò)組員的積極討論和修改,以及老師的指導(dǎo),都得到了解決。然后,根據(jù)概要設(shè)計(jì),進(jìn)行軟件的詳細(xì)設(shè)計(jì)。詳細(xì)設(shè)計(jì)相比于概要設(shè)計(jì)能感覺(jué)簡(jiǎn)單一點(diǎn),不知道感覺(jué)對(duì)不對(duì)。因?yàn)樵诟乓O(shè)計(jì)模塊中,我們已經(jīng)設(shè)計(jì)了需要實(shí)現(xiàn)的模塊、接口、類、函數(shù),所以我們只需要考慮每個(gè)類的函數(shù)都可以用代碼來(lái)實(shí)現(xiàn),而不是寫在代碼上,而是用流程圖、偽代碼等相關(guān)技術(shù)來(lái)表達(dá)。正式的編碼在這個(gè)階段生產(chǎn)完成時(shí)開(kāi)始。到目前為止,準(zhǔn)備工作終于完成了,差不多花了我們一半的實(shí)習(xí)時(shí)間。這一周的時(shí)間,我們不知不覺(jué)就在忙碌中度過(guò)了!下周我們將進(jìn)入這個(gè)項(xiàng)目的實(shí)際編碼,這也是我們最熟悉的地方。感覺(jué)終于有地方投稿了,期待下周的到來(lái)。
第四周:根據(jù)詳細(xì)設(shè)計(jì)對(duì)項(xiàng)目進(jìn)行編碼。本周,我們進(jìn)行了實(shí)際的編碼。我最大的感受就是按照詳細(xì)設(shè)計(jì)的編碼很清晰,偽代碼等轉(zhuǎn)換過(guò)程可能有點(diǎn)困難。和我們過(guò)去直接編碼相比,流暢度不言而喻。
第五周:這周本來(lái)是要測(cè)試的,但是編碼后企業(yè)老師指出了很多問(wèn)題,說(shuō)我們寫的代碼太粗糙了,要小心處理代碼,把測(cè)試推到下周。這一周我們受益匪淺,對(duì)代碼標(biāo)注和編碼格式有了更深入的了解。
第六周:根據(jù)完成的項(xiàng)目測(cè)試項(xiàng)目。這一周是軟件測(cè)試,分為幾個(gè)階段,從最基礎(chǔ)一節(jié)課內(nèi)的方法測(cè)試到整個(gè)項(xiàng)目的綜合測(cè)試。與之前的測(cè)試不同,這次我們先寫測(cè)試文檔,待測(cè)試文檔通過(guò)檢驗(yàn)后,再逐步測(cè)試文檔。我想,這可能是我們未來(lái)工作的大方向,基于文檔的項(xiàng)目制作。因?yàn)闇y(cè)試文檔的制作進(jìn)度太慢,我們這周忙于測(cè)試文檔的制作,其他什么都沒(méi)做,所以測(cè)試只能等到下周。我希望下周的考試會(huì)很有效率。期待嘗試一下,感覺(jué)很想拿著測(cè)試文檔測(cè)試一下。
第七周:拿著測(cè)試文檔,按照上述要求逐一測(cè)試,確認(rèn)項(xiàng)目的正確性。順利的考試讓我精神煥發(fā)。拿著測(cè)試文檔直接查代碼就行了。幾乎沒(méi)有必要考慮程序內(nèi)部的測(cè)試流程,因?yàn)槲臋n已經(jīng)為你寫得很清楚了。在這里,我有一種感覺(jué),在埃森哲這樣的大公司,文檔的重要性比編碼本身更重要。我想這就是為什么企業(yè)派來(lái)的老師沒(méi)有直接給我們技術(shù)培訓(xùn),而是讓我們了解軟件工程的流程。當(dāng)然,根據(jù)企業(yè)文化的不同,軟件工程的生命周期也會(huì)有細(xì)微的差異。他們會(huì)選擇最適合自己公司的方法進(jìn)行整個(gè)軟件生命周期,而不是一成不變的。
第八周:這一周,我們沒(méi)有任何與技術(shù)相關(guān)的任務(wù),只需要準(zhǔn)備個(gè)人演示。但是不要小看這個(gè)人的發(fā)揮,因?yàn)樗麜?huì)占你整個(gè)實(shí)習(xí)成績(jī)的50%,這是本周一企業(yè)老師告訴我們的。我們之前都不知道有實(shí)習(xí)結(jié)果。項(xiàng)目總結(jié),我們會(huì)花一個(gè)星期的時(shí)間總結(jié)整個(gè)實(shí)習(xí)的收獲,這個(gè)星期的周五呈現(xiàn)自己,匯報(bào)收獲。至此,實(shí)習(xí)生涯就告一段落。這一周,我們從收獲、總結(jié)、經(jīng)驗(yàn)等方面對(duì)整個(gè)實(shí)習(xí)的精髓進(jìn)行了思考、沉淀、總結(jié)、提煉?;趐pt,我們進(jìn)行了10分鐘的個(gè)人陳述和項(xiàng)目答辯。在這方面,我們的實(shí)習(xí)徹底結(jié)束了。
項(xiàng)目的制作和難題的解決,會(huì)讓我們熟悉大學(xué)即將遺忘的知識(shí),對(duì)代碼有更深的理解。代碼的重用,類與類之間的調(diào)用,對(duì)象的創(chuàng)建,數(shù)據(jù)庫(kù)的連接以及各種專業(yè)知識(shí)的使用,讓我們能夠更好的將這些各種知識(shí)合理的整合在一起。
如果專業(yè)知識(shí)收獲很多,那么下面的專業(yè)技能就是整個(gè)實(shí)習(xí)過(guò)程中最大的收獲。我很少關(guān)注代碼的標(biāo)注和編碼的規(guī)范,也沒(méi)有太多關(guān)注。但這一次,我意識(shí)到了他的重要性:這是一個(gè)軟件開(kāi)發(fā)人員必須具備的能力,或者說(shuō)應(yīng)該特別注意的能力。因?yàn)槲覀兊拇a沒(méi)有太多的注釋,很多地方的編碼很不規(guī)范,企業(yè)老師寧愿讓我們多花一周時(shí)間修改,也不急于下一次測(cè)試。在這一周的復(fù)習(xí)中,通過(guò)自己的經(jīng)歷和老師的強(qiáng)調(diào),對(duì)代碼編碼規(guī)范和代碼標(biāo)注有了更深入的了解。通過(guò)這次實(shí)習(xí),個(gè)人認(rèn)為代碼標(biāo)注和編碼規(guī)范比個(gè)人技能更重要。
這次實(shí)習(xí)的最終目的是希望能夠了解軟件生產(chǎn)的全過(guò)程,也就是軟件工程的科學(xué)。這次實(shí)習(xí),中間做文檔的時(shí)間大概是編碼的幾倍,甚至因?yàn)槲覀兊男薷模幋a時(shí)間也只有兩周,而其他大部分時(shí)間都在做文檔。個(gè)人覺(jué)得進(jìn)公司后,文檔制作比個(gè)人技能更重要。因?yàn)橛辛宋臋n,我們的項(xiàng)目制作非常流暢,規(guī)定非常明確,邏輯非常流暢。這些文檔在做軟件的過(guò)程中起著重要的作用,所以我覺(jué)得軟件工程可能是我未來(lái)的方向。
最后,總結(jié)一下這段時(shí)間實(shí)習(xí)的收獲,真的讓我受益匪淺。實(shí)習(xí)期間不僅學(xué)到了技術(shù)上的收獲,還學(xué)到了生活中的人際交往以及很多其他的經(jīng)驗(yàn)。這些都將作為我進(jìn)入社會(huì)的基礎(chǔ)。我會(huì)以此為基礎(chǔ),以一顆勇敢無(wú)畏的心迎接即將到來(lái)的工作。
動(dòng)詞(verb的縮寫)實(shí)習(xí)經(jīng)歷
這次實(shí)習(xí)給了我深刻的體會(huì),不僅是專業(yè)上的收獲,還有團(tuán)隊(duì)之間的合作,讓我明白了團(tuán)隊(duì)的意義。工作快到了,期待工作的到來(lái)。我會(huì)努力把學(xué)到的知識(shí)運(yùn)用到實(shí)際工作中,迎接一個(gè)又一個(gè)挑戰(zhàn)。前面的路上會(huì)有很多困難等著我,但我并不害怕,因?yàn)槲覉?jiān)信,只要我努力,我最終會(huì)克服這些困難。路就在我腳下,我會(huì)帶著堅(jiān)定的信念前進(jìn),不怕挫折!
軟件工程實(shí)踐總結(jié)軟件工程專業(yè)實(shí)訓(xùn)心得體會(huì)篇四
實(shí)踐時(shí)間:xx年7月1日-----xx年7月31日共31天
一、實(shí)踐目的:綜合利用所學(xué)的專業(yè)知識(shí),培養(yǎng)軟件開(kāi)發(fā)的技能;掌握android操作系統(tǒng)的編程技巧,體會(huì)企業(yè)軟件開(kāi)發(fā)與學(xué)習(xí)過(guò)程中編寫軟件的不同;提高自身的創(chuàng)新意識(shí)與創(chuàng)新能力,促進(jìn)團(tuán)隊(duì)之間的溝通協(xié)作,為早日踏上工作崗位打下堅(jiān)實(shí)基礎(chǔ)。
二、實(shí)踐內(nèi)容及感悟:
a) 實(shí)踐前準(zhǔn)備:自xx年清明節(jié)前后,我和我的組員就開(kāi)始接受山西西太行信息有限公司的公開(kāi)課的培訓(xùn),當(dāng)時(shí)經(jīng)電子與計(jì)算機(jī)技術(shù)學(xué)院于一老師介紹由陳川老師主要帶領(lǐng)我們重新溫習(xí)了一遍關(guān)于java語(yǔ)言的基本知識(shí),在這將近一個(gè)月的學(xué)習(xí)過(guò)程中我們逐漸重新拾起了即將被遺忘的java 知識(shí),走出了以前認(rèn)識(shí)上的誤區(qū),使我在java這一塊又有了一定的的優(yōu)勢(shì),為以后我們用java語(yǔ)言做開(kāi)發(fā)打下了很好的基礎(chǔ)。
自xx年5月1日,我們開(kāi)始了真正的基于android操作系統(tǒng)的軟件開(kāi)發(fā),雖然我們是利用課余時(shí)間進(jìn)行學(xué)習(xí),但是學(xué)習(xí)的效果真的很好,我們基本上晚上都會(huì)學(xué)到很晚才回宿舍。剛開(kāi)始的時(shí)候我感到很不適應(yīng),感到學(xué)習(xí)的java語(yǔ)言不能夠充分的的到利用,只能夠用一些和系統(tǒng)相關(guān)的東西,但是隨著學(xué)習(xí)的深入,我發(fā)現(xiàn)android操作系統(tǒng)也是一個(gè)很強(qiáng)大的手機(jī)操作系統(tǒng),它有著很好的發(fā)展前景。并且移動(dòng)互聯(lián)網(wǎng)在在中國(guó)有著大的市場(chǎng),所以我對(duì)我正在從事的android手機(jī)軟件開(kāi)發(fā)給予了很大的希望。這一個(gè)月的培訓(xùn)我們主要學(xué)習(xí)了android操作系統(tǒng)的五大系統(tǒng)組件:activity、service、sqlite、content provider、intent、broadcastrecever,同時(shí)我也學(xué)到了一些課堂上學(xué)不到得東西,對(duì)外面的市場(chǎng)的情況也有了更深刻的了解。
我們一行十六個(gè)人,大三的十一人大二的六人。我們被分了兩個(gè)小組,每個(gè)小組八個(gè)人,上課時(shí)間一般是下午兩點(diǎn)到五點(diǎn)半或者下午五點(diǎn)半到晚上八點(diǎn)半,其余的時(shí)間是我們自己寫代碼的時(shí)間。每天的任務(wù)量都有所不同,有時(shí)候把自己的任務(wù)做完了剩下的時(shí)間就自由支配。這一個(gè)月我們的主要任務(wù)是做一個(gè)騰訊微博android手機(jī)客戶端,每天陳老師都會(huì)給我們傳授一些做軟件的經(jīng)驗(yàn)和一些新的知識(shí)點(diǎn),然后我們根據(jù)具體的要求編寫文檔,編寫代碼,第二天交由陳老師點(diǎn)評(píng)。
1) 可惡的文檔:剛開(kāi)始的時(shí)候感覺(jué)很不適應(yīng),以前上課就是學(xué)習(xí)關(guān)于編程的知識(shí),但是做項(xiàng)目的第一天陳老師要求我們寫文檔,我們用的是gb8568—88格式的文檔,第一次寫即感覺(jué)很枯燥又感覺(jué)不會(huì)寫。對(duì)于寫文檔我們都有想通的反應(yīng),就是莫名奇妙的反感,但是陳老師還是不依不饒的要求我們寫要我們查資料,我們也很沒(méi)辦法只能按照要求寫文檔。但是由于我們不知道在文檔上寫些什么,陳老師看我們很為難也有所讓步,帶領(lǐng)我們寫了軟件需求說(shuō)明書,后來(lái)我們依次寫了概要設(shè)計(jì)說(shuō)明書、詳細(xì)設(shè)計(jì)說(shuō)明書,后來(lái)又寫了測(cè)試計(jì)劃、用戶手冊(cè)。當(dāng)時(shí)的感覺(jué)就是知道的知識(shí)太少,對(duì)著文檔一個(gè)詞一個(gè)詞的硬擠,但是當(dāng)文檔寫完的時(shí)候還是很有成就感的。
其實(shí)在寫文檔的過(guò)程中我們也漸漸的明白了文檔的重要性,我們只是
在學(xué)校編寫程序的時(shí)間久了習(xí)慣了上來(lái)就寫代碼的壞習(xí)慣,忽略了軟件工程中的很重要的部分-----分析階段和設(shè)計(jì)階段??赡苁且?yàn)橐郧白龅能浖己苄。坏╉?xiàng)目稍微大一點(diǎn),那在編寫代碼階段將付出不可估量的代價(jià)甚至最終將以失敗告終。其實(shí)我們都學(xué)過(guò)軟件工程,而且在考試的時(shí)候成績(jī)還不是很差,但是到真正需要這些知識(shí)的時(shí)候我感覺(jué)卻忘記了如何下手,這也就是所謂的紙上談兵吧,所以我感覺(jué)大學(xué)生缺少的正是一種動(dòng)手能力。知識(shí)本身沒(méi)有價(jià)值,有價(jià)值的是運(yùn)用知識(shí)解決問(wèn)題。
2) 該死的bug:寫完文檔感覺(jué)寫代碼就輕松了,但是事與愿違啊。由于以前沒(méi)做過(guò)開(kāi)放平臺(tái)的客戶端,中間涉及到同騰訊公司微博開(kāi)放平臺(tái)接洽的問(wèn)題,開(kāi)始真的很不適應(yīng),不知道怎么下手。當(dāng)知道下手的時(shí)候不免出現(xiàn)了各種各樣的bug:騰訊服務(wù)器故障啦、實(shí)驗(yàn)室斷網(wǎng)啦、模擬器連不上網(wǎng)啦、代碼錯(cuò)誤啦等等。為了弄好這些bug有時(shí)真是忙的焦頭爛額,因?yàn)榭赡芤驗(yàn)樽约簩懙拇a有問(wèn)題導(dǎo)致大家的代碼都不能運(yùn)行,作為團(tuán)隊(duì)的一員誰(shuí)都不想拖后腿。但有時(shí)候我也找不到問(wèn)題所在,只能請(qǐng)高手指教或者找老師為我排憂解難。只可惜我當(dāng)時(shí)掌握的排錯(cuò)方式只有打印輸出和查看日志,根本沒(méi)接觸過(guò)單元測(cè)試。
其實(shí)多遇到一些bug還真不是壞事情,我現(xiàn)在開(kāi)始明白編寫代碼最重要的是快速查找資料和排除錯(cuò)誤的能力。首先我們不可能記住java語(yǔ)言或者android操作系統(tǒng)中所有的類和方法,所以能夠快速找到我們所需要功能的類或者方法是很重要的。其次對(duì)于程序工作者來(lái)說(shuō)遇到bug是很正常的事情,遇到不能解決的問(wèn)題也是很常見(jiàn)的,重要的是能夠正確的處理這些問(wèn)題,并總結(jié)經(jīng)驗(yàn)為以后的開(kāi)發(fā)做好鋪墊。遇到問(wèn)題是要保持好的心態(tài),千萬(wàn)不能焦躁,細(xì)心的一點(diǎn)點(diǎn)的分析問(wèn)題,必的時(shí)候可以去網(wǎng)絡(luò)上查找一些資料。但是不要遇到問(wèn)題就上網(wǎng)查找,我感覺(jué)現(xiàn)在自己動(dòng)手處理題很重要,上網(wǎng)查與吃現(xiàn)成飯沒(méi)有本質(zhì)的區(qū)別。網(wǎng)絡(luò)可以幫我們開(kāi)闊視野,但不要讓網(wǎng)絡(luò)阻礙了我們自我發(fā)展的機(jī)會(huì)。編寫軟件過(guò)程中要及時(shí)記錄,這既可以讓我們總結(jié)更多的經(jīng)驗(yàn),也可以為后來(lái)者提供一些寶貴的資料。畢竟都有成長(zhǎng)的時(shí)候。
3) 痛苦的合并:這是我第一次這么正式的和這么多的人一起開(kāi)發(fā)軟件,更何況還有不認(rèn)識(shí)的人在一個(gè)組,這給我們的溝通帶來(lái)了很大的不便,尤其是最后代碼合并的時(shí)候,很多的問(wèn)題都一擁而上。我們當(dāng)時(shí)用了一個(gè)軟件visualsvn,這是一款團(tuán)隊(duì)開(kāi)發(fā)的軟件,當(dāng)代碼寫的可以組合的時(shí)候我們就用這個(gè)軟件在eclipse下共同開(kāi)發(fā)。但開(kāi)始的時(shí)候我們也會(huì)為了自己的代碼正確而被迫修改別人的代碼,最后弄得大家的代碼不能夠正確的運(yùn)行,然后所有人都會(huì)停下來(lái)共同尋找錯(cuò)誤,改正錯(cuò)誤。這是團(tuán)隊(duì)開(kāi)發(fā)時(shí)候很忌諱的問(wèn)題,并且大家還都不好意思開(kāi)口說(shuō)誰(shuí)錯(cuò)了,畢竟都不是很熟悉。直到大家開(kāi)始慢慢適應(yīng)這種團(tuán)隊(duì)開(kāi)發(fā)之后,這樣的情況才慢慢的被避免,效率也有所提高。
這次的團(tuán)隊(duì)開(kāi)發(fā)讓我明白,在團(tuán)隊(duì)開(kāi)發(fā)中根本不存在自我,你所做的任何事情都應(yīng)從整個(gè)團(tuán)隊(duì)出發(fā),以團(tuán)隊(duì)的利益為重,不能自私。尤其是在團(tuán)隊(duì)中千萬(wàn)不能應(yīng)付,你的應(yīng)付很可能會(huì)給他人帶來(lái)很多不便,甚至造成更大的損失。因此teamwork很重要,必須謹(jǐn)慎!
冗余度太大,有時(shí)候時(shí)代碼不夠安全,有時(shí)候是技術(shù)上不是很完善。對(duì)我們來(lái)說(shuō)目標(biāo)就是編寫的軟件能用,只要大家寫的軟件合并后能夠正常運(yùn)行,一切就ok了。但是這些是遠(yuǎn)遠(yuǎn)不夠的,面向?qū)ο蟮乃枷牒蛙浖こ痰囊恍┏WR(shí)我們都沒(méi)涉及到,異步加載圖片在陳老師講之前我們也從來(lái)沒(méi)有想到過(guò),這些問(wèn)題讓我深深的體會(huì)到我們的創(chuàng)新能力的要求遠(yuǎn)遠(yuǎn)不夠,我們對(duì)完美的渴求度遠(yuǎn)遠(yuǎn)不夠。
沒(méi)有最好,只有更好。這句話真是非常經(jīng)典,作為軟件開(kāi)發(fā)者永遠(yuǎn)沒(méi)有標(biāo)準(zhǔn)答案,沒(méi)有最好的軟件,只有不斷的學(xué)習(xí)不斷的追求才能發(fā)現(xiàn)好的東西,找到更好的創(chuàng)意。雖然最后騰訊微博客戶端能夠成功的運(yùn)行了,但是我意識(shí)到我所掌握的知識(shí)遠(yuǎn)遠(yuǎn)不夠,在這個(gè)實(shí)踐中卻是暴露了很多的問(wèn)題。但愿天天能做到更好!
三、實(shí)踐總結(jié):
1、一個(gè)假期結(jié)束了,留下了很多的回憶,因?yàn)檫@個(gè)暑假是很有意義的。在這三十一天里每天都學(xué)到了新的知識(shí),每天都遇到了新的問(wèn)題,每天都在進(jìn)步這,也讓我有時(shí)間更加清晰的認(rèn)識(shí)了軟件工程這門課程和設(shè)計(jì)模式在軟件開(kāi)發(fā)中的重要性,編寫代碼知識(shí)軟件開(kāi)發(fā)的一小部分,只有真正的這種開(kāi)發(fā)才能體會(huì)到軟件工程的意義。
2、團(tuán)隊(duì)的凝聚力關(guān)系著每一個(gè)軟件開(kāi)發(fā)人員的發(fā)展前途,每一個(gè)人的努力都會(huì)得到回報(bào),同樣一個(gè)人的失誤也會(huì)影響到整個(gè)團(tuán)隊(duì),因此正確處理好人際關(guān)系是很重要的。
3、注重產(chǎn)品的價(jià)值,做好市場(chǎng)調(diào)研是成敗的決定性因素。4、掌握好一門技術(shù)你可以吃飽,但是你要想很富有,必須懂得很多。隊(duì)友可以幫助你一時(shí)幫不了一世,要注重個(gè)人能力發(fā)展!
軟件工程實(shí)踐總結(jié)軟件工程專業(yè)實(shí)訓(xùn)心得體會(huì)篇五
綜合利用所學(xué)的專業(yè)知識(shí),培養(yǎng)軟件開(kāi)發(fā)的技能;掌握android操作系統(tǒng)的編程技巧,體會(huì)企業(yè)軟件開(kāi)發(fā)與學(xué)習(xí)過(guò)程中編寫軟件的不同;提高自身的創(chuàng)新意識(shí)與創(chuàng)新能力,促進(jìn)團(tuán)隊(duì)之間的溝通協(xié)作,為早日踏上工作崗位打下堅(jiān)實(shí)基礎(chǔ)。
a) 實(shí)踐前準(zhǔn)備:
自xx年清明節(jié)前后,我和我的組員就開(kāi)始接受山西西太行信息有限公司的公開(kāi)課的培訓(xùn),當(dāng)時(shí)經(jīng)電子與計(jì)算機(jī)技術(shù)學(xué)院于一老師介紹由陳川老師主要帶領(lǐng)我們重新溫習(xí)了一遍關(guān)于java語(yǔ)言的基本知識(shí),在這將近一個(gè)月的學(xué)習(xí)過(guò)程中我們逐漸重新拾起了即將被遺忘的java 知識(shí),走出了以前認(rèn)識(shí)上的誤區(qū),使我在java這一塊又有了一定的的優(yōu)勢(shì),為以后我們用java語(yǔ)言做開(kāi)發(fā)打下了很好的基礎(chǔ)。
自xx年5月1日,我們開(kāi)始了真正的基于android操作系統(tǒng)的軟件開(kāi)發(fā),雖然我們是利用課余時(shí)間進(jìn)行學(xué)習(xí),但是學(xué)習(xí)的效果真的很好,我們基本上晚上都會(huì)學(xué)到很晚才回宿舍。剛開(kāi)始的時(shí)候我感到很不適應(yīng),感到學(xué)習(xí)的java語(yǔ)言不能夠充分的的到利用,只能夠用一些和系統(tǒng)相關(guān)的東西,但是隨著學(xué)習(xí)的深入,我發(fā)現(xiàn)android操作系統(tǒng)也是一個(gè)很強(qiáng)大的手機(jī)操作系統(tǒng),它有著很好的發(fā)展前景。
并且移動(dòng)互聯(lián)網(wǎng)在在中國(guó)有著大的市場(chǎng),所以我對(duì)我正在從事的android手機(jī)軟件開(kāi)發(fā)給予了很大的希望。這一個(gè)月的培訓(xùn)我們主要學(xué)習(xí)了android操作系統(tǒng)的五大系統(tǒng)組件:activity、service、sqlite、content provider、intent、broadcastrecever,同時(shí)我也學(xué)到了一些課堂上學(xué)不到得東西,對(duì)外面的市場(chǎng)的情況也有了更深刻的了解。
b) 實(shí)踐過(guò)程:
xx年7月1日到xx年7月31日是我正式暑假實(shí)踐的時(shí)間段,
我們一行十六個(gè)人,大三的十一人大二的六人。我們被分了兩個(gè)小組,每個(gè)小組八個(gè)人,上課時(shí)間一般是下午兩點(diǎn)到五點(diǎn)半或者下午五點(diǎn)半到晚上八點(diǎn)半,其余的時(shí)間是我們自己寫代碼的時(shí)間。每天的任務(wù)量都有所不同,有時(shí)候把自己的任務(wù)做完了剩下的時(shí)間就自由支配。這一個(gè)月我們的主要任務(wù)是做一個(gè)騰訊微博android手機(jī)客戶端,每天陳老師都會(huì)給我們傳授一些做軟件的經(jīng)驗(yàn)和一些新的知識(shí)點(diǎn),然后我們根據(jù)具體的要求編寫文檔,編寫代碼,第二天交由陳老師點(diǎn)評(píng)。
1) 可惡的文檔:剛開(kāi)始的時(shí)候感覺(jué)很不適應(yīng),以前上課就是學(xué)習(xí)關(guān)于編程的知識(shí),但是做項(xiàng)目的第一天陳老師要求我們寫文檔,我們用的是gb8568—88格式的文檔,第一次寫即感覺(jué)很枯燥又感覺(jué)不會(huì)寫。對(duì)于寫文檔我們都有想通的反應(yīng),就是莫名奇妙的反感,但是陳老師還是不依不饒的要求我們寫要我們查資料,我們也很沒(méi)辦法只能按照要求寫文檔。但是由于我們不知道在文檔上寫些什么,陳老師看我們很為難也有所讓步,帶領(lǐng)我們寫了軟件需求說(shuō)明書,后來(lái)我們依次寫了概要設(shè)計(jì)說(shuō)明書、詳細(xì)設(shè)計(jì)說(shuō)明書,后來(lái)又寫了測(cè)試計(jì)劃、用戶手冊(cè)。當(dāng)時(shí)的感覺(jué)就是知道的知識(shí)太少,對(duì)著文檔一個(gè)詞一個(gè)詞的硬擠,但是當(dāng)文檔寫完的時(shí)候還是很有成就感的。
其實(shí)在寫文檔的過(guò)程中我們也漸漸的明白了文檔的重要性,我們只是
在學(xué)校編寫程序的時(shí)間久了習(xí)慣了上來(lái)就寫代碼的壞習(xí)慣,忽略了軟件工程中的很重要的部分-----分析階段和設(shè)計(jì)階段。可能是因?yàn)橐郧白龅能浖己苄?,一旦?xiàng)目稍微大一點(diǎn),那在編寫代碼階段將付出不可估量的代價(jià)甚至最終將以失敗告終。其實(shí)我們都學(xué)過(guò)軟件工程,而且在考試的時(shí)候成績(jī)還不是很差,但是到真正需要這些知識(shí)的時(shí)候我感覺(jué)卻忘記了如何下手,這也就是所謂的紙上談兵吧,所以我感覺(jué)大學(xué)生缺少的正是一種動(dòng)手能力。知識(shí)本身沒(méi)有價(jià)值,有價(jià)值的是運(yùn)用知識(shí)解決問(wèn)題。
2) 該死的bug:寫完文檔感覺(jué)寫代碼就輕松了,但是事與愿違啊。由于以前沒(méi)做過(guò)開(kāi)放平臺(tái)的客戶端,中間涉及到同騰訊公司微博開(kāi)放平臺(tái)接洽的問(wèn)題,開(kāi)始真的很不適應(yīng),不知道怎么下手。當(dāng)知道下手的時(shí)候不免出現(xiàn)了各種各樣的bug:騰訊服務(wù)器故障啦、實(shí)驗(yàn)室斷網(wǎng)啦、模擬器連不上網(wǎng)啦、代碼錯(cuò)誤啦等等。為了弄好這些bug有時(shí)真是忙的焦頭爛額,因?yàn)榭赡芤驗(yàn)樽约簩懙拇a有問(wèn)題導(dǎo)致大家的代碼都不能運(yùn)行,作為團(tuán)隊(duì)的一員誰(shuí)都不想拖后腿。但有時(shí)候我也找不到問(wèn)題所在,只能請(qǐng)高手指教或者找老師為我排憂解難。只可惜我當(dāng)時(shí)掌握的排錯(cuò)方式只有打印輸出和查看日志,根本沒(méi)接觸過(guò)單元測(cè)試。
其實(shí)多遇到一些bug還真不是壞事情,我現(xiàn)在開(kāi)始明白編寫代碼最重要的是快速查找資料和排除錯(cuò)誤的能力。首先我們不可能記住java語(yǔ)言或者android操作系統(tǒng)中所有的類和方法,所以能夠快速找到我們所需要功能的類或者方法是很重要的。其次對(duì)于程序工作者來(lái)說(shuō)遇到bug是很正常的事情,遇到不能解決的問(wèn)題也是很常見(jiàn)的,重要的是能夠正確的處理這些問(wèn)題,并總結(jié)經(jīng)驗(yàn)為以后的開(kāi)發(fā)做好鋪墊。遇到問(wèn)題是要保持好的心態(tài),千萬(wàn)不能焦躁,細(xì)心的一點(diǎn)點(diǎn)的分析問(wèn)題,必的時(shí)候可以去網(wǎng)絡(luò)上查找一些資料。但是不要遇到問(wèn)題就上網(wǎng)查找,我感覺(jué)現(xiàn)在自己動(dòng)手處理題很重要,上網(wǎng)查與吃現(xiàn)成飯沒(méi)有本質(zhì)的區(qū)別。網(wǎng)絡(luò)可以幫我們開(kāi)闊視野,但不要讓網(wǎng)絡(luò)阻礙了我們自我發(fā)展的機(jī)會(huì)。編寫軟件過(guò)程中要及時(shí)記錄,這既可以讓我們總結(jié)更多的經(jīng)驗(yàn),也可以為后來(lái)者提供一些寶貴的資料。畢竟都有成長(zhǎng)的時(shí)候。
3) 痛苦的合并:這是我第一次這么正式的和這么多的人一起開(kāi)發(fā)軟件,更何況還有不認(rèn)識(shí)的人在一個(gè)組,這給我們的溝通帶來(lái)了很大的不便,尤其是最后代碼合并的時(shí)候,很多的問(wèn)題都一擁而上。我們當(dāng)時(shí)用了一個(gè)軟件visualsvn,這是一款團(tuán)隊(duì)開(kāi)發(fā)的軟件,當(dāng)代碼寫的可以組合的時(shí)候我們就用這個(gè)軟件在eclipse下共同開(kāi)發(fā)。
但開(kāi)始的時(shí)候我們也會(huì)為了自己的代碼正確而被迫修改別人的代碼,最后弄得大家的代碼不能夠正確的運(yùn)行,然后所有人都會(huì)停下來(lái)共同尋找錯(cuò)誤,改正錯(cuò)誤。這是團(tuán)隊(duì)開(kāi)發(fā)時(shí)候很忌諱的問(wèn)題,并且大家還都不好意思開(kāi)口說(shuō)誰(shuí)錯(cuò)了,畢竟都不是很熟悉。直到大家開(kāi)始慢慢適應(yīng)這種團(tuán)隊(duì)開(kāi)發(fā)之后,這樣的情況才慢慢的被避免,效率也有所提高。
這次的團(tuán)隊(duì)開(kāi)發(fā)讓我明白,在團(tuán)隊(duì)開(kāi)發(fā)中根本不存在自我,你所做的任何事情都應(yīng)從整個(gè)團(tuán)隊(duì)出發(fā),以團(tuán)隊(duì)的利益為重,不能自私。尤其是在團(tuán)隊(duì)中千萬(wàn)不能應(yīng)付,你的應(yīng)付很可能會(huì)給他人帶來(lái)很多不便,甚至造成更大的損失。因此teamwork很重要,必須謹(jǐn)慎!
冗余度太大,有時(shí)候時(shí)代碼不夠安全,有時(shí)候是技術(shù)上不是很完善。對(duì)我們來(lái)說(shuō)目標(biāo)就是編寫的軟件能用,只要大家寫的軟件合并后能夠正常運(yùn)行,一切就ok了。但是這些是遠(yuǎn)遠(yuǎn)不夠的,面向?qū)ο蟮乃枷牒蛙浖こ痰囊恍┏WR(shí)我們都沒(méi)涉及到,異步加載圖片在陳老師講之前我們也從來(lái)沒(méi)有想到過(guò),這些問(wèn)題讓我深深的體會(huì)到我們的創(chuàng)新能力的要求遠(yuǎn)遠(yuǎn)不夠,我們對(duì)完美的渴求度遠(yuǎn)遠(yuǎn)不夠。
沒(méi)有最好,只有更好。這句話真是非常經(jīng)典,作為軟件開(kāi)發(fā)者永遠(yuǎn)沒(méi)有標(biāo)準(zhǔn)答案,沒(méi)有最好的軟件,只有不斷的學(xué)習(xí)不斷的追求才能發(fā)現(xiàn)好的東西,找到更好的創(chuàng)意。雖然最后騰訊微博客戶端能夠成功的運(yùn)行了,但是我意識(shí)到我所掌握的知識(shí)遠(yuǎn)遠(yuǎn)不夠,在這個(gè)實(shí)踐中卻是暴露了很多的問(wèn)題。但愿天天能做到更好!
1、一個(gè)假期結(jié)束了,留下了很多的回憶,因?yàn)檫@個(gè)暑假是很有意義的。在這三十一天里每天都學(xué)到了新的知識(shí),每天都遇到了新的問(wèn)題,每天都在進(jìn)步這,也讓我有時(shí)間更加清晰的認(rèn)識(shí)了軟件工程這門課程和設(shè)計(jì)模式在軟件開(kāi)發(fā)中的重要性,編寫代碼知識(shí)軟件開(kāi)發(fā)的一小部分,只有真正的這種開(kāi)發(fā)才能體會(huì)到軟件工程的意義。
2、團(tuán)隊(duì)的凝聚力關(guān)系著每一個(gè)軟件開(kāi)發(fā)人員的發(fā)展前途,每一個(gè)人的努力都會(huì)得到回報(bào),同樣一個(gè)人的失誤也會(huì)影響到整個(gè)團(tuán)隊(duì),因此正確處理好人際關(guān)系是很重要的。
3、注重產(chǎn)品的價(jià)值,做好市場(chǎng)調(diào)研是成敗的決定性因素。4、掌握好一門技術(shù)你可以吃飽,但是你要想很富有,必須懂得很多。隊(duì)友可以幫助你一時(shí)幫不了一世,要注重個(gè)人能力發(fā)展!
軟件工程實(shí)踐總結(jié)軟件工程專業(yè)實(shí)訓(xùn)心得體會(huì)篇六
; 《軟件工程實(shí)踐》報(bào)告 ——機(jī)票預(yù)定系統(tǒng) 院系:
專業(yè)班級(jí):
報(bào)告人:
指導(dǎo)教師:
實(shí)驗(yàn)地點(diǎn):
完成起止日期:
學(xué)號(hào) 姓名 角色 成績(jī) 組長(zhǎng) 完成工作 主要:寫論文、資料整合、概要設(shè)計(jì)、指導(dǎo)畫圖、編碼調(diào)試。
參與:討論、可行性分析、測(cè)試、作圖 評(píng)語(yǔ) 組員 完成工作 主要:經(jīng)濟(jì)可行性分析、用例分析、詳細(xì)設(shè)計(jì)作圖、編碼調(diào)試、實(shí)行測(cè)試和運(yùn)行。
參與:討論、收集資料 評(píng)語(yǔ) 組員 完成工作 主要:收集資料、需求分析作圖、詳細(xì)設(shè)計(jì)作圖、測(cè)試作表 參與:討論、可行性分析、概要設(shè)計(jì)、 評(píng)語(yǔ) 目錄 第一章 可行性分析 5 1.1引言 5 1.1.1 編寫目的 5 1.1.2 項(xiàng)目背景 5 1.2可行性研究的前提 6 1.2.1要求 6 1.2.2目標(biāo) 6 1.2.3條件,假定和限制 6 1.2.4決定可行性的主要因素 6 1.3技術(shù)可行性分析 6 1.3.1系統(tǒng)簡(jiǎn)要描述 6 1.3.2處理流程和數(shù)據(jù)流程 7 1.4經(jīng)濟(jì)可行性分析 7 1.4.1支出 7 1.4.2效益 7 1.4.3 收益/投資比 8 1.4.4投資回收周期 8 1.4.5敏感性分析 8 1.5法律因素 8 1.6其他可供選擇的方案 8 1.7結(jié)論意見(jiàn) 8 第二章需求分析 9 2.1求規(guī)格說(shuō)明 9 2.1.1系統(tǒng)概貌 9 2.1.2功能需求 9 2.1.3性能需求 9 2.1.4運(yùn)行需求 10 2.2數(shù)據(jù)流圖分析 10 2.2.1數(shù)據(jù)流圖 10 2.2.2數(shù)據(jù)描述? 11 2.2.3數(shù)據(jù)詞典? 11 2.3用例分析 12 2.3.1系統(tǒng)基本用例 12 2.3.2 用況描述 13 2.3.3系統(tǒng)業(yè)務(wù)邏輯描述 15 第三章 概要設(shè)計(jì) 16 3.1系統(tǒng)的結(jié)構(gòu)化設(shè)計(jì) 16 3.1.1軟件體系結(jié)構(gòu)圖 16 3.1.2軟件結(jié)構(gòu)流程圖? 17 第四章 詳細(xì)設(shè)計(jì) 19 4.1 機(jī)票預(yù)訂管理系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì) 19 4.1.1面向旅客的界面包的類圖 20 4.1.2面向管理員的界面包的類圖 21 4.1.3機(jī)票預(yù)訂系統(tǒng)的體系結(jié)構(gòu)圖 22 4.1.4機(jī)票預(yù)訂系統(tǒng)的體系結(jié)構(gòu)圖描述 23 4.2 機(jī)票預(yù)訂管理系統(tǒng)子系統(tǒng)設(shè)計(jì) 23 4.2.1用戶查詢航班及機(jī)票信息 23 4.2.2旅客訂票及退票 24 4.2.3機(jī)票預(yù)訂系統(tǒng)統(tǒng)計(jì)分析 26 4.3數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) 26 4.4數(shù)據(jù)庫(kù)表創(chuàng)建? 27 第五章測(cè)試 29 5.1定義 29 5.2主界面模塊 29 5.2.1用戶注冊(cè) 29 5.2.2用戶登錄 31 5.2.3管理員登錄 33 5.3查詢機(jī)票模塊 35 5.4 航班管理模塊 37 5.5用戶訂票模塊 39 第六章 結(jié)束語(yǔ) 42 第一章 可行性分析 1.1引言 隨著社會(huì)發(fā)展的不斷進(jìn)步,航空事業(yè)不斷壯大,人們生活水平不斷提高,乘坐飛機(jī)的人也越來(lái)越多,隨著消費(fèi)者的不斷增多,飛機(jī)預(yù)訂系統(tǒng)在各地預(yù)訂網(wǎng)點(diǎn)作用也愈顯重要。目前,我國(guó)還有相當(dāng)一部分地區(qū)酒店的機(jī)票預(yù)訂還未進(jìn)入智能處理階段,和發(fā)達(dá)地區(qū)比較工作效率較低。在計(jì)算機(jī)技術(shù)快速發(fā)展的今天,有必要引進(jìn)高效的計(jì)算機(jī)系統(tǒng)來(lái)協(xié)助機(jī)票預(yù)訂工作。因此開(kāi)發(fā)一套具有完整的存儲(chǔ),查詢,核對(duì),打印機(jī)票功能的實(shí)時(shí)機(jī)票預(yù)訂系統(tǒng)勢(shì)在必行。機(jī)票預(yù)定系統(tǒng)應(yīng)克服存儲(chǔ)乘客信息少,查詢效率低下等問(wèn)題外,更重要的是其安全性,可靠性,這關(guān)系到航班和乘客的安全及準(zhǔn)確,本系統(tǒng)因面向廣大機(jī)票預(yù)定網(wǎng)點(diǎn),因此要能在售票網(wǎng)點(diǎn)中普及,則需要開(kāi)發(fā)一個(gè)功能全,價(jià)格能被顧客所接受的系統(tǒng)。? 機(jī)票預(yù)訂系統(tǒng)是為了機(jī)場(chǎng)工作人員和客戶提供訂票退票等與機(jī)票相關(guān)內(nèi)容和管理的系統(tǒng),它具有開(kāi)放的系統(tǒng)結(jié)構(gòu),易擴(kuò)充的,易維護(hù)的,具有良好人機(jī)界面的優(yōu)點(diǎn)。它克服了存儲(chǔ)客戶信息少,查詢效率低等問(wèn)題,更重要的是其安全性,可靠性,實(shí)現(xiàn)航空公司的機(jī)票銷售的自動(dòng)化,為乘客出行提供方便,便于機(jī)場(chǎng)人員信息管理,提高了機(jī)場(chǎng)人員對(duì)機(jī)票管理的工作效率。
1.1.1 編寫目的 可行性研究的目的是為了對(duì)問(wèn)題進(jìn)行研究,以最小的代價(jià)在最短的時(shí)間內(nèi)確定問(wèn)題是否可解。
經(jīng)過(guò)對(duì)此項(xiàng)目進(jìn)行詳細(xì)調(diào)查研究,初擬系統(tǒng)實(shí)現(xiàn)報(bào)告,對(duì)軟件開(kāi)發(fā)中將要面臨的問(wèn)題及其解決方案進(jìn)行初步設(shè)計(jì)及合理安排。明確開(kāi)發(fā)風(fēng)險(xiǎn)及其所帶來(lái)的經(jīng)濟(jì)效益。本報(bào)告經(jīng)審核后,交軟件經(jīng)理審查。
1.1.2 項(xiàng)目背景 開(kāi)發(fā)軟件名稱:機(jī)票預(yù)訂系統(tǒng)。
項(xiàng)目任務(wù)提出者:航空公司及旅游開(kāi)發(fā)公司。
項(xiàng)目開(kāi)發(fā)者:
a++開(kāi)發(fā)小組。
用戶:航空公司及旅游開(kāi)發(fā)公司。
實(shí)現(xiàn)軟件單位:旅游開(kāi)發(fā)公司及廈門理工學(xué)院 項(xiàng)目與其他軟件,系統(tǒng)的關(guān)系:
本項(xiàng)目采用客戶機(jī)/服務(wù)器原理,客戶端的程序是建立在windows xp 系統(tǒng)上以microsoft visual c++為開(kāi)發(fā)軟件的應(yīng)用程序。
1.2可行性研究的前提 1.2.1要求 主要功能:為游客提供機(jī)票預(yù)定服務(wù),方便旅游局的售票工作,提高旅游局的服務(wù)質(zhì)量和服務(wù)效率 。
性能要求:機(jī)場(chǎng)提供的信息必須及時(shí)的反映在旅游局的工作平臺(tái)上。售票系統(tǒng)的定單必須無(wú)差錯(cuò)的存儲(chǔ)在機(jī)場(chǎng)的主服務(wù)器上。對(duì)服務(wù)器上的數(shù)據(jù)必須進(jìn)行及時(shí)正確的刷新。
輸出要求:數(shù)據(jù)完整,詳實(shí)。
輸出要求:簡(jiǎn)捷,快速,實(shí)時(shí)。
安全與保密要求:服務(wù)器的管理員享有對(duì)機(jī)場(chǎng)航班信息庫(kù)及機(jī)票信息庫(kù)和定票信息庫(kù)的管理與修改。售票員只享有對(duì)訂票信息庫(kù)的部分修改(寫入與讀出)。
完成期限:預(yù)計(jì)兩個(gè)月。
1.2.2目標(biāo) 系統(tǒng)實(shí)現(xiàn)后,大大提高旅游局的機(jī)票預(yù)定服務(wù)效率。降低售票服務(wù)中的錯(cuò)誤發(fā)生率,減少信息交流的煩瑣過(guò)程及其帶來(lái)的開(kāi)銷。
1.2.3條件,假定和限制 建議軟件壽命:5 年。
經(jīng)費(fèi)來(lái)源:中國(guó)國(guó)際旅游開(kāi)發(fā)公司。
硬件條件:終端為pc 機(jī)。
運(yùn)行環(huán)境:windosxp 1.2.4決定可行性的主要因素 成本/效益分析結(jié)果,效益 成本。
技術(shù)可行,現(xiàn)有技術(shù)可完全承擔(dān)開(kāi)發(fā)任務(wù)。
操作可行,軟件能被原有工作人員快速接受。
1.3技術(shù)可行性分析 1.3.1系統(tǒng)簡(jiǎn)要描述 在旅游局中的終端是安裝了windows xp的pc機(jī),主要目的是向機(jī)場(chǎng)的服務(wù)器傳遞數(shù)據(jù)。當(dāng)顧客在旅游局進(jìn)行咨詢時(shí),終端向服務(wù)器發(fā)出查詢請(qǐng)求,服務(wù)器根據(jù)航班信息庫(kù)的實(shí)時(shí)數(shù)據(jù),向終端發(fā)送數(shù)據(jù),顯示在終端的屏幕上。當(dāng)顧客向售票員定票時(shí),終端向服務(wù) 器發(fā)出詳盡的一份定單,服務(wù)器核對(duì)后,存入定票信息庫(kù),并修改機(jī)票信息庫(kù)。當(dāng)顧客再次 來(lái)取票時(shí),終端向服務(wù)器發(fā)出查詢定票請(qǐng)求,服務(wù)器接收后,查詢定票信息庫(kù),核對(duì)后,傳送機(jī)票確認(rèn)表單,終端打印出機(jī)票。
1.3.2處理流程和數(shù)據(jù)流程 圖1-1 數(shù)據(jù)流程圖 1.4經(jīng)濟(jì)可行性分析 1.4.1支出 基礎(chǔ)投資:
終端pc 機(jī)5臺(tái):6000*5 = 3 萬(wàn) 網(wǎng)絡(luò)設(shè)備和輔助配置:4 萬(wàn) 共計(jì):7萬(wàn) 其他一次性投資:
mysql : 0元 windows xp: 2 萬(wàn) 操作員培訓(xùn)費(fèi):3萬(wàn) 共計(jì):5 萬(wàn) 經(jīng)費(fèi):
人工費(fèi)用: 2(月)*5(人)*4000(元)=4 萬(wàn) 其他不可知額外支出: 4 萬(wàn) 共計(jì): 8萬(wàn) 支出共計(jì):20 萬(wàn) 1.4.2效益 一次性收益 0元 經(jīng)常性收益 (按銀行利率:1%);
減少員工5 人(100 元/人)五年收益: 100*(1/1.01+1/(1.01)2+1/(1.01)3+1/(1.01)4+1/(1.01)5)*5*12*5=170000 工作效率提高收益(工作效率提高20%): 20000*(1/1.01+1/(1.01)2+1/(1.01)3+1/(1.01)4+1/(1.01)5)*(20%)*5 = 117000 經(jīng)常性收益共計(jì):28.7萬(wàn) 不可定量收益 因服務(wù)質(zhì)量提高增加收益:3000*12*5=180000 收益共計(jì): 46.7萬(wàn) 1.4.3 收益/投資比 46.7 萬(wàn)/20 萬(wàn)=233.5% 1.4.4投資回收周期 2.54年 1.4.5敏感性分析 設(shè)計(jì)系統(tǒng)周期為五年, 估計(jì)最長(zhǎng)可達(dá)7 年 處理速度: 一般查詢速度4 秒 關(guān)鍵數(shù)據(jù)查詢速度: 2 秒 1.5法律因素 所有軟件都選用正版;
所有技術(shù)資料都由提出方保管;
合同制定確定違約責(zé)任。
1.6其他可供選擇的方案 端與服務(wù)器端聯(lián)系在一起,在旅游局中只設(shè)立終端,在機(jī)場(chǎng)設(shè)立服務(wù)器,數(shù)據(jù)輸入由終端輸入,所有數(shù)據(jù)都由服務(wù)器處理,只在終端上顯示數(shù)據(jù)結(jié)果。此設(shè)計(jì)簡(jiǎn)化了數(shù)據(jù)處理,但加重了服務(wù)器的數(shù)據(jù)處理。而使用客戶端/服務(wù)器機(jī)理, 簡(jiǎn)化數(shù)據(jù)流量,加快數(shù)據(jù)處理。
1.7結(jié)論意見(jiàn) 由于投資效益比遠(yuǎn)大于100%, 技術(shù)、經(jīng)濟(jì)、操作都有可行性,可以進(jìn)行開(kāi)發(fā)。
第二章需求分析 2.1求規(guī)格說(shuō)明 2.1.1系統(tǒng)概貌 航空公司為方便旅客,需開(kāi)發(fā)一個(gè)機(jī)票預(yù)定系統(tǒng)。為便于旅客由旅行社代替航空公司負(fù)責(zé)為旅客定票,旅行社把預(yù)定機(jī)票的旅客信息,包括姓名、性別、工作單位、身份證號(hào)碼、旅行時(shí)間、旅行目的地,輸入機(jī)票預(yù)定系統(tǒng)的客戶端程序,系統(tǒng)經(jīng)過(guò)查詢航空公司內(nèi)的航班數(shù)據(jù)服務(wù)器后,為旅客安排航班,印出取票通知。旅客在飛機(jī)起飛前一天憑取票通知和賬單交款后取票,系統(tǒng)校對(duì)無(wú)誤后即印出機(jī)票給旅客。
2.1.2功能需求 1. 航空公司工作人員登錄及注銷? ?? 要求合法的管理員才可以登錄系統(tǒng),防止系統(tǒng)被無(wú)關(guān)人員動(dòng)用,使用字符串匹配對(duì) 用戶名和密碼進(jìn)行判斷。在不使用時(shí)進(jìn)行注銷,下次使用時(shí)需要重新登陸,由于目標(biāo)客戶 的層次較低,建議用輸入檢測(cè)確保輸入準(zhǔn)確無(wú)誤。??? 2. 機(jī)票信息輸入和查詢? ?? 在系統(tǒng)中,要求可以輸入每日航班次數(shù)??梢酝ㄟ^(guò)航班號(hào)、目的地、起飛日期、起飛地點(diǎn)查詢航班,輸出該次航班的起飛時(shí)間和所剩票數(shù)和票的價(jià)格等信息。?? 3. 訂票,取票和退票? ?? 把預(yù)定機(jī)票的旅客信息(姓名、性別、工作單位、身份證號(hào)碼(護(hù)照號(hào)碼)、旅行時(shí)間、旅行始發(fā)地和目的地,航班艙位要求等)輸入到系統(tǒng)中,系統(tǒng)為旅客安排航班。當(dāng)旅客交付了預(yù)訂金后,系統(tǒng)打印出取票通知和帳單給旅客。,旅客在飛機(jī)起飛前一天憑取票通知和帳單交款取票,系統(tǒng)對(duì)旅客有關(guān)證件合法性(如身份證、取票通知和交款發(fā)票)等進(jìn)行驗(yàn)證,系統(tǒng)核對(duì)無(wú)誤即打印出機(jī)票給旅客。對(duì)于已取機(jī)票應(yīng)在未售出機(jī)票中減去。對(duì)于以下情況要求退票者,給予50%金額退款:(1)旅客延誤取票時(shí)間;
(2)旅客臨時(shí)更改航班處理;
(3)因私人原因需要退票。對(duì)于因特殊情況下(如天氣不適合飛機(jī)起降、飛機(jī)延誤超過(guò)30分鐘)等給予全額退票。對(duì)于退訂機(jī)票要在未售出機(jī)票中重新體現(xiàn)。
2.1.3性能需求 為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,機(jī)票預(yù)訂系統(tǒng)應(yīng)該滿足以下的性能需求:? 1. 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性? 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,要充分考慮系統(tǒng)當(dāng)前和將來(lái)可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足企 業(yè)對(duì)信息處理的需求。在系統(tǒng)開(kāi)發(fā)過(guò)程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性。? 2. 系統(tǒng)的開(kāi)放性和系統(tǒng)的可擴(kuò)充性? 機(jī)票預(yù)訂系統(tǒng)在開(kāi)發(fā)過(guò)程中,應(yīng)該充分考慮以后的可擴(kuò)充性。要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過(guò)系統(tǒng)的開(kāi)放性來(lái)完成,即系統(tǒng)應(yīng)是一個(gè)開(kāi)放系統(tǒng),只要符合一定的規(guī)范,可以簡(jiǎn)單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過(guò)軟件的修補(bǔ)、替換完成系統(tǒng)的升級(jí)和更新?lián)Q代。? 3.系統(tǒng)的易用性和易維護(hù)性? 機(jī)票預(yù)訂系統(tǒng)是直接面對(duì)使用人員的,而使用人員往往對(duì)計(jì)算機(jī)并不時(shí)非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。
4.系統(tǒng)的標(biāo)準(zhǔn)性? 系統(tǒng)在設(shè)計(jì)開(kāi)發(fā)使用過(guò)程中都要涉及到很多計(jì)算機(jī)硬件、軟件。所有這些都要符合主流國(guó)際、國(guó)家和行業(yè)標(biāo)準(zhǔn)。同時(shí),在自主開(kāi)發(fā)本系統(tǒng)時(shí),要進(jìn)行良好的設(shè)計(jì)工作,制訂行之有效的軟件工程規(guī)范,保證代碼的易讀性、可操作性和可移植性。? 5.系統(tǒng)的先進(jìn)性? 目前計(jì)算機(jī)系統(tǒng)的技術(shù)發(fā)展相當(dāng)快,做為機(jī)票預(yù)訂系統(tǒng)工程,應(yīng)該保證系統(tǒng)在一段時(shí)間內(nèi)是先進(jìn)的,在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進(jìn),充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過(guò)系統(tǒng)的開(kāi)放性和可擴(kuò)充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)的過(guò)程中,應(yīng)在考慮成本的基礎(chǔ)上盡量采用當(dāng)前主流并先進(jìn)且有良好發(fā)展前途的產(chǎn)品。? 2.1.4運(yùn)行需求 系統(tǒng)軟件:windows?xp 數(shù)據(jù)庫(kù)管理系統(tǒng):mysql?? 硬件要求:奔四?1.6ghz????512m?ram???10g?hd 2.2數(shù)據(jù)流圖分析 2.2.1數(shù)據(jù)流圖 圖2-1本系統(tǒng)的頂層數(shù)據(jù)流圖 圖2-2 0層數(shù)據(jù)流圖 圖2-3 本系統(tǒng)的二層數(shù)據(jù)流圖 2.2.2數(shù)據(jù)描述? 1.靜態(tài)數(shù)據(jù)?:訂票單、取票通知單、帳單、機(jī)票 2.動(dòng)態(tài)數(shù)據(jù)?:旅客姓名、身份證、航班時(shí)間 2.2.3數(shù)據(jù)詞典? 1.旅客信息? 名字:旅客信息? 別名:passenger?information? 描述:旅客的個(gè)人信息,用于對(duì)旅客的確認(rèn)? 定義:旅客信息=姓名+性別+工作單位+身份證號(hào)碼+旅行時(shí)間+旅行目的地? 位置:輸入到旅行社端(client端)
2.訂票旅客清單? 名字:訂票旅客清單? 別名:list? 描述:已訂票的旅客的記錄? 定義:訂票旅客清單=旅客信息的合集? 位置:輸入到旅行社端(client端)
3.訂票信息? 名字:訂票信息? 別名:booked?information? 描述:旅客的旅行時(shí)間和目的地,用于確定旅客的航班? 定義:訂票信息=旅客旅行時(shí)間+旅客旅行目的地? 位置:傳輸?shù)胶娇展径耍╯erver端)
4.航班機(jī)票信息? 名字:航班機(jī)票信息 別名:bill?information? 描述:旅客的航班信息,根據(jù)旅客的旅行時(shí)間和目的地確定? 定義:航班機(jī)票信息=旅客機(jī)票時(shí)間+旅客機(jī)票班次? 位置:傳輸?shù)铰眯猩缍耍╟lient端)? 5.取票通知? 名字:取票通知? 別名:?notification? 描述:旅客領(lǐng)取機(jī)票的憑證? 定義:取票通知=旅客姓名+領(lǐng)票時(shí)間 位置:輸出到打印機(jī)? 6.售出機(jī)票信息? 名字:售出機(jī)票信息? 別名:saled? 描述:旅客的航班機(jī)票的信息? 定義:售出機(jī)票信息=旅客的航班機(jī)票? 位置:輸出到打印機(jī)? 7.旅客訂票記錄? 名字:旅客訂票記錄 別名:record? 描述:已訂票的旅客在航空公司的記錄? 定義:旅客訂票記錄=旅客姓名+航班機(jī)票信息? 位置:輸出到航空公司端(server端)
2.3用例分析 2.3.1系統(tǒng)基本用例 本系統(tǒng)的邊界是:機(jī)票預(yù)定系統(tǒng)服務(wù)平臺(tái)。
系統(tǒng)的參與者有:航空公司管理員、旅行設(shè)、旅客。用例圖如下:
圖2-4 系統(tǒng)用例圖 1.航空公司管理員通過(guò)系統(tǒng)實(shí)現(xiàn)以下使用需求:
登錄、預(yù)訂機(jī)票、退訂機(jī)票、取票管理、航班查詢、 航班信息管理、訂票信息管理、旅客信息管理 2.旅客通過(guò)系統(tǒng)實(shí)現(xiàn)以下使用需求:
登錄、預(yù)訂機(jī)票、退訂機(jī)票、航班查詢 3.旅行社通過(guò)系統(tǒng)實(shí)現(xiàn)以下使用需求:
航班查詢、旅客信息管理 2.3.2 用況描述 1.用例名:登錄。
主要執(zhí)行者:旅客。
目標(biāo):可以查詢和修改旅客的基本信息。
范圍:機(jī)票預(yù)訂系統(tǒng)。
基本互交動(dòng)作:
1).旅客登錄。
2).旅客輸入姓名、證件類型、證件號(hào)碼及電子郵件地址。
2.用例名:預(yù)訂機(jī)票。
主要執(zhí)行者:旅客。
目標(biāo):預(yù)訂機(jī)票。
范圍:機(jī)票預(yù)訂管理系統(tǒng) 基本互交動(dòng)作:
1).旅客查詢航班及機(jī)票 2).旅客選取信息表中的一個(gè)航班,輸入姓名、證件及號(hào)碼。
3).顯示總票款。
4).旅客確認(rèn)預(yù)訂信息、總票款。
3.用例名:退訂機(jī)票。
主要執(zhí)行者:旅客。
目標(biāo):取消此前預(yù)訂的機(jī)票。
范圍:機(jī)票預(yù)訂系統(tǒng)。
基本互交動(dòng)作:
1).用戶登錄。
2).系統(tǒng)顯示旅客此前預(yù)訂但并未登機(jī)的機(jī)票;
旅客選取欲退訂的機(jī)票。
3).系統(tǒng)按照退票費(fèi)計(jì)算規(guī)則計(jì)算退票費(fèi),顯示欲退訂機(jī)票的總票款及總退費(fèi)。
4).旅客確認(rèn)退票請(qǐng)求、總票款。
4.用例名:查詢航班。
主要執(zhí)行者:旅客及旅行社。
次要執(zhí)行者:航空公司。
目標(biāo):查詢航班時(shí)刻表、機(jī)票等信息。
范圍:機(jī)票預(yù)訂管理系統(tǒng)。
基本互交動(dòng)作:
1).用戶登錄。
2).用戶輸入出發(fā)地、目的地、出發(fā)日期、起飛或者到達(dá)時(shí)間的范圍。
3).系統(tǒng)從航空公司的機(jī)票管理系統(tǒng)中獲取航班及機(jī)票信息,顯示符合旅客要求的 所有航班及剩余機(jī)票數(shù)量。
5.用例名:航班信息管理 主要執(zhí)行者:航空公司。
目標(biāo):提供最新的航班信息。
范圍:機(jī)票預(yù)訂系統(tǒng)。
基本互交動(dòng)作:
1).更新航班信息(每5秒)。
2).提供航班信息。
6.用例名:取票管理 主要執(zhí)行者:航空公司。
目標(biāo):及時(shí)通知旅客取票時(shí)間及方式。
范圍:機(jī)票預(yù)訂系統(tǒng)。
基本互交動(dòng)作:
1).獲取已定機(jī)票信息并打印機(jī)票。
2).通知旅客取票的時(shí)間及方式。
7.用例名:旅客信息管理 主要執(zhí)行者:航空公司、旅行社。
目標(biāo):儲(chǔ)存旅客信息。
范圍:機(jī)票預(yù)訂系統(tǒng)。
基本互交動(dòng)作:
1).對(duì)旅客填寫的個(gè)人信息進(jìn)行保存以便于管理。
2).定時(shí)更新旅客的信息。
8.用例名:報(bào)表及分析。
主要執(zhí)行者:定時(shí)器(每周一00:00)
次要執(zhí)行者:管理員。
目標(biāo):匯總前一周的訂票、退票情況。
范圍:機(jī)票預(yù)訂系統(tǒng)。
基本互交動(dòng)作:
1).系統(tǒng)匯總自上次生成周報(bào)表至此刻發(fā)生的所有訂票、退票情況。
2.3.3系統(tǒng)業(yè)務(wù)邏輯描述 本系統(tǒng)的業(yè)務(wù)邏輯是這樣的:旅客登錄系統(tǒng),使用客戶端進(jìn)行訂 票、查詢、退票的操作,旅行社通過(guò)查詢和旅客信息管理與航空 公司進(jìn)行數(shù)據(jù)交流與業(yè)務(wù)往來(lái)。
第三章 概要設(shè)計(jì) 3.1系統(tǒng)的結(jié)構(gòu)化設(shè)計(jì) 3.1.1軟件體系結(jié)構(gòu)圖 圖3-1 系統(tǒng)的軟件體系結(jié)構(gòu)圖 1.旅客用戶模塊:本模塊主要功能,是旅客可登錄系統(tǒng)進(jìn)行機(jī)票信息查詢,并根據(jù)需求預(yù)訂機(jī)票,在支付預(yù)定金后系統(tǒng)打印取票清單。
2.航空公司模塊:該模塊主要功能,是對(duì)航班及機(jī)票信息進(jìn)行管理更新,并根據(jù)用戶提供的取票清單和付款單進(jìn)行驗(yàn)證和打印機(jī)票。
3.系統(tǒng)管理員模塊:本模塊主要功能,是管理員對(duì)系統(tǒng)的軟硬件進(jìn)行維護(hù),并對(duì)航空公司產(chǎn)生的業(yè)務(wù)進(jìn)行編制報(bào)表和分析。
4. 旅行社模塊:本模塊主要功能,是旅行社可登錄系統(tǒng)進(jìn)行機(jī)票信息查詢和管理旅客信息。
3.1.2軟件結(jié)構(gòu)流程圖? 圖3-2 軟件結(jié)構(gòu)流程圖 1.各功能詳細(xì)描述? 本系統(tǒng)主要用于機(jī)票預(yù)訂,所以提供了以下幾個(gè)子功能:機(jī)票預(yù)訂,取票通知,查詢航班,查詢機(jī)票,退票,打印機(jī)票,取消航班,機(jī)票的生成,以及航班的查詢等后臺(tái)功能。? 1).機(jī)票預(yù)訂功能:旅行社和機(jī)場(chǎng)管理員有權(quán)力進(jìn)行該項(xiàng)功能。首先通過(guò)查詢得到旅客所需的航班,確定該航班還有沒(méi)有被預(yù)訂的座位,然后選擇座位的等級(jí),填寫旅客的詳細(xì)信息之后就可進(jìn)行網(wǎng)上預(yù)訂機(jī)票。? 2).票通知:該項(xiàng)功能只有旅行社和機(jī)場(chǎng)管理員有權(quán)力進(jìn)行操作,在機(jī)票預(yù)訂功能成功完成之后,系統(tǒng)會(huì)自動(dòng)給瀏覽器端發(fā)送一條取票信息以及所需繳納的費(fèi)用。旅行社可以利用特定設(shè)備將該取票信息打印出來(lái),這就是取票通知。? 3).查詢航班:可以通過(guò)輸入出發(fā)地,目的地,日期和時(shí)間選定自己航班。? 4).查詢機(jī)票:該項(xiàng)功能三方都可以操作,可以通過(guò)自己的身份證號(hào)以及取票通知上的機(jī)票號(hào)查詢自己的機(jī)票信息。? 5).退訂機(jī)票:該功能只有旅行社和機(jī)場(chǎng)管理員有權(quán)力操作,利用身份證號(hào)和對(duì)應(yīng)的機(jī)票號(hào)就可以查詢到機(jī)票信息,然后就可以退訂機(jī)票。? 6).打印機(jī)票:該功能只有機(jī)場(chǎng)管理員有權(quán)力操作,只有當(dāng)管理員確認(rèn)旅客已經(jīng)付款后才予以打印機(jī)票,可以通過(guò)身份證號(hào)和對(duì)應(yīng)的取票信息上的機(jī)票號(hào)查詢機(jī)票信息,然后服務(wù)器返回機(jī)票信息,管理員就可以打印該機(jī)票信息,交給旅客。? 7).后臺(tái)的取消航班:該項(xiàng)功能只有機(jī)場(chǎng)管理員才能操作,先通過(guò)航班號(hào)和航班日期查詢到航班信息后,取消航班就可以將該航班從數(shù)據(jù)庫(kù)中刪除。? 8).后臺(tái)的航班查詢:該項(xiàng)功能只有機(jī)場(chǎng)管理員才能操作,通過(guò)航班號(hào)和航班日期查詢到航班信息。? 9).后臺(tái)的機(jī)票生成:該項(xiàng)功能只有機(jī)場(chǎng)管理員才能操作,可以通過(guò)該項(xiàng)功能給剛添加的航班生成對(duì)應(yīng)的飛機(jī)票號(hào)紀(jì)錄。? 第四章 詳細(xì)設(shè)計(jì) 4.1 機(jī)票預(yù)訂管理系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì) 本系統(tǒng)包圖主要包括:用戶界面包、航空公司業(yè)務(wù)邏輯包及與外部系統(tǒng)的接口。其中業(yè)務(wù)邏輯中還包含訂票及退票包、客戶管理包、統(tǒng)計(jì)分析包。
圖4-1 機(jī)票預(yù)定管理系統(tǒng)之包圖 4.1.1面向旅客的界面包的類圖 圖4-2 面向旅客的界面包的類圖 4.1.2面向管理員的界面包的類圖 圖4-3 面向管理員的界面包的類圖 4.1.3機(jī)票預(yù)訂系統(tǒng)的體系結(jié)構(gòu)圖 圖4-4機(jī)票預(yù)訂系統(tǒng)的體系結(jié)構(gòu)圖 4.1.4機(jī)票預(yù)訂系統(tǒng)的體系結(jié)構(gòu)圖描述 1.在ticketservice構(gòu)件的對(duì)外接口中,quertflights負(fù)責(zé)查詢航班及尚余機(jī)票booktickets和returntickets分別負(fù)責(zé)訂票和退票,通過(guò)ticketsaleagent向航空公司的機(jī)票銷售管理系統(tǒng)發(fā)出訂票和退票請(qǐng)求,通過(guò)datapersistenceserviceinterface在數(shù)據(jù)庫(kù)中記錄客戶的訂票和退票情況。querysaletickets和queryreturntickets負(fù)責(zé)查詢客戶的訂票和退票情況。
2.在customermanager構(gòu)件的對(duì)外接口中,register和unregister分別負(fù)責(zé)客戶信息的記錄和注銷。getcustomerinfo和setcustomerinfo分別負(fù)責(zé)獲取和修改客戶信息。
3.在statandanalyser子系統(tǒng)的對(duì)外接口中,statsaledtickets和statreturntickets借助于ticketserviceinterface中的querysaletickets和queryreturntickets分別統(tǒng)計(jì)在某一時(shí)段售票和退票的情況。
4.2 機(jī)票預(yù)訂管理系統(tǒng)子系統(tǒng)設(shè)計(jì) 4.2.1用戶查詢航班及機(jī)票信息 圖4-5 機(jī)票預(yù)定系統(tǒng)之查詢航班及機(jī)票信息類圖 圖4-6 查詢航班及機(jī)票用例順序圖 4.2.2旅客訂票及退票 圖4-7機(jī)票預(yù)訂管理系統(tǒng)之“訂票及退票”包的類圖 圖4-8 訂票用例順序圖 圖4-9 退票用例順序圖 4.2.3機(jī)票預(yù)訂系統(tǒng)統(tǒng)計(jì)分析 圖4-10 機(jī)票預(yù)訂系統(tǒng)之統(tǒng)計(jì)分析包的類圖 圖4-11 生成統(tǒng)計(jì)分析報(bào)表的順序圖 4.3數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) 根據(jù)總的結(jié)構(gòu)圖設(shè)計(jì)各表結(jié)構(gòu)如下:
表4-1 旅客信息表 表4-2航班信息表 表4-3機(jī)票信息表 4.4數(shù)據(jù)庫(kù)表創(chuàng)建? create?table?旅客信息表? ( 姓名?char(50)?not?null?primary?key,?? ? 性別?char(50)?not?null,? 年齡?int?not?null,? 用戶密碼char(50)?not?null,? 證件號(hào)?int?notnull) create?table?航班信息表? ( 航班號(hào)?int?not?null,??primary?key,? 出發(fā)時(shí)間?char(30)?not?null,?? 出發(fā)地?char(20)?not?null,?? 目的地?char(20)?not?null, 票數(shù)?int?not?null, 票價(jià)?int?not?null)
create?table?機(jī)票信息表? ( 姓名?varchar(50)?not?null?primary?key,?? 座位號(hào)int?not?null, 航班號(hào)?int?not?null, 登機(jī)口?int?not?null,?? 票價(jià)?int?not?null,? ? 時(shí)間?char(30)?not?null,? 出發(fā)地?char char(50)not?null,? 目的地 char(50)not?null)? 第五章測(cè)試 5.1定義 黑盒測(cè)試:
黑盒測(cè)試也稱功能測(cè)試,它是通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用。在測(cè) 試中,把程序看作一個(gè)不能打開(kāi)的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。
黑盒測(cè)試是以用戶的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行測(cè)試的。很明顯,如果外部特性本身設(shè)計(jì)有問(wèn)題或規(guī)格說(shuō)明的規(guī)定有誤,用黑盒測(cè)試方法是發(fā)現(xiàn)不了的。
白盒測(cè)試:
白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說(shuō)明書的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。
這一方法是把測(cè)試對(duì)象看作一個(gè)打開(kāi)的盒子,測(cè)試人員依據(jù)程序內(nèi)部邏輯結(jié)構(gòu)相關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試,通過(guò)在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致。
5.2主界面模塊 主界面與注冊(cè)界面和登錄界面(航空公司管理員登錄、用戶登錄)。
通過(guò)主界面可以進(jìn)入注冊(cè)界面和登錄界面,由登錄界面分別進(jìn)入航空公司管理系統(tǒng)和用戶預(yù)訂機(jī)票系統(tǒng)。
5.2.1用戶注冊(cè) 1.輸入項(xiàng) 表5-1 測(cè)試用戶注冊(cè)輸入項(xiàng) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 允許空 字段描述 name char 50 否 用戶真實(shí)姓名 sex char 50 否 用戶性別 age int 35 否 用戶年齡 password char 50 否 用戶密碼 credential int 35 否 用戶身份證號(hào) 2.輸出項(xiàng) 1顯示注冊(cè)成功,按任意鍵返回主頁(yè);
2提示該身份證號(hào)已注冊(cè),重新輸入。
3.算法 點(diǎn)擊主界面2入口中的一個(gè),可進(jìn)入相應(yīng)的注冊(cè)界面。
內(nèi)部處理 if 用戶身份證號(hào)注冊(cè)過(guò), 提示錯(cuò)誤信息: 該身份證號(hào)已注冊(cè),請(qǐng)重新輸入! else 顯示注冊(cè)成功,按任意鍵返回主頁(yè)。
4.流程邏輯 圖5-1 用戶注冊(cè)流程邏輯圖 5.編碼和界面 圖5-2 用戶注冊(cè)界面 圖5-3 用戶注冊(cè)錯(cuò)誤測(cè)試結(jié)果 6.測(cè)試用例 對(duì)輸入?yún)?shù)查驗(yàn),檢測(cè)數(shù)據(jù)庫(kù)數(shù)據(jù)異常時(shí)能否判斷并給予適當(dāng)處理。
表5-2用戶注冊(cè)測(cè)試用例 測(cè)試用例 預(yù)期結(jié)果 錯(cuò)誤的身份證號(hào) 提示:身份證已注冊(cè) 正確的用戶信息 提示:注冊(cè)成功 5.2.2用戶登錄 1.輸入項(xiàng) 表5-3 測(cè)試用戶登錄輸入項(xiàng) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 允許空 字段描述 username char 50 否 用戶真實(shí)姓名 password char 30 否 登錄密碼 2.輸出項(xiàng) 1顯示登陸成功,按任意鍵進(jìn)入機(jī)票預(yù)訂系統(tǒng);
2提示用戶或密碼錯(cuò)誤,重新輸入請(qǐng)按y,退出請(qǐng)按n。
3.算法 點(diǎn)擊主界面2入口中的一個(gè),可進(jìn)入相應(yīng)的登錄界面。在用戶 登錄界面輸入用戶名與密碼,點(diǎn)擊確定按鈕:
內(nèi)部處理 if 用戶名或密碼不正確 提示錯(cuò)誤信息: 用戶或密碼錯(cuò)誤,請(qǐng)重新輸入! else 登陸成功并轉(zhuǎn)入相應(yīng)頁(yè)面 點(diǎn)擊0確認(rèn):返回主界面。
4.流程邏輯 圖5-4 用戶登錄流程邏輯圖 5.編碼和界面 圖5-5 登錄界面 圖5-6 用戶登錄成功 圖5-7 用戶登錄錯(cuò)誤測(cè)試 6.測(cè)試用例 對(duì)輸入?yún)?shù)查驗(yàn),檢測(cè)數(shù)據(jù)庫(kù)數(shù)據(jù)異常時(shí)能否判斷并給予適當(dāng)處理。
表5-4 用戶登錄測(cè)試用例 測(cè)試用例 預(yù)期結(jié)果 錯(cuò)誤的用戶名 提示:用戶名錯(cuò)誤 錯(cuò)誤的密碼 提示:密碼錯(cuò)誤 正確的用戶名、密碼 提示:登陸成功進(jìn)入機(jī)票預(yù)訂系統(tǒng) 5.2.3管理員登錄 1.輸入項(xiàng) 表5-5 管理員登錄測(cè)試輸入項(xiàng) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 允許空 字段描述 manager char 50 否 管理員姓名 password char 30 否 登錄密碼 2.輸出項(xiàng) 1顯示登陸成功,按任意鍵進(jìn)入機(jī)票調(diào)整系統(tǒng);
2提示姓名或密碼錯(cuò)誤,重新輸入請(qǐng)按y,退出請(qǐng)按n。
3.算法 點(diǎn)擊主界面2入口中的一個(gè),可進(jìn)入相應(yīng)的登錄界面。在管理者 登錄界面輸入姓名與密碼,點(diǎn)擊確定按鈕:
內(nèi)部處理 if 姓名或密碼不正確 提示錯(cuò)誤信息: 用戶或密碼錯(cuò)誤,請(qǐng)重新輸入! else 登陸成功并轉(zhuǎn)入相應(yīng)頁(yè)面 點(diǎn)擊0確認(rèn):返回主界面。
4.流程邏輯 圖5-8 管理員登錄流程邏輯圖 5.編碼和界面 圖5-9 管理員登錄成功 圖5-10 管理員登錄錯(cuò)誤測(cè)試結(jié)果 6.測(cè)試用例 對(duì)輸入?yún)?shù)查驗(yàn),檢測(cè)數(shù)據(jù)庫(kù)數(shù)據(jù)異常時(shí)能否判斷并給予適當(dāng)處理。
表5-6管理員登錄測(cè)試用例 測(cè)試用例 預(yù)期結(jié)果 錯(cuò)誤的姓名 提示:姓名錯(cuò)誤 錯(cuò)誤的密碼 提示:密碼錯(cuò)誤 正確的姓名、密碼 提示:登陸成功進(jìn)入機(jī)票調(diào)整系統(tǒng) 5.3查詢機(jī)票模塊 用戶或管理員進(jìn)入查詢機(jī)票界面,可以通過(guò)查找航班信息來(lái)選擇自己要乘坐的航班。
1. 輸人項(xiàng) 表5-7 查詢機(jī)票測(cè)試輸入項(xiàng) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 默認(rèn)值 允許為空 字段描述 flight_num string 是 飛機(jī)班次 2. 輸出項(xiàng) 表5-8 查詢機(jī)票測(cè)試輸出項(xiàng) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 默認(rèn)值 允許為空 字段描述 flight_num string 是 飛機(jī)班次 origion string 是 旅行始發(fā)地 destination string 是 旅行目的地 leave_time string 是 旅行初始時(shí)間 3.算法 顯示查詢界面 case1 航班號(hào) 輸入查詢的航班號(hào);
break; 根據(jù)所輸出的內(nèi)容,連接數(shù)據(jù)庫(kù)開(kāi)始搜索 if 找到符合條件的機(jī)票 顯示輸出 else 沒(méi)有找到符合要求的機(jī)票 4.流程邏輯 選擇航班號(hào) 查詢 檢索數(shù)據(jù)庫(kù) 顯示結(jié)果 y n 圖5-11查詢機(jī)票流程邏輯圖 5.編碼和界面 圖5-12 查詢機(jī)票錯(cuò)誤測(cè)試結(jié)果 圖5-13 查詢機(jī)票成功 6.測(cè)試計(jì)劃 輸入數(shù)據(jù):輸入?yún)?shù)合法,數(shù)據(jù)庫(kù)出現(xiàn)異常的處理。數(shù)據(jù)的共享與獨(dú)立性,一致性與完整性。
7. 測(cè)試用例 表5-9 查詢機(jī)票測(cè)試用例 測(cè)試用例 預(yù)期結(jié)果 輸入合法參數(shù) 顯示正確的航班信息 輸入非法參數(shù) 數(shù)據(jù)庫(kù)出現(xiàn)異常處理結(jié)果 (違背數(shù)據(jù)的一致性或者完整性)
5.4 航班管理模塊 航空公司管理員登錄成功后進(jìn)入航空公司管理系統(tǒng), 添加航班。
1. 輸人項(xiàng) 表5-10 航班管理測(cè)試輸入項(xiàng) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 默認(rèn)值 是否允許空 字段描述 flight_num string 否 飛機(jī)班次 price int 4 否 機(jī)票價(jià)格 leave_time datatime 否 發(fā)機(jī)時(shí)間 cout int 否 票數(shù) origin string 否 始發(fā)地 destination string 否 目的地 2.輸出項(xiàng) 1).成功轉(zhuǎn)入相應(yīng)頁(yè)面;
2).提示輸入錯(cuò)誤,重新輸入。
3.算法 進(jìn)入航班管理信息界面,可返回主界面。
選擇航班管理信息界面的添加航班界面以及返回主界面。
添加航班:
依次輸入數(shù)據(jù) if 輸入數(shù)據(jù)格式錯(cuò)誤或內(nèi)容不對(duì) 提示錯(cuò)誤,重新輸入 else 將數(shù)據(jù)存入數(shù)據(jù)庫(kù) 提示添加成功 返回航班管理信息界面 在管理員登錄系統(tǒng) 4.流程邏輯 選擇航班管理操作 添加航班信息 n 填寫信息正確 成功添加航班 返回 圖5-14添加航班流程邏輯圖 5.編碼和界面 圖5-15 航班添加界面 圖5-16 添加成功界面 6.測(cè)試用例 表5-11 航班添加測(cè)試用例 測(cè)試用例 預(yù)期結(jié)果 重復(fù)輸入的航班信息 提示:該航班已存在,重新輸入 正確的航班信息 提示:是否繼續(xù)添加 5.5用戶訂票模塊 用戶登錄成功后進(jìn)入航空公司管理系統(tǒng),選擇瀏覽航班后進(jìn)入訂票系統(tǒng)。
1. 輸人項(xiàng) 表5-12 訂票測(cè)試輸入項(xiàng) 字段名稱 數(shù)據(jù)類型 長(zhǎng)度 默認(rèn)值 是否允許空 字段描述 flight_num string 否 飛機(jī)班次 cout int 否 票數(shù) 2.輸出項(xiàng) 1).航班信息,開(kāi)始訂票及訂票成功;
2).沒(méi)有您要的航班信息,余票不足,請(qǐng)出入有效票數(shù)。
3.算法 進(jìn)入航班管理信息界面,可返回主界面。
選擇航班管理信息界面的訂票界面以及返回主界面。
訂機(jī)票:
輸入數(shù)據(jù) if 輸入數(shù)據(jù)不對(duì) 提示錯(cuò)誤,重新輸入 else 顯示航班信息 繼續(xù)查找or開(kāi)始訂票 if 輸入票數(shù)有誤 提示錯(cuò)誤,重新輸入 else 顯示訂票成功 航班管理信息界面 4.流程邏輯 選擇訂票操作 查詢航班信息 n 顯示航班信息 開(kāi)始訂票 輸入訂票數(shù) n 輸入票數(shù)正確 訂票成功 返回 圖5-17訂票流程邏輯圖 5.編碼和界面 圖5-18 訂票錯(cuò)誤測(cè)試結(jié)果 圖5-19 訂票成功結(jié)果 6.測(cè)試用例 表5-13 訂票測(cè)試用例 測(cè)試用例 預(yù)期結(jié)果 輸入錯(cuò)誤的航班號(hào) 提示:該航班不存在,重新輸入 正確的航班號(hào) 提示:是否繼續(xù)查找或開(kāi)始訂票 錯(cuò)誤的機(jī)票數(shù) 提示:余票不足,重新訂票 正確的機(jī)票數(shù) 提示:訂票成功 第六章 結(jié)束語(yǔ) 經(jīng)過(guò)兩周的努力,我們終于完成了《軟件工程》的課程設(shè)計(jì)。從開(kāi)始接到題目到系統(tǒng)的完成,每走一步對(duì)我們來(lái)說(shuō)都是新的嘗試與挑戰(zhàn)。我們從對(duì)軟件工程的技術(shù)不熟悉的狀態(tài)開(kāi)始了課程設(shè)計(jì),查看相關(guān)資料和書籍,讓自己頭腦中模糊的概念逐漸清晰,使自己非常稚嫩的作品一步步完善起來(lái),每一次改進(jìn)都是學(xué)習(xí)的收獲,每一次試驗(yàn)的成功都是辛勞的成果。
此次課程設(shè)計(jì)中,本小組根據(jù)軟件工程實(shí)行過(guò)程完成了機(jī)票預(yù)定系統(tǒng)的大部分功能,包括用戶(旅客、旅行社)注冊(cè),管理員登錄系統(tǒng)進(jìn)行航班添加查詢功能,用戶(旅客、旅行社)登錄系統(tǒng)進(jìn)行查詢訂票功能。
雖然我們的作品不是很成熟,還有很多不足之處,但我們可以自豪的說(shuō),這里面的每個(gè)細(xì)節(jié)都有我們的辛勤付出。兩周的時(shí)間過(guò)去了,我們的課程設(shè)計(jì)也將告一段落,點(diǎn)擊運(yùn)行程序,也基本達(dá)到預(yù)期的效果。心中不由得也會(huì)冒出小小的成就感。由于時(shí)間和精力的關(guān)系,做出來(lái)的程序中仍有許多不盡人意的地方。例如:功能不夠完善,界面不夠美觀等。對(duì)于這些遺憾我們只能以人們常說(shuō)的,“做一件事,不必過(guò)于在乎最終的結(jié)果,可貴的是過(guò)程中的收獲”來(lái)聊以自慰。但在以后的時(shí)間里我們?nèi)詴?huì)再接再厲把這個(gè)程序做的更加完美。
在本次軟件工程設(shè)計(jì)過(guò)程中,我們不免遇到很多的困難但是在老師的精心指導(dǎo)和自己的不斷努力下基本上完成了此次的設(shè)計(jì)并達(dá)到了預(yù)期的要求,而且自己在程序設(shè)計(jì)方面也有不少的收獲,更加堅(jiān)定了自己在編程中的信心。在此,衷心感謝胡老師的認(rèn)真授課和精心指導(dǎo)! 參考資料:
[1]吳潔明等,《軟件工程實(shí)例教程》,清華大學(xué)出版社。
[2]錢樂(lè)秋等,《軟件工程》,清華大學(xué)出版社。
相關(guān)熱詞搜索:;