秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

第1章 軟件工程基礎(chǔ)

上傳人:仙*** 文檔編號(hào):119389164 上傳時(shí)間:2022-07-14 格式:PPTX 頁(yè)數(shù):64 大?。?56.23KB
收藏 版權(quán)申訴 舉報(bào) 下載
第1章 軟件工程基礎(chǔ)_第1頁(yè)
第1頁(yè) / 共64頁(yè)
第1章 軟件工程基礎(chǔ)_第2頁(yè)
第2頁(yè) / 共64頁(yè)
第1章 軟件工程基礎(chǔ)_第3頁(yè)
第3頁(yè) / 共64頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《第1章 軟件工程基礎(chǔ)》由會(huì)員分享,可在線閱讀,更多相關(guān)《第1章 軟件工程基礎(chǔ)(64頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、第一章第一章 軟件工程基礎(chǔ)軟件工程基礎(chǔ) 主要內(nèi)容n計(jì)算機(jī)系統(tǒng)工程計(jì)算機(jī)系統(tǒng)工程 n軟件工程軟件工程 n軟件生存期模型軟件生存期模型 n軟件開發(fā)方法軟件開發(fā)方法 n軟件工程環(huán)境軟件工程環(huán)境 軟件與計(jì)算機(jī)的系統(tǒng)要素之間的關(guān)系軟件與計(jì)算機(jī)的系統(tǒng)要素之間的關(guān)系n大多數(shù)軟件系統(tǒng)都是為了開發(fā)滿足某種需求大多數(shù)軟件系統(tǒng)都是為了開發(fā)滿足某種需求而建立。這些軟件必須要而建立。這些軟件必須要計(jì)算機(jī)系統(tǒng)的支持。的支持。n不論系統(tǒng)的自動(dòng)化程度有多高,都需要不論系統(tǒng)的自動(dòng)化程度有多高,都需要人人的的參與。任何系統(tǒng)都必須配備參與。任何系統(tǒng)都必須配備使用手冊(cè)使用手冊(cè)及必要及必要的表格和其他文檔。在網(wǎng)絡(luò)時(shí)代的應(yīng)用系統(tǒng)的表格和

2、其他文檔。在網(wǎng)絡(luò)時(shí)代的應(yīng)用系統(tǒng)中,絕大多數(shù)應(yīng)用系統(tǒng)都離不開中,絕大多數(shù)應(yīng)用系統(tǒng)都離不開數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)和和網(wǎng)網(wǎng)絡(luò)絡(luò)這樣的基礎(chǔ)設(shè)施。如圖這樣的基礎(chǔ)設(shè)施。如圖1.11.1所示。所示。過程輸出輸入文檔硬件軟件人系統(tǒng)系統(tǒng)數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)圖1.1 基于計(jì)算機(jī)的系統(tǒng)要素 1.11.1計(jì)算機(jī)系統(tǒng)工程計(jì)算機(jī)系統(tǒng)工程 n計(jì)算機(jī)系統(tǒng)工程:與構(gòu)造基于計(jì)算機(jī)系統(tǒng)有關(guān)的過:與構(gòu)造基于計(jì)算機(jī)系統(tǒng)有關(guān)的過程、方法和技術(shù)。程、方法和技術(shù)。n一種問題求解活動(dòng),目的是揭示與分析所期望的功一種問題求解活動(dòng),目的是揭示與分析所期望的功能,并把這些功能分配到系統(tǒng)的各個(gè)獨(dú)立系統(tǒng)元素能,并把這些功能分配到系統(tǒng)的各個(gè)獨(dú)立系統(tǒng)元素中去。中去。n計(jì)算機(jī)

3、系統(tǒng)工程師與用戶充分合作,以確認(rèn)用戶的計(jì)算機(jī)系統(tǒng)工程師與用戶充分合作,以確認(rèn)用戶的目標(biāo)與約束。目標(biāo)與約束。1.1.11.1.1硬件與硬件工程硬件與硬件工程 n計(jì)算機(jī)系統(tǒng)工程師根據(jù)系統(tǒng)需求為硬件系統(tǒng)計(jì)算機(jī)系統(tǒng)工程師根據(jù)系統(tǒng)需求為硬件系統(tǒng)指派任務(wù),產(chǎn)生硬件需求。指派任務(wù),產(chǎn)生硬件需求。n硬件工程師根據(jù)硬件需求設(shè)計(jì)、制造或選擇硬件工程師根據(jù)硬件需求設(shè)計(jì)、制造或選擇硬部件或設(shè)備。硬部件或設(shè)備。n硬件工程過程分為三個(gè)階段,即計(jì)劃和定義硬件工程過程分為三個(gè)階段,即計(jì)劃和定義階段;設(shè)計(jì)和樣機(jī)實(shí)現(xiàn)階段;生產(chǎn)、銷售和階段;設(shè)計(jì)和樣機(jī)實(shí)現(xiàn)階段;生產(chǎn)、銷售和售后服務(wù)階段。售后服務(wù)階段。硬件功能開發(fā)計(jì)劃評(píng)審詳細(xì)需求分

4、析評(píng)審成本進(jìn)度硬件規(guī)格說明(a)計(jì)劃與定義階段 該階段的任務(wù)是制訂開發(fā)計(jì)劃,確定項(xiàng)目成本預(yù)算和該階段的任務(wù)是制訂開發(fā)計(jì)劃,確定項(xiàng)目成本預(yù)算和工程進(jìn)度,并進(jìn)行詳細(xì)需求分析,確定硬件規(guī)格說明。工程進(jìn)度,并進(jìn)行詳細(xì)需求分析,確定硬件規(guī)格說明。設(shè)計(jì)圖紙?jiān)O(shè)計(jì)圖紙樣機(jī)設(shè) 計(jì) 分析評(píng)審建立樣機(jī)與測(cè)試評(píng)審生產(chǎn)分析(b)設(shè)計(jì)與樣機(jī)實(shí)現(xiàn)階段 該階段的任務(wù)是分析設(shè)計(jì),畫出設(shè)計(jì)圖,必要時(shí)建造原該階段的任務(wù)是分析設(shè)計(jì),畫出設(shè)計(jì)圖,必要時(shí)建造原型對(duì)樣機(jī)進(jìn)行測(cè)試,最后進(jìn)行制造分析,畫出生產(chǎn)圖型對(duì)樣機(jī)進(jìn)行測(cè)試,最后進(jìn)行制造分析,畫出生產(chǎn)圖。產(chǎn)品備件制造質(zhì) 量 保證銷售評(píng)審返工維護(hù)機(jī)構(gòu)(c)制造、銷售與售后服務(wù)階段該階段的任務(wù)

5、是按照質(zhì)量保證計(jì)劃和要求生產(chǎn)硬件產(chǎn)品。該階段的任務(wù)是按照質(zhì)量保證計(jì)劃和要求生產(chǎn)硬件產(chǎn)品。1.1.21.1.2軟件與軟件工程軟件與軟件工程 n計(jì)算機(jī)軟件:軟件工程師設(shè)計(jì)和建造的產(chǎn)品。:軟件工程師設(shè)計(jì)和建造的產(chǎn)品。包括:包括:可執(zhí)行的程序可執(zhí)行的程序+開發(fā)各階段文檔開發(fā)各階段文檔+各種數(shù)據(jù)。各種數(shù)據(jù)。n軟件工程是研究軟件生產(chǎn)和軟件管理的工程科學(xué)。是研究軟件生產(chǎn)和軟件管理的工程科學(xué)。內(nèi)容包括:內(nèi)容包括:市場(chǎng)調(diào)研、正式立項(xiàng)、需求分析、項(xiàng)目策劃、市場(chǎng)調(diào)研、正式立項(xiàng)、需求分析、項(xiàng)目策劃、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程、測(cè)試、試運(yùn)行、產(chǎn)品發(fā)布、用概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程、測(cè)試、試運(yùn)行、產(chǎn)品發(fā)布、用戶培訓(xùn)、產(chǎn)品復(fù)制

