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

下載本文檔

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

文檔簡介

課程成績計(jì)算

?項(xiàng)目和作業(yè)10%

,出勤10%

?大考80%

?總分排序后按30%(A/A-)類推

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程2/154

參考書N

?實(shí)用軟件工程與實(shí)訓(xùn)\\

杜文潔、白萍,清華大學(xué)出版社,2009年/

?實(shí)用軟件工程(第二版)'

棄產(chǎn)人杰、殷人昆、陶永雷,清華大學(xué)出版社,1997

?軟件工程(第二版)

齊治昌、譚慶平、寧洪,高等教育出版社,2004年

?軟件系統(tǒng)開發(fā)技術(shù)(修訂版)

潘錦平、施小英、姚天昉,西安電子科技大學(xué)出版社,

1997年(

?SoftwareEngineeringAPractitionersApproach'

teixthEdition),RogerSPressman,2003年

埠反)鄭人杰等譯,機(jī)械工業(yè)出版社,2007年

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程3/154

內(nèi)容摘要

計(jì)算機(jī)軟件

軟件工程

軟件過程

軟件過程模型

敏捷軟件開發(fā)

CASE工具與環(huán)境

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程4/154

內(nèi)容摘要

計(jì)算機(jī)軟件

工程

軟件過程

軟件過程模型

敏捷軟件開發(fā)

CASE工具與環(huán)境

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程5/154

計(jì)算機(jī)軟件

?計(jì)算機(jī)軟件指計(jì)算機(jī)系統(tǒng)中的程序及

其文檔

-程序是計(jì)算任務(wù)的處理對象和處理規(guī)則的描述

?計(jì)算任務(wù):任何以計(jì)算機(jī)為處理工具的任務(wù)

?處理對象:數(shù)據(jù)(如數(shù)據(jù)、文字、圖形、圖像、聲音等,

它們只是表示,而無含義)或信息(數(shù)據(jù)及有關(guān)的含義)

?處理規(guī)則一般指處理的動(dòng)作和步驟。程序必須裝入計(jì)算機(jī)

內(nèi)才能工作

-文檔是為了便于了解程序所需的闡明性資料,文檔

一般是給人看的,不一定裝入計(jì)算機(jī)

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程6/154

軟件的發(fā)展4

?1946-1956年?

從計(jì)算機(jī)問世到實(shí)用的高級(jí)程序語言出現(xiàn)前4

A存儲(chǔ)容量比較小,運(yùn)算速度比較慢

?采用個(gè)體工作方式,用低級(jí)語言編寫程序|

A應(yīng)用領(lǐng)域主要是以數(shù)值數(shù)據(jù)處理為主的科學(xué)計(jì)算,

其特點(diǎn)是輸入、輸出量較小

A衡量程序質(zhì)量的標(biāo)準(zhǔn)主要是功效,即運(yùn)行時(shí)間省、

占用內(nèi)存小(

?主要研究內(nèi)容是科學(xué)計(jì)算程序、服務(wù)性程序和程'

序庫,研究對象是順序程序\

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程7/154

?1956-19684求

從實(shí)用的高級(jí)程序語言出現(xiàn)到軟件工程出現(xiàn)谷。

A存儲(chǔ)器容量大,外圍設(shè)備得到迅速發(fā)展,出晶

了高級(jí)程序設(shè)計(jì)語言4

A應(yīng)用領(lǐng)域包括數(shù)據(jù)處理(非數(shù)值數(shù)據(jù)),其特

點(diǎn)是計(jì)算量不大,但輸入、輸出量卻較大

A高速主機(jī)與低速外圍設(shè)備的矛盾突出,出現(xiàn)了

操作系統(tǒng)、并發(fā)程序、數(shù)據(jù)庫及其管理系統(tǒng)

A20世紀(jì)60年代初提出了軟件一詞,開始認(rèn)識(shí)到

文檔的重要性

A研究高級(jí)程序設(shè)計(jì)語言、編譯程序、操作系統(tǒng)、

支持編程的工具及各種應(yīng)用軟件

乍方式逐步從個(gè)體方式轉(zhuǎn)向合作方式

帶出現(xiàn)軟件感機(jī)技術(shù)學(xué)院信息技術(shù)系軟件工程課程8/154

■1968年-至今於

從軟件工程出現(xiàn)到現(xiàn)在N

?硬件向巨型機(jī)和微型機(jī)二個(gè)方向發(fā)展,出現(xiàn)學(xué)

計(jì)算機(jī)網(wǎng)絡(luò),軟件方面提出了軟件工程,出現(xiàn)

了“計(jì)算機(jī)輔助軟件工程”(CASE)

?計(jì)算機(jī)的應(yīng)用領(lǐng)域滲透到各個(gè)業(yè)務(wù)領(lǐng)域,出現(xiàn)

了嵌入式應(yīng)用,其特點(diǎn)是受制于它所嵌入的宿

主系統(tǒng)

>開發(fā)方式逐步由個(gè)體合作方式轉(zhuǎn)向工程方式

>軟件工程方面的研究主要包括軟件開發(fā)模型、

軟件開發(fā)方法及技術(shù)、軟件工具與環(huán)境、軟件

過程、軟件自動(dòng)化系統(tǒng)等

g一件方面研究以智能化、自動(dòng)化、集成化、并

BT行化、以及自然化為標(biāo)志的軟件開發(fā)新技術(shù)

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程9/154

軟件危機(jī)

許多軟件項(xiàng)目不能滿足客戶的要求

許多軟件項(xiàng)目超出預(yù)算和時(shí)間安排(

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程10/154

軟件危機(jī)的表現(xiàn)盤

對軟件開發(fā)成本和進(jìn)度的估計(jì)常常很不正確飛

用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生

軟件產(chǎn)品的質(zhì)量往往靠不住

軟件常常是不可維護(hù)的

軟件通常沒有適當(dāng)?shù)奈臋n資料

軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升

軟件開發(fā)生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用罟

速普及深入的趨勢1

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程11/154

軟件危機(jī)的原因

軟件是邏輯產(chǎn)品,開發(fā)進(jìn)度、成本難以估計(jì)

缺乏或不完整、不一致的文檔給維護(hù)帶來困難

用戶對軟件需求的描述往往不夠精確,有遺漏,有

二義

軟件開發(fā)人員對需求的理解與用戶的本來愿望有差

大型軟件項(xiàng)目需多人協(xié)同完成,缺乏管理經(jīng)驗(yàn)

開發(fā)人員不能有效地、獨(dú)立自主地處理大型軟件的

全部關(guān)系

缺乏有力的方法學(xué)和工具的支持

軟件項(xiàng)目的特殊性和人類智力的局限性

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程12/154

克服軟件危機(jī)的途徑

?消除錯(cuò)誤的概念和做法

?推廣使用成功的開發(fā)技術(shù)和方法

?使用軟件工具和軟件工程支持環(huán)境

?加強(qiáng)軟件管理

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程13/154

軟件的特點(diǎn)4

?軟件是一種邏輯實(shí)體,而不是有形的余之

統(tǒng)元件,其開發(fā)成本和進(jìn)度難以準(zhǔn)確地,

估算J

?軟件是被開發(fā)的或被設(shè)計(jì)的,它沒有明\

顯的制造過程,一旦開發(fā)成功,只需復(fù)/

制即可,但其維護(hù)的工作量大)

