版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 軟件工程軟件工程廣東商學(xué)院信息學(xué)院核心課程廣東商學(xué)院信息學(xué)院核心課程目目 錄錄l 第一章第一章 軟件工程概述軟件工程概述l 第二章第二章 可行性研究可行性研究l 第三章第三章 需求分析需求分析l 第四章第四章 概要設(shè)計概要設(shè)計l 第五章第五章 詳細(xì)設(shè)計詳細(xì)設(shè)計l 第六章第六章 面向?qū)ο蟮姆治雠c設(shè)計方法面向?qū)ο蟮姆治雠c設(shè)計方法l 第七章第七章 編碼編碼l 第八章第八章 軟件質(zhì)量與質(zhì)量保證軟件質(zhì)量與質(zhì)量保證l 第九章第九章 項目計劃與管理項目計劃與管理l 第十章第十章 軟件開發(fā)工具與環(huán)境概述軟件開發(fā)工具與環(huán)境概述第一章第一章 軟件工程概述軟件工程概述1.1 軟件軟件 1.2 軟件工程概念軟件工程
2、概念1.3 軟件生存周期與軟件開發(fā)模型軟件生存周期與軟件開發(fā)模型1.4 小結(jié)小結(jié)1.1 軟件軟件1.1.1 1.1.1 軟件的發(fā)展軟件的發(fā)展 1. 1. 程序設(shè)計階段程序設(shè)計階段(2020世紀(jì)世紀(jì)5050年代初年代初2020世紀(jì)世紀(jì)6060年代中期)年代中期) 2. 2. 程序系統(tǒng)階段程序系統(tǒng)階段(2020世紀(jì)世紀(jì)6060年代中期年代中期2020世紀(jì)世紀(jì)7070年代末)年代末) 3. 3. 軟件工程階段軟件工程階段(2020世紀(jì)世紀(jì)7070年代中期年代中期2020世紀(jì)世紀(jì)8080年代中期)年代中期) 4. 4. 第四階段第四階段(2020世紀(jì)世紀(jì)8080年代中期至今)年代中期至今)1.1.1
3、軟件的發(fā)展軟件的發(fā)展階段階段 第一階段第一階段第二階段第二階段第三階段第三階段第四階段第四階段典典型型 技技術(shù)術(shù)面向批處理面向批處理有限的分布有限的分布自定義軟件自定義軟件多用戶多用戶實時實時數(shù)據(jù)庫數(shù)據(jù)庫軟件產(chǎn)品軟件產(chǎn)品分布式系統(tǒng)分布式系統(tǒng)嵌入嵌入“智能智能”低成本硬件低成本硬件消費(fèi)者的影響消費(fèi)者的影響強(qiáng)大桌面系統(tǒng)強(qiáng)大桌面系統(tǒng)面向?qū)ο蠹夹g(shù)面向?qū)ο蠹夹g(shù)專家系統(tǒng)專家系統(tǒng)人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò) 并行計算并行計算 網(wǎng)絡(luò)計算網(wǎng)絡(luò)計算表表1-1 四個階段典型技術(shù)比較四個階段典型技術(shù)比較1.1.2 軟件的定義軟件的定義軟件的定義如下:軟件的定義如下: (1)在運(yùn)行中能提供所希望的功能和性能的指令集。)在運(yùn)
4、行中能提供所希望的功能和性能的指令集。 (2)使程序能夠正確運(yùn)行的數(shù)據(jù)結(jié)構(gòu)。)使程序能夠正確運(yùn)行的數(shù)據(jù)結(jié)構(gòu)。 (3)描述程序研制過程、方法所用的文檔。)描述程序研制過程、方法所用的文檔。1.1.3 軟件的特點(diǎn)軟件的特點(diǎn) 軟件具有抽象性軟件具有抽象性 重視軟件開發(fā)過程重視軟件開發(fā)過程 軟件不會磨損、老化,但維護(hù)比較復(fù)雜。軟件不會磨損、老化,但維護(hù)比較復(fù)雜。 軟件的開發(fā)和運(yùn)行經(jīng)常受到計算機(jī)系統(tǒng)的限軟件的開發(fā)和運(yùn)行經(jīng)常受到計算機(jī)系統(tǒng)的限制,對計算機(jī)系統(tǒng)有不同程度的依賴性制,對計算機(jī)系統(tǒng)有不同程度的依賴性 軟件的開發(fā)尚未完全擺脫手工的開發(fā)方式軟件的開發(fā)尚未完全擺脫手工的開發(fā)方式 軟件的開發(fā)費(fèi)用越來越高
5、,成本相當(dāng)昂貴軟件的開發(fā)費(fèi)用越來越高,成本相當(dāng)昂貴 軟件的開發(fā)過程復(fù)雜,需要在開發(fā)過程中進(jìn)軟件的開發(fā)過程復(fù)雜,需要在開發(fā)過程中進(jìn)行管理行管理1.1.4 軟件的分類軟件的分類 1 1基于軟件的功能劃分基于軟件的功能劃分 (1 1)系統(tǒng)軟件)系統(tǒng)軟件 (2 2)支撐軟件)支撐軟件 (3 3)應(yīng)用軟件)應(yīng)用軟件2. 2. 基于軟件工作方式的劃分基于軟件工作方式的劃分 (1 1)實時處理軟件)實時處理軟件 (2 2)分時軟件)分時軟件 (3 3)交互式軟件)交互式軟件 (4 4)批處理軟件)批處理軟件 1.1.4 軟件的分類軟件的分類 1 1基于軟件規(guī)模的劃分基于軟件規(guī)模的劃分 (1 1)微型軟件)微
6、型軟件 (2 2)小型軟件)小型軟件 (3 3)中型軟件)中型軟件 (4 4)大型軟件)大型軟件 (5 5)甚大型軟件)甚大型軟件 (6 6)極大型軟件)極大型軟件1.2 軟件工程概念軟件工程概念 1.2.1 1.2.1 軟件危機(jī)與軟件工程的定義軟件危機(jī)與軟件工程的定義 1. 1. 軟件危機(jī)軟件危機(jī) 軟件危機(jī)指的是軟件開發(fā)和維護(hù)過程中遇軟件危機(jī)指的是軟件開發(fā)和維護(hù)過程中遇到的一系列嚴(yán)重問題。到的一系列嚴(yán)重問題。軟件危機(jī)包含以下兩方面的問題:如何開軟件危機(jī)包含以下兩方面的問題:如何開發(fā)軟件,怎樣滿足對軟件的日益增長的需求;發(fā)軟件,怎樣滿足對軟件的日益增長的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件。如
7、何維護(hù)數(shù)量不斷膨脹的已有軟件。1.2.1 軟件危機(jī)與軟件工程的定義軟件危機(jī)與軟件工程的定義軟件危機(jī)的主要表現(xiàn):軟件危機(jī)的主要表現(xiàn):產(chǎn)品不符合用戶的實際需要。產(chǎn)品不符合用戶的實際需要。軟件開發(fā)生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)不能滿足客觀軟件開發(fā)生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)不能滿足客觀需要。需要。軟件產(chǎn)品的質(zhì)量差。軟件產(chǎn)品的質(zhì)量差。 對軟件開發(fā)成本和進(jìn)度的估計常常不準(zhǔn)確。對軟件開發(fā)成本和進(jìn)度的估計常常不準(zhǔn)確。 軟件的可維護(hù)性差。軟件的可維護(hù)性差。 軟件文檔資料通常既不完整也不合格。軟件文檔資料通常既不完整也不合格。 軟件的價格昂貴,軟件成本在計算機(jī)系統(tǒng)總成軟件的價格昂貴,軟件成本在計算機(jī)系統(tǒng)總成本中所本中所 占的比例
8、逐年上升。占的比例逐年上升。 1.2.1 軟件危機(jī)與軟件工程的定義軟件危機(jī)與軟件工程的定義1.2.1 1.2.1 軟件危機(jī)與軟件工程的定義軟件危機(jī)與軟件工程的定義 2.2.軟件工程的定義軟件工程的定義 軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用工程的概念、原理、技術(shù)一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗而和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,這就是軟件工程。技術(shù)方法結(jié)合起來,這就是軟件工程。1.2.1 軟件危
9、機(jī)與軟件工程的定義軟件危機(jī)與軟件工程的定義軟件工程的軟件工程的6 6條基本原則:條基本原則: (1 1)用分階段的生存周期計劃嚴(yán)格管理)用分階段的生存周期計劃嚴(yán)格管理(2 2)堅持進(jìn)行階段評審)堅持進(jìn)行階段評審(3 3)實行嚴(yán)格的產(chǎn)品控制)實行嚴(yán)格的產(chǎn)品控制(4 4)采用現(xiàn)代程序設(shè)計技術(shù))采用現(xiàn)代程序設(shè)計技術(shù)(5 5)清楚地審查結(jié)果)清楚地審查結(jié)果(6 6)合理安排軟件開發(fā)小組的人員)合理安排軟件開發(fā)小組的人員1.2.2 軟件工程的原則軟件工程的原則軟件工程學(xué)應(yīng)遵守以下原則:軟件工程學(xué)應(yīng)遵守以下原則: 1. 1. 分解分解2. 2. 抽象和信息隱藏抽象和信息隱藏3. 3. 一致性一致性4. 4
10、. 確定性確定性1.3 軟件生存周期與軟件開發(fā)模型軟件生存周期與軟件開發(fā)模型1.3.1 1.3.1 軟件生存周期軟件生存周期 一個軟件從定義到開發(fā)、使用和維護(hù),直一個軟件從定義到開發(fā)、使用和維護(hù),直到最終被廢棄,要經(jīng)歷一個漫長的時期,通常到最終被廢棄,要經(jīng)歷一個漫長的時期,通常把這個時期稱為生存周期。把這個時期稱為生存周期。軟件的生存周期一般可分為以下階段:軟件的生存周期一般可分為以下階段:S1: 問題的定義問題的定義 S2:可行性研究:可行性研究S3:需求分析:需求分析S4:概要設(shè)計:概要設(shè)計S5:詳細(xì)設(shè)計:詳細(xì)設(shè)計S6: 編碼編碼S7:測試:測試S8:運(yùn)行與維護(hù):運(yùn)行與維護(hù)1.3 軟件生存
11、周期與軟件開發(fā)模型軟件生存周期與軟件開發(fā)模型1.3.1 1.3.1 軟件生存周期軟件生存周期 軟件生存周期的軟件生存周期的三大階段三大階段:1.1.計劃階段計劃階段分為兩步:軟件計劃和需求分析分為兩步:軟件計劃和需求分析2.2.開發(fā)階段開發(fā)階段三個步驟:設(shè)計、編碼和測試三個步驟:設(shè)計、編碼和測試3.3.維護(hù)階段維護(hù)階段分為改正性維護(hù)、完善性維護(hù)和適應(yīng)性維分為改正性維護(hù)、完善性維護(hù)和適應(yīng)性維護(hù)等護(hù)等1.3.2 軟件開發(fā)模型軟件開發(fā)模型1.3.2 1.3.2 軟件開發(fā)模型軟件開發(fā)模型 軟件開發(fā)模型是軟件過程思想的具體化,軟件開發(fā)模型是軟件過程思想的具體化,是實施與過程模型中的軟件開發(fā)方法和工具,是
12、實施與過程模型中的軟件開發(fā)方法和工具,是在軟件開發(fā)實踐中總結(jié)出來的軟件開發(fā)方法是在軟件開發(fā)實踐中總結(jié)出來的軟件開發(fā)方法和步驟。和步驟。軟件開發(fā)模型是整個軟件生存周期的系統(tǒng)軟件開發(fā)模型是整個軟件生存周期的系統(tǒng)開發(fā)、運(yùn)作、維護(hù)所實施的全部工作和任務(wù)的開發(fā)、運(yùn)作、維護(hù)所實施的全部工作和任務(wù)的結(jié)構(gòu)框架。結(jié)構(gòu)框架。1.3.2 軟件開發(fā)模型軟件開發(fā)模型1.1.瀑布模型瀑布模型又稱為又稱為生存周期模型生存周期模型。核心思想:核心思想:按工序?qū)栴}化簡,將功能的實現(xiàn)與設(shè)計分開,按工序?qū)栴}化簡,將功能的實現(xiàn)與設(shè)計分開,便于分工協(xié)作。采用結(jié)構(gòu)化的分析與設(shè)計方法,將邏便于分工協(xié)作。采用結(jié)構(gòu)化的分析與設(shè)計方法,將邏
13、輯實現(xiàn)與物理實現(xiàn)分開。瀑布模型規(guī)定了各項軟件工輯實現(xiàn)與物理實現(xiàn)分開。瀑布模型規(guī)定了各項軟件工程活動,包括:程活動,包括:制定開發(fā)計劃,進(jìn)行需求分析和說明,制定開發(fā)計劃,進(jìn)行需求分析和說明,軟件設(shè)計,程序編碼,測試及運(yùn)行維護(hù)軟件設(shè)計,程序編碼,測試及運(yùn)行維護(hù)。并且規(guī)定了。并且規(guī)定了軟件生存周期的各個階段如同瀑布流水,逐級下落,軟件生存周期的各個階段如同瀑布流水,逐級下落,自上而下、相互銜接的固定次序。自上而下、相互銜接的固定次序。1.3.2 軟件開發(fā)模型軟件開發(fā)模型計劃計劃需求分析需求分析設(shè)計設(shè)計編碼編碼測試測試運(yùn)行維護(hù)運(yùn)行維護(hù)計劃階段計劃階段開發(fā)階段開發(fā)階段維護(hù)階段維護(hù)階段圖圖14 瀑布模型瀑
14、布模型1.3.2 軟件開發(fā)模型軟件開發(fā)模型1.1.瀑布模型瀑布模型缺點(diǎn):缺點(diǎn):(1 1)缺乏靈活性缺乏靈活性,無法解決軟件需求不,無法解決軟件需求不明確或不準(zhǔn)確的問題。明確或不準(zhǔn)確的問題。(2 2)由于具有順序性和相關(guān)性,凡后一)由于具有順序性和相關(guān)性,凡后一階段出現(xiàn)的問題需要通過前一階段的重新確認(rèn)階段出現(xiàn)的問題需要通過前一階段的重新確認(rèn)來解決。來解決。(3 3)不能體現(xiàn)開發(fā)中的并行和串行。)不能體現(xiàn)開發(fā)中的并行和串行。1.3.2 軟件開發(fā)模型軟件開發(fā)模型1.1.螺旋模型螺旋模型螺旋模型沿著螺線旋轉(zhuǎn),如圖螺旋模型沿著螺線旋轉(zhuǎn),如圖1-51-5所示,在笛卡爾所示,在笛卡爾坐標(biāo)的四個象限上分別表達(dá)
15、了四個方面的活動,即:坐標(biāo)的四個象限上分別表達(dá)了四個方面的活動,即: (1 1)制定計劃制定計劃:確定軟件目標(biāo),選定實施方案,弄清:確定軟件目標(biāo),選定實施方案,弄清項目開發(fā)的限制條件;項目開發(fā)的限制條件; (2 2)風(fēng)險分析風(fēng)險分析:分析所選方案,考慮如何識別和消除:分析所選方案,考慮如何識別和消除風(fēng)險;風(fēng)險; (3 3)實施工程實施工程:實施軟件開發(fā);:實施軟件開發(fā); (4 4)客戶評估客戶評估:評價開發(fā)工作,提出修正建議:評價開發(fā)工作,提出修正建議1.3.2 軟件開發(fā)模型軟件開發(fā)模型用戶評價用戶評價基于用戶說明基于用戶說明的計劃的計劃初始需求與項目計劃初始需求與項目計劃基于初始需求的風(fēng)險分
16、析基于初始需求的風(fēng)險分析基于用戶基于用戶反應(yīng)的風(fēng)反應(yīng)的風(fēng)險分析險分析初始軟件原型初始軟件原型第二級原型第二級原型工程系統(tǒng)工程系統(tǒng)圖圖15 螺旋模型螺旋模型1.3.2 軟件開發(fā)模型軟件開發(fā)模型3.3.第四代技術(shù)模型(第四代技術(shù)模型(4GT4GT)軟件工程的第四代技術(shù)模型的應(yīng)用關(guān)鍵在軟件工程的第四代技術(shù)模型的應(yīng)用關(guān)鍵在于軟件描述的能力,它用一種特定的語言來完于軟件描述的能力,它用一種特定的語言來完成或者以一種用戶可以理解的問題描述方法來成或者以一種用戶可以理解的問題描述方法來描述須解決的問題。描述須解決的問題。例如:數(shù)據(jù)庫查詢的非過程語言,報告生例如:數(shù)據(jù)庫查詢的非過程語言,報告生成器,數(shù)據(jù)操縱,
17、屏幕交互及定義,以及代碼成器,數(shù)據(jù)操縱,屏幕交互及定義,以及代碼生成;高級圖形功能;電子表格功能。生成;高級圖形功能;電子表格功能。1.3.2 軟件開發(fā)模型軟件開發(fā)模型4. 4. 原型模型原型模型從需求分析開始。軟件開發(fā)者和用戶在一從需求分析開始。軟件開發(fā)者和用戶在一起定義軟件的總目標(biāo),說明需求,并規(guī)劃出定起定義軟件的總目標(biāo),說明需求,并規(guī)劃出定義的區(qū)域。然后快速設(shè)計軟件中對用戶義的區(qū)域。然后快速設(shè)計軟件中對用戶/ /客戶客戶可見部分的表示??焖僭O(shè)計導(dǎo)致了原形的建造,可見部分的表示??焖僭O(shè)計導(dǎo)致了原形的建造,原形由用戶原形由用戶/ /客戶評估,并進(jìn)一步求精待開發(fā)客戶評估,并進(jìn)一步求精待開發(fā)軟件
18、的需求。逐步調(diào)整原型使之滿足用戶需求。軟件的需求。逐步調(diào)整原型使之滿足用戶需求。如圖如圖1 16 6所示。所示。1.3.2 軟件開發(fā)模型軟件開發(fā)模型需求的采需求的采集和細(xì)化集和細(xì)化快速設(shè)計快速設(shè)計建造原型建造原型用戶評價原型用戶評價原型對原型加工對原型加工產(chǎn)生樣品產(chǎn)生樣品圖圖16原型模型原型模型1.3.2 軟件開發(fā)模型軟件開發(fā)模型4. 4. 原型模型原型模型(1 1)適用范圍適用范圍 特別適用需求分析與定義規(guī)格說明特別適用需求分析與定義規(guī)格說明 設(shè)計人機(jī)界面設(shè)計人機(jī)界面 充作同步培訓(xùn)工充作同步培訓(xùn)工具具 “一次性一次性”的應(yīng)用的應(yīng)用 低風(fēng)險引入新低風(fēng)險引入新技術(shù)技術(shù) (2 2)不適用范圍不適用
19、范圍 嵌入式軟件嵌入式軟件 實時控制軟件實時控制軟件 科技數(shù)值計算軟件科技數(shù)值計算軟件1.3.2 軟件開發(fā)模型軟件開發(fā)模型4. 4. 原型模型原型模型(3 3)步驟)步驟 S1S1:弄清用戶:弄清用戶/ /設(shè)計者的基本信息需求設(shè)計者的基本信息需求S2S2:開發(fā)初始原型系統(tǒng):開發(fā)初始原型系統(tǒng) S3S3:用原型系統(tǒng)完善用戶:用原型系統(tǒng)完善用戶/ /設(shè)計者的需求設(shè)計者的需求S4S4:修改和完善原型系統(tǒng):修改和完善原型系統(tǒng)1.3.2 軟件開發(fā)模型軟件開發(fā)模型4. 4. 混合模型混合模型混合模型把幾種模型組合在一起,它允許一個項混合模型把幾種模型組合在一起,它允許一個項目沿著最有效的路徑發(fā)展。它提供了一
20、種適用各種具目沿著最有效的路徑發(fā)展。它提供了一種適用各種具體系統(tǒng)、環(huán)境和結(jié)構(gòu)的靈活的結(jié)構(gòu)。體系統(tǒng)、環(huán)境和結(jié)構(gòu)的靈活的結(jié)構(gòu)?;旌夏P头譃榛旌夏P头譃榉治?、綜合、運(yùn)行和廢棄分析、綜合、運(yùn)行和廢棄四個階段,四個階段,各階段的重疊為設(shè)計員提出了進(jìn)行路線的選擇。各階段的重疊為設(shè)計員提出了進(jìn)行路線的選擇?;旌夏P偷膬?yōu)點(diǎn)是:混合模型給管理人員提供了混合模型的優(yōu)點(diǎn)是:混合模型給管理人員提供了在具體操作中使用結(jié)構(gòu)框架的某種形式。由于混合模在具體操作中使用結(jié)構(gòu)框架的某種形式。由于混合模型的不確定性,管理人員在一開始不必去決定完成開型的不確定性,管理人員在一開始不必去決定完成開發(fā)過程的方向發(fā)過程的方向。1.4 小結(jié)
21、小結(jié)本章首先介紹了軟件的有關(guān)概念,包括本章首先介紹了軟件的有關(guān)概念,包括軟件的產(chǎn)生、定義、特點(diǎn)和種類,然后對軟軟件的產(chǎn)生、定義、特點(diǎn)和種類,然后對軟件工程的概念進(jìn)行了介紹,包括軟件工程的件工程的概念進(jìn)行了介紹,包括軟件工程的定義、目標(biāo)、原則和軟件危機(jī)。最后介紹了定義、目標(biāo)、原則和軟件危機(jī)。最后介紹了軟件生存周期與軟件開發(fā)模型,主要包括瀑軟件生存周期與軟件開發(fā)模型,主要包括瀑布模型、原型模型、螺旋模型、基于四代技布模型、原型模型、螺旋模型、基于四代技術(shù)模型等。術(shù)模型等。第二章第二章 可行性研究可行性研究2.1 可行性研究的任務(wù)可行性研究的任務(wù) 2.2 可行性研究的步驟可行性研究的步驟2.3 系統(tǒng)
22、流程圖系統(tǒng)流程圖2.4 成本效益分析成本效益分析 2.5 小結(jié)小結(jié)2.1 可行性任務(wù)的研究可行性任務(wù)的研究 可行性研究的目的是用最小的代價在盡可能短的時間可行性研究的目的是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。內(nèi)確定問題是否能夠解決。目的不是解決問題,而是確定目的不是解決問題,而是確定問題是否值得去解。問題是否值得去解。一般說來,從一下幾個方面進(jìn)行研究:一般說來,從一下幾個方面進(jìn)行研究: 1 1經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性 2 2技術(shù)可行性技術(shù)可行性 技術(shù)可行性研究是系統(tǒng)開發(fā)過程中難度最大的、最重技術(shù)可行性研究是系統(tǒng)開發(fā)過程中難度最大的、最重要的工作。技術(shù)可行性研究包括:要的工作。技術(shù)可
23、行性研究包括:(1)(1)風(fēng)險分析風(fēng)險分析 (2)(2)資源分析資源分析 (3)(3)技術(shù)分析技術(shù)分析2.1 可行性任務(wù)的研究可行性任務(wù)的研究 3 3運(yùn)行可行性運(yùn)行可行性 4 4法律可行性法律可行性 5 5開發(fā)方案可行性開發(fā)方案可行性 可行性研究最根本的任務(wù)是對以后的行動路線提出建可行性研究最根本的任務(wù)是對以后的行動路線提出建議:如果問題沒有可行的解,應(yīng)該建議停止這項工程的開議:如果問題沒有可行的解,應(yīng)該建議停止這項工程的開發(fā);如果問題值得解,應(yīng)該推薦一個較好的解決方案,并發(fā);如果問題值得解,應(yīng)該推薦一個較好的解決方案,并且為工程制定一個初步的計劃。且為工程制定一個初步的計劃。 可行性研究的成
24、本只占預(yù)期的工程中成本的可行性研究的成本只占預(yù)期的工程中成本的510% 510% 2.2 可行性研究的步驟可行性研究的步驟一般來說,有以下步驟:一般來說,有以下步驟: 1 1復(fù)查系統(tǒng)規(guī)模和目標(biāo)復(fù)查系統(tǒng)規(guī)模和目標(biāo) 2 2研究目前正在使用的系統(tǒng)研究目前正在使用的系統(tǒng) 3 3提出新系統(tǒng)的高層邏輯模型提出新系統(tǒng)的高層邏輯模型 4. 4. 重新定義問題重新定義問題 5. 5. 提出和評價供選擇的方案提出和評價供選擇的方案 6. 6. 推薦一個方案并說明理由推薦一個方案并說明理由 7. 7. 推薦開發(fā)工程決定推薦開發(fā)工程決定 8. 8. 書寫計劃任務(wù)書書寫計劃任務(wù)書 9. 9. 提交審查提交審查2.3 系
25、統(tǒng)流程圖系統(tǒng)流程圖 系統(tǒng)流程圖是系統(tǒng)流程圖是描繪物理系統(tǒng)的傳統(tǒng)工具描繪物理系統(tǒng)的傳統(tǒng)工具。它。它的基本思想是用圖形符號以黑盒子形式描繪系統(tǒng)的基本思想是用圖形符號以黑盒子形式描繪系統(tǒng)里面的每個部件(程序,文件,數(shù)據(jù)庫,表格,里面的每個部件(程序,文件,數(shù)據(jù)庫,表格,人工過程等等)。人工過程等等)。 系統(tǒng)流程圖表達(dá)的系統(tǒng)流程圖表達(dá)的是部件的信息流程是部件的信息流程,而不,而不表示對信息進(jìn)行加工處理的控制過程,系統(tǒng)流程表示對信息進(jìn)行加工處理的控制過程,系統(tǒng)流程圖的基本符號見圖圖的基本符號見圖2-12-12.3 系統(tǒng)流程圖系統(tǒng)流程圖處理處理 能改變數(shù)據(jù)或數(shù)據(jù)位置的加工或部件能改變數(shù)據(jù)或數(shù)據(jù)位置的加工或
26、部件 輸入輸出輸入輸出 表示輸入輸出表示輸入輸出 連接連接 指出轉(zhuǎn)到圖的另一部分或從;另一部分轉(zhuǎn)來指出轉(zhuǎn)到圖的另一部分或從;另一部分轉(zhuǎn)來 換頁連接換頁連接 指出轉(zhuǎn)到另一頁圖上或從另一頁圖轉(zhuǎn)來指出轉(zhuǎn)到另一頁圖上或從另一頁圖轉(zhuǎn)來人工操作人工操作 由人工完成處理由人工完成處理通信鏈路通信鏈路 遠(yuǎn)程通信線路傳送數(shù)據(jù)遠(yuǎn)程通信線路傳送數(shù)據(jù)數(shù)據(jù)流數(shù)據(jù)流 用來連接其他符號用來連接其他符號圖圖2-1 系統(tǒng)流程圖的基本符號系統(tǒng)流程圖的基本符號2.3 系統(tǒng)流程圖系統(tǒng)流程圖例如:例如:可用系統(tǒng)流程圖來分析下述問題。可用系統(tǒng)流程圖來分析下述問題。 某圖書館閉架借書流程如下:讀者須先被驗明證件后某圖書館閉架借書流程如下:
27、讀者須先被驗明證件后才能進(jìn)入查詢室。讀者在查詢室內(nèi)通過檢書卡或利用終端才能進(jìn)入查詢室。讀者在查詢室內(nèi)通過檢書卡或利用終端檢索圖書數(shù)據(jù)庫來查找自己所需的圖書。找到所需圖書并檢索圖書數(shù)據(jù)庫來查找自己所需的圖書。找到所需圖書并填好索書單后到服務(wù)臺借書。如果所借圖書還有剩余,管填好索書單后到服務(wù)臺借書。如果所借圖書還有剩余,管理員將填好借書單,從庫房中取出圖書交于讀者。圖理員將填好借書單,從庫房中取出圖書交于讀者。圖2-2 2-2 的系統(tǒng)流程圖描述了上述系統(tǒng)的概貌。圖中的每個符號定的系統(tǒng)流程圖描述了上述系統(tǒng)的概貌。圖中的每個符號定義了組成系統(tǒng)的一個部件,而并沒有指明每個部件的具體義了組成系統(tǒng)的一個部件
28、,而并沒有指明每個部件的具體工作過程。圖中的箭頭指定了系統(tǒng)中信息的流動(邏輯)工作過程。圖中的箭頭指定了系統(tǒng)中信息的流動(邏輯)路徑。路徑。2.3 系統(tǒng)流程圖系統(tǒng)流程圖圖圖2-2 圖書館借書系統(tǒng)流程圖圖書館借書系統(tǒng)流程圖讀 者驗 證索書單圖書查詢檢書卡圖書數(shù)據(jù)庫借書借書單取書2.4 成本成本-效益分析效益分析 成本效益分析的目的是要從經(jīng)濟(jì)角度分析成本效益分析的目的是要從經(jīng)濟(jì)角度分析開發(fā)一個特定的新系統(tǒng)是否劃算,從而幫助使用開發(fā)一個特定的新系統(tǒng)是否劃算,從而幫助使用部門負(fù)責(zé)人正確地作出是否投資于這項開發(fā)工程部門負(fù)責(zé)人正確地作出是否投資于這項開發(fā)工程的決定。的決定。 成本成本/ /效益分析首先要估
29、算待開發(fā)系統(tǒng)的開效益分析首先要估算待開發(fā)系統(tǒng)的開發(fā)成本,然后與可能取得的效益(有形的和無形發(fā)成本,然后與可能取得的效益(有形的和無形的)進(jìn)行比較與權(quán)衡。的)進(jìn)行比較與權(quán)衡。2.4.1 成本估計成本估計 1.1.自頂向下成本估計自頂向下成本估計 這類方法這類方法著眼于軟件的整體著眼于軟件的整體。根據(jù)被開發(fā)項目的整體。根據(jù)被開發(fā)項目的整體特性,首先估算出總的開發(fā)成本,然后在項目內(nèi)部進(jìn)行成特性,首先估算出總的開發(fā)成本,然后在項目內(nèi)部進(jìn)行成本分配。本分配。 自頂向下估計的自頂向下估計的缺點(diǎn)缺點(diǎn)是,對開發(fā)中某些局部的問題或是,對開發(fā)中某些局部的問題或特殊困難容易低估,甚至沒有考慮到。特殊困難容易低估,甚
30、至沒有考慮到。 可采用特爾斐(可采用特爾斐(DelphiDelphi)法,特爾斐法的傳統(tǒng)作法)法,特爾斐法的傳統(tǒng)作法是:把系統(tǒng)定義文件或規(guī)格說明發(fā)給各位專家,各自單獨(dú)是:把系統(tǒng)定義文件或規(guī)格說明發(fā)給各位專家,各自單獨(dú)進(jìn)行成本估計,填入成本估計表(見圖進(jìn)行成本估計,填入成本估計表(見圖2-32-3)。)。2.4.1 成本估計成本估計 項目名:項目名:* * * 日期:日期:1/1/2001 以下是第以下是第1輪的估計值輪的估計值 : 您的估計值您的估計值 平均估計值平均估計值 人人-月月 0 20 40 60 80 100 您對下輪的估計值是您對下輪的估計值是 35人人-月月 您的理由是:您的理
31、由是: 圖圖2-3 特爾斐成本估計表特爾斐成本估計表 2.4.1 成本估計成本估計 2.2.自底向上成本估計自底向上成本估計 與自頂向下估計相反,由底向上估計不是從整體開始,與自頂向下估計相反,由底向上估計不是從整體開始,而是而是從一個個任務(wù)單元開始從一個個任務(wù)單元開始。其具體作法是,現(xiàn)將開發(fā)任。其具體作法是,現(xiàn)將開發(fā)任務(wù)分解為許多子任務(wù),子任務(wù)又分成子子任務(wù),直到每一務(wù)分解為許多子任務(wù),子任務(wù)又分成子子任務(wù),直到每一任務(wù)單元的內(nèi)容都足夠明確為止。然后把各個任務(wù)單元的任務(wù)單元的內(nèi)容都足夠明確為止。然后把各個任務(wù)單元的成本估計出來,匯合成項目的總成本。成本估計出來,匯合成項目的總成本。 缺點(diǎn)缺點(diǎn)
32、:有可能使成本估計偏低。:有可能使成本估計偏低。3.3.算法模型估計算法模型估計 算法模型就是資源模型,是成本估計的又一有效工具。算法模型就是資源模型,是成本估計的又一有效工具。模型估計的模型估計的關(guān)鍵,是要選好適用的模型關(guān)鍵,是要選好適用的模型。模型估計法常與。模型估計法常與自頂向下估計或由底向上估計結(jié)合使用。自頂向下估計或由底向上估計結(jié)合使用。2.4.2 費(fèi)用估計費(fèi)用估計 1.1.代碼行技術(shù)代碼行技術(shù) 估計出源代碼行數(shù)以后,用每行代碼的估計出源代碼行數(shù)以后,用每行代碼的平平均成本乘以行數(shù)均成本乘以行數(shù)就可以確定軟件的成本。每行就可以確定軟件的成本。每行代碼的平均成本主要取決于軟件的復(fù)雜程度
33、和代碼的平均成本主要取決于軟件的復(fù)雜程度和工資水平。工資水平。 2.2.任務(wù)分解技術(shù)任務(wù)分解技術(shù) 首先把軟件開發(fā)工程分解為若干個相對獨(dú)立首先把軟件開發(fā)工程分解為若干個相對獨(dú)立的任務(wù)。再分別估計每個單獨(dú)的開發(fā)任務(wù)的成的任務(wù)。再分別估計每個單獨(dú)的開發(fā)任務(wù)的成本,最后加起來得出軟件開發(fā)工程的總成本本,最后加起來得出軟件開發(fā)工程的總成本。2.4.3 幾種度量效益的方法幾種度量效益的方法 1.1.貨幣的時間價值貨幣的時間價值 通常用利率表示貨幣的時間價值。設(shè)年利率為通常用利率表示貨幣的時間價值。設(shè)年利率為i,現(xiàn),現(xiàn)已存入已存入P元,則元,則n年后可得錢數(shù)為年后可得錢數(shù)為 F=P(1+i)n 這就是這就是
34、P元錢在元錢在n年后的價值。反之,若年后的價值。反之,若n年后能收年后能收入入F元,那么這些錢現(xiàn)在的價值是元,那么這些錢現(xiàn)在的價值是 P=F/(1+i)n 2. 2.投資回收期投資回收期 投資回收期是衡量一個開發(fā)工程價值的經(jīng)濟(jì)指標(biāo)。投資回收期是衡量一個開發(fā)工程價值的經(jīng)濟(jì)指標(biāo)。投資回收期就是積累的經(jīng)濟(jì)效益等于最初的投資所需要投資回收期就是積累的經(jīng)濟(jì)效益等于最初的投資所需要的時間。投資回收期越短,就能越快獲得利潤。的時間。投資回收期越短,就能越快獲得利潤。2.4.3 幾種度量效益的方法幾種度量效益的方法 3.3.純收入純收入 工程的純收入是衡量工程價值的另一項經(jīng)濟(jì)指標(biāo)。工程的純收入是衡量工程價值的
35、另一項經(jīng)濟(jì)指標(biāo)。純收入就是在整個生存周期之內(nèi)系統(tǒng)的累計經(jīng)濟(jì)效益純收入就是在整個生存周期之內(nèi)系統(tǒng)的累計經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。(折合成現(xiàn)在值)與投資之差。 如果純收入小于零,那么顯然這項工程不值得投資。如果純收入小于零,那么顯然這項工程不值得投資。只有當(dāng)純收入大于零,才能考慮投資。只有當(dāng)純收入大于零,才能考慮投資。2.5 小結(jié)小結(jié) 通過可行性研究可以知道問題有無可行的通過可行性研究可以知道問題有無可行的解,進(jìn)而避免人力、物力和財力上的浪費(fèi)。解,進(jìn)而避免人力、物力和財力上的浪費(fèi)。 可行性研究所需的成本占總工程成本的可行性研究所需的成本占總工程成本的510%510%。 可行性研究的目的是
36、用最小的代價在盡可可行性研究的目的是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。也就能短的時間內(nèi)確定問題是否能夠解決。也就是說可行性研究的目的是確定問題是否值得是說可行性研究的目的是確定問題是否值得去解,而不是解決問題。去解,而不是解決問題。 第三章第三章 需求分析需求分析3.1 需求分析的任務(wù)與步驟需求分析的任務(wù)與步驟 3.2 需求分析的方法需求分析的方法3.3 圖形圖形3.4 需求規(guī)格說明與評審需求規(guī)格說明與評審 3.5 小結(jié)小結(jié)3.1 需求分析的任務(wù)與步驟需求分析的任務(wù)與步驟 通過軟件需求分析,通過軟件需求分析,把軟件功能和性能的總體概念把軟件功能和性能的總體概念描述為具體的軟件
37、需求規(guī)格說明描述為具體的軟件需求規(guī)格說明,進(jìn)而建立軟件開發(fā)的,進(jìn)而建立軟件開發(fā)的基礎(chǔ)?;A(chǔ)。3.1.1 3.1.1 需求分析的任務(wù)需求分析的任務(wù) 需求分析的任務(wù)不是確定系統(tǒng)如何完成它的工作,需求分析的任務(wù)不是確定系統(tǒng)如何完成它的工作,而是而是確定系統(tǒng)必須完成哪些工作確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。出完整、準(zhǔn)確、清晰、具體的要求。主要的任務(wù)主要的任務(wù)有:有:1.1.確定對系統(tǒng)的綜合要求確定對系統(tǒng)的綜合要求 2.2.分析系統(tǒng)的數(shù)據(jù)需求分析系統(tǒng)的數(shù)據(jù)需求3.3.提出系統(tǒng)的邏輯模型提出系統(tǒng)的邏輯模型 4.4.修正系統(tǒng)開發(fā)計劃修正系統(tǒng)開發(fā)計
38、劃5.5.開發(fā)原型系統(tǒng)開發(fā)原型系統(tǒng)3.1 需求分析的任務(wù)與步驟需求分析的任務(wù)與步驟3.1.2 3.1.2 需求分析的步驟需求分析的步驟1.1.調(diào)查研究調(diào)查研究 分析人員協(xié)同程序員研究系統(tǒng)數(shù)據(jù)的流程及調(diào)查用分析人員協(xié)同程序員研究系統(tǒng)數(shù)據(jù)的流程及調(diào)查用戶需求或查閱可行性報告、項目開發(fā)計劃報告,訪問現(xiàn)戶需求或查閱可行性報告、項目開發(fā)計劃報告,訪問現(xiàn)場,獲得當(dāng)前系統(tǒng)的具體模型,以場,獲得當(dāng)前系統(tǒng)的具體模型,以IPOIPO圖或圖或DFDDFD圖表示。圖表示。2.2.分析與綜合分析與綜合3.3.書寫文檔書寫文檔 a.a.系統(tǒng)規(guī)格說明系統(tǒng)規(guī)格說明 b.b.數(shù)據(jù)要求數(shù)據(jù)要求 c.c.用戶系統(tǒng)描述用戶系統(tǒng)描述
39、d.d.修正的開發(fā)計劃修正的開發(fā)計劃4.4.需求分析評審需求分析評審3.1 需求分析的任務(wù)與步驟需求分析的任務(wù)與步驟3.1.3 3.1.3 需求分析的原則需求分析的原則1.1.必須能表達(dá)和理解問題的數(shù)據(jù)域和功能域必須能表達(dá)和理解問題的數(shù)據(jù)域和功能域 數(shù)據(jù)域包括:數(shù)據(jù)流、數(shù)據(jù)內(nèi)容和數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)域包括:數(shù)據(jù)流、數(shù)據(jù)內(nèi)容和數(shù)據(jù)結(jié)構(gòu)2.2.按按自頂向下逐層分解自頂向下逐層分解問題問題3.3.要給出系統(tǒng)的邏輯視圖和物理視圖要給出系統(tǒng)的邏輯視圖和物理視圖 (1 1)邏輯視圖邏輯視圖給出軟件要達(dá)到的功能和要處理數(shù)據(jù)之給出軟件要達(dá)到的功能和要處理數(shù)據(jù)之間的關(guān)系,而不是實現(xiàn)的細(xì)節(jié)。間的關(guān)系,而不是實現(xiàn)的細(xì)節(jié)。
40、(2 2)物理視圖物理視圖給出處理功能和數(shù)據(jù)結(jié)構(gòu)的實際表示形給出處理功能和數(shù)據(jù)結(jié)構(gòu)的實際表示形式。式。 3.2 需求分析的方法需求分析的方法3.2.1 3.2.1 面向數(shù)據(jù)流的需求分析方法面向數(shù)據(jù)流的需求分析方法 結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法。是面向數(shù)據(jù)流進(jìn)行需求分析的方法。 結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法使用數(shù)據(jù)流圖使用數(shù)據(jù)流圖DFDDFD與數(shù)據(jù)字典與數(shù)據(jù)字典DDDD來來描述,面向數(shù)據(jù)流問題的需求分析適合于數(shù)據(jù)處理類型描述,面向數(shù)據(jù)流問題的需求分析適合于數(shù)據(jù)處理類型軟件的需求描述。軟件的需求描述。 其其核心思想是分解化簡問題核心思想是分解化簡問題,將物理與邏輯表示
41、分,將物理與邏輯表示分開,對系統(tǒng)進(jìn)行數(shù)據(jù)與邏輯的抽象。開,對系統(tǒng)進(jìn)行數(shù)據(jù)與邏輯的抽象。 3.2 需求分析的方法需求分析的方法3.2.2 3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖 數(shù)據(jù)流圖稱為數(shù)據(jù)流圖稱為Data Flow DiagramData Flow Diagram。是描述數(shù)據(jù)處理。是描述數(shù)據(jù)處理過程的工具過程的工具。1.1.數(shù)據(jù)流圖的含義數(shù)據(jù)流圖的含義 以圖形的方式描述數(shù)據(jù)流從輸入到輸出的傳輸變換以圖形的方式描述數(shù)據(jù)流從輸入到輸出的傳輸變換過程過程2.2.數(shù)據(jù)流圖的特點(diǎn)數(shù)據(jù)流圖的特點(diǎn) a.a.抽象性抽象性 b.b.概括性概括性 c.c.層次性層次性3.3.數(shù)據(jù)流圖基本符號數(shù)據(jù)流圖基本符號 (1) (
42、1) 數(shù)據(jù)流圖中的主要圖形元素數(shù)據(jù)流圖中的主要圖形元素 3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖數(shù)據(jù)流圖中的基本圖形元素有數(shù)據(jù)流圖中的基本圖形元素有4 4種:種:數(shù)據(jù)輸入的數(shù)據(jù)輸入的源點(diǎn)源點(diǎn)和數(shù)據(jù)輸出的和數(shù)據(jù)輸出的匯點(diǎn)匯點(diǎn)。加工加工。輸入數(shù)據(jù)在此進(jìn)行變換產(chǎn)生輸出數(shù)據(jù)。輸入數(shù)據(jù)在此進(jìn)行變換產(chǎn)生輸出數(shù)據(jù)。數(shù)據(jù)流數(shù)據(jù)流。被加工的數(shù)據(jù)與流向。被加工的數(shù)據(jù)與流向。數(shù)據(jù)存儲文件數(shù)據(jù)存儲文件,須加以命名。,須加以命名。圖圖3-2 3-2 數(shù)據(jù)流圖基本圖形符號數(shù)據(jù)流圖基本圖形符號3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖(2)(2)數(shù)據(jù)流與加工之間的關(guān)系數(shù)據(jù)流與加工之間的關(guān)系 AB*CABBCA*數(shù)據(jù)數(shù)據(jù)A和和B同時輸入變換成同時輸入
43、變換成C數(shù)據(jù)數(shù)據(jù)A變換成變換成B和和C數(shù)據(jù)數(shù)據(jù)A或數(shù)據(jù)或數(shù)據(jù)B(不能同時)輸入變(不能同時)輸入變換成換成C3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖(2)(2)數(shù)據(jù)流與加工之間的關(guān)系數(shù)據(jù)流與加工之間的關(guān)系 ABCABBCA數(shù)據(jù)數(shù)據(jù)A變換成變換成B或或C(不能變換成(不能變換成B和和C)數(shù)據(jù)數(shù)據(jù)A或或B,或,或A和和B同時輸入變換成同時輸入變換成C數(shù)據(jù)數(shù)據(jù)A變換成變換成B或或C,或,或B和和CC3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖4. 4. 數(shù)據(jù)流圖的用途數(shù)據(jù)流圖的用途(1)(1)系統(tǒng)分析員用這種工具可以自頂向下分析系統(tǒng)信息系統(tǒng)分析員用這種工具可以自頂向下分析系統(tǒng)信息 流程。流程。 (2)(2)可在圖上畫出需要計算
44、機(jī)處理的部分。可在圖上畫出需要計算機(jī)處理的部分。 (3)(3)根據(jù)數(shù)據(jù)存貯,進(jìn)一步作數(shù)據(jù)分析,向數(shù)據(jù)庫設(shè)計根據(jù)數(shù)據(jù)存貯,進(jìn)一步作數(shù)據(jù)分析,向數(shù)據(jù)庫設(shè)計過渡。過渡。 (4)(4)根據(jù)數(shù)據(jù)流向,定出存取方式。根據(jù)數(shù)據(jù)流向,定出存取方式。 (5)(5)對應(yīng)一個處理過程,用相應(yīng)的語言、判定表等工具對應(yīng)一個處理過程,用相應(yīng)的語言、判定表等工具表達(dá)處理方法。表達(dá)處理方法。3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖5. 5. 數(shù)據(jù)流圖的優(yōu)缺點(diǎn)數(shù)據(jù)流圖的優(yōu)缺點(diǎn)(1)(1)總體概念強(qiáng),每一層都明確強(qiáng)調(diào)干什么,需要什么,總體概念強(qiáng),每一層都明確強(qiáng)調(diào)干什么,需要什么,給出什么。給出什么。 (2)(2)可以反映出數(shù)據(jù)的流向和處理過
45、程??梢苑从吵鰯?shù)據(jù)的流向和處理過程。 (3)(3)由于自頂向下分析,容易及早發(fā)現(xiàn)系統(tǒng)各部分的邏由于自頂向下分析,容易及早發(fā)現(xiàn)系統(tǒng)各部分的邏輯錯誤,也容易修正。輯錯誤,也容易修正。 (4)(4)容易與計算機(jī)處理相對照。容易與計算機(jī)處理相對照。 (5)(5)不直觀不直觀,一般都要在作業(yè)流程分析的基礎(chǔ)上加以概,一般都要在作業(yè)流程分析的基礎(chǔ)上加以概括、抽象、修正來得到。括、抽象、修正來得到。3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖6. 6. 數(shù)據(jù)流圖畫法數(shù)據(jù)流圖畫法(1)(1)畫數(shù)據(jù)流圖的一般原則畫數(shù)據(jù)流圖的一般原則 自外向內(nèi),自頂向下,逐層細(xì)化,完善求精自外向內(nèi),自頂向下,逐層細(xì)化,完善求精(2)(2)數(shù)據(jù)流圖
46、的分層方法數(shù)據(jù)流圖的分層方法 一套分層的數(shù)據(jù)流圖由一套分層的數(shù)據(jù)流圖由頂圖、底圖和中間層頂圖、底圖和中間層的數(shù)據(jù)的數(shù)據(jù)流圖所組成。流圖所組成。 稱上層圖為下層圖的稱上層圖為下層圖的“父父”圖圖,下層圖稱為上層圖,下層圖稱為上層圖的的“子子”圖圖。 1233.13.23.3ABCDEFCDFUR父圖父圖子圖子圖3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖6. 6. 數(shù)據(jù)流圖的畫法數(shù)據(jù)流圖的畫法(3)(3)分層法繪制流程圖的幾個問題分層法繪制流程圖的幾個問題 編號的設(shè)置編號的設(shè)置 父圖與子圖的平衡父圖與子圖的平衡 局部數(shù)據(jù)存貯局部數(shù)據(jù)存貯 處理邏輯的分解與分細(xì)的程度處理邏輯的分解與分細(xì)的程度 由左到右繪制數(shù)據(jù)流圖
47、由左到右繪制數(shù)據(jù)流圖 繪制數(shù)據(jù)流圖時,可以先忽略枝節(jié)(次要)的繪制數(shù)據(jù)流圖時,可以先忽略枝節(jié)(次要)的 信息信息 合理地命名合理地命名3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖7. 7. 實例實例 假如要分析一家公司的營銷系統(tǒng)。其采購假如要分析一家公司的營銷系統(tǒng)。其采購部門每天須要按銷售部門提供的定貨單(須定部門每天須要按銷售部門提供的定貨單(須定的貨物)向供應(yīng)商采購貨物。每種貨物的數(shù)量的貨物)向供應(yīng)商采購貨物。每種貨物的數(shù)量都存放在數(shù)據(jù)存儲貨物庫存中,銷售和采購使都存放在數(shù)據(jù)存儲貨物庫存中,銷售和采購使每種貨物數(shù)量發(fā)生的變化能夠在此數(shù)據(jù)存儲中每種貨物數(shù)量發(fā)生的變化能夠在此數(shù)據(jù)存儲中及時被反映出來。而資金的
48、匯總、核對等工作及時被反映出來。而資金的匯總、核對等工作由其會計部門處理。由其會計部門處理。3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖7. 7. 實例實例 圖圖3-53-5第一層數(shù)據(jù)流圖第一層數(shù)據(jù)流圖 顧 客P1銷 售P2采 購供 應(yīng) 商P3會 計定 貨 單發(fā) 貨 單到 貨 通 知定 貨 單發(fā) 貨 單應(yīng)付款通知收款通知F1 貨 物 庫 存顧 客F2 貨 物 目 錄業(yè) 務(wù) 員P1.1編 定訂 貨 單P1.2確 定訂 貨P1.4產(chǎn) 生 暫 存訂 貨 單采 購F3 顧 客P1.3登 錄新 顧 客F4 暫 存 定 貨 單P1.5檢 查 暫 存定 貨 單P1.6產(chǎn) 生 發(fā)貨 單P1.7發(fā) 貨 修改 庫 存經(jīng) 理P1.
49、8檢 索庫 存P1.8編 制 庫 存銷 售 報 表F1 貨 物 庫 存F5 銷 售 歷 史F10 應(yīng) 收 款 帳 目定 貨 單不 合 格合 格缺 貨到貨通知可發(fā)的貨物新 顧 客發(fā)貨單圖圖3-6銷售系統(tǒng)銷售系統(tǒng)3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖圖圖3-7采購系統(tǒng)采購系統(tǒng)銷 售P2.1 按 貨 物匯總 F4 暫 存 定 貨 單F6 需 定 貨 物P2.2按 供 應(yīng)商 匯 總供 應(yīng) 商F8 采 購定 貨 單P2.3確定定貨F1 貨 物 庫 存P2.4核 對發(fā) 貨 單P2.5提 取貨 物P2.6修 改 須定 數(shù) 量P2.7修 改庫 存F9 應(yīng)付 款 帳 目定 貨 單發(fā)貨單錯誤的發(fā)貨單正 確 的 發(fā) 貨 單P
50、2.8發(fā) 到 貨通 知3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖圖圖3-8會計系統(tǒng)會計系統(tǒng)顧 客P3.1收 款處 理F10 應(yīng) 收 款 帳 目P3.2編 制 會計 報 表P3.3修 改總 帳 目經(jīng) 理F11 總 帳 目F9 應(yīng) 付 款 帳 目供 應(yīng) 商P3.4核 對 付款 單P3.5付 款處 理付 款收 據(jù)修 改應(yīng) 付 款 通 知3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖3.2.3 數(shù)據(jù)字典數(shù)據(jù)字典1. 1. 數(shù)據(jù)字典的定義數(shù)據(jù)字典的定義 數(shù)據(jù)字典是數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合關(guān)于數(shù)據(jù)的信息的集合,對數(shù)據(jù)流程圖,對數(shù)據(jù)流程圖中的各個元素作完整的定義與說明,是數(shù)據(jù)流程圖的補(bǔ)中的各個元素作完整的定義與說明,是數(shù)據(jù)流程圖的補(bǔ)
51、充工具。充工具。 數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。2 2數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)字典的內(nèi)容 一般說來,數(shù)據(jù)字典由下列六類元素的定義組成:一般說來,數(shù)據(jù)字典由下列六類元素的定義組成: (1)數(shù)據(jù)流)數(shù)據(jù)流 (2)數(shù)據(jù)項)數(shù)據(jù)項 (3)數(shù)據(jù)結(jié)構(gòu))數(shù)據(jù)結(jié)構(gòu) (4)數(shù)據(jù)存貯)數(shù)據(jù)存貯 (5)處理邏輯)處理邏輯 (6)外部實體)外部實體3.2.3 數(shù)據(jù)字典數(shù)據(jù)字典3 3定義數(shù)據(jù)的方法定義數(shù)據(jù)的方法 由數(shù)據(jù)元素組成數(shù)據(jù)的方式只有下述由數(shù)據(jù)元素組成數(shù)據(jù)的方式只有下述4 4種基本類型:種基本類型: (l l)順序順序 即以確定次序連接兩個或多個分量;即以確定次序連接
52、兩個或多個分量; (2 2)選擇選擇 即從兩個或多個可能的元素中選取一個;即從兩個或多個可能的元素中選取一個; (3 3)重復(fù)重復(fù) 即把指定的分量重復(fù)零次或多次。即把指定的分量重復(fù)零次或多次。 (4 4)可選可選 即一個分量是可有可無的(重復(fù)零次或一即一個分量是可有可無的(重復(fù)零次或一次)。次)。4 4數(shù)據(jù)字典的用途數(shù)據(jù)字典的用途 數(shù)據(jù)字典最重要的用途是數(shù)據(jù)字典最重要的用途是作為分析階段的工具作為分析階段的工具。5. 5. 數(shù)據(jù)字典的實現(xiàn)數(shù)據(jù)字典的實現(xiàn)3.3 圖形圖形3.3.1 3.3.1 層次方框圖層次方框圖 用用樹形結(jié)構(gòu)樹形結(jié)構(gòu)的一系列多層次的矩形框描述數(shù)據(jù)的層次的一系列多層次的矩形框描述
53、數(shù)據(jù)的層次結(jié)構(gòu)。結(jié)構(gòu)。產(chǎn)品產(chǎn)品硬件硬件軟件軟件服務(wù)服務(wù)處理機(jī)處理機(jī)存儲器存儲器外部設(shè)備外部設(shè)備系統(tǒng)軟件系統(tǒng)軟件應(yīng)用軟件應(yīng)用軟件軟件服務(wù)軟件服務(wù)硬件維修硬件維修培訓(xùn)培訓(xùn)硬件系統(tǒng)硬件系統(tǒng)編譯程序編譯程序軟件工具軟件工具圖圖3-9某計算機(jī)公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)某計算機(jī)公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)3.3 圖形圖形3.3.2 Warnier3.3.2 Warnier圖圖 法國計算機(jī)科學(xué)家法國計算機(jī)科學(xué)家WarnierWarnier提出了表示信息層次結(jié)構(gòu)提出了表示信息層次結(jié)構(gòu)的另外的另外一種圖形工具一種圖形工具。和層次方框圖類似,。和層次方框圖類似,WarnierWarnier圖也圖也用樹形結(jié)構(gòu)描繪信息,但是這
54、種圖形工具比層次方框圖用樹形結(jié)構(gòu)描繪信息,但是這種圖形工具比層次方框圖提供了更豐富的描繪手段。提供了更豐富的描繪手段。 系統(tǒng)軟件系統(tǒng)軟件 編輯程序編輯程序 軟件產(chǎn)品軟件產(chǎn)品 軟件工具軟件工具 測試驅(qū)動程序測試驅(qū)動程序 設(shè)計輔助工具設(shè)計輔助工具 操作系統(tǒng)操作系統(tǒng) 編譯程序編譯程序應(yīng)用軟件應(yīng)用軟件圖圖3-10Warnie圖的一個例子圖的一個例子3.3 圖形圖形3.3.3 IPO3.3.3 IPO圖圖 IPOIPO圖是圖是輸入輸入/ /處理處理/ /輸出圖輸出圖的簡稱的簡稱, ,它是美國它是美國IBMIBM公司公司發(fā)展完善起來的一種圖形工具發(fā)展完善起來的一種圖形工具, ,能夠方便的描繪輸入數(shù)據(jù)能夠方
55、便的描繪輸入數(shù)據(jù) 對數(shù)據(jù)的處理和輸出數(shù)據(jù)的關(guān)系對數(shù)據(jù)的處理和輸出數(shù)據(jù)的關(guān)系. . 舊的主文件舊的主文件事務(wù)文件事務(wù)文件1.校驗校驗 主記錄主記錄2.校驗校驗事務(wù)記錄事務(wù)記錄3更新更新主記錄主記錄 有效的有效的 主記錄主記錄 有效的有效的 事務(wù)記錄事務(wù)記錄 更新后的更新后的 主文件主文件 輸入輸入 處理處理 輸出輸出圖圖3-11 IPO 圖的一個例子圖的一個例子3.4 需求規(guī)格說明書與評審需求規(guī)格說明書與評審 描述需求的文檔描述需求的文檔叫做叫做軟件需求規(guī)格說明書軟件需求規(guī)格說明書。3.4.1 3.4.1 需求規(guī)格說明的主要內(nèi)容需求規(guī)格說明的主要內(nèi)容 需求分析應(yīng)交付的主要文檔是需求分析應(yīng)交付的主
56、要文檔是需求規(guī)格說明需求規(guī)格說明。 軟件需求規(guī)格說明的一般格式如下:軟件需求規(guī)格說明的一般格式如下: 1 1引言引言 2 2任務(wù)概述任務(wù)概述 3 3數(shù)據(jù)描述數(shù)據(jù)描述 4 4功能要求功能要求 5 5性能需求性能需求 6 6運(yùn)行需求運(yùn)行需求 7 7其他要求其他要求 8 8附錄附錄3.4.2 3.4.2 需求分析的評審需求分析的評審應(yīng)該對功能的正確性、完整性和清晰性,以及其應(yīng)該對功能的正確性、完整性和清晰性,以及其他需求給予評價。他需求給予評價。3.4 需求規(guī)格說明書與評審需求規(guī)格說明書與評審 軟件需求分析評審的主要內(nèi)容一般說來,應(yīng)該從軟件需求分析評審的主要內(nèi)容一般說來,應(yīng)該從下述四個方面進(jìn)行驗證:
57、下述四個方面進(jìn)行驗證: (1 1) 一致性一致性 (2 2) 完整性完整性 (3 3) 現(xiàn)實性現(xiàn)實性 (4 4) 有效性有效性 3.4.3 3.4.3 需求分析評審的方法需求分析評審的方法 1. 1. 驗證需求的驗證需求的一致性一致性 2. 2. 驗證需求的驗證需求的現(xiàn)實性現(xiàn)實性 3. 3. 驗證需求的驗證需求的完整性和有效性完整性和有效性 3.5 小結(jié)小結(jié)軟件需求分析是軟件生存周期中重要的一軟件需求分析是軟件生存周期中重要的一步,也是最關(guān)鍵的一步。只有通過軟件需求分步,也是最關(guān)鍵的一步。只有通過軟件需求分析,才能把軟件功能和性能的總體概念描述為析,才能把軟件功能和性能的總體概念描述為具體的軟
58、件需求規(guī)格說明,進(jìn)而建立軟件開發(fā)具體的軟件需求規(guī)格說明,進(jìn)而建立軟件開發(fā)的基礎(chǔ)。的基礎(chǔ)。本章主要介紹需求分析的任務(wù)和步驟、需本章主要介紹需求分析的任務(wù)和步驟、需求分析方法和需求分析規(guī)格說明。求分析方法和需求分析規(guī)格說明。 第四章第四章 概要設(shè)計概要設(shè)計4.1 概要設(shè)計的任務(wù)與步驟概要設(shè)計的任務(wù)與步驟 4.2 軟件設(shè)計的原則軟件設(shè)計的原則4.3 面向數(shù)據(jù)流的設(shè)計方法面向數(shù)據(jù)流的設(shè)計方法4.4 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法 4.5 概要設(shè)計文檔評審概要設(shè)計文檔評審 4.6 小結(jié)小結(jié)4.1 概要設(shè)計的任務(wù)與步驟概要設(shè)計的任務(wù)與步驟 4.1.1 4.1.1 概要設(shè)計任務(wù)概要設(shè)計任務(wù)系統(tǒng)
59、分析員系統(tǒng)分析員審查審查軟件可行性計劃、軟件需求分析提供的文軟件可行性計劃、軟件需求分析提供的文檔,提出候選的檔,提出候選的最佳推薦方案最佳推薦方案,確定,確定模塊結(jié)構(gòu)模塊結(jié)構(gòu),劃分,劃分功能模塊功能模塊,編寫編寫概要設(shè)計說明書概要設(shè)計說明書。4.1.2 4.1.2 概要設(shè)計步驟概要設(shè)計步驟一般步驟如下:一般步驟如下:S1:設(shè)計系統(tǒng)方案:設(shè)計系統(tǒng)方案S2:選取一組合理的方案:選取一組合理的方案S3:推薦最佳實施方案:推薦最佳實施方案S4:功能分解:功能分解S5:軟件結(jié)構(gòu)設(shè)計:軟件結(jié)構(gòu)設(shè)計S6:數(shù)據(jù)庫設(shè)計、文件結(jié)構(gòu)的設(shè)計:數(shù)據(jù)庫設(shè)計、文件結(jié)構(gòu)的設(shè)計S7:制定測試計劃:制定測試計劃S8:編寫概要設(shè)
60、計文檔:編寫概要設(shè)計文檔S9:審查與復(fù)審概要設(shè)計文檔:審查與復(fù)審概要設(shè)計文檔4.1.2 概要設(shè)計步驟概要設(shè)計步驟 圖圖4-1概要設(shè)計概要設(shè)計4.2 軟件設(shè)計的原則軟件設(shè)計的原則 4.2.1 4.2.1 模塊化模塊化模塊化模塊化就是把程序劃分成若干個模塊,每個模塊具有一個就是把程序劃分成若干個模塊,每個模塊具有一個子功能,把這些模塊集總起來組成一個整體,可以完成指定的功子功能,把這些模塊集總起來組成一個整體,可以完成指定的功能,實現(xiàn)問題的要求。能,實現(xiàn)問題的要求。每個程序都相應(yīng)地有一個最適當(dāng)?shù)哪K數(shù)目每個程序都相應(yīng)地有一個最適當(dāng)?shù)哪K數(shù)目M,使得系統(tǒng)的,使得系統(tǒng)的開發(fā)成本最小。開發(fā)成本最小。采用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《借圍墻協(xié)議書》電子版
- 2.11智能終端機(jī)設(shè)備投放合作協(xié)議
- 2024酒樓廚房承包合同
- 中醫(yī)調(diào)理高血壓方法要點(diǎn)
- 四年級數(shù)學(xué)(三位數(shù)乘兩位數(shù))計算題專項練習(xí)及答案
- 2019年江蘇南通中考滿分作文《致敬奮斗的時光》
- 老年科護(hù)理查房護(hù)理病歷臨床病案
- 新課標(biāo)高中英語語法系統(tǒng)全解被動語態(tài)(一)
- 221基本不等式任務(wù)單(1)-2024-2025學(xué)年高一上學(xué)期數(shù)學(xué)人教A版
- 鋼筋砼墻體開洞方案
- 08BJ9-1室外工程-圍墻圍欄
- 2024年全國統(tǒng)一考試高考新課標(biāo)Ⅱ卷數(shù)學(xué)試題(真題+答案)
- 美的簡單高效的管理邏輯
- 2024-2030年電壁爐行業(yè)市場現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評估規(guī)劃分析研究報告
- 創(chuàng)新方法論智慧樹知到期末考試答案章節(jié)答案2024年西安理工大學(xué)
- 【《離婚夫妻共有股權(quán)分割適用法律問題研究》11000字(論文)】
- 部編版四年級道德與法治上冊第5課《這些事我來做》精美課件
- 反詐防騙主題班會課件
- 新能源汽車動力系統(tǒng)優(yōu)化與控制
- 2024年鎮(zhèn)沅縣國翔國有資產(chǎn)投資管理集團(tuán)有限公司招聘筆試沖刺題(帶答案解析)
- 廣東省13市2024年高三一診考試化學(xué)試卷含解析
評論
0/150
提交評論