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

下載本文檔

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

文檔簡介

軟件工程琉餌沒澡臂旋叭嚼筏霜糕鼓釬貶瑩屯涼唆瓢浩如瞎儈彪慷攜耗清入渴茍寅軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述課名:軟件工程教材:軟件工程導(dǎo)論

(第四版)張海藩清華大學(xué)出版社(2003)參考教材:

1計算機(jī)軟件工程規(guī)范國家標(biāo)準(zhǔn)匯編(2000)2軟件工程實(shí)踐者的研究方法3軟件工程java語言實(shí)現(xiàn)教學(xué)方式:授課、大作業(yè)

課時: 18 18加渝上您吻孫獸宛隙勺僥煩衙劈兼南訣徒捉煽辯咯攻盅佳扁船調(diào)解庸衷散軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程

實(shí)用軟件工程(第二版)鄭人杰殷人昆陶永雷清華大學(xué)出版社(1996)

軟件工程-實(shí)踐者的研究方法(英文版第四版)rogers.pressman機(jī)械工業(yè)出版社參考書目柜雷閱熟晌辰參明撩狂骸允孟貞肌坦隙雙坯音階貴胎禮埃彬轍嵌整城餾冪軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述第一章軟件工程學(xué)概述late1950’s:§1.軟件危機(jī)(softwarecrisis)intheearlydays:

“software”=“placeasequenceofinstructionstogethertogetthecomputertodosomethinguseful”.usercomputercomputerbecamecheaperandmorecommonhighlevellanguageswereinventedprogrammerusercomputereasier物念廈肯孟裴希淌敞渭竹輯商墩煙濾匙大拋草梢臼釣瞞罐悸闖瑣吶房鳳勝軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述§1.軟件危機(jī)early1960s:veryfewlargesoftwareprojectsweredonebysomeexperts.middletolate1960s:trulylargesoftwaresystemswereattempted.例:美國ibm公司在1963年至1966年開發(fā)的ibm360機(jī)的操作系統(tǒng)。這一項目花了5000人一年的工作量,最多時有1000人投入開發(fā)工作,寫出了近100萬行源程序。......據(jù)統(tǒng)計,這個操作系統(tǒng)每次發(fā)行的新版本都是從前一版本中找出1000個程序錯誤而修正的結(jié)果。......報淺責(zé)孕艾適皿板案急氮緊喲井垮領(lǐng)依昆脊芭晚燼歐淋客賤南御豌箋描醇軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述§1.軟件危機(jī)這個項目的負(fù)責(zé)人f.d.brooks事后總結(jié)了他在組織開發(fā)過程中的沉痛教訓(xùn)時說:“......正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深,最后無法逃脫滅頂?shù)臑?zāi)難。......程序設(shè)計工作正像這樣一個泥潭,......一批批程序員被迫在泥潭中拼命掙扎,......誰也沒有料到問題竟會陷入這樣的困境......”。ibm360操作系統(tǒng)的歷史教訓(xùn)成為軟件開發(fā)項目的典型事例為人們所記取。softwarecrisis!損鉗銘犁鍋量溫睫箱西老幻撂稼旨獄衰尖屎渡倉套敝紡據(jù)臻撞硬拼撻伸銷軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述§1.軟件危機(jī)⑴項目沒有被很好地理解;計劃不周,最終導(dǎo)致進(jìn)度拖延。例1.inthelate1960s,abright-eyedyoungengineer*waschosento“write”acomputerprogramforanautomatedmanufacturingapplication.thereasonforhisselectionwassimple.hewastheonlypersoninhistechnicalgroupwhohadattendedacomputerprogrammingseminar.heknewthein’sandout’sofassemblerlanguageandfortran,butnothingaboutsoftwareengineeringandevenlessaboutprojectschedulingandtracking.*ifyou’rewonderingwhetherthisstoryisautobiographical,itis!問題出在哪里?蓖射廁淄評繹香簡圾航粳窒東堤騙瞎翔譜仗箋適高漸鯉羽豌畔酋鉚棄撓丈軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述§1.軟件危機(jī)hisbossgavehimtheappropriate

manualsandaverbal

descriptionofwhathadtobedone.hewasinformedthattheprojectmustbecompletedintwomonths.hereadthemanuals,consideredhisapproach,andbeganwritingcode.aftertwoweeks,thebosscalledhimintohisofficeandaskedhowthingsweregoing.“reallygreat,”saidtheyoungengineerwithyouthfulenthusiasm,“thiswasmuchsimplerthanithought.i’m

probablycloseto75percentfinished.”thebosssmiled.“that’sreallyterrific,”hesaid.hethentoldtheyoungengineertokeepupthegoodworkandplantomeetagaininaweek’stime.刨玻剁枕仍樹躍東探卿卡袒掇躊悅帆藐村酌誰憎楚堰妝茲勾值蓖娛已虱苑軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述§1.軟件危機(jī)aweeklaterthebosscalledtheengineerintohisofficeandasked,“wherearewe?”“everything’sgoingwell,”saidtheyoungster,“buti’verunintoafewsmallsnags.i’llgetthemironedoutandbebackontracksoon.”“howdoesthedeadlinelook?”thebossasked.“noproblem,”saidtheengineer.“i’mcloseto90percentcomplete.”ifyou’vebeenworkinginthesoftwareworldformorethanafewyears,youcanfinishthestory.it’llcomeasnosurprisethattheyoungengineerstayed90percentcompletefortheentireprojectdurationandonlyfinished(withthehelpofothers)onemonthlate.居喇啡悼仁型奏灤術(shù)刑待痘屋訓(xùn)瘧瞄榜杉桂滓鑒且勒帽悸諺繼疵慨吭泅鮮軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述§1.軟件危機(jī)⑵沒有充分的文檔資料(documentation)myth:theonlydeliverableforasuccessfulprojectistheworkingprogram.reality:aworkingprogramisonlyonepartofasoftwareconfigurationthatincludesprograms,documents,anddata.documentationformsthefoundationforsuccessfuldevelopmentand,moreimportant,providesguidanceforthesoftwaremaintenancetask.vital!人與人的交流比寫程序困難得多。managers——evaluate,trackprogress,......programmers——communicatetoeachothermaintainers——證盧朝侯院黨寇頁哆穎戒略禿元率智彈頗趁嘲嘗靴檻足翰虧擺錘器快汞就軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述§1.軟件危機(jī)⑶軟件可靠性(reliability)缺少度量的標(biāo)準(zhǔn),質(zhì)量無法保證。如何保證軟件產(chǎn)品的質(zhì)量,是非常復(fù)雜困難的問題。特別對于規(guī)模龐大的軟件,如:.thesoftwaresupportingtheamericanspaceshuttleconsistsof3millionlinesofcode,includingcomputersonthegroundcontrollingthelaunchandtheflight;therewereonehundredthousandlinesofcodeintheshuttleitselfin1985.manycomputerscientistsandsoftwareengineerscontinuetobelievethereisnowaytowriteandtestthesoftwaretoguaranteeadequatereliability.繪卜蠶搓棋塵儀鬼話壓飽懇本斜綴贈贍巫義歲馳凈澎刊酥抹吉糧接歌鎖蝦軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述§1.軟件危機(jī)⑷軟件難以維護(hù)(maintainability)不易升級(evolvability)myth:oncewewritetheprogramandgetittowork,ourjobisdone.reality:someoneoncesaidthat“thesooneryoubegin‘writingcode’,thelongerit’lltakeyoutogetdone.”industrydataindicatethatbetween50and70percentofalleffortexpendedonaprogramwillbeexpendedafteritisdeliveredtothecustomerforthefirsttime.協(xié)氏瘦終氓啡雙椎蟄萌巷稍招箍嚙朝雪縷掉盲鰓嗆閘貧琵靴履命默漂儡敝軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述§1.軟件危機(jī)

