軟體工程的學習心得

2021-03-04 09:19:48 字數 3940 閱讀 3312

原型進化模式:對軟體進行直接模擬或**,只需要分析需求框架後進行原型建立,再對原型系統進行逐步細化與完善,通過版本更新逐步滿足使用者對於軟體的多方面需要。

增量模式:開發過程有三個任務域,分別是設計結構、開發構件和整合系統,它既有完善的工程管理機制,又能適應使用者需求變更,有利於質量的監控,並且各區域性基於構件構造,有利於逐步構建與完善;由於先交付核心構件可利於降低專案的技術風險。

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

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

②專案計畫是為了使軟體開發各項工作有秩序地進行,包括任務分配和基於里程碑的進度安排,甘特圖和任務網路圖是用來描述進度計畫的工具。專案計畫書可以作為軟體開發的工作指南。③專案成本估算,由於專案有來自各方面的成本包括工資開支、場地費、差旅費、裝置費和資料費等,但是軟體主要是對人力成本的估算,常用的方法有程式**成本估算法等。

④軟體風險管理包括很多不確定的風險因素,如計畫風險、管理風險、需求風險、技術風險、人員風險、產品風險、使用者風險和商業風險等等,而風險管理的主要任務是:風險識別、風險評估、和風險防範。⑤軟體文件管理,軟體文件是工程模式軟體開發的成果體現,包括技術文件、管理文件和使用者文件。

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

計算機系統由硬體、軟體、資料資源、網路資源、使用系統的人等諸多元素。有三種典型的計算機體系結構:①主機結構,主機集中了全部智慧型,並依靠終端介面與外部裝置連線。

②client/server結構,智慧型分布於伺服器與客戶機,並依靠網路連線成系統,其中,伺服器處於核心位置,提供被動核心服務;客戶機處於邊緣位置,可主動訪問伺服器,尋求服務支援。③browser/server結構,可適應網際網路遠端互動的特殊結構,基於web伺服器構建。

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

①獲取客戶需求,客戶泛指某個人或機構部門等,一般方法是調查,包括訪談、座談、問卷、跟班和收集資料,需求規約可表達使用者的軟體價值。②建立需求模型,它是使用者需求的**,一些常用的模型有:業務樹圖、用例圖、活**。

分別用於結構化需求建模、系統業務舉例和反映系統工作流程。③進行需求驗證,要驗證的主要內容有:有效性驗證、一致性驗證、完整性驗證、現實性驗證和可檢驗性驗證。

結構化分析建模:它是建立在需求規約基礎上的,對軟體問題進行全面解說,包括四個方面:①資料建模,它與資料庫設計密切相關,er圖涉及實體、關係、屬性等圖形元素,在業務層面建立資料庫概念模型,一般用於前期的建模構想。

②功能建模,是對系統資料加工的**,資料流程圖是常用的建模工具,涉及資料介面、資料處理、資料流、資料儲存等圖形元素,用於描述系統資料加工細節。③行為建模,行為模型用於說哦名軟體系統與環境的互動,狀態轉換圖常用的軟體行為建模工具涉及狀態、事件等圖形元素。⑤資料字典,是用於定義軟體的元素,使軟體元素獲得嚴肅的、詳密的、精確的規格說明。

需求分析模型中的資料、功能、行為等諸多方面的元素,都有必要通過資料字典給予細節說明,以達到對系統較完整全面的規格定義。

接下來我就簡單說下我上這門課的簡單的心得體會,我們是大四的學生了,也只有這個學期有課了,剛開始課表安排出來的時候覺得挺意外的,只有前八周有課,當時我還是有點小感動的,大四事情很多,有要考研的和工作的,大家也都有各自的事情,如果有16周的課,那麼每週課不是特別多,但是時間特別分散,也不能集中某段時間去做什麼事情。但是相對於老師的壓力也有,課程壓縮了相當於每節課的教學任務大大增加了,在加上有些假期沖掉課,就感覺我們好像上課學不到什麼東西,也只是一些關鍵的和考試掛鉤的才重點講,完全沒有擴充套件的時間和空間了。但是總的來說,學校開了這門課,我們上了這門課,總是學到了點東西的,不可能明明上了軟體工程這門課,卻像沒上一樣什麼都不懂。

在上課的時候我還是很認真地去聽老師所講述的內容的,我覺得他的思想和我一向而來的培養計算機學生綜合素質的理解還是在一定程度上不謀而合了,所謂的需求獲取,那就是乙個談判,辯論,交流的過程,已經不是單純的編程式設計序就能解決的問題了。從我所看到的聽到的來說,我最怕的就是計算機系的學生被別人說成是個帶著厚眼鏡的,只能夠在電腦前編程式設計序的,在交際場上不知道說什麼而乙個字都說不出來的人。我覺得這樣的人進入社會之後是沒有什麼前途的,起碼他們缺乏了與人溝通交流的能力。

而這門課程在一定程度上給了我們這些學生乙個機會來鍛鍊自己在另一方面的能力,設想一下,乙個又有技術又能夠與人交流合作的人所取得的成就自然要比乙個單單只會程式設計序的人要大得多。其次,這門課程教給了我們在完成乙個實際專案時的一般程式及過程,我認為這是乙份非常具有實際意義的教學內容。當我們在畢業之後,這是我們實際要運用的一項非常有用的技能,而且不僅僅侷限於軟體工程的範疇,我們即使是從事與其它行業,不也是要從需求獲取開始,一直有條有理地到最後成品的出爐嗎?

