第1章 軟件與軟件工程介紹_第1頁(yè)
第1章 軟件與軟件工程介紹_第2頁(yè)
第1章 軟件與軟件工程介紹_第3頁(yè)
第1章 軟件與軟件工程介紹_第4頁(yè)
第1章 軟件與軟件工程介紹_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程衛(wèi)張亮手機(jī)(shǒujī)五十八頁(yè)教材(jiàocái)和參考書教材《軟件工程概論(gàilùn)》(第2版),鄭人杰,馬素霞等著,機(jī)械工業(yè)出版社,2014年11月。參考書《軟件工程:實(shí)踐者的研究方法(第7版)》

RogerS.Pressman著,鄭人杰,馬素霞等譯,機(jī)械工業(yè)出版社,2011年5月。共五十八頁(yè)第1章軟件(ruǎnjiàn)與軟件(ruǎnjiàn)工程的概念軟件的概念、特性和分類軟件危機(jī)(wēijī)與軟件工程系統(tǒng)工程的目標(biāo)軟件生存期軟件工程方法概述軟件工具概述軟件工程知識(shí)體系及知識(shí)域共五十八頁(yè)1.1軟件的概念、特性(tèxìng)和分類軟件的作用具有產(chǎn)品和產(chǎn)品生產(chǎn)載體的雙重作用。作為產(chǎn)品,軟件顯示了由計(jì)算機(jī)硬件體現(xiàn)的計(jì)算能力,扮演著信息轉(zhuǎn)換的角色:產(chǎn)生(chǎnshēng)、管理、查詢、修改、顯示或者傳遞各種不同的信息。作為產(chǎn)品生產(chǎn)的載體,軟件提供了計(jì)算機(jī)控制(操作系統(tǒng))、信息通信(網(wǎng)絡(luò)),以及應(yīng)用程序開(kāi)發(fā)和控制的基礎(chǔ)平臺(tái)(軟件工具和環(huán)境)。

共五十八頁(yè)1.1軟件(ruǎnjiàn)的概念、特性和分類軟件的概念

雖然軟件對(duì)于現(xiàn)代的人并不陌生(mòshēng),但很多人對(duì)于軟件的理解并不準(zhǔn)確,“軟件就是程序,軟件開(kāi)發(fā)就是編程序”的這種錯(cuò)誤觀點(diǎn)仍然存在。什么是軟件?共五十八頁(yè)1.1軟件的概念(gàiniàn)、特性和分類軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列。數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序開(kāi)發(fā),維護(hù)和使用有關(guān)(yǒuguān)的圖文材料。共五十八頁(yè)1.1軟件的概念、特性(tèxìng)和分類軟件(ruǎnjiàn)的特性(1)

形態(tài)特性:軟件是無(wú)形的、不可見(jiàn)的邏輯實(shí)體。度量常規(guī)產(chǎn)品的幾何尺寸、物理性質(zhì)和化學(xué)成分對(duì)它卻是毫無(wú)意義的。

(2)

智能特性:軟件是復(fù)雜的智力產(chǎn)品,它的開(kāi)發(fā)凝聚了人們的大量腦力勞動(dòng),它本身也體現(xiàn)了知識(shí)實(shí)踐經(jīng)驗(yàn)和人類的智慧,具有一定的智能。它可以幫助我們解決復(fù)雜的計(jì)算、分析、判斷和決策問(wèn)題。共五十八頁(yè)(3)

開(kāi)發(fā)特性:盡管已經(jīng)有了一些工具(也是軟件)來(lái)輔助軟件開(kāi)發(fā)工作(gōngzuò),但到目前為止尚未實(shí)現(xiàn)自動(dòng)化。軟件開(kāi)發(fā)中仍然包含了相當(dāng)份量的個(gè)體勞動(dòng),使得這一大規(guī)模知識(shí)型工作(gōngzuò)充滿了個(gè)人行為和個(gè)人因素。(4)

質(zhì)量特性:目前還無(wú)法得到完全沒(méi)有缺陷的軟件產(chǎn)品。1.1軟件的概念、特性(tèxìng)和分類共五十八頁(yè)(5)

生產(chǎn)特性:與硬件或傳統(tǒng)的制造業(yè)產(chǎn)品的生產(chǎn)完全不同(bùtónɡ),軟件一旦設(shè)計(jì)開(kāi)發(fā)出來(lái),如果需要提供多個(gè)用戶,它的復(fù)制十分簡(jiǎn)單,其成本也極為有限。(6)