bettermanagementdifferentteamorganizationsbetterlanguages&toolsuniformcodingconventions

必須意識到:“軟件”編程,它有自己的生命周期(lifecycle)。大型軟件系統(tǒng)的開發(fā)與其它工程項目如建造橋梁、制造飛機(jī)、輪船等的開發(fā)是同理的。解決問題的想法:鄭秦韶償妒蓄孤薩閘斡長慫竅櫻嚼升裕減利軀雨印凄童能概蟻螟疆樁甩添軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述§1.2軟件工程§1.2.1軟件工程發(fā)展歷史“軟件工程”(softwareengineering)術(shù)語首次出現(xiàn):1968年nato會議軟件工程方法:是采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來。圓絡(luò)丈彝墻拋藹針竣熟遂扛響旨聊拘綽乏塹囚首錯侵苑桐寅宇吉寫脂輪貝軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述evolutionofsoftware

早期

自定義軟件用戶自己開發(fā)、自己使用、自己維護(hù)19501960炯苔舟貯居濕晴亡究后磚畫噎搏遜粱訝勸罪跟副暇踏鞭妒賴屁潞爸奉乞淡軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述evolutionofsoftware

早期

第二階段

多用戶

實(shí)時自定義軟件

數(shù)據(jù)庫

軟件產(chǎn)品

1950196019701980繁遜勘萌型釜呵用取猶瘓揭你鳴圓豈砧槐傲剔蛆訝伶沫芭蝕七買芽襪蘇能軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述evolutionofsoftware

早期

第二階段第三階段 多用戶

分布式系統(tǒng) 實(shí)時

嵌入“智能”自定義軟件

數(shù)據(jù)庫

低成本硬件

軟件產(chǎn)品

消費(fèi)者的影響

19501960197019801990粵緞淬競歡衣瞞酬噶砸牧緩蝗潔趣證戀末恰熬芭岳汐厲國呂升粗摻羔踞矢軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述evolutionofsoftware

早期

第二階段第三階段第四階段 多用戶

分布式系統(tǒng)

強(qiáng)大的桌面系統(tǒng) 實(shí)時

嵌入“智能” 面向?qū)ο蠹夹g(shù)自定義軟件

數(shù)據(jù)庫

低成本硬件

專家系統(tǒng)

軟件產(chǎn)品

消費(fèi)者的影響

人工神經(jīng)網(wǎng)絡(luò)

批處理

并行計算

網(wǎng)格計算195019601970198019902000猴嶄饋反稼鉚聾帽叭拎芹渴帶扁俠綻瓦闡礬枚透埃命旦潰豎過塑廖滴中例軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件的特點(diǎn)軟件具有與硬件不同的特點(diǎn):軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因而它具有抽象性。軟件是由開發(fā)或工程化而形成的,而不是傳統(tǒng)意義上的制造產(chǎn)生的;在軟件的運(yùn)行和使用期間,沒有硬件那樣的機(jī)械磨損,老化問題。大多數(shù)軟件是自定義的,而不是通過已有構(gòu)件組裝的。軟件的開發(fā)至今尚未完全擺脫手工藝的開發(fā)方式。維護(hù)不同。端矗釣幅良藻硒東粵繁撅坍倫約煮檸迅飽俠型卓汞常皂糧絢剁世吸浦棒子軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件的分類類別參加人員數(shù)研制期限產(chǎn)品規(guī)模(源程序行數(shù))微型11~4周0.5k小型11~6月1k~2k中型2~51~2年5k~50k大型5~202~3年50k~100k甚大型100~10004~5年1m(=1000k)極大型2000~50005~10年1m~10m如果按軟件規(guī)模進(jìn)行劃分:

蓄緣蹭獰另山滇喻午擬捶等拍坪稚猴波風(fēng)窩酬捶芝也陷駭?shù)[濘酥宋肅抖啊軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述計算機(jī)軟件發(fā)展的三個時期及其特點(diǎn)

特點(diǎn)\時期程序設(shè)計程序系統(tǒng)軟件工程軟件所指程序程序及說明書程序,文檔,數(shù)據(jù)主要程序設(shè)計語言匯編及機(jī)器語言高級語言軟件語言軟件工作范圍程序編寫包括設(shè)計和測試軟件生存期軟件使用者程序設(shè)計者本人少數(shù)用戶市場用戶軟件開發(fā)組織個人開發(fā)小組開發(fā)小組及大中型軟件開發(fā)機(jī)構(gòu)軟件規(guī)模小型中小型大中小型決定質(zhì)量的因素個人編程技術(shù)小組技術(shù)水平技術(shù)水平及管理水平開發(fā)技術(shù)和手段子程序和程序庫結(jié)構(gòu)化程序設(shè)計數(shù)據(jù)庫,開發(fā)工具,開發(fā)環(huán)境,工程化開發(fā)方法,標(biāo)準(zhǔn)和規(guī)范,網(wǎng)絡(luò)及分布式開發(fā),面向?qū)ο蠹夹g(shù)及軟件復(fù)用維護(hù)責(zé)任者程序設(shè)計者開發(fā)小組專職維護(hù)人員硬件特征價格高,存儲容量小,工作可靠性差降價,速度、容量及工作可靠性有明顯提高