應該說這就是這門課的價值所在。無論是在上課,還是在學生會裡面做學生工作,我都深深地感覺到,技術性的工作就好比變魔術,其實原理是非常簡單的,甚至可以說簡單的可笑,但是當你就是做出這麼乙個簡單的東西出來之後,一些外行們有時候會用崇拜的眼光看著你,覺得你很厲害,很高深莫測。但是製作的過程他們卻不知道,也許知道之後他們只是會啞然失笑,原來這個東西的製作過程是如此的簡單。

這個可以說就是技術的魅力了,而作為需求獲取及之後的一系列過程則是類似於魔術揭秘的過程,但是作為這個秘密我們並不需要一揭到底,至於揭的程度如何那就是我們那就是我們學出的程度如何了,我們要讓對方知道我們在做什麼?以及如何去做?這些東西需要我們以一定的技巧敘述出來,所起到的作用就是能夠讓對方了解自己的進度,卻又能夠不讓對方來干涉自己的工作過程。

因為我們是技術員,對方只是外行,即使對方知道了這個魔術的操作過程,也並不代表他們就能夠向變著魔術的我們來隨便修改這個魔術的變法,況且我們能夠用不同的過程來得出乙個同樣的結果,這個過程的得出的主動權如何掌握在我們的手上,就看我們如何以高明的方式來揭開這個魔術的謎底了。當然了,在純粹的理論上,我覺得開設這樣一門課程是很成功的。但是畢竟現實裡有太多的不確定的因素。

最重要的因素就是授課的老師和聽課的學生。這兩個可以說是這門課成與敗的決定性的因素。

作為我們學生來說,應該負起比較主要的責任。在大學裡有了太多的基礎課程,基礎課程大多都比較枯燥無味,也許在第乙個學期裡我們還能夠保持著新鮮感,但是在6學期之後,可以說再有新鮮感就是一件比較困難的事情了,我們都已經開始變得遲鈍了。其次的,沒有認識到這門課程的價值。

這門課的價值我已經在上面說過了,是不言而喻的。但是並不是每個同學畢業之後都回從事計算機行業,也不是每個同學都知道這門課程的意義已經不僅僅侷限於計算機這個範疇。或許有些人覺得反正以後不是這個發展方向,也就不在乎這個課程吧。

我個人覺得這門課確實是挺好的,如果認真學必能學到很多東西,動手實踐能力和從整個大體分析系統開發的邏輯性思維也會明顯增強,不管以後從事哪個方面的工作,這對以後來說都是一筆很大的隱性財富。說到我自己對這麼課的學習,還是有點愧疚的,前面四周我每週每節課都去上的,並且上課也認真聽,一邊聽老師講課一邊自己看書本的介紹,但是後來我上這門課的次數就降低了,因為覺得時間很緊吧,而且老師上課的節奏我個人覺得有點慢,我都可以自己預習看到後面去了,但是這門課我還是每週至少上一節課的,雖然我早上7點多一點就出門,在自習室,但是有時候明明知道到了上課的時間,明明上課的地方離自習的地方不遠也不太想去。我記得有次上課時候老師生氣了,說來上課的人少,我仔細環顧了下四周發現確實人很少,稀稀疏疏的分散著,看起來確實不太舒服,讓我不得不反思了,這大學的教育到底怎麼了,怎麼到了大四大家都不來上課,雖然我不是每節課都來,但是我還是時不時來上課的,可能是比較浮躁吧,快畢業了,覺得上課學不到什麼實際的東西,要麼實際一點好好考研繼續深造,要麼去培訓增強實踐能力這樣才能較好的為找個滿意的工作做好鋪墊。

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

軟體工程學習心得

這個學期我們學習了軟體工程這門課,老師教我們如何運用用科學的工程方法來研究和開發軟體。為了使我們更加靈活 深刻的學到書中的知識老師要我們模擬做乙個系統的文件,讓我們自己體會一下軟體工程這門學科。我們組製作的是專案管理系統的文件,剛接到做文件的任務時,全組人都認為是小菜一碟的事,並沒有特別重視,第一部...

軟體工程學習心得體會

軟體工程對於初學者來說,知識基礎較薄弱,對一些應用操作 概念 工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握 學好軟體工程,不是僅僅把幾本專業書籍細緻地看幾遍,然後上機練習幾次就可以成功,學習過程中要注意多看多練要注意結合實際,更要多思考,面對錯誤不要一範就問,要嘗試自己去解決。但是還...

學習軟體工程導論的感想

我們沒有進行過系統化軟體設計的教育和學習,對如何進行軟體的開發基本上就是想什麼寫什麼。根本沒有過系統化的設計。比如需求分析,可行性研究等。更不知道用什麼模型來設計軟體。這在我們以後的工作中是完全不行的,沒有系統化的設計,是不可能滿足客戶的需求的。胡老師讓我們分組進行軟體互換的形式來進行軟體的修改。其...