軟件工程XXXX研序言課件_第1頁
軟件工程XXXX研序言課件_第2頁
軟件工程XXXX研序言課件_第3頁
軟件工程XXXX研序言課件_第4頁
軟件工程XXXX研序言課件_第5頁
已閱讀5頁,還剩107頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

CQUPT葛君偉1軟件工程葛君偉教授博士重慶郵電大學(xué)圖書館館長電話箱:gejw@CQUPT葛君偉1軟件工程葛君偉教授博士CQUPT葛君偉2主要參考文獻(xiàn)張海藩,軟件工程,人民郵電出版社,2010。麻志毅,面向?qū)ο蠓治雠c設(shè)計(jì),機(jī)械工業(yè)出版社,2010年2月。RogerS.Pressman,SoftwareEngineering:APractitioner‘sApproach,機(jī)械工業(yè)出版社,2011.8。Object-OrientedandClassicalSoftwareEngineering,Sixthedition,StephenR.Schach,2005CQUPT葛君偉2主要參考文獻(xiàn)張海藩,軟件工程,人民郵電出CQUPT葛君偉3問題1

什么是軟件?CQUPT葛君偉3問題1

什么是軟件?CQUPT葛君偉4問題2

你是如何開發(fā)一個(gè)軟件系統(tǒng)的?CQUPT葛君偉4問題2

你是如何開發(fā)一個(gè)軟件系統(tǒng)的?CQUPT葛君偉5概論

軟件工程的基本概念CQUPT葛君偉5概論

軟件工程的基本概念CQUPT葛君偉6概論

軟件工程的基本概念軟件在當(dāng)今的信息社會(huì)中占有重要的地位,軟件產(chǎn)業(yè)是信息社會(huì)的支柱產(chǎn)業(yè)。據(jù)統(tǒng)計(jì),軟件工程師在規(guī)模上大大超過了硬件工程師,二者的比例幾乎達(dá)到20:1。我國高等院校計(jì)算機(jī)相關(guān)專業(yè)約有95%的學(xué)生畢業(yè)后從事軟件開發(fā)與服務(wù)工作。

2009年我國軟件與信息服務(wù)外包產(chǎn)業(yè)保持了較快發(fā)展,產(chǎn)業(yè)規(guī)模繼續(xù)擴(kuò)大,全年收入接近2000億,同比增長約24.5%。

根據(jù)人事部的統(tǒng)計(jì),未來五年內(nèi),每年僅國內(nèi)市場在軟件相關(guān)行業(yè)上的人才需求就高達(dá)80萬。據(jù)估算其中高端軟件人才缺口達(dá)20萬。

CQUPT葛君偉6概論

軟件工程的基本概念軟件在當(dāng)今的信CQUPT葛君偉7SOFTWAREISEVERYWHEREGetcashfromanATM,makeaphonecall,anddriveourcars.Atypicalcellphonecontains2millionlinesofsoftwarecodein2005;by2010itlikelyhave10timesasmany.GeneralMotorsCorp.estimatesthatby2010itscarseachhave100millionlinesofcode.CQUPT葛君偉7SOFTWAREISEVERYWHECQUPT葛君偉8ITisnowoneofthelargestcorporateexpensesoutsideemployeecostsOrganizationsand

governmentsspendanestimated$1trilliononIThardware,software,andservicesworldwide.Theaveragecompanyspendsabout4to5percentofrevenueonIT.ThecompaniesthatarehighlyITdependent—suchasfinancialandtelecommunicationscompanies—spendingmorethan10percentonit.CQUPT葛君偉8ITisnowoneoftheCQUPT葛君偉9Governmentsarebigconsumersof

software…TheUnitedKingdomhadmorethan100majorgovernmentITprojectsunderwaythattotaled$20.3billion.TheU.S.governmentcataloged1200civilianITprojectscostingmorethan$60billion,plusanother$16billionformilitarysoftware.CQUPT葛君偉9GovernmentsarebigCQUPT葛君偉10Governmentsarebigconsumersof

softwareAnyoneoftheseprojectscancostover$1billion.Forexample,thecomputermodernizationeffortattheU.S.DepartmentofVeteransAffairsisprojectedtorun$3.5billion,whileautomatingthehealthrecordsoftheUK’sNationalHealthServiceislikelytocostmorethan$14.3billionfordevelopmentandanother$50.8billionfordeployment.Suchmegasoftwareprojectsarenowmuchmorecommon,assmallerIToperationsarejoinedinto“systemsofsystems.”Airtrafficcontrolisaprimeexample,becauseitreliesonconnectionsamongdozensofnetworksthatprovidecommunications,weather,navigation,andotherdata.CQUPT葛君偉10Governmentsarebig2022/12/10JunweiGe11#include<iostream.h>

voidmain()

{

inta,b;

cout<<"\ninputa,b=?\n";

cin>>a>>b;

intc;

c=a/b;

intd=a%b;

cout<<"\na/b="<<c<<end;

cout<<"\na%b="<<d<<end;

}

問題1

請(qǐng)討論以下C++程序的作用和不足?//I/O流庫頭文件//輸出提示語//對(duì)a、b變量輸入//變量可隨用隨定義//輸出a除以b的商//輸出a除以b的余數(shù)2022/12/8JunweiGe11#include<2022/12/10JunweiGe12問題2

你應(yīng)如何開發(fā)一個(gè)電信業(yè)務(wù)管理系統(tǒng)?2022/12/8JunweiGe12問題2

你應(yīng)如何開2022/12/10JunweiGe13鄉(xiāng)村土坯房是如何蓋的?2022/12/8JunweiGe13鄉(xiāng)村土坯房是如何蓋的2022/12/10JunweiGe14據(jù)中央電視臺(tái)說,鳥巢的設(shè)計(jì)圖紙有150多張,由它們轉(zhuǎn)化而來的施工圖紙有2萬多張??纯幢本B巢是如何建設(shè)的?2022/12/8JunweiGe14據(jù)中央電視臺(tái)說,看看CQUPT葛君偉15概論

