第01章軟件工程學(xué)概述01_第1頁
第01章軟件工程學(xué)概述01_第2頁
第01章軟件工程學(xué)概述01_第3頁
第01章軟件工程學(xué)概述01_第4頁
第01章軟件工程學(xué)概述01_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1軟件工程導(dǎo)論〔第6版〕

張海藩編著課程簡介軟件工程是支撐軟件產(chǎn)業(yè)的新學(xué)科,主要研究軟件結(jié)構(gòu)、軟件設(shè)計與維護(hù)方法、軟件工具與環(huán)境、軟件工程標(biāo)準(zhǔn)和標(biāo)準(zhǔn)、軟件開發(fā)技術(shù)與管理技術(shù)的相關(guān)理論。本課程只能作為軟件工程的入門,介紹一些根本概念、方法和根本原理。包括軟件工程概論,軟件方案,軟件需求分析,軟件總體設(shè)計,軟件詳細(xì)設(shè)計,軟件編碼,軟件測試,軟件維護(hù)以及面向?qū)ο蠓椒▽W(xué)概述。初步具備開發(fā)小型系統(tǒng)的能力。軟件工程課程說明軟件工程涉及:軟件生命周期(定義、設(shè)計、編碼、測試、發(fā)布、維護(hù)、淘汰)各階段的任務(wù)與內(nèi)容軟件開發(fā)生產(chǎn)中有關(guān)工藝、模式、方法和工具的管理與技術(shù)問題軟件工程不涉及:程序語言的內(nèi)容軟件編程軟件工程著力于解決軟件危機(jī),即軟件經(jīng)常不能按時按質(zhì)地交付使用軟件工程教育的定位我國軟件工程的專業(yè)教育與軟件人才鏈之間的關(guān)系可描述為如以下圖:軟件開發(fā)工程師架構(gòu)設(shè)計師產(chǎn)品經(jīng)理工程管理者系統(tǒng)分析師系統(tǒng)設(shè)計師程序員研究生教育本科教育大專教育中專教育二、教學(xué)與考查方法1.使用計算機(jī)輔助教學(xué);2.理論聯(lián)系實(shí)際,結(jié)合實(shí)際軟件工程的例子教學(xué);3.平時〔作業(yè)、考勤〕10%,大作業(yè)30%,考試60%。4.強(qiáng)調(diào)實(shí)際軟件工程能力的培養(yǎng),每個學(xué)生必須參加一個軟件工程小組(每組3-4人〕,完成一個實(shí)際軟件工程案例實(shí)習(xí),并撰寫軟件開發(fā)文檔;每組人員的角色可為:1.工程經(jīng)理2.系統(tǒng)分析人員3.系統(tǒng)設(shè)計人員4.系統(tǒng)實(shí)施人員5.系統(tǒng)測試人員

體驗(yàn)軟件工程各階段的主要工作,特別注意吸取教訓(xùn);

學(xué)會與他人合作,培養(yǎng)團(tuán)隊精神,單干戶將得不到成績。目的財富可以通過辛勤勞動獲取,也可能由于喜中彩票大獎獲得。但知識卻必須是通過一點(diǎn)一滴努力學(xué)習(xí)逐漸積累珍惜每一天,每一節(jié)課,每一分鐘參考書目8根本要求了解國外軟件工程開展的技術(shù)和趨勢理解軟件工程的思想和方法掌握軟件開發(fā)方法和工具學(xué)會按照工程化的方法開發(fā)和維護(hù)軟件具有閱讀軟件工程方面資料的能力為實(shí)踐及以后的軟件開發(fā)打根底總目錄第1章軟件工程學(xué)概述 第2章可行性研究 第3章需求分析 第4章形式化說明技術(shù) 第5章總體設(shè)計 第6章詳細(xì)設(shè)計 第7章實(shí)現(xiàn)第8章維護(hù) 第9章面向?qū)ο蠓椒▽W(xué)引論 第10章面向?qū)ο蠓治? 第11章面向?qū)ο笤O(shè)計 第12章面向?qū)ο髮?shí)現(xiàn) 第13章軟件工程管理總目錄第1章軟件工程學(xué)概述0.1軟件的定義0.2軟件的特點(diǎn)0.3軟件的分類1.1軟件危機(jī)1.2軟件工程1.3軟件生命周期1.4軟件過程1.5小結(jié)

