計(jì)算機(jī)軟件工程 課件_第1頁
計(jì)算機(jī)軟件工程 課件_第2頁
計(jì)算機(jī)軟件工程 課件_第3頁
計(jì)算機(jī)軟件工程 課件_第4頁
計(jì)算機(jī)軟件工程 課件_第5頁
已閱讀5頁,還剩121頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第11章軟件工程管理管理的目的與內(nèi)容軟件估算模型軟件成本估計(jì)人員的分配與組織項(xiàng)目進(jìn)度安排軟件知識產(chǎn)權(quán)保護(hù)1第11章軟件工程管理管理的目的與內(nèi)容1管理的目的與內(nèi)容目的按預(yù)定的時間和費(fèi)用,完成軟件的計(jì)劃、開發(fā)和維護(hù)內(nèi)容費(fèi)用管理估算軟件的開發(fā)費(fèi)用管理開發(fā)費(fèi)用的有效使用質(zhì)量管理(包括配置管理)項(xiàng)目的其它管理項(xiàng)目進(jìn)度安排人員的分配與組織2管理的目的與內(nèi)容目的2軟件估算模型靜態(tài)單變量資源模型Putnam資源模型COCOMO模型3軟件估算模型靜態(tài)單變量資源模型3靜態(tài)單變量資源模型資源=c1x(估計(jì)的軟件特征)c2資源開發(fā)工作量(E)、開發(fā)時間(T)或開發(fā)人數(shù)(P)估計(jì)的軟件特征源程序長度(L)或軟件工作量(E)c1,c2依賴于開發(fā)環(huán)境和軟件應(yīng)用領(lǐng)域的常數(shù)4靜態(tài)單變量資源模型資源=c1x(估計(jì)的軟件特征)c2Putnam資源模型L=cK1/3T4/3或K=L3/(c3T4)L(行):源程序長度T(年):開發(fā)時間K(人-年):全生存期工作量c:與開發(fā)環(huán)境有關(guān)的常數(shù)5Putnam資源模型L=cK1/3T4/3或K=COCOMO模型COnstructiveCOstMOdel以靜態(tài)單變量模型為基礎(chǔ)將軟件分類:組織半獨(dú)立嵌入增加工作量調(diào)節(jié)因子6COCOMO模型COnstructiveCOstMOde不同類型軟件的COCOMO模型

軟件類別模型方程適用范圍組織型E=3.2×L1.05T=2.5×E0.38高級語言應(yīng)用程序,如科學(xué)計(jì)算,數(shù)據(jù)處理企業(yè)管理程序等半獨(dú)立型E=3.0×L1.12T=2.5×E0.35大多數(shù)實(shí)用程序,如編輯程序、連接程序編輯程序等嵌入型E=2.8×L1.20T=2.5×E0.32與硬件關(guān)系密切的系統(tǒng)程序,如操作系統(tǒng)數(shù)據(jù)庫管理系統(tǒng),實(shí)時處理與控制程序等7不同類型軟件的COCOMO模型軟件類別模型方程適調(diào)節(jié)因子和它的值范圍

屬性調(diào)節(jié)因子調(diào)節(jié)值范圍例13.1中使用的值產(chǎn)品屬性要求的可靠性等級數(shù)據(jù)庫規(guī)模產(chǎn)品復(fù)雜度0.75-1.400.94-1.160.70-1.651.000.941.30計(jì)算機(jī)屬性對程序執(zhí)行時間的約束對程序占用存儲容量的約束開發(fā)環(huán)境的變動開發(fā)環(huán)境的響應(yīng)時間1.00-1.661.0

-1.560.87-1.300.87-1.151.111.061.001.00人員屬性分析員水平程序員水平對應(yīng)用領(lǐng)域的熟悉程度對開發(fā)環(huán)境的熟悉程度對所用語言的熟悉程度1.46-0.711.42-0.701.29-0.821.21-0.901.14-0.950.860.861.001.101.00項(xiàng)目屬性開發(fā)方法的現(xiàn)代化軟件工具的數(shù)質(zhì)量完成時間的限制1.24-0.821.24-0.831.23-1.100.911.101.008調(diào)節(jié)因子和它的值范圍屬性調(diào)節(jié)因子調(diào)節(jié)值范圍例13.1中產(chǎn)要軟件成本估計(jì)自頂向下成本估計(jì)由底向上成本估計(jì)算法模型估計(jì)9軟件成本估計(jì)自頂向下成本估計(jì)9自頂向下成本估計(jì)首先估算總成本然后在項(xiàng)目內(nèi)部進(jìn)行成本分配特爾斐Delphi法多個專家各自填表綜合專家意見,摘要通知大家開始新一輪估計(jì)多次反復(fù),直到專家意見接近10自頂向下成本估計(jì)首先估算總成本10由底向上成本估算先將開發(fā)任務(wù)分解為許多子任務(wù)子任務(wù)分成子子任務(wù)估計(jì)各個任務(wù)單元的成本匯合成項(xiàng)目總成本11由底向上成本估算先將開發(fā)任務(wù)分解為許多子任務(wù)11算法模型估計(jì)算法模型就是資源模型由歷史數(shù)據(jù)導(dǎo)出選擇適用的模型模型估計(jì)法與自頂向下估計(jì)或由底向上估計(jì)結(jié)合使用12算法模型估計(jì)算法模型就是資源模型12人員的分配與組織Rayleigh-Norden曲線兩條重要定律人員組織13人員的分配與組織Rayleigh-Norden曲線13Rayleigh-Norden曲線①②③td

t人力①浪費(fèi)的人力②不足的人力③過晚的人力14Rayleigh-Norden曲線①②③tdt人力兩條重要的定律人員-時間權(quán)衡定律Brooks定律向一個已經(jīng)延晚的項(xiàng)目追加開發(fā)人員,可能使它完成得更晚E=常數(shù)/(T或td)4

