久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

軟件工程學習心得

時間:2019-05-15 12:50:57下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《軟件工程學習心得》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《軟件工程學習心得》。

第一篇:軟件工程學習心得

軟件工程學習心得

在本學期的軟件工程課程的學習中,我們學習了十一章的內容。

第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎性的內容,例如軟件的概念、特性,軟件危機的主要表現,軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統方法、面向對象方法、形式化方法。還引出了工具UML。第三章軟件需求獲取與結構化分析方法,本章詳細介紹了需求獲取與需求分析階段的任務以及結構化分析方法,畫分層的數據流圖、E-R圖以及狀態圖式本節的重點。第四章結構化分析方法,這一章重點講解了使用變換型映射方法和事務型映射方法生成初始的模塊結構以及模塊結構的改進。第五章編碼,這一章重點講解了編碼的風格及規范,還告訴我們編碼規范說帶來的好處,并告誡我們將來一點要形成好的編碼風格。第六章軟件測試方法,本章講解了軟件測試相關的概念及重要性,軟件測試與開發各個階段的關系;還介紹了白盒測試技術以及黑河測試技術。第七章統一建模語言UML概述,本章詳細介紹了UML的基本模式、事物、關系及建模時用到的各種圖進行了介紹。第八章面向對象分析,這一章主要講解了面向對象分析的3種模型,包括功能模型、靜態模型和動態模型。第九章軟件體系結構與設計模式,本章對軟件體系結構的基本概念、典型風格等進行了講解。第十章面向對象設計,本章的重點是對面向對象分析時建立的對象模型進行調整和細化。第十一章軟件維護,本章主要介紹軟件維護的任務、軟件維

護活動以及軟件維護方法進行了介紹。

要學習軟件工程,學會如何系統的思考,以及養成良好的編碼習慣,想學好軟件工程,就必須知道軟件工程的目標、過程和原則:軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟件產品達到預期功能的程度。可用性指軟件基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟件開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。

軟件工程過程:生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟。軟件工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的接口定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿于整個開發過程,實現完成后的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。

軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟

件開發過程中必須遵循的原則。

我們學習了詳細設計的方法,其原則是過程描述是否易于理解、復審和維護,進而過程描述能夠自然地轉換成代碼,并保證詳細設計與代碼完全一致。包括程序流程圖、N-S圖、PAD圖、HIPO圖

程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發者最熟悉的一種算法表達工具。它獨立于任何一種程序設計語言,比較直觀和清晰地描述過程的控制流程,易于學習掌握。在流程圖中只能使用下述的五種基本控制結構:順序型;選擇型;while型循環;until型循環;多情況型選擇。

N-S圖:一種符合結構化程序設計原則的圖形描述工具,稱為盒圖,又稱為N-S圖。在N-S圖中,為了表示五種基本控制結構,規定了五種圖形構件。順序型;選擇型;WHILE重復型;UNTIL重復型;多分支選擇型。

PAD圖:它是用結構化程序設計思想表現程序邏輯結構的圖形工具。PAD也設置了五種基本控制結構的圖示,并允許遞歸使用。

HIPO圖:HIPO圖是由一組IPO圖加一張HC圖組成。它是美國IBM公司在軟件設計中使用的主要表達工具。

HC圖既是層次圖,用于表示軟件的分層結構。HC圖中的每一個模塊,均可用一張IPO圖來描述。IPO 圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數據文件框,這種圖形的優點,是能夠直觀地顯示輸入—處理—輸出三者之間的聯系。

還有測試方法:按照測試過程是否在實際應用環境中來分,有靜態分析與動態測試。測試方法有分析方法(包括靜態分析法與白盒法)與非分析方法(稱黑盒法)。

靜態分析技術:不執行被測軟件,可對需求分析說明書、軟件設

計說明書、源程序做結構檢查、流程分析、符號執行來找出軟件錯誤。

動態測試技術:當把程序作為一個函數,輸入的全體稱為函數的定義域,輸出的全體稱為函數的值域,函數則描述了輸入的定義域與輸出值域的關系。

還學習了其他很多工具、語言、方法等,雖然不是都學得很透徹,但我相信在今后的學習中一定會慢慢的完善的。

軟件工程對于初學者來說,知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學好軟件工程,不是僅僅把幾本專業書籍細致地看幾遍,然后上機練習幾次就可以成功,學習過程中要注意多看多練要注意結合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學,肯定是什么都學不透的,要集中精力打攻堅戰,學習軟件工程首先要明白自己的學習目標究竟是什么,根據自己的實際工作出發,有針對性的在相應的學習方向上進行提高,制定出詳細的學習規劃。還要注意與其他科目的相輔相成,就像我們在學習面向對象分析的時候要結合大一學習的面向對象及其方法學這一專業科目進行研究拓展;在學習語言時,要看看與C語言的聯系,多思多想,把從各個科目學到的知識通匯貫通。