管理特性:由于上述的幾個(gè)特點(diǎn),使得軟件的開(kāi)發(fā)管理顯得更為重要,也更為獨(dú)特。1.1軟件(ruǎnjiàn)的概念、特性和分類共五十八頁(yè)(7)

環(huán)境特性:軟件的開(kāi)發(fā)和運(yùn)行都離不開(kāi)相關(guān)的計(jì)算機(jī)系統(tǒng)環(huán)境,包括支持它的開(kāi)發(fā)和運(yùn)行的相關(guān)硬件和軟件。軟件對(duì)于計(jì)算機(jī)系統(tǒng)的環(huán)境有著不可擺脫的依賴性。

(8)

維護(hù)特性:軟件投入使用以后需要(xūyào)進(jìn)行維護(hù),但這種維護(hù)與傳統(tǒng)產(chǎn)業(yè)產(chǎn)品的維護(hù)概念有著很大差別。

1.1軟件的概念(gàiniàn)、特性和分類共五十八頁(yè)(9)

廢棄特性:與硬件(yìnɡjiàn)不同,軟件并不是由于被“用壞”而被廢棄的

。

(10)

應(yīng)用特性:軟件的應(yīng)用極為廣泛,如今它已滲入國(guó)民經(jīng)濟(jì)和國(guó)防的各個(gè)領(lǐng)域,現(xiàn)已成為信息產(chǎn)業(yè)、先進(jìn)制造業(yè)和現(xiàn)代服務(wù)業(yè)的核心,占據(jù)了無(wú)可取代的地位。1.1軟件的概念(gàiniàn)、特性和分類共五十八頁(yè)1.1軟件的概念(gàiniàn)、特性和分類軟件的分類(1)系統(tǒng)軟件操作系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)備驅(qū)動(dòng)程序通信和網(wǎng)絡(luò)處理程序等(2)支撐軟件(工具軟件)縱向支撐軟件:分析、設(shè)計(jì)、編碼、測(cè)試工具等橫向(hénɡxiànɡ)支撐軟件:項(xiàng)目管理工具,配置管理工具等

共五十八頁(yè)1.1軟件的概念、特性(tèxìng)和分類軟件的分類

(3)應(yīng)用軟件工程與科學(xué)計(jì)算軟件商業(yè)數(shù)據(jù)處理軟件ERP軟件計(jì)算機(jī)輔助設(shè)計(jì)/制造軟件系統(tǒng)仿真(fǎnɡzhēn)軟件智能產(chǎn)品嵌入軟件事務(wù)管理、辦公自動(dòng)化軟件(4)可復(fù)用軟件標(biāo)準(zhǔn)函數(shù)庫(kù)、類庫(kù)、構(gòu)件庫(kù)等共五十八頁(yè)軟件危機(jī)暴發(fā)于上個(gè)世紀(jì)六十年代末。主要表現(xiàn)為:軟件的發(fā)展速度遠(yuǎn)遠(yuǎn)滯后于硬件的發(fā)展速度,不能滿足社會(huì)日益增長(zhǎng)的軟件需求。軟件開(kāi)發(fā)周期長(zhǎng)、成本高、質(zhì)量差、維護(hù)(wéihù)困難。1.2軟件危機(jī)(wēijī)與軟件工程軟件危機(jī)共五十八頁(yè)典型例子:美國(guó)IBM公司在1963年至1966年開(kāi)發(fā)的IBM360機(jī)的操作系統(tǒng)。這個(gè)項(xiàng)目的負(fù)責(zé)人F.D.Brooks事后總結(jié)了他在組織開(kāi)發(fā)過(guò)程中的沉痛教訓(xùn)時(shí)說(shuō):

