亚洲熟妇av一区二区三区,久久久久久精品观看sss,免费观看四虎精品国产永久,国产成人精品一区二三区熟女,天堂网在线最新版www资源网

軟件架構(gòu)設(shè)計系列之三(軟件開發(fā)方法)(軟件開發(fā)架構(gòu)模式)

軟件架構(gòu)設(shè)計系列包括軟件生命周期、軟件開發(fā)模型、軟件開發(fā)方法、基于架構(gòu)的軟件開發(fā)、軟件架構(gòu)設(shè)計等。本文為系列之三——軟件開發(fā)方法。

軟件開發(fā)方法

軟件開發(fā)方法有很多種分類方法。從開發(fā)風(fēng)范上,可分為自頂向下和自底向上的開發(fā)方法;從性質(zhì)上,可分為形式化方法和非形式化方法;從使用范圍上,可分為整體性方法和局部性方法。

我們主要講的軟件開發(fā)方法是更加具體的方法:結(jié)構(gòu)化方法、面向?qū)ο蠓椒?、基于?gòu)件的軟件開發(fā)方法、面向服務(wù)的開發(fā)方法、基于模型的軟件開發(fā)方法。

軟件架構(gòu)設(shè)計系列之三(軟件開發(fā)方法)(軟件開發(fā)架構(gòu)模式)

結(jié)構(gòu)化方法是一種自頂向下、逐步求精,以模塊化為基點,信息隱蔽、模塊獨立為準(zhǔn)則的軟件開發(fā)方法。分解和抽象是人們控制問題復(fù)雜性的兩種基本手段。結(jié)構(gòu)化方法是由結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化程序設(shè)計三部分有機(jī)組合而成的。

結(jié)構(gòu)化分析方法進(jìn)行需求分析,其建立的模型的核心是數(shù)據(jù)字典,圍繞這個核心,有三個層次的模型,分別是數(shù)據(jù)模型、功能模型和行為模型。用實體聯(lián)系圖(E-R 圖)表示數(shù)據(jù)模型,用數(shù)據(jù)流圖(DFD) 表示功能模型,用狀態(tài)轉(zhuǎn)換圖(STD)表示行為模型。

軟件架構(gòu)設(shè)計系列之三(軟件開發(fā)方法)(軟件開發(fā)架構(gòu)模式)

結(jié)構(gòu)化設(shè)計包括架構(gòu)設(shè)計、接口設(shè)計、數(shù)據(jù)設(shè)計和過程設(shè)計等任務(wù)。它是一種面向數(shù)據(jù)流的設(shè)計方法,是以結(jié)構(gòu)化分析階段所產(chǎn)生的成果為基礎(chǔ),進(jìn)一步自頂而下、逐步求精和模塊化的過程。概要設(shè)計階段的主要任務(wù)是設(shè)計軟件的結(jié)構(gòu)、確定系統(tǒng)的模塊組成,以及每個模塊之間的關(guān)系。它采用模塊結(jié)構(gòu)圖(包括模塊、調(diào)用、數(shù)據(jù))來描述程序的結(jié)構(gòu),也可以使用層次圖和 HIPO(層次圖加輸入/處理/輸出圖)。

軟件架構(gòu)設(shè)計系列之三(軟件開發(fā)方法)(軟件開發(fā)架構(gòu)模式)

面向?qū)ο蠓椒?/strong>是面向?qū)ο蟮模詫ο鬄橹行?,把?shù)據(jù)封裝在對象內(nèi)部成為對象的屬性,把面向過程的函數(shù)轉(zhuǎn)為對象的行為方法,把對象抽象成為類,用以描述和設(shè)計、開發(fā)軟件系統(tǒng)。面向?qū)ο蠓椒ㄒ钥陀^世界中的對象為中心,其分析和設(shè)計思想符合人們的思維方式,容易被人們接受。在面向?qū)ο蠓椒ㄖ校治龊驮O(shè)計的界限并不明顯,它們采用相同的符號表示,分析階段可以平滑的過渡到設(shè)計階段??陀^世界中對象與對象間的關(guān)系相對穩(wěn)定,因此用面向?qū)ο蠓椒ǚ治龊驮O(shè)計的結(jié)果也相對比較穩(wěn)定。

面向?qū)ο蠓治?/span>的目標(biāo)是開發(fā)一系列模型,這些模型描述計算機(jī)軟件,當(dāng)它工作時以滿足客戶的需求。對象技術(shù)的流行,演化出了數(shù)十種不同的 OOA 方法,每個方法都引入了一個產(chǎn)品或系統(tǒng)分析的過程、一組過程演化的模型及使軟件工程師能夠以一致的方式創(chuàng)建每個模型的符號體系。其中比較流行的方法包括 OMT、OOA等方法。但不管哪種方法,面向?qū)ο蠓治龅闹饕襟E基本是類似的,即:① 發(fā)現(xiàn)角色/參與者,② 發(fā)現(xiàn)用例,③ 建立用例模型,④ 進(jìn)行領(lǐng)域分析,⑤ 建立對象—關(guān)系模型,⑥ 建立對象—行為模型,⑦ 建立功能模型。

軟件架構(gòu)設(shè)計系列之三(軟件開發(fā)方法)(軟件開發(fā)架構(gòu)模式)

OOA/OOD方法:OOA 模型中包括主題、對象類、結(jié)構(gòu)、屬性和服務(wù) 5 個層次,需經(jīng)過標(biāo)識對象類、標(biāo)識結(jié)構(gòu)與關(guān)聯(lián)(包括繼承、聚合、組合、實例化等)、劃分主題、定義屬性、定義服務(wù) 5 個步驟來完成整個分析工作。

