軟件工程學習心得體會

時間:2024-03-23 13:55:32 毅霖 學習心得體會 我要投稿

軟件工程學習心得體會(精選10篇)

  當我們受到啟發,對生活有了新的感悟時,就十分有必須要寫一篇心得體會,從而不斷地豐富我們的思想。那么好的心得體會是什么樣的呢?以下是小編為大家整理的軟件工程學習心得體會,歡迎大家借鑒與參考,希望對大家有所幫助。

軟件工程學習心得體會(精選10篇)

  軟件工程學習心得體會 1

  學習了這門課程,還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結合。整一個學期下來,總的來說還是學到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應該說其范疇已經遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。

  整本書的內容邏輯很清晰明了,由淺入深循序漸進,首先我就大概描述下我們所學的內容,第一章是從整體分析軟件工程這門學科的發展和所處的社會環境,接著后面的幾章深入分析了軟件開放過程和模式、軟件項目管理、計算機工程、需求分析、結構化分析建模以及基于UML面向對象分析建模等。接著我就詳細介紹下我對這門課程知識點的理解概括:

  軟件:軟件是能夠完成預定功能和性能的可執行的計算機程序和使程序正常執行所需要的數據,加上描述程序的操作和使用的文檔。軟件的特征:

  ①軟件是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。

  ②軟件是通過人們的智力活動,把知識與技術轉化成信息的一種產品。

  ③軟件成為產品后,其生產只是簡單的拷貝,不同于硬件制造。

  ④維護過程比硬件復雜的多,甚至會引發新的錯誤。軟件危機:指的是軟件開發和維護過程中遇到的一系列嚴重問題。

  出現軟件危機的原因:

  ①軟件維護費用急劇上升,直接威脅計算機應用的擴大。

  ②軟件生產技術進步緩慢。軟件工程是指導計算機軟件開發和維護的工程學科。

  軟件生存周期:一個軟件從定義到開發、使用和維護,直到最終被棄用,要經歷一個漫長的時期,通常把軟件經歷的這個漫長的時期稱為生存周期。

  軟件的生存周期可分為八個階段:

  ①問題定義;

  ②可行性研究;

  ③需求分析;

  ④總體(概要)設計;

  ⑤詳細設計;

  ⑥編碼與單元測試;

  ⑦綜合測試;

  ⑧軟件維護;

  瀑布模式:是傳統的軟件開發模式,其中的“瀑布”是對這個模式的形象表達,由山頂傾瀉下來的水,自頂向下、逐漸細化。其特點是:線性化過程;分為分析、設計、編碼、集成等幾個階段,并且各階段逐級推進,不允許跨越。里程碑管理;階段評審;文檔驅動;簡潔便于工程應用的線性化過程步驟,并可以通過里程碑管理機制而使項目進程量化。其明顯的優點就是沒個階段結束前都要對所完成的階段成果進行評審,這使得軟件的錯誤能夠在個階段內盡早發現并盡早解決,總的.來說瀑布模式具有良好的質量保證機制,有很強的生命力。

  原型進化模式:對軟件進行直接模擬或仿真,只需要分析需求框架后進行原型創建,再對原型系統進行逐步細化與完善,通過版本更新逐步滿足用戶對于軟件的多方面需要。

  增量模式:開發過程有三個任務域,分別是設計結構、開發構件和集成系統,它既有完善的工程管理機制,又能適應用戶需求變更,有利于質量的監控,并且各局部基于構件構造,有利于逐步構建與完善;由于先交付核心構件可利于降低項目的技術風險。

  螺旋模式:是一種可較好的規避開發風險過程的模式,項目是基于任務的螺旋式推進,每個螺旋由內之外分別是需求分析、軟件設計、系統集成、驗證與交付。

  軟件開發的整個過程:

  ①需要項目團隊,組建優秀的團隊可以開發出更搞質量的軟件產品。任務開發團隊要求小而精,成員大多在8人以內,主要成員有項目負責人、開發人員、資料管理員和軟件測試員。

  ②項目計劃是為了使軟件開發各項工作有秩序地進行,包括任務分配和基于里程碑的進度安排,甘特圖和任務網絡圖是用來描述進度計劃的工具。項目計劃書可以作為軟件開發的工作指南。

  ③項目成本估算,由于項目有來自各方面的成本包括工資開支、場地費、差旅費、設備費和資料費等,但是軟件主要是對人力成本的估算,常用的方法有程序代碼成本估算法等。

  ④軟件風險管理包括很多不確定的風險因素,如計劃風險、管理風險、需求風險、技術風險、人員風險、產品風險、用戶風險和商業風險等等,而風險管理的主要任務是:風險識別、風險評估、和風險防范。

  ⑤軟件文檔管理,軟件文檔是工程模式軟件開發的成果體現,包括技術文檔、管理文檔和用戶文檔。

  ⑥軟件配置管理與軟件質量管理,包括配置規劃、軟件變更控制、軟件版本控制和質量控制計劃。

  計算機系統由硬件、軟件、數據資源、網絡資源、使用系統的人等諸多元素。有三種典型的計算機體系結構:

  ①主機結構,主機集中了全部智能,并依靠終端接口與外部設備連接。

  ②Client/Server結構,智能分布于服務器與客戶機,并依靠網絡連接成系統,其中,服務器處于核心位置,提供被動核心服務;客戶機處于邊緣位置,可主動訪問服務器,尋求服務支持。

  ③Browser/server結構,可適應互聯網遠程交互的特殊結構,基于Web服務器構建。

  需求分析:系統開發前期需求分析很重要,它是為了有效解決用戶問題的需要進行的一項工程活動,所需要考慮的需求問題是功能需求、數據需求、性能需求和接口需求,開發者承擔分析任務,核心是用戶。其步驟有三個:

  ①獲取客戶需求,客戶泛指某個人或機構部門等,一般方法是調查,包括訪談、座談、問卷、跟班和收集資料,需求規約可表達用戶的軟件價值。

  ②建立需求模型,它是用戶需求的圖解,一些常用的模型有:業務樹圖、用例圖、活動圖。分別用于結構化需求建模、系統業務舉例和反映系統工作流程。

  ③進行需求驗證,要驗證的主要內容有:有效性驗證、一致性驗證、完整性驗證、現實性驗證和可檢驗性驗證。

  結構化分析建模:它是建立在需求規約基礎上的,對軟件問題進行全面解說,包括四個方面:

  ①數據建模,它與數據庫設計密切相關,ER圖涉及實體、關系、屬性等圖形元素,在業務層面建立數據庫概念模型,一般用于前期的建模構想。

  ②功能建模,是對系統數據加工的圖解,數據流程圖是常用的建模工具,涉及數據接口、數據處理、數據流、數據存儲等圖形元素,用于描述系統數據加工細節。

  ③行為建模,行為模型用于說哦名軟件系統與環境的交互,狀態轉換圖常用的軟件行為建模工具涉及狀態、事件等圖形元素。

  ⑤數據字典,是用于定義軟件的元素,使軟件元素獲得嚴肅的、詳密的、精確的規格說明。需求分析模型中的數據、功能、行為等諸多方面的元素,都有必要通過數據字典給予細節說明,以達到對系統較完整全面的規格定義。

  基于UML對象面向對象分析建模:UML是統一建模語言,有統一的語法、語義和語用規則,其建模過程的特點是:用例驅動、以構架為中心和增量迭代,通過包實現對模型的有效的一體化管理。包括三部分:

  ①用例建模,它面向用戶需求的,能夠反映系統的用戶價值,用例圖的基本元素有用例、參與者、交流;用例之間有泛化、延伸和包含關系。

  ②活動建模,活動圖用于描述系統動態過程,主要圖形元素有:活動、轉換、起點、終點、判斷、并發、同步、泳道等。可描述高層業務級活動,涉及整個業務流程,針對每個用例活動建模,反映用例內部活動細節。

  ③類分析建模,這里就只考慮實體類,實體類所代表的數據相互之間通常有一定的關系,依靠這種關系可形成有組織的程序數據結構。實體類之間的

  主要數據關系有:關聯、聚類、泛化。

  接下來我就簡單說下我上這門課的簡單的心得體會,我們是大四的學生了,也只有這個學期有課了,剛開始課表安排出來的時候覺得挺意外的,只有前八周有課,當時我還是有點小感動的,大四事情很多,有要考研的和工作的,大家也都有各自的事情,如果有16周的課,那么每周課不是特別多,但是時間特別分散,也不能集中某段時間去做什么事情。但是相對于老師的壓力也有,課程壓縮了相當于每節課的教學任務大大增加了,在加上有些假期沖掉課,就感覺我們好像上課學不到什么東西,也只是一些關鍵的和考試掛鉤的才重點講,完全沒有擴展的時間和空間了。但是總的來說,學校開了這門課,我們上了這門課,總是學到了點東西的,不可能明明上了軟件工程這門課,卻像沒上一樣什么都不懂。在上課的時候我還是很認真地去聽老師所講述的內容的,我覺得他的思想和我一向而來的培養計算機學生綜合素質的理解還是在一定程度上不謀而合了,所謂的需求獲取,那就是一個談判,辯論,交流的過程,已經不是單純的編編程序就能解決的問題了。從我所看到的聽到的來說,我最怕的就是計算機系的學生被別人說成是個帶著厚眼鏡的,只能夠在電腦前編編程序的,在交際場上不知道說什么而一個字都說不出來的人。我覺得這樣的人進入社會之后是沒有什么前途的,起碼他們缺乏了與人溝通交流的能力。而這門課程在一定程度上給了我們這些學生一個機會來鍛煉自己在另一方面的能力,設想一下,一個又有技術又能夠與人交流合作的人所取得的成就自然要比一個單單只會編程序的人要大得多。其次,這門課程教給了我們在完成一個實際項目時的一般程序及過程,我認為這是一份非常具有實際意義的教學內容。當我們在畢業之后,這是我們實際要運用的一項非常有用的技能,而且不僅僅局限于軟件工程的范疇,我們即使是從事與其它行業,不也是要從需求獲取開始,一直有條有理地到最后成品的出爐嗎?應該說這就是這門課的價值所在。無論是在上課,還是在學生會里面做學生工作,我都深深地感覺到,技術性的工作就好比變魔術,其實原理是非常簡單的,甚至可以說簡單的可笑,但是當你就是做出這么一個簡單的東西出來之后,一些外行們有時候會用崇拜的眼光看著你,覺得你很厲害,很高深莫測。但是制作的過程他們卻不知道,也許知道之后他們只是會啞然失笑,原來這個東西的制作過程是如此的簡單。這個可以說就是技術的魅力了,而作為需求獲取及之后的一系列過程則是類似于魔術揭秘的過程,但是作為這個秘密我們并不需要一揭到底,至于揭的程度如何那就是我們那就是我們學出的程度如何了,我們要讓對方知道我們在做什么?以及如何去做?這些東西需要我們以一定的技巧敘述出來,所起到的作用就是能夠讓對方了解自己的進度,卻又能夠不讓對方來干涉自己的工作過程。因為我們是技術員,對方只是外行,即使對方知道了這個魔術的操作過程,也并不代表他們就能夠向變著魔術的我們來隨便修改這個魔術的變法,況且我們能夠用不同的過程來得出一個同樣的結果,這個過程的得出的主動權如何掌握在我們的手上,就看我們如何以高明的方式來揭開這個魔術的謎底了。當然了,在純粹的理論上,我覺得開設這樣一門課程是很成功的。但是畢竟現實里有太多的不確定的因素。最重要的因素就是授課的老師和聽課的學生。這兩個可以說是這門課成與敗的決定性的因素。

  作為我們學生來說,應該負起比較主要的責任。在大學里有了太多的基礎課程,基礎課程大多都比較枯燥無味,也許在第一個學期里我們還能夠保持著新鮮感,但是在6學期之后,可以說再有新鮮感就是一件比較困難的事情了,我們都已經開始變得遲鈍了。其次的,沒有認識到這門課程的價值。這門課的價值我已經在上面說過了,是不言而喻的。但是并不是每個同學畢業之后都回從事計算機行業,也不是每個同學都知道這門課程的意義已經不僅僅局限于計算機這個范疇。或許有些人覺得反正以后不是這個發展方向,也就不在乎這個課程吧。我個人覺得這門課確實是挺好的,如果認真學必能學到很多東西,動手實踐能力和從整個大體分析系統開發的邏輯性思維也會明顯增強,不管以后從事哪個方面的工作,這對以后來說都是一筆很大的隱性財富。說到我自己對這么課的學習,還是有點愧疚的,前面四周我每周每節課都去上的,并且上課也認真聽,一邊聽老師講課一邊自己看書本的介紹,但是后來我上這門課的次數就降低了,因為覺得時間很緊吧,而且老師上課的節奏我個人覺得有點慢,我都可以自己預習看到后面去了,但是這門課我還是每周至少上一節課的,雖然我早上7點多一點就出門,在自習室,但是有時候明明知道到了上課的時間,明明上課的地方離自習的地方不遠也不太想去。我記得有次上課時候老師生氣了,說來上課的人少,我仔細環顧了下四周發現確實人很少,稀稀疏疏的分散著,看起來確實不太舒服,讓我不得不反思了,這大學的教育到底怎么了,怎么到了大四大家都不來上課,雖然我不是每節課都來,但是我還是時不時來上課的,可能是比較浮躁吧,快畢業了,覺得上課學不到什么實際的東西,要么實際一點好好考研繼續深造,要么去培訓增強實踐能力這樣才能較好的為找個滿意的工作做好鋪墊。

  《軟件工程》課程既強調基本概念和基本知識的理解和掌握,又側重軟件項目的分析、設計、實現和維護的基本技能。比較注意“點”和“面”的結合。我還是蠻喜歡這門課的,通過對這門課的學習讓我意識到理論學習很重要,實踐更重要,實踐是檢驗真理的唯一標準,只有將理論與實際結合,才更能發揮我們所學的知識的作用,更能直接的創造效益,社會和國家做出貢獻。

  軟件工程學習心得體會 2

  未接觸軟件工程之前一直都很想學這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學了一個學期的軟件工程課,終于知道了個軟件工程的大概。學的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經以為程序就是軟件,軟件就是程序。學習這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復雜化導致了軟件危機的發生,使得人們不得不探索新的解決方法。

  經過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發,以提高軟件質量和程序員工作效率為目的的規范。其核心就是,對于軟件開發的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學習永無止境。起初,對軟件工程處于一知半解的狀態,分工比較混亂。

  在劃分模塊后明確了各自分工,漸漸形成良性循環。在學習過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協調,組員積極配合,才能合作愉快。學習能力體現在能盡快接受新的'知識,順應變化,學為所用。

  上《軟件工程導論》這門課,我的收獲大概如下:我們為什么需要軟件工程呢?上面已經給出了一些原因。專業點講,軟件工程最終是為了實現“軟件制造業”的社會化,工業化大生產,提高其勞動生產效率。只有如此,軟件業才能實現社會化,工業化大生產,才能“做大做強”。沒有管理的設計是失敗和混亂的設計,沒有設計指導的編程是無序的忙碌的。根據開發的軟件的規模,應該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發的軟件大多數是中小型的,大型的并不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩定。

  其實開發軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現的核心功能大概構思一種或多種實現方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和DEBUG。在我看來,除了第一步外,其余的步驟應該是一個循環的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設計,甚至最初選定的實現算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。

  1、可行性分析就是關于當前項目能不能干的分析結果。

  2、項目描述這是在決定立項以后,對當前項目的一份扼要說明。

  3、需求分析就是對客戶要求的功能的定義。

  4、軟件設計這就是對程序的每一個模塊的詳細設計的說明文檔。

  5、開發日志我一直都認為這是文檔中最有趣的部分。開發日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發的靈感,或對代碼的一些微小的修改,或對程序結構的一些微小變動等,還要對上述這些修改變動作些說明。

  6、測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數字描述。

  軟件工程學習心得體會 3

  我實習的單位是xx學院,這是一所全日制中等專業學校。我在學校里主要是負責校內內網的管理,其涉及到校內網網站的正常登陸和訪問,校內內各系部主機是否正常互聯,有無被病毒感染、傳播。使得校內網內的計算機可以正常運行,做好校內網的管理和維護工作。

  從同學到實習工程師,短短幾個月的工作過程使我受益匪淺。不僅是在專業學問方面,最主要是在為人處事方面。社會在加速度地發生變化,對人才的要求也越來越高,要用進展的目光看問題,得不斷進步思想熟悉,完善自己。作為一名it從業者,所受的社會壓力將比其他行業更加沉重,要學會創新求變,以適應社會的需要。在單位里,小到計算機的組裝修理,大到效勞器的維護與測試,都需要一個人獨立完成。可以說,近3個月的工作使我成長了不少,從中有不少感悟,下面就是我的一點心得:

  你可以假裝你的面孔你的心,但絕不行以無視真誠的力氣。第一天去網絡中心實習,心里不行避開的有些疑心:不知道教師怎么樣,應當去怎么做啊,要去干些什么呢等等吧!踏進辦公室,只見幾個陌生的臉孔。我微笑著和他們打招呼。

  從那天起,我養成了一個習慣,每天早上見到他們都要微笑的說聲:“教師早〞,那是我心底真誠的問候。我總覺得,常常有一些微小的東西簡單被我們無視,比方輕輕的一聲問候,但它卻表達了對教師同事對伴侶的敬重關心,也讓別人感覺到被重視與被關心。僅僅幾天的時間,我就和教師們打成一片,很好的跟他們溝通溝通學習,我想,應當是我的真誠,換得了教師的信任。他們把我當伴侶也情愿指導我,情愿安排給我任務。

  要想在短暫的實習時間內,盡可能多的學一些東西,這就需要跟教師有很好的溝通,加深彼此的理解,剛到網絡中心,教師并不理解你的工作學習力量,不明晰你會做那些工作,不明晰你想理解的學問,所以跟教師很好的溝通是很必要的。同時我覺得這也是我們將來走上社會的一把不行缺少的鑰匙。通過溝通理解,教師我我有了大體理解,邊有針對性的教我一些學問,我對網絡部線,電腦硬件安裝,網絡故障排解,工作原理應用比叫感愛好,所以教師就讓我獨立的完成校內大小部門的網絡檢修與電腦故障排解工作。如秘書處的辦公室內局域網的組件,中心效勞機房的效勞器監測等,直接或間接保證了校內網的正常運行和使用,在這方面的工作中,真正學到了計算機教科書上所沒有或者真正用到了課本上的學問,穩固了舊學問,把握了新學問,甚至在理論中驗證了書本上舊有的不合實際的學問,這才真正表達了學問的真正價值,學以致用。

  激情與急躁,就像火與冰,看似兩種完全不同的東西,卻能碰撞出最漂亮的火花。在中心時,教師就跟我說,想做電腦網絡這一塊,激情與急躁必不行少,在產品更新方面,這一行業就像做新聞工作,補斷的更新,這就需要你有激情,急躁的去不斷的學習進步自己的專業程度。

  在一些詳細的工作當中也是這樣的:記得剛來學校實習的時候教師支配我去綜合部安裝win98操作系統,我本想對我來說是特別簡潔的事,可沒想到消失了許多問題,開頭是硬件問題:光驅不能用使我在一開頭安裝系統時就消失了急躁的心情,然后順當解決后,98系統的驅動問題又讓我大傷腦筋!從一開頭的u驅動漸漸的安裝,再通過硬件監測軟件查看硬件型號,到最終把系統安裝成功,用了整整兩天的`時間,通過自己的捉摸,調試,自此,我算是真正的搞明白的計算機的硬件安裝,維護和更新,接著我又進展了各種計算機操作系統的反復安裝調試,一遍又一遍的調試安裝,自然有些煩,但我用我的熱忱急躁克制這些困難,問教師,查資料,一個個問題迎刃而解,自己在這方面的學問得到了充實。這些在平常的書本上僅僅是獲得感性的熟悉在這里真的理論了,才算是真正的把握了,也讓我熟悉到了自己的缺乏,告誡自己,不管做什么,切忌眼高手低,要擅長鉆研。

  還有我感受比擬深的就是查看log日志記錄,因為效勞器的維護是簡單又艱辛的,既要保障物理平安又要保證系統平安,這就需要通過查詢log日志記錄,每一分鐘的效勞器狀況都有log日志記錄,而且它一是數據量大、二是有大量無用信息,所以查看log使特別“苦痛〞的事情。像這些工作我熬深深地感覺到每有激情與急躁是做不好的。

  軟件工程學習心得體會 4

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

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

  第一、項目需求說明方面

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

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

  第二、系統概要設計方面

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

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

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

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

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

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

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

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

  軟件工程學習心得體會 5

  早在我選擇民政職業技術學院就讀軟件開發與項目管理這門專業的時候,我一直認為軟件開發無非是努力的敲代碼,從敲代碼的過程中去體會各行代碼的意思和用處,在沒學軟件工程時我一直都是努力的敲代碼去學習軟件開發這門專業。在大一的時候我敲代碼的激情很好,但是到大二的時候就出現問題了,我根本就不喜歡敲代碼了,看見代碼就頭疼。所以感覺厭惡這門專業,對學習也不感興趣了。而且,還有一件更頭疼的事是在寫一個簡單的程序時竟然老是出錯,難一點的,復雜一點的程序竟然無從下手。但是去看程序的參考答案時都看得懂,又感覺很容易。學了軟件工程以后,我就感覺我以前的學習方法是錯誤的。以前我只注重于代碼,而不注重理論知識以及編程的思路,程序的架構。以至于在些程序時沒有寫程序的思路,不能形成程序的架構。只想到看腦袋里是否有與此類似的代碼。越想程序越亂,最后腦袋里一片空白。不知道程序從哪個方面下手了。

  軟件工程這門課程是做軟件開發的人必學的課程,通過學這門課程,程序員就會注重軟件開發的理論知識,以及做項目開發的思路。學了這門課程后你寫程序就不會去盲目的去套用代碼,而是理清此程序的.架構以及思路。程序該從什么時候開始,什么時候結束。在中間需要添加什么樣的功能,以完善該軟件。其實學軟件工程并不難,而且很容易。軟件工程與日常生活聯系起來的話,就是在一天中你該先做什么,后做什么。理解了先做什么,后做什么了以后寫程序就不是那么難了,再復雜的程序也可以分成幾大塊。你理清程序的思路后就可以一步步的解決其中的難題,最終實現軟件的功能。如果沒學軟件工程不知道理清程序的思路的話,做一個大的項目開發,那么多的代碼,沒有一個很好的結構,最終只會導致程序混亂,錯誤百出,知道代碼再多也會素手無策的。

  總而言之,作為一個程序員學習軟件工程這門課程是至關必要的,如果沒學習軟件工程,你就不會做項目開發,也不可能開發出一個完善的軟件出來。

  軟件工程學習心得體會 6

  時間飛逝,不知不覺間《軟件工程》的學習已經過了大半了。在這將近半學期的學習中,雖然我不能說我將《軟件工程》學習的有多么的好,但是通過學習,我還是受益良多。

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

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

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

  而且通過學習《軟件工程》,我還學到了很多其他的東西。比如通過學習《軟件工程》,特別是老師每次用實際的軟件現場的講解,為我提供了一個盡早接觸世界工作和真實項目的機會。讓我知道如何在以最小的成本中,訓練自己的基本工程素質和能力,如何激發自己的積極性等。而且通過學習《軟件工程》,還讓我認識和培養了我的團隊協作能力,特別是對于我們這些在校的學生來說,這種學習更是能讓我在以后工作中少走很多的彎路。

  所以,通過《軟件工程》的學習,我是真的學習到了很多有用的東西,讓我明白了很多的道理。在此我對老師的辛勤教育表示感謝,因為是你讓我學習到了這些,是我獲益良多。

  軟件工程學習心得體會 7

  軟件工程是一門實踐性很強、交叉性很強的學科,它提供給我們的不僅是一種方法論,更是一種世界觀。

  在沒有接觸軟件工程這門課時,我一直認為軟件就是程序。能編出解決問題的程序就ok了,從沒有想過,在寫一個程序之前還要構思幾份文檔(可行性分析、需求分析、概要設計)。不過對于那些大型軟件如植物僵尸大戰(至少對于我來說是比較大型的了)怎么去實現它,想得我一頭霧水。絢麗的界面、40種植物、一大堆不同類型的僵尸,怎樣編代碼去實現它呢?

  第一次上軟件工程的課,裴老師問“軟件是什么?”我的第一想法是:這個問題太過愚昧了!誰不知道軟件就是程序呀?“軟件是由計算機程序、數據及文檔組成。”聽到這句話,我心里先是一驚,慌忙翻了下書“軟件是程序和所有使程序正確運行所需的相關文檔和配置信息。”赫然映入我眼簾。突然間我發現,就算是植物僵尸大戰這樣復雜的游戲,如果設計者實現分模塊把每一部分如何實現用文檔描敘出來,那這個軟件實現起來不是很容易嗎?

  第一次課后我明白了軟件工程是致力于專業化軟件開發的理論、方法和工具的研究。雖然我從初中開始信息奧賽,高中繼續這個愛好,但在大學二年級下學期才接觸在軟件開發中這么有引導意義的學科,不覺有種相見恨晚的感覺。自然它的方法學三要素:方法、工具、過程,我牢記于心。

  短短的四周,裴老師的課給我留下了深刻的印象,印象尤深的是:

  做軟件我們首先考慮的是團隊的實力。

  如果別人給你50萬讓你們團隊開發一個軟件,如果他要求你們團隊給這個軟件永久維護,那么你要去跟他協商付100萬。很多軟件公司倒閉就是因為維護上的問題。至此我才明白維護軟件是軟件生存周期中時間最長的一個階段,它是最花費精力與錢財的一個階段。

  如果將來你們碰到了我,你跟我說你是se那么我會很高興,如果你告訴我你是軟件工程師,我只會“嗯嗯”兩下。

  其實在我接觸軟件后,渴望的是當一名軟件工程師。現在才知道學軟件工程專業后,去當一名軟件工程師是最低層的也是最沒“技術”含量的。要做就做系統構架師,當然這需要我們的不懈努力才能達到。系統構架師的職責是設計一個公司的基礎構架,并提供關于怎樣建立和維護系統的指導方針。恍然發現學軟件不僅是學軟件,相關的管理能力也是需要具備的。

  當然理論知識是用來指導實踐的,親身體驗才能領悟軟件工程的妙用。課設我們選擇了圖書館管理系統,主要是這個系統我們接觸比較多,對于它的流程還是比較清楚的。雖然如此我們還是花了很大的時間去完成它。記得當時我們定下這個題目是晚上,在討論用什么語言實現時,大家各自說出自己比較善于的語言。然后均衡了下,定下用java做開發語言。在實現過程中,突然發現java環境連接數據庫和tomcat超級麻煩且數據庫老是連接不上。趁時間還早我們三再次討論,決定用c#做開發語言,主要是c#相對于c++與java來說簡易寫。同時我們定下不管以后遇到什么困難都要堅持下去的準則。在課設期間我們沒少跑圖書館,查閱各種資料,對比各本書上實現圖書館管理系統的代碼。終于在4月11日把所有課設的所有事情弄好了。當然這只是個概述。

  我印象尤深記憶深厚的是最初實現文檔那塊。剛開始,軟件工程這門課還沒學多少,基本的設計理念就很模糊。文檔到底該怎么寫,很糾結。于是我從網上狂下相關文檔。通過粘貼與復制終于一份內容亂七八糟的需求分析文檔出來了,當然這只是用來借鑒的。后來孟陽分享了十三份關于文檔這方面的模板。我們照著那個樣子在結合團隊項目的相關實例開始了文檔的寫作。我們的文檔總是一個人先寫好,再拿給另一個人改,最后由第三個人評審。大家都覺的可以了,才過關。測試報告雖然是我一個人完成了,但也經歷了不少時間,當然這時間是按小時算的.。首先把大體寫出了,然后修改,再增加信息。大量的截圖以及思考怎樣用例超費腦子,兩天的通宵,徹底把我搞垮了,不過在文檔出爐后,心里異常開心。

  軟件工程課程雖已結束,但我對于軟件工程的學習才剛剛開始,裴老師的課讓我受益匪淺。我體會到項目管理的重要性,隨著軟件規模、復雜度的不斷增加,項目開發中更多的是協作、管理和控制。我學習到很多一般性的方法,例如:需求獲娶模塊化、分治、估算、計劃等等。同時,我也認識到使用計算機解決實際問題的復雜性,在圖靈機模型和馮·諾依曼體系的計算機框架下,人們認識表達的過程(不斷反復、逐步深化)和計算機的實現過程(順序執行)相差甚遠,軟件工程方法要提供給程序員們一種更加有效的對客觀世界問題域進行形式化的過程方法。

  向se進軍!至少這是現在的目標。

  謝謝裴老師!您的課通俗易懂,舉的例子貼近生活,讓我們易于接受。

  軟件工程學習心得體會 8

  學習了這門課程,還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結合。整一個學期下來,總的來說還是學到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應該說其范疇已經遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。

  要學習軟件工程,學會如何系統的思考,以及養成良好的編碼習慣,想學好軟件工程,了,其實不然,私企職工背負的心理壓力其實很重。他們特別需要有人關心,特別需要心理上的“減負?

  軟件項目管理,需要我們不但關注項目管理技術等在軟件行業中的應用,還應該關注如何與軟件新思想和技術的整合,例如XP等思想,使我們得到更高效益的.產出。欲想琢其玉,必先利其器,項目管理和我們軟件開發、質量管理等得一系列工具和模版,是我們事半功倍的利器。他山之石可以攻玉,關注一些管理界的發展,例如目前的中國式管理等,將其經驗用于軟件項目管理實踐并總結,將為我們帶來更大實效。

  軟件工程學習心得體會 9

  學習了這門課程,還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結合。整一個學期下來,總的來說還是學到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應該說其范疇已經遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。

  要學習軟件工程,學會如何系統的思考,以及養成良好的編碼習慣,想學好軟件工程,就必須知道軟件工程的目標、過程和原則:軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟件產品達到預期功能的程度。

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

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

  pad圖:它是用結構化程序設計思想表現程序邏輯結構的圖形工具。pad也設置了五種基本控制結構的圖示,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設計中使用的主要表達工具。hc圖既是層次圖,用于表示軟件的分層結構。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數據文件框,這種圖形的優點,是能夠直觀地顯示輸入處理輸出三者之間的聯系。還有測試方法:按照測試過程是否在實際應用環境中來分,有靜態分析與動態測試。測試方法有分析方法(包括靜態分析法與白盒法)與非分析方法(稱黑盒法)。靜態分析技術:不執行被測軟件,可對需求分析說明書、軟件設計說明書、源程序做結構檢查、流程分析、符號執行來找出軟件錯誤。動態測試技術:當把程序作為一個函數,輸入的全體稱為函數的定義域,輸出的全體稱為函數的值域,函數則描述了輸入的定義域與輸出值域的關系。還學習了其他很多工具、語言、方法等,雖然不是都學得很透徹,但我相信在今后的學習中一定會慢慢的完善的。

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

  在軟件工程的學習中,我了解到了軟件并非是一些代碼這么簡單,在開發軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規劃須包括,軟件的定義,可行性分析報告,項目開發計劃,軟件需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告,開發進度報告,項目開發總結報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據具體情況不斷的反復才能達成,所以代碼只是開發軟件這個浩大的工程的一個小小的過程。

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

  在學習中,我們還要注意比較三種方法的優缺點,例如:傳統方法雖然使軟件擺脫了混亂和無序,但其在適應需求變化的方面不夠靈活,而且傳統方法要么面向行為,要么面向數據,缺乏兩者的有機結合。而面向對象方法的程序設計和問題求解更符合人們日常自然的思維習慣,適合大型、復雜及交互性比較強的系統。形式化方法則是一中基于形式化數學變換的軟件開發方法,它可將系統的規格說明轉換為可執行的程序。在今后的學習中要注意多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎,并以此為基礎將其擴散開來,應用于今后的實踐。不斷鍛煉自己,向一名合格的程序設計師邁進。

  軟件工程學習心得體會 10

  學習軟件工程一個學期以來,我在陳燁老師的教導下確實獲益匪淺。軟件工程這門課,讓我對軟件的認識有了大大的提升,從一開始對軟件工程的一無所知,到現在一學期下來的不斷學習,懂得了許多的知識。

  軟件不僅僅是程序,而是思想在硬件上的載體和體現,軟件工程與其說是一門課程,不如說是一門思想。讓我懂得如何去分析和處理問題的.過程,綜合解決問題。

  在這段時間的學習中,我明白了一個完整的項目規劃須包括,軟件的定義,可行性分析報告,項目開發計劃,軟件需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告等多個文檔,而軟件的生存周期可分為八個階段,分別是問題定義,可行性研究,需求分析,概要設計,詳細設計,程序設計,測試,文檔,技術支持,售后服務。而可行性包括經濟,技術,法律和社會。了解了許多軟件開發模型,比如瀑布模型,增量模型和螺旋模型,也了解了UML對象面向對象建模,知道如何畫流圖,碩果累累。其實軟件和程序是兩個不同的概念,軟件除了程序還要有使用和維護該程序所需要的全部文檔。包括需求文檔、設計文檔、測試文檔、維護文檔以及使用手冊。

  軟件工程對于初學者來說,知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,需要很好的基礎知識的理解和掌握,所以說學好軟件工程不是僅僅書多看幾遍就可以成功,而是要多注意結合實際,多思考,面對錯誤不要一范就問,要嘗試自己去解決,然后舉一反三。

  軟件工程這門課在我們畢業之后,是我們實際要運用的一項非常有用的技能,這門課讓我意識到理論學習很重要,而實踐更重要,實踐是檢驗真理的唯一標準,只有實踐和理論相結合,才能使效益最大化。軟件工程的課雖然快要結束了,但是我對軟件工程的學習才剛剛開始,有了這些基本知識做鋪墊,在以后做項目的時候將會是解決問題的有效措施。

【軟件工程學習心得體會】相關文章:

軟件工程學習心得體會(精選17篇)01-17

軟件工程學習心得體會(精選12篇)10-24

軟件工程學習方法11-11

軟件工程學習心得體會(通用16篇)02-08

軟件工程學習心得體會(通用10篇)08-15

軟件工程心得體會04-24

軟件工程心得體會07-06

軟件工程實習心得體會03-22

軟件工程心得體會精品06-04

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
先锋资源不卡在线视频 | 五月婷婷亞洲綜合色色 | 中文字字幕在线精品乱码精品 | 日本欧美一区二区三区视频 | 午夜在线播放免费人成年 | 在线观看亚洲一级影视 |