?軟件的使用沒有硬件那樣的機(jī)械磨損和,

老化問題\

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程14/154

圖1.1硬件的故障曲線圖1.2軟件的故障曲線

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程15/154

其它特點(diǎn):

-軟件的開發(fā)和運(yùn)行常受到計(jì)算機(jī)硬伴

的限制,對計(jì)算機(jī)硬件有著不同程度

的依賴性

-軟件的開發(fā)至今尚未完全實(shí)現(xiàn)自動(dòng)化

?軟件成本相當(dāng)昂貴

?相當(dāng)多的軟件工作涉及到社會(huì)因素

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程16/154

195019701985

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程17/154

軟件的分類N

?系統(tǒng)軟件:屬于計(jì)算機(jī)系統(tǒng)中最靠近硬件的一迫

其它軟件一般都通過系統(tǒng)軟件發(fā)揮作用,它與具,

體的應(yīng)用領(lǐng)域無關(guān)。如操作系統(tǒng)、編譯程序等。J

■支持軟件:支持軟件的開發(fā)和維護(hù)的軟件。如數(shù)[

據(jù)庫管理系統(tǒng)、網(wǎng)絡(luò)軟件、軟件開發(fā)環(huán)境等。\

?應(yīng)用軟件:特定應(yīng)用領(lǐng)域?qū)S玫能浖?。如?shí)時(shí)軟(

件、嵌入式軟件、科學(xué)和工程計(jì)算軟件、事務(wù)處)

理軟件、人工智能軟件等。?

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程18/154

?按軟件工作方式劃分:

■實(shí)時(shí)處理軟件

■分時(shí)軟件

■交互式軟件

■批處理軟件

?按軟件服務(wù)對象的范圍劃分:

■項(xiàng)目軟件

L產(chǎn)品軟件

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程19/154

?按使用的頻度進(jìn)行劃分:

■一次使用

■頻繁使用

?按軟件失效的影響進(jìn)行劃分:

■高可靠性軟件

■一般可靠性軟件

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程20/154

軟件語言

softwarelanguage

軟件語言是用于書寫計(jì)算機(jī)軟件的語

它主要包括:

需求定義語言

功能性語言

設(shè)計(jì)性語言

實(shí)現(xiàn)性語言(即程序設(shè)計(jì)語言)

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程21/154

需求定義語言

requirementsdefinitionlanguage

需求定義語言用來書寫軟件需求定義。

軟件需求定義是軟件功能需求和非功能需)

求的定義性描述。軟件功能需求刻畫軟件“做(

什么”,軟件非功能需求刻畫諸如功能性限制)

設(shè)計(jì)限制、環(huán)境描述、數(shù)據(jù)與通信規(guī)程及項(xiàng)目(

管理等)

典型的需求定義語言有PSL語言(Problem

StatementLanguage問題陳述語言)

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程22/154

功能性語言

functionallanguage

功能性語言用來書寫軟件功能規(guī)約

(functionalspecification)J

軟件功能規(guī)約是軟件功能的嚴(yán)格而\

完整的陳述。通常它只刻畫軟件系統(tǒng)f

“做什么”的外部功能,而不涉及系統(tǒng))

“如何做”的內(nèi)部算法。(

0^型的功能性語言有廣譜語言、z語)

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程23/154

設(shè)計(jì)性語言A

designlanguage

設(shè)計(jì)性語言用來書寫軟件設(shè)計(jì)規(guī)約(design/

specification)J

軟件設(shè)計(jì)規(guī)約是軟件設(shè)計(jì)的嚴(yán)格而完整的(

陳述。一方面,它是軟件功能規(guī)約的算法性細(xì))

化,刻畫軟件“如何做”的內(nèi)部算法,另一方(

面,它是軟件實(shí)現(xiàn)的依據(jù)。)

典型的設(shè)計(jì)性語言有PDL語言(Program(

DesignLanguage)/

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程24/154

實(shí)現(xiàn)性語言N

實(shí)現(xiàn)性語言用來書寫計(jì)算機(jī)程序q

實(shí)理性語言也稱編程語言或程序設(shè)計(jì)

語言(programminglanguage)1

程序設(shè)計(jì)語言可按語言的級(jí)別、對使用)