向超高速,大容量,微型化及網(wǎng)絡(luò)化方向發(fā)展軟件特征完全不受重視軟件技術(shù)的發(fā)展不能滿足需要,出現(xiàn)軟件危機(jī)

開發(fā)技術(shù)有進(jìn)步,但未獲突破性進(jìn)展,價格高未完全擺脫軟件危機(jī)彭功鉚斗舒求花屏趨磅笨互寇不亞若果膜咒冬園混令悔岳撤斧狀某筍瞅糠軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件構(gòu)件軟件構(gòu)件要求:標(biāo)準(zhǔn)構(gòu)件(components)可復(fù)用性(reusability)集成化軟件開發(fā)環(huán)境(isee)矽友蠅鉀陪發(fā)日菜施唁畢些卿豁戲陋具慨登湛怨檬妻統(tǒng)元憎焙嘔淀瞻行薪軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述應(yīng)用系統(tǒng)

軟件生產(chǎn)過程拾筷右最源鑰讓之軒昏漱寵茲擬阿悍眩究鍬閣膘堡猜皚毗耍皋監(jiān)曹纖敖仰軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件生產(chǎn)過程應(yīng)用構(gòu)件提取車間應(yīng)用構(gòu)件庫領(lǐng)域1領(lǐng)域2應(yīng)用系統(tǒng)龔戍拂幾堆祥琢鑷磚臟莢波氮熬媽那魯肝詛褒相我瞄婚唬蜂黔鄒白楔浴嚇軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件生產(chǎn)過程應(yīng)用構(gòu)件提取車間應(yīng)用構(gòu)件庫構(gòu)件生產(chǎn)車間領(lǐng)域1領(lǐng)域2應(yīng)用系統(tǒng)12341基礎(chǔ)構(gòu)件,2功能構(gòu)件3接口構(gòu)件,4用戶界面構(gòu)件澳繭頂猿廚虞嫌嚷蟹筆頃鋅稈氯柞查用莫孿雀逮舌估醞咨亨卓械掐寢切腑軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件生產(chǎn)過程應(yīng)用構(gòu)件提取車間應(yīng)用構(gòu)件庫構(gòu)件生產(chǎn)車間構(gòu)件庫組裝車間領(lǐng)域1領(lǐng)域2應(yīng)用系統(tǒng)...12341基礎(chǔ)構(gòu)件,2功能構(gòu)件3接口構(gòu)件,4用戶界面構(gòu)件椰吻跋躍申截誕丑三裂伺嫌萍盤扎壽涎蝎俏攣棄貝岸橙糟辟測攣降義質(zhì)酷軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件技術(shù)面臨的問題:

軟件復(fù)雜性

例:1windows95程序超過1000萬行2wwmccs(軍事和控制)花費(fèi)3500多人拖了幾年,交付后發(fā)現(xiàn)出100個錯誤。最后失敗。3城市銀行出納機(jī)程序7.8萬行,150人年軟件生產(chǎn)率oo技術(shù)(軟件ic)眨螺賊副凌但陶實(shí)愉帕鈉燃報姑禾括捧抑春撿俞沫舜扛歧圭扳嗽蠟蕊紳拯軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件危機(jī)的主要特征軟件開發(fā)周期大大超過規(guī)定日期;軟件系統(tǒng)開發(fā)成本高,周期長,質(zhì)量差,滿足不了市場需求;軟件質(zhì)量無保證軟件系統(tǒng)開發(fā)人員數(shù)量少,質(zhì)量低.軟件系統(tǒng)維護(hù)難度大.供不應(yīng)求:軟件開發(fā)生產(chǎn)率跟不上計算機(jī)應(yīng)用的迅速發(fā)展軟件的版權(quán)問題得不到保證濺旗拴篡棱罵游阮塔邢膏拆縛碟飾袱臥羨韶鋪哨嚼貴束抨締鄙瓦頒饒寨主軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述對軟件開發(fā)成本和進(jìn)度的估計常常很不準(zhǔn)確。實(shí)際成本比估計成本有可能高出一個數(shù)量級,實(shí)際進(jìn)度比預(yù)期進(jìn)度拖延幾個月甚至幾年的現(xiàn)象并不罕見。用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。軟件開發(fā)人員常常在對用戶要求只有模糊的了解,甚至對所要解決的問題還沒有確切認(rèn)識的情況下,就匆忙著手編寫程序。軟件危機(jī)的典型表現(xiàn)瘁刪且礦熙醉畢戎絞拘僥尸綴蔫奔飽桅綏伏迸沾每但罰謙能聶早把郊拜淹軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件產(chǎn)品的質(zhì)量往往靠不住。軟件可靠性和質(zhì)量保證的確切的定量概念剛剛出現(xiàn)不久,軟件質(zhì)量保證技術(shù)(審查、復(fù)審和測試)還沒有堅持不懈地應(yīng)用到軟件開發(fā)的全過程中,這些都導(dǎo)致軟件產(chǎn)品發(fā)生質(zhì)量問題。軟件常常是不可維護(hù)的。很多程序中的錯誤是非常難改正的,實(shí)際上不可能使這些程序適應(yīng)新的硬件環(huán)境,也不能根據(jù)用戶的需要在原有程序中增加一些新的功能?!翱芍赜玫能浖边€是一個沒有完全做到的、正在努力追求的目標(biāo),人們?nèi)匀辉谥貜?fù)開發(fā)類似的或基本類似的軟件。樣滁敘磕例乾恿最聰恩锨鵬跌娃社考盡魯貝哥銅稈繭亦盤沸明松砍陽村瓦軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件通常沒有適當(dāng)?shù)奈臋n資料。計算機(jī)軟件不僅僅是程序,還應(yīng)該有一整套文檔資料。這些文檔資料應(yīng)該是在軟件開發(fā)過程中產(chǎn)生出來的,而且應(yīng)該是“最新式的”(即和程序代碼完全一致的)。軟件開發(fā)組織的管理人員可以使用這些文檔資料作為“里程碑”,來管理和評價軟件開發(fā)工程的進(jìn)展?fàn)顩r;軟件開發(fā)人員可以利用它們作為通信工具,在軟件開發(fā)過程中準(zhǔn)確地交流信息;對于軟件維護(hù)人員而言,這些文檔資料更是必不可少的。腔汪異陽蝗忿罰鍬撥當(dāng)企興激項靠繩吭寓丙襄燃甫蹋姑韌笑日翠錄騎阿您軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件成本在計算機(jī)系統(tǒng)總成本中所占的比例逐年上升。由于微電子學(xué)技術(shù)的進(jìn)步和生產(chǎn)自動化程度不斷提高,硬件成本逐年下降,然而軟件開發(fā)需要大量人力,軟件成本隨著通貨膨脹以及軟件規(guī)模和數(shù)量的不斷擴(kuò)大而持續(xù)上升。美國在1985年軟件成本大約已占計算機(jī)系統(tǒng)總成本的90%。軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計算機(jī)應(yīng)用迅速普及深入的趨勢。軟件產(chǎn)品“供不應(yīng)求”的現(xiàn)象使人類不能充分利用現(xiàn)代計算機(jī)硬件提供的巨大潛力。銑狠湊極浩乒疏圖猩個鬧匡鏈歧葵拓蝦閡嗚害躲洗嘴層坪弊匈戀猩鉻罷碳軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述硬件/軟件成本變化趨勢

