軟件工程實驗心得體會_第1頁
軟件工程實驗心得體會_第2頁
軟件工程實驗心得體會_第3頁
軟件工程實驗心得體會_第4頁
軟件工程實驗心得體會_第5頁
免費預覽已結束,剩余2頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件工程實驗心得體會軟件工程實驗心得體會一:軟件工程實驗心得體會經(jīng)過這學期軟件工程實驗的學習,深深感到用戶需求對軟件的重要性。成功的軟件產品是建立在成功的需求基礎之上的,而高質量的需求來源于用戶與開發(fā)人員之間有效的溝通與合作。當用戶有一個問題可以用計算機系統(tǒng)來解決,而開發(fā)人員開始幫助用戶解決這個問題,溝通就開始了。需求獲取可能是最困難、最關鍵、最易出錯及最需要溝通交流的活動。對需求的獲取往往有錯誤的認識:用戶知道需求是什么,我們所要做的就是和他們交談從他們那里得到需求,只要問用戶系統(tǒng)的目標特征,什么是要完成的,什么樣的系統(tǒng)能適合商業(yè)需要就可以了,但是實際上需求獲取并不是想象的這樣簡單,這條溝通

2、之路布滿了荊棘。首先需求獲取要定義問題范圍,系統(tǒng)的邊界往往是很難明確的,用戶不了解技術實現(xiàn)的細節(jié),這樣造成了系統(tǒng)目標的混淆。其次是對問題的理解,用戶對計算機系統(tǒng)的能力和限制缺乏了解,任何一個系統(tǒng)都會有很多的用戶或者不同類型的用戶,每個用戶只知道自己需要的系統(tǒng),而不知道系統(tǒng)的整體情況, 他們不知道系統(tǒng)作為一個整體怎么樣工作效率更好,也不太清楚那些工作可以交給軟件完成,他們不清楚需求是什么,或者說如何以一種精確的方式來描述需求,他們需要開發(fā)人員的協(xié)助和指導,但是用戶與開發(fā)人員之間的交流很容易出現(xiàn)障礙,忽略了那些被認為是' 很明顯 ' 的信息。 最后是需求的確認,因為需求的不穩(wěn)定性往

3、往隨著時間的推移產生變動,使之難以確認。為了克服以上的問題,必須有組織的執(zhí)行需求的獲取活動。需求獲取活動要完成的任務或者步驟的過程如下:1、編寫項目視圖和范圍文檔系統(tǒng)的需求包括四個不同的層次:業(yè)務需求、用戶需求和功能需求、非功能性需求。業(yè)務需求說明了提供給用戶新系統(tǒng)的最初利益, 反映了組織機構或用戶對系統(tǒng)、產品高層次的目標要求,它們在項目視圖與范圍文檔中予以說明。用戶需求文檔描述了用戶使用產品必須要完成的任務,這在使用實例文檔或方案腳本說明中予以說明。功能需求定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務,從而滿足了業(yè)務需求。非功能性需求是用戶對系統(tǒng)良好運作提出的期望,包括了易用性

4、、反應速度、容錯性、 健壯性等等質量屬性。 需求獲取就是根據(jù)系統(tǒng)業(yè)務需求去獲得系統(tǒng)用戶需求,然后通過 需求分析得到系統(tǒng)的功能需求和非功能需求。項目視圖和范圍文檔就是從高層次上描述系統(tǒng)的業(yè)務需求,應該包括高層的產品業(yè)務目標, 評估問題解決方案的商業(yè)和技術可行 性,所有的使用實例和功能需求都必須遵從的標準。而范圍文檔定義了項目產品所包括 的所有工作及產生產品所用的過程。項目相關人員對項目的目標和范圍能達成共識,整個項目組都應該把注意力集中在項目目標和范圍上。2、用戶群分類系統(tǒng)用戶在很多方面存在著差異,例如:使用系統(tǒng)的頻度和程度、應用領域和計算機系 統(tǒng)知識、所使用的系統(tǒng)特性、所進行的業(yè)務過程、訪問權

5、限、地理上的布局以及個人的 素質和喜好等等。根據(jù)這些差異,你可以把這些不同的用戶分成不同的用戶類。與 ULM 中Usecase的Actor概念一樣,用戶類不一定都指人,也可以包括其他應用系統(tǒng)、接口 或者硬件,這樣做使得與系統(tǒng)邊界外的接口也成為系統(tǒng)需求。將用戶群分類并歸納各自 特點,并詳細描述出它們的個性特點及任務狀況,將有助于需求的獲取和系統(tǒng)設計。3、建立核心隊通常用戶和開發(fā)人員不自覺的都有一種 我們和他們的想法,產生一種對立關系,把彼 此放在對立面,每一方都定義自己的邊界,只想自己的利益而忽略對方的想法。他們 通過文檔、記錄和對話來溝通,而不是作為一個合作的整體去識別和確定需求完成任務。實踐

