507軟件項(xiàng)目管理授課教師:羅洪_第1頁(yè)
507軟件項(xiàng)目管理授課教師:羅洪_第2頁(yè)
507軟件項(xiàng)目管理授課教師:羅洪_第3頁(yè)
507軟件項(xiàng)目管理授課教師:羅洪_第4頁(yè)
507軟件項(xiàng)目管理授課教師:羅洪_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、11/11/20211軟件項(xiàng)目管理11/11/202121.1軟件工程概述軟件工程概述1.3軟件工程模型軟件工程模型第一節(jié)第一節(jié). .軟件工程知識(shí)回顧軟件工程知識(shí)回顧1.2軟件工程框架軟件工程框架問題問題11/11/202131.1軟件工程概述-要點(diǎn)美國(guó)與我國(guó)的軟件產(chǎn)業(yè)的發(fā)展美國(guó)與我國(guó)的軟件產(chǎn)業(yè)的發(fā)展軟件危機(jī)軟件危機(jī)軟件工程定義軟件工程定義軟件工程的七條基本原理軟件工程的七條基本原理11/11/20214美國(guó)軟件產(chǎn)業(yè)發(fā)展三個(gè)階段美國(guó)軟件產(chǎn)業(yè)三個(gè)不同的發(fā)展階段。美國(guó)軟件產(chǎn)業(yè)三個(gè)不同的發(fā)展階段。以以等等11/11/20215 美國(guó)1999年軟件項(xiàng)目的統(tǒng)計(jì)11/11/20216我國(guó)軟件產(chǎn)業(yè)的發(fā)展階段

2、及必由之路積累了一些經(jīng)驗(yàn),也有不少教訓(xùn)。積累了一些經(jīng)驗(yàn),也有不少教訓(xùn)。軟件產(chǎn)業(yè)軟件產(chǎn)業(yè)必須走軟件工業(yè)化生產(chǎn)的道路必須走軟件工業(yè)化生產(chǎn)的道路,11/11/202171.1軟件工程概述-要點(diǎn)美國(guó)與我國(guó)的軟件產(chǎn)業(yè)的發(fā)展美國(guó)與我國(guó)的軟件產(chǎn)業(yè)的發(fā)展軟件危機(jī)軟件危機(jī)軟件工程定義軟件工程定義軟件工程的七條基本原理軟件工程的七條基本原理11/11/20218軟件危機(jī)軟件危機(jī) 軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。 11/11/20219軟件危機(jī)產(chǎn)生個(gè)體化軟件環(huán)境個(gè)體化軟件環(huán)境l 早期,程序通常針對(duì)又為一個(gè)特定硬件和目的而編早期,程序通常針對(duì)又為一個(gè)特定硬件和目的而編制制,軟件的通用

3、性很有限的。多數(shù)軟件的通用性很有限的。多數(shù)使用該軟件的個(gè)人或機(jī)使用該軟件的個(gè)人或機(jī)構(gòu)研制,規(guī)模小構(gòu)研制,規(guī)模小。l 個(gè)體化的軟件環(huán)境,使得軟件開發(fā)沒有什么系統(tǒng)的個(gè)體化的軟件環(huán)境,使得軟件開發(fā)沒有什么系統(tǒng)的方法可以遵循,軟件設(shè)計(jì)是在某個(gè)人的頭腦中完成的一方法可以遵循,軟件設(shè)計(jì)是在某個(gè)人的頭腦中完成的一個(gè)隱藏的過程。除了源代碼往往沒有軟件說明書等文檔。個(gè)隱藏的過程。除了源代碼往往沒有軟件說明書等文檔。l(案例,我國(guó)早期小軟件公司的核心人員的決定案例,我國(guó)早期小軟件公司的核心人員的決定公司的命運(yùn)公司的命運(yùn)-中國(guó)龍)中國(guó)龍)軟件作坊軟件作坊l 60年代中期到年代中期到70年代中期,出現(xiàn)了年代中期,出現(xiàn)

