資料內(nèi)容:
2.1 軟件開發(fā)方法
(1) 結(jié)構(gòu)化開發(fā)方法
用戶至上,自頂向下,逐步分解(求解),嚴格區(qū)分工作階段,每階段有任務(wù)與成果,強調(diào)系
統(tǒng)開發(fā)過程的整體性和全局性,系統(tǒng)開發(fā)過程工程化,文檔資料標準化。
優(yōu)點:
理論基礎(chǔ)嚴密,它的指導思想是用戶需求在系統(tǒng)建立之前就能被充分了解和理解。由此可見,
結(jié)構(gòu)化方法注重開發(fā)過程的整體性和全局性。
缺點:
開發(fā)周期長;文檔、設(shè)計說明繁瑣,工作效率低;
要求在開發(fā)之初全面認識系統(tǒng)的信息需求,充分預料各種可能發(fā)生的變化,但這并不十分現(xiàn)
實;若用戶參與系統(tǒng)開發(fā)的積極性沒有充分調(diào)動,就會造成系統(tǒng)交接過程不平穩(wěn),使系統(tǒng)運
行與維護管理難度加大。
階段固化,不善變化,適用于需求明確的開發(fā)場景。(2) 原型法開發(fā)方法
適用于需求不明確的開發(fā),按功能分為水平原型 (界面)、垂直原型(復雜算法):按最終結(jié)果
分為拋棄式原型、演化式原型。原型法的特點在于原型法對用戶的需求是動態(tài)響應(yīng)、逐步納
入的,系統(tǒng)分析、設(shè)計與實現(xiàn)都是隨著對一個工作模型的不斷修改而同時完成的,相互之間
并無明顯界限,也沒有明確分工。系統(tǒng)開發(fā)計劃就是一個反復修改的過程。適于用戶需求開
始時定義不清、管理決策方法結(jié)構(gòu)化程度不高的系統(tǒng)開發(fā),開發(fā)方法更易被用戶接受,但如
果用戶配合不好,盲目修改,就會拖延開發(fā)過程。拋棄型原型 (Throw-lt-Away Prototype) ,
此類原型在系統(tǒng)真正實現(xiàn)以后就放棄不用了。進化型原型(Evolutionary Prototype),此類原
型的構(gòu)造從目標系統(tǒng)的一個或幾個基本需求出發(fā)通過修改和追加功能的過程逐漸豐富,演化
成最終系統(tǒng)。
(3)面對象方法
最早來源于仿真領(lǐng)域,其特點是系統(tǒng)的描述及信息模型的表示與客觀實體相對應(yīng),符合人們
的思維習慣,有利于系統(tǒng)開發(fā)過程中用戶與開發(fā)人員的交流和溝通,縮短開發(fā)周期,提供系
統(tǒng)開發(fā)的準確性和效率。具有更好的復用性,關(guān)鍵在于建立一個全面、合理、統(tǒng)一的模型,
分析、設(shè)計、實現(xiàn)三個階段界限不明確
用面向?qū)ο蠓椒ㄩ_發(fā)軟件,通常需要建立三種形式的模型:對象模型(描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu))》、
動態(tài)模型 (描述系統(tǒng)控制結(jié)構(gòu)) 、功能模型 (描述系統(tǒng)功能)。
(4)面向服務(wù)的方法
以粗粒度、松散耦合的系統(tǒng)功能為核心,強調(diào)系統(tǒng)功能的標準化和構(gòu)件化,加強了系統(tǒng)的靈
活性可復用性和可演化性。從概念上講,SO 方法有三個主要的抽象級別:操作、服務(wù)、業(yè)務(wù)流
程。操作:代表單個邏輯工作單元(LUW)的事務(wù)。執(zhí)行操作通常會導致讀、寫或修改一個或
多個持久性數(shù)據(jù)。SOA 操作可以直接與面向?qū)ο?(00) 的方法相比。它們都有特定的結(jié)構(gòu)
化接口,并且返回結(jié)構(gòu)化的響應(yīng)。完全同方法一樣,特定操作的執(zhí)行可能涉及調(diào)用附加的操
作。操作位于晶底層服務(wù): 代表操作的邏輯分組。例如,如果我們將 CustomerProfiling 視
為服務(wù),則按照電話號碼查找客戶、 按照名稱和郵政編碼列出顧客和保存新客戶的數(shù)據(jù)就
代表相關(guān)的操作。
業(yè)務(wù)流程:為實現(xiàn)特定業(yè)務(wù)目標而執(zhí)行的一組長期運行的動作或活動。業(yè)務(wù)流程通常包括多
個業(yè)務(wù)調(diào)用。業(yè)務(wù)流程的例子有: 接納新員工、 出售產(chǎn)品或服務(wù)和完成訂單。