1. 程式人生 > >學習軟件工程學習報告以及心得體會

學習軟件工程學習報告以及心得體會

針對性 不可 成了 每一個 後來 可能 描述 sof 公司

學習了一個學期的軟件工程,到現在基本上已經結課了。我談談這個學期我學到的和懂得的東西。

總體來說,我最大的收獲是我們的實際能力得到了提高,我們有個人項目,結對項目以及團隊項目。我們的互動做了很多,所以動手能力更強了。無論是在上個世紀還是在現在,軟件開發所涉及的工作基本上都沒有變化,它們都起始於一個實際需要或某個靈感然後就是分析,設計,編碼,調試,維護。這些任務以某種方式動態地結合起來就構成了軟件開發的整個過程,這就是所謂的“軟件開發周期”。 但對於這些工作具體怎樣做,什麽時候做,每個人都有自己的一套方式,甚至有的人有幾套方式。這樣,當幾個人合在一起幹活的時候,最終的結果就只能是一片混亂。所以就需要一套規則,大家都按規則來辦事,問題就會少得多。好的規則就叫做規範,規範都是由一些master們根據經驗總結的,又經過長時間的歷練,不斷地被補充修正,可以說都是精華,按照規範來幹活。對於提高軟件質量和工作效率自然大有幫助。 而軟件工程,說白了,就是這樣一套用於軟件的團隊開發,以提高軟件質量和程序員工作效率為目的的規範。其核心就是,對於軟件開發的5個重要組成部分,需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。簡單來說,就是對於總體的組織和對於局部的實現。 規範只是提供一個好的例子,以描述一種思想,具體到每一個環節怎樣實現,對於不同的公司或團體則是各有千秋,因為根本就不可能存在一套放之天下皆可行的標準。

我們學習了詳細設計的方法,其原則是過程描述是否易於理解、復審和維護,進而過程描述能夠自然地轉換成代碼,並保證詳細設計與代碼完全一致。軟件工程對於初學者來說,知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學好軟件工程,不是僅僅把幾本專業書籍細致地看幾遍,然後上機練習幾次就可以成功,學習過程中要註意多看多練要註意結合實際,更要多思考,面對錯誤不要一範就問,要嘗試自己去解決。但是還要註意什麽都學,肯定是什麽都學不透的,要集中精力打攻堅戰,學習軟件工程首先要明白自己的學習目標究竟是什麽,根據自己的實際工作出發,有針對性的在相應的學習方向上進行提高,制定出詳細的學習規劃。還要註意與其他科目的相輔相成,就像我們在學習面向對象分析的時候要結合大一學習的面向對象及其方法學這一專業科目進行研究拓展;在學習語言時,要看看與C語言的聯系,多思多想,把從各個科目學到的知識通匯貫通。在軟件工程的學習中,我了解到了軟件並非是一些代碼這麽簡單,在開發軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而後期的管理和維護更是占了60%到80%之多。一個完整的項目規劃須包括,軟件的定義,可行性分析報告,項目開發計劃,軟件需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告,開發進度報告,項目開發總結報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據具體情況不斷的反復才能達成,所以代碼只是開發軟件這個浩大的工程的一個小小的過程。

具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。文檔的作用在於以下3個方面,一是可以幫助整理思路。把要完成的目標,系統的結構,每一個模塊的功能等整理一下,然後分門別類地寫下來,這樣在開發的過程中,就有據可依,在需要回過頭來修改設計的時候,也有證可考。二是便於交流。想象一下開會時的情形。一大幫子人爭先恐後,激烈辯論,然後會終人散,思想靈感也就隨之散了,結果是開了半天,什麽也沒討論出來。這就是後來會議記錄被發明出來的原因。在腦子裏的東西一多,就會散而且亂,用語言表達的時候,很容易會丟三落四,別人也很難把握住你的思想。但經過整理寫在紙上以後,則會清晰得多,無論是別人還是自己,看起來都可以一目了然。三是可以作為以後維護時的參考資料。有一句名言,“筆和紙永遠都比大腦可靠”,意思就是說,放在大腦裏的東西說不準哪天就忘了,但寫在紙上的東西只要不發生什麽意外。一般是丟不了的。當過了一段時間,你需要再回過頭來修改你的程序的時候,你就會發現,你以前寫下的文檔實在太有價值了。別指望你的源代碼,對於復雜一點的程序來說,單純的源代碼幾乎會扼殺掉你所有的時間。 需求分析是要決定“做什麽,不做什麽”。 需求分析為什麽困難,有幾種原因使需求分析變得困難1:客戶說不清楚需求2:需求自身經常變動3:分析人員或客戶理解有誤。 客戶說不清楚需求,有些客戶對需求只有朦朧的感覺,當然說不清楚具體的需求。有些客戶心裏非常清楚想要什麽,但卻說不明白。 事實上,用簡單的話來說明需求過程,就是確定系統該做些什麽以及該符合什麽條件。話雖然簡單,實現起來可沒有那麽容易。所以科學的需求過程有一整套完整的理論、工具、方法來實現。

我們的學習並不是到此為止,我認為軟件工程還需要我們繼續學習,深入學習。

我的代碼在github:https://github.com/tgq1219603641/-

感興趣的小夥伴可以去看看。

學習軟件工程學習報告以及心得體會