4、了“軟件作坊軟件作坊”專職專職應(yīng)別人的需求寫軟件。應(yīng)別人的需求寫軟件。11/11/202110軟件危機(jī)產(chǎn)生急劇膨脹急劇膨脹l 隨著計(jì)算機(jī)應(yīng)用的日益普及,軟件的隨著計(jì)算機(jī)應(yīng)用的日益普及,軟件的用戶有了用戶有了時(shí),通常需要時(shí),通常需要。上述種種維護(hù)工作以令人吃驚的比例。上述種種維護(hù)工作以令人吃驚的比例更嚴(yán)重的是許多程序的個(gè)體化特性使得他們更嚴(yán)重的是許多程序的個(gè)體化特性使得他們。軟件的規(guī)模越來越龐大復(fù)雜度越來越高交付時(shí)間相對(duì)短 開發(fā)成本令人吃驚地高開發(fā)成本令人吃驚地高失敗的軟件開發(fā)項(xiàng)目卻屢見不鮮。失敗的軟件開發(fā)項(xiàng)目卻屢見不鮮。“軟件危機(jī)軟件危機(jī)”開始了!開始了!11/11/2021111. 美國(guó)ib

5、m公司在1963年至1966年開發(fā)的ibm360機(jī)的操作系統(tǒng)。這一.據(jù)統(tǒng)計(jì),這個(gè)操作系統(tǒng)每次發(fā)行的新版本都是從前一版本中找出1000個(gè)程序錯(cuò)誤而修正的結(jié)果。. 這個(gè)項(xiàng)目的負(fù)責(zé)人f. d. brooks事后總結(jié)了他在組織開發(fā)過程中的沉痛教訓(xùn)時(shí)說:“.軟件危機(jī)典型案例軟件危機(jī)典型案例11/11/202112軟件危機(jī)表現(xiàn)軟件成本日益增長(zhǎng) 開發(fā)進(jìn)度難以控制 軟件質(zhì)量差 軟件維護(hù)困難11/11/202113軟件危機(jī)表現(xiàn)-軟件成本日益增長(zhǎng)軟件成本日益增長(zhǎng)20世紀(jì)50年代,軟件成本在整個(gè)計(jì)算機(jī)系統(tǒng)成本中所占的比例為10%-20%。到20世紀(jì)60年代中期,軟件成本在計(jì)算機(jī)系統(tǒng)中所占的比例已經(jīng)增長(zhǎng)到50%左右。

6、 而且,該數(shù)字還在不斷的遞增,下面是一組來自美國(guó)空軍計(jì)算機(jī)系統(tǒng)的數(shù)據(jù):1955年,軟件費(fèi)用約占總費(fèi)用的18%,1970年達(dá)到60%,1975年達(dá)到72%,1980年達(dá)到80%,1985年達(dá)到85%左右11/11/202114軟件危機(jī)表現(xiàn)開發(fā)進(jìn)度難以控制在軟件開發(fā)過程中,用戶需求變化等各種意想不到的情況層出不窮,令軟件開發(fā)過程很難保證按預(yù)定的計(jì)劃實(shí)現(xiàn),給項(xiàng)目計(jì)劃和論證工作帶來了很大的困難。盲目增加軟件開發(fā)人員并不能成比例的提高軟件開發(fā)能力。相反,隨著人員數(shù)量的增加,人員的組織、協(xié)調(diào)、通信、培訓(xùn)和管理等方面的問題將更為嚴(yán)重。11/11/202115軟件危機(jī)表現(xiàn)軟件質(zhì)量差 由于缺乏工程化思想的指導(dǎo),