在軟件工程的學習中,我了解到了軟件并非是一些代碼這么簡單,在開發軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規劃須包括,軟件的定義,可行性分析報告,項目開發計劃,軟件需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試

計劃,測試分析報告,開發進度報告,項目開發總結報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據具體情況不斷的反復才能達成,所以代碼只是開發軟件這個浩大的工程的一個小小的過程。

而編碼的學習中,我更了解到形成自己獨特的規范的編碼風格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護又從何談起呢?所以,我們在今后的學習中,一定要注意這方面的培養,在寫程序的過程中,要逐步的在規范的基礎上形成屬于自己的風格,即方便自己的修改,也方便日后他人的閱讀。

在學習中,我們還要注意比較三種方法的優缺點,例如:傳統方法雖然使軟件擺脫了混亂和無序,但其在適應需求變化的方面不夠靈活,而且傳統方法要么面向行為,要么面向數據,缺乏兩者的有機結合。而面向對象方法的程序設計和問題求解更符合人們日常自然的思維習慣,適合大型、復雜及交互性比較強的系統。形式化方法則是一中基于形式化數學變換的軟件開發方法,它可將系統的規格說明轉換為可執行的程序。

在今后的學習中要注意多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎,并以此為基礎將其擴散開來,應用于今后的實踐。不斷鍛煉自己,向一名合格的程序設計師邁進。

班級:計科091姓名:趙俊采學號:0920020200

第二篇:《軟件工程》學習心得

《軟件工程》學習心得

時光匆匆,不知不覺間《軟件工程》的課程已經快學完,雖說沒有具體的項目來開發應用,但我們知道軟件工程是將系統化的,規范化的,可度量的方法應用于軟件的開發,運行和維護的過程,在整個學習期間,總的來說還是學到了很多實用的東西,老師的介紹,教會我們如何去分析和處理問題,教會我們編寫項目軟件的流程和注意事項,總的來說還是獲益匪淺的。

初學軟件工程,或許很多人都會迷茫,不知道軟件工程學有何用,其實,軟件工程還沒有精確地定義,但老師的實例我是深有體會,比如巧用建筑學知識,軟件工程可以指導你分析出框架結構,項目實現的大體步驟及具體的細節等等,高效的開發、使用及維護軟件,軟件工程是必不可少的。

下面我來回顧一下各章的內容,第一章初識軟件工程,這一章主要講解的是一些概念性和基礎性的內容,例如軟件的概念、特性,軟件危機的主要表現,軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件需求分析,這一章主要講了需求分析的任務,需求分析的步驟及各種描述工具、分析文檔;需求的各種描述工具有實體關系圖、數據流圖、數據字典、等等;這是軟件項目開發的第一步。第三章軟件設計,本章詳細介紹了概要設計、詳細設計及用戶界面設計,我們掌握概要設計方法及詳細設計方法。第四章程序編碼,這一章重點講解了結構化程序設計,設計風格及效率,程序設計語言的選擇。第五章面向對象技術,這一章重點講解了面向對象的概念、分析及設計,掌握什么是面向對象,面向對象有哪些優缺點,了解面向對象的分析和設計方法。第六章統一建模語言UML,本章講解了靜動態建模機制,理解UML的形成、內容、特點及應用領域并掌握例圖、類圖進行靜態建模的方法。第七章軟件測試,本章詳細介紹了軟件測試方法及黑白盒測試用例設計方法,還講解了軟件測試步驟。第八章軟件維護,本章主要介紹軟件維護的任務、軟件維護活動以及軟件維護方法進行了介紹。

在學習軟件工程過程中,或許有諸多不解,我們要從整體概念上較好地理解和把握、學好軟件工程,學習時要注意多看多練要注意結合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學,肯定是什么都學不透的,要集中精力打攻堅戰,學習軟件工程首先要明白自己的學習目標究竟是什么,根據自己的實際工作出發,有針對性的在相應的學習方向上進行提高,制定出詳細的學習規劃。還要注意與其他科目的相輔相成,就像我們在學習面向對象分析的時候要結合大一學習的面向對象及其方法學這一專業科目進行研究拓展,多思多想,把從各個科目學到的知識通匯貫通。

在寫軟件的時候,我們首先要有整體的結構和思路,這樣才能照著一定的思想一定思路去寫下去,有人說其實寫軟件并不難,只要給你一個思路你就可以不斷地往下寫。我覺得確是如此,其實我們平時寫軟件我覺得并不是很難的事,平時即使遇到處理不了的技術問題,哪里編譯出現錯誤等等其實都可以在網上提問。技術問題一般我們都可以在網上得到答案,但軟件的思想不是我們看了一下就能真正理解的。寫軟件一般都是在沿著現有思路一步一步地寫下去,而軟件工程注重于宏觀的來構思整個軟件的思路,重在創新。所以說軟件工程最重要的核心就是——創新。任何產品的成功出現都是因為它成功的創新,雖然創新的程度不一樣,而軟件也一樣最重要的不是代碼的編寫而是軟件的分析與整體構思。學習軟件工程對軟件工程有了初步的認識,帶著軟件工程的思維或說是眼光在做項目的同時不斷積累經驗,總會有能夠獨立分析與構思整個軟件系統能力的那天。但并不是說可以獨立分析軟件系統就是軟件工程的最終目標,畢竟學無止境,知識是無盡頭的,我們仍需要不懈的努力。