者的要求、應(yīng)用范圍、使用方式、成分「

性質(zhì)等多種角度進(jìn)行分類/

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程25/154

?按語言級(jí)別分:低級(jí)語言和高級(jí)語不

低級(jí)語言是與特定計(jì)算機(jī)體系結(jié)構(gòu)或

相關(guān)的程序設(shè)計(jì)語言,如機(jī)器語言、匯

編語言。其特點(diǎn)是與機(jī)器有關(guān),功效高,

但使用復(fù)雜,開發(fā)費(fèi)時(shí))難維護(hù)。

高級(jí)語言是不反映特定計(jì)算機(jī)體系結(jié)構(gòu)

的程序設(shè)計(jì)語言,它的表示方法比低級(jí)

語言更接近于待解問題的表示方法。其

特點(diǎn)是在一定程度上與具體機(jī)器無關(guān),

易學(xué)、易用、易維護(hù)。但高級(jí)語言程序

線睥后產(chǎn)生的目標(biāo)程序的功效往往較

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程26/154

?按用戶要求分:過程式語言和非過程式]醯

過程式語言(procedurallanguage)是述母

指明一列可執(zhí)行的運(yùn)算及運(yùn)算次序來描述計(jì)闋

過程的程序設(shè)計(jì)語言。如FORTRAN、

COBOL、C等。

非過程式語言(nonprocedurallanguage)

是不顯式指明處理過程細(xì)節(jié)的程序設(shè)計(jì)語言。

在這種語言中盡量引進(jìn)各種抽象度較高的非過

程性描述手段,以期做到在程序中增加“做什(

么”的描述成分,減少“如何做”的細(xì)節(jié)描述。

弋語言(4GL)、函數(shù)式語言、邏輯式

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程27/154

也可稱:命令式語言和申述式語言

命令式語言(imperativelanguage)W

過程式語言。彳

申述式語言(declarativelanguage)

是著重描述要處理什么,而非描述如何處

理的語言。申述式語言程序是關(guān)于問題解

的約束陳述,這些約束迫使含于實(shí)現(xiàn)中的

算法處理機(jī)制生成一個(gè)解或一組解。如函

數(shù)式語言、邏輯式語言。

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程28/154

函數(shù)式語言(functionalprogramming

language)中函數(shù)是構(gòu)造程后的基本成分)

供一些設(shè)施用于構(gòu)造更為復(fù)雜的函數(shù)。程序

員根據(jù)提出的問題去定義求解函數(shù)(即主程

序),其中可能包含一些輔助函數(shù)。如Lisp語-

言。\

邏輯式語言(logicprogramminglanguage)

的基本運(yùn)算單位是謂詞。謂詞定義了變元間的

邏輯關(guān)系。例如,Prolog語言的基本形式是(

Horn子句,其程序圍繞著某一主題的事實(shí)、規(guī)

嘛因問三類語句組成。這三類語句分別用來

魂事實(shí)、堂人極糜和掾出國器

29/154

?按應(yīng)用范圍分:通用語言和專用語卷Z

通用語言指目標(biāo)非單一的語言,如Q

FORTRAN、COBOL、C等。Q

專用語言指目標(biāo)單一的語言,如自動(dòng)(

數(shù)控程序APT。\

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程30/154

?按使用方式分:交互式語言和非交道

L口口

交互式語言指具有反映人機(jī)交互作用

的語言,如BASIC

非交互式語言指不反映人機(jī)交互作用

的語言,如FORTRAN、COBOL

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程31/154

?按成分性質(zhì)分:順序語言、并發(fā)語言

分布語言

順序語言指只含順序成分的語言,如

FORTRAN.Co

并發(fā)語言指含有并發(fā)成分的語言,如

ModularAda、并發(fā)Pascal。

分布語言指考慮到分布計(jì)算要求的語)

言,如Modula。\

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程32/154

文檔語言

documentationlanguage

?文檔語言用來書寫軟件文檔。

計(jì)算機(jī)軟件文檔是計(jì)算機(jī)開發(fā)、維護(hù)J

和使用過程的檔案資料和對軟件本身的(

闡述性資料。)

通常用自然語言或半形式化語言書寫。、

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程33/154

內(nèi)容摘要

計(jì)算機(jī)軟件

軟件工程

軟件過程

軟件過程模型

敏捷軟件開發(fā)

CASE工具與環(huán)境

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程34/154

軟件工程定義*

1968年NATO(北大西洋公約組織)會(huì)議上首次提的

?FritzBauer:軟件工程是為了經(jīng)濟(jì)地獲得可靠研

和能在實(shí)際機(jī)器上高效運(yùn)行的軟件而建立和使用的

好的工程原則

?IEEE:軟件工程是(1)修系統(tǒng)化的、規(guī)范的、(

可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)的過、

程,即將工程化應(yīng)用于軟件中;(2)(1)中所述,

方法的研究\

?計(jì)算機(jī)科學(xué)技術(shù)百科全書:軟件工程是應(yīng)用計(jì)算機(jī),

科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和〈

方法制作軟件的工程}

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程35/154

軟件工程的框架N

?目標(biāo):

生產(chǎn)具有正確性、可用性以及價(jià)格合宜的產(chǎn)$

正確性反映軟件產(chǎn)品實(shí)現(xiàn)相應(yīng)功能規(guī)約的程度i

可用性反映軟件的基本結(jié)構(gòu)、實(shí)現(xiàn)及其文檔為I

用戶可用的程度;

價(jià)格合宜反映軟件開發(fā)與運(yùn)行的總代價(jià)滿足用

戶要求的程度。/

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程36/154

,過程(Process):

生產(chǎn)一個(gè)最終滿足需求且達(dá)到工程

標(biāo)的軟件產(chǎn)品所需要的步驟