15兩條重要的定律人員-時間權(quán)衡定律E=常數(shù)/(T或td)41人員組織層次型組織結(jié)構(gòu)軟件經(jīng)理項(xiàng)目經(jīng)理開發(fā)小組民主開發(fā)小組無我程序設(shè)計(jì)主程序員小組一元化領(lǐng)導(dǎo)主程序員分配工作主程序員決定重大問題16人員組織層次型組織結(jié)構(gòu)16項(xiàng)目進(jìn)度安排計(jì)劃評審技術(shù)建立PERT圖找出關(guān)鍵路徑標(biāo)出最遲開始時間PERT圖的使用Gannt圖17項(xiàng)目進(jìn)度安排計(jì)劃評審技術(shù)17PERT圖例子測試數(shù)據(jù)2編碼4產(chǎn)品測試4測試軟件6測試計(jì)劃2起點(diǎn)分析終點(diǎn)文檔2設(shè)計(jì)418PERT圖例子測試編碼產(chǎn)品測試測試起點(diǎn)分析終點(diǎn)文檔設(shè)計(jì)18關(guān)鍵路徑編碼4產(chǎn)品測試4測試軟件6測試數(shù)據(jù)2測試計(jì)劃2起點(diǎn)終點(diǎn)文檔2設(shè)計(jì)4分析3(0,0)(0,3)(0,2)(3,5)(2,8)(3,7)(7,9)(7,11)(15,15)(11,15)19關(guān)鍵路徑編碼產(chǎn)品測試測試數(shù)據(jù)2測試起點(diǎn)終點(diǎn)文檔設(shè)計(jì)分析(0,第12章軟件質(zhì)量管理從質(zhì)量保證到質(zhì)量認(rèn)證質(zhì)量保證軟件可靠性程序正確性證明CMM軟件能力成熟度模型ISO9000國際標(biāo)準(zhǔn)軟件度量20第12章軟件質(zhì)量管理從質(zhì)量保證到質(zhì)量認(rèn)證20從軟件質(zhì)量保證到質(zhì)量認(rèn)證

質(zhì)量管理的三個階段質(zhì)量檢驗(yàn)全面質(zhì)量管理TQC質(zhì)量認(rèn)證CMM軟件能力成熟度模型

ISO9000國際標(biāo)準(zhǔn)

21從軟件質(zhì)量保證到質(zhì)量認(rèn)證質(zhì)量管理的三個階段21質(zhì)量保證軟件的質(zhì)量屬性功能性可靠性易用性效率可維護(hù)性可移植性質(zhì)量保證的活動內(nèi)容22質(zhì)量保證軟件的質(zhì)量屬性22質(zhì)量保證的活動內(nèi)容復(fù)審:計(jì)劃與開發(fā)方法:設(shè)計(jì)、編碼…控制:軟件配置軟件測試23質(zhì)量保證的活動內(nèi)容復(fù)審:計(jì)劃與開發(fā)方法:設(shè)計(jì)、編碼…控制:軟件可靠性可靠性的定義和分級定義:在給定的時間內(nèi),程序按照規(guī)定的條件成功地運(yùn)行的概率可靠性等級可靠性模型軟件容錯技術(shù)24軟件可靠性可靠性的定義和分級24可靠性分級表分級故障的后果開發(fā)工作量比例因子甚低低正常高甚高工作略有不便有損失,但容易彌補(bǔ)彌補(bǔ)損失比較困難重大的經(jīng)濟(jì)損失危及人的生命0.750.881.001.151.4025可靠性分級表分級故障的后果開發(fā)工作量比例因子甚低工作略有不便可靠性模型正比于遺留故障數(shù)的宏觀模型平均故障時間模型(MTTF模型)錯誤植入模型26可靠性模型正比于遺留故障數(shù)的宏觀模型26軟件容錯技術(shù)容錯軟件(有抗故障功能的軟件)屏蔽錯誤修復(fù)錯誤減少影響冗余技術(shù)結(jié)構(gòu)冗余時間冗余信息冗余容錯軟件的設(shè)計(jì)27軟件容錯技術(shù)容錯軟件(有抗故障功能的軟件)27靜態(tài)冗余結(jié)構(gòu)和動態(tài)冗余結(jié)構(gòu)M1M2M3VM1M2MnI

U

u1

u2

u3

I

主模塊

備用

備用

…………28靜態(tài)冗余結(jié)構(gòu)和動態(tài)冗余結(jié)構(gòu)M1M2M3VM1M2MnIU容錯軟件設(shè)計(jì)建立需求說明,設(shè)計(jì)軟件的非容錯結(jié)構(gòu)分析錯誤類型確定容錯范圍確定采用的冗余技術(shù),修改結(jié)構(gòu)評估容錯效果29容錯軟件設(shè)計(jì)建立需求說明,設(shè)計(jì)分析錯誤類型確定采用的冗余評估程序正確性證明用數(shù)學(xué)的方法,證明程序具有某些性質(zhì)S…P{P}S{R}…R30程序正確性證明用數(shù)學(xué)的方法,證明程序具有某些性質(zhì)S…PCMM軟件能力成熟度模型CMM的基本概念軟件過程關(guān)鍵過程域CMM模型5級,18個關(guān)鍵過程域,52個過程目標(biāo),316種關(guān)鍵實(shí)踐31CMM軟件能力成熟度模型CMM的基本概念31過程能力等級特點(diǎn)關(guān)鍵過程域1.初始級(Initial)軟件過程是無序的,對過程幾乎沒有定義,成功取決于個人的努力。管理是消防隊(duì)救火式的。

2.可重復(fù)級(Repeatable)建立了基本的項(xiàng)目管理過程來跟蹤費(fèi)用、進(jìn)度和功能特性。制定了必要的過程規(guī)則和紀(jì)律,能重復(fù)早先類似應(yīng)用項(xiàng)目取得的成功。需求管理軟件項(xiàng)目策劃軟件項(xiàng)目跟蹤和監(jiān)督軟件子合同管理軟件質(zhì)量保證軟件配置管理3.已定義級(Defined)已將軟件管理和工程兩個方面的過程文檔化、標(biāo)準(zhǔn)化,并綜合成該組織的標(biāo)準(zhǔn)軟件過程。所有項(xiàng)目均使用經(jīng)過批準(zhǔn)、剪裁的標(biāo)準(zhǔn)軟件過程來開發(fā)和維護(hù)軟件。組織過程定義組織過程焦點(diǎn)培訓(xùn)大綱集成軟件管理軟件產(chǎn)品工程組際協(xié)調(diào)同行專家評審4.已管理級(Managed)收集對軟件過程和產(chǎn)品質(zhì)量的詳細(xì)度量,對軟件過程和產(chǎn)品都有定量的理解和控制。定量的過程管理軟件質(zhì)量管理5.優(yōu)化級(Optimizing)過程的量化反饋和先進(jìn)的新思想、新技術(shù)促使過程不斷改進(jìn)。缺陷預(yù)防技術(shù)變更管理過程變更管理32過程能力等級特點(diǎn)關(guān)鍵過程域1.初始級(Initial)CMM應(yīng)用能力評估軟件過程評估軟件能力評價過程改善引用CMM關(guān)鍵實(shí)踐改善本機(jī)構(gòu)的軟件過程33CMM應(yīng)用能力評估33ISO9000國際標(biāo)準(zhǔn)質(zhì)量術(shù)語標(biāo)準(zhǔn)ISO8402-1994質(zhì)量保證標(biāo)準(zhǔn)ISO9001質(zhì)量管理標(biāo)準(zhǔn)ISO9004-134ISO9000國際標(biāo)準(zhǔn)質(zhì)量術(shù)語標(biāo)準(zhǔn)34軟件企業(yè)實(shí)施ISO9000標(biāo)準(zhǔn)知識準(zhǔn)備立法宣傳執(zhí)行監(jiān)督改進(jìn)35軟件企業(yè)實(shí)施ISO9000標(biāo)準(zhǔn)知識準(zhǔn)備35軟件度量項(xiàng)目度量項(xiàng)目度量的內(nèi)容面向功能的項(xiàng)目度量過程度量36軟件度量項(xiàng)目度量36項(xiàng)目度量的基本度量S.R.Schach,1992U.S.AirForce,93M-017報(bào)告常用單位Size規(guī)模Size規(guī)模LOC,KLOCEffort工作量Effort工作量人-月Duration時間Schedule進(jìn)度月Quality質(zhì)量Quality質(zhì)量錯誤數(shù)/KLOCCost成本Rework返工元37項(xiàng)目度量的基本度量S.R.Schach,1992U.S.Ai第13章軟件工程環(huán)境

什么是軟件工程環(huán)境CASE環(huán)境的組成與結(jié)構(gòu)CASE環(huán)境實(shí)例RationalSUITEEnterpriseStudio青鳥系統(tǒng)

38第13章軟件工程環(huán)境什么是軟件工程環(huán)境38軟件工程環(huán)境軟件工程環(huán)境統(tǒng)一集成機(jī)制下的一系列軟件工具支持與軟件開發(fā)相關(guān)的過程、活動和任務(wù)軟件開發(fā)環(huán)境的特點(diǎn)友善和統(tǒng)一的用戶界面集成化的軟件工具數(shù)據(jù)集成界面集成控制集成過程集成平臺集成39軟件工程環(huán)境軟件工程環(huán)境39理想環(huán)境模型自動化(A)AUTOMATION方法(M)METHODS過程(P)PROCESS40理想環(huán)境模型自動化(A)方法(M)過程(P)40CASE環(huán)境CASE計(jì)算機(jī)輔助軟件工程現(xiàn)代化軟件開發(fā)環(huán)境的總稱軟件開發(fā)環(huán)境程序設(shè)計(jì)支持環(huán)境軟件支持環(huán)境集成化項(xiàng)目支持41CASE環(huán)境CASE計(jì)算機(jī)輔助軟件工程41CASE環(huán)境的組成CASE工具集成化框架為可移植性服務(wù)的機(jī)構(gòu)操作系統(tǒng)硬件平臺環(huán)境體系結(jié)構(gòu)42CASE環(huán)境的組成CASE工具集成化框架為可移植性服務(wù)的機(jī)構(gòu)CASE集成框架的典型結(jié)構(gòu)用戶界面層界面工具箱表示協(xié)議工具層工具管理服務(wù)CASE工具工具管理服務(wù)……工具層…………對象管理層集成服務(wù)配置管理服務(wù)共享中心庫層CASE數(shù)據(jù)庫訪問控制功能43CASE集成框架的典型結(jié)構(gòu)用戶界面層工具層工具管理服務(wù)CASCASE結(jié)構(gòu)示例44CASE結(jié)構(gòu)示例44CASE環(huán)境–RationalSUITE軟件開發(fā)過程框架需求管理工具面向?qū)ο蠓治鲈O(shè)計(jì)工具配置管理工具變更管理工具測試工具45CASE環(huán)境–RationalSUITE軟件開發(fā)過程框架CASE環(huán)境–青鳥系統(tǒng)全面支持面向?qū)ο筌浖_發(fā)開放性環(huán)境集成機(jī)制支持多種軟件開發(fā)方法既是通用性軟件工程環(huán)境,又能成為特定領(lǐng)域的專用性應(yīng)用開發(fā)平臺46CASE環(huán)境–青鳥系統(tǒng)全面支持面向?qū)ο筌浖_發(fā)46第14章軟件工程高級課題Web工程基于體系結(jié)構(gòu)的軟件開發(fā)面向方面的軟件開發(fā)形式化軟件開發(fā)47第14章軟件工程高級課題Web工程47Web工程YogeshDeshpande和SteveHansen在1998年就提出了Web工程的概念。Web工程作為一門新興的學(xué)科,提倡使用一個過程和系統(tǒng)的方法來開發(fā)高質(zhì)量的基于Web的系統(tǒng)。它"使用合理的、科學(xué)的工程和管理原則,用嚴(yán)密的和系統(tǒng)的方法來開發(fā)、發(fā)布和維護(hù)基于Web的系統(tǒng)"。48Web工程YogeshDeshpande和SteveHaWeb工程與軟件工程