下面我們來了解一下軟件工程的開發流程,生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟如軟件工程開發流程圖1,軟件工程過程主要包括開發 過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規 約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的接口定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿于整個開發過程,實現完成后的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。

軟件工程開發流程圖 1 在學習的過程中,老師讓我們開發一個圖書管理系統,讓我們第一次通過團隊做項目開發,我們都有很多的體驗,知道團隊的合作非常重要,爭議固然存在,但需要的是通過討論、協商,群策群力,在不斷地磨合中達成一致與默契,應該注意的是團隊的合作要合理的分工;在一個團隊中,團隊的成員能力各有高低,應該互相尊重,各取所長,不宜妄自菲薄;組長需要多加協調,組員積極配合才能合作愉快,才能完全的發揮出團體的實力。

軟件工程課程雖已結束,但我對于軟件工程的學習才剛剛開始,張老師的課讓我受益匪淺。我體會到項目管理的重要性,隨著軟件規模、復雜度的不斷增加,項目開發中更多的是協作、管理和控制。我學習到很多一般性的方法,例如:需求獲取、模塊化、分治、估算、計劃等等。有了軟件工程基本的知識,我們無論是做項目還是寫軟件都有了一套方法,這將是解決問題的有效途徑,我們要學會合理的利用。

在這個飛速發展的軟件時代,隨著軟件應用的日益廣泛,軟件規模日益擴大,《軟件工程》顯得格外的重要,《軟件工程》強調基本概念和基本知識的理解掌握,又側重軟件項目的分析、設計、實現和維護的基本技能;我們已經學到理論的知識,但是軟件的開發測試對邏輯思維、學習能力、反應思維要求很高,我們仍需要不斷地鍛煉嚴密和逆向的思維,在具體的項目中獲得實踐的經驗,實踐才是檢驗真理的唯一標準,只有將理論與實踐結合,才能發揮我們所學的知識的作用,才能更直接的創造效益,才能為國家和社會有所貢獻。

最后,要感謝辛勤付出的張老師,是你讓我學到這么多實用的知識,讓我獲益良多,在此說一聲“謝謝你!”

第三篇:軟件工程學習心得

學習軟件工程的過程的學習

【摘要】:軟件工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。它涉及到程序設計語言,數據庫,軟件開發系統系統平臺,標準方面。在現代科學發展中軟件應用的范圍越來越廣。一款軟件的黃金壽命有線。而大家主要玩的是軟件。蘋果的手機賣得很貴的一個原因是因為它的軟件。大家玩的就蘋果的軟件和知識產權。

關鍵詞:軟件工程、學習、學習心得

【正文】

1)我們專業是軟件服務外包。這學期的學習課程有數據結構、java語言、軟件服務外包與軟件企業成長、CMM體系還有軟件工程。而這些學科是輔助軟件工程開發項目的條件。

2)軟件是一種特殊的產品,認們通常看到的是它的載體,而真正具有意義的是載體上的計算機或信息

軟件既不同于通常的精神產品,也不同于常見的物質產品。作家的作品是一種精神產品,它沒有使用價值卻可以供人閱讀欣賞。若把軟件也看成是一種作品,卻發現其價值在于供人們使用,無人喜歡讀它的源代碼

一、明確目的1我們要明確說明是軟件工程。它的實質,還有他包含的內容。軟工程包括的幾個方面。

3)可靠性:明確對系統進行修改而不增加原系統的復雜性

4)有效性:系統能最有效地利用計算機的時間資源和空間資源

5)可靠性:能防止因概念、設計和結構等方面的不完善造成的軟件系統失效,具有挽回因操作不當造成軟件系統失效的能力。

6)可理解性:可理解性有助于控制軟件系統的復雜性,并支持軟件的維護、移植或重用。

二、軟件開發的過程

1)軟件工程的7條原理

用分階段的生命周期計劃嚴格管理、堅持進行階段評審、實行嚴格的產品控制、采納現代程序設計技術、結果應能清楚地審查、開發小組的人員應少而精、承認不斷改進軟件工程實踐的必要性【1】

用分階段的生命周期計劃嚴格管理。應該把軟件生命周期分成若干階段,并相應制定出切實可行的計劃,然后嚴格按照計劃對軟件的開發和維護進行管理。玻姆認為,在整個軟件生命周期中應指定并嚴格執行6類計劃:項目概要計劃、計劃、項目控制計劃、產品控制計劃、驗證計劃、運行維護計劃。