6、、銷售、實(shí)施、系統(tǒng)維護(hù)和版本升級(jí)等。戶培訓(xùn)、產(chǎn)品復(fù)制、銷售、實(shí)施、系統(tǒng)維護(hù)和版本升級(jí)等。n軟件工程模型一般包括:軟件項(xiàng)目的定義階段、軟軟件工程模型一般包括:軟件項(xiàng)目的定義階段、軟件開發(fā)階段、軟件的檢驗(yàn)、交付與維護(hù)階段件開發(fā)階段、軟件的檢驗(yàn)、交付與維護(hù)階段。原型(a)定義階段軟件項(xiàng)目計(jì)劃評(píng)審需求分析或原型評(píng)審項(xiàng)目計(jì)劃需求規(guī)格說明軟件功能原型數(shù)據(jù)與結(jié)構(gòu)設(shè)計(jì)評(píng)審過程設(shè)計(jì)評(píng)審程序編碼評(píng)審詳細(xì)設(shè)計(jì)規(guī)格說明概要設(shè)計(jì)規(guī)格說明源程序代碼(b)開發(fā)階段操作過程(c)檢驗(yàn)、交付與維護(hù)階段(運(yùn)行維護(hù)階段)單元測(cè)試組裝測(cè)試確認(rèn)測(cè)試調(diào)試交付與銷售評(píng)審維護(hù)評(píng)審用戶文檔測(cè)試計(jì)劃測(cè)試過程測(cè)試結(jié)果修改的源程序代碼因缺陷可能導(dǎo)致

7、返回到前面步驟修改的文檔代碼1.1.31.1.3人機(jī)工程人機(jī)工程 n關(guān)鍵是處理軟件與人的交互問題。關(guān)鍵是處理軟件與人的交互問題。n現(xiàn)在現(xiàn)在“人機(jī)界面友好人機(jī)界面友好”的要求,已成為基于計(jì)算機(jī)系的要求,已成為基于計(jì)算機(jī)系統(tǒng)的一項(xiàng)重要技術(shù)指標(biāo)統(tǒng)的一項(xiàng)重要技術(shù)指標(biāo)。n人機(jī)工程包括下列步驟:1.1.創(chuàng)建系統(tǒng)功能的外部模型創(chuàng)建系統(tǒng)功能的外部模型 2.2.確定為完成此系統(tǒng)功能人和計(jì)算機(jī)應(yīng)分別完成的任務(wù)確定為完成此系統(tǒng)功能人和計(jì)算機(jī)應(yīng)分別完成的任務(wù) 3.3.考慮界面設(shè)計(jì)中的典型問題考慮界面設(shè)計(jì)中的典型問題 4.4.借助借助CASECASE工具構(gòu)造界面原型和最終實(shí)現(xiàn)設(shè)計(jì)模型工具構(gòu)造界面原型和最終實(shí)現(xiàn)設(shè)計(jì)模型

8、5.5.從質(zhì)量的角度對(duì)界面進(jìn)行評(píng)估從質(zhì)量的角度對(duì)界面進(jìn)行評(píng)估 1.1.41.1.4數(shù)據(jù)庫(kù)工程數(shù)據(jù)庫(kù)工程 n數(shù)據(jù)庫(kù)系統(tǒng)是基于計(jì)算機(jī)系統(tǒng)的重要組成部數(shù)據(jù)庫(kù)系統(tǒng)是基于計(jì)算機(jī)系統(tǒng)的重要組成部分,它將有關(guān)的硬件、軟件、數(shù)據(jù)和數(shù)據(jù)庫(kù)分,它將有關(guān)的硬件、軟件、數(shù)據(jù)和數(shù)據(jù)庫(kù)管理人員結(jié)合起來,為用戶提供信息服務(wù)。管理人員結(jié)合起來,為用戶提供信息服務(wù)。n數(shù)據(jù)庫(kù)系統(tǒng)的開發(fā)方法主要有:結(jié)構(gòu)化生命數(shù)據(jù)庫(kù)系統(tǒng)的開發(fā)方法主要有:結(jié)構(gòu)化生命周期開發(fā)方法、原型法、面向?qū)ο蟮拈_發(fā)方周期開發(fā)方法、原型法、面向?qū)ο蟮拈_發(fā)方法等。法等。數(shù)據(jù)庫(kù)工程的任務(wù)數(shù)據(jù)庫(kù)工程的任務(wù)n數(shù)據(jù)庫(kù)工程應(yīng)完成下列任務(wù):1.1.確定系統(tǒng)的各項(xiàng)指標(biāo)并進(jìn)行評(píng)估和計(jì)

9、劃制定確定系統(tǒng)的各項(xiàng)指標(biāo)并進(jìn)行評(píng)估和計(jì)劃制定 2.2.論證、選擇和配置數(shù)據(jù)庫(kù)系統(tǒng)論證、選擇和配置數(shù)據(jù)庫(kù)系統(tǒng) 3.3.數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn) 概念設(shè)計(jì)(概念設(shè)計(jì)(E-RE-R圖)、邏輯設(shè)計(jì)、物理設(shè)計(jì)圖)、邏輯設(shè)計(jì)、物理設(shè)計(jì)4.4.數(shù)據(jù)庫(kù)的管理與維護(hù)數(shù)據(jù)庫(kù)的管理與維護(hù) 1.1.51.1.5網(wǎng)絡(luò)工程網(wǎng)絡(luò)工程 n網(wǎng)絡(luò)工程是研究網(wǎng)絡(luò)系統(tǒng)的規(guī)劃、設(shè)計(jì)與網(wǎng)絡(luò)工程是研究網(wǎng)絡(luò)系統(tǒng)的規(guī)劃、設(shè)計(jì)與管理的工程科學(xué),要求工程技術(shù)人員根據(jù)管理的工程科學(xué),要求工程技術(shù)人員根據(jù)既定的目標(biāo),嚴(yán)格依照行業(yè)規(guī)范,制定網(wǎng)既定的目標(biāo),嚴(yán)格依照行業(yè)規(guī)范,制定網(wǎng)絡(luò)建設(shè)的方案,協(xié)助工程招投標(biāo)、設(shè)計(jì)、絡(luò)建設(shè)的方案,協(xié)助工程招投標(biāo)、設(shè)