0.1軟件的定義1、軟件的開展〔1〕、程序設(shè)計階段〔60年代中之前〕.特點(diǎn):程序規(guī)模小,編寫者與使用者往往是同一人,沒有系統(tǒng)的方法可循,沒有設(shè)計文檔資料。生產(chǎn)方式是:個體手工方式。軟件=程序〔2〕、程序系統(tǒng)階段〔60‘中---70’中)特點(diǎn):程序規(guī)模大,這個時期引入多道程序設(shè)計、多用戶系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng),軟件產(chǎn)品大量銷售,軟件數(shù)量急增。生產(chǎn)方式是:由個體開展為軟件車間。軟件=程序+說明書這個時期軟件維護(hù)耗資巨增,更嚴(yán)重是軟件產(chǎn)品不可維護(hù),導(dǎo)致軟件危機(jī)。誕生了軟件工程這個新興學(xué)科(68年)。本錢高IBM360OS,5000多人年,耗時4年(1963-1966),花費(fèi)2億多美元美國空軍:1955年軟件占總費(fèi)用(計算機(jī)系統(tǒng))的18%,70年60%,85年到達(dá)85%美國全球軍事指揮控制系統(tǒng),硬件1億美元,軟件高達(dá)7.2億美元計算機(jī)軟件和硬件費(fèi)用比0.1軟件的定義(3)軟件工程階段:(70年代~現(xiàn)在)特點(diǎn):打破軟件設(shè)計的個體化特征,有了軟件工程化的設(shè)計原那么、方法和標(biāo)準(zhǔn)。軟件產(chǎn)業(yè)興起了軟件產(chǎn)品化、系列化、工程化和標(biāo)準(zhǔn)化。生產(chǎn)方式是:由軟件車間聯(lián)成軟件工廠、公司。軟件=程序+文檔但是軟件標(biāo)準(zhǔn)的標(biāo)準(zhǔn)不完善,軟件危機(jī)仍然存在,必須加快促進(jìn)軟件工程的開展。現(xiàn)在正向著第四階段開展,社會信息化、軟件產(chǎn)業(yè)化的階段過渡,從現(xiàn)在的技術(shù)性的軟件工程階段過渡到企業(yè)計算機(jī),社會信息化的計算機(jī)系統(tǒng)工程階段。0.1軟件的定義2.根據(jù)《GB/T11457-89軟件工程術(shù)語》中的定義:軟件是指與計算機(jī)系統(tǒng)的操作有關(guān)的計算機(jī)程序、規(guī)程、規(guī)那么以及任何與之有關(guān)的文件。簡單地說,軟件包括程序和文檔兩局部。程序是指適合于計算機(jī)處理的指令序列以及所處理的數(shù)據(jù);文檔是與軟件開發(fā),維護(hù)和使用有關(guān)的文字材料。軟件軟件就是程序?×一定要糾正軟件就是程序,開發(fā)軟件就是編寫程序的錯誤觀念!

軟件定義:軟件是能夠完成預(yù)定功能和性能的可執(zhí)行的計算機(jī)程序和使程序正常執(zhí)行所需要的數(shù)據(jù),加上描述軟件開發(fā)過程及其管理、程序的操作和使用的有關(guān)文檔。程序的構(gòu)成:面向過程的程序=算法+數(shù)據(jù)結(jié)構(gòu)面向?qū)ο蟮某绦?對象+消息面向構(gòu)件的程序=構(gòu)件+框架軟件=程序+數(shù)據(jù)+文檔程序、軟件:獨(dú)唱—>>小合唱—>>合唱—>>萬人大合唱

|||

簡單程序較復(fù)雜程序軟件0.2軟件的特點(diǎn)軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體。因而它具有抽象性軟件的生產(chǎn)與硬件不同,在它的開發(fā)過程中沒有明顯的制造過程在軟件的運(yùn)行和使用期間,沒有硬件那樣的機(jī)械磨損,老化問題硬件失效率曲線,是一U型曲線〔即浴盆曲線〕。軟件失效率曲線,它沒有U型曲線的右半翼。因?yàn)檐浖淮嬖谀p和老化問題,然而存在退化問題。故障率時間初期故障率磨損實(shí)際理想故障率時間修改軟件故障曲線硬件故障曲線硬件軟件故障圖0.3軟件的分類按軟件的功能進(jìn)行劃分:系統(tǒng)軟件〔OS,DBMS等〕支撐軟件〔編譯程序等〕應(yīng)用軟件〔辦公軟件等〕按軟件的功能進(jìn)行劃分:系統(tǒng)軟件使計算機(jī)系統(tǒng)各個部件、相關(guān)軟件和數(shù)據(jù)協(xié)調(diào)、高效地工作的軟件操作系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)〔?〕設(shè)備驅(qū)動程序通信處理程序等軟件的分類軟件的分類支撐軟件