……正像一只逃亡的野獸落到泥潭中做垂死(chuísǐ)的掙扎,越是掙扎,陷得越深。最后無(wú)法逃脫滅頂?shù)臑?zāi)難,……程序設(shè)計(jì)工作正像這樣一個(gè)泥潭,……一批批程序員被迫在泥潭中拼命掙扎,……誰(shuí)也沒(méi)有料到竟會(huì)陷入這樣的困境……1.2軟件危機(jī)(wēijī)與軟件工程共五十八頁(yè)具體來(lái)說(shuō),軟件危機(jī)主要有以下一些典型表現(xiàn):對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。軟件產(chǎn)品的質(zhì)量往往靠不住。軟件常常是不可維護(hù)的。軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。軟件開(kāi)發(fā)生產(chǎn)率提高的速度,既跟不上硬件的發(fā)展速度,也遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入(shēnrù)的趨勢(shì)。1.2軟件危機(jī)(wēijī)與軟件工程共五十八頁(yè)除了軟件本身的特點(diǎn),軟件危機(jī)發(fā)生的主要原因有:

缺乏軟件開(kāi)發(fā)的經(jīng)驗(yàn)和有關(guān)軟件開(kāi)發(fā)數(shù)據(jù)的積累,使得(shǐde)開(kāi)發(fā)工作的計(jì)劃很難制定。軟件人員與用戶的交流存在障礙,使得獲取的需求不充分或存在錯(cuò)誤。軟件開(kāi)發(fā)過(guò)程不規(guī)范。如,沒(méi)有真正了解用戶的需求就開(kāi)始編程序。隨著軟件規(guī)模的增大,其復(fù)雜性往往會(huì)呈指數(shù)級(jí)升高。需要很多人分工協(xié)作,不僅涉及技術(shù)問(wèn)題,更重要的是必須有科學(xué)嚴(yán)格的管理。缺少有效的軟件評(píng)測(cè)手段,提交用戶的軟件質(zhì)量不能完全保證。1.2軟件(ruǎnjiàn)危機(jī)與軟件(ruǎnjiàn)工程共五十八頁(yè)徹底消除“軟件就是程序”的錯(cuò)誤觀念。充分認(rèn)識(shí)到軟件開(kāi)發(fā)應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項(xiàng)目。推廣和使用在實(shí)踐中總結(jié)出來(lái)的開(kāi)發(fā)軟件的成功技術(shù)、方法和工具(gōngjù)。按工程化的原則和方法組織軟件開(kāi)發(fā)工作。如何擺脫(bǎituō)軟件危機(jī)?1.2軟件危機(jī)與軟件工程共五十八頁(yè)1.2軟件危機(jī)(wēijī)與軟件工程軟件工程(ruǎnjiànɡōnɡchénɡ)概念的提出為了克服軟件危機(jī),1968年10月在北大西洋公約組織(NATO)召開(kāi)的計(jì)算機(jī)科學(xué)會(huì)議上,F(xiàn)ritzBauer首次提出“軟件工程”的概念,試圖將工程化方法應(yīng)用于軟件開(kāi)發(fā)。在NATO會(huì)議上,F(xiàn)ritzBauer對(duì)軟件工程的定義是:“軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實(shí)際機(jī)器上有效地運(yùn)行的軟件,而建立和使用完善的工程原理?!惫参迨隧?yè)概括地說(shuō),軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。

采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)(jīngjì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。1.2軟件(ruǎnjiàn)危機(jī)與軟件(ruǎnjiàn)工程什么是軟件工程?共五十八頁(yè)1.2軟件危機(jī)(wēijī)與軟件工程軟件工程的若干(ruògān)定義Boehm:運(yùn)用現(xiàn)代科學(xué)技術(shù)知識(shí)來(lái)設(shè)計(jì)并構(gòu)造計(jì)算機(jī)程序及為開(kāi)發(fā)、運(yùn)行和維護(hù)這些程序所必需的相關(guān)文件資料。IEEE:軟件工程是開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法。FritzBauer:建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法。共五十八頁(yè)1.2軟件(ruǎnjiàn)危機(jī)與軟件(ruǎnjiàn)工程軟件工程(ruǎnjiànɡōnɡchénɡ)的基本原理用分階段的生命周期計(jì)劃嚴(yán)格管理堅(jiān)持進(jìn)行階段評(píng)審實(shí)行嚴(yán)格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計(jì)技術(shù)結(jié)果應(yīng)能清楚地審查開(kāi)發(fā)小組的人員應(yīng)該少而精承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性共五十八頁(yè)1.3軟件工程(ruǎnjiànɡōnɡchénɡ)的目標(biāo)軟件(ruǎnjiàn)工程的目標(biāo)是運(yùn)用先進(jìn)的軟件(ruǎnjiàn)開(kāi)發(fā)技術(shù)和管理方法來(lái)提高軟件(ruǎnjiàn)的質(zhì)量和生產(chǎn)率,也就是要以較短的周期、較低的成本生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,并最終實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)。