10、計(jì)、實(shí)施、管理與維護(hù)等活動(dòng)。實(shí)施、管理與維護(hù)等活動(dòng)。網(wǎng)絡(luò)工程的任務(wù)網(wǎng)絡(luò)工程的任務(wù)n網(wǎng)絡(luò)工程應(yīng)該完成以下任務(wù):網(wǎng)絡(luò)工程應(yīng)該完成以下任務(wù):1.1.需求分析需求分析。2.2.總體設(shè)計(jì)分析,總體設(shè)計(jì)分析,確定該網(wǎng)絡(luò)的服務(wù)類型,進(jìn)而確定該網(wǎng)絡(luò)的服務(wù)類型,進(jìn)而確定系統(tǒng)建設(shè)的具體目標(biāo)以及系統(tǒng)構(gòu)件拓?fù)浣Y(jié)確定系統(tǒng)建設(shè)的具體目標(biāo)以及系統(tǒng)構(gòu)件拓?fù)浣Y(jié)構(gòu)等。構(gòu)等。3.實(shí)施,即實(shí)施,即選擇合適的設(shè)備,按設(shè)計(jì)方案實(shí)現(xiàn)網(wǎng)選擇合適的設(shè)備,按設(shè)計(jì)方案實(shí)現(xiàn)網(wǎng)絡(luò)建設(shè)。絡(luò)建設(shè)。4.驗(yàn)收與維護(hù)驗(yàn)收與維護(hù)。1.21.2軟件工程軟件工程 n1.2.1軟件軟件n1.1.軟件定義軟件定義 (1)(1)在運(yùn)行中能提供所希望的功能和性在運(yùn)行中能提供

11、所希望的功能和性能的指令集(即程序);能的指令集(即程序);(2)(2)使程序能夠正確運(yùn)行的數(shù)據(jù)結(jié)構(gòu);使程序能夠正確運(yùn)行的數(shù)據(jù)結(jié)構(gòu);(3)(3)描述程序研制過程、方法所用的文描述程序研制過程、方法所用的文檔。檔。2.2.軟件的特點(diǎn)軟件的特點(diǎn) n軟件是一種邏輯實(shí)體,不是具體的物理實(shí)體,具有軟件是一種邏輯實(shí)體,不是具體的物理實(shí)體,具有抽象性。抽象性。n軟件是通過人們的智力活動(dòng),把知識(shí)與技術(shù)轉(zhuǎn)化成軟件是通過人們的智力活動(dòng),把知識(shí)與技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品,是在研制、開發(fā)中被創(chuàng)造出來的。信息的一種產(chǎn)品,是在研制、開發(fā)中被創(chuàng)造出來的。n在軟件的運(yùn)行和使用期間,沒有硬件那樣的機(jī)械磨在軟件的運(yùn)行和使用期間,

12、沒有硬件那樣的機(jī)械磨損、老化問題。損、老化問題。軟件存在故障(錯(cuò)誤)的原因軟件存在故障(錯(cuò)誤)的原因n軟件的開發(fā)和運(yùn)行經(jīng)常受到計(jì)算機(jī)硬件系統(tǒng)的軟件的開發(fā)和運(yùn)行經(jīng)常受到計(jì)算機(jī)硬件系統(tǒng)的限制,軟件對(duì)計(jì)算機(jī)硬件系統(tǒng)有著不同程度的限制,軟件對(duì)計(jì)算機(jī)硬件系統(tǒng)有著不同程度的依賴關(guān)系。依賴關(guān)系。n軟件的開發(fā)尚未完全擺脫手工的開發(fā)方式。軟件的開發(fā)尚未完全擺脫手工的開發(fā)方式。n軟件的開發(fā)費(fèi)用越來越高,成本相當(dāng)昂貴。軟件的開發(fā)費(fèi)用越來越高,成本相當(dāng)昂貴。n軟件的開發(fā)是一個(gè)復(fù)雜的過程,管理是軟件開軟件的開發(fā)是一個(gè)復(fù)雜的過程,管理是軟件開發(fā)過程中必不可少內(nèi)容。發(fā)過程中必不可少內(nèi)容。1.2.21.2.2軟件工程的概念軟

13、件工程的概念 軟件發(fā)展的四個(gè)階段1.1950s1960s中:規(guī)模較小的程序,個(gè)體化的軟件開規(guī)模較小的程序,個(gè)體化的軟件開發(fā),只有程序清單。發(fā),只有程序清單。程序設(shè)計(jì)階段程序設(shè)計(jì)階段2.1960s中1970中:“軟件作坊軟件作坊”,廣泛使用產(chǎn)品軟,廣泛使用產(chǎn)品軟件。件。程序系統(tǒng)階段程序系統(tǒng)階段3.1970中 1980s:微處理器的出現(xiàn)并廣泛應(yīng)用。分布微處理器的出現(xiàn)并廣泛應(yīng)用。分布式系統(tǒng)、嵌入智能。式系統(tǒng)、嵌入智能。進(jìn)入軟件工程階段進(jìn)入軟件工程階段4.1980s:網(wǎng)絡(luò)迅速普及網(wǎng)絡(luò)迅速普及,強(qiáng)大的桌面系統(tǒng)、面向?qū)ο蠹夹g(shù)、強(qiáng)大的桌面系統(tǒng)、面向?qū)ο蠹夹g(shù)、專家系統(tǒng)、人工智能、神經(jīng)網(wǎng)絡(luò)、并行計(jì)算、網(wǎng)格計(jì)算、

14、虛擬專家系統(tǒng)、人工智能、神經(jīng)網(wǎng)絡(luò)、并行計(jì)算、網(wǎng)格計(jì)算、虛擬組織。組織。軟件發(fā)展過程中存在的問題軟件發(fā)展過程中存在的問題 軟件開發(fā)能力不能滿足人們的需要;軟件開發(fā)能力不能滿足人們的需要;社會(huì)對(duì)軟件的依賴程度加大,人們普遍關(guān)注軟件的社會(huì)對(duì)軟件的依賴程度加大,人們普遍關(guān)注軟件的安全和可靠性;安全和可靠性;若干年前開發(fā)的應(yīng)用軟件經(jīng)過幾十次修改已無人認(rèn)若干年前開發(fā)的應(yīng)用軟件經(jīng)過幾十次修改已無人認(rèn)識(shí)它的內(nèi)部結(jié)構(gòu),己經(jīng)不可維護(hù);識(shí)它的內(nèi)部結(jié)構(gòu),己經(jīng)不可維護(hù);由于經(jīng)濟(jì)原因由于經(jīng)濟(jì)原因,嵌入式系統(tǒng)存在許多怪現(xiàn)象,企業(yè)嵌入式系統(tǒng)存在許多怪現(xiàn)象,企業(yè)不愿意投入資源再生產(chǎn),而采取打補(bǔ)丁不愿意投入資源再生產(chǎn),而采取打補(bǔ)

15、丁+時(shí)髦界面時(shí)髦界面的方法。的方法。1.1.軟件危機(jī)軟件危機(jī) 軟件危機(jī)軟件危機(jī)是指在計(jì)算機(jī)軟件的是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程開發(fā)和維護(hù)過程中所遇中所遇到的一系列嚴(yán)重問題。到的一系列嚴(yán)重問題。典型表現(xiàn):典型表現(xiàn):n 開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確;開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確;n 用戶對(duì)用戶對(duì)“已完成的已完成的”軟件系統(tǒng)不滿意;軟件系統(tǒng)不滿意;“閉門造閉門造車車”;n 軟件質(zhì)量不可靠;軟件質(zhì)量不可靠;n 軟件常常是不可維護(hù)的;軟件常常是不可維護(hù)的;n 軟件成本的比例逐年上升;軟件成本的比例逐年上升;n 軟件產(chǎn)品軟件產(chǎn)品“供不應(yīng)求供不應(yīng)求”;2.2.消除軟件危機(jī)的途徑消除軟件危機(jī)的途徑