6、證明這樣的方法是不正確的,不會給雙方帶來一點益處,良好的溝通關系沒有建立導致了誤解和忽略重要的信息。 只有當雙方參與者都明白要成功自己需要什么,同時也 知道要成功對方需要什么時,才能建立起一種合作關系。為了建立合作關系通常采取一種組隊的方式來獲取需求,建立一個由用戶代表和開發(fā)人員組成的聯(lián)合小組作為需求獲取的核心隊伍。聯(lián)合小組將負責識別需求、分析解決方案和協(xié)商分歧,小組成員可以采用會議、電子郵件、綜合辦公系統(tǒng)等方式進行交流,但交 流時應注意以下原則:小組會議應該由中立方來組織和主持,用戶和開發(fā)人員都要參加 交流預先要確定準備和參與的規(guī)則 ;議題要明確并覆蓋所有關鍵點,但信息來源應該自 由;交流目

7、標要明確,并告知所有的成員。4、確定使用實例從用戶代表處收集他們將使用系統(tǒng)完成所需任務的描述,討論用戶與系統(tǒng)間的交互方式和對話要求,這就是使用實例,一個單一的使用實例可能包括完成某項任務的許多邏輯 相關任務和交互順序。使用實例方法給需求獲取帶來的好處來自于該方法是用以任務為 中心和以用戶為中心的觀點, 比起使用以功能為中心和以開發(fā)者為中心的方法,使用實 例方法可以使用戶更清楚地理解和認識到新系統(tǒng)允許他們做什么和怎么做。描寫使用實例的時候要注意使用簡潔直白的表述,盡量使用主動語態(tài),用系統(tǒng)或者用戶作為主語,比如用戶提交用戶密碼,系統(tǒng)驗證用戶密碼是否正確,還有一點在描述中不要設計界面細節(jié),比如用戶從

8、下拉框中選擇產品類型。使用實例為以后寫用例場景描述中 的基本路徑和擴展路徑提供了素材。5、分析用戶工作流程分析用戶工作流程觀察用戶執(zhí)行業(yè)務任務的過程,通過分析使用實例得到系統(tǒng)的用例 圖。編制用例圖文檔將有助于明確系統(tǒng)的使用實例和功能需求,統(tǒng)一建模語言的使用有助于與用戶進一步交流。每個用例的描述應包括:編號 ,為每個用例分配一個唯一的編 號,為需求的追溯提供了方便;參與者,與這個用例交互的 actor;前置條件,開始用例 前所必須具備的系統(tǒng)狀態(tài);后置條件,用例完成后系統(tǒng)達到的狀態(tài) ;基本路徑,用例完成 的關鍵路徑,也是用戶期望的路徑;擴展點,基本路徑的分枝,表示意外情況;字段說明, 路徑中名稱的

9、進一步分解說明,對以后類屬性的定義和數(shù)據(jù)庫字段設計起作用;設計約束,實現(xiàn)用例的非功能約束。6、檢查問題報告通過檢查當前已經(jīng)運行系統(tǒng)的問題報告來進一步完善需求客戶的問題報告及補充需求 為新系統(tǒng)或新版本提供了大量豐富的改進及增加特性的想法,負責提供用戶支持及幫助的人能為收集需求過程提供極有價值的信息。7、需求重用如果客戶要求的功能與已有的系統(tǒng)很相似,則可查看需求是否有足夠的靈活性以允許重用一些已有的軟件組件。 業(yè)務建模和領域建模式需求重用的最好方法,像分析模式和設計模式一樣,需求也有自己的模式??偨Y:經(jīng)過一學期的軟工實驗,深刻感到其重要性的同時也學到了不少的東西,將對我在今后的軟件開發(fā)過程中起極大

10、的作用>軟件工程實驗心得體會二:軟件工程實驗心得>> (789字)早在我選擇民政職業(yè)技術學院就讀軟件開發(fā)與項目管理這門專業(yè)的時候,我一直認為軟件開發(fā)無非是努力的敲代碼,從敲代碼的過程中去體會各行代碼的意思和用處,在沒學 軟件工程時我一直都是努力的敲代碼去學習軟件開發(fā)這門專業(yè)。在大一的時候我敲代碼的激情很好,但是到大二的時候就出現(xiàn)問題了,我根本就不喜歡敲代碼了,看見代碼就 頭疼。所以感覺厭惡這門專業(yè),對學習也不感興趣了。而且,還有一件更頭疼的事是在 寫一個簡單的程序時竟然老是出錯,難一點的,復雜一點的程序竟然無從下手。但是去 看程序的參考答案時都看得懂,又感覺很容易。學了軟件工