軟件工程的基本概念軟件的含義軟件是程序、數(shù)據(jù)和相關(guān)文檔的集合。當(dāng)運(yùn)行時(shí),能夠提供所要求的功能和性能的指令或程序集合;該程序能夠滿意地處理信息的數(shù)據(jù)結(jié)構(gòu);該文檔能夠描述程序的功能需求以及操作和使用方法。CQUPT葛君偉15概論

軟件工程的基本概念軟件的含義CQUPT葛君偉16概論

軟件工程的基本概念軟件發(fā)展的三個(gè)階段高級(jí)語言出現(xiàn)之前(約1946年~1956年);高級(jí)語言出現(xiàn)到軟件工程出現(xiàn)之前(約1956年~1969年);軟件工程階段(1969年~至今)。CQUPT葛君偉16概論

軟件工程的基本概念軟CQUPT葛君偉17

概論

軟件工程的基本概念軟件工程的定義軟件工程是工程技術(shù)在軟件中的應(yīng)用;通過這一應(yīng)用,使計(jì)算機(jī)設(shè)備的能力借助于計(jì)算機(jī)程序、過程和有關(guān)文檔成為對(duì)人類有用的東西。軟件工程是軟件工程師用工具和技術(shù)(方法),按照某一過程和范例來構(gòu)造軟件,從而增強(qiáng)軟件產(chǎn)品的質(zhì)量,更有效地解決問題。軟件工程是一種工程形式,它應(yīng)用計(jì)算機(jī)科學(xué)和數(shù)學(xué)原理,針對(duì)軟件問題獲得一種經(jīng)濟(jì)有效的解決方案。軟件工程用系統(tǒng)的、規(guī)范的、可度量的方法,開發(fā)、運(yùn)行和維護(hù)軟件。CQUPT葛君偉17

概論

軟件工程的基本概念CQUPT葛君偉18概論

軟件工程的基本概念為什么提出軟件工程?1960年代末期,計(jì)算機(jī)程序在復(fù)雜度、規(guī)模和應(yīng)用領(lǐng)域等方面的增長引人注目,導(dǎo)致上千億資金花費(fèi)在軟件開發(fā)上。軟件產(chǎn)品在幫助人們獲得更高的工作和生產(chǎn)效率,更方便的生活環(huán)境的同時(shí),在產(chǎn)品開發(fā)的成本、工期、質(zhì)量等方面卻存在嚴(yán)重問題。成本超出預(yù)算工期一拖再拖質(zhì)量得不到保證上述問題導(dǎo)致軟件危機(jī),其特征是微觀上,完工日期一再拖后、經(jīng)費(fèi)一再超支,甚至工程最終宣告失敗。宏觀上、從整個(gè)社會(huì)對(duì)軟件的需求來看,軟件危機(jī)的實(shí)質(zhì)是軟件產(chǎn)品的供應(yīng)跟不上需求的增長。CQUPT葛君偉18概論

軟件工程的基本概念為CQUPT葛君偉19CancelingERPInOctober2004,thegiantBritishfoodretailerJSainsburyPLChadtowriteoffitsUS$526

