軟件工程及項目管理12章_第1頁
軟件工程及項目管理12章_第2頁
軟件工程及項目管理12章_第3頁
軟件工程及項目管理12章_第4頁
軟件工程及項目管理12章_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第12章 新型軟件開發(fā)方法 掌握:掌握:基于構件的軟件開發(fā)方法、敏捷方法的概念與由來、Agent系統(tǒng)的定義及其特點。12.1 基于構件的軟件開發(fā)方法12.1.1 軟件復用與構件的定義1軟件復用是指一種重復使用軟件資產(chǎn)或過程的軟件開發(fā)方法??梢詮牟煌慕嵌葘浖陀眠M行分類:(1)依據(jù)可復用信息進行復用的方式,可以將軟件復用分為黑盒復用和白盒復用。(2)依據(jù)復用的對象,可以將軟件復用分為產(chǎn)品復用和過程復用。軟件復用的形式很多,根據(jù)復用級別的大小,大致有以下形式:(1)基于源代碼的復用(2)基于目標代碼的復用(3)基于類庫的復用2構件及其概念 一般可以認為構件是封裝了設計和實現(xiàn)的細節(jié)并僅向外部提供

2、獨立接口的可重用軟件單元,該構件可以與其他構件組成更大規(guī)模的構件。 構件具有以下基本性質(zhì): (1)粒度。 (2)可重用。 (3)相對獨立。 (4)封裝性。 (5)可組裝性。 (6)構件可以完成特定的功能。 (7)構件遵循一套接口標準。12.1.2 基于構件的軟件開發(fā)方法圖12-1 基于構件的軟件開發(fā)方法與傳統(tǒng)軟件開發(fā)方法之間的比較基與構件的開發(fā)方法的優(yōu)點:(1)提高產(chǎn)品資源的可復用性。(2)版本控制更為簡單。(3)有效利用人力資源。(4)從軟件銷售到軟件實施,從做項目和做產(chǎn)品之間找到平衡點。(5)開發(fā)效率提高,編譯、調(diào)試更加方便?;跇嫾拈_發(fā)方法中的開發(fā)角色(1)構件開發(fā)者。(2)應用構件集

3、成者。(3)應用系統(tǒng)部署者。(4)開發(fā)平臺服務器供應商。(5)應用系統(tǒng)開發(fā)工具供應商。(6)系統(tǒng)管理員 配置硬件、網(wǎng)絡和操作系統(tǒng),監(jiān)督和維護應用系統(tǒng)者。 12.2 敏捷方法12.2.1 敏捷方法的概念與由來 2001年初,一批軟件工程專家聚集在美國猶他州的雪鳥滑雪勝地,概括了一些可以讓軟件開發(fā)團隊具有快速工作、響應變化能力的價值觀和原則。在價值觀方面,他們認為:(1)個體和交流重于過程和工具。(2)可運行的軟件重于面面俱到的文檔。(3)客用戶合作重于合同談判。(4)響應變化重于遵循計劃。同時,他們還提出以下原則:(1)對程序員而言,最重要的是通過盡早和不斷交付有價值的軟件滿足客戶需要。 (2)

4、歡迎需求的變化,即使是在開發(fā)后期。敏捷過程能夠駕馭變化,保持用戶的競爭優(yōu)勢。 (3)經(jīng)常交付可以工作的軟件,從幾星期到幾個月,時間尺度越短越好。 (4)業(yè)務人員和開發(fā)者應在整個項目過程中始終朝夕在一起工作。 (5)由斗志高昂的人進行軟件開發(fā),給開發(fā)者提供適宜的環(huán)境,滿足他們的需要,并相信他們能夠完成任務。 (6)在開發(fā)小組中最有效率也最有效果的信息傳達方式是面對面地交談。 (7)可以工作的軟件是進度的主要度量標準。 (8)敏捷過程提倡可持續(xù)開發(fā)。出資人、開發(fā)人員和用戶應總是維持不變的節(jié)奏。 (9)對卓越技術與良好設計的不斷追求將有助于提高敏捷性。 (10)簡單盡可能減少工作量的藝術至關重要。

5、(11)最好的架構、需求和設計都源自自我組織的團隊。 (12)每隔一定時間,團隊都要總結(jié)如何更有效率,然后相應地調(diào)整自己的行為。 敏捷方法具有以下兩個主要特征: (1)敏捷開發(fā)的第一個特征是開發(fā)采用適應性方法,經(jīng)過多次小型迭代的開發(fā)過程逐步逼近實際需求,從而為用戶提供實際需要的軟件。 (2)敏捷開發(fā)的第二個特征是以人為本。傳統(tǒng)計劃驅(qū)動方法以文檔、過程為核心,而忽視了人的重要性。在敏捷方法里,程序員在軟件開發(fā)中不再是單純被管理的對象,而是開發(fā)的主體。12.2.2 敏捷方法的典型代表1XP方法2水晶系列方法3適應性軟件開發(fā)方法ASD4SCRUM 5特性驅(qū)動開發(fā)方法FDD(Feature Drive

6、n Development)12.3 基于Agent的軟件開發(fā)方法12.3.1 Agent系統(tǒng)的定義及其特點 在軟件工程領域較為人們所接受的Agent的定義是:Agent是一個處于特定環(huán)境中,能感知并靈活、自主適應環(huán)境,可以代理設計者或使用者實現(xiàn)一定任務的具有較高自治能力的計算機實體;其根本目標是接受另外一個實體(可以是人、Agent、系統(tǒng)等)的委托或請求,并為之提供幫助和服務,能在該目標的驅(qū)動下主動采取包括社交、學習等手段在內(nèi)的各種必要的行為,以感知、適應并對動態(tài)環(huán)境的變化進行適當?shù)姆磻?Agent的特點包括:(1)代理性。(2)自制性。(3)主動性。(4)反應性。(5)社會性。(6)智能性。 代理在一定程度上可能表現(xiàn)的其他屬性:(1)合作性。(2)移動性。 代理還具有誠實性、順從性、理智性等12.3.2 基于Ag

溫馨提示

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

評論

0/150

提交評論