協(xié)助用戶開發(fā)軟件的工具軟件文本編輯程序文件格式化程序磁盤向磁帶進(jìn)行數(shù)據(jù)傳輸?shù)某绦虺绦驇煜到y(tǒng)支持需求分析、設(shè)計、實(shí)現(xiàn)、測試和支持管理的軟件應(yīng)用軟件商業(yè)數(shù)據(jù)處理軟件工程與科學(xué)計算軟件計算機(jī)輔助設(shè)計/制造軟件系統(tǒng)仿真軟件智能產(chǎn)品嵌入軟件醫(yī)療、制藥軟件事務(wù)管理、辦公自動化軟件計算機(jī)輔助教學(xué)軟件軟件的分類按軟件工作方式劃分:

實(shí)時處理軟件分時軟件交互式軟件批處理軟件軟件的分類按軟件規(guī)模進(jìn)行劃分:類別參加人員數(shù) 研制期限源程序行數(shù)微型1 1~4周0.5k小型1 1~6月1k~2k數(shù)值計算或數(shù)據(jù)處理,通常沒有與其它程序的接口。需要按一定的標(biāo)準(zhǔn)化技術(shù)、正規(guī)的資料書寫以及定期的系統(tǒng)審查。只是沒有大題目那樣嚴(yán)格。中型2~5 1~2年5k~50k軟件人員之間、與用戶之間的聯(lián)系、協(xié)調(diào)的配合關(guān)系。因而方案、資料書寫以及技術(shù)審查需要比較嚴(yán)格地進(jìn)行。應(yīng)用程序和系統(tǒng)程序。系統(tǒng)的軟件工程方法是完全必要的。軟件的分類大型5~20 2~3年50k~100k編譯程序、小型分時系統(tǒng)、實(shí)時控制系統(tǒng)等。二級管理,假設(shè)干小組,每組5人以下。人員調(diào)整往往不可防止,新手的培訓(xùn)。采用統(tǒng)一的標(biāo)準(zhǔn),實(shí)行嚴(yán)格的審查是絕對必要的。甚大型100~10004~5年1M(=1000k)假設(shè)干個子工程,每一個子工程都是一個大型軟件。子工程之間具有復(fù)雜的接口。如遠(yuǎn)程通信系統(tǒng)、多任務(wù)系統(tǒng)、大型操作系統(tǒng)、大型數(shù)據(jù)庫管理系統(tǒng)、軍事指揮系統(tǒng)通常現(xiàn)有這樣的規(guī)模。很顯然,這類問題沒有軟件工程方法的支持,它的開發(fā)工作是不可想象的。極大型2000~50005~10年1M~10M軍事指揮、彈道導(dǎo)彈防御系統(tǒng)。只是對軟件工程技術(shù)依賴的程度不同而已。軟件的分類1.1軟件的危機(jī)1.1.1什么是軟件危機(jī)軟件危機(jī)是指計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重的問題。軟件危機(jī)包含兩方面問題:一、如何開發(fā)軟件,以滿足不斷增長,日趨復(fù)雜的需求;二、如何維護(hù)數(shù)量不斷膨脹的軟件產(chǎn)品。28

1962年6月,美國飛向金星的第1個空間探測器

(水手1號)飛行中偏移了航線,失敗了.

原因:飛艙中的導(dǎo)航程序中的一個語句的語義錯.精心設(shè)計并花費(fèi)巨額投資的美國阿波羅8號太空飛船登月飛行方案的軟件的錯誤,使存儲器一局部信息喪失;阿波羅14號在10天的飛行中,出現(xiàn)18個軟件錯誤.原因:軟件的可靠性問題軟件開發(fā)失敗的例子

1963年美國飛往火星的火箭爆炸,造成1000萬美元的損失。原因是FORTRAN程序:

