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

2022-08-24 15:03:15 字數 2263 閱讀 6438

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

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

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

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

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

我的**在github:

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

軟體工程學習心得

軟體工程的特點在於它要求開發的軟體具有適用性 有效性 可修改性 可靠性 可理解性 可維護性 可維護性 可重用性 可移植性 可追蹤性 可互操作性。然而近年來的研究和實踐表明軟體危機依然存在,軟體開發仍然存在成本高 質量得不到保證 進度和成本難以控制等方面的問題,許多 軟體專案被迫延期甚至取消。同時,隨...

軟體工程學習心得

學習軟體工程乙個學期以來,我在鄒一波老師的教導下確實獲益匪淺。軟體工程這門課,讓我對軟體的認識有了大大的提公升,從一開始對軟體工程的一無所知,到現在一學期下來的不斷學習,懂得了許多的知識。軟體不僅僅是程式,而是思想在硬體上的載體和體現,軟體工程與其說是一門課程,不如說是一門思想。讓我懂得如何去分析和...

軟體工程學習筆記

1 軟體工程的基本概念 軟體的概念 軟體 程式 文件 軟體是能夠完成預定義功能的可執行的電腦程式和使程式正常執行所需要的資料,加讓描述程式的操作和文件。程式 適合計算機處理的語句序列 它的目的是啥呢?是為了解決某個特殊的問題 文件 開發活動的記錄 用於通訊和交流,開發過程的管理和執行階段的維護 軟體...