共五十八頁(yè)基本目標(biāo):

付出較低的開(kāi)發(fā)成本達(dá)到要求(yāoqiú)的軟件功能取得較好的軟件性能開(kāi)發(fā)的軟件易于移植需要較低的維護(hù)費(fèi)用能按時(shí)完成開(kāi)發(fā)工作,及時(shí)交付使用1.3軟件工程(ruǎnjiànɡōnɡchénɡ)的目標(biāo)共五十八頁(yè)1.3軟件工程(ruǎnjiànɡōnɡchénɡ)的目標(biāo)低成本開(kāi)發(fā)(kāifā)易于維護(hù)按時(shí)交付高可靠性高性能互斥關(guān)系互補(bǔ)關(guān)系共五十八頁(yè)1.3軟件工程(ruǎnjiànɡōnɡchénɡ)的目標(biāo)軟件的質(zhì)量特性:功能性、可靠性、可使用性、效率、可維護(hù)性和可移植性。功能性是指軟件所實(shí)現(xiàn)的功能達(dá)到它的設(shè)計(jì)規(guī)范和滿足用戶需求的程度;可靠性是指在規(guī)定的時(shí)間和條件下,軟件能夠(nénggòu)正常維持其工作的能力;可使用性是指為了使用該軟件所需要的能力;效率是指在規(guī)定的條件下用軟件實(shí)現(xiàn)某種功能所需要的計(jì)算機(jī)資源的有效性;可維護(hù)性是指當(dāng)環(huán)境改變或軟件運(yùn)行發(fā)生故障時(shí),為了使其恢復(fù)正常運(yùn)行所做努力的程度;可移植性是指軟件從某一環(huán)境轉(zhuǎn)移到另一環(huán)境時(shí)所做努力的程度。共五十八頁(yè)1.3軟件工程(ruǎnjiànɡōnɡchénɡ)的目標(biāo)學(xué)習(xí)軟件工程(ruǎnjiànɡōnɡchénɡ),需要達(dá)到以下轉(zhuǎn)變:轉(zhuǎn)變對(duì)軟件的認(rèn)識(shí)

上升

程序系統(tǒng)轉(zhuǎn)變思維定式上升程序員系統(tǒng)工程師

共五十八頁(yè)1.4軟件(ruǎnjiàn)生存期概念軟件也有一個(gè)孕育、誕生、成長(zhǎng)、成熟和衰亡(shuāiwáng)的生存過(guò)程,我們稱這個(gè)過(guò)程為軟件生命周期或軟件生存期。軟件生存期分為三個(gè)時(shí)期軟件定義軟件開(kāi)發(fā)運(yùn)行維護(hù)共五十八頁(yè)1.4軟件(ruǎnjiàn)生存期問(wèn)題定義可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼測(cè)試維護(hù)軟件定義時(shí)期軟件開(kāi)發(fā)時(shí)期軟件維護(hù)時(shí)期軟件生存期共五十八頁(yè)1.4軟件(ruǎnjiàn)生存期軟件定義時(shí)期確定總目標(biāo)和可行性;導(dǎo)出策略和系統(tǒng)功能;估計(jì)資源(zīyuán)和成本;制定工程進(jìn)度表分為三個(gè)階段問(wèn)題定義可行性研究需求分析共五十八頁(yè)問(wèn)題定義

關(guān)鍵問(wèn)題是:“要解決的問(wèn)題是什么”。提交的內(nèi)容為關(guān)于問(wèn)題性質(zhì)、工程目標(biāo)和工程規(guī)模的書面報(bào)告??尚行匝芯?/p>

回答的關(guān)鍵問(wèn)題是:“上一個(gè)階段所確定(quèdìng)的問(wèn)題是否有行得通的解決辦法”。提交的內(nèi)容為可行性研究報(bào)告,即從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等方面研究各方案的可行性。

1.4軟件(ruǎnjiàn)生存期共五十八頁(yè)1.4軟件(ruǎnjiàn)生存期