軟件工程過程包括:開發(fā)過程、運(yùn)作(

過程、維護(hù)過程、管理過程、支持過程、'

獲取過程、供應(yīng)過程、剪裁過程等1

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程37/154

?原則:

選取適宜的開發(fā)模型

采用合適的設(shè)計(jì)方法

提供高質(zhì)量的工程支持

重視軟件工程的管理

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程38/154

軟件生存周期

(softwarelifecycle)

?軟件有一個(gè)孕育、誕生、成長、成熟、衰

亡的生存過程。這個(gè)過程即為計(jì)算機(jī)軟件)

的生存周期\

,軟件生存周期大體可分為如下幾個(gè)活動(dòng):)

計(jì)算機(jī)系統(tǒng)工程、需求分析、設(shè)計(jì)、編碼、\

測試、運(yùn)行和維護(hù)r

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程39/154

?計(jì)算機(jī)系統(tǒng)工程Z

A計(jì)算機(jī)系統(tǒng)包括計(jì)算機(jī)硬件、軟件、也

用計(jì)算機(jī)系統(tǒng)的人、數(shù)據(jù)庫、文檔、痂

程等系統(tǒng)元素。7a

>計(jì)算機(jī)系統(tǒng)工程的任務(wù):,

。確定待開發(fā)軟件的總體要求和范圍,以及\

它與其它計(jì)算機(jī)系統(tǒng)元素之間的關(guān)系,

進(jìn)行成本估算,做出進(jìn)度安排\

?:?進(jìn)行可行性分析,即從經(jīng)濟(jì)、技術(shù)、法律/

等方面分析待開發(fā)的軟件是否有可行的解(

決方案,并在若干個(gè)可行的解決方案中作)

出盅擇。\

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程40/154

?軟件需求分析e

A主要解決待開發(fā)軟件要“做什么”的國

A確定軟件的功能、性能、數(shù)據(jù)、界面等

要求,生成軟件需求規(guī)約。

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程41/154

軟件設(shè)計(jì)W

A主要解決待開發(fā)軟件“怎么做”的問題。

A軟件設(shè)計(jì)通常可分為系統(tǒng)設(shè)計(jì)(也稱概要設(shè)Q

計(jì)或總體設(shè)計(jì))和詳細(xì)設(shè)計(jì)。