7、程序員幾乎總是習(xí)慣性的以自己的想法去代替用戶對(duì)軟件的需求,軟件設(shè)計(jì)帶有隨意性,很多功能只是程序員的一廂情愿而已,這是造成軟件令人不滿意的重要因素。11/11/202116軟件危機(jī)表現(xiàn)軟件維護(hù)困難由于在軟件設(shè)計(jì)和開發(fā)過程中,沒有嚴(yán)格遵循軟件開發(fā)標(biāo)準(zhǔn),各種隨意性很大,沒有完整的真實(shí)反映系統(tǒng)狀況的記錄文檔,給軟件維護(hù)造成了巨大的困難。特別是在軟件使用過程中,原來的開發(fā)人員可能因各種原因已經(jīng)離開原來的開發(fā)組織,使得軟件幾乎不可維護(hù)。有資料表明,工業(yè)界為維護(hù)軟件支付的費(fèi)用占全部硬件和軟件費(fèi)用的40-75%11/11/202117軟件生產(chǎn)存在的常見問題軟件生產(chǎn)存在的常見問題有:軟件生產(chǎn)存在的常見問題有:軟

8、件需求就會(huì)不斷變更軟件需求就會(huì)不斷變更11/11/202118以上的這以上的這些問題能些問題能夠解決嗎夠解決嗎?問題討論如何克服危機(jī)?11/11/2021191.1軟件工程概述-要點(diǎn)美國(guó)與我國(guó)的軟件產(chǎn)業(yè)的發(fā)展美國(guó)與我國(guó)的軟件產(chǎn)業(yè)的發(fā)展軟件危機(jī)軟件危機(jī)軟件工程定義軟件工程定義軟件工程的七條基本原理軟件工程的七條基本原理11/11/202120 “軟件工程軟件工程”一詞是來自于一詞是來自于1968年北大西年北大西洋公約組織(洋公約組織(nato)在聯(lián)邦德國(guó)召開的一次會(huì))在聯(lián)邦德國(guó)召開的一次會(huì)議上首次提出來的。議上首次提出來的。 它的主要思想是它的主要思想是 “把軟件當(dāng)成一種產(chǎn)品。并把軟件當(dāng)成一種產(chǎn)

9、品。并要求采用要求采用對(duì)軟件進(jìn)行計(jì)劃、對(duì)軟件進(jìn)行計(jì)劃、開發(fā)和維護(hù)。開發(fā)和維護(hù)。 軟件工程的目標(biāo)是實(shí)現(xiàn)生產(chǎn)高質(zhì)量的軟件產(chǎn)品軟件工程的目標(biāo)是實(shí)現(xiàn)生產(chǎn)高質(zhì)量的軟件產(chǎn)品 軟件工程定義11/11/202121軟件工程的七條基本原理 自從自從1968 年提出年提出“軟件工程軟件工程”這一術(shù)這一術(shù)語以來,研究軟件工程的專家學(xué)者們陸續(xù)提語以來,研究軟件工程的專家學(xué)者們陸續(xù)提出了出了100 多條關(guān)于軟件工程的準(zhǔn)則和信條。多條關(guān)于軟件工程的準(zhǔn)則和信條。美國(guó)著名的軟件工程專家美國(guó)著名的軟件工程專家 boehm 綜合這些綜合這些專家的意見,并總結(jié)了專家的意見,并總結(jié)了trw 公司多年的軟公司多年的軟件開發(fā)經(jīng)驗(yàn),于件開