millioninvestmentinanautomatedsupply-chainmanagementsystem.Itseemsthatmerchandisewasstuckinthecompany’sdepotsandwarehousesandwasnotgettingthroughtomanyofitsstores.Sainsburywasforcedtohireabout3000additionalclerkstostockitsshelvesmanuallyCQUPT葛君偉19CancelingERPInOctCQUPT葛君偉20OxfordHealthPlansNewbillingsystemcannotkeepupwithexpandingbusiness,resultinginuncollectedpaymentsof$400millionfrompatientsand$650millionowedtocaregivers.October1997announcementofquarterlylosstriggersstockpricetodropfrom$68to$26inoneday,wipingout$3.4billionincorporatevalue.Companylaterpaysinvestors$225milliontosettlelawsuits.CQUPT葛君偉20OxfordHealthPlansCQUPT葛君偉21SydneyWaterCorp.ProjecttoautomatecustomerinformationandbillingforAustralia'slargestwaterprovideriscanceledin2002,duetoinadequateplanning,numerouschangerequests,andcostandscheduleoverruns.COST:$33.2millionCQUPT葛君偉21SydneyWaterCorp.PCQUPT葛君偉22LondonStockExchangeEfforttodesignnewstocksettlementsystemisscrappedin1993,aftersevenyears,becauseofoverlycomplexandcumbersomedesignandpoorprojectmanagement.COST:$600millionCQUPT葛君偉22LondonStockExchanCQUPT葛君偉23國內(nèi)失敗案例…資源一號(hào)02型飛行兩年,在1473圈,變軌沒有成功發(fā)現(xiàn)是潛通道問題。系統(tǒng)實(shí)現(xiàn)是分散到五個(gè)子程序,變量在前一個(gè)模塊被清掉,需要姿態(tài)正常,才能開發(fā)動(dòng)機(jī)。方法:把部分程序重新設(shè)計(jì),再送上去CQUPT葛君偉23國內(nèi)失敗案例…資源一號(hào)02型CQUPT葛君偉24國內(nèi)失敗案例…三號(hào)衛(wèi)星2004年11月發(fā)射,12月-05.1,有四次進(jìn)入異常工作模式。分析:異常指令-內(nèi)存?zhèn)飨聛矸治觯l(fā)現(xiàn)是軌道計(jì)算發(fā)現(xiàn)尋址跳變。減法運(yùn)算指令,是否帶進(jìn)位關(guān)系到結(jié)果正確。CQUPT葛君偉24國內(nèi)失敗案例…三號(hào)衛(wèi)星CQUPT葛君偉25國內(nèi)失敗案例神州飛船返回的前天晚上,發(fā)現(xiàn)異常,發(fā)現(xiàn)發(fā)動(dòng)機(jī)通訊有短暫不成功。神州二號(hào)發(fā)射逃逸模式,發(fā)出指令卻沒有轉(zhuǎn)化到逃逸模式。問題:時(shí)間清零問題CQUPT葛君偉25國內(nèi)失敗案例神州飛船CQUPT葛君偉26TheproblemonlygetsworseasITgrowsubiquitousOftheITprojectsthatareinitiated,from5to15percentwillbeabandonedbeforeorshortlyafterdeliveryashopelesslyinadequate.Manyotherswillarrivelateandoverbudgetorrequiremassivereworking.FewITprojects,inotherwords,trulysucceed.CQUPT葛君偉26TheproblemonlygeCQUPT葛君偉27WHENASOFTWAREPROJECTFAILS,…itjeopardizesanorganization’sprospects.itmaystealthecompany’sentirefuture.ApoorlyimplementedresourceplanningsystemledFoxMeyerDrugCo.,a$5billionwholesaledrugdistributioncompanyinCarrollton,Texas,toplummetintobankruptcyin1996.CQUPT葛君偉27WHENASOFTWAREPROCQUPT葛君偉28WHENASOFTWAREPROJECTFAILS,…ITfailureingovernmentcanimperilnationalsecurity.The$170millionVCF(FBI’sVirtualCaseFile)systeminsteadendedwithoutanysystem’sbeingdeployed.ITfailurescanstunteconomicgrowthandqualityoflife.AIRJAM:TheU.S.FederalAviationAdministrationspent$2.6billiontryingtoupgradeitsair-trafficcontrolsystemfrom1981,onlytocanceltheprojectin1994.Gridlockedskiesarestillwithustoday.由航班延誤造成的經(jīng)濟(jì)損失累計(jì)高達(dá)500億美元。CQUPT葛君偉28WHENASOFTWAREPROCQUPT葛君偉29WHENASOFTWAREPROJECTFAILS,…Failurecanbedefinedasthetotalabandonmentofaprojectbeforeorshortlyafteritisdelivered.In2004,theU.S.governmentspent$60billiononsoftware(notcountingtheembeddedsoftwareinweaponssystems).A5percentfailurerate(atleast)means$3billionwasprobablywasted.A15to20percentfailurerate(moreprobably),whichhavebudgetsof$10millionormore,meansthat$25-75billionwasprobablywasted,bothgovernmentandcorporateforlast5years.CQUPT葛君偉29WHENASOFTWAREPROCQUPT葛君偉30WHENASOFTWAREPROJECTFAILSThefailuredoesn’treflectprojectsthatexceedtheirbudgets—whichmostprojectsdo,thatdeliveredlate—whichthemajorityare,thathavetostartoveronceaprojectisabandoned,orthatarebug-riddensystemswhichhavetoberepeatedlyreworked.發(fā)生用戶訴訟的項(xiàng)目。包括以上所有浪費(fèi)的費(fèi)用,僅美國每年在軟件開發(fā)上浪費(fèi)的費(fèi)用就在60-70billion美元。這些錢可以發(fā)射太空飛船100次,建造由24顆衛(wèi)星組成的GPS系統(tǒng),或者從頭研制開發(fā)Boeing777飛機(jī),還要剩余幾billion美元。CQUPT葛君偉30WHENASOFTWAREPROCQUPT葛君偉31概論

軟件危機(jī)為什么提出軟件工程?造成軟件危機(jī)的原因軟件產(chǎn)品是復(fù)雜的人造系統(tǒng),具有復(fù)雜性、不可預(yù)見性和易變性,難以處理。個(gè)人和小組非常有效的開發(fā)小型軟件的編程技術(shù)和過程,在開發(fā)大型、復(fù)雜系統(tǒng)時(shí)難以發(fā)揮同樣的作用。軟件是知識(shí)產(chǎn)品,技術(shù)更新快,行業(yè)競爭激烈,難以在可以接受的成本和工期內(nèi)提供高質(zhì)量的產(chǎn)品。CQUPT葛君偉31概論

軟件危機(jī)為什么提出軟件工程?CQUPT葛君偉32概論

軟件危機(jī)以下是具體原因:軟件工程的建設(shè)目標(biāo)在工程進(jìn)行期間會(huì)不斷地變更,原因是技術(shù)的進(jìn)步,周圍環(huán)境的變化和用戶使用后要求的提高。軟件部件的重復(fù)利用處于很低的水平。開發(fā)者很少能夠“從不同廠商采購軟部件,再加上自己的東西,迅速形成一個(gè)系統(tǒng)”。軟件不可靠、不可維護(hù)、不可移植導(dǎo)致開發(fā)和維護(hù)費(fèi)用激增。由于缺乏軟件開發(fā)的經(jīng)驗(yàn)和關(guān)于軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計(jì)劃很難制定和實(shí)施。CQUPT葛君偉32概論

軟件危機(jī)以下是具體原因:CQUPT葛君偉33概論

軟件危機(jī)以下是具體原因:作為軟件設(shè)計(jì)依據(jù)的需求,在開發(fā)的初期階段提得不夠明確,或是未能得到確切的表達(dá)。開發(fā)工作開始后,軟件人員和用戶又未能及時(shí)交換意見,使得一些問題不能及時(shí)得到解決而隱藏起來,造成開發(fā)后期矛盾的集中暴露。開發(fā)過程沒有統(tǒng)一的、公認(rèn)的方法或規(guī)范指導(dǎo),參加人員各行其事。加之不重視文字資料工作,設(shè)計(jì)和實(shí)現(xiàn)過程的資料很不完整,或是每個(gè)工作與其他人的接口部分被忽視。未能在測(cè)試階段充分做好檢測(cè)工作,提交用戶的軟件質(zhì)量差,在運(yùn)行中暴露出大量的問題。特別是,軟件測(cè)試不能證明軟件完全正確,且事后的更改不一定能增進(jìn)軟件的質(zhì)量。CQUPT葛君偉33概論

軟件危機(jī)以下是具體原因:CQUPT葛君偉34概論