?系統(tǒng)設(shè)計(jì)的任務(wù)是設(shè)計(jì)軟件系統(tǒng)的體系結(jié)構(gòu),(

包括軟件系統(tǒng)的組成成分、各成分的功能和\

接口、成分間的連接和通信,同時(shí)設(shè)計(jì)全局(

數(shù)據(jù)結(jié)構(gòu);、

A詳細(xì)設(shè)計(jì)的任務(wù)是設(shè)計(jì)各個(gè)組成成分的實(shí)現(xiàn)

細(xì)節(jié),包括局部數(shù)據(jù)結(jié)構(gòu)和算法等。

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程42/154

?編碼取

用某種程序設(shè)計(jì)語言,將設(shè)計(jì)的結(jié)果轉(zhuǎn)公以

為可執(zhí)行的程序代碼。3

?測試r

發(fā)現(xiàn)并糾正軟件中的錯(cuò)誤和缺陷。測試主,

要包括單元測試、集成測試、確認(rèn)測試和系\

統(tǒng)測試。/

?運(yùn)行和維護(hù))

在軟件運(yùn)行期間,當(dāng)發(fā)現(xiàn)了軟件中潛藏?

的錯(cuò)誤或需要增加新的功能或使軟件適應(yīng)外、

譚痂境的變化等情況出現(xiàn)時(shí)對軟件進(jìn)行修改,

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程43/154

內(nèi)容摘要

計(jì)算機(jī)軟件

軟件工程

軟件

軟件過程模型

敏捷軟件開發(fā)

CASE工具與環(huán)境

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程44/154

軟件過程N(yùn)

?軟件過程是軟件生存周期中的一系列相關(guān)的過》a

?過程是活動(dòng)的集合,活動(dòng)是任務(wù)的集合。,

?軟件過程有三層含義:J

A個(gè)體含義,即指軟件產(chǎn)品或系統(tǒng)在生存周期中的某一

類活動(dòng)的集合,如軟件開發(fā)過程,軟件管理過程等;f\

?整體含義,即指軟件產(chǎn)品或系統(tǒng)在所有上述含義下的,

軟件過程的總體;\

A工程含義,即指解決軟件過程的工程,它應(yīng)用軟件工,

程的原則、方法來構(gòu)造軟件過程模型,并結(jié)合軟件產(chǎn)(

品的具體要求進(jìn)行實(shí)例化,以及在用戶環(huán)境下的運(yùn)作)

X此進(jìn)一步提高軟件生產(chǎn)率,降低成本。(

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程45/154

?為什么要引入軟件過程?(1/2)

-軟件工作的范圍

擴(kuò)展到

只考慮>涉及整個(gè)軟件生存周期r

編寫程序

-軟件的開發(fā)風(fēng)險(xiǎn)(規(guī)模、周期、復(fù)雜度)

發(fā)展到

少,可預(yù)——1多,不易預(yù)知,不易

知、可控J控制

?為什么要引入軟件過程?(2/2)、

-軟件開發(fā)的角色

擴(kuò)展到

程序員I>團(tuán)隊(duì)中更多的角色

-軟件標(biāo)準(zhǔn)

口擴(kuò)展到

晶焉%軟件開發(fā)過程的標(biāo)準(zhǔn)4

控制/約束

輸入.輸出

控制

預(yù)算,計(jì)劃表,標(biāo)準(zhǔn)

資源/

需求

t資源

人員,工具

ControlBudget

WhatSchedule

控制/約束

Standaids

輸入輸出

Process

軟件生命周期

.資源

InputsOutputs

RecpuementsCode

Dociunents

How

Staff

Resources

控制/約束控制預(yù)算

時(shí)間表

標(biāo)準(zhǔn)

、1r

過程

基本活動(dòng)&

輸入輸出

酬((需求分析、設(shè)噸

標(biāo)蟹田、實(shí)施、測試,典

代碼

要署土潢

文檔

可執(zhí)行系統(tǒng)

ControlBudget

Schedule

Standaids

資源I人力

工具

?BasicActivities(基礎(chǔ)活動(dòng))

-問題定義,需求,規(guī)約,設(shè)計(jì),實(shí)現(xiàn),

軟件驗(yàn)證,集成,軟件演進(jìn)/維護(hù),退役

?UmbrellaActivities(輔助性活動(dòng))

-軟件項(xiàng)目跟蹤和控制,正式的技術(shù)復(fù)審,

軟件質(zhì)量保證,軟件配置管理,文檔編制,

復(fù)用管理,度量,風(fēng)險(xiǎn)管理,…

內(nèi)容摘要

計(jì)算機(jī)軟件

軟件工程

軟件過程

軟件過程模型

敏捷軟件開發(fā)

CASE工具與環(huán)境

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程52/154

軟件過程模型N

-軟件過程模型是軟件開發(fā)全部過程、M

動(dòng)和任務(wù)的結(jié)構(gòu)框架《

?也稱軟件開發(fā)模型或軟件生存周期模型

?大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程53/154

軟件過程模型

?典型的軟件過程模型有:

-瀑布模型(waterfallmodel)

-演化模型(evolutionarymodel)

-增量模型(incremenTalmodel)

"原型模型(prototypingmodel)

-螺旋模型(spiralmodel)

-噴泉模型(waterfountainmodel)

-基于構(gòu)件的開發(fā)模型(component-baseddevelopm

model)

-形式方法模型(formalmethodsmodel)

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程54/154

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程

?1970年W.Royce提出瀑布模型

?特征

>接受上一階段的結(jié)果作為本階段的輸入

>利用這一輸入實(shí)施本階段應(yīng)完成的活動(dòng)

>對本階段的工作進(jìn)行評審

A將本階段的結(jié)果作為輸出,傳遞給下一階段)

?缺點(diǎn)(

A缺乏靈活性,難以適應(yīng)需求不明確或需求經(jīng)常,

變化的軟件開發(fā)C

玲匕次發(fā)早期存在的問題往往要到交付使用時(shí)才發(fā))

睨,維護(hù)代價(jià)大\

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程56/154

演化模型

?許多軟件項(xiàng)目在開發(fā)早期對軟件需求的認(rèn)識(shí)是模糊的;

確定的,因此軟件很難一次開發(fā)成功。

?可以在獲取了一組基本的需求后,通過快速分析構(gòu)造出該J

軟件的一個(gè)初始可運(yùn)行版本,稱之謂原型(prototype),J

然后根據(jù)用戶在試用原型的過程中提出的意見和建議、或「

者增加新的需求,對原型進(jìn)行改造,獲得原型的新版本,\

重復(fù)這一過程,最終得到令客戶滿意的軟件產(chǎn)品。)

?演化模型的開發(fā)過程就是從構(gòu)造初始的原型出發(fā),逐步將〈

其演化成最終軟件產(chǎn)品的過程。)

?演化模型適用于對軟件需求缺乏準(zhǔn)確認(rèn)識(shí)的情況。

?典型的演化模型有:增量模型、原型模型、螺旋模型。

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程57/154

增量模型

交流

計(jì)劃

建模(分析,設(shè)計(jì))

件增量n

和第n次增量發(fā)布?

增量1

5

項(xiàng)目日歷時(shí)間

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程58/154

?增量模型將軟件的開發(fā)過程分成若低

日程時(shí)間交錯(cuò)的線性序列,每個(gè)線,!■工造

列產(chǎn)生軟件的一個(gè)可發(fā)布的“增量”同

本,后一個(gè)版本是對前一版本的修改和J

補(bǔ)充,重復(fù)增量發(fā)布的過程,直至產(chǎn)生(

最終的完善產(chǎn)品。)

?增量模型融合了瀑布模型的基本成分\

(重復(fù)地應(yīng)用)和演化模型的迭代特征/

?增量模型強(qiáng)調(diào)每一個(gè)增量都發(fā)布一個(gè)可)

的產(chǎn)品\

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程59/154

?增量模型特別適用于:

需求經(jīng)常變化的軟件開發(fā)

市場急需而開發(fā)人員和資金不能在設(shè)定

的市場期限之前實(shí)現(xiàn)一個(gè)完善的產(chǎn)品的]

軟件開發(fā)

?增量模型能有計(jì)劃地管理技術(shù)風(fēng)險(xiǎn))如)

早期增量版本中避免采用尚未成熟的技\

術(shù)/

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程60/154

原型模型

?原型(prototype)是預(yù)期系統(tǒng)的一個(gè)可執(zhí)行版

它反映了系統(tǒng)性質(zhì)(如功能、計(jì)算結(jié)果等)的一

選定的子集。一個(gè)原型不必滿足目標(biāo)軟件的所有約

束,其目的是能快速、低成本地構(gòu)建原型。

?原型方法從軟件工程師與客戶的交流開始,其目的\

是定義軟件的總體目標(biāo),標(biāo)識(shí)需求。然后快速制訂)

原型開發(fā)的計(jì)劃,確定原型的目標(biāo)和范圍,采用快、

速設(shè)計(jì)的方式對其建模,并構(gòu)建原型。

?被開發(fā)的原型應(yīng)交付給客戶試用,并收集客戶的反

饋意見,這些反饋意見可在下一輪迭代中對原型進(jìn)

o在前一個(gè)原型需要改進(jìn),或者需要擴(kuò)展其