10、發(fā)經(jīng)驗(yàn),于1983 年提出了軟件工程的年提出了軟件工程的七條基本原理。七條基本原理。 11/11/2021221.用分階段的生命周期計(jì)劃嚴(yán)格管理用分階段的生命周期計(jì)劃嚴(yán)格管理 這條原理意味著,應(yīng)該把軟件生命周期分成若干階段,這條原理意味著,應(yīng)該把軟件生命周期分成若干階段,并相應(yīng)制定出切實(shí)可行的計(jì)劃,然后嚴(yán)格按照計(jì)劃對(duì)軟件并相應(yīng)制定出切實(shí)可行的計(jì)劃,然后嚴(yán)格按照計(jì)劃對(duì)軟件的開發(fā)和維護(hù)進(jìn)行管理。的開發(fā)和維護(hù)進(jìn)行管理。boehm boehm 認(rèn)為,在整個(gè)軟件生命周認(rèn)為,在整個(gè)軟件生命周期中應(yīng)指定并期中應(yīng)指定并:項(xiàng)目概要計(jì)劃項(xiàng)目概要計(jì)劃里程碑計(jì)劃里程碑計(jì)劃項(xiàng)目控制計(jì)劃項(xiàng)目控制計(jì)劃產(chǎn)品控制計(jì)劃產(chǎn)品控制計(jì)

11、劃驗(yàn)證計(jì)劃驗(yàn)證計(jì)劃運(yùn)行維護(hù)計(jì)劃運(yùn)行維護(hù)計(jì)劃軟件工程的七條基本原理11/11/202123軟件工程的七條基本原理2 .堅(jiān)持進(jìn)行階段評(píng)審堅(jiān)持進(jìn)行階段評(píng)審 ;錯(cuò)誤發(fā)現(xiàn)的越晚,改正它的代價(jià)就;錯(cuò)誤發(fā)現(xiàn)的越晚,改正它的代價(jià)就越大越大。3 .實(shí)行嚴(yán)格的產(chǎn)品控制實(shí)行嚴(yán)格的產(chǎn)品控制 。這就要求采用變更控制,又叫基準(zhǔn)配置管理。當(dāng)需這就要求采用變更控制,又叫基準(zhǔn)配置管理。當(dāng)需求變動(dòng)時(shí),其它各個(gè)階段的文檔或代碼隨之相應(yīng)改求變動(dòng)時(shí),其它各個(gè)階段的文檔或代碼隨之相應(yīng)改變,以保證軟件的一致性變,以保證軟件的一致性。11/11/202124軟件工程的七條基本原理4 .采納現(xiàn)代程序設(shè)計(jì)技術(shù)采納現(xiàn)代程序設(shè)計(jì)技術(shù) 采用先進(jìn)的軟件

12、開發(fā)方法、采用先進(jìn)的軟件開發(fā)方法、即即可以提高軟件開發(fā)的效率,又可以減少軟件維護(hù)的可以提高軟件開發(fā)的效率,又可以減少軟件維護(hù)的成本。成本。5.結(jié)果應(yīng)能清楚地審查結(jié)果應(yīng)能清楚地審查 應(yīng)根據(jù)軟件開發(fā)的總目標(biāo)及完成期限,應(yīng)根據(jù)軟件開發(fā)的總目標(biāo)及完成期限,使所得到的標(biāo),使所得到的標(biāo)準(zhǔn)能清楚地審查準(zhǔn)能清楚地審查。 11/11/202125軟件工程的七條基本原理6.開發(fā)小組的人員應(yīng)少而精開發(fā)小組的人員應(yīng)少而精 開發(fā)人員的開發(fā)人員的是影響軟件質(zhì)量和開發(fā)是影響軟件質(zhì)量和開發(fā)效率的重要因素,應(yīng)該少而精。這一條基于兩點(diǎn)原效率的重要因素,應(yīng)該少而精。這一條基于兩點(diǎn)原因:因: 高素質(zhì)開發(fā)人員的效率比低素質(zhì)開發(fā)人員的效