實施嚴格的產品控制。當需求變動時,其它各個階段的文檔或代碼隨之相

應變動,以保證軟件的一致性。開發人員的素質和數量是影響軟件質量和開發效率的重要因素,應該少而精。

2)軟件過程的目標、在給定成本、進度的前提下,開發出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性并且滿足用戶需求的軟件產品。追求這些目標有助于提高軟件

【2】產品的質量和開發效率,減少維護的困難。

3軟件上的的生存周期

1可行性研究:根據用戶提出的工程項目的性質、目標和規模,進一步了解用戶的要求及現有的環境及條件,從技術、經濟和社會等多方面研究并論證該項目的可行性。

2需求分析:任務是用戶對軟件的功能需要,指定系統必須提供的服務。通過需求分析,指定出相應的性能。還包括可靠性、可用性、出錯處理需求、接口需求等。盡可能的明確當前系統的系統開發范疇。

3概要設計:概要設計建立的是目標系統的邏輯模型,與計算機無關。概要設計有多種方法。在早期有模塊化方法、功能分解方法;在60年代后期提出了面向數據流和面向數據結構的設計方法;近年來又提出面向對象的設計方法等。

4詳細設計:詳細設計的工具包括圖形工具、表格工具、語言工具等來輔助詳細設計文檔。概要設計是詳細設計的基礎,必須在詳細設

5實現:是對軟件文檔變成計算機表現形式。編碼的主要任務是根據詳細設計規格說明,用某種選定的程序設計語言把詳細設計的結果轉化為機器可運行的源程序模塊,這是一個編程和調試程序的過程。

6組裝測試:測試系統各模塊間的連接是否正確,系統或子系統的正確處理能力、容錯能力、輸入/輸出處理是否達到要求。

7驗收測試:按照驗收測試計劃和準則對軟件系統進行測試,看其是否達到了需求規格說明中定義的全部功能和性能等方面的需求。

8使用與維護:,軟件在使用的過程中,應及時收集被發現的軟件錯誤,并定期撰寫“軟件問題報告

三、學習要求

1、老師要求

掌握軟件項目開發和維護的一般過程,掌握軟件開發的傳統方法和最新方法,能用軟件工程的方法參與軟件項目的分析、設計、實現和維護,為更深入地學習和今后從事軟件工程的實踐打下良好的基礎。按5個人一個小組。進行項目開發。做自己的軟件,編寫自己的文檔。完成論文。

2個人對軟件工程的看法

20世紀末開始流行的Internet給人們提供了一種全球范圍的信息基礎設施,形成了一個資源豐富的計算平臺,未來如何在Internet平臺上進一步整合資源,形成巨型的、高效的、可信的虛擬環境,使所有資源能夠高效、可信地為所有用戶服務,成為軟件技術的研究熱點。Internet平臺具有一些傳統軟件平臺不具備的特征:分布性、節點的高度自治性、開放性、異構性、不可預測性、測試系統各模塊間的連接是否正確,系統或子系統的正確處理能力、容錯能力、輸入/輸出處理是否達到要求。

連接環境的多樣性等。這對軟件工程的發展提出了新的問題。軟件工程需要新的理論、方法和技術和平臺來應對這個問題。目前投入很大精力研究的中間件技術就是這方面的典型代表。

綜上所述,Internet及其上應用的快速發展與普及,使計算機軟件所面臨的環境開始從靜態封閉逐步走向開放、動態和多變。軟件系統為了適應這樣一種發展趨勢,將會逐步呈現出柔性、多目標、連續反應式的網構軟件系統的形態。面對這種新型的軟件形態,傳統的軟件理論、方法、技術和平臺面臨了一系列挑戰。從宏觀上看,這種挑戰為我們研究軟件理論、方法和技術提供了難得的機遇,使我們有可能建立一套適合于Internet開放、動態和多變環境的新型軟件理論、方法和技術體系。從微觀的角度來看,Internet的發展將使系統軟件和支撐平臺的研究重點開始從操作系統等轉向新型中間件平臺,而網構軟件的理論、方法和技術的突破必將導致在建立新型中間件平臺創新技術方面的突破

【1】 Xx老師課件

【2】 軟件工程與實踐

第四篇:軟件工程實踐學習心得

軟件工程實踐學習心得

這學期學習了軟件工程實踐這門課,我覺得這是對上學期的軟件工程課程學習的檢驗,上學期學習軟件工程只是我們淺顯的認識,相比之下,這學期就更加全面的說明了開發一個項目所需要的步驟以及開發項目過程中所需要注意的諸多細節。如果說上學期的課程注重理論基礎的話,那么這學期的軟工實踐,顧名思義,就是側重我們動手操作的能力。