16、消除消除“軟件就是程序軟件就是程序”的錯(cuò)誤觀念。的錯(cuò)誤觀念。一個(gè)軟件必須由一個(gè)完整的配置組成,事實(shí)上,一個(gè)軟件必須由一個(gè)完整的配置組成,事實(shí)上,軟件是軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件開發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧,而應(yīng)該軟件開發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧,而應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的共同完成的工程項(xiàng)目。工程項(xiàng)目。成功的軟件開發(fā)技術(shù)和方法。成功的軟件開發(fā)技術(shù)和方法。軟件工具和軟件工程支撐環(huán)境。軟件工具和軟件工程支撐環(huán)境。3.3.軟件工程的定義軟件工程的定義 n1968年在聯(lián)邦德國(guó)

17、召開的年在聯(lián)邦德國(guó)召開的計(jì)算機(jī)國(guó)際會(huì)議計(jì)算機(jī)國(guó)際會(huì)議NATOn軟件危機(jī)軟件危機(jī)根源根源解決途徑解決途徑軟件工程軟件工程n“概括地說,概括地說,軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用維護(hù)的一門工程學(xué)科。采用工程的概念、原理、的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它。”4.4.軟件工程的目標(biāo)軟件工程的目標(biāo) n軟件工程的目標(biāo)是明確的,就是研制、開發(fā)軟件工

18、程的目標(biāo)是明確的,就是研制、開發(fā)與生產(chǎn)出具有良好軟件質(zhì)量和費(fèi)用合算的產(chǎn)與生產(chǎn)出具有良好軟件質(zhì)量和費(fèi)用合算的產(chǎn)品品。1)1)采用工程化方法和途徑來開發(fā)與維護(hù)軟件。采用工程化方法和途徑來開發(fā)與維護(hù)軟件。2)2)應(yīng)該開發(fā)和使用更好的軟件工具。應(yīng)該開發(fā)和使用更好的軟件工具。3)3)采取必要的管理措施。采取必要的管理措施。5.5.軟件工程的基本原則軟件工程的基本原則1.1.用分階段的生命周期計(jì)劃嚴(yán)格管理用分階段的生命周期計(jì)劃嚴(yán)格管理2.2.堅(jiān)持進(jìn)行階段評(píng)審堅(jiān)持進(jìn)行階段評(píng)審錯(cuò)誤出現(xiàn)的時(shí)間:在編代碼之前(設(shè)計(jì)錯(cuò)誤占錯(cuò)誤出現(xiàn)的時(shí)間:在編代碼之前(設(shè)計(jì)錯(cuò)誤占63%63%:編碼占:編碼占37%37%)改正錯(cuò)誤的代

19、價(jià):發(fā)現(xiàn)得越晚,開發(fā)代價(jià)越高改正錯(cuò)誤的代價(jià):發(fā)現(xiàn)得越晚,開發(fā)代價(jià)越高3.3.實(shí)行嚴(yán)格的產(chǎn)品控制實(shí)行嚴(yán)格的產(chǎn)品控制n基線配置(經(jīng)階段評(píng)審后的軟件配置)、變動(dòng)控制(要嚴(yán)格評(píng)審才基線配置(經(jīng)階段評(píng)審后的軟件配置)、變動(dòng)控制(要嚴(yán)格評(píng)審才能修改)能修改)4.4.采用現(xiàn)代程序設(shè)計(jì)技術(shù)采用現(xiàn)代程序設(shè)計(jì)技術(shù)5.5.結(jié)果應(yīng)能清楚地審查結(jié)果應(yīng)能清楚地審查6.6.開發(fā)小組的人員應(yīng)該少而精開發(fā)小組的人員應(yīng)該少而精7.7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性6.6.軟件工程研究的基本內(nèi)容軟件工程研究的基本內(nèi)容 n軟件工程學(xué)分為:理論與結(jié)構(gòu)、方法、工具與環(huán)境、軟件工程學(xué)分為:理論與結(jié)構(gòu)、方法

20、、工具與環(huán)境、管理和規(guī)范等。管理和規(guī)范等。n理論與結(jié)構(gòu)包括:程序正確性證明理論、軟件可靠理論與結(jié)構(gòu)包括:程序正確性證明理論、軟件可靠性理論、軟件成本估算模型、軟件開發(fā)模型、模塊性理論、軟件成本估算模型、軟件開發(fā)模型、模塊劃分原理等。劃分原理等。n軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、軟件工具和軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、軟件工具和軟件開發(fā)環(huán)境。軟件開發(fā)環(huán)境。n軟件工程管理包括:軟件開發(fā)管理和軟件經(jīng)濟(jì)管理軟件工程管理包括:軟件開發(fā)管理和軟件經(jīng)濟(jì)管理。1.2.31.2.3軟件生命周期軟件生命周期 v軟件生存周期就是從提出軟件產(chǎn)品開始,直到該就是從提出軟件產(chǎn)品開始,直到該軟件產(chǎn)品被淘汰的全過程軟件

21、產(chǎn)品被淘汰的全過程。v我國(guó)軟件工程標(biāo)準(zhǔn)將軟件生命周期分成以下幾個(gè)我國(guó)軟件工程標(biāo)準(zhǔn)將軟件生命周期分成以下幾個(gè)階段:階段:n軟件定義:確定軟件開發(fā)總目標(biāo);確定工程的可行性;確定軟件開發(fā)總目標(biāo);確定工程的可行性;導(dǎo)出實(shí)現(xiàn)策略及系統(tǒng)功能;估計(jì)資源和成本,并且制定導(dǎo)出實(shí)現(xiàn)策略及系統(tǒng)功能;估計(jì)資源和成本,并且制定工程進(jìn)度表。工程進(jìn)度表。n問題定義、可行性研究、需求分析問題定義、可行性研究、需求分析n軟件開發(fā):具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件n總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試n軟件維護(hù):使軟件持久地滿足用戶的需要

22、。使軟件持久地滿足用戶的需要。軟件生命周期軟件生命周期(續(xù)續(xù)1)1)1.1.問題定義問題定義 “要解決的問題是什么要解決的問題是什么?”?”確定用戶要求解決的性質(zhì)、工程的目標(biāo)和規(guī)模。確定用戶要求解決的性質(zhì)、工程的目標(biāo)和規(guī)模。2.2.可行性研究可行性研究 “對(duì)于上一個(gè)階段所確定的問題有行得通的解決辦法嗎對(duì)于上一個(gè)階段所確定的問題有行得通的解決辦法嗎?”?”經(jīng)濟(jì)可行性、技術(shù)可行性、法律可行性、不同的方案經(jīng)濟(jì)可行性、技術(shù)可行性、法律可行性、不同的方案3.3.需求分析需求分析 “為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須做什么為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須做什么”確定系統(tǒng)必須具有的功能和性能,系統(tǒng)要求的運(yùn)行環(huán)境,

23、并且確定系統(tǒng)必須具有的功能和性能,系統(tǒng)要求的運(yùn)行環(huán)境,并且預(yù)測(cè)系統(tǒng)發(fā)展的前景。預(yù)測(cè)系統(tǒng)發(fā)展的前景。規(guī)格說明書規(guī)格說明書(specification)(specification)軟件生命周期軟件生命周期(續(xù)續(xù)2)2)4.總體設(shè)計(jì)(概要設(shè)計(jì))總體設(shè)計(jì)(概要設(shè)計(jì))n “概括地說,應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)概括地說,應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?”n 設(shè)計(jì)出實(shí)現(xiàn)目標(biāo)系統(tǒng)的幾種可能的方案。推薦一個(gè)最佳方案。設(shè)計(jì)出實(shí)現(xiàn)目標(biāo)系統(tǒng)的幾種可能的方案。推薦一個(gè)最佳方案。5.詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)n “應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢?”n 設(shè)計(jì)出程序的詳細(xì)規(guī)格說明。設(shè)計(jì)出程序的詳細(xì)規(guī)格說明。6.編碼和單元測(cè)