軟件工程軟件工程的作用解決軟件危機(jī);從“技術(shù)”和“技術(shù)管理”的角度來研究和探討軟件的設(shè)計(jì)、開發(fā)和維護(hù)問題。軟件工程將數(shù)據(jù)流、控制流、事件驅(qū)動(dòng)、狀態(tài)機(jī)變換、面向?qū)ο蟮确椒ㄒ?guī)范化、模式化,并制作相應(yīng)的工作,使得軟件生產(chǎn)率更高,質(zhì)量更好,成本更低。CQUPT葛君偉34概論

軟件工程軟件工程的作用CQUPT葛君偉35概論

軟件工程軟件工程的地位1991年,ACM和IEEE-CS的計(jì)算學(xué)科教程CC1991專題組將軟件工程列為計(jì)算學(xué)科的九個(gè)知識(shí)領(lǐng)域之一。2001年,CC2001將計(jì)算科學(xué)劃分為5個(gè)相對(duì)獨(dú)立的部分:計(jì)算機(jī)科學(xué),計(jì)算機(jī)工程,軟件工程,信息系統(tǒng)和信息技術(shù)。2004年8月,全世界500多位來指大學(xué)、科研機(jī)構(gòu)和企業(yè)的專家、教授推出了軟件工程知識(shí)體(SWEBOK)和軟件工程教育知識(shí)體(SEEK),標(biāo)志著軟件工程學(xué)科在世界范圍正式確立。2011年,教育部正式將軟件工程列為一級(jí)學(xué)科。CQUPT葛君偉35概論

軟件工程軟件工程的地位CQUPT葛君偉36概論

軟件工程軟件工程的十個(gè)知識(shí)域軟件需求——軟件工程基礎(chǔ)軟件設(shè)計(jì)——軟件工程核心軟件構(gòu)造軟件測(cè)試軟件維護(hù)軟件配置管理軟件工程管理—基礎(chǔ)設(shè)施管理,項(xiàng)目管理,度量和控制計(jì)劃軟件工程過程軟件工程工具和方法軟件質(zhì)量CQUPT葛君偉36概論

軟件工程軟件工程的十個(gè)知識(shí)域CQUPT葛君偉37概論

軟件工程軟件工程的基本原理用分階段的生命周期計(jì)劃嚴(yán)格管理堅(jiān)持進(jìn)行階段評(píng)審實(shí)行嚴(yán)格的產(chǎn)品控制,重點(diǎn)是實(shí)行基準(zhǔn)配置管理采用先進(jìn)的程序設(shè)計(jì)技術(shù),提高軟件開發(fā)和維護(hù)的效率結(jié)果應(yīng)能清楚地審查開發(fā)小組的人員應(yīng)該少而精承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性CQUPT葛君偉37概論

軟件工程軟件工程的基本原理CQUPT葛君偉38概論

軟件工程軟件工程方法學(xué)軟件工程:技術(shù)與管理緊密結(jié)合的工程學(xué)科。軟件工程方法學(xué):在軟件生命周期全過程中使用的一整套方法技術(shù)(Methodology/Paradigm)。傳統(tǒng)方法學(xué)—生命周期方法學(xué)或結(jié)構(gòu)化范型。面向?qū)ο蠓椒▽W(xué)—以數(shù)據(jù)為主線,將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密結(jié)合的方法。CQUPT葛君偉38概論

軟件工程軟件工程方法學(xué)CQUPT葛君偉39概論

軟件工程的特點(diǎn)軟件工程包含的四個(gè)關(guān)鍵元素方法(methods)語言(languages)工具(tools)過程(procedures)CQUPT葛君偉39概論

軟件工程的特點(diǎn)軟件工程包含的CQUPT葛君偉40概論

軟件工程的特點(diǎn)軟件工程現(xiàn)階段特點(diǎn)強(qiáng)調(diào)文檔的重要性對(duì)“形式化”描述的要求正在增加原型開發(fā)方法和Demo示范的做法日益流行開發(fā)隊(duì)伍變得精干質(zhì)量控制將逐步得到重視軟件重用與軟構(gòu)件的思想在實(shí)施上有所表現(xiàn)CQUPT葛君偉40概論

軟件工程的特點(diǎn)軟件工程現(xiàn)階段CQUPT葛君偉41概論

軟件的生命周期軟件工程的傳統(tǒng)途徑—生命周期方法學(xué)對(duì)復(fù)雜問題進(jìn)行分解逐步完成每個(gè)階段的任務(wù)階段審查的主要標(biāo)準(zhǔn)是高質(zhì)量的文檔CQUPT葛君偉41概論

軟件的生命周期軟件工程的傳統(tǒng)CQUPT葛君偉42概論

軟件的生命周期軟件的生命周期(LifeCycle):計(jì)劃需求分析設(shè)計(jì)程序編寫測(cè)試運(yùn)行維護(hù)等六個(gè)步驟要求在軟件的整個(gè)生命周期進(jìn)行工程化管理。CQUPT葛君偉42概論

軟件的生命周期軟件的生命周期CQUPT葛君偉43概論

軟件的生命周期軟件的生命周期(LifeCycle),:軟件定義或系統(tǒng)分析問題定義可行性研究需求分析CQUPT葛君偉43概論

軟件的生命周期軟件的生命周期CQUPT葛君偉44概論

軟件的生命周期軟件的生命周期(LifeCycle),:開發(fā)系統(tǒng)設(shè)計(jì)總體設(shè)計(jì)詳細(xì)設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)編碼和單元測(cè)試綜合測(cè)試CQUPT葛君偉44概論

軟件的生命周期軟件的生命周期CQUPT葛君偉45概論

軟件的生命周期軟件的生命周期(LifeCycle):維護(hù)—再定義和再開發(fā)過程CQUPT葛君偉45概論

軟件的生命周期軟件的生命周期CQUPT葛君偉46概論

軟件的生命周期生命周期各階段的基本任務(wù)問題定義要解決問題的性質(zhì)工程目標(biāo)工程規(guī)模CQUPT葛君偉46概論

軟件的生命周期生命周期各階段CQUPT葛君偉47概論

軟件的生命周期生命周期各階段的基本任務(wù)可行性研究研究問題的范圍問題的意義是否可以解決成本/效益分析CQUPT葛君偉47概論