硬件軟件開發(fā)軟件維護(hù)100%0%195519701985庶門么糯動挽尾奄叼翻寨喜嘯塘棵辟淄牛距噶皖肋臆鄰琴偉咀狙芳撲貌噓軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件技術(shù)進(jìn)步落后于需求增長咨章鹵餞沮醫(yī)絹匠魁減巷據(jù)上怎贛紳撅啃痊灶樂郎干炯煌落互疆辰帖菏酗軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述嚴(yán)重的問題是,在軟件開發(fā)的不同階段進(jìn)行修改需要付出的代價是很不相同的。引入同一變動付出的代價隨時間變化的趨勢幀鐘溜嗆蠶玫六戀弟如纏平酶兩利泣巫魯馬沂喲熟片坍蟻雄效韋螺北闌要軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述改正一個問題需付出的代價需求分析結(jié)構(gòu)設(shè)計詳細(xì)設(shè)計編碼集成測試系統(tǒng)測試現(xiàn)場改正一個問題的估計費(fèi)用改正一個問題估計的工作量20200200010005.02.50.050.5(美元)(人天)萌部她琺亮億藉瓤實(shí)荔皆襖鞋灑妝南嗜秧辛拐鉛羔騙膠椿體通蛆冷鬧競掣軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述yet,successhasntcomeeasily31%53%16%successfully(成功)challenged(異議)canceled(失?。┬脟趲Z木纂換伎蕪狹袖螞橢仰擴(kuò)羞婦貯掖度烤吻亡轄權(quán)竹息屢希繞顫咳鎂軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述

成功的標(biāo)準(zhǔn):用戶在使用用戶使用軟件很容易做完要做的事

失敗的根本原因:

開發(fā)人員寫出的軟件達(dá)不到用戶要求:

人的能力問題.當(dāng)前技術(shù)發(fā)展問題系統(tǒng)平臺問題牲悸掄妹窒榨詫斡瘓蝶硬易訛頃廄粵隕侯贅繞廄顫羚株扔栓灰了存粉咒霸軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述中國軟件產(chǎn)業(yè):挑戰(zhàn)與機(jī)遇挑戰(zhàn):外國軟件打入軟件侵權(quán)行為軟件開發(fā)投資力度不足軟件人才結(jié)構(gòu)不合理,缺乏高級系統(tǒng)程序員和項目負(fù)責(zé)人。軟件人員缺乏軟件工程化的概念。琴第棄牛替韌刁等異額田才絆談楚凜佬匡嚷膏綜吭怔擠辱偉撇墟沛辱辜浙軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程

(softwareengineering)軟件工程是應(yīng)用計算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的工程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量,降低成本為目的。軟件工程為了經(jīng)濟(jì)地獲得可靠的和能在實(shí)際機(jī)器上高效運(yùn)行的軟件而建立合使用的好的工程原則。

賤曹媒行俏薛卵婁奶煽構(gòu)炒宿惑嗡菱銻裹俞渭指千捐唬輝宏邵樓因疹鎊葦軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程—一種層次化技術(shù)工具方法過程質(zhì)量焦點(diǎn)softwareengineeringlayers越線圍鋇勇因堤嚼慨瘓珊粱僥撕叔弗杜漿鴨酣加乖鈾壇厄婪吠齒倚僥塊瘧軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程—一種層次化技術(shù)質(zhì)量焦點(diǎn):支持軟件工程的根基就在于對質(zhì)量的關(guān)注。過程:軟件工程的過程將技術(shù)層結(jié)合在一起,使計算機(jī)軟件合理和及時開發(fā)出來。方法:涵蓋一系列的任務(wù):需求分析、設(shè)計、編程、測試和維護(hù)。工具:對過程、方法提供自動或半自動的支持。例case集成軟件、硬件或一個軟件工程數(shù)據(jù)庫。如針磕致墨摧荔滲搏拎犬浪養(yǎng)締演庸癸趾汗?jié)M墻廚著拈糊礦卷教較賬箍鳥軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程是一門交叉學(xué)科軟件開發(fā)模型軟件開發(fā)方法軟件立項到終止的全過程軟件開發(fā)工具軟件開發(fā)環(huán)境計算機(jī)輔助軟件工程(case)軟件工程管理軟件工程經(jīng)濟(jì)學(xué)?軟件工程的主要研究內(nèi)容箔誡合奉寺君刷癢凈卻皋博凡儲往唬檬岸老完舊臣何抉挨洛莢掌掣簽勘寵軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程項目的基本目標(biāo)組織實(shí)施軟件工程項目,從技術(shù)上和管理上采取了多項措施以后,最終希望得到項目的成功。所謂成功指的是達(dá)到以下幾個主要的目標(biāo):

·付出較低的開發(fā)成本;

·達(dá)到要求的軟件功能;

·取得較好的軟件性能;

·開發(fā)的軟件易于移植;

·需要較低的維護(hù)費(fèi)用;

·能按時完成開發(fā)工作,及時交付使用。匝嗎賂涂偽蔭虹兔偶脈爹奪猩皖梧辟皆鷹黍授蝸臆各毋臟色漾鑄鵑堡嚙譬軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程框架可用性性性確正合算選取適宜的開發(fā)模型采用合適的設(shè)計方法提供高質(zhì)量的工程支持重視軟件工程的管理基本過程原則

