版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章軟件(ruǎnjiàn)與軟件(ruǎnjiàn)工程馬偉鋒mawf@浙江科技學(xué)院(xuéyuàn)信息與電子工程學(xué)院(xuéyuàn)1共七十頁本章(běnzhānɡ)內(nèi)容1.1軟件基本概念軟件概念、軟件特點(diǎn)、軟件分類、軟件發(fā)展1.2軟件工程(ruǎnjiànɡōnɡchénɡ)“軟件危機(jī)”、軟件工程1.3軟件生命周期1.4軟件過程共七十頁31.1軟件(ruǎnjiàn)基本概念
1.1.1什么是軟件?軟件是:(1)指令的集合(計(jì)算機(jī)程序),通過執(zhí)行這些指令來滿足預(yù)期的特征、功能和性能需求;
(2)數(shù)據(jù)結(jié)構(gòu),使得程序可以(kěyǐ)合理的利用信息;(3)文檔描述,用來描述程序操作和使用。程序=?軟件共七十頁41.1.2軟件(ruǎnjiàn)的特點(diǎn)軟件是邏輯產(chǎn)品,不同于物理產(chǎn)品,軟件更新復(fù)雜,硬件簡單替換。硬件會(huì)磨損(浴缸曲線),軟件不會(huì)(失效曲線)。軟件本身復(fù)雜,設(shè)計(jì)開發(fā)復(fù)雜,如人員要求高,成本、進(jìn)度難控制,風(fēng)險(xiǎn)(fēngxiǎn)大、維護(hù)困難等。
采用構(gòu)件的構(gòu)造模式發(fā)展,然而大多數(shù)軟件仍是根據(jù)實(shí)際的顧客需求定制的。共七十頁5磨損(mósǔn)vs.退化磨合調(diào)整磨損用壞修改點(diǎn)實(shí)際曲線理想曲線硬件失效率曲線時(shí)間失效率時(shí)間失效率軟件失效率曲線共七十頁61.1.3軟件(ruǎnjiàn)的分類系統(tǒng)軟件(xìtǒnɡruǎnjiàn)應(yīng)用軟件工程/科學(xué)軟件嵌入式軟件產(chǎn)品線軟件Web應(yīng)用軟件人工智能軟件共七十頁7軟件(ruǎnjiàn)新的分類開放計(jì)算—普遍的,分布式計(jì)算普適計(jì)算—無線網(wǎng)絡(luò)網(wǎng)絡(luò)資源—萬維網(wǎng)發(fā)展為一個(gè)計(jì)算引擎(yǐnqíng)開放源碼—“免費(fèi)”
源代碼開放了計(jì)算機(jī)群體(它是一種福利,但也是一種潛在的威脅?。┢渌?/p>
(參見第31章)數(shù)據(jù)挖掘網(wǎng)格計(jì)算認(rèn)知機(jī)納米技術(shù)軟件共七十頁1.1.4軟件(ruǎnjiàn)的發(fā)展共七十頁早期面向批處理有限(yǒuxiàn)的分布自定義軟件第二階段多用戶實(shí)時(shí)(shíshí)數(shù)據(jù)庫軟件產(chǎn)品第三階段分布式系統(tǒng)嵌入“智能”低成本硬件消費(fèi)者的影響第四階段強(qiáng)大的桌面系統(tǒng)面向?qū)ο蠹夹g(shù)專家系統(tǒng)人工神經(jīng)網(wǎng)絡(luò)并行計(jì)算網(wǎng)路計(jì)算機(jī)195019601970198019902000角色轉(zhuǎn)變:程序–
工具–
服務(wù)–
知識(shí)共七十頁10遺留(yíliú)軟件軟件必須進(jìn)行適應(yīng)性調(diào)整,以滿足新的計(jì)算環(huán)境和技術(shù)的需求。軟件必須升級(jí)以實(shí)現(xiàn)新的商業(yè)需求。軟件必須擴(kuò)展使之具有(jùyǒu)與更多現(xiàn)代系統(tǒng)和數(shù)據(jù)庫的互操作能力。軟件必須進(jìn)行改建使之能適應(yīng)多樣化的網(wǎng)絡(luò)環(huán)境。為什么一定要變更?共七十頁11軟件(ruǎnjiàn)發(fā)展面臨問題對(duì)軟件的質(zhì)量要求越來越高。軟件的體量變得越來越龐大,“個(gè)人英雄主義”很難在存在了。軟件企業(yè)面臨激烈(jīliè)的競爭。軟件必須進(jìn)行改建使之能適應(yīng)多樣化的網(wǎng)絡(luò)環(huán)境。軟件開發(fā)的方法嚴(yán)重落后?!?968年10月,北大西洋公約組織(NATO)的科學(xué)家在德國召開的學(xué)術(shù)會(huì)議上正式提出了軟件危機(jī)問題。共七十頁1.1.5軟件(ruǎnjiàn)危機(jī)
共七十頁一些實(shí)際(shíjì)例子80年代歐洲亞麗安娜火箭的發(fā)射失敗,原因是軟件錯(cuò)誤(cuòwù)。美國阿托拉斯火箭的發(fā)射失敗,原因是軟件故障。日本第5代機(jī)因?yàn)檐浖栴}在投入50億美元后于1993年下馬。共七十頁一組統(tǒng)計(jì)數(shù)字共七十頁危機(jī)(wēijī)原因共七十頁軟件規(guī)模(guīmó)類別參加人員數(shù)研制期限源程序行數(shù)
微型 1 1~4周0.5k小型1 1~6月1k~2k中型2~5 1~2年5k~50k大型5~20 2~3年50k~100k甚大型100~10004~5年1M(=1000k)極大型2000~50005~10年1M~10M
共七十頁引入“工程(gōngchéng)”思想工程:以某組設(shè)想的目標(biāo)為依據(jù),應(yīng)用有關(guān)的科學(xué)知識(shí)和技術(shù)手段,通過一群人的有組織活動(dòng)將某個(gè)(mǒuɡè)(或某些)現(xiàn)有實(shí)體(自然的或人造的)轉(zhuǎn)化為具有預(yù)期使用價(jià)值的人造產(chǎn)品過程。建筑工程機(jī)械工程共七十頁軟件工程:克服軟件(ruǎnjiàn)危機(jī)的努力(1)從管理的角度
軟件開發(fā)過程的研究、文檔的標(biāo)準(zhǔn)化以及人們的交流方式等。(2)軟件開發(fā)技術(shù)(jìshù)、方法的研究
如結(jié)構(gòu)化軟件開發(fā)方法,面向?qū)ο蟮拈_發(fā)共七十頁20世紀(jì)80年代末,美國DoD和工業(yè)界開始認(rèn)識(shí)到管理的重要性。美國DoD的一項(xiàng)研究表明,70%的項(xiàng)目由于管理不善導(dǎo)致難以控制進(jìn)步、成本和質(zhì)量進(jìn)一步的研究發(fā)現(xiàn):管理是影響軟件項(xiàng)目成功開發(fā)的全局性因素,而技術(shù)只影響局部如果軟件開發(fā)組織不能對(duì)軟件項(xiàng)目進(jìn)行(jìnxíng)有效管理,就不能充分發(fā)揮軟件開發(fā)方法和工具的潛力,也就不能高效率地開發(fā)出高質(zhì)量的軟件產(chǎn)品1.解決危機(jī)(wēijī)的管理途徑共七十頁提出有效的方法和工具支持軟件開發(fā):1968年提出軟件工程概念和思想20世紀(jì)70年代的結(jié)構(gòu)化軟件開發(fā)方法20世紀(jì)80年代的面向?qū)ο蟮能浖_發(fā)方法新的技術(shù)(jìshù):軟件重用、快速原型、需求工程典型技術(shù):COM,Java,C++,J2EE,.Net,….支撐工具和環(huán)境:Jbuilder,VisualStudio,WebLogic,…2.解決(jiějué)危機(jī)的技術(shù)方法途徑共七十頁211.2軟件工程(ruǎnjiànɡōnɡchénɡ)種子定義:軟件工程是建立和使用(shǐyòng)一套合理的工程原則,以便經(jīng)濟(jì)地獲得可靠的、可以在實(shí)際機(jī)器上高效運(yùn)行的軟件。共七十頁軟件工程(ruǎnjiànɡōnɡchénɡ)定義:軟件工程是:(1)將系統(tǒng)化的、規(guī)范的、可量化的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù),即將(jíjiāng)工程化方法應(yīng)用于軟件。(2)在(1)中所述方法的研究?!狪EEE共七十頁軟件工程(ruǎnjiànɡōnɡchénɡ)的特點(diǎn)1.軟件工程關(guān)注于大型程序的構(gòu)造2.軟件工程的中心課題是控制復(fù)雜性3.軟件經(jīng)常變化4.開發(fā)軟件的效率非常重要5.和諧地合作是開發(fā)軟件的關(guān)鍵6.軟件必須有效地支持它的用戶7.在軟件工程領(lǐng)域中是由具有(jùyǒu)一種文化背景的人替具有(jùyǒu)另一種文化背景的人共七十頁軟件工程(ruǎnjiànɡōnɡchénɡ)的基本原理用分階段的生命周期計(jì)劃嚴(yán)格管理堅(jiān)持進(jìn)行階段評(píng)審實(shí)行嚴(yán)格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計(jì)技術(shù)結(jié)果應(yīng)能清楚(qīngchu)地審查開發(fā)小組的人員應(yīng)該少而精承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性共七十頁SoftwareEngineeringa“quality”focusprocessmodelmethodstools工具(gōngjù)過程(guòchéng)方法質(zhì)量關(guān)注點(diǎn)軟件工程:一種層次化技術(shù)軟件工程共七十頁舉例(jǔlì):去杭州千島湖旅游共七十頁ALM(ApplicationLifecycleManagement)MSF(MicrosoftSolutionFramework)共七十頁軟件工程學(xué)通常把在軟件生命周期全過程中使用(shǐyòng)的一整套技術(shù)方法的集合稱為方法學(xué)(methodology),也稱為范型(paradigm)。共七十頁軟件工程(ruǎnjiànɡōnɡchénɡ)的擴(kuò)展共七十頁1.3軟件(ruǎnjiàn)生命周期模型共七十頁1.4軟件(ruǎnjiàn)過程軟件過程是各個(gè)環(huán)節(jié)的粘合劑,串聯(lián)。軟件產(chǎn)品構(gòu)建時(shí)所執(zhí)行的一系列活動(dòng)(activity)、動(dòng)作(action)和任務(wù)(rènwu)(task)的集合。過程框架:框架活動(dòng)+普適性活動(dòng)Frameworkactivity+umbrellaactivity共七十頁32過程(guòchéng)框架舉例:過程框架框架活動(dòng)軟件工程動(dòng)作工作任務(wù)工作產(chǎn)品(chǎnpǐn)里程碑和可交付成果QA檢查點(diǎn)普適性活動(dòng)共七十頁33一個(gè)通用的框架包含(bāohán)5個(gè)活動(dòng):溝通策劃建模需求分析(fēnxī)設(shè)計(jì)構(gòu)建代碼生成測試部署共七十頁34普適性活動(dòng)(huódòng)軟件項(xiàng)目管理正式技術(shù)(jìshù)評(píng)審軟件質(zhì)量保證軟件配置管理工作產(chǎn)品的準(zhǔn)備和生產(chǎn)可復(fù)用管理測量風(fēng)險(xiǎn)管理共七十頁1.4.1過程(guòchéng)流-框架活動(dòng)流程溝通(gōutōng)策劃建模構(gòu)建部署共七十頁361.4.1過程流-框架(kuànɡjià)活動(dòng)流程共七十頁37注意:項(xiàng)目不同(bùtónɡ),過程可能不同(bùtónɡ)活動(dòng)、動(dòng)作和任務(wù)的總體流程(liúchéng),以及它們之間相互依賴關(guān)系在每一個(gè)框架活動(dòng)中,動(dòng)作和任務(wù)細(xì)化的程度工作產(chǎn)品的定義和要求的程度質(zhì)量保證活動(dòng)應(yīng)用的方式項(xiàng)目跟蹤和控制活動(dòng)應(yīng)用的方式過程描述的詳細(xì)程度和嚴(yán)謹(jǐn)程度客戶和利益相關(guān)者對(duì)項(xiàng)目參與的程度軟件團(tuán)隊(duì)所賦予的自主權(quán)隊(duì)伍組織和角色明確程度共七十頁38軟件工程(ruǎnjiànɡōnɡchénɡ)實(shí)踐的精髓Polya建議:1.理解問題(溝通分析)。2.計(jì)劃解決方案(建模和軟件設(shè)計(jì))。3.實(shí)施(shíshī)計(jì)劃
(代碼生成)。4.檢查結(jié)果的準(zhǔn)確性(測試和質(zhì)量保證)。共七十頁1.5經(jīng)典軟件過程(guòchéng)模型(1)瀑布(pùbù)模型(WaterfallModel)傳統(tǒng)瀑布模型共七十頁
傳統(tǒng)瀑布(pùbù)模型的特點(diǎn)提供了軟件過程模型的基本框架(模板)。強(qiáng)調(diào)了每一階段活動(dòng)的嚴(yán)格順序。質(zhì)量保證觀點(diǎn):以經(jīng)過評(píng)審確認(rèn)了的階段工作(gōngzuò)產(chǎn)品(文檔)驅(qū)動(dòng)下一階段的工作,便于管理。是一種整體開發(fā)模型,程序的物理實(shí)現(xiàn)集中在開發(fā)階段的后期,用戶在最后才能看到自己的產(chǎn)品。傳統(tǒng)瀑布模型存在什么問題?1.5經(jīng)典軟件過程模型共七十頁實(shí)際(shíjì)的瀑布模型1.5經(jīng)典軟件過程(guòchéng)模型共七十頁瀑布模型適合于用戶需求明確、完整、無重大變化的軟件項(xiàng)目開發(fā)。瀑布模型的成功在很大程度上是由于它基本上是一種文檔驅(qū)動(dòng)的模型“瀑布模型是由文檔驅(qū)動(dòng)的”這個(gè)事實(shí)也是它的一個(gè)主要缺點(diǎn):實(shí)際項(xiàng)目很少按照該模型給出的順序進(jìn)行(jìnxíng);用戶常常難以清楚地給出所有需求;用戶必須有耐心,等到系統(tǒng)開發(fā)完成。瀑布(pùbù)模型的優(yōu)缺點(diǎn)1.5經(jīng)典軟件過程模型共七十頁(2)原型(yuánxíng)模型—快速原型模型(RapidPrototypeModel)在用戶不能給出完整、準(zhǔn)確的需求說明,或者開發(fā)者不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機(jī)交互的形式等許多情況下,可以根據(jù)用戶的一組基本需求,快速建造一個(gè)原型(yuánxíng)(可運(yùn)行的軟件),然后進(jìn)行評(píng)估,進(jìn)一步精化、調(diào)整原型(yuánxíng),使其滿足用戶的要求,也使開發(fā)者對(duì)將要做的事情有更好的理解。建造/修改原型
聽取用戶意見用戶測試運(yùn)行原型原型實(shí)現(xiàn)范型1.5經(jīng)典軟件過程模型共七十頁快速(kuàisù)原型驗(yàn)證(yànzhèng)規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測試綜合測試維護(hù)變化的需求驗(yàn)證維護(hù)過程開發(fā)過程1.5經(jīng)典軟件過程模型共七十頁原型模型存在的問題⑴為了使原型盡快的工作,沒有考慮軟件的總體質(zhì)量和長期的可維護(hù)性。⑵為了演示,可能采用不合適的操作系統(tǒng)、編程語言、效率低的算法,這些不理想的選擇成了系統(tǒng)的組成部分。⑶開發(fā)過程不便于管理。有效的使用原型模式建造(jiànzào)原型僅是為了定義需求,之后就被拋棄(或被部分拋棄),實(shí)際的軟件在充分考慮了質(zhì)量和可維護(hù)性之后才被開發(fā)。1.5經(jīng)典軟件(ruǎnjiàn)過程模型共七十頁(3)增量(zēnɡliànɡ)模型(IncrementalModel)是一種漸進(jìn)地開發(fā)逐步完善的軟件(ruǎnjiàn)版本的模型。需求分析驗(yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證維護(hù)針對(duì)每個(gè)構(gòu)件完成詳細(xì)設(shè)計(jì)、編碼和集成,經(jīng)測試后交付給用戶1.5經(jīng)典軟件過程模型共七十頁分析(fēnxī)分析(fēnxī)分析分析設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)編碼編碼編碼編碼測試測試測試測試增量1增量2增量3增量4交付交付交付交付●●●●●
?
反復(fù)的應(yīng)用瀑布模型的基本成分和原型模型的迭代特征,每一個(gè)線型過程產(chǎn)生一個(gè)“增量”的發(fā)布或提交,該增量均是一個(gè)可運(yùn)行的產(chǎn)品。
?
早期的版本實(shí)現(xiàn)用戶的基本需求,并提供給用戶評(píng)估的平臺(tái)。增量模型共七十頁在較短時(shí)間內(nèi)向用戶提交可完成部分工作的產(chǎn)品,并分批、逐步地向用戶提交產(chǎn)品。從第一個(gè)構(gòu)件交付之日起,用戶就能做一些有用的工作。整個(gè)軟件產(chǎn)品被分解成許多個(gè)增量構(gòu)件,開發(fā)人員可以一個(gè)構(gòu)件一個(gè)構(gòu)件地逐步開發(fā)。逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶組織帶來的沖擊。采用增量模型比采用瀑布模型和快速原型模型需要更精心的設(shè)計(jì),但在設(shè)計(jì)階段多付出的勞動(dòng)將在維護(hù)階段獲得(huòdé)回報(bào)。增量(zēnɡliànɡ)模型的優(yōu)點(diǎn)1.5經(jīng)典軟件過程模型共七十頁增量模型(móxíng)的困難在把每個(gè)新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時(shí),必須不破壞原來已經(jīng)開發(fā)出的產(chǎn)品。此外,必須把軟件的體系結(jié)構(gòu)設(shè)計(jì)得便于按這種方式進(jìn)行擴(kuò)充,向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過程必須簡單、方便,也就是說,軟件體系結(jié)構(gòu)必須是開放(kāifàng)的。開發(fā)人員既要把軟件系統(tǒng)看作整體。又要看成可獨(dú)立的構(gòu)件,相互矛盾。多個(gè)構(gòu)件并行開發(fā),具有無法集成的風(fēng)險(xiǎn)。1.5經(jīng)典軟件過程模型共七十頁(4)螺旋(luóxuán)模型(SpiralModel)軟件風(fēng)險(xiǎn)是任何軟件開發(fā)項(xiàng)目中都普遍存在的實(shí)際問題,項(xiàng)目越大,軟件越復(fù)雜,承擔(dān)該項(xiàng)目所冒的風(fēng)險(xiǎn)也越大。對(duì)于復(fù)雜的大型軟件,開發(fā)一個(gè)原型往往達(dá)不到要求。螺旋模型將瀑布模型和增量(zēnɡliànɡ)模型結(jié)合起來,加入了風(fēng)險(xiǎn)分析。在該模型中,軟件開發(fā)是一系列的增量(zēnɡliànɡ)發(fā)布,早期的迭代中,發(fā)布的增量(zēnɡliànɡ)可能是一個(gè)紙上的模型或原型,在以后的迭代中,逐步產(chǎn)生系統(tǒng)更加完善的版本。螺旋模型的基本思想是降低風(fēng)險(xiǎn)。1.5經(jīng)典軟件過程模型共七十頁快速(kuàisù)原型驗(yàn)證(yànzhèng)規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測試綜合測試維護(hù)變化的需求驗(yàn)證風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析可看作在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過程的快速原型模型。簡化的螺旋模型1.5經(jīng)典軟件過程模型共七十頁完整(wánzhěng)的螺旋模型1.5經(jīng)典(jīngdiǎn)軟件過程模型共七十頁
溝通螺旋(luóxuán)模型風(fēng)險(xiǎn)(fēngxiǎn)分析工程實(shí)施用戶通信用戶評(píng)估產(chǎn)品維護(hù)項(xiàng)目產(chǎn)品增強(qiáng)項(xiàng)目新產(chǎn)品開發(fā)項(xiàng)目概念開發(fā)項(xiàng)目計(jì)劃建造及發(fā)布共七十頁螺旋模型的優(yōu)點(diǎn)對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo)減少了過多測試或測試不足維護(hù)和開發(fā)之間并沒有本質(zhì)區(qū)別螺旋模型的特點(diǎn)風(fēng)險(xiǎn)驅(qū)動(dòng),需要相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),否則風(fēng)險(xiǎn)更大主要適用于內(nèi)部(nèibù)開發(fā)的大規(guī)模軟件項(xiàng)目,隨著過程的進(jìn)展演化,開發(fā)者和用戶能夠更好的識(shí)別和對(duì)待每一個(gè)演化級(jí)別上的風(fēng)險(xiǎn)隨著迭代次數(shù)的增加,工作量加大,軟件開發(fā)成本增加1.5經(jīng)典軟件過程(guòchéng)模型共七十頁(5)面向?qū)ο竽P?móxíng)噴泉(pēnquán)模型(FountainModel)分析設(shè)計(jì)實(shí)現(xiàn)測試集成演化特點(diǎn):主要用于支持面向?qū)ο箝_發(fā)過程體現(xiàn)了軟件創(chuàng)建所固有的迭代和無間隙的特征1.5經(jīng)典軟件過程模型共七十頁可重用(zhòngyòng)部件組裝模型(構(gòu)件集成模型)
(ComponentIntegrationModel)
構(gòu)件(components)也稱為組件,是一段實(shí)現(xiàn)一系列有確定接口的程序體,具有自己的功能和邏輯,能同其他構(gòu)件集成起來協(xié)調(diào)工作。該模型支持軟件重用(Reusability),對(duì)縮短軟件開發(fā)周期、降低項(xiàng)目成本有重要的現(xiàn)實(shí)意義。同時(shí),建造符合某應(yīng)用領(lǐng)域體系結(jié)構(gòu)標(biāo)準(zhǔn)的構(gòu)件,可以用來搭建分布式的、跨越不同操作平臺(tái)(集成化軟件開發(fā)環(huán)境(ISEE))的軟件,擴(kuò)展(kuòzhǎn)了軟件的應(yīng)用前景,促進(jìn)了軟件標(biāo)準(zhǔn)化、商品化的發(fā)展。因此,在此基礎(chǔ)上專家們又提出了“基于構(gòu)件的軟件工程”(CBSE)。構(gòu)件集成模型如下圖所示:1.5經(jīng)典軟件過程模型共七十頁
構(gòu)件集成模型軟件體系結(jié)構(gòu)被建立后,必須用構(gòu)件去充實(shí)(chōngshí),這些構(gòu)件可從復(fù)用庫中獲得,或者根據(jù)專門需要而開發(fā)。整個(gè)過程可以演化地進(jìn)行,面向?qū)ο蠓椒ńo予技術(shù)上的支持。1.5經(jīng)典軟件過程(guòchéng)模型共七十頁Sommerville提出基于組件開發(fā)有兩種思路:完成高層設(shè)計(jì),對(duì)設(shè)計(jì)中的組件給出描述,以便找出可復(fù)用的組件,這些組件可在體系結(jié)構(gòu)層次上加入或更詳細(xì)(xiángxì)的設(shè)計(jì)層次上加入。先根據(jù)需求搜尋可復(fù)用組件,再將設(shè)計(jì)建立在獲得的組件基礎(chǔ)上。這兩種思路可結(jié)合起來。設(shè)計(jì)(shèjì)系統(tǒng)體系結(jié)構(gòu)描述組件搜尋可復(fù)用組件集成系統(tǒng)先完成架構(gòu)設(shè)計(jì)的復(fù)用系統(tǒng)需求描述搜尋可復(fù)用組件對(duì)需求作某些修改體系結(jié)構(gòu)設(shè)計(jì)集成系統(tǒng)復(fù)用驅(qū)動(dòng)設(shè)計(jì)1.5經(jīng)典軟件過程模型共七十頁
構(gòu)件技術(shù)主要有三種流行標(biāo)準(zhǔn):OMG的CORBA:
對(duì)象管理組織發(fā)布的公用對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(CommonObjectRequestBrokerArchitecture)。通過一個(gè)對(duì)象請(qǐng)求代理(ORB)提供(tígōng)一系列服務(wù),使得一個(gè)構(gòu)件和其他構(gòu)件通信,而不管它們在系統(tǒng)中的位置,實(shí)現(xiàn)了遠(yuǎn)程對(duì)象通過接口進(jìn)行通信的機(jī)制。為了解決CORBA對(duì)象引用不透明、缺少多重接口、系統(tǒng)過于復(fù)雜等問題,專家們又開發(fā)了新一代面向?qū)ο笾虚g件平臺(tái)ICE(InternetCommunicationsEngine—互聯(lián)網(wǎng)通信引擎)。使構(gòu)建分布式應(yīng)用系統(tǒng)更容易、性能和伸縮性更好。
1.5經(jīng)典軟件過程(guòchéng)模型共七十頁微軟的COM/DCOM:微軟開發(fā)了構(gòu)件對(duì)象模型(ComponentObjectModel),它提供了運(yùn)行(yùnxíng)于windows之上的單個(gè)應(yīng)用系統(tǒng)使用不同廠商生產(chǎn)的構(gòu)件的規(guī)約。基于分布式環(huán)境下的COM稱為DCOM(DistributeCOM)。SUN的EJB(EnterpriseJavaBean):隨著Java在企業(yè)級(jí)應(yīng)用的地位日趨重要,Sun提出了一個(gè)統(tǒng)一的企業(yè)級(jí)Java平臺(tái)—J2EE(Java2EnterpriseEdition)。在J2EE中,EJB負(fù)責(zé)最核心的業(yè)務(wù)處理。它為服務(wù)器端的應(yīng)用程序提供了一種與廠商無關(guān)的Java接口,讓任何符合EJB規(guī)范的構(gòu)件都可以運(yùn)行在每一臺(tái)這樣的服務(wù)器上。
構(gòu)件技術(shù)主要(zhǔyào)有三種流行標(biāo)準(zhǔn):共七十頁(6)統(tǒng)一軟件開發(fā)過程
是由Rational公司的Booch、Jacobson、Rumbaugh提出的軟件過程模型,也稱RUP(RationalUnifiedProcess)。RUP重復(fù)一系列周期(zhōuqī),每個(gè)周期(zhōuqī)由一個(gè)交付給用戶的產(chǎn)品結(jié)束。每個(gè)周期劃分為初始、細(xì)化、構(gòu)造和移交四個(gè)階段,每個(gè)階段圍繞著五個(gè)核心工作流(需求、分析、設(shè)計(jì)、實(shí)現(xiàn)、測試)分別迭代。
模型見下圖:1.5經(jīng)典軟件過程(guòchéng)模型共七十頁RUP軟件開發(fā)生命周期共七十頁初始階段:進(jìn)行問題定義,確定目標(biāo),評(píng)估其可行性,降低關(guān)鍵風(fēng)險(xiǎn)。細(xì)化階段:制定項(xiàng)目計(jì)劃、配置各類資源、建立系統(tǒng)架構(gòu)(包括各類視圖)。構(gòu)造階段:開發(fā)(kāifā)整個(gè)產(chǎn)品,并確保產(chǎn)品可移交給用戶。移交階段:產(chǎn)品發(fā)布、安裝、用戶培訓(xùn)。在每個(gè)階段的每次迭代的最后,用例模型、分析模型、設(shè)計(jì)模型、實(shí)現(xiàn)模型都會(huì)增量,每個(gè)階段結(jié)束的里程碑處,管理層做出是否繼續(xù)、進(jìn)度、預(yù)算、是否給下一階段提供資助等決定。不同階段工作流的側(cè)重點(diǎn)不同,前兩階段大部分工作集中在需求、分析和架構(gòu)設(shè)計(jì)上;在構(gòu)造階段,重點(diǎn)轉(zhuǎn)移到詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)和測試上。1.5經(jīng)典軟件過
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級(jí)下學(xué)期教學(xué)計(jì)劃4篇
- 2024年版度擔(dān)保條款合同樣本版
- 公司工作計(jì)劃模板錦集6篇
- 生物教學(xué)工作計(jì)劃范文合集5篇
- 大班月份工作計(jì)劃怎么寫
- 六年級(jí)語文教案
- 小學(xué)語文教案
- 九年級(jí)數(shù)學(xué)教學(xué)工作計(jì)劃(5篇)
- 高中數(shù)學(xué)教學(xué)計(jì)劃范文匯編5篇
- 2022教師考核表個(gè)人述職報(bào)告范文【7篇】
- 青年產(chǎn)業(yè)園鋁灰和廢酸資源化綜合利用試驗(yàn)項(xiàng)目環(huán)評(píng)報(bào)告表
- 2024有限空間作業(yè)安全培訓(xùn)
- GB/T 44312-2024巡檢機(jī)器人集中監(jiān)控系統(tǒng)技術(shù)要求
- 統(tǒng)編版九下全冊古詩詞理解性默寫及答案
- 【市質(zhì)檢】福州市2024-2025學(xué)年高三年級(jí)第一次質(zhì)量檢測 物理試卷(含答案)
- CJT 195-2004 外層熔接型鋁塑復(fù)合管
- 工程圖學(xué)及計(jì)算機(jī)繪圖習(xí)題集
- 中國心力衰竭診斷和治療指南2024解讀
- 人教版三年級(jí)數(shù)學(xué)上冊第七單元《長方形和正方形》(大單元教學(xué)設(shè)計(jì))
- DBJ50-T-417-2022 建筑施工高處墜落防治安全技術(shù)標(biāo)準(zhǔn)
- 五年級(jí)上冊英語教案-Unit 4 Lesson 21 What Year Is It-冀教版
評(píng)論
0/150
提交評(píng)論