'大蠲業(yè)技術(shù)學(xué)院信意

61/154

原型1J

軟件工程課程62/154

?原型的類型:

>探索型(exploratoryprototyping)

其目的是要弄清目標(biāo)系統(tǒng)的要求,確定所

望的特性,并探討多種方案的可行性

>實(shí)驗(yàn)型(experimentalprototyping)

其目的是驗(yàn)證方案或算法的合理性,它是在

大規(guī)模開發(fā)和實(shí)現(xiàn)前,用于考核方案是否合適

規(guī)格說明是否可靠。

>演d匕型(evolutionaryprototyping)

其目的是號(hào)原型作為目標(biāo)系統(tǒng)的一部分,通、

過對原型的多次改進(jìn),逐步將原型演化成最終)

勺目標(biāo)系統(tǒng)。\

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程63/154

?原型的使用策略:

>廢棄(throwaway)策略

主要用于探索型和實(shí)驗(yàn)型原型的開發(fā)。這些原型

注于目標(biāo)系統(tǒng)的某些特性,而不是全部特性,開發(fā)送

些原型時(shí)通常不考慮與探索或?qū)嶒?yàn)?zāi)康臒o關(guān)的功能、

質(zhì)量、結(jié)構(gòu)等因素,這種原型通常被廢丟,然后根據(jù),

探索或?qū)嶒?yàn)的結(jié)果用良好的結(jié)構(gòu)和設(shè)計(jì)思想重新設(shè)計(jì)(

目標(biāo)系統(tǒng)。\

>追力口(addon)策略r

主要用于演化型原型的開發(fā)。這種原型通常是實(shí)現(xiàn)、

了目標(biāo)系統(tǒng)中已明確定義的特性的一個(gè)子集,通過對,

它的不斷修改和擴(kuò)充,逐步追加新的要求,最后使其(

演化成最終的目標(biāo)系統(tǒng)。)

作為單獨(dú)的過程模型使用,它也常被作為一(

方法或?qū)嵗頂?shù)杰底盤本基專盥舒聾模型中。

螺^^型飛卜

?B.Boehm于1988年提出,

?是瀑布模型和演化模型的結(jié)合,并增加了反

險(xiǎn)分柝

?螺旋模型沿著螺線旋轉(zhuǎn),在四個(gè)象限上分別

表達(dá)四個(gè)方面的活動(dòng))即:

A制定計(jì)劃:確定軟件目標(biāo),選定實(shí)施方案,

弄清項(xiàng)目開發(fā)的限制條件

A風(fēng)險(xiǎn)分析:評價(jià)所選的方案,識(shí)別風(fēng)險(xiǎn),消

除風(fēng)險(xiǎn)

工程實(shí)施:實(shí)施軟件開發(fā),驗(yàn)證工作產(chǎn)品

戶評估:評價(jià)開發(fā)工作,提出修正建議

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程65/154

累計(jì)

制定計(jì)劃風(fēng)險(xiǎn)分析

決定目標(biāo)、評價(jià)方案、

方案和限制識(shí)別風(fēng)險(xiǎn)、

消除風(fēng)險(xiǎn)

風(fēng)險(xiǎn)分析

風(fēng)里分析

風(fēng)險(xiǎn)分M

可運(yùn)行

原而?\第型2、原型3原型

軟件

需親/軟件產(chǎn)

詳細(xì)設(shè)計(jì)

需求品設(shè)計(jì)

---r--

編碼

設(shè)計(jì)確認(rèn)單元

與驗(yàn)證測試

組裝

;驗(yàn)收測試

實(shí)現(xiàn)I測試實(shí)施工程

開發(fā)、驗(yàn)證

下一產(chǎn)品

?螺旋模型出現(xiàn)了一些變種,它可以費(fèi)劃

6個(gè)任務(wù)區(qū)域。Q

?螺旋模型指引的軟件項(xiàng)目開發(fā)沿著螺演

自內(nèi)向外旋轉(zhuǎn),每旋轉(zhuǎn)一■圈,表示開發(fā)J

出一個(gè)更為完善的新軟件版本。(

?如果發(fā)現(xiàn)風(fēng)險(xiǎn)太大,開發(fā)者和客戶無法)

承受,則項(xiàng)目就可能因此而終止。)

?多數(shù)情況下沿著螺線的活動(dòng)會(huì)繼續(xù)下去

由內(nèi)向外,逐步延伸,最終得到所期望)

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程67/154

噴^^型

演化

/集成

/測試

設(shè)計(jì)

分析

68/154

?基泉模型是一種支持面向?qū)ο箝_發(fā)飛

?體現(xiàn)迭代和無間隙特征

-迭代:各開發(fā)活動(dòng)常常重復(fù)工作多次,

相關(guān)的功能在每次迭代中隨之加入演進(jìn)

的系統(tǒng)

-無間隙:開發(fā)活動(dòng)之間不存在明顯的邊

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程69/154

基于構(gòu)件的開發(fā)模型

?支持軟件復(fù)用(reuse)Q

?利用預(yù)先包裝好的軟件構(gòu)件(包括組或'

內(nèi)部開發(fā)的構(gòu)件和現(xiàn)存商品化構(gòu)件

COTS)來構(gòu)造應(yīng)用系統(tǒng)\

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程70/154

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程71/154

?領(lǐng)域工程的目的是構(gòu)建領(lǐng)域模型、w

基準(zhǔn)體系結(jié)構(gòu)和可復(fù)用構(gòu)件庫。q

A領(lǐng)域分析分析該領(lǐng)域中各種應(yīng)用系統(tǒng)的4

公共部分或相似部分,構(gòu)建領(lǐng)域模型和

領(lǐng)域基準(zhǔn)體系結(jié)構(gòu)(reference

architecture),標(biāo)識(shí)領(lǐng)域的候選構(gòu)件。