原來我認為開發一個項目最重要的就是寫代碼,似乎整個軟件都是編代碼,因為自己動手能力不強所以就很排斥做項目。可是經過我們學習軟工課程到團隊做項目再到學習軟件工程實踐課程之后,我才真正意識到實施一個軟件工程項目并不是說簡單的會編碼就能夠解決問題的,因為一個軟件的生命周期分為三個時期:軟件定義時期、開發時期、維護時期,而這三個時期整體又分為七個階段,他們分別是:問題定義、可行性研究、需求分析、總體設計、詳細設計、編碼和單元測試、綜合測試,由此可看出,當我們開發一個項目時,更多的精力不是放在編碼上,編碼只是一個很小的模塊,而是項目的整體結構上。

在寫軟工實踐體會之前,我想在這里總結一下上學期三人團隊做 項目的相關事宜。上學期我們三人團隊根據軟件開發的步驟開發一個名為“西大老鄉‘薈’”的社交系統,主要是為西大學子提供一個找老鄉的平臺。雖然只進行到詳細設計階段,沒有進一步實現,但是我還是從中學到很多東西的。首先要先確定項目主題,也就是這個項目用來做什么,可以解決什么問題。接著就是這個項目是否有研究的必要以及是否有解決的辦法,針對我們的項目,我們對西大的一些學生做了問卷調查,并從調查中繼續完善系統本身的做用戶。第三步根據我們確定的項目主題進行需求分析,這一步驟當時做的不是很好,比如所畫E-R圖、數據流圖等都有考慮不周的問題,導致接下來的概要設計、詳細設計進行的很困難,有些步驟甚至還需要返工。

從我們在需求分析中出現的問題,使我們明白了軟件定義階段對于一個項目的開發是至關重要的,當軟件定義階段完成時必須要用正式的文檔準確的地記錄目標系統的需求。只有前期的準備工作做得好,后面的工作才能順利進行。雖然項目最后沒有完全實現,但是起碼我們已經初步體會到軟件項目開發的步驟,以及每一步所需要完成的文檔等內容。

這學期的軟件工程實踐雖然不是親自動手開發一個系統,但是張元平老師以“物聯網物流倉儲管理系統”為主給我們講解了一個真實系統的開發過程,從計劃到項目系統的發布實施,以及每一步必須生成的文檔。我主要從以下五個方面談一下我的心得體會。

第一、行業背景說明方面

對于一個軟件系統的開發,第一步就是問題定義,了解所開發系統的行業背景,制定計劃。當我們計劃確定以后就要對項目系統本身進行可行性研究,主要從技術可行性、經濟可行性和操作可行性三個方面著手。就比如《物聯網物流倉庫管理系統》的行業背景說明文檔中非常詳細地分析了當下物聯網物流行業的整體業務說明、應用背景、未來發展趨勢以及相關應用案例等四個方面,項目團隊中系統分析員就可以根據這份文檔以及相關的調查資料對將要開發系統的進行定義等工作。

原來我們寫這類文檔的時候就是草草了事,不會做得這么詳細,而這次看到大型項目的行業背景說明也是這么詳細,也讓自己認識到不管是軟件開發的那個階段都要認真對待,這些瑣碎的文檔都是后期開發項目的支撐,只要它們做的透徹,后面的開發工作才能更順利的進行。

第二、項目需求說明方面

這部分項目需求說明就是軟件定義時期中需求分析階段,而該階段的主要目的就是了解用戶的需要,根據用戶的需要確定系統必須完成那些工作,并對目標系統提出完整、準確、清晰、具體的要求。在需求分析結束之前系統分析人員要寫出一份需求規格說明,即為《物聯網物流倉儲管理系統》項目需求說明文檔。我們可以看出該文檔也是非常詳細,相比之下我們之前做項目時寫的需求規格說明書就非常 不合格,不僅格式不正確內容也是少之又少。

在這方面,這篇文檔給我啟發很大。首先就是文檔的格式,要美觀整齊,讓人看著舒服方便。其次就是文檔的內容,原來它不是很重要,寫文檔的時候也不知道怎么寫就借鑒下網上的內容,結果根本就沒有把自己項目的需求寫明白,以至于自己最后都有些糊涂,所以根據以前的經驗教訓我會對這部分更加重視。

第三、系統概要設計方面

這部分內容分說的是軟件設計時期的概要設計階段,該階段的主要目的就是實現系統的功能、設計軟件的結構、模塊組成以及模塊之間的關系。在概要設計階段,我們可以站在全局的高度上,花較少的成本,從抽象的層次上分析對比多種可能的系統實現方案和軟件結構,從中選出最佳方案和最合理的結構。在這個階段還會具體畫出E-R圖、數據流圖等方面的設計。

比如《物聯網物流倉庫管理系統》的系統概要設計從項目概述、設計約束、功能單元與功能模塊設計、數據E-R圖設計、總體設計、界面設計等六個方面介紹,通過讀這個文檔,我覺得最重要的還是總體設計,分別從邏輯架構設計、物理架構設計、技術架構設計設計系統。在這個階段中模塊要做到高內聚低耦合,這樣開發出來的系統才會具有更高的獨立性。

