版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2023年2月2日第1頁第15章軟件工程新技術(shù)本章內(nèi)容結(jié)構(gòu)本章引言學(xué)習(xí)目標教學(xué)內(nèi)容本章小結(jié)思考和練習(xí)本章引言軟件工程領(lǐng)域研究使用的新技術(shù):迭代開發(fā),以時間換空間,消除市場風(fēng)險。敏捷開發(fā)或輕量級過程,以不變應(yīng)萬變。永遠的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í)目標掌握軟件復(fù)用的概念、分類、關(guān)鍵技術(shù)及復(fù)用粒度理解基于構(gòu)件的軟件工程技術(shù)的相關(guān)概念及應(yīng)用理解軟件過程和標準化的作用及應(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軟件過程與標準化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è)計的軟件”的過程。實施軟件復(fù)用的目的:要使軟件開發(fā)工作進行得更快、更好、更省。軟件復(fù)用與共享、軟件移植的區(qū)別:共享:是在一個系統(tǒng)中多次使用一個相同的軟件成分軟件移值:對一個軟件進行修改,使它運行于新的軟硬件平臺2023年2月2日第6頁15.1.1軟件復(fù)用概念及分類(1)依據(jù)復(fù)用的對象分類產(chǎn)品復(fù)用、過程復(fù)用(2)依據(jù)對可復(fù)用信息進行復(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ù)用粒度實現(xiàn)軟件復(fù)用的關(guān)鍵技術(shù)因素:軟件構(gòu)件技術(shù)、領(lǐng)域工程、軟件構(gòu)架技術(shù)、軟件再工程技術(shù)、開放系統(tǒng)技術(shù)、軟件過程、CASE技術(shù)等。軟件復(fù)用的非技術(shù)因素:機構(gòu)組織如何適應(yīng)復(fù)用的需求;管理方法如何適應(yīng)復(fù)用的需求;開發(fā)人員知識的更新;創(chuàng)造性和工程化的關(guān)系;開發(fā)人員的心理障礙;知識產(chǎn)權(quán)問題;保守商業(yè)秘密的問題;復(fù)用前期投入的經(jīng)濟考慮;標準化問題等。
2023年2月2日第9頁15.2.1中間件技術(shù)中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源;中間件位于客戶機/服務(wù)器的操作系統(tǒng)之上,管理計算資源和網(wǎng)絡(luò)通信。圖15.1中間件概念2023年2月2日第10頁15.2.1中間件技術(shù)圖15.2中間件在應(yīng)用系統(tǒng)中的位置中間件的作用:建立分布式軟件模塊之間互操作的機制,屏蔽底層分布式環(huán)境的復(fù)雜性和異構(gòu)性,為處于自己上層的應(yīng)用軟件提供運行與開發(fā)環(huán)境,幫助用戶靈活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。2023年2月2日第11頁15.2.1中間件技術(shù)1.中間件要解決的問題(1)應(yīng)用的互連和互操作問題(2)針對不同的應(yīng)用領(lǐng)域,對中間件又有各種不同的要求中間件具有以下特點:滿足大量應(yīng)用的需要;運行于多種硬件和操作系統(tǒng)平臺;支持分布式計算;提供跨網(wǎng)絡(luò)、硬件和操作系統(tǒng)平臺的透明性;支持標準的協(xié)議和接口。2023年2月2日第12頁15.2.1中間件技術(shù)2.中間件的分類(1)根據(jù)中間件具有的功能和所提供的服務(wù)面向?qū)ο笾虚g件、消息中間件、容錯中間件、反射中間件(2)基于IDC分類方法終端仿真/屏幕轉(zhuǎn)換、數(shù)據(jù)訪問中間件遠程過程調(diào)用中間件、消息中間件交易中間件、基于對象請求代理(ORB)中間件2023年2月2日第13頁15.2.1中間件技術(shù)3.中間件的發(fā)展及認識度早期的中間件市場中事務(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í)行單元,可以通過獨立的開發(fā)、購買和配置組合到一個功能系統(tǒng)中去,是軟件系統(tǒng)內(nèi)被標識、符合某種標準要求并可復(fù)用的軟件組成成分,類似于傳統(tǒng)工業(yè)中的零部件。從廣義上來講,構(gòu)件可以是被封裝的對象類、類簇、一些功能模塊、構(gòu)件框架或構(gòu)架、文檔、分析件、設(shè)計模式等;從狹義上來說,一般指對外提供的具有規(guī)約化接口、符合一定標準、可替換的軟件系統(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)件:具有相對獨立功能和可復(fù)用價值的構(gòu)件。構(gòu)件化的軟件開發(fā)方法是一種將一個完整系統(tǒng)看作是若干個獨立部分(構(gòu)件)組裝的軟件開發(fā)方法,每一部分是一個可重用的單元,通過替換和重新配置來完成軟件的升級。2023年2月2日第16頁15.2.3構(gòu)件模型及描述語言兩個主要的構(gòu)件描述模型:Tracz提出的3C模型:主要用于對構(gòu)件的可重用信息進行描述,
Component=(Concept,Content,Context)REBOOT項目中提出的REBOOT(ReuseBasedonObjectOrientedTechniques)模型:主要用于對可重用構(gòu)件進行分類與檢索,它與構(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)成的三維空間中的一個點。構(gòu)件形態(tài):類、類樹、框架、設(shè)計模式、體系結(jié)構(gòu);構(gòu)件層次:分析件、設(shè)計件、編碼件、測試件構(gòu)件的表示與層次有關(guān),不同層次的構(gòu)件具有不同的表示媒介和手段,如圖形、復(fù)合文檔、正文、偽碼、編程語言、目標碼等。青鳥構(gòu)件模型從9個方面來描述構(gòu)件,即概念、操作規(guī)約、接口、類型、實現(xiàn)體、構(gòu)件復(fù)合、構(gòu)件性質(zhì)、構(gòu)件注釋、構(gòu)件語境。2023年2月2日第18頁15.2.3構(gòu)件模型及描述語言構(gòu)件實現(xiàn)模型標準:CORBA、COM/DCOM/COM+、JavaBeans/EJB基本思想:第一,采用將構(gòu)件的接口和實現(xiàn)相分離的原則;第二,采用黑盒重用的方式,外界僅可以通過構(gòu)件的接口來訪問構(gòu)件的功能;第三,在實現(xiàn)方法上都使用接口描述語言(InterfaceDescriptionLanguage,IDL)進行構(gòu)件接口定義,利用相應(yīng)的中間件作為支持該構(gòu)件模型的運行時環(huán)境,從而達到由不同的編程語言所實現(xiàn)、運行在不同的操作系統(tǒng)環(huán)境中及在不同主機上的構(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+是一種當然的選擇;CORBA是由OMG組織提出的,它的標準是開放的,并且OMG成員廣泛,所以CORBA最具普遍性,是異構(gòu)環(huán)境中的理想選擇;在Internet和移動計算(如手機)中,Java是普遍采用的一種技術(shù),因此JavaBeans/EJB在這類Internet和移動計算應(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重點討論了信息科學(xué)方法,因為這是實際復(fù)用項目中,應(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)它們的行為,把它們組織成為一個有機的整體。構(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ù)組裝場景的不同分類不同的組裝層次:源代碼級的組裝、運行級組裝不同的組裝模式靜態(tài)組裝:設(shè)計時的組裝。動態(tài)組裝:運行時的組裝。(2)按照構(gòu)件在組裝之前需要對構(gòu)件內(nèi)部細節(jié)了解的程度及是否需要進行修改、封裝黑盒組裝方式、白盒組裝方式和灰盒組裝方式2023年2月2日第26頁15.2.4構(gòu)件的檢索與組裝4.構(gòu)件組裝的實現(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ǔ),強調(diào)軟件重用的作用,在軟件體系結(jié)構(gòu)設(shè)計的基礎(chǔ)上,使用可復(fù)用的軟件“構(gòu)件”來設(shè)計和構(gòu)造基于計算機的系統(tǒng)過程?;跇?gòu)件的開發(fā)(CBD,Component-BasedDevelopment):是一個與領(lǐng)域活動并行的CBSE活動。為了實現(xiàn)軟件重用,基于構(gòu)件的軟件工程強調(diào)領(lǐng)域工程與軟件工程同步進行。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è)計成通用的軟件模塊,有些設(shè)計成面向?qū)ο蟮念惢蜍浖?。圖15.5基于構(gòu)件的開發(fā)模型2023年2月2日第30頁15.2.5基于構(gòu)件的軟件工程方法基于構(gòu)件的開發(fā)模型可以由以下步驟組成(采用演進方法):(1)對于該問題領(lǐng)域的基于構(gòu)件的可用產(chǎn)品進行研究和評估(2)考慮構(gòu)件集成的問題(3)設(shè)計軟件架構(gòu)以容納這些構(gòu)件(4)將構(gòu)件集成到架構(gòu)中(5)進行充分的測試以保證功能正常2023年2月2日第31頁15.2.5基于構(gòu)件的軟件工程方法基于構(gòu)件的開發(fā)模型存在的問題:(1)構(gòu)件的信賴度問題(2)構(gòu)件認證(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ù),從而保護了現(xiàn)有的IT基礎(chǔ)建設(shè)投資。圖15.6面向服務(wù)的分析與設(shè)計原理示意圖2023年2月2日第33頁15.2.6SOA與SaaSSOA模型的典型特征:松散耦合、粗粒度服務(wù)和標準化接口SOA的設(shè)計實踐原則:業(yè)務(wù)驅(qū)動服務(wù),服務(wù)驅(qū)動技術(shù);業(yè)務(wù)敏捷是基本的業(yè)務(wù)需求。SOA的目標:最大限度地重用現(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)通常叫做軟件運營服務(wù)模式,簡稱為軟營模式:是一種通過Internet提供軟件的模式,廠商將應(yīng)用軟件統(tǒng)一部署在自己的服務(wù)器上,客戶可以根據(jù)自己實際需求,通過互聯(lián)網(wǎng)向廠商訂購所需的應(yīng)用軟件服務(wù),按訂購的服務(wù)多少和時間長短向廠商支付費用,并通過互聯(lián)網(wǎng)獲得廠商提供的服務(wù)。2023年2月2日第36頁15.3軟件過程與標準化軟件過程:軟件生存周期中,將用戶需求轉(zhuǎn)化為可執(zhí)行系統(tǒng)的演化過程所進行的軟件工程活動的全體,是用于生產(chǎn)軟件產(chǎn)品的工具、方法和實踐的集合。軟件過程技術(shù)的目標:通過工程化、標準化和形式化的方法管理軟件的開發(fā)過程,從而改變目前的軟件生產(chǎn)方式,實現(xiàn)大規(guī)模的軟件生產(chǎn)。軟件過程的研究:主要針對軟件生產(chǎn)和管理,不僅要有工程觀點,還要有系統(tǒng)觀點、管理觀點、運行觀點和用戶觀點。2023年2月2日第37頁15.3.1軟件過程及其改進軟件過程改進:在軟件過程活動中,為了更有效地達到優(yōu)化軟件過程的目的所實施的改善或改變其軟件過程的系列活動。軟件過程改進主要包括以下幾個關(guān)鍵步驟:①對比目前的狀態(tài)和期望達到的狀態(tài),找出存在的差距②確定要改變哪些差距,需要改變到什么程度③制定相應(yīng)的具體實施計劃2023年2月2日第38頁15.3.2ISO9000標準ISO9000是國際標準化組織ISO制定的世界上第一套質(zhì)量管理和質(zhì)量保證標準,主要目的是為了滿足國際貿(mào)易中對質(zhì)量管理和質(zhì)量保證需要有共同語言和共同準則的需要。表15.3ISO9000標準體系2023年2月2日第39頁15.3.3軟件能力成熟度模型(CMM)CMM(CapabilityMaturityModel)是卡內(nèi)基梅隆大學(xué)軟件工程研究院SEI受美國國防部委托制定的軟件過程的改良、評估模型,也稱為SEISW-CMM(SoftwareEngineeringInstituteSoftware-CapabilityMaturityModel)。該模型于1991年發(fā)布,并發(fā)展成為系列標準模型,描述了有效的軟件過程單元的框架,為軟件機構(gòu)提供了一條從混亂的、不成熟的軟件過程向成熟的、有紀律的軟件過程改進的途徑。CMM涵蓋了有關(guān)計劃、設(shè)計和管理軟件開發(fā)和維護的實踐,軟件機構(gòu)只要遵循這些實踐,就能夠提高該機構(gòu)的能力,以滿足成本、進度計劃、功能及產(chǎn)品質(zhì)量等目標。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)鍵操作活動,這些活動反映一個軟件組織改進軟件過程時,必須集中力量改進的幾個方面2023年2月2日第43頁15.3.3軟件能力成熟度模型(CMM)3.CMM實施中應(yīng)注意的問題(1)剪裁的問題(2)ISO9000與CMM的關(guān)系(3)時間和效果的問題①CMM只是說明達到某一級別必須做的工作,并未說明如何實施②CMM費用遠大于實施ISO9000的費用③實際一個管理過程的改進是一步步實現(xiàn)的2023年2月2日第44頁15.3.4PSP、TSP和CMMI1.個體軟件過程(PersonalSoftwareProcess,PSP)PSP可以為基于個體和小型群組軟件過程的優(yōu)化提供具體而有效的途徑,PSP的著眼點在于軟件缺陷的預(yù)防2.小組軟件開發(fā)過程(TeamSoftwareProcess,TSP)TSP實施集體管理與自己管理相結(jié)合的原則,最終目的在于指導(dǎo)一切人員如何在最少的時間內(nèi),以預(yù)定的費用生產(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ì)量與進度,能對“雜亂無章、無序管理”的項目開發(fā)過程進行規(guī)范(2)有利于成本控制(3)有助于提高軟件開發(fā)者的職業(yè)素養(yǎng)(4)能夠解決人員流動所帶來的問題(5)有利于提升公司和員工績效管理水平,以持續(xù)改進效益2023年2月2日第47頁15.4.1敏捷及敏捷過程相關(guān)概念1.“敏捷過程”在軟件業(yè)中的提出2001年2月,17位“輕量級”軟件開發(fā)方法的創(chuàng)始人和專家(被稱為敏捷聯(lián)盟)共同簽署了“敏捷軟件開發(fā)宣言”,標志著敏捷軟件開發(fā)正式出現(xiàn)。該宣言聲明:個體和交互勝過過程和工具可工作軟件勝過面面俱到的文檔客戶合作勝過合同談判響應(yīng)變化勝過遵循計劃2023年2月2日第48頁15.4.1敏捷及敏捷過程相關(guān)概念2.敏捷的概念敏捷軟件過程很容易適應(yīng)變化并迅速做出自我調(diào)整,在保證質(zhì)量的前提下,做到文檔、度量適度,適用于各類中小型軟件企業(yè)應(yīng)用。敏捷過程的適用范圍包括以下要求:軟件需求經(jīng)常變化或者需求變化比較大項目團隊與用戶之間進行溝通比較容易項目的開發(fā)風(fēng)險比較高規(guī)模比較小,一般項目組成員在50人之內(nèi)項目團隊的成員能力比較強,而且具有責(zé)任感項目的可測試性比較好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)在整個項目開發(fā)期間,業(yè)務(wù)人員和開發(fā)人員必須天天都在一起工作。(5)圍繞被激勵起來的個體來構(gòu)建項目。給它們提供所需的環(huán)境和支持,并且信任它們能夠完成工作。2023年2月2日第50頁15.4.1敏捷及敏捷過程相關(guān)概念(6)在團隊內(nèi)部,最具有效果并且富有效率的傳遞信息的方法就是面對面的交談。(7)工作的軟件是首要的進度度量標準。(8)敏捷過程提倡可持續(xù)的開發(fā)進度。責(zé)任人、開發(fā)者和用戶應(yīng)保持一個長期恒定的開發(fā)速度。(9)不斷關(guān)注優(yōu)秀的技能和好的設(shè)計會增強敏捷能力。(10)簡單——使未完成的工作最大化的藝術(shù)——是根本的。(11)最好的構(gòu)架、需求和設(shè)計出自于自組織的團隊。(12)每隔一定時間,團隊會在如何才能更有效的工作方面進行反省,然后相應(yīng)地對自己的行為進行調(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的目標:在規(guī)定的時間生產(chǎn)出滿足客戶需要的軟件。XP方法主要適用于下述情況:需求不明確、變化快;風(fēng)險較高(在特定時間內(nèi),面對一個相當難開發(fā)的系統(tǒng));人數(shù)不超過10個的中小型團隊;開發(fā)地點適宜在集中的場合。XP體現(xiàn)4個價值目標:溝通、簡化、反饋和勇氣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)意、嘗試錯誤,所以沒有一種固定的流程可以保證項目成功。Scrum開發(fā)團隊通常由5~9(7±2)人組成。Scrum偏重項目管理,XP偏重編程實踐。2023年2月2日第56頁15.4.2典型的敏捷過程模型3.特征驅(qū)動開發(fā)(FeatureDrivenDevelopment,F(xiàn)DD)①領(lǐng)域?qū)ο蠼!"诎凑仗卣鏖_發(fā)。③類(代碼)擁有權(quán)。④特征小組。⑤審查。⑥定期構(gòu)造。⑦配置管理。⑧可視性進度報告。
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è)計15.5.4Web軟件的測試2023年2月2日第59頁15.5.1Web軟件工程概述WebApp軟件幾乎具備下述所有屬性:(1)網(wǎng)絡(luò)密集性(NetworkIntensive)(2)訪問并發(fā)性(Concurrency)(3)工作負荷的跳躍性(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)計劃階段(3)建模階段(4)構(gòu)建階段(5)部署階段Web工程方法一般包括如下4種:(1)交流方法:(2)需求分析方法(3)設(shè)計方法:(4)測試方法:2023年2月2日第61頁15.5.2Web軟件的需求分析根據(jù)Web工程的分析特點,Web軟件的需求分析會有以下5種主要的模型類型:(1)內(nèi)容模型(2)交互模型(3)功能模型(4)配置模型(5)導(dǎo)航模型2023年2月2日第62頁15.5.3Web軟件的設(shè)計Web軟件的設(shè)計由需求分析階段所獲取的信息驅(qū)動,主要可分為6個步驟:(1)內(nèi)容設(shè)計利用內(nèi)容模型作為建立內(nèi)容對象設(shè)計的基礎(chǔ);(2)美學(xué)設(shè)計建立了最終用戶所關(guān)注的外觀和感覺;(3)架構(gòu)設(shè)計重點關(guān)注所有內(nèi)容對象和功能的總體超媒體結(jié)構(gòu);(4)界面設(shè)計創(chuàng)建了定義用戶界面的總體布局和交互機制;(5)導(dǎo)航設(shè)計定義了最終用戶對超媒體結(jié)構(gòu)的導(dǎo)航關(guān)系;(6)構(gòu)件設(shè)計表示了WebApp功能元素的詳細內(nèi)部結(jié)構(gòu)。這6個步驟分別會產(chǎn)生內(nèi)容、美學(xué)外觀、體系架構(gòu)、界面、導(dǎo)航和構(gòu)件,這些都是Web軟件設(shè)計階段的成果。2023年2月2日15.5.3Web軟件的設(shè)計WebApp設(shè)計的方法1.WebApp界面設(shè)計2.美學(xué)設(shè)計3.內(nèi)容設(shè)計4.體系結(jié)構(gòu)設(shè)計:線性、網(wǎng)絡(luò)和層次5.導(dǎo)航設(shè)計6.構(gòu)件級設(shè)計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ǔ)上進行開發(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è)計、領(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è)計、系統(tǒng)實現(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024瀝青采購合同
- 2023-2024學(xué)年人教版(2015)小學(xué)信息技術(shù)四年級下冊文字處理初嘗試(說課稿)
- 2024某影視公司與某廣告公司關(guān)于影視植入廣告服務(wù)的合同
- 1 《沁園春·長沙》 (說課稿)-2024-2025學(xué)年高一語文同步說課稿與知識梳理(統(tǒng)編版必修上冊)
- 5G網(wǎng)絡(luò)建設(shè)與優(yōu)化協(xié)議
- 2024年革新版:基于VR技術(shù)的虛擬物流培訓(xùn)服務(wù)合同
- 2024陜西餐飲業(yè)勞動合同范本及服務(wù)條款3篇
- 2《學(xué)會溝通交流》第1課時說課稿-2024-2025學(xué)年道德與法治五年級上冊統(tǒng)編版
- 11變廢為寶有妙招(說課稿)-部編版道德與法治四年級上冊
- 2025年度文化產(chǎn)業(yè)融合發(fā)展合同補充協(xié)議3篇
- 2025年北京生命科技研究院招聘筆試參考題庫含答案解析
- 三年級數(shù)學(xué)寒假作業(yè)每日一練30天
- 二年級數(shù)學(xué)上冊100道口算題大全 (每日一套共26套)
- 物流無人機垂直起降場選址與建設(shè)規(guī)范
- 藥品庫存清單(2015年)
- 上海市臨床營養(yǎng)質(zhì)控手冊范本
- 中學(xué)生核心素養(yǎng)中學(xué)生天文科技素養(yǎng)調(diào)查研究報告
- 部分常用巖土經(jīng)驗值
- 薩克斯曲譜回家
- 焊接變位機的設(shè)計畢業(yè)設(shè)計
- 設(shè)計技術(shù)服務(wù)方案(投標用)
評論
0/150
提交評論