版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外墻保溫細(xì)節(jié)施工方案
- 變電站一次設(shè)備
- 廣東省惠州市博羅縣2024-2025學(xué)年八年級(jí)上學(xué)期期末教學(xué)質(zhì)量階段性診斷英語試題(原卷版)
- 二零二五年房地產(chǎn)企業(yè)勞動(dòng)合同及售后服務(wù)協(xié)議2篇
- 課標(biāo)版高考語文二輪復(fù)習(xí)題一論述類文本閱讀課件
- 2024年浙江宇翔職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 2024年泉州工藝美術(shù)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 2024年阜新市礦務(wù)局精神病醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年江門職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 二零二五年物流倉儲(chǔ)項(xiàng)目保證擔(dān)保協(xié)議3篇
- 吳茱萸熱奄包
- 標(biāo)準(zhǔn)編寫培訓(xùn)
- 外立面改造專項(xiàng)施工方案
- GB/T 4354-2008優(yōu)質(zhì)碳素鋼熱軋盤條
- GB 29518-2013柴油發(fā)動(dòng)機(jī)氮氧化物還原劑尿素水溶液(AUS 32)
- 《中國國家處方集》附錄
- 消防安全值班制度
- 智慧教育典型案例:依托智慧教學(xué) 優(yōu)化英語課堂
- 偉星管-云上裝飾
- 生活飲用水消毒劑和消毒設(shè)備衛(wèi)生安全評價(jià)規(guī)范(2019年版)
- 養(yǎng)老院老年人誤食誤服防范措施及應(yīng)急預(yù)案
評論
0/150
提交評論