24、試編碼和單元測(cè)試n 寫出正確的容易理解、容易維護(hù)的程序模塊寫出正確的容易理解、容易維護(hù)的程序模塊n 仔細(xì)測(cè)試編寫出的每一個(gè)模塊。仔細(xì)測(cè)試編寫出的每一個(gè)模塊。7.綜合測(cè)試綜合測(cè)試n 集成測(cè)試和驗(yàn)收測(cè)試,現(xiàn)場(chǎng)測(cè)試或平行運(yùn)行集成測(cè)試和驗(yàn)收測(cè)試,現(xiàn)場(chǎng)測(cè)試或平行運(yùn)行8.軟件維護(hù)軟件維護(hù) 使系統(tǒng)持久地滿足用戶的需要。使系統(tǒng)持久地滿足用戶的需要。改正性維護(hù),適應(yīng)性維護(hù),完善性維護(hù),預(yù)防性維護(hù)。改正性維護(hù),適應(yīng)性維護(hù),完善性維護(hù),預(yù)防性維護(hù)。1.31.3軟件生存期模型軟件生存期模型 n軟件生存期模型反映軟件生存周期內(nèi)各種工作應(yīng)如軟件生存期模型反映軟件生存周期內(nèi)各種工作應(yīng)如何組織及,以及各個(gè)階段應(yīng)如何銜接。何組

25、織及,以及各個(gè)階段應(yīng)如何銜接。n軟件生存期模型是跨越整個(gè)軟件生存周期的系統(tǒng)開軟件生存期模型是跨越整個(gè)軟件生存周期的系統(tǒng)開發(fā)、運(yùn)作、維護(hù)所實(shí)施的全部工作和任務(wù)的結(jié)構(gòu)框發(fā)、運(yùn)作、維護(hù)所實(shí)施的全部工作和任務(wù)的結(jié)構(gòu)框架。架。n常用的軟件生存期模型有:瀑布模型、原型模型、常用的軟件生存期模型有:瀑布模型、原型模型、螺旋模型、基于四代技術(shù)模型、噴泉模型和增量模螺旋模型、基于四代技術(shù)模型、噴泉模型和增量模型。型。1.3.21.3.2瀑布模型瀑布模型(Waterfall model)n瀑布模型又稱生存周期模型,由瀑布模型又稱生存周期模型,由B.M.Boehm提出,提出,是軟件工程的基礎(chǔ)模型。是軟件工程的基礎(chǔ)模

26、型。理想的瀑布模型理想的瀑布模型實(shí)際的瀑布模型實(shí)際的瀑布模型瀑布模型的特點(diǎn)瀑布模型的特點(diǎn)1.階段間具有順序性和依賴性n各個(gè)階段如同瀑布流水,逐級(jí)下落,自上而下、相互銜接的固定次序。2.推遲實(shí)現(xiàn)的觀點(diǎn)n清楚地區(qū)分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序的物理實(shí)現(xiàn)。3.質(zhì)量保證的觀點(diǎn)(文檔驅(qū)動(dòng))n每個(gè)階段都必須完成規(guī)定的文檔n每個(gè)階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審瀑布模型的缺點(diǎn)瀑布模型的缺點(diǎn)模型缺乏靈活性。模型缺乏靈活性。開發(fā)過程一般不能逆轉(zhuǎn),否則代價(jià)太大開發(fā)過程一般不能逆轉(zhuǎn),否則代價(jià)太大規(guī)格說明很難理解:規(guī)格說明很難理解:“我知道這是按我我知道這是按我的要求做的,但不是我想要的樣子。的要求做的,但不

27、是我想要的樣子?!避浖膶?shí)際情況必須到項(xiàng)目開發(fā)的后期軟件的實(shí)際情況必須到項(xiàng)目開發(fā)的后期客戶才能看到。(客戶才能看到。(文檔驅(qū)動(dòng)的兩面性文檔驅(qū)動(dòng)的兩面性)1.3.3 1.3.3 快速原型模型快速原型模型 快速建立起來的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完快速建立起來的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。用戶測(cè)試用戶測(cè)試運(yùn)行原型運(yùn)行原型建造建造/修改修改 原型原型 聽取用聽取用 戶意見戶意見1.1.快速原型模型的優(yōu)點(diǎn)快速原型模型的優(yōu)點(diǎn)快速原型的本質(zhì)是快速原型的本質(zhì)是“快速快速”,主要幫助建立正確的,主要幫助建立

28、正確的規(guī)規(guī)格說明。格說明。原型模型給用戶以機(jī)會(huì),更改心中原先設(shè)想的、不原型模型給用戶以機(jī)會(huì),更改心中原先設(shè)想的、不盡合理的最終系統(tǒng)。盡合理的最終系統(tǒng)。原型模型可以低風(fēng)險(xiǎn)開發(fā)柔性較大的計(jì)算機(jī)系統(tǒng)。原型模型可以低風(fēng)險(xiǎn)開發(fā)柔性較大的計(jì)算機(jī)系統(tǒng)。原型模型使系統(tǒng)更易維護(hù),生成對(duì)用戶更友好的最原型模型使系統(tǒng)更易維護(hù),生成對(duì)用戶更友好的最終系統(tǒng)。終系統(tǒng)。原型模型使總的開發(fā)費(fèi)用降低,開發(fā)時(shí)間縮短。原型模型使總的開發(fā)費(fèi)用降低,開發(fā)時(shí)間縮短。有利于開發(fā)與培訓(xùn)的同步有利于開發(fā)與培訓(xùn)的同步2.2.缺點(diǎn)缺點(diǎn) 對(duì)于開發(fā)者不熟悉的領(lǐng)域,可能會(huì)把次要部分當(dāng)作對(duì)于開發(fā)者不熟悉的領(lǐng)域,可能會(huì)把次要部分當(dāng)作主要框架,從而做出不切題

29、的原型。主要框架,從而做出不切題的原型。原型迭代不收斂于開發(fā)者預(yù)先定義的目標(biāo)。原型迭代不收斂于開發(fā)者預(yù)先定義的目標(biāo)。原型過快收斂于需求集合,而忽略了一些基本點(diǎn)。原型過快收斂于需求集合,而忽略了一些基本點(diǎn)。資源規(guī)劃和管理較為困難,隨時(shí)更新文檔也帶來麻資源規(guī)劃和管理較為困難,隨時(shí)更新文檔也帶來麻煩。煩。長(zhǎng)期在原型環(huán)境上開發(fā),只注意得到滿意的原型,長(zhǎng)期在原型環(huán)境上開發(fā),只注意得到滿意的原型,容易容易“遺忘遺忘”用戶環(huán)境和原型環(huán)境的差異。用戶環(huán)境和原型環(huán)境的差異。3.3.原型模型的應(yīng)用范圍原型模型的應(yīng)用范圍對(duì)所開發(fā)的領(lǐng)域比較熟悉而且有快速的原型開發(fā)工具對(duì)所開發(fā)的領(lǐng)域比較熟悉而且有快速的原型開發(fā)工具項(xiàng)目

30、招投標(biāo)時(shí),可以以原型模型作為軟件的開發(fā)模型項(xiàng)目招投標(biāo)時(shí),可以以原型模型作為軟件的開發(fā)模型進(jìn)行產(chǎn)品移植或升級(jí)時(shí),或?qū)σ延挟a(chǎn)品原型進(jìn)行客戶進(jìn)行產(chǎn)品移植或升級(jí)時(shí),或?qū)σ延挟a(chǎn)品原型進(jìn)行客戶化工作時(shí),原型模型是非常適合的化工作時(shí),原型模型是非常適合的原型模型不適用嵌入式軟件、實(shí)時(shí)控制軟件、數(shù)值計(jì)原型模型不適用嵌入式軟件、實(shí)時(shí)控制軟件、數(shù)值計(jì)算軟件算軟件比較比較 瀑布模型瀑布模型試圖一次就獲得正確的產(chǎn)品試圖一次就獲得正確的產(chǎn)品 快速原型快速原型頻繁變化,然后廢棄頻繁變化,然后廢棄1.3.41.3.4螺旋模型螺旋模型 n1988年,年,Barry Boehm正式發(fā)表了軟件系統(tǒng)開發(fā)的正式發(fā)表了軟件系統(tǒng)開發(fā)的“