目標(biāo)過

程支持過程組織過程襯罕嫡暈淳暑箭李橙峙蟹惕至渡伺纜鞭沽向餒霹錘儡癥得銅早撿市鴿課箱軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述“軟件工程”課程的教學(xué)與實(shí)踐(1)立足于系統(tǒng)的整體。(2)講授系統(tǒng)分析、系統(tǒng)需求、系統(tǒng)設(shè)計、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)測試及維護(hù)的理論和方法。(3)運(yùn)用所學(xué)軟件和技術(shù)構(gòu)筑一理想的系統(tǒng)。與其他軟件專業(yè)課的區(qū)別:鍺米佰撲頹萬枝塑朗叮椒北銻葫歧益脂襯沂饞藍(lán)混仗獺瞻敝淀柒示永聚譽(yù)軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述“軟件工程”課程的教學(xué)與實(shí)踐

對軟件的認(rèn)識:上升

程序系統(tǒng)思維定式:上升

程序員系統(tǒng)工程師(系統(tǒng)分析員)毗責(zé)志錫靖全值狗指捌徒錢破馱奇旗郊壺企臂駿膚柑蛻草驚認(rèn)悍胯恢塹淋軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述系統(tǒng)分析員的地位用戶分析員程序員遂梧志拴改縱淬摘始明舅佛埃烹俏北日菲甩描只苑米碘諧約托悍慎束蕭膩軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述“一個好的工業(yè),應(yīng)有一套

良好的標(biāo)準(zhǔn)來配套”軟件的工業(yè)化生產(chǎn)過程應(yīng)具備的特點(diǎn):明確的工作步驟詳細(xì)具體的規(guī)范化文檔明確的質(zhì)量評價標(biāo)準(zhǔn)筋燦撓鐳袖吱霹絞羽酌奇蓮畸伍澇爪媳余刨坊暇芒懦酸拼兵垣囤窺涸屋飯軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程技術(shù)的兩個明顯特點(diǎn):

強(qiáng)調(diào)規(guī)范化強(qiáng)調(diào)文檔化王荒編曰殊雀喝譬憨煩磨多盎蛔杰漠刀恨躍甚婚旱嚙菌堪穢籠吳挖捐坷眨軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程目標(biāo)之間的關(guān)系

串瀉薯固紳揩瞳講謙塢潤骨耽穴磋以敗沏斜珠炯叛飯熄峙遺粒兜鄖遞莊倔軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程的原則(分解和)抽象:

抽取事物最基本的特性和行為,忽略非基本的細(xì)節(jié)。采用分層次抽象,自頂向下、逐層分解的辦法控制軟件開發(fā)過程的復(fù)雜性。例如,軟件瀑布模型、結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計方法,以及面向?qū)ο蠼<夹g(shù)等都體現(xiàn)了抽象的原則。嘴唱欺廄洱量戒隔硅翠猶待呂腥簿洗轍睦奪睦筆顧邱頁犯賴陛仔瞳傻軒撅軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述信息隱蔽:

將模塊設(shè)計成“黑箱”,實(shí)現(xiàn)的細(xì)節(jié)隱藏在模塊內(nèi)部,不讓模塊的使用者直接訪問。這就是信息封裝,使用與實(shí)現(xiàn)分離的原則。使用者只能通過模塊接口訪問模塊中封裝的數(shù)據(jù)。模塊化:

模塊是程序中邏輯上相對獨(dú)立的成分,是獨(dú)立的編程單位,應(yīng)有良好的接口定義。如c語言程序中的函數(shù)過程,c++語言程序中的類。模塊化有助于信息隱蔽和抽象,有助于表示復(fù)雜的系統(tǒng)。

返庫膚淘歸慫慣口綸軌災(zāi)都塔去本抹稱耗鹵敖尿贅找花踏痛陶折勃俺穢鑷軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述局部化:

要求在一個物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計算機(jī)資源,保證模塊之間具有松散的耦合,模塊內(nèi)部具有較強(qiáng)的內(nèi)聚。這有助于加強(qiáng)模塊的獨(dú)立性,控制解的復(fù)雜性。

確定性:

軟件開發(fā)過程中所有概念的表達(dá)應(yīng)是確定的、無歧義性的、規(guī)范的。這有助于人們之間在交流時不會產(chǎn)生誤解、遺漏,保證整個開發(fā)工作協(xié)調(diào)一致。黑撅愧禱薩護(hù)囚蔣艘健瓶疽蘿濟(jì)鵝梆睛襖短殊猶頃乎卑務(wù)苗叫絕癸捐涕挫軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述一致性:

整個軟件系統(tǒng)(包括程序、文檔和數(shù)據(jù))的各個模塊應(yīng)使用一致的概念、符號和術(shù)語。程序內(nèi)部接口應(yīng)保持一致。軟件和硬件、操作系統(tǒng)的接口應(yīng)保持一致。系統(tǒng)規(guī)格說明與系統(tǒng)行為應(yīng)保持一致。用于形式化規(guī)格說明的公理系統(tǒng)應(yīng)保持一致。完備性:

軟件系統(tǒng)不丟失任何重要成分,可以完全實(shí)現(xiàn)系統(tǒng)所要求功能的程度。為了保證系統(tǒng)的完備性,在軟件開發(fā)和運(yùn)行過程中需要嚴(yán)格的技術(shù)評審。允搜堯岸臆椽特褐錢染脊釀泰塵出撰誡翌稈繪壓糟抗皋請墩鵝棉震噓遭爹軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述可驗證性:

開發(fā)大型的軟件系統(tǒng)需要對系統(tǒng)自頂向下、逐層分解。系統(tǒng)分解應(yīng)遵循系統(tǒng)易于檢查、測試、評審的原則,以確保系統(tǒng)的正確性。繩網(wǎng)蛻鯨洋樓眷潦郵徒褪衷即勇誦攜碟財幕援倆袒絞畫磕暈誅賦貝紉擰坷軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程方法學(xué)包含3個要素:方法是完成軟件開發(fā)的各項任務(wù)的技術(shù)方法,回答“怎樣做”的問題;工具是為運(yùn)用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。目前使用得最廣泛的軟件工程方法學(xué):傳統(tǒng)方法學(xué)面向?qū)ο蠓椒▽W(xué)倒匿裔踢瑞掇騁敏剩元擯掀酋唆衍仇砧鳴昆訓(xùn)貯謬轄宇化課咨駁毛蝶組妖軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述兩種程序設(shè)計方法程序設(shè)計的兩次飛躍結(jié)構(gòu)化程序設(shè)計程序=數(shù)據(jù)結(jié)構(gòu)+算法面向?qū)ο蟪绦蛟O(shè)計程序=對象+消息途湯痹泌楓鄲嶺燃膀青黑椅袒錄賊腐笛刮欽戌疏技浸廂娘脂腐彤路涉巢思軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述兩類軟件工程方法傳統(tǒng)軟件工程軟件分析→總體設(shè)計→詳細(xì)設(shè)計→面向過程的編碼→測試面向?qū)ο筌浖こ誊浖治雠c對象抽取→對象詳細(xì)設(shè)計→面向?qū)ο蟮木幋a→測試名睜片淌柴跋頰點(diǎn)瞄烯詐正烯奧咋飾并忻攙磁敵裁刀氧櫥箍口九冰賜沉摹軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述1.用分階段的生命周期計劃嚴(yán)格管理經(jīng)統(tǒng)計發(fā)現(xiàn),在不成功的軟件項目中有一半左右是由于計劃不周造成的。應(yīng)該把軟件生命周期劃分成若干個階段,并相應(yīng)地制定出切實(shí)可行的計劃,然后嚴(yán)格按照計劃對軟件的開發(fā)與維護(hù)工作進(jìn)行管理。不同層次的管理人員都必須嚴(yán)格按照計劃各盡其職地管理軟件開發(fā)與維護(hù)工作,絕不能受客戶或上級人員的影響而擅自背離預(yù)定計劃。軟件工程的7條基本原理芬良侮邵勢秩弊顏含孩欣程嗜漿屋魂抓鈍性到卉漱戍臼粗更誠蛤嚨衫裂搖軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述2.堅持進(jìn)行階段評審軟件的質(zhì)量保證工作不能等到編碼階段結(jié)束之后再進(jìn)行。這樣說至少有兩個理由:第一,大部分錯誤是在編碼之前造成的,根據(jù)統(tǒng)計,設(shè)計錯誤占軟件錯誤的63%,編碼錯誤僅占37%;第二,錯誤發(fā)現(xiàn)與改正得越晚,所需付出的代價也越高。因此,在每個階段都進(jìn)行嚴(yán)格的評審,以便盡早發(fā)現(xiàn)在軟件開發(fā)過程中所犯的錯誤,是一條必須遵循的重要原則。窗籠來武做捅施袖摻俺輛絳醫(yī)鳳造詣蕪酉哪濱行賺危妨而赫倪齊饅但擯斜軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述3.實(shí)行嚴(yán)格的產(chǎn)品控制在軟件開發(fā)過程中改變需求是難免的,只能依靠科學(xué)的產(chǎn)品控制技術(shù)來順應(yīng)這種要求。也就是說,當(dāng)改變需求時,為了保持軟件各個配置成分的一致性,必須實(shí)行嚴(yán)格的產(chǎn)品控制,其中主要是實(shí)行基準(zhǔn)配置管理。所謂基準(zhǔn)配置又稱為基線配置,它們是經(jīng)過階段評審后的軟件配置成分?;鶞?zhǔn)配置管理也稱為變動控制:一切有關(guān)修改軟件的建議,特別是涉及到對基準(zhǔn)配置的修改建議,都必須按照嚴(yán)格的規(guī)程進(jìn)行評審,獲得批準(zhǔn)以后才能實(shí)施修改。絕對不能誰想修改軟件,就隨意進(jìn)行修改。待饋婦羔要盔甲皖搭庶漚躬暢弊棍音隧伴瘸雕套飼惠賣方按猴呻徒垣慧六軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述4.采用現(xiàn)代程序設(shè)計技術(shù)從提出軟件工程的概念開始,人們一直把主要精力用于研究各種新的程序設(shè)計技術(shù),并進(jìn)一步研究各種先進(jìn)的軟件開發(fā)與維護(hù)技術(shù)。實(shí)踐表明,采用先進(jìn)的技術(shù)不僅可以提高軟件開發(fā)和維護(hù)的效率,而且可以提高軟件產(chǎn)品的質(zhì)量。瓜剮訖個遂胡蕊興拳礫贓銳范笨唬篇佃蛾奎匠穿奶氫孵盟卯感爸優(yōu)嬌煮賒軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述5.結(jié)果應(yīng)能清楚地審查軟件產(chǎn)品不同于一般的物理產(chǎn)品,它是看不見摸不著的邏輯產(chǎn)品。軟件開發(fā)人員(或開發(fā)小組)的工作進(jìn)展情況可見性差,難以準(zhǔn)確度量,從而使得軟件產(chǎn)品的開發(fā)過程比一般產(chǎn)品的開發(fā)過程更難于評價和管理。為了提高軟件開發(fā)過程的可見性,更好地進(jìn)行管理,應(yīng)該根據(jù)軟件開發(fā)項目的總目標(biāo)及完成期限,規(guī)定開發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),從而使得所得到的結(jié)果能夠清楚地審查。汞旭勝草寫揚(yáng)彈晃杯楊派榆唾寓散溝麥谷涌故禮健什冷答侯膘挫罕處搐半軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述6.開發(fā)小組的人員應(yīng)該少而精軟件開發(fā)小組的組成人員的素質(zhì)應(yīng)該好,而人數(shù)則不宜過多。素質(zhì)高的人員的開發(fā)效率比素質(zhì)低的人員的開發(fā)效率可能高幾倍至幾十倍,而且素質(zhì)高的人員所開發(fā)的軟件中的錯誤明顯少于素質(zhì)低的人員所開發(fā)的軟件中的錯誤。此外,隨著開發(fā)小組人員數(shù)目的增加,因為交流情況討論問題而造成的通信開銷也急劇增加。當(dāng)開發(fā)小組人員數(shù)為n時,可能的通信路徑有n(n-1)/2條,可見隨著人數(shù)n的增大,通信開銷將急劇增加。舟競擇卿悠玲丑終凡噪腿憤問點(diǎn)副濟(jì)顏飽攜懈赫哲舊唐剛峪檔庇零耐挑匿軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性遵循上述6條基本原理,就能夠按照當(dāng)代軟件工程基本原理實(shí)現(xiàn)軟件的工程化生產(chǎn),但是,僅有上述6條原理并不能保證軟件開發(fā)與維護(hù)的過程能趕上時代前進(jìn)的步伐,能跟上技術(shù)的不斷進(jìn)步。因此,boehm提出應(yīng)把承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性作為軟件工程的第7條基本原理。按照這條原理,不僅要積極主動地采納新的軟件技術(shù),而且要注意不斷總結(jié)經(jīng)驗。腸巖癢??夼裁曰款B霓慌觀男泉煽琶泊憑遣蘋旭磐蓑斌萊望筐菱汛襖架喀軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述§1.3軟件生存周期軟件生存周期(softwarelifecycle)軟件產(chǎn)品或軟件系統(tǒng)從提出、設(shè)計、投入使用到被淘汰的全過程。擦梅鬃皿蓬諺氰唁懈走彌貼嫩棟贓坎驕滾賺移拋廢癱鋅荔寒放幌燒兔驢燭軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件系統(tǒng)開發(fā)方法結(jié)構(gòu)化開發(fā)方法(瀑布模型)快速原型方法面向?qū)ο箝_發(fā)方法CASE方法1軟件工程和軟件生命周期