DO5I=1,3

誤寫為:DO5I=1.

3

1967年蘇聯(lián)“聯(lián)盟一號”載人宇宙飛船在返航時,由于軟件忽略一個小數(shù)點(diǎn),在進(jìn)入大氣層時因打不開降落傘而燒毀。軟件危機(jī)30美國肯尼迪發(fā)射的一枚“阿脫拉斯火箭,當(dāng)飛離地面幾十英里高空時翻轉(zhuǎn).地面控制中心被迫下令炸毀,結(jié)果損失1850萬美元原因:飛行方案程序漏掉一個連接字符1963~1966年IBM開發(fā)OS/360操作系統(tǒng),投資幾千萬美元,共約100萬條指令,工作5000多人年,經(jīng)費(fèi)達(dá)數(shù)億美圓,而結(jié)果卻令人沮喪,錯誤多達(dá)2000個以上,系統(tǒng)根本無法正常運(yùn)行。原因:方案上的問題,無法控制進(jìn)度拉布雷阿的焦油坑〔MuralofLaBreaTarPits〕OS/360系統(tǒng)的負(fù)責(zé)人Brooks這樣描述開發(fā)過程的困難和混亂:“…像巨獸在泥潭中作垂死掙扎,掙扎得越猛,泥漿就沾得越多,最后沒有一個野獸能夠逃脫淹沒在泥潭中的命運(yùn)。…〞321.1.2軟件危機(jī)的原因1、軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。 隨著計算機(jī)應(yīng)用的日益廣泛,需要開發(fā)的軟件規(guī)模日益龐大,軟件結(jié)構(gòu)也日益復(fù)雜。1968年美國航空公司訂票系統(tǒng)到達(dá)30萬條指令;IBM360OS第16版到達(dá)100萬條指令,花了5000個人年;1973年美國阿波羅方案到達(dá)1千萬條指令。Windows95有1000萬行代碼,Windows2000有5000萬行代碼.這些龐大軟件的功能非常復(fù)雜,表達(dá)在處理功能的多樣性和運(yùn)行環(huán)境的多樣性。有人曾估計,軟件設(shè)計與硬件設(shè)計相比,其邏輯量要多達(dá)10~100倍。對于這種龐大規(guī)模的軟件,其調(diào)用關(guān)系、接口信息復(fù)雜,數(shù)據(jù)結(jié)構(gòu)也復(fù)雜,這種復(fù)雜程度超過了人所能接受的程度?!曹浖こ痰奶厥庑院腿祟愔橇Φ木窒扌浴?024/1/8331.1.2軟件危機(jī)的原因2、軟件開發(fā)的管理困難、無方案性。由于軟件規(guī)模大,結(jié)構(gòu)復(fù)雜,又具有無形性,導(dǎo)致管理困難,進(jìn)程控制困難,質(zhì)量控制困難,可靠性無法保證。3、軟件開發(fā)費(fèi)用不斷增加。軟件生產(chǎn)是一種智力勞動,它是資金密集、人力密集的產(chǎn)業(yè),大型軟件投入人力多,周期長,費(fèi)用上升很快。2024/1/8341.1.2軟件危機(jī)的原因4、軟件需求不充分〔軟件開發(fā)人員對需求的理解與用戶的本來愿望有差異〕。5、軟件開發(fā)技術(shù)落后〔缺乏有力的方法學(xué)和工具的支持〕。6、軟件開發(fā)過程無評測手段。1979年美國財政部對美國聯(lián)邦政府開發(fā)的軟件工程進(jìn)行了調(diào)查,結(jié)果為:投資后未能交付的軟件占20-21%,交付后不能使用的軟件占47%,需要經(jīng)過修改才能使用的占29%,交付后可以使用的只占3-4%。原因:需求沒有做好根據(jù)1999年StandishGroup對當(dāng)年美國工程的統(tǒng)計數(shù)字說明,只有26%的工程是真正成功的,28%的工程是徹底失敗的〔即中途夭折的工程〕,介于兩者之間是完成了的、但“受到質(zhì)疑的〞工程占46%,這些工程被定義為存在費(fèi)用超支、超出工期的工程。這些存在問題的或是失敗的工程帶來的直接損失是970億美元,占了美國當(dāng)年全部IT投資〔2550億美元,17.5萬個工程左右〕的近40%,而由于這些工程所帶來的間接損失是無法估量的。StandishGroup的CHAOS報告進(jìn)一步證實(shí)了與成功工程最密切的因素是良好的需求管理,也就是工程的范圍管理,特別是管理好工程的變更。2003年,TheStandishGroup年度報告指出,在他們調(diào)查的13522個工程中,有66%的軟件工程失敗〔34%成功〕、82%超出時程、48%推出時缺乏必需的功能,總計約550億美元浪費(fèi)在不良的方案、預(yù)算或軟件估算上。目前,軟件專業(yè)人員對軟件開發(fā)和維護(hù)存有不少糊涂觀念,在實(shí)踐過程中或多或少地采用了錯誤的方法和技術(shù),這是軟件問題開展為軟件危機(jī)的主要原因。與軟件開發(fā)和維護(hù)有關(guān)的許多錯誤認(rèn)識和作法的形成,可以歸因于在計算機(jī)系統(tǒng)開展的早期階段軟件開發(fā)的個體化特點(diǎn)。錯誤的認(rèn)識和作法主要表現(xiàn)為無視軟件需求分析的重要性,認(rèn)為軟件開發(fā)就是寫程序并設(shè)法使之運(yùn)行,輕視軟件維護(hù)等。對軟件的常見誤解用戶的誤解開發(fā)人員的誤解管理者的誤解誤解先對軟件需求做一般的說明,以后再逐步明確就可以了.需求本身就是不斷變化的,軟件容易改變可以很快調(diào)整適應(yīng)這種變化.現(xiàn)實(shí)軟件需求不明確是造成軟件開發(fā)費(fèi)用增加和延時交貨的主要原因.軟件開發(fā)費(fèi)用隨著開發(fā)階段的后移而大大增加.用戶的誤解改正一個問題需付出的代價需求分析總體設(shè)計詳細(xì)設(shè)計編碼集成測試系統(tǒng)測試現(xiàn)場改正一個問題的估計費(fèi)用改正一個問題估計的工作量20200200010005.02.50.050.5(美元)(人天)開發(fā)人員的誤解誤解一旦程序開發(fā)完畢工作正常,我的任務(wù)就完成了在程序工作之前,無法顧及軟件的質(zhì)量問題.對于一個成功的工程來說,唯一能夠提供的就是可以工作的程序.現(xiàn)實(shí)一個軟件的50%-70%的工作量耗在軟件交付使用以后.對于某些錯誤軟件審查比軟件測試更加有效.一個完整的軟件要包括程序、各種文件和各種數(shù)據(jù).管理者的誤解誤解書上已經(jīng)有各種軟件開發(fā)的標(biāo)準(zhǔn),拿來用就是了.已經(jīng)有足夠的軟件開發(fā)工具可供使用.一旦工程的程序員不夠可以隨時增加.現(xiàn)實(shí)書上是有各種軟件開發(fā)的標(biāo)準(zhǔn),但不是過時就是不適用.軟件工具不是一拿來就能用的.“工程后期增加程序員會使工程的完成更加推后."--Brooks了解產(chǎn)生軟件危機(jī)的原因,澄清錯誤認(rèn)識,建立起關(guān)于軟件開發(fā)和維護(hù)的正確概念,還僅僅是解決軟件危機(jī)的開始,全面解決軟件危機(jī)需要一系列綜合措施。1.1.3解決軟件危機(jī)的途徑:解決軟件危機(jī)的途徑就是軟件工程學(xué)的生成過程。主要有:〔1〕采用工程化方法和工程途徑來研制與維護(hù)軟件。在定義、開發(fā)、維護(hù)的流程中,將軟件設(shè)計與工程實(shí)踐相結(jié)合,開發(fā)技術(shù)與管理技術(shù)相結(jié)合,到達(dá)低本錢、高質(zhì)量、滿足需求的軟件開發(fā)目的。這就形成了軟件工程的技術(shù),把軟件作為工程產(chǎn)品來處理,按照方案、分析、設(shè)計、實(shí)現(xiàn)、測試、維護(hù)的周期來進(jìn)行生產(chǎn)。〔2〕采用先進(jìn)的技術(shù)、方法與工具來開發(fā)與設(shè)計軟件。技術(shù)是指生產(chǎn)管理技術(shù)?!?〕采用必要的組織管理措施。軟件工程工程管理是通過人員組織管理、工程方案管理、標(biāo)準(zhǔn)化量化管理、配置管理,保證軟件產(chǎn)品按期高質(zhì)量完成??傊?,為了解決軟件危機(jī),既要有技術(shù)措施〔方法和工具〕,又要有必要的組織管理措施。1.2軟件工程軟件工程:采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來?!败浖こ台曇辉~是1968年北大西洋公約組織(NATO)在聯(lián)邦德國召開的一次會議上首次提出。Boehm:運(yùn)用現(xiàn)代科學(xué)技術(shù)知識來設(shè)計并構(gòu)造計算機(jī)程序及為開發(fā)、運(yùn)行和維護(hù)這些程序所必需的相關(guān)文件資料IEEE:1.將系統(tǒng)化的、嚴(yán)格約束的、可量化的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù),即將工程化應(yīng)用于軟件;2.在1中所述方法的研究。FritzBauer:建立并使用完善的工程化原那么,以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法