31、螺旋螺旋模型模型”,它將瀑布模型和快速原型模型結(jié)合起來,強(qiáng)調(diào)了其,它將瀑布模型和快速原型模型結(jié)合起來,強(qiáng)調(diào)了其他模型所忽視的他模型所忽視的風(fēng)險(xiǎn)分析。n該模型通常用來指導(dǎo)大型軟件項(xiàng)目的開發(fā),它將開發(fā)劃分為該模型通常用來指導(dǎo)大型軟件項(xiàng)目的開發(fā),它將開發(fā)劃分為制訂計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施開發(fā)和客戶評(píng)估四類活動(dòng)。制訂計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施開發(fā)和客戶評(píng)估四類活動(dòng)。簡(jiǎn)化版本:瀑布模型簡(jiǎn)化版本:瀑布模型+風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析 每個(gè)階段之前每個(gè)階段之前-確定目標(biāo),可供選擇的辦法及其限制條件確定目標(biāo),可供選擇的辦法及其限制條件-風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析 每個(gè)階段之后每個(gè)階段之后-評(píng)估評(píng)估-計(jì)劃下一階段計(jì)劃下一階段簡(jiǎn)化的螺旋模型簡(jiǎn)

32、化的螺旋模型完整的螺旋模型完整的螺旋模型 螺旋模型的優(yōu)點(diǎn)容易確定什么時(shí)候已經(jīng)對(duì)某一階段的產(chǎn)品充分測(cè)試完畢容易確定什么時(shí)候已經(jīng)對(duì)某一階段的產(chǎn)品充分測(cè)試完畢維護(hù)和開發(fā)之間沒有什么本質(zhì)上的差別維護(hù)和開發(fā)之間沒有什么本質(zhì)上的差別 螺旋模型的缺點(diǎn)僅適合于大型軟件僅適合于大型軟件 風(fēng)險(xiǎn)驅(qū)動(dòng)既是優(yōu)點(diǎn)也是缺點(diǎn)風(fēng)險(xiǎn)驅(qū)動(dòng)既是優(yōu)點(diǎn)也是缺點(diǎn)1.3.51.3.5基于四代技術(shù)模型基于四代技術(shù)模型n軟件工程的第四代技術(shù)(軟件工程的第四代技術(shù)(4GT)包含一系列的軟件)包含一系列的軟件工具。工具。n共同點(diǎn):使軟件設(shè)計(jì)者在較高級(jí)別上說明軟件的某些特征;使軟件設(shè)計(jì)者在較高級(jí)別上說明軟件的某些特征;軟件工具根據(jù)說明,自動(dòng)生成源代碼

33、。軟件工具根據(jù)說明,自動(dòng)生成源代碼。n支持第四代技術(shù)模型的軟件開發(fā)環(huán)境和工具要求較支持第四代技術(shù)模型的軟件開發(fā)環(huán)境和工具要求較高,高,例如數(shù)據(jù)庫(kù)查詢的非過程語(yǔ)言、報(bào)告生成器、數(shù)據(jù)操縱、屏幕交例如數(shù)據(jù)庫(kù)查詢的非過程語(yǔ)言、報(bào)告生成器、數(shù)據(jù)操縱、屏幕交互及定義、以及代碼生成;高級(jí)圖形功能;電子表格功能?;ゼ岸x、以及代碼生成;高級(jí)圖形功能;電子表格功能。n優(yōu)點(diǎn):極大地降低了軟件的開發(fā)時(shí)間,并顯著極大地降低了軟件的開發(fā)時(shí)間,并顯著提高了構(gòu)造軟件的生產(chǎn)率。提高了構(gòu)造軟件的生產(chǎn)率。n缺點(diǎn):目前目前4GT并不比程序設(shè)計(jì)語(yǔ)言更容易使并不比程序設(shè)計(jì)語(yǔ)言更容易使用,而且這類工具生成的結(jié)果源代碼是用,而且這類工具生

34、成的結(jié)果源代碼是“低效低效的的”,使用,使用4GT開發(fā)的大型軟件系統(tǒng)的可維護(hù)開發(fā)的大型軟件系統(tǒng)的可維護(hù)性令人懷疑的。性令人懷疑的。1.3.61.3.6噴泉模型噴泉模型 n在面向?qū)ο蠓椒ㄖ?,提出了與瀑布模型相對(duì)應(yīng)的噴在面向?qū)ο蠓椒ㄖ?,提出了與瀑布模型相對(duì)應(yīng)的噴泉模型,該模型的主要特點(diǎn)是認(rèn)為軟件生命周期的泉模型,該模型的主要特點(diǎn)是認(rèn)為軟件生命周期的各個(gè)階段是相互重疊和多次反復(fù)的各個(gè)階段是相互重疊和多次反復(fù)的。n噴泉模型主要支持面向?qū)ο蟮拈_發(fā)方法。系統(tǒng)某個(gè)噴泉模型主要支持面向?qū)ο蟮拈_發(fā)方法。系統(tǒng)某個(gè)部分常常重復(fù)工作多次,相關(guān)功能在每次迭代中隨部分常常重復(fù)工作多次,相關(guān)功能在每次迭代中隨之加入演進(jìn)的系

35、統(tǒng)。之加入演進(jìn)的系統(tǒng)。n在開發(fā)活動(dòng),即分析、設(shè)計(jì)和編碼之間不存在明顯在開發(fā)活動(dòng),即分析、設(shè)計(jì)和編碼之間不存在明顯的邊界。的邊界。圖1.9 噴泉模型 1.3.71.3.7增量模型增量模型 也稱:漸增模型也稱:漸增模型把軟件產(chǎn)品作為一系列增量構(gòu)件來設(shè)計(jì)、編碼、集成和測(cè)試。把軟件產(chǎn)品作為一系列增量構(gòu)件來設(shè)計(jì)、編碼、集成和測(cè)試。瀑布模型和快速原型模型的目標(biāo)交付給客戶一個(gè)完整的、可用的產(chǎn)品交付給客戶一個(gè)完整的、可用的產(chǎn)品增量模型的優(yōu)點(diǎn)每個(gè)階段交付一個(gè)可用的產(chǎn)品每個(gè)階段交付一個(gè)可用的產(chǎn)品減少一個(gè)全新產(chǎn)品給客戶帶來的心理上的影響減少一個(gè)全新產(chǎn)品給客戶帶來的心理上的影響分階段地交付產(chǎn)品不需要大的資金支出分階段

