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