在原來做項目時沒有編寫過這類文檔,在該階段只是畫了結構圖、層次圖以及相關的模塊劃分,對該類文檔尚未重視。通過張老師的講解和自己的學習,我相信在以后做項目的時候一定會注意到這類文檔的編寫。

第四、詳細設計與分析方面

詳細設計階段就是把概要設計階段的每個模塊進一步設計,確定每個模塊所需要的算法和數據結構。在這個階段還是需要我們設計出程序的詳細規格說明,而不是編寫程序。在詳細設計階段,系統設計人員可以通過使用程序流程圖、盒圖、PAD圖等過程設計的工具和Jackson圖等面向數據結構的設計工具進一步設計系統相關接口,主要包括界面設計接口、業務單設計接口、單元模塊設計接口等,這些對于以后的編碼工作都是極其重要的。

第五、編碼和測試方案方面

關于編碼,我認為編碼要想做的完美必備條件就是前面的軟件定義和軟件設計時期要按部就班的做,文檔一定要按要求書寫,不能偷懶也不能草草書寫。對于編碼也要有相應的文檔書寫規范,要使源程序代碼的邏輯簡明清晰、易讀易懂。這樣盡管我們不是設計系統的人員,當看到源程序代碼的時候也能容易讀懂代碼的意思。

其次就是測試的內容,從測試的文檔中我們可以得出,其實測試在軟件開發中同樣占據了重要的地位,它主要就是盡可能多的找到問題并排除其中的潛藏的錯誤,最終把一個高質量的軟件系統交給用戶 使用。它要求測試人員也要有很高的技術水平。

第五篇:《軟件工程》學習心得蔣

《軟件工程》學習心得

一、軟件工程的定義

軟件工程(Software Engineering,簡稱為SE)是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。它涉及到程序設計語言,數據庫,軟件開發工具,系統平臺,標準,設計模式等方面。在現代社會中,軟件應用于多個方面。典型的軟件比如有電子郵件,嵌入式系統,人機界面,辦公套件,操作系統,編譯器,數據庫,游戲等。同時,各個行業幾乎都有計算機軟件的應用,比如工業,農業,銀行,航空,政府部門等。這些應用促進了經濟和社會的發展,使得人們的工作更加高效,同時提高了生活質量。

二、軟件工程的目標

在給定成本、進度的前提下,開發出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性并且滿足用戶需求的軟件產品。

三、軟件工程的原則

是指圍繞工程設計、工程支持以及工程管理在軟件開發過程中必須遵循的原則。軟件工程的原則有以下四項基本原則:1)選取適宜開發范型;2)采用合適的設計方法;3)提供高質量的工程支持;4)重視開發過程的管理。

四、軟件工程的由來

據說上個世紀60年代的程序員都是天才,寫程式就像寫日記一樣,吃過晚飯沒事干隨手就可以寫幾個出來玩,第二天還可以拿去賣錢。所以那時候程序員在大家眼中,跟那些搞美術,音樂的是一類的,被稱為“藝術家”。

但事過境遷,就像任何人都不會嫌錢多一樣,永遠都不會有人嫌CPU快的。于是,隨之而來的就是硬件的迅猛發展和越來越變態的軟件。記得以前常去同學家拷游戲,通常幾張軟盤就可以搞定,而現在的游戲,兩三張CD-ROM都算少的了。像如此龐大復雜的怪物,就算你是如何的天才,一個人肯定是搞不定的,否則,等你把程式寫出來,人家Intel連奔騰N都開發出來了。既要開發大型的軟件還要追求速度(這樣才能賺錢),于是很自然地,合作的概念被提了出來。

在開始合作的初期,由于大家都習慣了當很有個性的“藝術家”,結果可想而知,一個是畢加索派的,而另一個是意大利印象派的,再加上一個畫潑墨山水畫的,要是像這樣湊出來的東西都能不出問題的話,那么Bill早就轉行了。所以,那時侯的大型軟件,據說“藍屏”比WINDOWS 98還多。

馬克思告訴我們,萬物都是從量變到質變的。隨著問題的不斷涌現,一些master們開始嘗試去總結經驗,并歸納了一些規范去指導軟件的分析,設計,實現,測試,維護,人員交流協作,項目預算及時限控制等方方面面,這就是軟件工程的前身。

軟件工程到現在已發展了30多年,可以說是相當成熟的了。現在開發軟件,據說都是一大幫人排排坐,按著一整套的規章制度來干活。于是,軟件開發成了“工程”,程序員也就淪為“工人”了。

五、軟件工程的核心

軟件工程,說白了,就是這樣一套用于軟件的團隊開發,以提高軟件質量和程序員工作效率為目的的規范。其核心就是,對于軟件開發的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。簡單來說,就是對于總體的組織和對于局部的實現。

六、軟件開發過程