Web工程與軟件工程的區(qū)別WebApp強(qiáng)調(diào)信息的含量;傳統(tǒng)軟件工程則強(qiáng)調(diào)系統(tǒng)功能的完善WebApp關(guān)注視覺和感覺;傳統(tǒng)的軟件界面則奉行“簡單為美”的原則多數(shù)WebApp是數(shù)據(jù)驅(qū)動的;傳統(tǒng)的軟件開發(fā)多是功能驅(qū)動的或過程驅(qū)動的WebApp能夠適應(yīng)不同的用戶;傳統(tǒng)的軟件系統(tǒng)的用戶群體則通常圈定在某個范圍之內(nèi)WebApp必須在短期內(nèi)開發(fā)完成,很難應(yīng)用傳統(tǒng)軟件工程中使用的形式化方法和測試技術(shù)Web工程要求藝術(shù)、技術(shù)和科學(xué)在更大范圍內(nèi)相互結(jié)合49Web工程與軟件工程Web工程與軟件工程的區(qū)別49Web開發(fā)Web開發(fā)團(tuán)隊(duì)Web決策人員內(nèi)容提供人員Web開發(fā)人員Web發(fā)布人員Web支持人員Web管理員最終用戶50Web開發(fā)Web開發(fā)團(tuán)隊(duì)50Web開發(fā)Web工程過程Web工程過程活動貫穿Web生命周期WebApp常常以增量的方式開發(fā);需求經(jīng)常發(fā)生變化;開發(fā)期限較短。Web分析內(nèi)容分析交互分析功能分析配置分析導(dǎo)航關(guān)系分析安全分析51Web開發(fā)Web工程過程51Web開發(fā)Web設(shè)計(jì)設(shè)計(jì)原則和目標(biāo)

設(shè)計(jì)要盡可能簡單布局要盡可能美觀整體要盡可能保持一致界面設(shè)計(jì)