36、地交付產(chǎn)品不需要大的資金支出需求經(jīng)常變化,增量模型的靈活性使其具有更加優(yōu)越需求經(jīng)常變化,增量模型的靈活性使其具有更加優(yōu)越的適用性的適用性增量模型的困難需要一個(gè)開放的結(jié)構(gòu),方便構(gòu)件的加入需要一個(gè)開放的結(jié)構(gòu),方便構(gòu)件的加入增量模型本身就是一個(gè)矛盾的名詞增量模型本身就是一個(gè)矛盾的名詞1.41.4軟件開發(fā)方法軟件開發(fā)方法 n結(jié)構(gòu)化方法結(jié)構(gòu)化方法n面向數(shù)據(jù)結(jié)構(gòu)方法面向數(shù)據(jù)結(jié)構(gòu)方法 n面向?qū)ο蠓椒嫦驅(qū)ο蠓椒?n原型法原型法 1.4.11.4.1結(jié)構(gòu)化方法結(jié)構(gòu)化方法n結(jié)構(gòu)是指系統(tǒng)內(nèi)各組成要素之間的相互聯(lián)系、是指系統(tǒng)內(nèi)各組成要素之間的相互聯(lián)系、相互作用的框架。相互作用的框架。n結(jié)構(gòu)化方法:強(qiáng)調(diào)結(jié)構(gòu)的合理性,

37、以及所開發(fā)強(qiáng)調(diào)結(jié)構(gòu)的合理性,以及所開發(fā)軟件的結(jié)構(gòu)合理性,由此提出了一組提高軟軟件的結(jié)構(gòu)合理性,由此提出了一組提高軟件結(jié)構(gòu)合理性的準(zhǔn)則,如分解和抽象、模塊件結(jié)構(gòu)合理性的準(zhǔn)則,如分解和抽象、模塊的獨(dú)立性、信息隱蔽等。的獨(dú)立性、信息隱蔽等。n針對(duì)不同的開發(fā)活動(dòng),有結(jié)構(gòu)化分析、結(jié)構(gòu)針對(duì)不同的開發(fā)活動(dòng),有結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)、結(jié)構(gòu)化編程和結(jié)構(gòu)化測(cè)試等?;O(shè)計(jì)、結(jié)構(gòu)化編程和結(jié)構(gòu)化測(cè)試等。結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法n結(jié)構(gòu)化分析方法給出一組幫助系統(tǒng)分析人員結(jié)構(gòu)化分析方法給出一組幫助系統(tǒng)分析人員產(chǎn)生功能規(guī)約的原理和技術(shù)。產(chǎn)生功能規(guī)約的原理和技術(shù)。n利用圖形表示用戶需求,以數(shù)據(jù)流圖和控制利用圖形表示用戶需求,

38、以數(shù)據(jù)流圖和控制流圖為基礎(chǔ),伴以數(shù)據(jù)詞典,并配上結(jié)構(gòu)化流圖為基礎(chǔ),伴以數(shù)據(jù)詞典,并配上結(jié)構(gòu)化語(yǔ)言、判定表和判定樹等等描述手段,從而語(yǔ)言、判定表和判定樹等等描述手段,從而達(dá)到為解決問題而建立模型。達(dá)到為解決問題而建立模型。結(jié)構(gòu)化分析的步驟結(jié)構(gòu)化分析的步驟n結(jié)構(gòu)化分析的步驟如下:結(jié)構(gòu)化分析的步驟如下:(1)進(jìn)行系統(tǒng)分析,做出反映當(dāng)前物理模型的數(shù)據(jù)流圖;)進(jìn)行系統(tǒng)分析,做出反映當(dāng)前物理模型的數(shù)據(jù)流圖;(2)推導(dǎo)出等價(jià)的邏輯模型的數(shù)據(jù)流圖;)推導(dǎo)出等價(jià)的邏輯模型的數(shù)據(jù)流圖;(3)設(shè)計(jì)新的邏輯系統(tǒng),生成數(shù)據(jù)詞典描述;)設(shè)計(jì)新的邏輯系統(tǒng),生成數(shù)據(jù)詞典描述;(4)建立人機(jī)接口界面,提出可供選擇的目標(biāo)系統(tǒng)的物

39、理模)建立人機(jī)接口界面,提出可供選擇的目標(biāo)系統(tǒng)的物理模型數(shù)據(jù)流圖;型數(shù)據(jù)流圖;(5)確定各種方案的成本和風(fēng)險(xiǎn)等級(jí),據(jù)此對(duì)各種方案進(jìn)行)確定各種方案的成本和風(fēng)險(xiǎn)等級(jí),據(jù)此對(duì)各種方案進(jìn)行分析;分析;(6)選擇一種方案;)選擇一種方案;(7)建立完整的需求規(guī)約。)建立完整的需求規(guī)約。結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)n結(jié)構(gòu)化設(shè)計(jì)通常與結(jié)構(gòu)化分析銜接起來使用,以數(shù)據(jù)流圖為結(jié)構(gòu)化設(shè)計(jì)通常與結(jié)構(gòu)化分析銜接起來使用,以數(shù)據(jù)流圖為基礎(chǔ),得到軟件模塊結(jié)構(gòu)?;A(chǔ),得到軟件模塊結(jié)構(gòu)。n結(jié)構(gòu)化設(shè)計(jì)的步驟如下:(1)評(píng)審和細(xì)化數(shù)據(jù)流圖;)評(píng)審和細(xì)化數(shù)據(jù)流圖;(2)確定數(shù)據(jù)流圖的類型;)確定數(shù)據(jù)流圖的類型;(3)把數(shù)據(jù)流圖映射到軟件模

40、塊結(jié)構(gòu),設(shè)計(jì)出模塊結(jié)構(gòu)的上)把數(shù)據(jù)流圖映射到軟件模塊結(jié)構(gòu),設(shè)計(jì)出模塊結(jié)構(gòu)的上層;層;(4)基于數(shù)據(jù)流圖逐步分解高層模塊,設(shè)計(jì)中下層模塊;)基于數(shù)據(jù)流圖逐步分解高層模塊,設(shè)計(jì)中下層模塊;(5)對(duì)軟件模塊結(jié)構(gòu)進(jìn)行優(yōu)化,得到更為合理的軟件結(jié)構(gòu);)對(duì)軟件模塊結(jié)構(gòu)進(jìn)行優(yōu)化,得到更為合理的軟件結(jié)構(gòu);(6)描述模塊接口。)描述模塊接口。1.4.21.4.2面向數(shù)據(jù)結(jié)構(gòu)方法面向數(shù)據(jù)結(jié)構(gòu)方法n面向數(shù)據(jù)結(jié)構(gòu)方法是結(jié)構(gòu)化方法的變形,它面向數(shù)據(jù)結(jié)構(gòu)方法是結(jié)構(gòu)化方法的變形,它著重?cái)?shù)據(jù)結(jié)構(gòu)而不是數(shù)據(jù)流。著重?cái)?shù)據(jù)結(jié)構(gòu)而不是數(shù)據(jù)流。n結(jié)構(gòu)化方法:以分析信息流為主,用數(shù)據(jù)流以分析信息流為主,用數(shù)據(jù)流圖來表示信息流;圖來表示信息