軟件的生命周期生命周期各階段CQUPT葛君偉48概論

軟件的生命周期生命周期各階段的基本任務(wù)需求分析決定待開發(fā)軟件的功能需求和性能需求寫出軟件需求規(guī)格說明書有初步的系統(tǒng)用戶手冊(cè),提交管理機(jī)構(gòu)評(píng)審目前常用的分析方法結(jié)構(gòu)化分析方法面向?qū)ο蟮姆治龇椒?。CQUPT葛君偉48概論

軟件的生命周期生命周期各階段CQUPT葛君偉49概論

軟件的生命周期生命周期各階段的基本任務(wù)總體設(shè)計(jì):考慮幾種可能的解決方案低成本中等成本高成本(十全十美)詳細(xì)設(shè)計(jì)設(shè)計(jì)程序的詳細(xì)規(guī)格說明CQUPT葛君偉49概論

軟件的生命周期生命周期各階段CQUPT葛君偉50概論

軟件的生命周期生命周期各階段的基本任務(wù)編碼和單元測(cè)試綜合測(cè)試集成測(cè)試驗(yàn)收測(cè)試用文檔將測(cè)試計(jì)劃、詳細(xì)測(cè)試方案和測(cè)試結(jié)果記錄下來CQUPT葛君偉50概論

軟件的生命周期生命周期各階段CQUPT葛君偉51概論

軟件的生命周期生命周期各階段的基本任務(wù)維護(hù)維護(hù)分類改正性維護(hù)—修正錯(cuò)誤適應(yīng)性維護(hù)—使軟件適應(yīng)環(huán)境的變化完善性維護(hù)—增加新的功能預(yù)防性維護(hù)—為將來的維護(hù)活動(dòng)做準(zhǔn)備CQUPT葛君偉51概論

軟件的生命周期生命周期各階段CQUPT葛君偉52概論

軟件的生命周期生命周期各階段的基本任務(wù)維護(hù)一般維護(hù)步驟提出維護(hù)要求分析維護(hù)要求提出維護(hù)方案審批維護(hù)方案確定維護(hù)計(jì)劃修改軟件設(shè)計(jì)修改程序復(fù)查驗(yàn)收應(yīng)記錄維護(hù)檔案CQUPT葛君偉52概論

軟件的生命周期生命周期各階段CQUPT葛君偉53概論

技術(shù)審查和管理復(fù)審審查時(shí)間在軟件開發(fā)的每個(gè)階段結(jié)束時(shí)進(jìn)行,通常先進(jìn)行技術(shù)審查。CQUPT葛君偉53概論

技術(shù)審查和管理復(fù)審審查時(shí)間CQUPT葛君偉54概論

技術(shù)審查和管理復(fù)審技術(shù)審查任務(wù)和目的發(fā)現(xiàn)軟件錯(cuò)誤作用保證軟件質(zhì)量降低軟件成本CQUPT葛君偉54概論

技術(shù)審查和管理復(fù)審技術(shù)審查CQUPT葛君偉55概論

技術(shù)審查和管理復(fù)審技術(shù)審查方法成立審查小組準(zhǔn)備簡要介紹情況閱讀被審查的文檔開審查會(huì)返工復(fù)查CQUPT葛君偉55概論

技術(shù)審查和管理復(fù)審技術(shù)審查CQUPT葛君偉56概論

技術(shù)審查和管理復(fù)審管理復(fù)審任務(wù)和目的從管理角度對(duì)各種經(jīng)濟(jì)因素進(jìn)行審查,以發(fā)現(xiàn)并解決問題。管理復(fù)審的對(duì)象工程項(xiàng)目的成本工程項(xiàng)目的進(jìn)度投資回收的前景(效益)管理復(fù)審的作用對(duì)工程進(jìn)行管理和控制的主要手段CQUPT葛君偉56概論

技術(shù)審查和管理復(fù)審管理復(fù)審CQUPT葛君偉57軟件工程葛君偉教授博士重慶郵電大學(xué)圖書館館長電話箱:gejw@CQUPT葛君偉1軟件工程葛君偉教授博士CQUPT葛君偉58主要參考文獻(xiàn)張海藩,軟件工程,人民郵電出版社,2010。麻志毅,面向?qū)ο蠓治雠c設(shè)計(jì),機(jī)械工業(yè)出版社,2010年2月。RogerS.Pressman,SoftwareEngineering:APractitioner‘sApproach,機(jī)械工業(yè)出版社,2011.8。Object-OrientedandClassicalSoftwareEngineering,Sixthedition,StephenR.Schach,2005CQUPT葛君偉2主要參考文獻(xiàn)張海藩,軟件工程,人民郵電出CQUPT葛君偉59問題1

什么是軟件?CQUPT葛君偉3問題1

什么是軟件?CQUPT葛君偉60問題2

你是如何開發(fā)一個(gè)軟件系統(tǒng)的?CQUPT葛君偉4問題2

你是如何開發(fā)一個(gè)軟件系統(tǒng)的?CQUPT葛君偉61概論

軟件工程的基本概念CQUPT葛君偉5概論

軟件工程的基本概念CQUPT葛君偉62概論

軟件工程的基本概念軟件在當(dāng)今的信息社會(huì)中占有重要的地位,軟件產(chǎn)業(yè)是信息社會(huì)的支柱產(chǎn)業(yè)。據(jù)統(tǒng)計(jì),軟件工程師在規(guī)模上大大超過了硬件工程師,二者的比例幾乎達(dá)到20:1。我國高等院校計(jì)算機(jī)相關(guān)專業(yè)約有95%的學(xué)生畢業(yè)后從事軟件開發(fā)與服務(wù)工作。

2009年我國軟件與信息服務(wù)外包產(chǎn)業(yè)保持了較快發(fā)展,產(chǎn)業(yè)規(guī)模繼續(xù)擴(kuò)大,全年收入接近2000億,同比增長約24.5%。