A對候選構(gòu)件進(jìn)行可變性分析,以適應(yīng)多

個(gè)應(yīng)用系統(tǒng)的需要。

A構(gòu)建可復(fù)用構(gòu)件,經(jīng)嚴(yán)格測試和包裝后

一存入可復(fù)用構(gòu)件庫(稱為構(gòu)件工程)。

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程72/154

?應(yīng)用系統(tǒng)工程的目的是使用可復(fù)用構(gòu)件Z

用系統(tǒng)。

A分析待開發(fā)的應(yīng)用系統(tǒng),設(shè)計(jì)應(yīng)用系統(tǒng)的體系2

構(gòu),標(biāo)識(shí)應(yīng)用系統(tǒng)所需的構(gòu)件。

A在可復(fù)用構(gòu)件庫中查找合適的構(gòu)件(也可購買第/

三方的構(gòu)件)。(

A特化選中的構(gòu)件,必要時(shí)作適當(dāng)?shù)男薷?,以適應(yīng))

該應(yīng)用系統(tǒng)的需要。\

A開發(fā)那些未找到合適構(gòu)件的應(yīng)用部分。)

A組裝應(yīng)用系統(tǒng)。,

評價(jià)構(gòu)件的復(fù)用情況,以改進(jìn)可復(fù)用構(gòu)件,同時(shí)〉

傳T開發(fā)的部分進(jìn)行評價(jià),并向構(gòu)件工程推薦候

構(gòu)件。大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程73/154

?根據(jù)AT&T、Ericsson、HP公司的經(jīng)虱

有的軟件復(fù)用率高達(dá)90%以上,產(chǎn)品A

市時(shí)間可縮短2?5倍,錯(cuò)誤率減少5?9

10倍,開發(fā)成本減少15%?75%。僅管)

這些結(jié)論出自一些較好使用基于構(gòu)件開(

發(fā)的實(shí)例,但毫無疑問,基于構(gòu)件的開)

發(fā)模型對提高軟件生產(chǎn)率、提高軟件質(zhì)(

量、降低成本、提早上市時(shí)間起到很大)

的作用。\

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程74/154

形式方法模型%

?形式化方法(formalmethods)是建立在嚴(yán)格數(shù)點(diǎn)機(jī)

礎(chǔ)上的一種軟件開發(fā)方法。軟件開發(fā)的全過程中,W

求分析、規(guī)約、設(shè)計(jì)、編程、系統(tǒng)集成、測試、文檔企

成、直至維護(hù)各個(gè)階段,凡是采用嚴(yán)格的數(shù)學(xué)語言,具

有精確的數(shù)學(xué)語義的方法,都稱為形式化方法。

?形式化方法用嚴(yán)格的數(shù)學(xué)語言和語義描述功能規(guī)約和設(shè)

計(jì)規(guī)約,通過數(shù)學(xué)的分析和推導(dǎo),易于發(fā)現(xiàn)需求的岐義

性、不完整性和不一致性,易于對分析模型、設(shè)計(jì)模型

和程序進(jìn)行驗(yàn)證。通過數(shù)學(xué)的演算,使得從形式化功能

規(guī)約到形式化設(shè)計(jì)規(guī)約,以及從形式化設(shè)計(jì)規(guī)約到程序I

代碼的轉(zhuǎn)換成為可能。

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程75/154

凈室過程模型

增量1

計(jì)

盒結(jié)構(gòu)形式化正確性代碼統(tǒng)

需求規(guī)約設(shè)計(jì)驗(yàn)證審查使

收集測認(rèn)證

測試計(jì)劃

統(tǒng)統(tǒng)計(jì)使

用測試認(rèn)證

統(tǒng)計(jì)使

用測試認(rèn)證

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程76/154

軟件文檔的作用

whatwherewhenwhohowwhy

可行性研究報(bào)告J/

項(xiàng)目開發(fā)計(jì)劃JJJ

需求規(guī)格說明書//

概要設(shè)計(jì)說明書J

詳細(xì)設(shè)計(jì)說明書/

測試分析報(bào)告J

/JJ

軟件工程方法學(xué)一傳統(tǒng)方法士

輸入

輸出

軟件工程方法學(xué)一傳統(tǒng)方法士

r現(xiàn)實(shí)世界和編程之間存在理解鴻溝

?特點(diǎn)

-以模塊作為基本構(gòu)造單元

一自頂向下逐步細(xì)分功能--------------

重用性差

一不同模塊之間的信息傳遞通過調(diào)用完成

一堅(jiān)持嚴(yán)格的階段性評審控制信息傳遞效率低

?優(yōu)點(diǎn)

一相對獨(dú)立的多人協(xié)作開發(fā),降低軟件的復(fù)雜程度

-階段性的嚴(yán)格評審保證了軟件質(zhì)量

軟件工程方法學(xué)一結(jié)構(gòu)化方總

?結(jié)構(gòu)化分析(SA)Y

一借助適當(dāng)?shù)膱D形工具,從數(shù)據(jù)、功能兩個(gè)角度,

分析和理解問題域。f

?結(jié)構(gòu)化設(shè)計(jì)(SD)\

一點(diǎn)SA基礎(chǔ)上,搭建模塊結(jié)構(gòu)圖,并對模塊進(jìn)行,

詳細(xì)設(shè)計(jì)。\

?結(jié)構(gòu)化編程(SP))

一利用傳統(tǒng)結(jié)構(gòu)化編程語言描述每個(gè)模塊。(

?結(jié)構(gòu)化測試(ST)\

模塊為中心的測試過程/

化維護(hù)(SM)\

軟件工程方法學(xué)一面向?qū)ο笫?/p>

消息對象

屬于該對象

消息的數(shù)據(jù)

軟件工程方法學(xué)一面向?qū)ο笫?/p>