41、流;n面向數(shù)據(jù)結(jié)構(gòu)方法:從分析數(shù)據(jù)結(jié)構(gòu)入手,從分析數(shù)據(jù)結(jié)構(gòu)入手,即分析信息結(jié)構(gòu),并用數(shù)據(jù)結(jié)構(gòu)圖來表示,即分析信息結(jié)構(gòu),并用數(shù)據(jù)結(jié)構(gòu)圖來表示,再在此基礎(chǔ)上進(jìn)行需求分析,導(dǎo)出軟件的結(jié)再在此基礎(chǔ)上進(jìn)行需求分析,導(dǎo)出軟件的結(jié)構(gòu)。構(gòu)。n面向數(shù)據(jù)結(jié)構(gòu)方法面向數(shù)據(jù)結(jié)構(gòu)方法:Warmer法、法、Jackson法以及法以及DSSD(數(shù)據(jù)結(jié)構(gòu)系統(tǒng)開發(fā))方法等。(數(shù)據(jù)結(jié)構(gòu)系統(tǒng)開發(fā))方法等。n面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法包括:分析和設(shè)計(jì)活動(dòng)。面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法包括:分析和設(shè)計(jì)活動(dòng)。nJackson方法實(shí)例:把系統(tǒng)開發(fā)分為方法實(shí)例:把系統(tǒng)開發(fā)分為描述和和實(shí)現(xiàn)兩兩個(gè)階段。個(gè)階段。n描述階段建立一個(gè)與系統(tǒng)相關(guān)的客觀世界的模型

42、,描述階段建立一個(gè)與系統(tǒng)相關(guān)的客觀世界的模型,并在此基礎(chǔ)上確定系統(tǒng)功能。實(shí)現(xiàn)階段在具體的計(jì)并在此基礎(chǔ)上確定系統(tǒng)功能。實(shí)現(xiàn)階段在具體的計(jì)算機(jī)軟硬件環(huán)境下,實(shí)現(xiàn)系統(tǒng)功能。算機(jī)軟硬件環(huán)境下,實(shí)現(xiàn)系統(tǒng)功能。1.4.31.4.3面向?qū)ο蠓椒嫦驅(qū)ο蠓椒╪起源起源:面向?qū)ο缶幊陶Z(yǔ)言面向?qū)ο缶幊陶Z(yǔ)言 nOOP(面向?qū)ο缶幊蹋嫦驅(qū)ο缶幊蹋?OOD(面向?qū)ο笤O(shè)計(jì))(面向?qū)ο笤O(shè)計(jì))+OOA(面向(面向?qū)ο蠓治觯?duì)象分析)-OMT(對(duì)象建模技術(shù))對(duì)象建模技術(shù))和和UML(統(tǒng)一建模語(yǔ)言:面(統(tǒng)一建模語(yǔ)言:面向?qū)ο蟮能浖_發(fā)方法)向?qū)ο蟮能浖_發(fā)方法)n面向?qū)ο蠓椒ǖ拈_發(fā)步驟:1)從問題陳述入手,構(gòu)造系統(tǒng)模型(對(duì)象

43、模型)從問題陳述入手,構(gòu)造系統(tǒng)模型(對(duì)象模型,再導(dǎo)出動(dòng)態(tài)模型和功能模型)。再導(dǎo)出動(dòng)態(tài)模型和功能模型)。2)逐層分解成各級(jí)子系統(tǒng)。)逐層分解成各級(jí)子系統(tǒng)。1.4.41.4.4原型法原型法n原型法首先構(gòu)造一個(gè)功能簡(jiǎn)單的原型系統(tǒng),然后通原型法首先構(gòu)造一個(gè)功能簡(jiǎn)單的原型系統(tǒng),然后通過對(duì)原型系統(tǒng)逐步求精,不斷擴(kuò)充完善得到最終的過對(duì)原型系統(tǒng)逐步求精,不斷擴(kuò)充完善得到最終的軟件系統(tǒng)。軟件系統(tǒng)。n原型法的主要優(yōu)點(diǎn):原型法的主要優(yōu)點(diǎn):1)一種支持用戶的方法,使得用戶在系統(tǒng)生存周期)一種支持用戶的方法,使得用戶在系統(tǒng)生存周期的設(shè)計(jì)階段起到積極的作用;的設(shè)計(jì)階段起到積極的作用;2)它能減少系統(tǒng)開發(fā)的風(fēng)險(xiǎn),特別是在大

44、型項(xiàng)目的)它能減少系統(tǒng)開發(fā)的風(fēng)險(xiǎn),特別是在大型項(xiàng)目的開發(fā)中,由于對(duì)項(xiàng)目需求的分析難以一次完成,應(yīng)開發(fā)中,由于對(duì)項(xiàng)目需求的分析難以一次完成,應(yīng)用原型法效果更為明顯。用原型法效果更為明顯。1.51.5軟件工程環(huán)境軟件工程環(huán)境n軟件工程環(huán)境是軟件工程學(xué)的組成部分,也軟件工程環(huán)境是軟件工程學(xué)的組成部分,也是實(shí)現(xiàn)軟件生產(chǎn)工程化的重要基礎(chǔ)。是實(shí)現(xiàn)軟件生產(chǎn)工程化的重要基礎(chǔ)。n軟件工程環(huán)境的定義 “軟件工程環(huán)境是一組方法、過程及計(jì)算軟件工程環(huán)境是一組方法、過程及計(jì)算機(jī)程序的整體化構(gòu)建,支持從需求定義、程機(jī)程序的整體化構(gòu)建,支持從需求定義、程序生成直到維護(hù)的整個(gè)軟件生存期序生成直到維護(hù)的整個(gè)軟件生存期”。美國(guó)國(guó)

45、防部的定義美國(guó)國(guó)防部的定義 n軟件工程環(huán)境是相關(guān)的一組軟件工具的集軟件工程環(huán)境是相關(guān)的一組軟件工具的集合,支持一定的軟件開發(fā)方法或按照一定合,支持一定的軟件開發(fā)方法或按照一定的軟件開發(fā)模型組織而成。的軟件開發(fā)模型組織而成。n軟件工程環(huán)境支持應(yīng)用軟件的全部或部分軟件工程環(huán)境支持應(yīng)用軟件的全部或部分自動(dòng)生產(chǎn)過程,大大提高了軟件的生產(chǎn)率,自動(dòng)生產(chǎn)過程,大大提高了軟件的生產(chǎn)率,降低了軟件的成本,改善了軟件的質(zhì)量。降低了軟件的成本,改善了軟件的質(zhì)量。n現(xiàn)普遍用現(xiàn)普遍用CASE一詞來描述軟件工程環(huán)境。一詞來描述軟件工程環(huán)境。1.5.2 1.5.2 軟件軟件工程工程環(huán)境的特點(diǎn)環(huán)境的特點(diǎn)n一個(gè)理想的軟件工程環(huán)境:支持開發(fā)支持開發(fā)+支持管理的支持管理的工具。工具。n軟件開發(fā)環(huán)境的特點(diǎn)1.數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) 2.軟件工具的集成軟件工具的集成3.友好的用戶界面友好的用戶界面 4.信息提取的能力信息提取的能力 5.分析能力分析能力 6.可裁減性和可擴(kuò)充性可裁減性和可擴(kuò)充性 7.項(xiàng)目控制和管理項(xiàng)目控制和管理 8.方法學(xué)的支持方法學(xué)的支持 演講完畢,謝謝觀看!

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!