根據(jù)人事部的統(tǒng)計(jì),未來五年內(nèi),每年僅國內(nèi)市場在軟件相關(guān)行業(yè)上的人才需求就高達(dá)80萬。據(jù)估算其中高端軟件人才缺口達(dá)20萬。

CQUPT葛君偉6概論

軟件工程的基本概念軟件在當(dāng)今的信CQUPT葛君偉63SOFTWAREISEVERYWHEREGetcashfromanATM,makeaphonecall,anddriveourcars.Atypicalcellphonecontains2millionlinesofsoftwarecodein2005;by2010itlikelyhave10timesasmany.GeneralMotorsCorp.estimatesthatby2010itscarseachhave100millionlinesofcode.CQUPT葛君偉7SOFTWAREISEVERYWHECQUPT葛君偉64ITisnowoneofthelargestcorporateexpensesoutsideemployeecostsOrganizationsand

governmentsspendanestimated$1trilliononIThardware,software,andservicesworldwide.Theaveragecompanyspendsabout4to5percentofrevenueonIT.ThecompaniesthatarehighlyITdependent—suchasfinancialandtelecommunicationscompanies—spendingmorethan10percentonit.CQUPT葛君偉8ITisnowoneoftheCQUPT葛君偉65Governmentsarebigconsumersof

software…TheUnitedKingdomhadmorethan100majorgovernmentITprojectsunderwaythattotaled$20.3billion.TheU.S.governmentcataloged1200civilianITprojectscostingmorethan$60billion,plusanother$16billionformilitarysoftware.CQUPT葛君偉9GovernmentsarebigCQUPT葛君偉66Governmentsarebigconsumersof

softwareAnyoneoftheseprojectscancostover$1billion.Forexample,thecomputermodernizationeffortattheU.S.DepartmentofVeteransAffairsisprojectedtorun$3.5billion,whileautomatingthehealthrecordsoftheUK’sNationalHealthServiceislikelytocostmorethan$14.3billionfordevelopmentandanother$50.8billionfordeployment.Suchmegasoftwareprojectsarenowmuchmorecommon,assmallerIToperationsarejoinedinto“systemsofsystems.”Airtrafficcontrolisaprimeexample,becauseitreliesonconnectionsamongdozensofnetworksthatprovidecommunications,weather,navigation,andotherdata.CQUPT葛君偉10Governmentsarebig2022/12/10JunweiGe67#include<iostream.h>

voidmain()

{

inta,b;

cout<<"\ninputa,b=?\n";

cin>>a>>b;

intc;

c=a/b;

intd=a%b;

cout<<"\na/b="<<c<<end;

cout<<"\na%b="<<d<<end;

}

問題1

請(qǐng)討論以下C++程序的作用和不足?//I/O流庫頭文件//輸出提示語//對(duì)a、b變量輸入//變量可隨用隨定義//輸出a除以b的商//輸出a除以b的余數(shù)2022/12/8JunweiGe11#include<2022/12/10JunweiGe68問題2

你應(yīng)如何開發(fā)一個(gè)電信業(yè)務(wù)管理系統(tǒng)?2022/12/8JunweiGe12問題2

你應(yīng)如何開2022/12/10JunweiGe69鄉(xiāng)村土坯房是如何蓋的?2022/12/8JunweiGe13鄉(xiāng)村土坯房是如何蓋的2022/12/10JunweiGe70據(jù)中央電視臺(tái)說,鳥巢的設(shè)計(jì)圖紙有150多張,由它們轉(zhuǎn)化而來的施工圖紙有2萬多張??纯幢本B巢是如何建設(shè)的?2022/12/8JunweiGe14據(jù)中央電視臺(tái)說,看看CQUPT葛君偉71概論

軟件工程的基本概念軟件的含義軟件是程序、數(shù)據(jù)和相關(guān)文檔的集合。當(dāng)運(yùn)行時(shí),能夠提供所要求的功能和性能的指令或程序集合;該程序能夠滿意地處理信息的數(shù)據(jù)結(jié)構(gòu);該文檔能夠描述程序的功能需求以及操作和使用方法。CQUPT葛君偉15概論

軟件工程的基本概念軟件的含義CQUPT葛君偉72概論

軟件工程的基本概念軟件發(fā)展的三個(gè)階段高級(jí)語言出現(xiàn)之前(約1946年~1956年);高級(jí)語言出現(xiàn)到軟件工程出現(xiàn)之前(約1956年~1969年);軟件工程階段(1969年~至今)。CQUPT葛君偉16概論

軟件工程的基本概念軟CQUPT葛君偉73

概論

軟件工程的基本概念軟件工程的定義軟件工程是工程技術(shù)在軟件中的應(yīng)用;通過這一應(yīng)用,使計(jì)算機(jī)設(shè)備的能力借助于計(jì)算機(jī)程序、過程和有關(guān)文檔成為對(duì)人類有用的東西。軟件工程是軟件工程師用工具和技術(shù)(方法),按照某一過程和范例來構(gòu)造軟件,從而增強(qiáng)軟件產(chǎn)品的質(zhì)量,更有效地解決問題。軟件工程是一種工程形式,它應(yīng)用計(jì)算機(jī)科學(xué)和數(shù)學(xué)原理,針對(duì)軟件問題獲得一種經(jīng)濟(jì)有效的解決方案。軟件工程用系統(tǒng)的、規(guī)范的、可度量的方法,開發(fā)、運(yùn)行和維護(hù)軟件。CQUPT葛君偉17

概論

軟件工程的基本概念CQUPT葛君偉74概論

軟件工程的基本概念為什么提出軟件工程?1960年代末期,計(jì)算機(jī)程序在復(fù)雜度、規(guī)模和應(yīng)用領(lǐng)域等方面的增長引人注目,導(dǎo)致上千億資金花費(fèi)在軟件開發(fā)上。軟件產(chǎn)品在幫助人們獲得更高的工作和生產(chǎn)效率,更方便的生活環(huán)境的同時(shí),在產(chǎn)品開發(fā)的成本、工期、質(zhì)量等方面卻存在嚴(yán)重問題。成本超出預(yù)算工期一拖再拖質(zhì)量得不到保證上述問題導(dǎo)致軟件危機(jī),其特征是微觀上,完工日期一再拖后、經(jīng)費(fèi)一再超支,甚至工程最終宣告失敗。宏觀上、從整個(gè)社會(huì)對(duì)軟件的需求來看,軟件危機(jī)的實(shí)質(zhì)是軟件產(chǎn)品的供應(yīng)跟不上需求的增長。CQUPT葛君偉18概論