設(shè)計(jì)方法

設(shè)計(jì)中的問題

設(shè)計(jì)人員的檢查

52Web開發(fā)Web設(shè)計(jì)52Web開發(fā)Web測試內(nèi)容測試:檢查內(nèi)容的正確性、一致性、無歧義等問題;功能測試:查找不符合用戶需求的錯誤;結(jié)構(gòu)測試:確保其結(jié)構(gòu)是符合WebApp的內(nèi)容和功能的,確保它是可擴(kuò)展的,支持新的內(nèi)容或功能;導(dǎo)航測試:確保所有的導(dǎo)航用法和意義都被實(shí)現(xiàn),以便發(fā)現(xiàn)導(dǎo)航錯誤(如空鏈接、錯誤鏈接等);易用性測試:確保每個不同的用戶群能被WebApp界面支持,能學(xué)會并運(yùn)用所有需要的導(dǎo)航用法和意義;性能測試:在不同操作條件、配置和負(fù)載下進(jìn)行,確保系統(tǒng)能響應(yīng)用戶的交互操作,能在可接受的性能下降的條件下處理極端的負(fù)載量;兼容性測試:在客戶機(jī)和服務(wù)器上設(shè)定不同的配置條件下執(zhí)行WebApp。目的是找出那些只在特定配置下會出現(xiàn)的錯誤;協(xié)同工作測試:確保WebApp能很好地與其他的應(yīng)用程序和數(shù)據(jù)庫交互;安全性測試:評估潛在的易攻擊性,任何一個成功的入侵都認(rèn)為是安全方面的失敗。53Web開發(fā)Web測試53基于體系結(jié)構(gòu)的軟件開發(fā)基于構(gòu)件和體系結(jié)構(gòu)的軟件開發(fā)方法正逐漸成為近代軟件工程研究的重點(diǎn)應(yīng)用軟件的體系結(jié)構(gòu)

程序的體系結(jié)構(gòu)

業(yè)務(wù)的體系結(jié)構(gòu)

技術(shù)的體系結(jié)構(gòu)

信息的體系結(jié)構(gòu)

編程范型對體系結(jié)構(gòu)的影響