?特點(diǎn)

一以客觀事物(對象)作為基本構(gòu)造單元。

一利用抽象、分類、繼承、聚合、封裝等人類常用思維習(xí)

慣,分析和設(shè)計(jì)系統(tǒng)。

-對象彼此間通過發(fā)送消息互相聯(lián)系

?優(yōu)點(diǎn)

一開發(fā)過程采用統(tǒng)一概念和模型,實(shí)現(xiàn)了開發(fā)過程的平滑

過渡

瑞實(shí)現(xiàn)軟件重用

里后維護(hù)性好

憶―而

軟件工程方法學(xué)一面向e對象lk學(xué)包

?面向?qū)ο蠓治觯?0A)

一分析和理解問題域,找出描述問題域和系統(tǒng)責(zé)/

任所需的類和對象,分析它們的內(nèi)部構(gòu)晟和外部(

關(guān)系。)

?面向?qū)ο笤O(shè)計(jì)(00D)(

一在00A基礎(chǔ)上,增加一些與實(shí)現(xiàn)有關(guān)的部分,)

即人機(jī)界面、問題域設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)、進(jìn)程管理J

O

?面向?qū)ο缶幊蹋∣OP)

用面向?qū)ο缶幊陶Z言描述00D中的各個(gè)成分

向?qū)ο鬁y試(00T)

以對象為中心的測試過程

?君自#芻始43/八八8八

結(jié)構(gòu)化方法和面向?qū)ο蠓椒?/p>

結(jié)

oOA向

I^構(gòu)

OOD^化

內(nèi)容摘要

計(jì)算機(jī)軟件

軟件工程

軟件過程

軟件過程模型

敏捷軟件開發(fā)

CASE工具與環(huán)境

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程85/154

敏捷軟件開發(fā)

?軟件開發(fā)的新挑戰(zhàn)

A快速的市場進(jìn)入時(shí)間,要求高生產(chǎn)率

A快速變化的需求

A快速發(fā)展的技術(shù)

?傳統(tǒng)的軟件開發(fā)方法

A強(qiáng)調(diào)過程

A強(qiáng)調(diào)文檔

A開發(fā)人員負(fù)擔(dān)過重

施為重載(Heavyweight)方法

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程86/154

?針對上述問題,產(chǎn)生了一系列輕載

(Lightweight)方法,如XP、SCRUM等。

■2001年2月,新方法的一些創(chuàng)始人在美國猶

他州成立了敏捷軟件開發(fā)聯(lián)盟,簡稱Agile

聯(lián)盟。

?Agile聯(lián)盟起草了一個(gè)敏捷軟件開發(fā)宣言,

該宣言由四個(gè)價(jià)值觀聲明組成,并提煉出敏)

捷軟件開發(fā)方法必須遵循的12條原則。(

?Agile方法是在保證軟件開發(fā)有成功產(chǎn)出的)

前提下,盡量減少開發(fā)過程中的活動(dòng)和制品(

的方法?;\統(tǒng)的講就是,“剛剛好”(Just)

h),即開發(fā)中的活動(dòng)及制品既不要太

也不要為/職顯技術(shù)學(xué)院信息技術(shù)系軟件工程課程

87/154

Agile方法的價(jià)值觀

?個(gè)人和交互高于過程和工具

不是否定過程和工具的重要性,而是更強(qiáng)調(diào)軟件

開發(fā)中人的作用和交流的作用。

軟件是由人組成的團(tuán)隊(duì)來開發(fā)的,與軟件項(xiàng)目相

關(guān)的各類人員通過充分的交流和有效的合作,才

能成功地開發(fā)出得到用戶滿意的軟件。

如果光有定義良好的過程和先進(jìn)的工具,而人員

的技能很差,又不能很好地交流和協(xié)作,軟件是

L功地開發(fā)的。

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程88/154

?可運(yùn)行軟件高于詳盡的文檔z

通過執(zhí)行一個(gè)可運(yùn)行的軟件來了解軟件小看

什么,遠(yuǎn)比閱讀厚厚的文檔要容易得多。q

敏捷軟件開發(fā)強(qiáng)調(diào)不斷地快速地向用戶提交?

可運(yùn)行的軟件(不一定是完整的軟件),以\

得到用戶的認(rèn)可。,

好的必要的文檔仍是需要的,它能幫助我們)

理解軟件做什么,怎么做以及如何使用,但(

軟件開發(fā)的主要目標(biāo)是創(chuàng)建可運(yùn)行的軟件。}

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程89/154

?與客戶協(xié)作高于合同(契約)談判

只有客戶才能明確說明需要什么樣的軟固

然而,大量的實(shí)踐表明,在開發(fā)的早期客,

常常不能完整地表達(dá)他們的全部需求,有些

早期確定的需求,以后也可能會(huì)改變。

要想通過合同談判的方式,將需求固定下

來常常是困難的。

敏捷軟件開發(fā)強(qiáng)調(diào)與客戶的協(xié)作,通過與

客戶的交流和緊密合作來發(fā)現(xiàn)用戶的需求。

大連職業(yè)技術(shù)學(xué)院信息技術(shù)系軟件工程課程90/154

?對變更及時(shí)做出反應(yīng)高于遵循計(jì)劃飛、

任何軟件項(xiàng)目的開發(fā)都應(yīng)該制訂一個(gè)項(xiàng)京板

計(jì)劃,以確定各開發(fā)任務(wù)的優(yōu)先順序和起退

日期。然而,隨著項(xiàng)目的進(jìn)展,需求、業(yè)務(wù)J

環(huán)境、技術(shù)等都可能變化,任務(wù)的優(yōu)先順序(

和起止日期也可能因種種原因會(huì)改變。\

因此)項(xiàng)目計(jì)劃應(yīng)具有可塑性,有變動(dòng)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論