開發軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現的核心功能大概構思一種或多種實現方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和DEBUG。除了第一步外,其余的步驟應該是一個循環的過程。既然軟件開發是一個具有不可預知性和變化性的動態的過程,那么,對其每一個步驟的組織,即周期模型,就必須包容它的這種性質。

具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。文檔的作用在于以下3個方面:一是可以幫助整理思路。把要完成的目標,系統的結構,每一個

模塊的功能等整理一下,然后分門別類地寫下來,這樣在開發的過程中,就有據可依,在需要回過頭來修改設計的時候,也有證可考。二是便于交流。想象一下開會時的情形。一大幫子人爭先恐后,激烈辯論,然后會終人散,思想靈感也就隨之散了,結果是開了半天會,什么也沒討論出來。這就是后來會議記錄被發明出來的原因。在腦子里的東西一多,就會散而且亂,用語言表達的時候,很容易會丟三落四,別人也很難把握住你的思想。但經過整理寫在紙上以后,則會清晰得多,無論是別人還是自己,看起來都可以一目了然。三是可以作為以后維護時的參考資料。有一句名言:“筆和紙永遠都比大腦可靠”,意思就是說,放在大腦里的東西說不準哪天就忘了,但寫在紙上的東西,只要不發生什么意外,一般是丟不了的。當過了一段時間,你需要再回過頭來修改你的程序的時候,你就會發現,你以前寫下的文檔實在太有價值了。別指望你的源代碼,對于復雜一點的程序來說,單純的源代碼幾乎會扼殺掉你所有的時間。

可行性分析 就是關于當前項目能不能干的分析結果。主要考慮的方面包括:是否能把這個項目開發出來;假如可以的話,預計需要多少時間,能否滿足客人的時間要求;需要多少人力和資金的投入;最重要的是,這個項目能否賺錢,能賺多少。還要對可能存在的風險進行評估。

七、軟件工程學習感悟

在以前,我一直對軟件存在一些偏見或則是誤解,認為軟件就是程序,軟件的開發就是編寫程序,只要編完了程序,一切也就ok了,而且我還片面的認為只要我掌握了時下最新的語言和工具,那么我就能寫程序了。一個人,只要會編程,就能寫軟件,就是程序員;一個公司,只要招聘一些程序員,就能開發好的軟件產品。只要有幾個有經驗的程序員,再找些兼職的大學生,就能組成一個軟件公司。

但是通過了《軟件工程》這門課的學習,使我認識到了我以前的錯誤。軟件其實不僅僅是程序,軟件開發其實也不僅僅是編寫程序,軟件是思想在硬件上的載體和體現,處理的是邏輯和信息。唯有對軟件和軟件的開發過程,有充分的認識,才能更好的開發出,過程受控、質量受控的軟件產品。

而且在以前,我一直以為軟件的開發其實是一件很輕松快樂的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現在我才發現,我以前的很多的思想是多么的膚淺可笑。編程其實是一種樂趣和苦惱共存的一項創造性活動。因為編程不僅能夠滿足我們內心

深處進行創造的渴望,而且還能愉悅我們內在的情感。

而且通過學習《軟件工程》,我還學到了很多其他的東西。比如通過學習《軟件工程》,特別是該書的課程解讀和實際的軟件現場例子的講解,為我提供了一個盡早接觸世界工作和真實項目的機會。讓我知道如何在以最小的成本中,訓練自己的基本工程素質和能力,如何激發自己的積極性等。而且通過學習《軟件工程》,還讓我認識和培養了我的團隊協作能力,特別是對于我們這些在校的學生來說,這種學習更是能讓我在以后工作中少走很多的彎路。也讓我知道要學習軟件工程,學會如何系統的思考,以及養成良好的編碼習慣,想學好軟件工程,就必須知道軟件工程的目標、過程和原則:

軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟件產品達到預期功能的程度。可用性指軟件基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟件開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。

軟件工程過程:生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟。軟件工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的接口定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿于整個開發過程,實現完成后的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。

軟件工程的原則:指圍繞工程設計、工程支持以及工程管理在軟件開發過程中必須遵循的原則。

在軟件工程的學習中我知道了軟件工程的目標、過程及其原則,了解到了軟件并非是一些代碼這么簡單,在開發軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規劃須包括,軟件的定義,可行性分析報告,項目開發計劃,軟件需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告,開發進度報告,項目開發總結報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據具體情況不斷的反復才能達成,所以代碼只是開發軟件這個浩大的工程的一個小小的過程。在學習中,我們還要注意比較三種方法的優缺點,例如:傳統方法雖然使軟件擺脫了混亂和無序,但其在適應需求變化的方面不夠靈活,而且傳統方法要么面向行為,要么面向數據,缺乏兩者的有機結合。而面向對象方法的程序設計和問題求解更符合人們日常自然的思維習慣,適合大型、復雜及交互性比較強的系統。形式化方法則是一中基于形式化數學變換的軟件開發方法,它可將系統的規格說明轉換為可執行的程序。