編程范型對復(fù)用粒度的影響軟件體系結(jié)構(gòu)技術(shù)仍在發(fā)展54基于體系結(jié)構(gòu)的軟件開發(fā)基于構(gòu)件和體系結(jié)構(gòu)的軟件開發(fā)方法正逐漸面向方面的軟件開發(fā)在軟件系統(tǒng)的設(shè)計(jì)過程中,人們首先關(guān)注的往往是與系統(tǒng)業(yè)務(wù)相關(guān)的模塊,然后也會考慮分布在多個核心模塊中的公共行為前者稱為核心關(guān)注點(diǎn),后者稱為橫切關(guān)注點(diǎn)面向?qū)ο蟮木幊碳夹g(shù)(OOP)技術(shù)可以很好地完成對核心關(guān)注點(diǎn)的設(shè)計(jì)與開發(fā),而對橫切關(guān)注點(diǎn)卻有些力不從心橫切關(guān)注點(diǎn)會跨越多個模塊,是多維的,而OOP的設(shè)計(jì)方法卻是一維的,把多維的需求映射到一維上,便產(chǎn)生了許多需要探討的問題。55面向方面的軟件開發(fā)在軟件系統(tǒng)的設(shè)計(jì)過程中,人們首先關(guān)注的往往面向方面的軟件開發(fā)面向方面編程((Aspect-OrientedProgramming,AOP)是對軟件工程的一種革新性思考,是由施樂公司帕洛阿爾托研究中心(XeroxPaloAltoResearchCenter)的GregorKiczales等在1997年提出的,主要用來解決橫切關(guān)注點(diǎn)問題AOP開發(fā)環(huán)境AspectJAOP為開發(fā)者提供了一種描述橫切關(guān)注點(diǎn)的方法,人們可以通過它單獨(dú)實(shí)現(xiàn)橫切模塊AOP提供了一種機(jī)制,使得核心模塊和橫切模塊能夠融合在一起,從而構(gòu)造出最后的實(shí)際系統(tǒng)56面向方面的軟件開發(fā)面向方面編程((Aspect-Orient面向方面編程1.關(guān)注點(diǎn)(Concem)關(guān)注點(diǎn)也就是要考察或解決的問題。2.方面(Aspect)方面是一個抽象的概念,從軟件的角度來說是指在應(yīng)用程序不同模塊中的某一個領(lǐng)域或方面。從程序抽象的角度來說,可以對照OOP中的類來理解。3.連接點(diǎn)(Joinpoint)連接點(diǎn)也就是運(yùn)用程序執(zhí)行過程中需要插入方面模塊的某一點(diǎn)。連接點(diǎn)主要強(qiáng)調(diào)的是一個具體的“點(diǎn)”概念。這個點(diǎn)可以是一個方法、一個屬性、構(gòu)造函數(shù)、類靜態(tài)初始化塊,甚至一條語句。4.織入(weaving)織入是指把解決橫切問題的方面模塊,與系統(tǒng)中的其它核心模塊通過一定策略或規(guī)則組合到一起的過程。57面向方面編程1.關(guān)注點(diǎn)(Concem)57AOP語言規(guī)范AOP語言的兩個方面關(guān)注點(diǎn)的實(shí)現(xiàn)織入規(guī)則規(guī)范AOP設(shè)計(jì)的開發(fā)步驟:(1)方面分解:分解需求提取出橫切關(guān)注點(diǎn)和一般關(guān)注點(diǎn)。這一步把核心模塊級關(guān)注和系統(tǒng)級的橫切關(guān)注點(diǎn)分離開來。(2)關(guān)注點(diǎn)實(shí)現(xiàn):各自獨(dú)立的實(shí)現(xiàn)這些關(guān)注點(diǎn)。(3)方面的重新組合:在這一步,方面集成器通過創(chuàng)建一個模塊單元——方面來指定重組的規(guī)則。重組過程(也叫織入或結(jié)合)則使用這些信息來構(gòu)建最終系統(tǒng)。58AOP語言規(guī)范AOP語言的兩個方面58AOP和OOP比較OOP和AOP的關(guān)系OOP是AOP的技術(shù)基礎(chǔ)AOP是對OOP的繼承和發(fā)展區(qū)別可擴(kuò)展性

可重用性

易理解性和易維護(hù)性

59AOP和OOP比較OOP和AOP的關(guān)系59面向方面的軟件開發(fā)面向方面的軟件開發(fā)過程60面向方面的軟件開發(fā)面向方面的軟件開發(fā)過程60形式化的軟件開發(fā)

形式化方法的定義

形式化方法的基本含義是借助數(shù)學(xué)的方法來研究計(jì)算機(jī)科學(xué)中的有關(guān)問題用于開發(fā)計(jì)算機(jī)系統(tǒng)的形式化方法是描述系統(tǒng)性質(zhì)的基于數(shù)學(xué)的技術(shù),這樣的形式化方法提供了一個框架,可以在框架中以系統(tǒng)的而不是特別的方式刻畫、開發(fā)和驗(yàn)證系統(tǒng)狹義地,形式化方法是軟件規(guī)格(Specification)和驗(yàn)證(Verfication)的方法將形式化方法用于軟件開發(fā)的主要目的是保證軟件的正確性形式化方法的特點(diǎn)

提供了規(guī)格環(huán)境的基礎(chǔ)——形式化描述的分析模型。設(shè)計(jì)、實(shí)現(xiàn)和單元測試等過程被一個形式化的、逐步求精的、正確性得到保證的變換過程所替代。形式化方法適合對安全性、可靠性、保密性要求極高的系統(tǒng)開發(fā)形式化方法模型

基于形式化規(guī)格及程序變換的軟件開發(fā)模型61形式化的軟件開發(fā)形式化方法的定義61形式化軟件開發(fā)過程

形式化的軟件開發(fā)過程需求定義形式化描述形式化轉(zhuǎn)換集成和系統(tǒng)驗(yàn)證形式化開發(fā)方法是將軟件系統(tǒng)的需求描述,采用某種規(guī)約的形式化方式,轉(zhuǎn)換成一個可執(zhí)行程序。在轉(zhuǎn)換過程中,形式化描述被逐步求精地轉(zhuǎn)換成有嚴(yán)格數(shù)學(xué)方法保證其正確的一系列系統(tǒng)表示,直到形式化描述被轉(zhuǎn)換成一個對等的可執(zhí)行程序。62形式化軟件開發(fā)過程形式化的軟件開發(fā)過程需求定義形式化描述形小結(jié)Web工程是一門十分年輕的學(xué)科,剛剛引起專家、學(xué)者和開發(fā)人員的注意,還需要進(jìn)化和成熟。鑒于軟件體系結(jié)構(gòu)直接關(guān)系到軟件性能的好壞,基于軟件體系結(jié)構(gòu)的開發(fā)目前正方興未艾,已經(jīng)成為當(dāng)今軟件開發(fā)中一個突出的研究課題。面向方面編程(AOP)是對軟件工程的一種革新性思想,也是對OOP的繼承和發(fā)展。本章介紹了AOP的基本概念和語言規(guī)范,簡敘了面向方面的軟件開發(fā)(AOSD),并從可擴(kuò)性、可重用性、易理解性和易維護(hù)性等方面對AOP與OOP進(jìn)行了初步比較。形式化的軟件開發(fā)起源于深入探討程序開發(fā)過程的數(shù)學(xué)理論,最早可追溯到對程序設(shè)計(jì)語言編譯技術(shù)的研究。本章介紹了形式化方法的定義,狹義地說,將它歸納為形式化規(guī)格(FormalSpecification)和形式化驗(yàn)證(FormalVerification)的方法,討論了應(yīng)用轉(zhuǎn)換模型來進(jìn)行形式化開發(fā)的過程。63小結(jié)Web工程是一門十分年輕的學(xué)科,剛剛引起專家、學(xué)者和開發(fā)第11章軟件工程管理管理的目的與內(nèi)容軟件估算模型軟件成本估計(jì)人員的分配與組織項(xiàng)目進(jìn)度安排軟件知識產(chǎn)權(quán)保護(hù)64第11章軟件工程管理管理的目的與內(nèi)容1管理的目的與內(nèi)容目的按預(yù)定的時間和費(fèi)用,完成軟件的計(jì)劃、開發(fā)和維護(hù)內(nèi)容費(fèi)用管理估算軟件的開發(fā)費(fèi)用管理開發(fā)費(fèi)用的有效使用質(zhì)量管理(包括配置管理)項(xiàng)目的其它管理項(xiàng)目進(jìn)度安排人員的分配與組織65管理的目的與內(nèi)容目的2軟件估算模型靜態(tài)單變量資源模型Putnam資源模型COCOMO模型66軟件估算模型靜態(tài)單變量資源模型3靜態(tài)單變量資源模型資源=c1x(估計(jì)的軟件特征)c2資源開發(fā)工作量(E)、開發(fā)時間(T)或開發(fā)人數(shù)(P)估計(jì)的軟件特征源程序長度(L)或軟件工作量(E)c1,c2依賴于開發(fā)環(huán)境和軟件應(yīng)用領(lǐng)域的常數(shù)67靜態(tài)單變量資源模型資源=c1x(估計(jì)的軟件特征)c2Putnam資源模型L=cK1/3T4/3或K=L3/(c3T4)L(行):源程序長度T(年):開發(fā)時間K(人-年):全生存期工作量c:與開發(fā)環(huán)境有關(guān)的常數(shù)68Putnam資源模型L=cK1/3T4/3或K=COCOMO模型COnstructiveCOstMOdel以靜態(tài)單變量模型為基礎(chǔ)將軟件分類:組織半獨(dú)立嵌入增加工作量調(diào)節(jié)因子69COCOMO模型COnstructiveCOstMOde不同類型軟件的COCOMO模型

軟件類別模型方程適用范圍組織型E=3.2×L1.05T=2.5×E0.38高級語言應(yīng)用程序,如科學(xué)計(jì)算,數(shù)據(jù)處理企業(yè)管理程序等半獨(dú)立型E=3.0×L1.12T=2.5×E0.35大多數(shù)實(shí)用程序,如編輯程序、連接程序編輯程序等嵌入型E=2.8×L1.20T=2.5×E0.32與硬件關(guān)系密切的系統(tǒng)程序,如操作系統(tǒng)數(shù)據(jù)庫管理系統(tǒng),實(shí)時處理與控制程序等70不同類型軟件的COCOMO模型軟件類別模型方程適調(diào)節(jié)因子和它的值范圍

屬性調(diào)節(jié)因子調(diào)節(jié)值范圍例13.1中使用的值產(chǎn)品屬性要求的可靠性等級數(shù)據(jù)庫規(guī)模產(chǎn)品復(fù)雜度0.75-1.400.94-1.160.70-1.651.000.941.30計(jì)算機(jī)屬性對程序執(zhí)行時間的約束對程序占用存儲容量的約束開發(fā)環(huán)境的變動開發(fā)環(huán)境的響應(yīng)時間1.00-1.661.0

-1.560.87-1.300.87-1.151.111.061.001.00人員屬性分析員水平程序員水平對應(yīng)用領(lǐng)域的熟悉程度對開發(fā)環(huán)境的熟悉程度對所用語言的熟悉程度1.46-0.711.42-0.701.29-0.821.21-0.901.14-0.950.860.861.001.101.00項(xiàng)目屬性開發(fā)方法的現(xiàn)代化軟件工具的數(shù)質(zhì)量完成時間的限制1.24-0.821.24-0.831.23-1.100.911.101.0071調(diào)節(jié)因子和它的值范圍屬性調(diào)節(jié)因子調(diào)節(jié)值范圍例13.1中產(chǎn)要軟件成本估計(jì)自頂向下成本估計(jì)由底向上成本估計(jì)算法模型估計(jì)72軟件成本估計(jì)自頂向下成本估計(jì)9自頂向下成本估計(jì)首先估算總成本然后在項(xiàng)目內(nèi)部進(jìn)行成本分配特爾斐Delphi法多個專家各自填表綜合專家意見,摘要通知大家開始新一輪估計(jì)多次反復(fù),直到專家意見接近73自頂向下成本估計(jì)首先估算總成本10由底向上成本估算先將開發(fā)任務(wù)分解為許多子任務(wù)子任務(wù)分成子子任務(wù)估計(jì)各個任務(wù)單元的成本匯合成項(xiàng)目總成本74由底向上成本估算先將開發(fā)任務(wù)分解為許多子任務(wù)11算法模型估計(jì)算法模型就是資源模型由歷史數(shù)據(jù)導(dǎo)出選擇適用的模型模型估計(jì)法與自頂向下估計(jì)或由底向上估計(jì)結(jié)合使用75算法模型估計(jì)算法模型就是資源模型12人員的分配與組織Rayleigh-Norden曲線兩條重要定律人員組織76人員的分配與組織Rayleigh-Norden曲線13Rayleigh-Norden曲線①②③td

t人力①浪費(fèi)的人力②不足的人力③過晚的人力77Rayleigh-Norden曲線①②③tdt人力兩條重要的定律人員-時間權(quán)衡定律Brooks定律向一個已經(jīng)延晚的項(xiàng)目追加開發(fā)人員,可能使它完成得更晚E=常數(shù)/(T或td)4

78兩條重要的定律人員-時間權(quán)衡定律E=常數(shù)/(T或td)41人員組織層次型組織結(jié)構(gòu)軟件經(jīng)理項(xiàng)目經(jīng)理開發(fā)小組民主開發(fā)小組無我程序設(shè)計(jì)主程序員小組一元化領(lǐng)導(dǎo)主程序員分配工作主程序員決定重大問題79人員組織層次型組織結(jié)構(gòu)16項(xiàng)目進(jìn)度安排計(jì)劃評審技術(shù)建立PERT圖找出關(guān)鍵路徑標(biāo)出最遲開始時間PERT圖的使用Gannt圖80項(xiàng)目進(jìn)度安排計(jì)劃評審技術(shù)17PERT圖例子測試數(shù)據(jù)2編碼4產(chǎn)品測試4測試軟件6測試計(jì)劃2起點(diǎn)分析終點(diǎn)文檔2設(shè)計(jì)481PERT圖例子測試編碼產(chǎn)品測試測試起點(diǎn)分析終點(diǎn)文檔設(shè)計(jì)18關(guān)鍵路徑編碼4產(chǎn)品測試4測試軟件6測試數(shù)據(jù)2測試計(jì)劃2起點(diǎn)終點(diǎn)文檔2設(shè)計(jì)4分析3(0,0)(0,3)(0,2)(3,5)(2,8)(3,7)(7,9)(7,11)(15,15)(11,15)82關(guān)鍵路徑編碼產(chǎn)品測試測試數(shù)據(jù)2測試起點(diǎn)終點(diǎn)文檔設(shè)計(jì)分析(0,第12章軟件質(zhì)量管理從質(zhì)量保證到質(zhì)量認(rèn)證質(zhì)量保證軟件可靠性程序正確性證明CMM軟件能力成熟度模型ISO9000國際標(biāo)準(zhǔn)軟件度量83第12章軟件質(zhì)量管理從質(zhì)量保證到質(zhì)量認(rèn)證20從軟件質(zhì)量保證到質(zhì)量認(rèn)證

質(zhì)量管理的三個階段質(zhì)量檢驗(yàn)全面質(zhì)量管理TQC質(zhì)量認(rèn)證CMM軟件能力成熟度模型

ISO9000國際標(biāo)準(zhǔn)

84從軟件質(zhì)量保證到質(zhì)量認(rèn)證質(zhì)量管理的三個階段21質(zhì)量保證軟件的質(zhì)量屬性功能性可靠性易用性效率可維護(hù)性可移植性質(zhì)量保證的活動內(nèi)容85質(zhì)量保證軟件的質(zhì)量屬性22質(zhì)量保證的活動內(nèi)容復(fù)審:計(jì)劃與開發(fā)方法:設(shè)計(jì)、編碼…控制:軟件配置軟件測試86質(zhì)量保證的活動內(nèi)容復(fù)審:計(jì)劃與開發(fā)方法:設(shè)計(jì)、編碼…控制:軟件可靠性可靠性的定義和分級定義:在給定的時間內(nèi),程序按照規(guī)定的條件成功地運(yùn)行的概率可靠性等級可靠性模型軟件容錯技術(shù)87軟件可靠性可靠性的定義和分級24可靠性分級表分級故障的后果開發(fā)工作量比例因子甚低低正常高甚高工作略有不便有損失,但容易彌補(bǔ)彌補(bǔ)損失比較困難重大的經(jīng)濟(jì)損失危及人的生命0.750.881.001.151.4088可靠性分級表分級故障的后果開發(fā)工作量比例因子甚低工作略有不便可靠性模型正比于遺留故障數(shù)的宏觀模型平均故障時間模型(MTTF模型)錯誤植入模型89可靠性模型正比于遺留故障數(shù)的宏觀模型26軟件容錯技術(shù)容錯軟件(有抗故障功能的軟件)屏蔽錯誤修復(fù)錯誤減少影響冗余技術(shù)結(jié)構(gòu)冗余時間冗余信息冗余容錯軟件的設(shè)計(jì)90軟件容錯技術(shù)容錯軟件(有抗故障功能的軟件)27靜態(tài)冗余結(jié)構(gòu)和動態(tài)冗余結(jié)構(gòu)M1M2M3VM1M2MnI

U

u1

u2

u3

I

主模塊

備用

備用

…………91靜態(tài)冗余結(jié)構(gòu)和動態(tài)冗余結(jié)構(gòu)M1M2M3VM1M2MnIU容錯軟件設(shè)計(jì)建立需求說明,設(shè)計(jì)軟件的非容錯結(jié)構(gòu)分析錯誤類型確定容錯范圍確定采用的冗余技術(shù),修改結(jié)構(gòu)評估容錯效果92容錯軟件設(shè)計(jì)建立需求說明,設(shè)計(jì)分析錯誤類型確定采用的冗余評估程序正確性證明用數(shù)學(xué)的方法,證明程序具有某些性質(zhì)S…P{P}S{R}…R93程序正確性證明用數(shù)學(xué)的方法,證明程序具有某些性質(zhì)S…PCMM軟件能力成熟度模型CMM的基本概念軟件過程關(guān)鍵過程域CMM模型5級,18個關(guān)鍵過程域,52個過程目標(biāo),316種關(guān)鍵實(shí)踐94CMM軟件能力成熟度模型CMM的基本概念31過程能力等級特點(diǎn)關(guān)鍵過程域1.初始級(Initial)軟件過程是無序的,對過程幾乎沒有定義,成功取決于個人的努力。管理是消防隊(duì)救火式的。

2.可重復(fù)級(Repeatable)建立了基本的項(xiàng)目管理過程來跟蹤費(fèi)用、進(jìn)度和功能特性。制定了必要的過程規(guī)則和紀(jì)律,能重復(fù)早先類似應(yīng)用項(xiàng)目取得的成功。需求管理軟件項(xiàng)目策劃軟件項(xiàng)目跟蹤和監(jiān)督軟件子合同管理軟件質(zhì)量保證軟件配置管理3.已定義級(Defined)已將軟件管理和工程兩個方面的過程文檔化、標(biāo)準(zhǔn)化,并綜合成該組織的標(biāo)準(zhǔn)軟件過程。所有項(xiàng)目均使用經(jīng)過批準(zhǔn)、剪裁的標(biāo)準(zhǔn)軟件過程來開發(fā)和維護(hù)軟件。組織過程定義組織過程焦點(diǎn)培訓(xùn)大綱集成軟件管理軟件產(chǎn)品工程組際協(xié)調(diào)同行專家評審4.已管理級(Managed)收集對軟件過程和產(chǎn)品質(zhì)量的詳細(xì)度量,對軟件過程和產(chǎn)品都有定量的理解和控制。定量的過程管理軟件質(zhì)量管理5.優(yōu)化級(Optimizing)過程的量化反饋和先進(jìn)的新思想、新技術(shù)促使過程不斷改進(jìn)。缺陷預(yù)防技術(shù)變更管理過程變更管理95過程能力等級特點(diǎn)關(guān)鍵過程域1.初始級(Initial)CMM應(yīng)用能力評估軟件過程評估軟件能力評價過程改善引用CMM關(guān)鍵實(shí)踐改善本機(jī)構(gòu)的軟件過程96CMM應(yīng)用能力評估33ISO9000國際標(biāo)準(zhǔn)質(zhì)量術(shù)語標(biāo)準(zhǔn)ISO8402-1994質(zhì)量保證標(biāo)準(zhǔn)ISO9001質(zhì)量管理標(biāo)準(zhǔn)ISO9004-197ISO9000國際標(biāo)準(zhǔn)質(zhì)量術(shù)語標(biāo)準(zhǔn)34軟件企業(yè)實(shí)施ISO9000標(biāo)準(zhǔn)知識準(zhǔn)備立法宣傳執(zhí)行監(jiān)督改進(jìn)98軟件企業(yè)實(shí)施ISO9000標(biāo)準(zhǔn)知識準(zhǔn)備35軟件度量項(xiàng)目度量項(xiàng)目度量的內(nèi)容面向功能的項(xiàng)目度量過程度量99軟件度量項(xiàng)目度量36項(xiàng)目度量的基本度量S.R.Schach,1992U.S.AirForce,93M-017報(bào)告常用單位Size規(guī)模Size規(guī)模LOC,KLOCEffort工作量Effort工作量人-月Duration時間Schedule進(jìn)度月Quality質(zhì)量Quality質(zhì)量錯誤數(shù)/KLOCCost成本Rework返工元100項(xiàng)目度量的基本度量S.R.Schach,1992U.S.Ai第13章軟件工程環(huán)境

什么是軟件工程環(huán)境CASE環(huán)境的組成與結(jié)構(gòu)CASE環(huán)境實(shí)例RationalSUITEEnterpriseStudio青鳥系統(tǒng)

101第13章軟件工程環(huán)境什么是軟件工程環(huán)境38軟件工程環(huán)境軟件工程環(huán)境統(tǒng)一集成機(jī)制下的一系列軟件工具支持與軟件開發(fā)相關(guān)的過程、活動和任務(wù)軟件開發(fā)環(huán)境的特點(diǎn)友善和統(tǒng)一的用戶界面集成化的軟件工具數(shù)據(jù)集成界面集成控制集成過程集成平臺集成102軟件工程環(huán)境軟件工程環(huán)境39理想環(huán)境模型自動化(A)AUTOMATION方法(M)METHODS過程(P)PROCESS103理想環(huán)境模型自動化(A)方法(M)過程(P)40CASE環(huán)境CASE計(jì)算機(jī)輔助軟件工程現(xiàn)代化軟件開發(fā)環(huán)境的總稱軟件開發(fā)環(huán)境程序設(shè)計(jì)支持環(huán)境軟件支持環(huán)境集成化項(xiàng)目支持104CASE環(huán)境CASE計(jì)算機(jī)輔助軟件工程41CASE環(huán)境的組成CASE工具集成化框架為可移植性服務(wù)的機(jī)構(gòu)操作系統(tǒng)硬件平臺環(huán)境體系結(jié)構(gòu)105CASE環(huán)境的組成CASE工具集成化框架為可移植性服務(wù)的機(jī)構(gòu)CASE集成框架的典型結(jié)構(gòu)用戶界面層界面工具箱表示協(xié)議工具層工具管理服務(wù)CASE工具工具管理服務(wù)……工具層…………對象管理層集成服務(wù)配置管理服務(wù)共享中心庫層CASE數(shù)據(jù)庫訪問控制功能106CASE集成框架的典型結(jié)構(gòu)用戶界面層工具層工具管理服務(wù)CASCASE結(jié)構(gòu)示例107CASE結(jié)構(gòu)示例44CASE環(huán)境–RationalSUITE軟件開發(fā)過程框架需求管理工具面向?qū)ο蠓治鲈O(shè)計(jì)工具配置管理工具變更管理工具測試工具108CASE環(huán)境–RationalSUITE軟件開發(fā)過程框架CASE環(huán)境–青鳥系統(tǒng)全面支持面向?qū)ο筌浖_發(fā)開放性環(huán)境集成機(jī)制支持多種軟件開發(fā)方法既是通用性軟件工程環(huán)境,又能成為特定領(lǐng)域的專用性應(yīng)用開發(fā)平臺109CASE環(huán)境–青鳥系統(tǒng)全面支持面向?qū)ο筌浖_發(fā)46第14章軟件工程高級課題Web工程基于體系結(jié)構(gòu)的軟件開發(fā)面向方面的軟件開發(fā)形式化軟件開發(fā)110第14章軟件工程高級課題Web工程47Web工程YogeshDeshpande和SteveHansen在1998年就提出了Web工程的概念。Web工程作為一門新興的學(xué)科,提倡使用一個過程和系統(tǒng)的方法來開發(fā)高質(zhì)量的基于Web的系統(tǒng)。它"使用合理的、科學(xué)的工程和管理原則,用嚴(yán)密的和系統(tǒng)的方法來開發(fā)、發(fā)布和維護(hù)基于Web的系統(tǒng)"。111Web工程YogeshDeshpande和SteveHaWeb工程與軟件工程

Web工程與軟件工程的區(qū)別WebApp強(qiáng)調(diào)信息的含量;傳統(tǒng)軟件工程則強(qiáng)調(diào)系統(tǒng)功能的完善WebApp關(guān)注視覺和感覺;傳統(tǒng)的軟件界面則奉行“簡單為美”的原則多數(shù)WebApp是數(shù)據(jù)驅(qū)動的;傳統(tǒng)的軟件開發(fā)多是功能驅(qū)動的或過程驅(qū)動的WebApp能夠適應(yīng)不同的用戶;傳統(tǒng)的軟件系統(tǒng)的用戶群體則通常圈定在某個范圍之內(nèi)WebApp必須在短期內(nèi)開發(fā)完成,很難應(yīng)用傳統(tǒng)軟件工程中使用的形式化方法和測試技術(shù)Web工程要求藝術(shù)、技術(shù)和科學(xué)在更大范圍內(nèi)相互結(jié)合112Web工程與軟件工程Web工程與軟件工程的區(qū)別49Web開發(fā)Web開發(fā)團(tuán)隊(duì)Web決策人員內(nèi)容提供人員Web開發(fā)人員Web發(fā)布人員Web支持人員Web管理員最終用戶113Web開發(fā)Web開發(fā)團(tuán)隊(duì)50Web開發(fā)Web工程過程Web工程過程活動貫穿Web生命周期WebApp常常以增量的方式開發(fā);需求經(jīng)常發(fā)生變化;開發(fā)期限較短。Web分析內(nèi)容分析交互分析功能分析配置分析導(dǎo)航關(guān)系分析安全分析114Web開發(fā)Web工程過程51Web開發(fā)Web設(shè)計(jì)設(shè)計(jì)原則和目標(biāo)

設(shè)計(jì)要盡可能簡單布局要盡可能美觀整體要盡可能保持一致界面設(shè)計(jì)

設(shè)計(jì)方法

設(shè)計(jì)中的問題

設(shè)計(jì)人員的檢查

115Web開發(fā)Web設(shè)計(jì)52Web開發(fā)Web測試內(nèi)容測試:檢查內(nèi)容的正確性、一致性、無歧義等問題;功能測試:查找不符合用戶需求的錯誤;結(jié)構(gòu)測試:確保其結(jié)構(gòu)是符合WebApp的內(nèi)容和功能的,確保它是可擴(kuò)展的,支持新的內(nèi)容或功能;導(dǎo)航測試:確保所有的導(dǎo)航用法和意義都被實(shí)現(xiàn),以便發(fā)現(xiàn)導(dǎo)航錯誤(如空鏈接、錯誤鏈接等);易用性測試:確保每個不同的用戶群能被WebApp界面支持,能學(xué)會并運(yùn)用所有需要的導(dǎo)航用法和意義;性能測試:在不同操作條件、配置和負(fù)載下進(jìn)行,確保系統(tǒng)能響應(yīng)用戶的交互操作,能在可接受的性能下降的條件下處理極端的負(fù)載量;兼容性測試:在客戶機(jī)和服務(wù)器上設(shè)定不同的配置條件下執(zhí)行WebApp。目的是找出那些只在特定配置下會出現(xiàn)的錯誤;協(xié)同工作測試:確保WebApp能很好地與其他的應(yīng)用程序和數(shù)據(jù)庫交互;安全性測試:評估潛在的易攻擊性,任何一個成功的入侵都認(rèn)為是安全方面的失敗。116Web開發(fā)Web測試53基于體系結(jié)構(gòu)的軟件開發(fā)基于構(gòu)件和體系結(jié)構(gòu)的軟件開發(fā)方法正逐漸成為近代軟件工程研究的重點(diǎn)應(yīng)用軟件的體系結(jié)構(gòu)

程序的體系結(jié)構(gòu)

業(yè)務(wù)的體系結(jié)構(gòu)

技術(shù)的體系結(jié)構(gòu)

信息的體系結(jié)構(gòu)

編程范型對體系結(jié)構(gòu)的影響

編程范型對復(fù)用粒度的影響軟件體系結(jié)構(gòu)技術(shù)仍在發(fā)展117基于體系結(jié)構(gòu)的軟件開發(fā)基于構(gòu)件和體系結(jié)構(gòu)的軟件開發(fā)方法正逐漸面向方面的軟件開發(fā)在軟件系統(tǒng)的設(shè)計(jì)過程中,人們首先關(guān)注的往往是與系統(tǒng)業(yè)務(wù)相關(guān)的模塊,然后也會考慮分布在多個核心模塊中的公共行為前者稱為核心關(guān)注點(diǎn),后者稱為橫切關(guān)注點(diǎn)面向?qū)ο蟮木幊碳夹g(shù)(OOP)技術(shù)可以很好地完成對核心關(guān)注點(diǎn)的設(shè)計(jì)與開發(fā),而對橫切關(guān)注點(diǎn)卻有些力不從心橫切關(guān)注點(diǎn)會跨越多個模塊,是多維的,而OOP的設(shè)計(jì)方法卻是一維的,把多維的需求映射到一維上,便產(chǎn)生了許多需要探討的問題。118面向方面的軟件開發(fā)在軟件系統(tǒng)的設(shè)計(jì)過程中,人們首先關(guān)注的往往面向方面的軟件開發(fā)面向方面編程((Aspect-OrientedProgramming,AOP)是對軟件工程的一種革新性思考,是由施樂公司帕洛阿爾托研究中心(XeroxPaloAltoResearchCenter)的GregorKiczales等在1997年提

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論