13、高素質(zhì)開發(fā)人員的效率比低素質(zhì)開發(fā)人員的效率要高幾倍到幾十倍,開發(fā)工作中犯的錯(cuò)誤也要少率要高幾倍到幾十倍,開發(fā)工作中犯的錯(cuò)誤也要少的多;的多; 當(dāng)開發(fā)小組為當(dāng)開發(fā)小組為n n 人時(shí),最大的交流通道數(shù)為人時(shí),最大的交流通道數(shù)為n(n-1)/2,n(n-1)/2,可見隨著人數(shù)可見隨著人數(shù)n n 的增大,交流通道數(shù)將急的增大,交流通道數(shù)將急劇增大。劇增大。11/11/202126軟件工程的七條基本原理7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性 遵從上述六條基本原理,并不能保證趕上技術(shù)遵從上述六條基本原理,并不能保證趕上技術(shù)不斷前進(jìn)發(fā)展的步伐。不斷前進(jìn)發(fā)展的步伐。 因此,因此,

14、boehm boehm 提出應(yīng)把承認(rèn)不斷改進(jìn)軟件工程提出應(yīng)把承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性作為軟件工程的第七條原理。實(shí)踐的必要性作為軟件工程的第七條原理。 根據(jù)這條原理,根據(jù)這條原理,。這些。這些歷史數(shù)據(jù)既可以用來評(píng)估新的軟件技術(shù)的效果,也歷史數(shù)據(jù)既可以用來評(píng)估新的軟件技術(shù)的效果,也可以用來指明必須著重注意的問題和應(yīng)該優(yōu)先進(jìn)行可以用來指明必須著重注意的問題和應(yīng)該優(yōu)先進(jìn)行研究的工具和技術(shù)。研究的工具和技術(shù)。11/11/202127軟件工程知識(shí)體系(swebok)了解software engineering body of knowledge 11/11/20212811/11/2021291.

15、2軟件工程框架 實(shí)現(xiàn)生產(chǎn)高實(shí)現(xiàn)生產(chǎn)高質(zhì)量的軟件質(zhì)量的軟件產(chǎn)品產(chǎn)品11/11/202130軟件工程活動(dòng)(1)問題定義問題定義 主要是系統(tǒng)分析員和用戶參與明確要解決的問題主要是系統(tǒng)分析員和用戶參與明確要解決的問題, 形成經(jīng)雙方充分討論通過的確認(rèn)文檔。形成經(jīng)雙方充分討論通過的確認(rèn)文檔。問題問題 定義定義 可行性可行性研究研究需求需求分析分析設(shè)計(jì)設(shè)計(jì)和實(shí)現(xiàn)和實(shí)現(xiàn)支持支持確認(rèn)確認(rèn)(2)可行性研究可行性研究 研究問題定義階段的問題是否有解決辦法研究問題定義階段的問題是否有解決辦法,但不具體的但不具體的解決問題解決問題;并進(jìn)行成本和效益分析并進(jìn)行成本和效益分析 。 結(jié)果是工程是否繼續(xù)進(jìn)行的重要依據(jù)。結(jié)果是工

16、程是否繼續(xù)進(jìn)行的重要依據(jù)。11/11/202131軟件工程活動(dòng)(3)需求分析需求分析 分析為了要解決問題分析為了要解決問題,目標(biāo)系統(tǒng)必需具備的功能。目標(biāo)系統(tǒng)必需具備的功能。 系統(tǒng)分析員和用戶充分交流討論后形成用戶確認(rèn)的系統(tǒng)系統(tǒng)分析員和用戶充分交流討論后形成用戶確認(rèn)的系統(tǒng)邏輯模型(數(shù)據(jù)流圖,數(shù)據(jù)字典算法等)。邏輯模型(數(shù)據(jù)流圖,數(shù)據(jù)字典算法等)。 注意教材:注意教材:p3第一段關(guān)于程序員和用戶在需求分析中階第一段關(guān)于程序員和用戶在需求分析中階段確認(rèn)的重要性。段確認(rèn)的重要性。問題問題 定義定義 可行性可行性研究研究需求需求分析分析設(shè)計(jì)設(shè)計(jì)和實(shí)現(xiàn)和實(shí)現(xiàn)支持支持確認(rèn)確認(rèn)11/11/202132軟件工程