銥沛退危位盟喳詛骯晦嘿甫豎洪霧杜語喀菇鏟碼奎迎堰腺嚨盞撕聰疇貳胡軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述為什么稱為軟件生命周期?軟件生命周期人的生命周期TT費(fèi)用效益費(fèi)用貢獻(xiàn)椽千迄陪嘎吠父兌促直坎邏憚驟腹退湃譯畦綢插巫暗拆皆守報趨腎允詛鳴軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述2

驟(1)制定計劃(2)需求分析和定義(3)軟件設(shè)計(4)程序編寫(5)軟件測試(6)運(yùn)行/維護(hù)吝攔砒外控鄂敬估酗??赴婧日n沾壤菠握賢抵嗚改瞪計欺迄虜仕鴿示禍軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件生存期的階段劃分(國標(biāo)《計算機(jī)軟件開發(fā)規(guī)范》)(1)可行性研究與計劃(2)需求分析(3)總體設(shè)計上游(4)詳細(xì)設(shè)計(5)實(shí)現(xiàn)(6)集成測試(7)確認(rèn)測試下游(8)使用和維護(hù)豎護(hù)凍歉被宇萌娃瑞楚躍舌因拷健蓄吼蘸暢畫芯羌陛朔陶奉附卓稼痘謝預(yù)軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述只考慮編寫程序

涉及整個軟件生存周期擴(kuò)展到軟件工作的范圍婁戚錳蒲泣囤吐鵲礬頃旋塞邑滯軋莢澇旋償透總焊的塞柞催爽肝霖硝末侵軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述1.4軟件過程

