軟件過(guò)程范型的概念辨析_第1頁(yè)
軟件過(guò)程范型的概念辨析_第2頁(yè)
軟件過(guò)程范型的概念辨析_第3頁(yè)
軟件過(guò)程范型的概念辨析_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

軟件過(guò)程范型的概念辨析

1惡意軟件概念的規(guī)范在惡意軟件中,關(guān)于軟件方法的學(xué)術(shù)定義不一致,概念混淆。為實(shí)現(xiàn)軟件工程的目標(biāo),有必要規(guī)范上述兩個(gè)概念的定義和明確其作用。本文首先規(guī)范了軟件過(guò)程中的方法學(xué)和軟件過(guò)程范型等概念,然后討論了這幾種范型之間的關(guān)系,最后研究了各種范型的選擇原則和機(jī)制。2對(duì)軟件方法學(xué)的理解,既是對(duì)方法學(xué)、法學(xué)、軟件方法學(xué)的界定,也是對(duì)過(guò)程范型的內(nèi)涵型有關(guān)軟件方法學(xué)和軟件過(guò)程范型的概念,文獻(xiàn)中充斥著相互矛盾的觀(guān)點(diǎn)。一方面,面向?qū)ο蠓椒▽W(xué)、敏捷編程方法學(xué)等提法屢見(jiàn)不鮮;而另一方面,又把軟件方法學(xué)定義為“研究如何在軟件過(guò)程模型中導(dǎo)航各個(gè)階段和如何表示各階段中的產(chǎn)品”,與軟件過(guò)程范型的內(nèi)涵型混淆。因此,有必要予以?xún)烧咔逦亩x。2.1軟件開(kāi)發(fā)使用的方法和風(fēng)格軟件開(kāi)發(fā)方法學(xué)是在軟件生命周期中為完成各項(xiàng)任務(wù)所使用的一整套方法,它為完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù)規(guī)定了方法和風(fēng)格。目前,有面向過(guò)程、結(jié)構(gòu)化、面向?qū)ο?、面向代理、面向方面、面向測(cè)試、面向組件、面向服務(wù)等軟件開(kāi)發(fā)方法學(xué)。2.1多系統(tǒng)融合的過(guò)程框架軟件(開(kāi)發(fā))過(guò)程,也稱(chēng)為軟件(開(kāi)發(fā))生命周期,指軟件生存周期所涉及的一系列相關(guān)子過(guò)程,其中每個(gè)子過(guò)程都要完成一項(xiàng)活動(dòng)。在軟件項(xiàng)目實(shí)施中,為了獲得高質(zhì)量的軟件,要引入一種開(kāi)發(fā)策略,用于構(gòu)建、規(guī)劃和控制開(kāi)發(fā)過(guò)程。這種策略是一種過(guò)程框架,為軟件工程中的一系列活動(dòng)提供范型,即規(guī)定軟件過(guò)程中各項(xiàng)活動(dòng)及其步驟、中間產(chǎn)品(artifacts)及其約束機(jī)制,以期達(dá)到工程預(yù)期目標(biāo)。這種策略被稱(chēng)為軟件過(guò)程/開(kāi)發(fā)模型、軟件過(guò)程范型或工程范型。以下統(tǒng)稱(chēng)為軟件過(guò)程范型。在此模型指策略,而非一般意義上的模型如分析模型或設(shè)計(jì)模型。過(guò)程范型應(yīng)該是穩(wěn)定的和普遍適用的,能清晰和直觀(guān)地表達(dá)軟件開(kāi)發(fā)全過(guò)程。著名的軟件過(guò)程范型有周期范型(也稱(chēng)為線(xiàn)型順序過(guò)程模型或瀑布范型)、原型范型、螺旋范型、迭代和增量范型、形式化范型、模型驅(qū)動(dòng)范型(MDA)和敏捷開(kāi)發(fā)范型等。在過(guò)程范型中,有些過(guò)程是重量級(jí)的,要產(chǎn)生大量的分析和設(shè)計(jì)文檔;有些是輕量級(jí)的,如敏捷開(kāi)發(fā),不產(chǎn)生文檔。本文以下討論主要針對(duì)前者。2.2行為的說(shuō)明和描述軟件過(guò)程是概念化、表示和實(shí)現(xiàn)軟件系統(tǒng)的過(guò)程,其實(shí)就是抽象、建模和實(shí)現(xiàn)的過(guò)程。概念化是一種思維方式,在概念化過(guò)程中要用到抽象機(jī)制,它關(guān)注待解決的問(wèn)題,旨在提煉待建系統(tǒng)的核心元素。概念化的呈現(xiàn)形式就是表示,在表示時(shí)要用到記號(hào)或語(yǔ)言,表示是對(duì)概念化的實(shí)現(xiàn),其結(jié)果是一系列多層次和多視角的模型。模型是用某種形式化或語(yǔ)言(一套記號(hào)或術(shù)語(yǔ))對(duì)系統(tǒng)功能、結(jié)構(gòu)和/或行為的說(shuō)明(specification)、描述和表示。模型是對(duì)現(xiàn)實(shí)問(wèn)題的簡(jiǎn)化。其實(shí),各類(lèi)工程的實(shí)施都要依賴(lài)于模型扼要地表達(dá)系統(tǒng)。模型有利于各類(lèi)涉眾準(zhǔn)確理解系統(tǒng)的關(guān)鍵特征和復(fù)雜性,也有利于工程師關(guān)注系統(tǒng)的重點(diǎn)環(huán)節(jié),有利于工程師分析問(wèn)題和設(shè)計(jì)方案。建模有助于在軟件過(guò)程中認(rèn)知過(guò)程(分析問(wèn)題)和求解過(guò)程(提出方案)。根據(jù)抽象理論和認(rèn)知主體的視角,形式化地表達(dá)對(duì)系統(tǒng)的觀(guān)點(diǎn)就是建立模型的過(guò)程。理論決定了抽象層次即簡(jiǎn)化層次,主體決定了視角即簡(jiǎn)化的動(dòng)機(jī)。建模關(guān)鍵在于提煉系統(tǒng)的本質(zhì)和核心問(wèn)題,即只關(guān)注核心問(wèn)題,而忽視技術(shù)細(xì)節(jié)。建模的結(jié)果是得到描述系統(tǒng)的一套元素即模型。具體來(lái)講,軟件過(guò)程是從認(rèn)知問(wèn)題到求解方案的過(guò)程,即理解問(wèn)題并形成問(wèn)題域模型、求解問(wèn)題并形成方案域模型。認(rèn)知針對(duì)問(wèn)題,是對(duì)功能需求即系統(tǒng)的外向型行為的反映,簡(jiǎn)要描述方案的模型,目的在于分析問(wèn)題,要明確“做什么”,其模型簡(jiǎn)單重點(diǎn)是理解和翻譯。而求解針對(duì)方案,是對(duì)功能和性能即內(nèi)向型結(jié)構(gòu)細(xì)節(jié)的反映,明確描述方案的模型,目的在于設(shè)計(jì)方案,明確“如何做”,其模型復(fù)雜,重點(diǎn)是精化和適應(yīng)。如在線(xiàn)型過(guò)程范型中,要形成分析模型和設(shè)計(jì)模型。其中,分析模型是對(duì)現(xiàn)實(shí)的簡(jiǎn)化與抽象,而設(shè)計(jì)模型(方案)是對(duì)系統(tǒng)的簡(jiǎn)化與抽象。2.3編程范型編程范型規(guī)定了程序的編寫(xiě)和執(zhí)行的基本風(fēng)格,如用于表示程序基本元素(如對(duì)象、函數(shù)、變量等)的概念和抽象機(jī)制、完成計(jì)算的步驟等。編程范型經(jīng)歷了機(jī)器碼、宏匯編、面向過(guò)程、結(jié)構(gòu)化、面向?qū)ο?、面向事件、模型?qū)動(dòng)、面向代理、面向組件、面向服務(wù)等編程范型。編程范型與編程語(yǔ)言息息相關(guān),不同的編程語(yǔ)言提倡不同的編程范型。有些語(yǔ)言只支持某種編程范型,有些語(yǔ)言可支持多種編程范型。如面向?qū)ο蟪绦蚴且幌盗邢嗷プ饔玫膶?duì)象,而函數(shù)式程序則是函數(shù)計(jì)算的序列。3選擇軟件流程中模型的原則和機(jī)制在軟件過(guò)程中,各種范型之間存在著一定的關(guān)聯(lián)。選擇范型需要有原則和機(jī)制的支持。3.1面向?qū)嵤┑脑瓌t如前所述,軟件過(guò)程是概念化(抽象)、表示(建模)和實(shí)現(xiàn)的有機(jī)統(tǒng)一。概念及其抽象方法屬于方法學(xué)范疇,而方法的實(shí)施需要過(guò)程支持,即方法體現(xiàn)在過(guò)程中。表示的結(jié)果是模型,模型是過(guò)程中活動(dòng)的結(jié)果。軟件方法學(xué)與軟件過(guò)程范型的關(guān)系。軟件方法學(xué)注重解決軟件問(wèn)題的方法和風(fēng)格,而軟件過(guò)程范型注重解決問(wèn)題的過(guò)程框架及其(中間)產(chǎn)品、約束機(jī)制等。前者是一種基于面向思維的原則,而后者是一種面向?qū)嵤┑臋C(jī)制。前者只關(guān)注軟件過(guò)程中分析問(wèn)題、解決問(wèn)題的方法和風(fēng)格,而后者還要關(guān)注過(guò)程的步驟、模型之間的映射機(jī)制等細(xì)節(jié)。前者體現(xiàn)在后者之中,如若選用瀑布范型,則方法學(xué)體現(xiàn)在需求、分析、設(shè)計(jì)、編碼和測(cè)試等活動(dòng)中。需要強(qiáng)調(diào),某種軟件方法學(xué)與某種軟件過(guò)程范型沒(méi)有必然聯(lián)系,一種軟件方法學(xué)可用于不同的軟件過(guò)程范型,一種軟件過(guò)程范型也可采用不同的軟件方法學(xué)。但在具體軟件過(guò)程范型中最好用一種方法學(xué),以實(shí)現(xiàn)軟件過(guò)程的和諧和統(tǒng)一,從而避免鴻溝。如在線(xiàn)型過(guò)程模型中,若采用面向?qū)ο蟮姆椒ǚ缎?則在分析、設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)時(shí),最好也采用面向?qū)ο蟮姆椒?。方法學(xué)與編程范型的關(guān)系。過(guò)程范型中采用的方法學(xué)與編程范型要保持一致,以保證軟件過(guò)程中各種活動(dòng)之間的兼容性和避免設(shè)計(jì)鴻溝。軟件過(guò)程范型和模型的關(guān)系。軟件過(guò)程范型是軟件開(kāi)發(fā)的過(guò)程框架,是一種策略,用來(lái)指導(dǎo)軟件的生產(chǎn)過(guò)程。而模型是軟件過(guò)程中對(duì)系統(tǒng)建立的一系列中間產(chǎn)品,是對(duì)系統(tǒng)的簡(jiǎn)化視圖。在具體軟件過(guò)程中只能采用一種過(guò)程范型,而可產(chǎn)生一系列、多層次、多視角的模型。3.2溫度載荷的選擇軟件過(guò)程范型的選擇。根據(jù)系統(tǒng)的難易程度、開(kāi)發(fā)團(tuán)隊(duì)的工作方式等因素,選擇合適的軟件過(guò)程范型。若系統(tǒng)風(fēng)險(xiǎn)不大、需求不發(fā)生變更,可選擇瀑布模型;若系統(tǒng)風(fēng)險(xiǎn)大,可選擇RUP范型;若項(xiàng)目經(jīng)理全程參與,則選用敏捷過(guò)程范型。方法學(xué)的選擇。在一個(gè)過(guò)程范型中只能選擇一種方法學(xué),并且要與后期采用的編程范型保持一致,至少要兼容。如若用面向?qū)ο笳Z(yǔ)言編碼,則最好選擇面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法。編程范型的選擇。要有合適的開(kāi)發(fā)語(yǔ)言和環(huán)境,如Java和Eclipse,以便編碼和調(diào)試。3.3模型編碼與分析軟件過(guò)程需要語(yǔ)言及其環(huán)境的支持。語(yǔ)言及其環(huán)境支撐著過(guò)程的實(shí)施,用于描述過(guò)程中的各種活動(dòng)及其結(jié)果(模型)。如在分析和設(shè)計(jì)階段,需要支持文字?jǐn)⑹龊?或圖示的環(huán)境,以便形成模型;在編碼階段,需要編碼和調(diào)試環(huán)境。語(yǔ)言及其環(huán)境的選擇要與方法學(xué)范型、編程范型一致,以便支持過(guò)程范型中的建模、編碼和測(cè)試等活動(dòng)。3.4基于服務(wù)對(duì)象的軟件設(shè)計(jì)在軟件過(guò)程中,首先要選擇軟件過(guò)程范型,其次基于編程范型選擇軟件方法學(xué),再者選擇適宜的語(yǔ)言及其支撐工具,以便實(shí)施軟件過(guò)程。目前,主流應(yīng)用軟件開(kāi)發(fā)采用面向?qū)ο蟮木幊谭缎?。?duì)于風(fēng)險(xiǎn)大的項(xiàng)目,過(guò)程范型采用RUP,方法學(xué)采用面向?qū)ο蠓椒▽W(xué),采用基于UML分析和設(shè)計(jì)的工具如StarUML,采用編碼、調(diào)試工具如Eclipse以支撐軟件過(guò)程的實(shí)施。4范型的選擇原則和機(jī)制在實(shí)施軟件項(xiàng)目時(shí),選擇過(guò)程中的范型至關(guān)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論