軟件工程定義軟件工程本質(zhì)特性:1〕軟件工程關(guān)注于大型程序的構(gòu)造。2〕軟件工程的中心課題是控制復(fù)雜性主要考慮:如何分解和集成為什么要分解:G.Miller,“7±2〞原那么3〕軟件經(jīng)常變化4〕開發(fā)軟件的效率非常重要5〕和諧地合作是開發(fā)軟件的關(guān)鍵6〕軟件必須有效地支持它的用戶7〕在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品擴(kuò)展定義:軟件=知識+程序+數(shù)據(jù)+文檔1.2.2軟件工程的根本原理用分階段的生命周期方案嚴(yán)格管理堅持進(jìn)行階段評審實(shí)行嚴(yán)格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計技術(shù)結(jié)果應(yīng)能清楚地審查開發(fā)小組的人員應(yīng)該少而精成認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性P7-9案例分析1:A組和B組都有共同的目標(biāo):十一期間到云南麗江旅游.A組組員在組長帶著下,制定了詳細(xì)的出游方案,作好了準(zhǔn)備.B組組員卻什么都沒有準(zhǔn)備.通過分析,比較兩個小組可能出現(xiàn)的結(jié)果.原理1:用分階段的生命周期方案嚴(yán)格管理據(jù)統(tǒng)計,在不成功的軟件工程中,50%左右是由于方案不周造成的應(yīng)該把軟件生命周期劃分成假設(shè)干各階段,并相應(yīng)制定出切實(shí)可行的方案,然后嚴(yán)格地按照方案對軟件的開發(fā)與維護(hù)工作進(jìn)行管理案例分析2:A組做了出游的方案如下表所示:活動時間訂車票9.22-9.24聯(lián)系麗江旅行社訂房間9.22-9.24買路上吃的食品9.25出發(fā)到麗江10.1游玩10.2-10.5返回學(xué)校10.6如果其中任何一個活動沒有按照方案進(jìn)行,將導(dǎo)致整個出游方案的失敗如何解決?????原理2:堅持進(jìn)行階段評審軟件的質(zhì)量保證工作不能等到編碼階段結(jié)束后再進(jìn)行,在每個階段都應(yīng)進(jìn)行嚴(yán)格的審查據(jù)Boehm等人統(tǒng)計,設(shè)計錯誤占軟件錯誤的63%,編碼錯誤占37%HP公司:有1/3以上的錯誤是由于不熟悉用戶對界面的需求而引起的,通過建立大量的原型和設(shè)計評審方案,減少產(chǎn)品發(fā)布后的缺陷數(shù),在公布的四次缺陷數(shù)據(jù)中,前兩次發(fā)布后的缺陷占25%,第三次降到10%以下,第四次那么為零案例分析3:A組做了出游的方案如下表所示:活動時間訂車票9.22-9.24聯(lián)系麗江旅行社訂房間9.22-9.24買路上吃的食品9.25出發(fā)到麗江10.1游玩10.2-10.5返回學(xué)校10.6在定票期間,由于負(fù)責(zé)定票的人Lily在沒有通知大家的情況下將返回學(xué)校的票定在10.7日,此時將造成什么影響?在整個活動中允許隨意的變更嗎?原理3:實(shí)行嚴(yán)格的產(chǎn)品控制加強(qiáng)配置管理建立嚴(yán)格的變更控制流程原理4:采用現(xiàn)代程序設(shè)計技術(shù)結(jié)構(gòu)化分析〔SA〕結(jié)構(gòu)化設(shè)計〔SD〕面向?qū)ο蠹夹g(shù)〔OOA/OOD〕實(shí)踐說明:采用先進(jìn)的技術(shù)既可以提高軟件開發(fā)的效率,又可以提高軟件維護(hù)的效率。原理5:結(jié)果應(yīng)能清楚地審查根據(jù)軟件開發(fā)工程的總目標(biāo)和完成期限,規(guī)定開發(fā)小組的責(zé)任、產(chǎn)品標(biāo)準(zhǔn)及完成日期,從而使得所得到的結(jié)果能夠清楚地審查。原理6:開發(fā)小組的人員應(yīng)少而精軟件開發(fā)小組成員的素質(zhì)要高,而人數(shù)那么不宜過多。開發(fā)小組人員的素質(zhì)和數(shù)量是影響軟件產(chǎn)品質(zhì)量和開發(fā)效率的重要因素。案例分析4:麗江活動結(jié)束了,A小組這時應(yīng)該做些什么呢?原理7:不斷改進(jìn)軟件工程實(shí)踐不斷改進(jìn)軟件工程的實(shí)踐。軟件工程不應(yīng)該停留在已有的技術(shù)水平上,應(yīng)該積極主動地采取或創(chuàng)造新的軟件技術(shù),要注意不斷總結(jié)經(jīng)驗(yàn),收集工作量、進(jìn)度、本錢等數(shù)據(jù),并運(yùn)行出錯類型和問題報告的統(tǒng)計。幾個關(guān)于軟件工程本質(zhì)特性和根本原理的問題問題一:軟件工程適用范圍?問題二:軟件工程是如何控制系統(tǒng)開發(fā)的復(fù)雜性的?問題三:以你的經(jīng)驗(yàn),舉例說明一個成熟的軟件通常采用什么方法來適應(yīng)現(xiàn)實(shí)世界的變化的?問題四:假設(shè)某軟件公司,能為同一個用戶開發(fā)兩個不同層次的軟件:一個層次的軟件功能非常強(qiáng)大,在滿足用戶所有需求的根底上,還能提供大大超過用戶需求的其他更多更強(qiáng)的功能;另一個層次的軟件僅僅能滿足用戶需求,但沒有提供其他額外的功能。請問如果你是工程負(fù)責(zé)人,你會選擇為客戶開發(fā)那個層次的軟件?問題五:協(xié)同工作有什么重要性?幾個關(guān)于軟件工程本質(zhì)特性和根本原理的問題問題六:怎樣理解“在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品〞這句話?問題七:某軟件開發(fā),由于時間和資金都非常緊迫,在需求分析人員非常認(rèn)真、仔細(xì)地做完需求分析之后,說:我們可以保證我們的需求分析正確性,不用花時間檢查了,設(shè)計人員可以直接拿著這份分析報告,馬上開始設(shè)計。如果你是工程負(fù)責(zé)人,你會如何決定?為什么?問題八:在需求分析完成并獲得了用戶的肯定,也通過了評審,進(jìn)入軟件設(shè)計階段之后,用戶的想法有了改變,提出了一個新的要求,此時如果你是工程負(fù)責(zé)人,應(yīng)該怎樣做?“現(xiàn)在大家都已認(rèn)識到,如果有哪個工程不遵循軟件工程原那么必定會受到實(shí)踐的懲罰。〞“軟件工程課是我們參加工作以后最能直接應(yīng)用的一門專業(yè)課。〞——一位剛畢業(yè)參加工作的計算機(jī)專業(yè)學(xué)生1.2.3軟件工程方法學(xué)通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué)(methodology),也稱為范型(paradigm)。在軟件工程領(lǐng)域中,這兩個術(shù)語的含義根本相同。軟件工程方法學(xué)包含3個要素:方法、工具和過程。67軟件工程三個要素

工具Softwareengineeringlayers圖1-5軟件工程三個要素方法(步驟、原那么)

過程(任務(wù)(活動))

質(zhì)量焦點(diǎn)工具為軟件開發(fā)提供自動或半自動的軟件支撐環(huán)境,建立計算機(jī)輔助軟件工程(CASE)的軟件開發(fā)支撐系統(tǒng)為軟件開發(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論