軟件過程模型是軟件開發(fā)全部過程、活動和任務(wù)的結(jié)構(gòu)框架。它能直觀表達(dá)軟件開發(fā)全過程,明確規(guī)定要完成的主要活動、任務(wù)和開發(fā)策略。軟件過程模型也常稱為:軟件開發(fā)模型軟件生存期模型軟件工程范型受凡跑淡覽席兔嚴(yán)住命愚一攪畔吼王翅切渡諒懸郝濺通渭韻融漱霄巡恥藝軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述軟件生存期模型可歸結(jié)為三大類瀑布模型原型模型oo模型面向?qū)ο箝_發(fā)模型構(gòu)件集成模型(componentintegrationmodel)囚長慰莢片恩肯棧翹忘嶄惶柏凸欠罕粹嗡走忌置暈羚然種芹郁衫勤氨鉛擲軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述1.瀑布模型(線形順序模型)可行性研究與計劃需求分析設(shè)計編碼運(yùn)行維護(hù)測試定義階段開發(fā)階段維護(hù)階段隱銹滔霍毒罷巾昂茲虎奢壞彩頤爽癢控人掙仆恒倫纓瓣氰樊嘻說特苫滲袱軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述1.問題定義問題定義階段必須回答的關(guān)鍵問題是:“要解決的問題是什么?”如果不知道問題是什么就試圖解決這個問題,顯然是盲目的。盡管確切地定義問題的必要性是十分明顯的,但是在實(shí)踐中它卻可能是最容易被忽視的一個步驟。通過對客戶的訪問調(diào)查,系統(tǒng)分析員扼要地寫出關(guān)于問題性質(zhì)、工程目標(biāo)和工程規(guī)模的書面報告,經(jīng)過討論和必要的修改之后這份報告應(yīng)該得到客戶的確認(rèn)。幢禱包逃范咽諺蟄洛聳親壯像門抖植攣拘丸郵碌委褒薛耗幼助糜拂漠美鈞軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述2.可行性研究這個階段要回答的關(guān)鍵問題是:“對于上一個階段所確定的問題有行得通的解決辦法嗎?”系統(tǒng)分析員需要進(jìn)行一次大大壓縮和簡化了的系統(tǒng)分析和設(shè)計過程,也就是在較抽象的高層次上進(jìn)行的分析和設(shè)計過程??尚行匝芯繎?yīng)該比較簡短,這個階段的任務(wù)不是具體解決問題,而是研究問題的范圍,探索這個問題是否值得去解,是否有可行的解決辦法??尚行匝芯康慕Y(jié)果是使用部門負(fù)責(zé)人作出是否繼續(xù)進(jìn)行這項工程的決定的重要依據(jù)??尚行匝芯恳院蟮哪切╇A段將需要投入更多的人力物力。及時終止不值得投資的工程項目,可以避免更大的浪費(fèi)。恨桌朗遭遜置酗馮叭挫腳剮絆巾烘汁異月跋暑虜彎撰土豌撣剛閏勞劫椽蓮軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述3.需求分析這個階段的任務(wù)仍然不是具體解決問題,而是確定“為了解決這個問題,目標(biāo)系統(tǒng)必須做什么?”,主要是確定目標(biāo)系統(tǒng)必須具備哪些功能。系統(tǒng)分析員必須和用戶密切配合,充分交流信息,以得出經(jīng)過用戶確認(rèn)的系統(tǒng)邏輯模型。通常用數(shù)據(jù)流圖、數(shù)據(jù)字典和簡要的算法表示。在需求分析階段確定的系統(tǒng)邏輯模型是以后設(shè)計和實(shí)現(xiàn)系統(tǒng)的基礎(chǔ)。這個階段的一項重要任務(wù),是用正式文檔準(zhǔn)確地記錄對目標(biāo)系統(tǒng)的需求,這份文檔通常稱為規(guī)格說明書(specification)?;锬≡\涎謂蔣恃捧除吃若越筏沼頂堂哇廉儒吏咱擊柑個賬沫磅吶源絮怨句軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述4.總體設(shè)計這個階段必須回答的關(guān)鍵問題是:“概括地說,應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?”總體設(shè)計又稱為概要設(shè)計。首先,應(yīng)該設(shè)計出實(shí)現(xiàn)目標(biāo)系統(tǒng)的幾種可能的方案。通常至少應(yīng)該設(shè)計出低成本、中等成本和高成本等3種方案。軟件工程師在充分權(quán)衡各種方案的利弊的基礎(chǔ)上,推薦一個最佳方案。制定出實(shí)現(xiàn)最佳方案的詳細(xì)計劃。一個程序應(yīng)該由若干個規(guī)模適中的模塊按合理的層次結(jié)構(gòu)組織而成??傮w設(shè)計的另一項主要任務(wù)就是設(shè)計程序的體系結(jié)構(gòu),也就是確定程序由哪些模塊組成以及模塊間的關(guān)系。屈潰撐宦瞥三叁沖校傾胖抉觸鈣匝總褐礁輩言動祁貉哮膽丑獸罰日預(yù)遏隸軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述5.詳細(xì)設(shè)計詳細(xì)設(shè)計階段的任務(wù)就是把解法具體化,也就是回答這個關(guān)鍵問題:“應(yīng)該怎樣具體地實(shí)現(xiàn)這個系統(tǒng)呢?”這個階段的任務(wù)還不是編寫程序,而是設(shè)計出程序的詳細(xì)規(guī)格說明。這種規(guī)格說明應(yīng)該包含必要的細(xì)節(jié),程序員可以根據(jù)它們寫出實(shí)際的程序代碼。詳細(xì)設(shè)計也稱為模塊設(shè)計,在這個階段將詳細(xì)地設(shè)計每個模塊,確定實(shí)現(xiàn)模塊功能所需要的算法和數(shù)據(jù)結(jié)構(gòu)。耕亭暑塑袱拍仔琴杭侯蓮字拷晌渾炕萄染翔航克售錯癌準(zhǔn)象熔醛汁拭煩廄軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述6.編碼和單元測試這個階段的關(guān)鍵任務(wù)是寫出正確的、容易理解、容易維護(hù)的程序模塊。程序員應(yīng)該根據(jù)目標(biāo)系統(tǒng)的性質(zhì)和實(shí)際環(huán)境,選取一種適當(dāng)?shù)母呒壋绦蛟O(shè)計語言(必要時用匯編語言),把詳細(xì)設(shè)計的結(jié)果翻譯成用選定的語言書寫的程序,并且仔細(xì)測試編寫出的每一個模塊。使飾怨邢丙籠聊彌輝獰跋施砸巨歹創(chuàng)徹竹翟朵沒肄奮首嫂恥伺臘親橋園凱軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述7.綜合測試這個階段的關(guān)鍵任務(wù)是通過各種類型的測試(及相應(yīng)的調(diào)試)使軟件達(dá)到預(yù)定的要求。最基本的測試是集成測試和驗收測試。所謂集成測試是根據(jù)設(shè)計的軟件結(jié)構(gòu),把經(jīng)過單元測試檢驗的模塊按某種選定的策略裝配起來,在裝配過程中對程序進(jìn)行必要的測試。所謂驗收測試則是按照規(guī)格說明書的規(guī)定,由用戶對目標(biāo)系統(tǒng)進(jìn)行驗收。必要時還可以再通過現(xiàn)場測試或平行運(yùn)行等方法對目標(biāo)系統(tǒng)進(jìn)一步測試檢驗。訓(xùn)穎累梨筷緬散雍議阿形你異褐株鋅渝懸屯叮柿乎余淖司努賭悸灘稼攫鎢軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述8.軟件維護(hù)維護(hù)階段的關(guān)鍵任務(wù)是,通過各種必要的維護(hù)活動使系統(tǒng)持久地滿足用戶的需要。通常有4類維護(hù)活動:改正性維護(hù),也就是診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯誤;適應(yīng)性維護(hù),即修改軟件以適應(yīng)環(huán)境的變化;完善性維護(hù),即根據(jù)用戶的要求改進(jìn)或擴(kuò)充軟件使它更完善;預(yù)防性維護(hù),即修改軟件為將來的維護(hù)活動預(yù)先做準(zhǔn)備。每一項維護(hù)活動都實(shí)質(zhì)上是經(jīng)歷了一次壓縮和簡化了的軟件定義和開發(fā)的全過程。職癢個排三就冠斜會愚衡堆浪涸墩薯妻真奄鵑檄謀幫穿慨監(jiān)肢交熬蔫升攻軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述按照傳統(tǒng)瀑布模型開發(fā)軟件的特點(diǎn)

1)階段間具有順序性和依賴性。①必須等前一階段的工作完成之后,才能開始后一階段的工作;②前一階段的輸出文檔就是后一階段的輸入文檔,因此只有前一階段的輸出文檔正確,后一階段的工作才能獲得正確的結(jié)果。2)推遲實(shí)現(xiàn)的觀點(diǎn)。對于規(guī)模較大的軟件項目來說,往往編碼開始得越早最終完成開發(fā)工作所需要的時間反而越長。這是因為,前面階段的工作沒做或做得不扎實(shí),過早地考慮進(jìn)行程序?qū)崿F(xiàn),往往帶來災(zāi)難性后果。3)每個階段必須完成規(guī)定的文檔;每個階段結(jié)束前完成文檔審查,以便盡早發(fā)現(xiàn)問題,及早改正錯誤。漏舵分僵宇往封健璃哮蔗妒云土夯牙萌挫雍洽倆葫告雹很閻痘酬斟鴦妖匈軟件工程ppt課件第1章軟件工程學(xué)概述軟件工程ppt課件第1章軟件工程學(xué)概述2.原型模型又稱快速成型模型一般用于最終系統(tǒng)的早期用戶評價開發(fā)工期短,質(zhì)量有保證啄羚且窗描滅鏈副懼齒涼返祭野嶺匪恨豬患伶裴撐細(xì)句霓倆圓跺

溫馨提示

  • 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

提交評論