軟件工程課程雖已結束,但我對于軟件工程的學習才剛剛開始。通過對軟件開發流程的了解,進一步激發了我們對專業知識的興趣,并能夠結合實際存在的問題在專業領域內進行更深入的學習。掌握網絡系統管理的基本知識與應用技能,能進行網絡系統的安全設置。我體會到項目管理的重要性,隨著軟件規模、復雜度的不斷增加,項目開發中更多的是協作、管理和控制。我學習到很多一般性的方法,例如:需求獲取、模塊化、計劃等等。同時,我也認識到使用計算機解決實際問題的復雜性,人們認識表達的過程不斷反復、逐步深化,軟件工程方法要提供給程序員們一種更加有效的對客觀世界問題域進行形式化的過程方法。

通過《軟件工程》的學習,我是真的學習到了很多有用的東西,讓我明白了很多的道理。在此我對老師的辛勤教育表示感謝,因為你我學習到了這些,使我獲益良多。我明白只有在今后的學習中多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎,并以此為基礎將其擴散開來,才能對今后的實踐做到得心應手。不斷鍛煉自己,向一名合格的程序設計師邁進。

下載軟件工程學習心得word格式文檔
下載軟件工程學習心得.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    《軟件工程》學習心得(精選五篇)

    《軟件工程》學習心得 一、軟件工程的定義 軟件工程 (Software Engineering,簡稱為SE)是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。它涉及到程序......

    軟件工程

    2.2軟件開發的基本策略 人們都有自己的世界觀和方法論,能自然而然地運用于生活和工作中。同樣,程序員腦子里的軟件工程觀念會無形地支配其怎么去做事情。軟件工程三十年的發......

    《軟件工程》

    《軟件工程》課程分析 本課程是軟件技術專業學生必修的一門專業必修課。根據培養軟件開發人員的需要,本課程的任務是使學生通過本課程的學習,了解軟件項目開發和維護的一般過......

    軟件工程

    1. 軟件工程:是指導計算機軟件開發和維護的工程學科 2. 軟件危機:是指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題 3. 軟件過程:是為了開發出高質量的軟件產品所需......

    軟件工程

    填好發給我!!!!一、填空題: 1.面向對象分析的目的是對客觀世界的系統進行 __________________,對象就是客觀世界的; 2.軟件工程方法學包括:工程環境建立、方法、工具和過程; 3.思想概括......

    軟件工程

    軟件工程—心得體會 摘要 本文結合基層實踐教學的實際情況和現實需要,系統地總結了《軟件工程》實踐教學的特征,詳細分析了實踐教學過程存在的問題,并提出了該課程實踐教學改革......

    軟件工程

    軟件工程 1. 談談你對軟件工具的理解,你用過什么軟件工具 軟件工具是指為支持計算機軟件的開發、維護、模擬、移植或管理而研制的程序系統。它是為專門目的而開發的,在軟件工......

    軟件工程

    一、名詞解釋 軟件: 指計算機系統中的程序及其文檔。 支持軟件:支持軟件的開發和維護的軟件。 系統軟件:屬于計算機系統中最靠近硬件的一層,其它軟件一般都通過系統軟件發揮作......

主站蜘蛛池模板: 亚洲中文字幕日产乱码在线| 免费观看全黄做爰的视频| 天天躁躁水汪汪人碰人| 性欧美videofree高清精品| 日韩精品免费无码专区| 中文字幕无码av激情不卡| 欧美黑人性暴力猛交喷水| 欧美性受xxxx白人性爽| 国产白浆喷水在线视频| 亚洲精品无码日韩国产不卡av| 欧美成人视频| 亚洲女同一区二区| 亚洲丁香五月激情综合| 亚洲色欲啪啪久久www综合网| 国产亚洲精品久久无码98| 欧美综合婷婷欧美综合五月| 99国产精品久久99久久久| 国内精品国产三级国产av| 无码人妻精品一区二区在线视频| 精品性高朝久久久久久久| 欧洲日本一线二线三线区本庄铃| 色翁荡息又大又硬又粗又视频软件| 国产成网站18禁止久久影院| 国产永久免费观看的黄网站| 呦系列视频一区二区三区| 蜜桃无码一区二区三区| 中国女人内谢69xxxx免费视频| 国产成人一区二区三区在线观看| 国产97超碰人人做人人爱| 亚洲欧美国产精品无码中文字| 少妇真人直播免费视频| 丰满少妇被粗大的猛烈进出视频| 亚洲高潮喷水无码av电影| 久久精品无码观看tv| 免费无码国模国产在线观看| 日日日日做夜夜夜夜做无码| 少妇裸体性生交| 亚韩无码一区二区在线视频| 日韩亚洲国产中文字幕欧美| 国产在线精品99一卡2卡| 中文字幕无码av波多野吉衣|