17、活動(dòng)問題問題 定義定義 可行性可行性研究研究需求需求分析分析設(shè)計(jì)設(shè)計(jì)和實(shí)現(xiàn)和實(shí)現(xiàn)支持支持確認(rèn)確認(rèn)(4)設(shè)計(jì)設(shè)計(jì) 總體設(shè)計(jì):總體設(shè)計(jì): 從概括的層面探討如何解決問題,抽象概括的提出目從概括的層面探討如何解決問題,抽象概括的提出目標(biāo)系統(tǒng)的解決方案。標(biāo)系統(tǒng)的解決方案。 詳細(xì)設(shè)計(jì):詳細(xì)設(shè)計(jì): 把解決方案具體化,設(shè)計(jì)出詳細(xì)需求規(guī)格說明書。把解決方案具體化,設(shè)計(jì)出詳細(xì)需求規(guī)格說明書。 (5)實(shí)現(xiàn)實(shí)現(xiàn) 根據(jù)需求規(guī)格說明書編寫程序解決具體的問題。根據(jù)需求規(guī)格說明書編寫程序解決具體的問題。 11/11/202133軟件工程活動(dòng)問題問題 定義定義 可行性可行性研究研究需求需求分析分析設(shè)計(jì)設(shè)計(jì)和實(shí)現(xiàn)和實(shí)現(xiàn)支持支持確

18、認(rèn)確認(rèn)(6)確認(rèn)確認(rèn) 測(cè)試目標(biāo)系統(tǒng)是否達(dá)到預(yù)定的要求。測(cè)試目標(biāo)系統(tǒng)是否達(dá)到預(yù)定的要求。 單元測(cè)試單元測(cè)試 集成測(cè)試集成測(cè)試 驗(yàn)收測(cè)試驗(yàn)收測(cè)試 (7)支持支持 軟件的維護(hù)。軟件的維護(hù)。 改正性維護(hù);適應(yīng)性維護(hù);完善性維護(hù);預(yù)防性維護(hù)。改正性維護(hù);適應(yīng)性維護(hù);完善性維護(hù);預(yù)防性維護(hù)。 11/11/202134軟件工程原則11/11/2021351.3軟件工程模型軟件工程模型 軟件工程的演化過程軟件工程的演化過程 對(duì)軟件工程活動(dòng)中的各個(gè)活動(dòng)都必需進(jìn)對(duì)軟件工程活動(dòng)中的各個(gè)活動(dòng)都必需進(jìn)行管理,軟件項(xiàng)目管理貫穿于軟件工程的演行管理,軟件項(xiàng)目管理貫穿于軟件工程的演化過程?;^程。11/11/2021361.

19、3軟件工程模型軟件工程模型線性模型(瀑布模型)線性模型(瀑布模型)11/11/2021371.3軟件工程模型軟件工程模型軟件工程的螺旋模型軟件工程的螺旋模型 連接的線性模連接的線性模型型11/11/2021381.3軟件工程模型軟件工程模型 軟件工程的漸增式模型軟件工程的漸增式模型 分段的線形模型,每個(gè)階段都有個(gè)可運(yùn)行的系統(tǒng)。分段的線形模型,每個(gè)階段都有個(gè)可運(yùn)行的系統(tǒng)。 首先構(gòu)建系統(tǒng)的基本輪循模塊,寫出每個(gè)功能的空首先構(gòu)建系統(tǒng)的基本輪循模塊,寫出每個(gè)功能的空子函數(shù),保證運(yùn)行。子函數(shù),保證運(yùn)行。 接著多次多階段的逐個(gè)精華或重寫模塊接著多次多階段的逐個(gè)精華或重寫模塊-增量增量開發(fā)系統(tǒng);開發(fā)系統(tǒng);) 11/11/2021391.3軟件工程模型軟件工程模型11/11/202

溫馨提示

  • 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. 人人文庫(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)論