版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2023年2月2日第1頁第15章軟件工程新技術(shù)本章內(nèi)容結(jié)構(gòu)本章引言學(xué)習(xí)目標(biāo)教學(xué)內(nèi)容本章小結(jié)思考和練習(xí)本章引言軟件工程領(lǐng)域研究使用的新技術(shù):迭代開發(fā),以時間換空間,消除市場風(fēng)險(xiǎn)。敏捷開發(fā)或輕量級過程,以不變應(yīng)萬變。永遠(yuǎn)的Beta,不斷推陳出新,永無止境。持續(xù)集成、持續(xù)構(gòu)建、全程測試。知識管理,將軟件工程納入知識管理的范疇。軟件即服務(wù)(SaaS),面向服務(wù)架構(gòu)(SOA)的開發(fā)思想。用例驅(qū)動開發(fā),用戶為本思想在軟件中的體現(xiàn)。以顧客為中心的全面質(zhì)量管理。
2023年2月2日第2頁2023年2月2日第3頁學(xué)習(xí)目標(biāo)掌握軟件復(fù)用的概念、分類、關(guān)鍵技術(shù)及復(fù)用粒度理解基于構(gòu)件的軟件工程技術(shù)的相關(guān)概念及應(yīng)用理解軟件過程和標(biāo)準(zhǔn)化的作用及應(yīng)用理解敏捷軟件開發(fā)過程概念及模型理解Web軟件工程的相關(guān)概念和特色理解軟件產(chǎn)品線技術(shù)的概念及發(fā)展2023年2月2日第4頁教學(xué)內(nèi)容15.1軟件復(fù)用技術(shù)15.2基于構(gòu)件的軟件工程技術(shù)15.3軟件過程與標(biāo)準(zhǔn)化15.4敏捷軟件開發(fā)過程15.5Web軟件工程15.6軟件產(chǎn)品線技術(shù)15.7本章小結(jié)和習(xí)題2023年2月2日第5頁15.1.1軟件復(fù)用概念及分類軟件復(fù)用:重復(fù)使用“為了復(fù)用目的而設(shè)計(jì)的軟件”的過程。實(shí)施軟件復(fù)用的目的:要使軟件開發(fā)工作進(jìn)行得更快、更好、更省。軟件復(fù)用與共享、軟件移植的區(qū)別:共享:是在一個系統(tǒng)中多次使用一個相同的軟件成分軟件移值:對一個軟件進(jìn)行修改,使它運(yùn)行于新的軟硬件平臺2023年2月2日第6頁15.1.1軟件復(fù)用概念及分類(1)依據(jù)復(fù)用的對象分類產(chǎn)品復(fù)用、過程復(fù)用(2)依據(jù)對可復(fù)用信息進(jìn)行復(fù)用的方式分類黑盒復(fù)用、白盒復(fù)用(3)依據(jù)復(fù)用的組織方式分類個別的軟件復(fù)用、系統(tǒng)化的軟件復(fù)用(4)根據(jù)所應(yīng)用的領(lǐng)域范圍分類橫向復(fù)用、縱向復(fù)用2023年2月2日第7頁15.1.2軟件復(fù)用的關(guān)鍵技術(shù)和復(fù)用粒度軟件復(fù)用有3個基本問題:必須有可以復(fù)用的對象所復(fù)用的對象必須是有用的復(fù)用者需要知道如何去使用被復(fù)用的對象。軟件復(fù)用包括兩個相關(guān)過程:可復(fù)用軟件(構(gòu)件)的開發(fā)基于可復(fù)用軟件(構(gòu)件)應(yīng)用系統(tǒng)的構(gòu)造(集成和組裝)2023年2月2日第8頁15.1.2軟件復(fù)用的關(guān)鍵技術(shù)和復(fù)用粒度實(shí)現(xiàn)軟件復(fù)用的關(guān)鍵技術(shù)因素:軟件構(gòu)件技術(shù)、領(lǐng)域工程、軟件構(gòu)架技術(shù)、軟件再工程技術(shù)、開放系統(tǒng)技術(shù)、軟件過程、CASE技術(shù)等。軟件復(fù)用的非技術(shù)因素:機(jī)構(gòu)組織如何適應(yīng)復(fù)用的需求;管理方法如何適應(yīng)復(fù)用的需求;開發(fā)人員知識的更新;創(chuàng)造性和工程化的關(guān)系;開發(fā)人員的心理障礙;知識產(chǎn)權(quán)問題;保守商業(yè)秘密的問題;復(fù)用前期投入的經(jīng)濟(jì)考慮;標(biāo)準(zhǔn)化問題等。
2023年2月2日第9頁15.2.1中間件技術(shù)中間件是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源;中間件位于客戶機(jī)/服務(wù)器的操作系統(tǒng)之上,管理計(jì)算資源和網(wǎng)絡(luò)通信。圖15.1中間件概念2023年2月2日第10頁15.2.1中間件技術(shù)圖15.2中間件在應(yīng)用系統(tǒng)中的位置中間件的作用:建立分布式軟件模塊之間互操作的機(jī)制,屏蔽底層分布式環(huán)境的復(fù)雜性和異構(gòu)性,為處于自己上層的應(yīng)用軟件提供運(yùn)行與開發(fā)環(huán)境,幫助用戶靈活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。2023年2月2日第11頁15.2.1中間件技術(shù)1.中間件要解決的問題(1)應(yīng)用的互連和互操作問題(2)針對不同的應(yīng)用領(lǐng)域,對中間件又有各種不同的要求中間件具有以下特點(diǎn):滿足大量應(yīng)用的需要;運(yùn)行于多種硬件和操作系統(tǒng)平臺;支持分布式計(jì)算;提供跨網(wǎng)絡(luò)、硬件和操作系統(tǒng)平臺的透明性;支持標(biāo)準(zhǔn)的協(xié)議和接口。2023年2月2日第12頁15.2.1中間件技術(shù)2.中間件的分類(1)根據(jù)中間件具有的功能和所提供的服務(wù)面向?qū)ο笾虚g件、消息中間件、容錯中間件、反射中間件(2)基于IDC分類方法終端仿真/屏幕轉(zhuǎn)換、數(shù)據(jù)訪問中間件遠(yuǎn)程過程調(diào)用中間件、消息中間件交易中間件、基于對象請求代理(ORB)中間件2023年2月2日第13頁15.2.1中間件技術(shù)3.中間件的發(fā)展及認(rèn)識度早期的中間件市場中事務(wù)中間件與消息中間件占的份額最大,近年來隨著Web應(yīng)用的逐漸普及,支持Web服務(wù)和應(yīng)用的應(yīng)用服務(wù)器中間件的占有量已經(jīng)居于各類中間件的首位,消息中間件和事務(wù)中間件分別居第二、三名。表15.1操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)和中間件的類比2023年2月2日第14頁15.2.2構(gòu)件與構(gòu)件化構(gòu)件:是一些可執(zhí)行單元,可以通過獨(dú)立的開發(fā)、購買和配置組合到一個功能系統(tǒng)中去,是軟件系統(tǒng)內(nèi)被標(biāo)識、符合某種標(biāo)準(zhǔn)要求并可復(fù)用的軟件組成成分,類似于傳統(tǒng)工業(yè)中的零部件。從廣義上來講,構(gòu)件可以是被封裝的對象類、類簇、一些功能模塊、構(gòu)件框架或構(gòu)架、文檔、分析件、設(shè)計(jì)模式等;從狹義上來說,一般指對外提供的具有規(guī)約化接口、符合一定標(biāo)準(zhǔn)、可替換的軟件系統(tǒng)的程序模塊。2023年2月2日第15頁15.2.2構(gòu)件與構(gòu)件化構(gòu)件技術(shù)的基本思想:創(chuàng)建和利用可復(fù)用的軟件構(gòu)件來解決軟件開發(fā)的問題??蓮?fù)用構(gòu)件:具有相對獨(dú)立功能和可復(fù)用價值的構(gòu)件。構(gòu)件化的軟件開發(fā)方法是一種將一個完整系統(tǒng)看作是若干個獨(dú)立部分(構(gòu)件)組裝的軟件開發(fā)方法,每一部分是一個可重用的單元,通過替換和重新配置來完成軟件的升級。2023年2月2日第16頁15.2.3構(gòu)件模型及描述語言兩個主要的構(gòu)件描述模型:Tracz提出的3C模型:主要用于對構(gòu)件的可重用信息進(jìn)行描述,
Component=(Concept,Content,Context)REBOOT項(xiàng)目中提出的REBOOT(ReuseBasedonObjectOrientedTechniques)模型:主要用于對可重用構(gòu)件進(jìn)行分類與檢索,它與構(gòu)件檢索的關(guān)系更為密切。2023年2月2日第17頁15.2.3構(gòu)件模型及描述語言北京大學(xué)青鳥構(gòu)件模型是一個具有面向?qū)ο箫L(fēng)格的模型,從3個不同的、相互正交的視角來看待構(gòu)件,每個具體的構(gòu)件都是形態(tài)、層次和表示構(gòu)成的三維空間中的一個點(diǎn)。構(gòu)件形態(tài):類、類樹、框架、設(shè)計(jì)模式、體系結(jié)構(gòu);構(gòu)件層次:分析件、設(shè)計(jì)件、編碼件、測試件構(gòu)件的表示與層次有關(guān),不同層次的構(gòu)件具有不同的表示媒介和手段,如圖形、復(fù)合文檔、正文、偽碼、編程語言、目標(biāo)碼等。青鳥構(gòu)件模型從9個方面來描述構(gòu)件,即概念、操作規(guī)約、接口、類型、實(shí)現(xiàn)體、構(gòu)件復(fù)合、構(gòu)件性質(zhì)、構(gòu)件注釋、構(gòu)件語境。2023年2月2日第18頁15.2.3構(gòu)件模型及描述語言構(gòu)件實(shí)現(xiàn)模型標(biāo)準(zhǔn):CORBA、COM/DCOM/COM+、JavaBeans/EJB基本思想:第一,采用將構(gòu)件的接口和實(shí)現(xiàn)相分離的原則;第二,采用黑盒重用的方式,外界僅可以通過構(gòu)件的接口來訪問構(gòu)件的功能;第三,在實(shí)現(xiàn)方法上都使用接口描述語言(InterfaceDescriptionLanguage,IDL)進(jìn)行構(gòu)件接口定義,利用相應(yīng)的中間件作為支持該構(gòu)件模型的運(yùn)行時環(huán)境,從而達(dá)到由不同的編程語言所實(shí)現(xiàn)、運(yùn)行在不同的操作系統(tǒng)環(huán)境中及在不同主機(jī)上的構(gòu)件都能相互交互的目的。2023年2月2日第19頁15.2.3構(gòu)件模型及描述語言主要不同在于技術(shù)的提出者及應(yīng)用背景
COM/DCOM是由微軟公司提出的,由于Microsoft在PC軟件領(lǐng)域的壟斷地位,因此在基于Microsoft的環(huán)境中,使用COM/DCOM/COM+是一種當(dāng)然的選擇;CORBA是由OMG組織提出的,它的標(biāo)準(zhǔn)是開放的,并且OMG成員廣泛,所以CORBA最具普遍性,是異構(gòu)環(huán)境中的理想選擇;在Internet和移動計(jì)算(如手機(jī))中,Java是普遍采用的一種技術(shù),因此JavaBeans/EJB在這類Internet和移動計(jì)算應(yīng)用環(huán)境中比較適合。2023年2月2日第20頁15.2.3構(gòu)件模型及描述語言構(gòu)件描述語言比較典型的有CORBA規(guī)范中的接口描述語言IDLUML規(guī)范中的對象約束語言O(shè)CL北大青鳥構(gòu)件系統(tǒng)中的青鳥構(gòu)件描述語言JBCDL加州理工大學(xué)提出的構(gòu)件描述語言CDL等2023年2月2日第21頁15.2.4構(gòu)件的檢索與組裝1.構(gòu)件的檢索W.Frakes從構(gòu)件表示出發(fā),將現(xiàn)有方法分為人工智能方法、超文本方法和信息科學(xué)方法3類。H.Mili則按照復(fù)雜度和檢索效果的遞增,將其分為基于正文的、基于詞法描述符的、基于規(guī)約的分類和檢索3類。2023年2月2日第22頁15.2.4構(gòu)件的檢索與組裝W.Frakes重點(diǎn)討論了信息科學(xué)方法,因?yàn)檫@是實(shí)際復(fù)用項(xiàng)目中,應(yīng)用較為成功的途徑。將信息科學(xué)方法分為基于受控詞匯表和基于不受控詞匯表分類兩種形式。圖15.3信息科學(xué)的編目方法分類圖2023年2月2日第23頁15.2.4構(gòu)件的檢索與組裝常用分類方式枚舉分類刻面分類屬性值分類正文檢索關(guān)鍵詞分類2023年2月2日第24頁15.2.4構(gòu)件的檢索與組裝2.構(gòu)件組裝技術(shù)目的:利用現(xiàn)有的構(gòu)件組裝成新的系統(tǒng)。本質(zhì):是在構(gòu)件之間建立關(guān)聯(lián),根據(jù)這種關(guān)聯(lián),協(xié)調(diào)它們的行為,把它們組織成為一個有機(jī)的整體。構(gòu)件組裝的研究內(nèi)容包括兩部分:對復(fù)合構(gòu)件形成過程的研究面向體系結(jié)構(gòu)(或者組裝框架)的研究2023年2月2日第25頁15.2.4構(gòu)件的檢索與組裝3.構(gòu)件組裝技術(shù)及方法的分類(1)根據(jù)組裝場景的不同分類不同的組裝層次:源代碼級的組裝、運(yùn)行級組裝不同的組裝模式靜態(tài)組裝:設(shè)計(jì)時的組裝。動態(tài)組裝:運(yùn)行時的組裝。(2)按照構(gòu)件在組裝之前需要對構(gòu)件內(nèi)部細(xì)節(jié)了解的程度及是否需要進(jìn)行修改、封裝黑盒組裝方式、白盒組裝方式和灰盒組裝方式2023年2月2日第26頁15.2.4構(gòu)件的檢索與組裝4.構(gòu)件組裝的實(shí)現(xiàn)方法(1)以框架為基礎(chǔ)的方法(2)以連接件為基礎(chǔ)的方法(3)以膠合代碼為基礎(chǔ)的方法(4)基于總線的方法2023年2月2日第27頁15.2.5基于構(gòu)件的軟件工程方法基于構(gòu)件的軟件工程(Component-BasedSoftwareEngineering,CBSE):以面向?qū)ο蟮姆椒榛A(chǔ),強(qiáng)調(diào)軟件重用的作用,在軟件體系結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,使用可復(fù)用的軟件“構(gòu)件”來設(shè)計(jì)和構(gòu)造基于計(jì)算機(jī)的系統(tǒng)過程?;跇?gòu)件的開發(fā)(CBD,Component-BasedDevelopment):是一個與領(lǐng)域活動并行的CBSE活動。為了實(shí)現(xiàn)軟件重用,基于構(gòu)件的軟件工程強(qiáng)調(diào)領(lǐng)域工程與軟件工程同步進(jìn)行。2023年2月2日第28頁15.2.5基于構(gòu)件的軟件工程方法圖15.4一個典型的可重用的過程模型圖15.4給出了一個典型的可重用的過程模型,描述了領(lǐng)域工程與軟件工程的關(guān)系。2023年2月2日第29頁15.2.5基于構(gòu)件的軟件工程方法圖15.5給出了一個基于構(gòu)件的開發(fā)模型。該模型中,建模和構(gòu)建活動開始于識別可選構(gòu)件。這些構(gòu)件有些設(shè)計(jì)成通用的軟件模塊,有些設(shè)計(jì)成面向?qū)ο蟮念惢蜍浖D15.5基于構(gòu)件的開發(fā)模型2023年2月2日第30頁15.2.5基于構(gòu)件的軟件工程方法基于構(gòu)件的開發(fā)模型可以由以下步驟組成(采用演進(jìn)方法):(1)對于該問題領(lǐng)域的基于構(gòu)件的可用產(chǎn)品進(jìn)行研究和評估(2)考慮構(gòu)件集成的問題(3)設(shè)計(jì)軟件架構(gòu)以容納這些構(gòu)件(4)將構(gòu)件集成到架構(gòu)中(5)進(jìn)行充分的測試以保證功能正常2023年2月2日第31頁15.2.5基于構(gòu)件的軟件工程方法基于構(gòu)件的開發(fā)模型存在的問題:(1)構(gòu)件的信賴度問題(2)構(gòu)件認(rèn)證(3)自然特性預(yù)測(4)需求折中2023年2月2日第32頁15.2.6SOA與SaaSSOA憑借其松耦合的特性,使得企業(yè)可以按照模塊化的方式來添加新服務(wù)或更新現(xiàn)有服務(wù),以解決新的業(yè)務(wù)需要,從而可以通過不同的渠道提供服務(wù),并可以把企業(yè)現(xiàn)有的應(yīng)用作為服務(wù),從而保護(hù)了現(xiàn)有的IT基礎(chǔ)建設(shè)投資。圖15.6面向服務(wù)的分析與設(shè)計(jì)原理示意圖2023年2月2日第33頁15.2.6SOA與SaaSSOA模型的典型特征:松散耦合、粗粒度服務(wù)和標(biāo)準(zhǔn)化接口SOA的設(shè)計(jì)實(shí)踐原則:業(yè)務(wù)驅(qū)動服務(wù),服務(wù)驅(qū)動技術(shù);業(yè)務(wù)敏捷是基本的業(yè)務(wù)需求。SOA的目標(biāo):最大限度地重用現(xiàn)有服務(wù)以提高IT的適應(yīng)能力和利用效率。圖15.7一個完整的面向服務(wù)的體系結(jié)構(gòu)模型2023年2月2日第34頁15.2.6SOA與SaaS圖15.8單個服務(wù)內(nèi)部結(jié)構(gòu)2023年2月2日第35頁15.2.6SOA與SaaSSaaS(Software-as-a-Service,軟件即服務(wù)),國內(nèi)通常叫做軟件運(yùn)營服務(wù)模式,簡稱為軟營模式:是一種通過Internet提供軟件的模式,廠商將應(yīng)用軟件統(tǒng)一部署在自己的服務(wù)器上,客戶可以根據(jù)自己實(shí)際需求,通過互聯(lián)網(wǎng)向廠商訂購所需的應(yīng)用軟件服務(wù),按訂購的服務(wù)多少和時間長短向廠商支付費(fèi)用,并通過互聯(lián)網(wǎng)獲得廠商提供的服務(wù)。2023年2月2日第36頁15.3軟件過程與標(biāo)準(zhǔn)化軟件過程:軟件生存周期中,將用戶需求轉(zhuǎn)化為可執(zhí)行系統(tǒng)的演化過程所進(jìn)行的軟件工程活動的全體,是用于生產(chǎn)軟件產(chǎn)品的工具、方法和實(shí)踐的集合。軟件過程技術(shù)的目標(biāo):通過工程化、標(biāo)準(zhǔn)化和形式化的方法管理軟件的開發(fā)過程,從而改變目前的軟件生產(chǎn)方式,實(shí)現(xiàn)大規(guī)模的軟件生產(chǎn)。軟件過程的研究:主要針對軟件生產(chǎn)和管理,不僅要有工程觀點(diǎn),還要有系統(tǒng)觀點(diǎn)、管理觀點(diǎn)、運(yùn)行觀點(diǎn)和用戶觀點(diǎn)。2023年2月2日第37頁15.3.1軟件過程及其改進(jìn)軟件過程改進(jìn):在軟件過程活動中,為了更有效地達(dá)到優(yōu)化軟件過程的目的所實(shí)施的改善或改變其軟件過程的系列活動。軟件過程改進(jìn)主要包括以下幾個關(guān)鍵步驟:①對比目前的狀態(tài)和期望達(dá)到的狀態(tài),找出存在的差距②確定要改變哪些差距,需要改變到什么程度③制定相應(yīng)的具體實(shí)施計(jì)劃2023年2月2日第38頁15.3.2ISO9000標(biāo)準(zhǔn)ISO9000是國際標(biāo)準(zhǔn)化組織ISO制定的世界上第一套質(zhì)量管理和質(zhì)量保證標(biāo)準(zhǔn),主要目的是為了滿足國際貿(mào)易中對質(zhì)量管理和質(zhì)量保證需要有共同語言和共同準(zhǔn)則的需要。表15.3ISO9000標(biāo)準(zhǔn)體系2023年2月2日第39頁15.3.3軟件能力成熟度模型(CMM)CMM(CapabilityMaturityModel)是卡內(nèi)基梅隆大學(xué)軟件工程研究院SEI受美國國防部委托制定的軟件過程的改良、評估模型,也稱為SEISW-CMM(SoftwareEngineeringInstituteSoftware-CapabilityMaturityModel)。該模型于1991年發(fā)布,并發(fā)展成為系列標(biāo)準(zhǔn)模型,描述了有效的軟件過程單元的框架,為軟件機(jī)構(gòu)提供了一條從混亂的、不成熟的軟件過程向成熟的、有紀(jì)律的軟件過程改進(jìn)的途徑。CMM涵蓋了有關(guān)計(jì)劃、設(shè)計(jì)和管理軟件開發(fā)和維護(hù)的實(shí)踐,軟件機(jī)構(gòu)只要遵循這些實(shí)踐,就能夠提高該機(jī)構(gòu)的能力,以滿足成本、進(jìn)度計(jì)劃、功能及產(chǎn)品質(zhì)量等目標(biāo)。2023年2月2日第40頁15.3.3軟件能力成熟度模型(CMM)1)初始級(Initial)2)可重復(fù)級(Repeatable)3)已定義級(Defined)4)已管理級(Managed)5)優(yōu)化級(Optimizing)
圖15.9CMM模型的5個成熟級1.CMM的內(nèi)容2023年2月2日第41頁15.3.3軟件能力成熟度模型(CMM)表15.4軟件過程的可視性與各成熟度能力模型的比較2023年2月2日第42頁15.3.3軟件能力成熟度模型(CMM)2.關(guān)鍵過程域(KeyProcessArea,KPA)一系列相互影響的關(guān)鍵操作活動,這些活動反映一個軟件組織改進(jìn)軟件過程時,必須集中力量改進(jìn)的幾個方面2023年2月2日第43頁15.3.3軟件能力成熟度模型(CMM)3.CMM實(shí)施中應(yīng)注意的問題(1)剪裁的問題(2)ISO9000與CMM的關(guān)系(3)時間和效果的問題①CMM只是說明達(dá)到某一級別必須做的工作,并未說明如何實(shí)施②CMM費(fèi)用遠(yuǎn)大于實(shí)施ISO9000的費(fèi)用③實(shí)際一個管理過程的改進(jìn)是一步步實(shí)現(xiàn)的2023年2月2日第44頁15.3.4PSP、TSP和CMMI1.個體軟件過程(PersonalSoftwareProcess,PSP)PSP可以為基于個體和小型群組軟件過程的優(yōu)化提供具體而有效的途徑,PSP的著眼點(diǎn)在于軟件缺陷的預(yù)防2.小組軟件開發(fā)過程(TeamSoftwareProcess,TSP)TSP實(shí)施集體管理與自己管理相結(jié)合的原則,最終目的在于指導(dǎo)一切人員如何在最少的時間內(nèi),以預(yù)定的費(fèi)用生產(chǎn)出高質(zhì)量的軟件產(chǎn)品。2023年2月2日第45頁15.3.4PSP、TSP和CMMI3.能力成熟度集成模型(CapabilityMaturityModelIntegration,CMMI)SW-CMM(SoftwareCMM)軟件CMMSE-CMM(SystemEngineeringCMM)系統(tǒng)工程CMMSA-CMM(SoftwareAcquisitionCMM)軟件采購CMMIPT-CMM(IntegratedProductTeamCMM)集成產(chǎn)品群組CMMP-CMM(PeopleCMM)人力資源能力成熟度模型2023年2月2日第46頁15.3.4PSP、TSP和CMMICMMI為企業(yè)帶來價值主要體現(xiàn)在以下幾個方面:(1)能保證軟件開發(fā)的質(zhì)量與進(jìn)度,能對“雜亂無章、無序管理”的項(xiàng)目開發(fā)過程進(jìn)行規(guī)范(2)有利于成本控制(3)有助于提高軟件開發(fā)者的職業(yè)素養(yǎng)(4)能夠解決人員流動所帶來的問題(5)有利于提升公司和員工績效管理水平,以持續(xù)改進(jìn)效益2023年2月2日第47頁15.4.1敏捷及敏捷過程相關(guān)概念1.“敏捷過程”在軟件業(yè)中的提出2001年2月,17位“輕量級”軟件開發(fā)方法的創(chuàng)始人和專家(被稱為敏捷聯(lián)盟)共同簽署了“敏捷軟件開發(fā)宣言”,標(biāo)志著敏捷軟件開發(fā)正式出現(xiàn)。該宣言聲明:個體和交互勝過過程和工具可工作軟件勝過面面俱到的文檔客戶合作勝過合同談判響應(yīng)變化勝過遵循計(jì)劃2023年2月2日第48頁15.4.1敏捷及敏捷過程相關(guān)概念2.敏捷的概念敏捷軟件過程很容易適應(yīng)變化并迅速做出自我調(diào)整,在保證質(zhì)量的前提下,做到文檔、度量適度,適用于各類中小型軟件企業(yè)應(yīng)用。敏捷過程的適用范圍包括以下要求:軟件需求經(jīng)常變化或者需求變化比較大項(xiàng)目團(tuán)隊(duì)與用戶之間進(jìn)行溝通比較容易項(xiàng)目的開發(fā)風(fēng)險(xiǎn)比較高規(guī)模比較小,一般項(xiàng)目組成員在50人之內(nèi)項(xiàng)目團(tuán)隊(duì)的成員能力比較強(qiáng),而且具有責(zé)任感項(xiàng)目的可測試性比較好2023年2月2日第49頁15.4.1敏捷及敏捷過程相關(guān)概念3.敏捷宣言所遵循的12條原則(1)人們最優(yōu)先要做的是通過盡早地、持續(xù)地交付有價值的軟件來使客戶滿意。(2)即使到了開發(fā)的后期,也歡迎改變需求。敏捷過程利用變化來為客戶創(chuàng)造競爭優(yōu)勢。(3)經(jīng)常性的交付可以工作的軟件,交付的間隔可以從幾個星期到幾個月,交付的時間間隔越短越好。(4)在整個項(xiàng)目開發(fā)期間,業(yè)務(wù)人員和開發(fā)人員必須天天都在一起工作。(5)圍繞被激勵起來的個體來構(gòu)建項(xiàng)目。給它們提供所需的環(huán)境和支持,并且信任它們能夠完成工作。2023年2月2日第50頁15.4.1敏捷及敏捷過程相關(guān)概念(6)在團(tuán)隊(duì)內(nèi)部,最具有效果并且富有效率的傳遞信息的方法就是面對面的交談。(7)工作的軟件是首要的進(jìn)度度量標(biāo)準(zhǔn)。(8)敏捷過程提倡可持續(xù)的開發(fā)進(jìn)度。責(zé)任人、開發(fā)者和用戶應(yīng)保持一個長期恒定的開發(fā)速度。(9)不斷關(guān)注優(yōu)秀的技能和好的設(shè)計(jì)會增強(qiáng)敏捷能力。(10)簡單——使未完成的工作最大化的藝術(shù)——是根本的。(11)最好的構(gòu)架、需求和設(shè)計(jì)出自于自組織的團(tuán)隊(duì)。(12)每隔一定時間,團(tuán)隊(duì)會在如何才能更有效的工作方面進(jìn)行反省,然后相應(yīng)地對自己的行為進(jìn)行調(diào)整。2023年2月2日第51頁15.4.1敏捷及敏捷過程相關(guān)概念4.敏捷軟件過程的特性①輕載軟件過程(LightWeightSoftwareProcess)②基于時間③夠用就好(JustEnough)④并行⑤基于構(gòu)件的軟件工程敏捷軟件過程模型可定義如下:敏捷軟件過程模型=
功能模型+合作模型+資源模型+產(chǎn)品模型2023年2月2日第52頁15.4.2典型的敏捷過程模型敏捷過程模型:eXtremeProgramming(XP,極限編程)Scrum、DSDM(動態(tài),系統(tǒng)開發(fā)方法)自適應(yīng)軟件開發(fā)(AdaptiveSoftwareDevelopment,ASD)FeatureDrivenDevelopment(FDD,特性驅(qū)動開發(fā))CrystalFamily2023年2月2日第53頁15.4.2典型的敏捷過程模型1.極限編程(eXtremeProgramming,XP)XP的目標(biāo):在規(guī)定的時間生產(chǎn)出滿足客戶需要的軟件。XP方法主要適用于下述情況:需求不明確、變化快;風(fēng)險(xiǎn)較高(在特定時間內(nèi),面對一個相當(dāng)難開發(fā)的系統(tǒng));人數(shù)不超過10個的中小型團(tuán)隊(duì);開發(fā)地點(diǎn)適宜在集中的場合。XP體現(xiàn)4個價值目標(biāo):溝通、簡化、反饋和勇氣2023年2月2日第54頁15.4.2典型的敏捷過程模型圖15.10XP方法的開發(fā)過程2023年2月2日第55頁15.4.2典型的敏捷過程模型2.Scrum方法開發(fā)軟件就像是開發(fā)新產(chǎn)品,無法一開始就定義最終產(chǎn)品的規(guī)程,過程中需要研發(fā)、創(chuàng)意、嘗試錯誤,所以沒有一種固定的流程可以保證項(xiàng)目成功。Scrum開發(fā)團(tuán)隊(duì)通常由5~9(7±2)人組成。Scrum偏重項(xiàng)目管理,XP偏重編程實(shí)踐。2023年2月2日第56頁15.4.2典型的敏捷過程模型3.特征驅(qū)動開發(fā)(FeatureDrivenDevelopment,F(xiàn)DD)①領(lǐng)域?qū)ο蠼?。②按照特征開發(fā)。③類(代碼)擁有權(quán)。④特征小組。⑤審查。⑥定期構(gòu)造。⑦配置管理。⑧可視性進(jìn)度報(bào)告。
2023年2月2日第57頁15.4.2典型的敏捷過程模型FDD方法包括5個過程組成,如圖所示。2023年2月2日第58頁15.5Web軟件工程15.5.1Web軟件工程概述15.5.2Web軟件的需求分析15.5.3Web軟件的設(shè)計(jì)15.5.4Web軟件的測試2023年2月2日第59頁15.5.1Web軟件工程概述WebApp軟件幾乎具備下述所有屬性:(1)網(wǎng)絡(luò)密集性(NetworkIntensive)(2)訪問并發(fā)性(Concurrency)(3)工作負(fù)荷的跳躍性(Unpredictableload)(4)性能(Performance)要求苛刻(5)安全性(Security)要求苛刻(6)可用性(Availability)(7)數(shù)據(jù)驅(qū)動(Datadriven):(8)內(nèi)容敏感性(ContentSensitive)(9)持續(xù)演化(ContinuousEvolution)(10)即時性(Immediacy)(11)美觀性(Aesthetics)2023年2月2日第60頁15.5.1Web軟件工程概述Web工程過程整個Web工程過程的框架包括5個部分:(1)客戶交流階段(2)計(jì)劃階段(3)建模階段(4)構(gòu)建階段(5)部署階段Web工程方法一般包括如下4種:(1)交流方法:(2)需求分析方法(3)設(shè)計(jì)方法:(4)測試方法:2023年2月2日第61頁15.5.2Web軟件的需求分析根據(jù)Web工程的分析特點(diǎn),Web軟件的需求分析會有以下5種主要的模型類型:(1)內(nèi)容模型(2)交互模型(3)功能模型(4)配置模型(5)導(dǎo)航模型2023年2月2日第62頁15.5.3Web軟件的設(shè)計(jì)Web軟件的設(shè)計(jì)由需求分析階段所獲取的信息驅(qū)動,主要可分為6個步驟:(1)內(nèi)容設(shè)計(jì)利用內(nèi)容模型作為建立內(nèi)容對象設(shè)計(jì)的基礎(chǔ);(2)美學(xué)設(shè)計(jì)建立了最終用戶所關(guān)注的外觀和感覺;(3)架構(gòu)設(shè)計(jì)重點(diǎn)關(guān)注所有內(nèi)容對象和功能的總體超媒體結(jié)構(gòu);(4)界面設(shè)計(jì)創(chuàng)建了定義用戶界面的總體布局和交互機(jī)制;(5)導(dǎo)航設(shè)計(jì)定義了最終用戶對超媒體結(jié)構(gòu)的導(dǎo)航關(guān)系;(6)構(gòu)件設(shè)計(jì)表示了WebApp功能元素的詳細(xì)內(nèi)部結(jié)構(gòu)。這6個步驟分別會產(chǎn)生內(nèi)容、美學(xué)外觀、體系架構(gòu)、界面、導(dǎo)航和構(gòu)件,這些都是Web軟件設(shè)計(jì)階段的成果。2023年2月2日15.5.3Web軟件的設(shè)計(jì)WebApp設(shè)計(jì)的方法1.WebApp界面設(shè)計(jì)2.美學(xué)設(shè)計(jì)3.內(nèi)容設(shè)計(jì)4.體系結(jié)構(gòu)設(shè)計(jì):線性、網(wǎng)絡(luò)和層次5.導(dǎo)航設(shè)計(jì)6.構(gòu)件級設(shè)計(jì)2023年2月2日第64頁15.5.4Web軟件的測試測試和評價WebApp的質(zhì)量的原則:(1)內(nèi)容:句法、語義(2)功能(3)結(jié)構(gòu)(4)易用性(5)導(dǎo)航性(6)性能(7)兼容性(8)互操作性(9)安全性2023年2月2日第65頁15.6.1軟件產(chǎn)品線基本概念美國卡內(nèi)基梅隆大學(xué)軟件工程研究所(CMU/SEI)給出的定義:
“產(chǎn)品線是一個產(chǎn)品集合,這些產(chǎn)品共享一個公共的、可管理的特征集,這個特征集能滿足選定的
市場或任務(wù)領(lǐng)域的特定需求。這些系統(tǒng)遵循一個預(yù)
描述的方式,在公共的核心資產(chǎn)基礎(chǔ)上進(jìn)行開發(fā)?!?023年2月2日第66頁15.6.1軟件產(chǎn)品線基本概念軟件產(chǎn)品線的理論基礎(chǔ):特定領(lǐng)域(產(chǎn)品線)內(nèi)的相似產(chǎn)品具有大量的公共部分和特征,通過識別和描述這些公共部分和特征,可以開發(fā)需求規(guī)范、測試用例、軟件構(gòu)件等產(chǎn)品線的公共資源。典型的產(chǎn)品線開發(fā)過程包括兩個關(guān)鍵過程:領(lǐng)域工程應(yīng)用工程2023年2月2日第67頁15.6.1軟件產(chǎn)品線基本概念(1)領(lǐng)域工程主要任務(wù):通過識別給定領(lǐng)域或相似產(chǎn)品的公共結(jié)構(gòu)和特征,開發(fā)產(chǎn)品線內(nèi)產(chǎn)品的公共資源。領(lǐng)域工程包括3個階段:領(lǐng)域分析、領(lǐng)域設(shè)計(jì)、領(lǐng)域?qū)崿F(xiàn)。(2)應(yīng)用工程應(yīng)用工程是在領(lǐng)域工程生成的公共資源基礎(chǔ)上開發(fā)特定產(chǎn)品。在產(chǎn)品線應(yīng)用開發(fā)中,不僅僅考慮客戶需求,也要受產(chǎn)品線公共資源約束。應(yīng)用工程的3個階段:
需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)。2023年2月2日第68頁15.6.1軟件產(chǎn)品線基本概念軟件產(chǎn)品線的3大基本活動核心資產(chǎn)的開發(fā)利用核心資產(chǎn)的產(chǎn)品開發(fā)技術(shù)和組織管。2023年2月2日第69頁15.6.1軟件產(chǎn)品線基本概念產(chǎn)品線的雙生存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車間物品帶出帶出制度
- 財(cái)務(wù)返款制度
- 企業(yè)數(shù)字化轉(zhuǎn)型-基于IPD流程管理的研發(fā)體系
- 2025年貴州財(cái)經(jīng)職業(yè)學(xué)院筆試及答案
- 2025年濟(jì)陽中醫(yī)院護(hù)理筆試題及答案
- 2025年云南廣播電視臺筆試題及答案
- 2025年聊城年事業(yè)單位考試真題及答案
- 2025年沈陽理工自動化筆試及答案
- 2025年大豐市人民醫(yī)院護(hù)士筆試及答案
- 2026年高中歷史知識點(diǎn)精講與模擬題
- 山東省濟(jì)南市2025-2026年高三上第一次模擬考試生物+答案
- 寒假蓄力一模沖刺+課件-2025-2026學(xué)年高三上學(xué)期寒假規(guī)劃班會課
- 2026年廣州中考政治真題變式訓(xùn)練試卷(附答案可下載)
- 2026國家國防科技工業(yè)局所屬事業(yè)單位第一批招聘62人備考題庫及參考答案詳解1套
- 2025-2026學(xué)年天津市河?xùn)|區(qū)八年級(上)期末英語試卷
- 2026馬年開學(xué)第一課:策馬揚(yáng)鞭啟新程
- 2025年初中初一語文基礎(chǔ)練習(xí)
- 2026年中央網(wǎng)信辦直屬事業(yè)單位-國家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心校園招聘備考題庫參考答案詳解
- 老友記電影第十季中英文對照劇本翻譯臺詞
- 2025年黑龍江省大慶市檢察官逐級遴選筆試題目及答案
- 國保秘密力量工作課件
評論
0/150
提交評論