OMT方法:OMT 是對象建模技術(shù)的縮寫,它主要用于分析、系統(tǒng)設(shè)計和對象設(shè)計。包括對象模型(靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的“數(shù)據(jù)”性質(zhì),通常采用類圖)、動態(tài)模型(瞬時的、行為化的系統(tǒng)“控制”性質(zhì),通常使用狀態(tài)圖)和功能模型(表示變化的系統(tǒng)的“功能”性質(zhì),通常使用數(shù)據(jù)流圖)。

軟件架構(gòu)設(shè)計系列之三(軟件開發(fā)方法)(軟件開發(fā)架構(gòu)模式)

結(jié)構(gòu)化分析與面向?qū)ο蠓治龇椒ㄖg的最大差別是:結(jié)構(gòu)化分析方法把系統(tǒng)看作一個過程的集合體,包括人完成的和電腦完成的;而面向?qū)ο蠓椒▌t把系統(tǒng)看成一個相互影響的對象集。結(jié)構(gòu)化分析方法的特點是利用數(shù)據(jù)流圖來幫助人們理解問題,對問題進(jìn)行分析。

基于構(gòu)件的軟件開發(fā)簡單來說就是使用可復(fù)用的構(gòu)件來開發(fā)應(yīng)用程序?;跇?gòu)件的軟件系統(tǒng)中的構(gòu)件可以是商用構(gòu)件,也可以是通過其它途徑獲得的構(gòu)件(如自行開發(fā))。基于構(gòu)件的軟件開發(fā)將軟件開發(fā)的重點從程序編寫轉(zhuǎn)移到了基于已有構(gòu)件的組裝,以更快地構(gòu)造系統(tǒng),減輕用來支持和升級大型系統(tǒng)所需要的維護(hù)負(fù)擔(dān),從而降低軟件開發(fā)的費用,提高軟件的開發(fā)效率和質(zhì)量。

構(gòu)件指的是一個獨立發(fā)布的功能部分,可以通過其他接口訪問他的服務(wù)。

基于構(gòu)件的軟件開發(fā)可以實現(xiàn)分析、設(shè)計、類等多層次上的重用。在分析抽象層上,重用元素有子系統(tǒng)、類;在設(shè)計層上重用元素有系統(tǒng)體系結(jié)構(gòu)、子系統(tǒng)體系結(jié)構(gòu)、設(shè)計模式、框架、容器、構(gòu)件、類庫、模板、抽象類等。

軟件重用的形式大體可分為垂直式重用和水平式重用。

水平式重用是重用不同應(yīng)用領(lǐng)域中的軟件元素,例如數(shù)據(jù)結(jié)構(gòu)、排序算法、人機(jī)界面構(gòu)件等。標(biāo)準(zhǔn)函數(shù)庫是一種典型的原始的水平式重用機(jī)制。

垂直式重用是在一類具有較多公共性的應(yīng)用領(lǐng)域之間重用軟件構(gòu)件。垂直式重用活動的主要關(guān)鍵點在于領(lǐng)域分析:根據(jù)應(yīng)用領(lǐng)域的特征和相似性,預(yù)測軟件構(gòu)件的可重用性。

軟件架構(gòu)設(shè)計系列之三(軟件開發(fā)方法)(軟件開發(fā)架構(gòu)模式)

模型驅(qū)動開發(fā)(MDD Model-Driven Development):一種比較新的軟件開發(fā)方法——面向模型的分析設(shè)計方法。提到MDD,就不得不提到MDA,MDA(Model Driven Architecture)模型驅(qū)動架構(gòu),它是由國際對象管理組織(OMG,Object Management Group)于2001年7月提出的基于MDD方法的模型驅(qū)動架構(gòu)。所謂驅(qū)動架構(gòu),其實就是把模型和具體的技術(shù)分離,實現(xiàn)關(guān)鍵業(yè)務(wù)部分的可移植性、互操作性和可重用性。由于業(yè)務(wù)和代碼的解耦,可以更好的適應(yīng)兩個層次上的擴(kuò)展和自適應(yīng)性。技術(shù)的迭代發(fā)展和業(yè)務(wù)的變化互無影響。

MDD驅(qū)動流程:

1、由實際業(yè)務(wù)場景得出初步的領(lǐng)域和限界上下文(module),以及上下文之間的關(guān)系;

2、分析上下文,劃分實體和值對象;

3、關(guān)聯(lián)聚合實體、值對象,從而得到聚合的范疇和聚合根;

4、從聚合根設(shè)計倉儲(資源庫),同時設(shè)計如何創(chuàng)建實體和值對象;

5、應(yīng)用模型并在實踐中不斷重構(gòu)模型。

軟件架構(gòu)設(shè)計系列之三(軟件開發(fā)方法)(軟件開發(fā)架構(gòu)模式)

評論:

軟件開發(fā)方法也可以認(rèn)為是對軟件開發(fā)的思想的具體化,是軟件開發(fā)模型中特定過程或活動的實現(xiàn)方法。軟件開發(fā)模型的概念比較抽象,軟件開發(fā)方法則比較具體。軟件開發(fā)方法作為模型的實踐,是諸多知識和經(jīng)驗的總結(jié)與凝練,想要掌握這些知識,一定要抓住主干,深入的學(xué)習(xí)理論,理論指導(dǎo)實踐,才能做到融會貫通和靈活運(yùn)用。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。