需求分析(fēnxī)和定義對(duì)用戶提出的要求進(jìn)行分析并給出詳細(xì)的定義準(zhǔn)確地回答“目標(biāo)系統(tǒng)必須做什么”這個(gè)問(wèn)題。也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。編寫軟件需求說(shuō)明書或系統(tǒng)功能說(shuō)明書及初步的系統(tǒng)用戶手冊(cè)提交管理機(jī)構(gòu)評(píng)審共五十八頁(yè)1.4軟件(ruǎnjiàn)生存期軟件開(kāi)發(fā)時(shí)期(shíqī)

任務(wù):具體設(shè)計(jì)和實(shí)現(xiàn)前一個(gè)時(shí)期即軟件定義時(shí)期定義的軟件。執(zhí)行人:系統(tǒng)設(shè)計(jì)員,高級(jí)程序員,程序員,測(cè)試工程師和輔助人員等階段劃分:分為概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試。其中前兩個(gè)階段又稱為系統(tǒng)設(shè)計(jì),后兩個(gè)階段又稱為系統(tǒng)實(shí)現(xiàn)。共五十八頁(yè)1.4軟件(ruǎnjiàn)生存期概要設(shè)計(jì)概括地回答“怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?”。設(shè)計(jì)程序的體系結(jié)構(gòu),也就是確定程序由哪些模塊組成以及模塊間的關(guān)系。提交的文檔是概要設(shè)計(jì)說(shuō)明書。詳細(xì)設(shè)計(jì)回答“應(yīng)該(yīnggāi)怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)”。詳細(xì)地設(shè)計(jì)每個(gè)模塊,確定實(shí)現(xiàn)模塊功能所需要的算法和數(shù)據(jù)結(jié)構(gòu)。提交的文檔是軟件的詳細(xì)設(shè)計(jì)說(shuō)明書。共五十八頁(yè)1.4軟件(ruǎnjiàn)生存期程序(chéngxù)編碼和單元測(cè)試寫出正確的容易理解、容易維護(hù)的程序模塊。提交的文檔為源程序、詳盡的程序說(shuō)明和單元測(cè)試報(bào)告。集成測(cè)試和系統(tǒng)測(cè)試通過(guò)各種類型的測(cè)試(及相應(yīng)的調(diào)試)使軟件達(dá)到預(yù)定的要求。提交的文檔為測(cè)試計(jì)劃、詳細(xì)測(cè)試方案以及實(shí)際測(cè)試結(jié)果等。

共五十八頁(yè)1.4軟件(ruǎnjiàn)生存期軟件運(yùn)行維護(hù)時(shí)期主要(zhǔyào)任務(wù)是使軟件持久地滿足用戶的需要,通常有4類維護(hù)活動(dòng):改正性維護(hù),也就是診斷和改正在使用過(guò)程中發(fā)現(xiàn)的軟件錯(cuò)誤;適應(yīng)性維護(hù),即修改軟件以適應(yīng)環(huán)境的變化;完善性維護(hù),即根據(jù)用戶的要求改進(jìn)或擴(kuò)充軟件,使它更完善;預(yù)防性維護(hù),即修改軟件為將來(lái)的維護(hù)活動(dòng)預(yù)先做準(zhǔn)備。共五十八頁(yè)1.4軟件(ruǎnjiàn)生存期開(kāi)發(fā)過(guò)程中的典型文檔軟件需求規(guī)格說(shuō)明書:描述(miáoshù)將要開(kāi)發(fā)的軟件做什么。項(xiàng)目計(jì)劃:描述將要完成的任務(wù)及其順序,并估計(jì)所需要的時(shí)間及工作量。軟件測(cè)試計(jì)劃:描述如何測(cè)試軟件,使之確保軟件應(yīng)實(shí)現(xiàn)規(guī)定的功能,并達(dá)到預(yù)期的性能。軟件設(shè)計(jì)說(shuō)明書:描述軟件的結(jié)構(gòu),包括概要設(shè)計(jì)及詳細(xì)設(shè)計(jì)。用戶手冊(cè):描述如何使用軟件。共五十八頁(yè)1.4軟件(ruǎnjiàn)生存期各階段的花費(fèi)(huāfèi)比例維護(hù)67%集成8%模擬測(cè)試7%模塊編碼5%設(shè)計(jì)6%計(jì)劃1%規(guī)格說(shuō)明(分析)4%需求分析2%來(lái)自[Elshoff,1976],[Daly,1977],[Zelkowitz,shawandGannon,1979]和[Boehm,1981]的統(tǒng)計(jì)數(shù)據(jù)共五十八頁(yè)1.5軟件工程方法(fāngfǎ)概述概念軟件工程包含技術(shù)和管理兩方面(fāngmiàn)的內(nèi)容,是技術(shù)和管理緊密結(jié)合所形成的工程學(xué)科。通常將軟件開(kāi)發(fā)全過(guò)程中使用的一整套技術(shù)方法的集合稱為方法學(xué)(methedology),也稱為范型(paradigm)。目前使用最廣泛的軟件工程方法學(xué):傳統(tǒng)方法學(xué)(結(jié)構(gòu)化方法學(xué)),面向?qū)ο蠓椒▽W(xué)。共五十八頁(yè)三要素:方法、工具和過(guò)程。軟件工程方法為軟件開(kāi)發(fā)提供了“如何做”的技術(shù);軟件工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境;過(guò)程是為了獲得高質(zhì)量的軟件所需要(xūyào)完成的一系列任務(wù)框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。1.5軟件工程方法(fāngfǎ)概述共五十八頁(yè)1.5軟件工程(ruǎnjiànɡōnɡchénɡ)方法概述軟件工程(ruǎnjiànɡōnɡchénɡ)層次圖質(zhì)量焦點(diǎn)過(guò)程方法工具toolsmethodsprocessaqualityfocus共五十八頁(yè)1.5軟件工程方法(fāngfǎ)概述結(jié)構(gòu)化方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。將軟件生命周期的全過(guò)程依次劃分為若干個(gè)階段,采用結(jié)構(gòu)化技術(shù)來(lái)完成(wánchéng)每個(gè)階段的任務(wù)。特點(diǎn):

