軟體培訓心得體會
這學期學習了軟體工程實踐這門課,我覺得這是對上學期的軟體工程課程學習的檢驗,上學期學習軟體工程只是我們淺顯的認識,相比之下,這學期就更加全面的說明了開發一個專案所需要的步驟以及開發專案過程中所需要注意的諸多細節。如果說上學期的課程注重理論基礎的話,那麼這學期的軟工實踐,顧名思義,就是側重我們動手操作的能力。
原來我認為開發一個專案最重要的就是寫程式碼,似乎整個軟體都是編程式碼,因為自己動手能力不強所以就很排斥做專案。可是經過我們學習軟工課程到團隊做專案再到學習軟體工程實踐課程之後,我才真正意識到實施一個軟體工程專案並不是說簡單的會編碼就能夠解決問題的,因為一個軟體的生命週期分為三個時期:軟體定義時期、開發時期、維護時期,而這三個時期整體又分為七個階段,他們分別是:問題定義、可行性研究、需求分析、總體設計、詳細設計、編碼和單元測試、綜合測試,由此可看出,當我們開發一個專案時,更多的精力不是放在編碼上,編碼只是一個很小的模組,而是專案的整體結構上。
在寫軟工實踐體會之前,我想在這裡總結一下上學期三人團隊做 專案的相關事宜。上學期我們三人團隊根據軟體開發的步驟開發一個名為“西大老鄉‘薈’”的社交系統,主要是為西大學子提供一個找老鄉的平臺。雖然只進行到詳細設計階段,沒有進一步實現,但是我還是從中學到很多東西的。首先要先確定專案主題,也就是這個專案用來做什麼,可以解決什麼問題。接著就是這個專案是否有研究的必要以及是否有解決的辦法,針對我們的專案,我們對西大的一些學生做了問卷調查,並從調查中繼續完善系統本身的做使用者。第三步根據我們確定的專案主題進行需求分析,這一步驟當時做的不是很好,比如所畫E—R圖、資料流圖等都有考慮不周的問題,導致接下來的概要設計、詳細設計進行的很困難,有些步驟甚至還需要返工。
從我們在需求分析中出現的問題,使我們明白了軟體定義階段對於一個專案的開發是至關重要的,當軟體定義階段完成時必須要用正式的文件準確的地記錄目標系統的需求。只有前期的準備工作做得好,後面的工作才能順利進行。雖然專案最後沒有完全實現,但是起碼我們已經初步體會到軟體專案開發的步驟,以及每一步所需要完成的文件等內容。
這學期的軟體工程實踐雖然不是親自動手開發一個系統,但是張元平老師以“物聯網物流倉儲管理系統”為主給我們講解了一個真實系統的開發過程,從計劃到專案系統的釋出實施,以及每一步必須生成的文件。我主要從以下五個方面談一下我的心得體會。
第一、行業背景說明方面
對於一個軟體系統的開發,第一步就是問題定義,瞭解所開發系統的行業背景,制定計劃。當我們計劃確定以後就要對專案系統本身進行可行性研究,主要從技術可行性、經濟可行性和操作可行性三個方面著手。就比如《物聯網物流倉庫管理系統》的行業背景說明文件中非常詳細地分析了當下物聯網物流行業的整體業務說明、應用背景、未來發展趨勢以及相關應用案例等四個方面,專案團隊中系統分析員就可以根據這份文件以及相關的調查資料對將要開發系統的進行定義等工作。
原來我們寫這類文件的時候就是草草了事,不會做得這麼詳細,而這次看到大型專案的行業背景說明也是這麼詳細,也讓自己認識到不管是軟體開發的那個階段都要認真對待,這些瑣碎的文件都是後期開發專案的支撐,只要它們做的透徹,後面的開發工作才能更順利的進行。
第二、專案需求說明方面
這部分專案需求說明就是軟體定義時期中需求分析階段,而該階段的主要目的就是了解使用者的需要,根據使用者的需要確定系統必須完成那些工作,並對目標系統提出完整、準確、清晰、具體的要求。在需求分析結束之前系統分析人員要寫出一份需求規格說明,即為《物聯網物流倉儲管理系統》專案需求說明文件。我們可以看出該文件也是非常詳細,相比之下我們之前做專案時寫的需求規格說明書就非常不合格,不僅格式不正確內容也是少之又少。
在這方面,這篇文件給我啟發很大。首先就是文件的格式,要美觀整齊,讓人看著舒服方便。其次就是文件的內容,原來它不是很重要,寫文件的時候也不知道怎麼寫就借鑑下網上的內容,結果根本就沒有把自己專案的需求寫明白,以至於自己最後都有些糊塗,所以根據以前的經驗教訓我會對這部分更加重視。
第三、系統概要設計方面
這部分內容分說的是軟體設計時期的概要設計階段,該階段的主要目的就是實現系統的功能、設計軟體的結構、模組組成以及模組之間的關係。在概要設計階段,我們可以站在全域性的高度上,花較少的成本,從抽象的層次上分析對比多種可能的系統實現方案和軟體結構,從中選出最佳方案和最合理的結構。在這個階段還會具體畫出E—R圖、資料流圖等方面的設計。
比如《物聯網物流倉庫管理系統》的系統概要設計從專案概述、設計約束、功能單元與功能模組設計、資料E—R圖設計、總體設計、介面設計等六個方面介紹,通過讀這個文件,我覺得最重要的還是總體設計,分別從邏輯架構設計、物理架構設計、技術架構設計設計系統。在這個階段中模組要做到高內聚低耦合,這樣開發出來的系統才會具有更高的獨立性。
在原來做專案時沒有編寫過這類文件,在該階段只是畫了結構圖、層次圖以及相關的模組劃分,對該類文件尚未重視。通過張老師的講解和自己的學習,我相信在以後做專案的時候一定會注意到這類文件的編寫。
第四、詳細設計與分析方面
詳細設計階段就是把概要設計階段的每個模組進一步設計,確定每個模組所需要的演算法和資料結構。在這個階段還是需要我們設計出程式的詳細規格說明,而不是編寫程式。在詳細設計階段,系統設計人員可以通過使用程式流程圖、盒圖、PAD圖等過程設計的工具和Jackson圖等面向資料結構的設計工具進一步設計系統相關介面,主要包括介面設計介面、業務單設計介面、單元模組設計介面等,這些對於以後的編碼工作都是極其重要的。
第五、編碼和測試方案方面
關於編碼,我認為編碼要想做的完美必備條件就是前面的軟體定義和軟體設計時期要按部就班的做,文件一定要按要求書寫,不能偷懶也不能草草書寫。對於編碼也要有相應的文件書寫規範,要使源程式程式碼的邏輯簡明清晰、易讀易懂。這樣儘管我們不是設計系統的人員,當看到源程式程式碼的時候也能容易讀懂程式碼的意思。
其次就是測試的內容,從測試的文件中我們可以得出,其實測試在軟體開發中同樣佔據了重要的地位,它主要就是儘可能多的找到問題並排除其中的潛藏的錯誤,最終把一個高質量的軟體系統交給使用者使用。它要求測試人員也要有很高的技術水平。
通過實訓中心老師的課堂講解與企業化標準的培訓,使我加深了對自己專業的認識。從而確定自己以後的努力方向。要想在短暫的實訓時間內,儘可能多的學到東西,就需要我們跟老師或同學進行很好的溝通,加深彼此的瞭解。只有我們跟老師多溝通,讓老師更瞭解我們,才能跟真切的對我們進行培訓工作。由此,班級的文化“共享”就在生活中慢慢形成了。
“紙上得來終覺淺,絕知此事要躬行!”在這短短的時間裡,讓我深深的感覺到自己在實際應用中所學專業知識的匱乏。讓我真真領悟到“學無止境”這句話的涵義。而老師在專業認識週中所講的,都是課本上沒有而對我們又非常實用的東西,這又給我們的實訓增加了濃墨淡採的光輝。我懂得了實際生活中,專業知識是怎樣應用與實踐的。在這些過程中,我不僅知道了職業生涯所需具備的專業知識,而且讓我深深體會到一個團隊中各成員合作的重要性,要善於團隊合作,善於利用別人的智慧,這才是大智慧。靠單一的力量是很難完成一個大專案的,在進行團隊合作的時候,還要耐心聽取每個成員的意見,使我們的組合達到更加完美。
這次實訓帶給我太多的感觸,它讓我知道工作上的辛苦,事業途中的艱辛。讓我知道了實際的工作並不像在學校學習那樣輕鬆。
人非生而知之,雖然我現在的知識結構還很差,但是我知道要學的知識,一靠努力學習,二靠潛心實踐。沒有實踐,學習就是無源之水,無本之木。這次實訓讓我在一瞬間長大:我們不可能永遠呆在象牙塔中,過著一種無憂無慮的生活,我們總是要走上社會的,而社會,就是要靠我們這些年輕的一代來推動。這就是我們不遠千里來實訓的心得和感受,而不久後的我,面臨是就業壓力,還是繼續深造,我想我都應該好好經營自己的時間,充實、完善自我,不要讓自己的人生留下任何空白!
實訓中除了學到不少專業知識,也瞭解一些社會的現實性,包括人際交往,溝通方式及相關禮節方面的內容,對於團隊開發來說,團結一致使我深有體會。團隊的合作注重溝通和信任,不能不屑於做小事,永遠都要保持親和誠信,把專業理論運用到具體實踐中,不僅加深我對理論的掌握和運用,還讓我擁有了一次又一次難忘的開發經理,這是也是實訓最大的收穫。
現在我對“一個人最大的財富是他的人生經歷和關係網路”這句話非常的有感情,因為它確實幫了我們不少。除此課本上的知識畢竟有限。通過實訓,我班同學都有這樣一個感覺,課本上的理論知識與實際工作有很大差距,只有知識是遠遠不夠的,專業技能急需提高。
從最初的笨手笨腳,到現在可以熟練的按照流程開發軟體,這都與我班每個人的努力是分不開的。十個月的實訓,教會了我們很多東西,同時也鍛鍊了大家踏實、穩重的能力,每個人都很珍惜這來之不易的實訓機會。
在實際工作中經常會和不同的人打交道,然而他們的態度是不可恭維的,你會感覺到他的不耐煩以及他的高傲,所以這就需要學會溝通的方式及說話技巧,學會靈活面對。通過這十個月的實訓,我班同學都收穫頗豐,總體來說對這次實訓還是很滿意的。儘管實訓很累,每天早出晚歸。但真的很感謝學校能夠提供我們這樣好的實訓機會,以及東軟給予我們的實訓平臺。我們深刻的瞭解到,只有經歷過,才知道其中的滋味。對於我而言,喜歡體驗生活,可以說通過這次實訓,真真切切的讓我瞭解了什麼是軟體開發,什麼是軟體工程,讓我對於軟體最初的觀點也有了本質性的改變!程式設計師不僅僅是一份職業,更是一份細心+一份耐心+一份責任心=人生價值的詮釋。即將走向工作崗位的我們更要不斷加強自己的專業技能,社會不會要一個一無是處的人,所以我們要更多更快的從一個學校人向社會人轉變。為此我們將會在以後的日子裡繼續努力,不斷激勵經驗,不斷磨礪自己,早日走向工作崗位。