軟件工程的基本概念為CQUPT葛君偉75CancelingERPInOctober2004,thegiantBritishfoodretailerJSainsburyPLChadtowriteoffitsUS$526

millioninvestmentinanautomatedsupply-chainmanagementsystem.Itseemsthatmerchandisewasstuckinthecompany’sdepotsandwarehousesandwasnotgettingthroughtomanyofitsstores.Sainsburywasforcedtohireabout3000additionalclerkstostockitsshelvesmanuallyCQUPT葛君偉19CancelingERPInOctCQUPT葛君偉76OxfordHealthPlansNewbillingsystemcannotkeepupwithexpandingbusiness,resultinginuncollectedpaymentsof$400millionfrompatientsand$650millionowedtocaregivers.October1997announcementofquarterlylosstriggersstockpricetodropfrom$68to$26inoneday,wipingout$3.4billionincorporatevalue.Companylaterpaysinvestors$225milliontosettlelawsuits.CQUPT葛君偉20OxfordHealthPlansCQUPT葛君偉77SydneyWaterCorp.ProjecttoautomatecustomerinformationandbillingforAustralia'slargestwaterprovideriscanceledin2002,duetoinadequateplanning,numerouschangerequests,andcostandscheduleoverruns.COST:$33.2millionCQUPT葛君偉21SydneyWaterCorp.PCQUPT葛君偉78LondonStockExchangeEfforttodesignnewstocksettlementsystemisscrappedin1993,aftersevenyears,becauseofoverlycomplexandcumbersomedesignandpoorprojectmanagement.COST:$600millionCQUPT葛君偉22LondonStockExchanCQUPT葛君偉79國內(nèi)失敗案例…資源一號(hào)02型飛行兩年,在1473圈,變軌沒有成功發(fā)現(xiàn)是潛通道問題。系統(tǒng)實(shí)現(xiàn)是分散到五個(gè)子程序,變量在前一個(gè)模塊被清掉,需要姿態(tài)正常,才能開發(fā)動(dòng)機(jī)。方法:把部分程序重新設(shè)計(jì),再送上去CQUPT葛君偉23國內(nèi)失敗案例…資源一號(hào)02型CQUPT葛君偉80國內(nèi)失敗案例…三號(hào)衛(wèi)星2004年11月發(fā)射,12月-05.1,有四次進(jìn)入異常工作模式。分析:異常指令-內(nèi)存?zhèn)飨聛矸治?,發(fā)現(xiàn)是軌道計(jì)算發(fā)現(xiàn)尋址跳變。減法運(yùn)算指令,是否帶進(jìn)位關(guān)系到結(jié)果正確。CQUPT葛君偉24國內(nèi)失敗案例…三號(hào)衛(wèi)星CQUPT葛君偉81國內(nèi)失敗案例神州飛船返回的前天晚上,發(fā)現(xiàn)異常,發(fā)現(xiàn)發(fā)動(dòng)機(jī)通訊有短暫不成功。神州二號(hào)發(fā)射逃逸模式,發(fā)出指令卻沒有轉(zhuǎn)化到逃逸模式。問題:時(shí)間清零問題CQUPT葛君偉25國內(nèi)失敗案例神州飛船CQUPT葛君偉82TheproblemonlygetsworseasITgrowsubiquitousOftheITprojectsthatareinitiated,from5to15percentwillbeabandonedbeforeorshortlyafterdeliveryashopelesslyinadequate.Manyotherswillarrivelateandoverbudgetorrequiremassivereworking.FewITprojects,inotherwords,trulysucceed.CQUPT葛君偉26TheproblemonlygeCQUPT葛君偉83WHENASOFTWAREPROJECTFAILS,…itjeopardizesanorganization’sprospects.itmaystealthecompany’sentirefuture.ApoorlyimplementedresourceplanningsystemledFoxMeyerDrugCo.,a$5billionwholesaledrugdistributioncompanyinCarrollton,Texas,toplummetintobankruptcyin1996.CQUPT葛君偉27WHENASOFTWAREPROCQUPT葛君偉84WHENASOFTWAREPROJECTFAILS,…ITfailureingovernmentcanimperilnationalsecurity.The$170millionVCF(FBI’sVirtualCaseFile)systeminsteadendedwithoutanysystem’sbeingdeployed.ITfailurescanstunteconomicgrowthandqualityoflife.AIRJAM:TheU.S.FederalAviationAdministrationspent$2.6billiontryingtoupgradeitsair-trafficcontrolsystemfrom1981,onlytocanceltheprojectin1994.Gridlockedskiesarestillwithustoday.由航班延誤造成的經(jīng)濟(jì)損失累計(jì)高達(dá)500億美元。CQUPT葛君偉28WHENASOFTWAREPROCQUPT葛君偉85WHENASOFTWAREPROJECTFAILS,…Failurecanbedefinedasthetotalabandonmentofaprojectbeforeorshortlyafteritisdelivered.In2004,theU.S.governmentspent$60billiononsoftware(notcountingtheembeddedsoftwareinweaponssystems).A5percentfailurerate(atleast)means$3billionwasprobablywasted.A15to20percentfailurerate(moreprobably),whichhavebudgetsof$10millionormore,meansthat$25-75billionwasprobablywasted,bothgovernmentandcorporateforlast5years.CQUPT葛君偉29WHENASOFTWAREPROCQUPT葛君偉86WHENASOFTWAREPROJECTFAILSThefailuredoesn’treflectprojectsthatexceedtheirbudgets—whichmostprojectsdo,thatdeliveredlate—whichthemajorityare,thathavetostartoveronceaprojectisabandoned,orthatarebug-riddensystemswhichhavetoberepeatedlyreworked.發(fā)生用戶訴訟的項(xiàng)目。包括以上所有浪費(fèi)的費(fèi)用,僅美國每年在軟件開發(fā)上浪費(fèi)的費(fèi)用就在60-70billion美元。這些錢可以發(fā)射太空飛船100次,建造由24顆衛(wèi)星組成的GPS系統(tǒng),或者從頭研制開發(fā)Boeing777飛機(jī),還要剩余幾billion美元。CQUPT葛君偉30WHENASOFTWAREPROCQUPT葛君偉87概論