(1)強(qiáng)調(diào)自頂向下順序地完成軟件開(kāi)發(fā)的各階段任務(wù);(2)結(jié)構(gòu)化方法要么面向行為,要么面向數(shù)據(jù),缺乏使兩者有機(jī)結(jié)合的機(jī)制。共五十八頁(yè)1.5軟件工程方法(fāngfǎ)概述面向?qū)ο蠓椒▽W(xué)是將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)合起來(lái)的方法。軟件開(kāi)發(fā)過(guò)程(guòchéng)是多次反復(fù)迭代的演化過(guò)程(guòchéng)。面向?qū)ο蠓椒ㄔ诟拍詈捅硎痉椒ㄉ系囊恢滦?,保證了各項(xiàng)開(kāi)發(fā)活動(dòng)之間的平滑過(guò)渡。對(duì)于大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng),使用面向?qū)ο蠓椒▽W(xué)更有優(yōu)勢(shì)。共五十八頁(yè)1.5軟件工程(ruǎnjiànɡōnɡchénɡ)方法概述形式化方法形式化方法是一種基于(jīyú)形式化數(shù)學(xué)變換的軟件開(kāi)發(fā)方法,它可將系統(tǒng)的規(guī)格說(shuō)明轉(zhuǎn)換為可執(zhí)行的程序。共五十八頁(yè)1.5軟件工程(ruǎnjiànɡōnɡchénɡ)方法概述1.5軟件工程方法(fāngfǎ)概述形式化方法的主要特點(diǎn)軟件需求規(guī)格說(shuō)明被細(xì)化為用數(shù)學(xué)記號(hào)表達(dá)的詳細(xì)的形式化規(guī)格說(shuō)明;設(shè)計(jì)、實(shí)現(xiàn)和單元測(cè)試等開(kāi)發(fā)過(guò)程由一個(gè)變換開(kāi)發(fā)過(guò)程代替。通過(guò)一系列變換將形式的規(guī)格說(shuō)明細(xì)化成為程序。共五十八頁(yè)1.6軟件工具概述(ɡàishù)軟件工具的概念軟件工具的發(fā)展軟件工具的分類常用(chánɡyònɡ)軟件工具介紹共五十八頁(yè)1.6軟件工具概述(ɡàishù)軟件工具是指能支持軟件生存周期中某一階段(如系統(tǒng)定義、需求分析、設(shè)計(jì)、編碼、測(cè)試或維護(hù)等)的需要而使用的軟件工具。早期的軟件工具主要用來(lái)輔助程序員編程,如編輯程序、編譯程序(biānyìchénɡxù)、排錯(cuò)程序等。軟件工具通常也稱為CASE(計(jì)算機(jī)輔助軟件工程,computeraidedsoftwareengineering)工具。軟件工具的概念共五十八頁(yè)1.6軟件工具概述(ɡàishù)軟件工具的發(fā)展(fāzhǎn)50年代末期出現(xiàn)了編輯程序、匯編程序和各種程序語(yǔ)言的編譯程序或解釋程序、連接程序、裝配程序、排錯(cuò)程序等輔助軟件編程活動(dòng)的工具。60年代末提出軟件工程的概念后,支持軟件開(kāi)發(fā)、維護(hù)、管理等過(guò)程的各種活動(dòng)的工具也應(yīng)運(yùn)而生。80年代中期提出了軟件過(guò)程的新概念,人們開(kāi)始研制過(guò)程建模的工具、過(guò)程評(píng)價(jià)工具。如今,軟件工具已由單個(gè)工具向多個(gè)工具集成的方向發(fā)展,且注重工具間的平滑過(guò)渡和互操作性。共五十八頁(yè)1.6軟件工具概述(ɡàishù)軟件工具的分類(fēnlèi)支持軟件開(kāi)發(fā)過(guò)程的工具:主要有需求分析工具、設(shè)計(jì)工具(通常還可以分為概要設(shè)計(jì)工具和詳細(xì)設(shè)計(jì)工具)、編碼工具、排錯(cuò)工具、測(cè)試工具等。支持軟件維護(hù)過(guò)程的工具:主要有版本控制工具、文檔分析工具、信息庫(kù)開(kāi)發(fā)工具、逆向工程工具、再工程工具等。支持軟件管理過(guò)程和支持過(guò)程的工具:主要有項(xiàng)目管理工具、配置管理工具、軟件評(píng)價(jià)工具等。共五十八頁(yè)1.6軟件工具概述(ɡàishù)常用(chánɡyònɡ)軟件工具需求分析與設(shè)計(jì)工具:目前使用的大多數(shù)工具既支持需求分析工作,也支持軟件設(shè)計(jì)工作。

