簡介:第一章第一章一、什么就是軟件危機它有哪些典型表現(xiàn)為什么會出現(xiàn)軟件危機一、什么就是軟件危機它有哪些典型表現(xiàn)為什么會出現(xiàn)軟件危機軟件危機就是指在計算機軟件開發(fā)、使用與維護過程中遇到得一系列嚴重問題與難題。它包括兩方面軟件危機就是指在計算機軟件開發(fā)、使用與維護過程中遇到得一系列嚴重問題與難題。它包括兩方面如何開發(fā)軟件如何開發(fā)軟件,已滿足對軟件日已滿足對軟件日益增長得需求益增長得需求如何維護數(shù)量不斷增長得已有軟件。如何維護數(shù)量不斷增長得已有軟件。軟件危機得典型表現(xiàn)軟件危機得典型表現(xiàn)11對軟件開發(fā)成本與進度得估計常常很不準確。常常出現(xiàn)實際成本比估算成本高出一個數(shù)量級、實際進度比計劃進度拖延幾個月甚對軟件開發(fā)成本與進度得估計常常很不準確。常常出現(xiàn)實際成本比估算成本高出一個數(shù)量級、實際進度比計劃進度拖延幾個月甚至幾年得現(xiàn)象。而為了趕進度與節(jié)約成本所采取得一些權(quán)宜之計又往往損害了軟件產(chǎn)品得質(zhì)量。這些都降低了開發(fā)商得信譽至幾年得現(xiàn)象。而為了趕進度與節(jié)約成本所采取得一些權(quán)宜之計又往往損害了軟件產(chǎn)品得質(zhì)量。這些都降低了開發(fā)商得信譽,引起用引起用戶不滿。戶不滿。22用戶對已完成得軟件不滿意得現(xiàn)象時有發(fā)生。用戶對已完成得軟件不滿意得現(xiàn)象時有發(fā)生。33軟件產(chǎn)品得質(zhì)量往往就是靠不住得。軟件產(chǎn)品得質(zhì)量往往就是靠不住得。44軟件常常就是不可維護得。軟件常常就是不可維護得。55軟件通常沒有適當(dāng)?shù)梦臋n資料。文檔資料不全或不合格軟件通常沒有適當(dāng)?shù)梦臋n資料。文檔資料不全或不合格,必將給軟件開發(fā)與維護工作帶來許多難以想象得困難與難以解決得問題。必將給軟件開發(fā)與維護工作帶來許多難以想象得困難與難以解決得問題。66軟件成本、軟件維護費在計算機系統(tǒng)總成本中所占比例逐年上升。軟件成本、軟件維護費在計算機系統(tǒng)總成本中所占比例逐年上升。77開發(fā)生產(chǎn)率提高得速度遠跟不上計算機應(yīng)用普及得需求。開發(fā)生產(chǎn)率提高得速度遠跟不上計算機應(yīng)用普及得需求。軟件危機出現(xiàn)得原因軟件危機出現(xiàn)得原因11來自軟件自身得特點來自軟件自身得特點就是邏輯部件就是邏輯部件,缺乏可見性缺乏可見性規(guī)模龐大、復(fù)雜規(guī)模龐大、復(fù)雜,修改、維護困難。修改、維護困難。22軟件開發(fā)與維護得方法不當(dāng)軟件開發(fā)與維護得方法不當(dāng)忽視需求分析忽視需求分析認為軟件開發(fā)等于程序編寫認為軟件開發(fā)等于程序編寫輕視軟件維護。輕視軟件維護。33供求矛盾將就是一個永恒得主題供求矛盾將就是一個永恒得主題面對日益增長得軟件需求面對日益增長得軟件需求,人們顯得力不從心。人們顯得力不從心。二、假設(shè)自己就是一家軟件公司得總工程師二、假設(shè)自己就是一家軟件公司得總工程師,當(dāng)把圖當(dāng)把圖1、1給手下得軟件工程師們觀瞧給手下得軟件工程師們觀瞧,告訴她們及時發(fā)現(xiàn)并改正錯誤得重要性時告訴她們及時發(fā)現(xiàn)并改正錯誤得重要性時,有人有人不同意這個觀點不同意這個觀點,認為要求在錯誤進入軟件之前就清楚它們就是不現(xiàn)實得認為要求在錯誤進入軟件之前就清楚它們就是不現(xiàn)實得,并舉例說并舉例說“如果一個故障就是編碼錯誤造成得“如果一個故障就是編碼錯誤造成得,那么那么,一個一個人怎么能在設(shè)計階段清除它呢”應(yīng)該怎么反駁她人怎么能在設(shè)計階段清除它呢”應(yīng)該怎么反駁她答在軟件開發(fā)得不同階段進行修改付出得代價就是很不相同得在軟件開發(fā)得不同階段進行修改付出得代價就是很不相同得,在早期引入變動在早期引入變動,涉及得面較少涉及得面較少,因而代價也比較低因而代價也比較低在開發(fā)得中期在開發(fā)得中期,軟件配置得許多成分已經(jīng)完成軟件配置得許多成分已經(jīng)完成,引入一個變動要對所有已完成得配置成分都做相應(yīng)得修改引入一個變動要對所有已完成得配置成分都做相應(yīng)得修改,不僅工作量大不僅工作量大,而且邏輯上也更復(fù)雜而且邏輯上也更復(fù)雜,因此付出得代價劇增因此付出得代價劇增在軟件“已經(jīng)完成”就是在引入變動在軟件“已經(jīng)完成”就是在引入變動,當(dāng)然付出得代價更高。一個故障就是當(dāng)然付出得代價更高。一個故障就是代碼錯誤造成得代碼錯誤造成得,有時這種錯誤就是不可避免得有時這種錯誤就是不可避免得,但要修改得成本就是很小得但要修改得成本就是很小得,因為這不就是因為這不就是整體構(gòu)架得錯誤。整體構(gòu)架得錯誤。三、什么就是軟件工程它有哪些本質(zhì)特征怎樣用軟件工程消除軟件危機三、什么就是軟件工程它有哪些本質(zhì)特征怎樣用軟件工程消除軟件危機19931993年IEEEIEEE得定義得定義軟件工程就是軟件工程就是①把系統(tǒng)得、規(guī)范得、可度量得途徑應(yīng)用于軟件開發(fā)、運行與維護過程把系統(tǒng)得、規(guī)范得、可度量得途徑應(yīng)用于軟件開發(fā)、運行與維護過程,也就就是把工程應(yīng)用于也就就是把工程應(yīng)用于軟件軟件②研究①中提到得途徑。研究①中提到得途徑。軟件工程得本質(zhì)特征軟件工程得本質(zhì)特征11軟件工程關(guān)注于大型程序軟件工程關(guān)注于大型程序軟件系統(tǒng)軟件系統(tǒng)得構(gòu)造得構(gòu)造22軟件工程得中心課題就是分解問題軟件工程得中心課題就是分解問題,控制復(fù)雜性控制復(fù)雜性33軟件就是軟件就是經(jīng)常變化得經(jīng)常變化得,開發(fā)過程中必須考慮軟件將來可能得變化開發(fā)過程中必須考慮軟件將來可能得變化44開發(fā)軟件得效率非常重要開發(fā)軟件得效率非常重要,因此因此,軟件工程得一個重要課題就就是軟件工程得一個重要課題就就是,尋求開發(fā)與維護軟件得更好更有效得方法與工具尋求開發(fā)與維護軟件得更好更有效得方法與工具55與諧地合作就是開發(fā)軟件得關(guān)鍵與諧地合作就是開發(fā)軟件得關(guān)鍵66軟件必須有效地支持它得用戶軟件必須有效地支持它得用戶77在軟件工程領(lǐng)域中就是由具有一種文化背景得人替具有另一種文化背景得人在軟件工程領(lǐng)域中就是由具有一種文化背景得人替具有另一種文化背景得人完成一些工作完成一些工作消除軟件危機得途徑消除軟件危機得途徑11對計算機軟件有一個正確得認識對計算機軟件有一個正確得認識軟件≠程序軟件≠程序22必須充分認識到軟件開發(fā)不就是某種個體勞動得神秘技巧必須充分認識到軟件開發(fā)不就是某種個體勞動得神秘技巧,而應(yīng)該就是一種組織良好、管理嚴密、各類人員協(xié)同配合、共同完成而應(yīng)該就是一種組織良好、管理嚴密、各類人員協(xié)同配合、共同完成得工程項目得工程項目33推廣使用在實踐中總結(jié)出來得開發(fā)軟件得成功技術(shù)與方法推廣使用在實踐中總結(jié)出來得開發(fā)軟件得成功技術(shù)與方法44開發(fā)與使用更好得軟件工具開發(fā)與使用更好得軟件工具四、簡述結(jié)構(gòu)化范型與面向?qū)ο蠓缎偷靡c四、簡述結(jié)構(gòu)化范型與面向?qū)ο蠓缎偷靡c,并分析她們得優(yōu)缺點。并分析她們得優(yōu)缺點。1、傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。優(yōu)點優(yōu)點把軟件生命周期劃分成基干個階段把軟件生命周期劃分成基干個階段,每個階段得任務(wù)相對獨立每個階段得任務(wù)相對獨立,而且而且比較簡單比較簡單,便于不同人員分工協(xié)作便于不同人員分工協(xié)作,從而降低了整個軟件開發(fā)過程得困難程度。缺點從而降低了整個軟件開發(fā)過程得困難程度。缺點當(dāng)軟件規(guī)模龐大時當(dāng)軟件規(guī)模龐大時,或者對軟件得需求就是模糊或者對軟件得需求就是模糊得或會承受時得或會承受時間而變化得時候間而變化得時候,開發(fā)出得軟件往往不成功開發(fā)出得軟件往往不成功而且維護起來仍然很困難。而且維護起來仍然很困難。2、面向?qū)ο蠓椒▽W(xué)面向?qū)ο蠓椒▽W(xué)優(yōu)點優(yōu)點降低了軟件產(chǎn)品得復(fù)雜性降低了軟件產(chǎn)品得復(fù)雜性提高了軟件得可理解性提高了軟件得可理解性簡化了軟件得開發(fā)與維護工作簡化了軟件得開發(fā)與維護工作促進了軟件重用。促進了軟件重用。五、五、1515根據(jù)歷史數(shù)據(jù)可以做出如下得假設(shè)根據(jù)歷史數(shù)據(jù)可以做出如下得假設(shè)對計算機存儲容量得需求大致按下面公式描述得趨勢逐年增加對計算機存儲容量得需求大致按下面公式描述得趨勢逐年增加M4080E0M4080E0、28Y196028Y1960存儲器得價格按下面公式描述得趨勢逐年下降存儲器得價格按下面公式描述得趨勢逐年下降P10P10、30、72Y197472Y1974美分美分/位如果計算機字長為如果計算機字長為1616位,則存儲器價格下降得趨勢為則存儲器價格下降得趨勢為P20P20、0480480、72Y197472Y1974美元美元/字在上列公式中在上列公式中Y代表年份代表年份,M,M就是存儲容量就是存儲容量字數(shù)字數(shù),P1,P1與P2P2代表價格。代表價格?;谏鲜黾僭O(shè)可以比較計算機硬件與軟件成本得變化趨勢。要求計算基于上述假設(shè)可以比較計算機硬件與軟件成本得變化趨勢。要求計算11在19851985年對計算機存儲容量得需求估計就是多少年對計算機存儲容量得需求估計就是多少如果字長為如果字長為1616位,這個存儲器得價格就是多少這個存儲器得價格就是多少大型得需求不斷變化得復(fù)雜軟件系統(tǒng)項目大型得需求不斷變化得復(fù)雜軟件系統(tǒng)項目十一、說明敏捷過程得適用范圍十一、說明敏捷過程得適用范圍適用于商業(yè)競爭環(huán)境下對小型項目提出得有限資源與有限開發(fā)時間得約束適用于商業(yè)競爭環(huán)境下對小型項目提出得有限資源與有限開發(fā)時間得約束十二、說明微軟過程得適用范圍十二、說明微軟過程得適用范圍適用于商業(yè)環(huán)境下具有有限資源與有限開發(fā)時間約束得項目得軟件過程模式適用于商業(yè)環(huán)境下具有有限資源與有限開發(fā)時間約束得項目得軟件過程模式第二章第二章1、在軟件開發(fā)得早期階段為什么要進行可行性研究、在軟件開發(fā)得早期階段為什么要進行可行性研究應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)得可行性應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)得可行性答11開發(fā)一個軟件時開發(fā)一個軟件時,需要判斷原定得系統(tǒng)模型與目標(biāo)就是否現(xiàn)實需要判斷原定得系統(tǒng)模型與目標(biāo)就是否現(xiàn)實,系統(tǒng)完成后所能帶來得效益就是否大到值得投資開發(fā)這個系統(tǒng)系統(tǒng)完成后所能帶來得效益就是否大到值得投資開發(fā)這個系統(tǒng)得程度得程度,如果做不到這些如果做不到這些,那么花費在這些工程上得任何時間、人力、軟硬件資源與經(jīng)費那么花費在這些工程上得任何時間、人力、軟硬件資源與經(jīng)費,都就是無謂得浪費??尚行匝芯康脤嵸|(zhì)就是都就是無謂得浪費??尚行匝芯康脤嵸|(zhì)就是要進行一次大大壓縮簡化了得系統(tǒng)分析與設(shè)計過程要進行一次大大壓縮簡化了得系統(tǒng)分析與設(shè)計過程,就就是在較高層次上以較抽象得方式進行得系統(tǒng)分析與設(shè)計得過程??尚行匝芯烤途褪窃谳^高層次上以較抽象得方式進行得系統(tǒng)分析與設(shè)計得過程??尚行匝芯康媚康镁途褪怯米钚〉么鷥r在盡可能短得時間內(nèi)確定問題就是否能夠解決。得目得就就是用最小得代價在盡可能短得時間內(nèi)確定問題就是否能夠解決。22一般說來一般說來,至少應(yīng)該從以下三個方面研究每種解法得可行性至少應(yīng)該從以下三個方面研究每種解法得可行性A、技術(shù)可行性。對要開發(fā)項目得功能、、技術(shù)可行性。對要開發(fā)項目得功能、性能與限制條件進行分析性能與限制條件進行分析,確定在現(xiàn)有得資源條件下確定在現(xiàn)有得資源條件下,技術(shù)風(fēng)險有多大技術(shù)風(fēng)險有多大,項目就是否能實現(xiàn)項目就是否能實現(xiàn),這些即為技術(shù)可行性研究得內(nèi)容。這里得資源包括已有得或可以搞到得硬件、軟件資源這些即為技術(shù)可行性研究得內(nèi)容。這里得資源包括已有得或可以搞到得硬件、軟件資源,現(xiàn)有技術(shù)人員得技術(shù)水平與已有得工作基礎(chǔ)?,F(xiàn)有技術(shù)人員得技術(shù)水平與已有得工作基礎(chǔ)。B、經(jīng)濟可行性。進行開發(fā)成本得估算以及了解取得效益得評估、經(jīng)濟可行性。進行開發(fā)成本得估算以及了解取得效益得評估,確定要開發(fā)得項目就是否值得投資開發(fā)確定要開發(fā)得項目就是否值得投資開發(fā),這些即為經(jīng)濟可行性研究得這些即為經(jīng)濟可行性研究得內(nèi)容對于大多數(shù)系統(tǒng)內(nèi)容對于大多數(shù)系統(tǒng),一般衡量經(jīng)濟上就是否合算一般衡量經(jīng)濟上就是否合算,應(yīng)考慮一個“底線”應(yīng)考慮一個“底線”,經(jīng)濟可行性研究范圍較廣經(jīng)濟可行性研究范圍較廣,包括成本效益分析包括成本效益分析,長期公司長期公司經(jīng)營策略經(jīng)營策略,開發(fā)所需得成本與資源開發(fā)所需得成本與資源,潛在得市場前景。潛在得市場前景。C、操作可行性。有時還要研究社會可行性問題、操作可行性。有時還要研究社會可行性問題,研究要開發(fā)得項目就是否存在任何侵犯、妨礙等責(zé)任問題。社會可行性所涉及得范圍研究要開發(fā)得項目就是否存在任何侵犯、妨礙等責(zé)任問題。社會可行性所涉及得范圍也比較廣也比較廣,它包括合同、責(zé)任、它包括合同、責(zé)任、侵權(quán)與其她一些技術(shù)人員常常不了解得陷阱等。侵權(quán)與其她一些技術(shù)人員常常不了解得陷阱等。必要時還應(yīng)該從法律、社會效益等更廣泛得方面研究每種解法得可行性。必要時還應(yīng)該從法律、社會效益等更廣泛得方面研究每種解法得可行性。2、為方便儲戶、為方便儲戶,某銀行擬開發(fā)計算機儲蓄系統(tǒng)。儲戶填寫得存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng)某銀行擬開發(fā)計算機儲蓄系統(tǒng)。儲戶填寫得存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果就是存款如果就是存款,系統(tǒng)記錄存款人姓名、系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息住址、存款類型、存款日期、利率等信息,并印出存款單給儲戶并印出存款單給儲戶如果就是取款如果就是取款,系統(tǒng)計算利息并印出利息清單給儲戶。系統(tǒng)計算利息并印出利息清單給儲戶。請寫出問題定請寫出問題定義并分析此系統(tǒng)得可行性。義并分析此系統(tǒng)得可行性。數(shù)據(jù)流程圖數(shù)據(jù)流程圖取票圖取票圖
下載積分: 7 賞幣
上傳時間:2024-05-23
頁數(shù): 44
大小: 2.45(MB)
子文件數(shù):