11、程以后,我就感覺我以前的 學習方法是錯誤的。以前我只注重于代碼,而不注重理論知識以及編程的思路,程序的 架構。以至于在些程序時沒有寫程序的思路,不能形成程序的架構。只想到看腦袋里是 否有與此類似的代碼。越想程序越亂,最后腦袋里一片空白。不知道程序從哪個方面下 手了。軟件工程這門課程是做軟件開發(fā)的人必學的課程,通過學這門課程,程序員就會注重軟件開發(fā)的理論知識,以及做項目開發(fā)的思路。 學了這門課程后你寫程序就不會去盲目的 去套用代碼,而是理清此程序的架構以及思路。 程序該從什么時候開始, 什么時候結束。 在中間需要添加什么樣的功能,以完善該軟件。其實學軟件工程并不難,而且很容易。軟件工程與日常生活

12、聯(lián)系起來的話,就是在一天中你該先做什么,后做什么。理解了先做什么,后做什么了以后寫程序就不是那么難了,再復雜的程序也可以分成幾大塊。你理清程序的思路后就可以一步步的解決其中的難題,最終實現(xiàn)軟件的功能。如果沒學軟件工程不知道理清程序的思路的話,做一個大的項目開發(fā),那么多的代碼,沒有一個很 好的結構,最終只會導致程序混亂,錯誤百出,知道代碼再多也會素手無策的??偠灾?,作為一個程序員學習軟件工程這門課程是至關必要的,如果沒學習軟件工程,你就不會做項目開發(fā),也不可能開發(fā)出一個完善的軟件出來。>軟件工程實驗心得體會三:軟件工程實驗心得>> (1261字)曾經(jīng)看過一本書叫道法自然,內容

13、略記得一二,但我最欣賞的是它的書名。軟件設 計沒什么太神秘有東西,只要用心體會,其實一切都很自然。軟件的設計之“道”,也 不在于設計有多么的華麗、精巧,而在于其樸實、自然,最終達到“以無招勝有招”, 進入一個全新的境界。、軟件設計理論的層次以我的拙見,軟件設計領域中的各種概念,可以分為以下幾個層次來進行理解:1、軟件設計的目的:重用性、擴展性。這是最高的層次,是應對軟件危機的需要2、設計原則:低耦合、高聚合各種軟件設計的原則,如依賴倒置原則、單一職則原則、面向接口等,以及各種設計模 式,其根本的目的其實只是為了降低耦合這么簡單。因為只有低耦合才能更好的適應變 化,更好的重用和擴展。3、實現(xiàn)方法

14、:運用設計模式封裝變化、降低耦合 設計模式只是用來“封裝變化、降低耦合”的工具而已。它是面向對象設計時代的產物, 其本質就是充分運用面向對象的三個特性,即:封裝、繼承和多態(tài),進行靈活的組合運 用。、關于耦合1、耦合的粒度耦合無論如何也是不可避免的。當我們實現(xiàn)接口、繼承父類的時候,就會不可避免的產 生耦合。耦合是有不同粒度的,我們解耦到什么粒度為止,我認為應以模塊的重用粒度 為準。盡量解除重用模塊或對象之間的耦合。而重用模塊之內的耦合,應屬于聚合的范 疇,所以不要盲目的去解耦,否則就陷入了誤區(qū)。2、解耦的原理怎樣才能解耦呢,或者說為什么各種設計模式能達到解耦的目的呢 思路:(1)將具體的東西抽象

15、處理(2)將分散的東西集中處理而面向對象中的接口、 繼承正為我們提供了這樣的一種機制。通過訪問接口或基類或抽 象類,而不是具體的實現(xiàn)類,從而與具體的實現(xiàn)類達到了解耦的目的。我們還可以設計 一些控制類,像潤滑劑一樣,協(xié)調各實現(xiàn)類之間的訪問,也可以達到耦的目的。事實上,各種設計模式的基本思想也就是這樣。創(chuàng)建型模式是為了解除創(chuàng)建對象時產生 的耦合,實際上是解除對類稱名的依賴,而結構型和行為型是為了解除對象屬性或方法 的直接調用。不管什么設計模式,都是將對具體實現(xiàn)類的訪問提升為對接口、基類或用 于協(xié)調的控制類的訪問。三、關于接口這一節(jié)更具體,談一談接口,因為使用接口是軟件設計的重要手段, 但已經(jīng)不屬于“道” 了1、接口與繼承接口描述的是對象某一個方面行為特征。使用接口與使用繼承關系各有優(yōu)缺點,使用子 類繼承可以繼承父類的功能,體現(xiàn)了重用的精神。而接品更加靈活,因為它解除了子類 與父類之間的高度耦合,它體現(xiàn)在靈活擴展的精神。2、接口

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論