軟件危機(jī)為什么提出軟件工程?造成軟件危機(jī)的原因軟件產(chǎn)品是復(fù)雜的人造系統(tǒng),具有復(fù)雜性、不可預(yù)見性和易變性,難以處理。個(gè)人和小組非常有效的開發(fā)小型軟件的編程技術(shù)和過程,在開發(fā)大型、復(fù)雜系統(tǒng)時(shí)難以發(fā)揮同樣的作用。軟件是知識(shí)產(chǎn)品,技術(shù)更新快,行業(yè)競爭激烈,難以在可以接受的成本和工期內(nèi)提供高質(zhì)量的產(chǎn)品。CQUPT葛君偉31概論

軟件危機(jī)為什么提出軟件工程?CQUPT葛君偉88概論

軟件危機(jī)以下是具體原因:軟件工程的建設(shè)目標(biāo)在工程進(jìn)行期間會(huì)不斷地變更,原因是技術(shù)的進(jìn)步,周圍環(huán)境的變化和用戶使用后要求的提高。軟件部件的重復(fù)利用處于很低的水平。開發(fā)者很少能夠“從不同廠商采購軟部件,再加上自己的東西,迅速形成一個(gè)系統(tǒng)”。軟件不可靠、不可維護(hù)、不可移植導(dǎo)致開發(fā)和維護(hù)費(fèi)用激增。由于缺乏軟件開發(fā)的經(jīng)驗(yàn)和關(guān)于軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計(jì)劃很難制定和實(shí)施。CQUPT葛君偉32概論

軟件危機(jī)以下是具體原因:CQUPT葛君偉89概論

軟件危機(jī)以下是具體原因:作為軟件設(shè)計(jì)依據(jù)的需求,在開發(fā)的初期階段提得不夠明確,或是未能得到確切的表達(dá)。開發(fā)工作開始后,軟件人員和用戶又未能及時(shí)交換意見,使得一些問題不能及時(shí)得到解決而隱藏起來,造成開發(fā)后期矛盾的集中暴露。開發(fā)過程沒有統(tǒng)一的、公認(rèn)的方法或規(guī)范指導(dǎo),參加人員各行其事。加之不重視文字資料工作,設(shè)計(jì)和實(shí)現(xiàn)過程的資料很不完整,或是每個(gè)工作與其他人的接口部分被忽視。未能在測(cè)試階段充分做好檢測(cè)工作,提交用戶的軟件質(zhì)量差,在運(yùn)行中暴露出大量的問題。特別是,軟件測(cè)試不能證明軟件完全正確,且事后的更改不一定能增進(jìn)軟件的質(zhì)量。CQUPT葛君偉33概論

軟件危機(jī)以下是具體原因:CQUPT葛君偉90概論

軟件工程軟件工程的作用解決軟件危機(jī);從“技術(shù)”和“技術(shù)管理”的角度來研究和探討軟件的設(shè)計(jì)、開發(fā)和維護(hù)問題。軟件工程將數(shù)據(jù)流、控制流、事件驅(qū)動(dòng)、狀態(tài)機(jī)變換、面向?qū)ο蟮确椒ㄒ?guī)范化、模式化,并制作相應(yīng)的工作,使得軟件生產(chǎn)率更高,質(zhì)量更好,成本更低。CQUPT葛君偉34概論

軟件工程軟件工程的作用CQUPT葛君偉91概論

軟件工程軟件工程的地位1991年,ACM和IEEE-CS的計(jì)算學(xué)科教程CC1991專題組將軟件工程列為計(jì)算學(xué)科的九個(gè)知識(shí)領(lǐng)域之一。2001年,CC2001將計(jì)算科學(xué)劃分為5個(gè)相對(duì)獨(dú)立的部分:計(jì)算機(jī)科學(xué),計(jì)算機(jī)工程,軟件工程,信息系統(tǒng)和信息技術(shù)。2004年8月,全世界500多位來指大學(xué)、科研機(jī)構(gòu)和企業(yè)的專家、教授推出了軟件工程知識(shí)體(SWEBOK)和軟件工程教育知識(shí)體(SEEK),標(biāo)志著軟件工程學(xué)科在世界范圍正式確立。2011年,教育部正式將軟件工程列為一級(jí)學(xué)科。CQUPT葛君偉35概論

軟件工程軟件工程的地位CQUPT葛君偉92概論

軟件工程軟件工程的十個(gè)知識(shí)域軟件需求——軟件工程基礎(chǔ)軟件設(shè)計(jì)——軟件工程核心軟件構(gòu)造軟件測(cè)試軟件維護(hù)軟件配置管理軟件工程管理—基礎(chǔ)設(shè)施管理,項(xiàng)目管理,度量和控制計(jì)劃軟件工程過程軟件工程工具和方法軟件質(zhì)量CQUPT葛君偉36概論

軟件工程軟件工程的十個(gè)知識(shí)域CQUPT葛君偉93概論

軟件工程軟件工程的基本原理用分階段的生命周期計(jì)劃嚴(yán)格管理堅(jiān)持進(jìn)行階段評(píng)審實(shí)行嚴(yán)格的產(chǎn)品控制,重點(diǎn)是實(shí)行基準(zhǔn)配置管理采用先進(jìn)的程序設(shè)計(jì)技術(shù),提高軟件開發(fā)和維護(hù)的效率結(jié)果應(yīng)能清

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論