IBMRationalRequirementComposerEnterpriseArchitect(EA)IBMRationalSoftwareArchitectRationalRoseMicrosoftOfficeVisioPowerDesigner共五十八頁(yè)1.6軟件工具概述(ɡàishù)編碼工具與排錯(cuò)工具:現(xiàn)代軟件開(kāi)發(fā)使用集成開(kāi)發(fā)環(huán)境IDE,一般包括代碼(dàimǎ)編輯器、編譯器、調(diào)試器和圖形用戶界面工具。Turbo系列的集成開(kāi)發(fā)環(huán)境(包括TurboC,TurboPascal等)、C++Builder、Delphi等

MicrosoftVisualStudio(簡(jiǎn)稱VS)系列

JbuilderEclipse、MyEclipseNetbeans共五十八頁(yè)1.6軟件工具概述(ɡàishù)測(cè)試工具:分為程序單元測(cè)試工具(gōngjù)、組裝測(cè)試工具(gōngjù)和系統(tǒng)測(cè)試工具(gōngjù)。單元測(cè)試工具:目前最流行的單元測(cè)試工具是xUnit系列框架。組裝測(cè)試工具:也稱為集成測(cè)試或聯(lián)合測(cè)試。包括WinRunner、

IBM

Rational

Functional

Tester、

TestDirector等。系統(tǒng)測(cè)試工具:系統(tǒng)測(cè)試是對(duì)整個(gè)基于計(jì)算機(jī)的系統(tǒng)進(jìn)行一系列不同考驗(yàn)的測(cè)試。

典型工具包括IBM

Rational

Robot、

IBM

Rational

Quality

Manager、

LoadRunner

等。共五十八頁(yè)1.7軟件工程知識(shí)(zhīshi)體系及知識(shí)(zhīshi)域軟件工程教育(3個(gè)歷史時(shí)期)

(1)1978年以前:軟件工程教育以計(jì)算機(jī)專業(yè)的一門孤立的課程形式存在(cúnzài)。

(2)1978—1988年期間:早期的研究生學(xué)位教育,開(kāi)始建立軟件工程專業(yè)的研究生學(xué)位教育項(xiàng)目。

(3)1988年以后:快速發(fā)展的研究生學(xué)科教育

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論