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

下載本文檔

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

文檔簡介

1軟件工程葛君偉教授博士重慶郵電大學(xué)圖書館館長電話:郵箱: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,20053問題1

什么是軟件?4問題2

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

軟件工程的基本概念6概論

軟件工程的基本概念軟件在當(dāng)今的信息社會中占有重要的地位,軟件產(chǎn)業(yè)是信息社會的支柱產(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萬。

7SOFTWAREISEVERYWHEREGetcashfromanATM,makeaphonecall,anddriveourcars.Atypicalcellphonecontains2millionlinesofsoftwarecodein2005;by2010itlikelyhave10timesasmany.GeneralMotorsCorp.estimatesthatby2010itscarseachhave100millionlinesofcode.8ITisnowoneofthelargestcorporateexpensesoutsideemployeecostsOrganizationsand

governmentsspendanestimated$1trilliononIThardware,software,andservicesworldwide.Theaveragecompanyspendsabout4to5percentofrevenueonIT.ThecompaniesthatarehighlyITdependent—suchasfinancialandtelecommunicationscompanies—spendingmorethan10percentonit.9Governmentsarebigconsumersof

software…TheUnitedKingdomhadmorethan100majorgovernmentITprojectsunderwaythattotaled$20.3billion.TheU.S.governmentcataloged1200civilianITprojectscostingmorethan$60billion,plusanother$16billionformilitarysoftware.10Governmentsarebigconsumersof

softwareAnyoneoftheseprojectscancostover$1billion.Forexample,thecomputermodernizationeffortattheU.S.DepartmentofVeteransAffairsisprojectedtorun$3.5billion,whileautomatingthehealthrecordsoftheUK’sNationalHealthServiceislikelytocostmorethan$14.3billionfordevelopmentandanother$50.8billionfordeployment.Suchmegasoftwareprojectsarenowmuchmorecommon,assmallerIToperationsarejoinedinto“systemsofsystems.”Airtrafficcontrolisaprimeexample,becauseitreliesonconnectionsamongdozensofnetworksthatprovidecommunications,weather,navigation,andotherdata.2022/12/3111#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請討論以以下C++程序的作作用和不不足?//I/O流庫頭文文件//輸出提示示語//對a、b變量輸入入//變量可隨隨用隨定定義//輸出a除以b的商//輸出a除以b的余數(shù)2022/12/3112問題2你應(yīng)如何何開發(fā)一一個(gè)電信信業(yè)務(wù)管管理系統(tǒng)統(tǒng)?2022/12/3113鄉(xiāng)村土坯坯房是如如何蓋的的?2022/12/3114據(jù)中央電視視臺說,鳥巢的設(shè)計(jì)計(jì)圖紙有150多張,由它們轉(zhuǎn)化化而來的施施工圖紙有有2萬多張??纯幢本B鳥巢是如何何建設(shè)的?15概論軟件工程的的基本概念念軟件的含義義軟件是程序序、數(shù)據(jù)和和相關(guān)文檔檔的集合。。當(dāng)運(yùn)行時(shí),,能夠提供供所要求的的功能和性性能的指令令或程序集集合;該程序能夠夠滿意地處處理信息的的數(shù)據(jù)結(jié)構(gòu)構(gòu);該文檔能夠夠描述程序序的功能需需求以及操操作和使用用方法。16概論軟件工程的的基本概念念軟件發(fā)展的的三個(gè)階段段高級語言出出現(xiàn)之前(約1946年~1956年年);高級語言出出現(xiàn)到軟件件工程出現(xiàn)現(xiàn)之前(約約1956年~1969年);軟件工程階階段(1969年~~至今)。。17概論軟件工程的的基本概念念軟件工程的的定義軟件工程是是工程技術(shù)術(shù)在軟件中中的應(yīng)用;;通過這一一應(yīng)用,使使計(jì)算機(jī)設(shè)設(shè)備的能力力借助于計(jì)計(jì)算機(jī)程序序、過程和和有關(guān)文檔檔成為對人人類有用的的東西。軟件工程是是軟件工程程師用工具具和技術(shù)(方法),,按照某一一過程和范范例來構(gòu)造造軟件,從從而增強(qiáng)軟軟件產(chǎn)品的的質(zhì)量,更更有效地解解決問題。。軟件工程是是一種工程程形式,它它應(yīng)用計(jì)算算機(jī)科學(xué)和和數(shù)學(xué)原理理,針對軟軟件問題獲獲得一種經(jīng)經(jīng)濟(jì)有效的的解決方案案。軟件工程用用系統(tǒng)的、、規(guī)范的、、可度量的的方法,開開發(fā)、運(yùn)行行和維護(hù)軟軟件。18概論軟件工程的的基本概念念為什么提出出軟件工程程?1960年代末期,,計(jì)算機(jī)程程序在復(fù)雜雜度、規(guī)模模和應(yīng)用領(lǐng)領(lǐng)域等方面面的增長引引人注目,,導(dǎo)致上千千億資金花花費(fèi)在軟件件開發(fā)上。。軟件產(chǎn)品在在幫助人們們獲得更高高的工作和和生產(chǎn)效率率,更方便便的生活環(huán)環(huán)境的同時(shí)時(shí),在產(chǎn)品品開發(fā)的成成本、工期期、質(zhì)量等等方面卻存存在嚴(yán)重問問題。成本超出預(yù)預(yù)算工期一拖再再拖質(zhì)量得不到到保證上述問題導(dǎo)導(dǎo)致軟件危危機(jī),其特特征是微觀上,完完工日期一一再拖后、、經(jīng)費(fèi)一再再超支,甚甚至工程最最終宣告失失敗。宏觀上、從從整個(gè)社會會對軟件的的需求來看看,軟件危危機(jī)的實(shí)質(zhì)質(zhì)是軟件產(chǎn)產(chǎn)品的供應(yīng)應(yīng)跟不上需需求的增長長。19CancelingERPInOctober2004,thegiantBritishfoodretailerJSainsburyPLChadtowriteoffitsUS$526millioninvestmentinanautomatedsupply-chainmanagementsystem.Itseemsthatmerchandisewasstuckinthecompany’sdepotsandwarehousesandwasnotgettingthroughtomanyofitsstores.Sainsburywasforcedtohireabout3000additionalclerkstostockitsshelvesmanually20OxfordHealthPlansNewbillingsystemcannotkeepupwithexpandingbusiness,resultinginuncollectedpaymentsof$400millionfrompatientsand$650millionowedtocaregivers.October1997announcementofquarterlylosstriggersstockpricetodropfrom$68to$26inoneday,wipingout$3.4billionincorporatevalue.Companylaterpaysinvestors$225milliontosettlelawsuits.21SydneyWaterCorp.ProjecttoautomatecustomerinformationandbillingforAustralia'slargestwaterprovideriscanceledin2002,duetoinadequateplanning,numerouschangerequests,andcostandscheduleoverruns.COST:$33.2million22LondonStockExchangeEfforttodesignnewstocksettlementsystemisscrappedin1993,aftersevenyears,becauseofoverlycomplexandcumbersomedesignandpoorprojectmanagement.COST:$600million23國內(nèi)失敗敗案例…資源一號號02型飛行兩年年,在1473圈,變軌軌沒有成成功發(fā)現(xiàn)是潛潛通道問問題。系系統(tǒng)實(shí)現(xiàn)現(xiàn)是分散散到五個(gè)個(gè)子程序序,變量量在前一一個(gè)模塊塊被清掉掉,需要要姿態(tài)正正常,才才能開發(fā)發(fā)動機(jī)。。方法:把把部分程程序重新新設(shè)計(jì),,再送上上去24國內(nèi)失敗敗案例…三號衛(wèi)星星2004年11月發(fā)射,,12月-05.1,有四次次進(jìn)入異異常工作作模式。。分析:異異常指令令-內(nèi)存存?zhèn)飨聛韥矸治?,,發(fā)現(xiàn)是是軌道計(jì)計(jì)算發(fā)現(xiàn)現(xiàn)尋址跳跳變。減減法運(yùn)算算指令,,是否帶帶進(jìn)位關(guān)關(guān)系到結(jié)結(jié)果正確確。25國內(nèi)失敗敗案例神州飛船船返回的前前天晚上上,發(fā)現(xiàn)現(xiàn)異常,,發(fā)現(xiàn)發(fā)發(fā)動機(jī)通通訊有短短暫不成成功。神州二號號發(fā)射逃逸逸模式,,發(fā)出指指令卻沒沒有轉(zhuǎn)化化到逃逸逸模式。。問題:時(shí)時(shí)間清零零問題26TheproblemonlygetsworseasITgrowsubiquitousOftheITprojectsthatareinitiated,from5to15percentwillbeabandonedbeforeorshortlyafterdeliveryashopelesslyinadequate.Manyotherswillarrivelateandoverbudgetorrequiremassivereworking.FewITprojects,inotherwords,trulysucceed.27WHENASOFTWAREPROJECTFAILS,……itjeopardizesanorganization’’sprospects.itmaystealthecompany’’sentirefuture.ApoorlyimplementedresourceplanningsystemledFoxMeyerDrugCo.,a$5billionwholesaledrugdistributioncompanyinCarrollton,Texas,toplummetintobankruptcyin1996.28WHENASOFTWAREPROJECTFAILS,……ITfailureingovernmentcanimperilnationalsecurity.The$170millionVCF(FBI’sVirtualCaseFile)systeminsteadendedwithoutanysystem’sbeingdeployed.ITfailurescanstunteconomicgrowthandqualityoflife.AIRJAM:TheU.S.FederalAviationAdministrationspent$2.6billiontryingtoupgradeitsair-trafficcontrolsystemfrom1981,onlytocanceltheprojectin1994.Gridlockedskiesarestillwithustoday.由航班延延誤造成成的經(jīng)濟(jì)濟(jì)損失累累計(jì)高達(dá)達(dá)500億美元。。29WHENASOFTWAREPROJECTFAILS,……Failurecanbedefinedasthetotalabandonmentofaprojectbeforeorshortlyafteritisdelivered.In2004,theU.S.governmentspent$60billiononsoftware(notcountingtheembeddedsoftwareinweaponssystems).A5percentfailurerate(atleast)means$3billionwasprobablywasted.A15to20percentfailurerate(moreprobably),whichhavebudgetsof$10millionormore,meansthat$25-75billionwasprobablywasted,bothgovernmentandcorporateforlast5years.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ā)發(fā)Boeing777飛機(jī),還要剩剩余幾billion美元。31概論軟件危機(jī)為什么提出軟軟件工程?造成軟件危機(jī)機(jī)的原因軟件產(chǎn)品是復(fù)復(fù)雜的人造系系統(tǒng),具有復(fù)復(fù)雜性、不可可預(yù)見性和易易變性,難以以處理。個(gè)人和小組非非常有效的開開發(fā)小型軟件件的編程技術(shù)術(shù)和過程,在在開發(fā)大型、、復(fù)雜系統(tǒng)時(shí)時(shí)難以發(fā)揮同同樣的作用。。軟件是知識產(chǎn)產(chǎn)品,技術(shù)更更新快,行業(yè)業(yè)競爭激烈,,難以在可以以接受的成本本和工期內(nèi)提提供高質(zhì)量的的產(chǎn)品。32概論軟件危機(jī)以下是具體原原因:軟件工程的建建設(shè)目標(biāo)在工工程進(jìn)行期間間會不斷地變變更,原因是是技術(shù)的進(jìn)步步,周圍環(huán)境境的變化和用用戶使用后要要求的提高。。軟件部件的重重復(fù)利用處于于很低的水平平。開發(fā)者很很少能夠“從從不同廠商采采購軟部件,,再加上自己己的東西,迅迅速形成一個(gè)個(gè)系統(tǒng)”。軟件不可靠、、不可維護(hù)、、不可移植導(dǎo)導(dǎo)致開發(fā)和維維護(hù)費(fèi)用激增增。由于缺乏軟件件開發(fā)的經(jīng)驗(yàn)驗(yàn)和關(guān)于軟件件開發(fā)數(shù)據(jù)的的積累,使得得開發(fā)工作的的計(jì)劃很難制制定和實(shí)施。。33概論軟件危機(jī)以下是具體原原因:作為軟件設(shè)計(jì)計(jì)依據(jù)的需求求,在開發(fā)的的初期階段提提得不夠明確確,或是未能能得到確切的的表達(dá)。開發(fā)發(fā)工作開始后后,軟件人員員和用戶又未未能及時(shí)交換換意見,使得得一些問題不不能及時(shí)得到到解決而隱藏藏起來,造成成開發(fā)后期矛矛盾的集中暴暴露。開發(fā)過程沒有有統(tǒng)一的、公公認(rèn)的方法或或規(guī)范指導(dǎo),,參加人員各各行其事。加加之不重視文文字資料工作作,設(shè)計(jì)和實(shí)實(shí)現(xiàn)過程的資資料很不完整整,或是每個(gè)個(gè)工作與其他他人的接口部部分被忽視。。未能在測試階階段充分做好好檢測工作,,提交用戶的的軟件質(zhì)量差差,在運(yùn)行中中暴露出大量量的問題。特特別是,軟件件測試不能證證明軟件完全全正確,且事事后的更改不不一定能增進(jìn)進(jìn)軟件的質(zhì)量量。34概論軟件工程軟件工程的作作用解決軟件危機(jī)機(jī);從“技術(shù)”和和“技術(shù)管理理”的角度來來研究和探討討軟件的設(shè)計(jì)計(jì)、開發(fā)和維維護(hù)問題。軟件工程將數(shù)數(shù)據(jù)流、控制制流、事件驅(qū)驅(qū)動、狀態(tài)機(jī)機(jī)變換、面向向?qū)ο蟮确椒ǚㄒ?guī)范化、模模式化,并制制作相應(yīng)的工工作,使得軟軟件生產(chǎn)率更更高,質(zhì)量更更好,成本更更低。35概論軟件工工程軟件工工程的的地位位1991年,ACM和IEEE-CS的計(jì)算算學(xué)科科教程程CC1991專題組組將軟軟件工工程列列為計(jì)計(jì)算學(xué)學(xué)科的的九個(gè)個(gè)知識識領(lǐng)域域之一一。2001年,CC2001將計(jì)算算科學(xué)學(xué)劃分分為5個(gè)相對對獨(dú)立立的部部分::計(jì)算算機(jī)科科學(xué),,計(jì)算算機(jī)工工程,,軟件件工程程,信信息系系統(tǒng)和和信息息技術(shù)術(shù)。2004年8月,全全世界界500多位來來指大大學(xué)、、科研研機(jī)構(gòu)構(gòu)和企企業(yè)的的專家家、教教授推推出了了軟件件工程程知識識體(SWEBOK)和軟件件工程程教育育知識識體(SEEK),標(biāo)志志著軟軟件工工程學(xué)學(xué)科在在世界界范圍圍正式式確立立。2011年,教教育部部正式式將軟軟件工工程列列為一一級學(xué)學(xué)科。。36概論軟件工工程軟件工工程的的十個(gè)個(gè)知識識域軟件需需求——軟件工工程基基礎(chǔ)軟件設(shè)設(shè)計(jì)——軟件工工程核核心軟件構(gòu)構(gòu)造軟件測測試軟件維維護(hù)軟件配配置管管理軟件工工程管管理—基礎(chǔ)設(shè)設(shè)施管管理,,項(xiàng)目目管理理,度度量和和控制制計(jì)劃劃軟件工工程過過程軟件工工程工工具和和方法法軟件質(zhì)質(zhì)量37概論軟件工工程軟件工工程的的基本本原理理用分階階段的的生命命周期期計(jì)劃劃嚴(yán)格格管理理堅(jiān)持進(jìn)進(jìn)行階階段評評審實(shí)行嚴(yán)嚴(yán)格的的產(chǎn)品品控制制,重重點(diǎn)是是實(shí)行行基準(zhǔn)準(zhǔn)配置置管理理采用先先進(jìn)的的程序序設(shè)計(jì)計(jì)技術(shù)術(shù),提提高軟軟件開開發(fā)和和維護(hù)護(hù)的效效率結(jié)果應(yīng)應(yīng)能清清楚地地審查查開發(fā)小小組的的人員員應(yīng)該該少而而精承認(rèn)不不斷改改進(jìn)軟軟件工工程實(shí)實(shí)踐的的必要要性38概論軟件工工程軟件工工程方方法學(xué)學(xué)軟件工工程::技術(shù)術(shù)與管管理緊緊密結(jié)結(jié)合的的工程程學(xué)科科。軟件工工程方方法學(xué)學(xué):在在軟件件生命命周期期全過過程中中使用用的一一整套套方法法技術(shù)術(shù)(Methodology/Paradigm)。傳統(tǒng)方方法學(xué)學(xué)—生命周周期方方法學(xué)學(xué)或結(jié)結(jié)構(gòu)化化范型型。面向?qū)ο蠓椒椒▽W(xué)學(xué)—以數(shù)據(jù)據(jù)為主主線,,將數(shù)數(shù)據(jù)和和對數(shù)數(shù)據(jù)的的操作作緊密密結(jié)合合的方方法。。39概論軟件工工程的的特點(diǎn)點(diǎn)軟件工工程包包含的的四個(gè)個(gè)關(guān)鍵鍵元素素方法(methods)語言(languages)工具(tools)過程(procedures)40概論軟件工工程的的特點(diǎn)點(diǎn)軟件工工程現(xiàn)現(xiàn)階段段特點(diǎn)點(diǎn)強(qiáng)調(diào)文文檔的的重要要性對“形式化化”描述的的要求求正在在增加加原型開開發(fā)方方法和和Demo示范的的做法法日益益流行行開發(fā)隊(duì)隊(duì)伍變變得精精干質(zhì)量控控制將將逐步步得到到重視視軟件重重用與與軟構(gòu)構(gòu)件的的思想想在實(shí)實(shí)施上上有所所表現(xiàn)現(xiàn)41概論論軟件件的的生生命命周周期期軟件件工工程程的的傳傳統(tǒng)統(tǒng)途途徑徑——生生命命周周期期方方法法學(xué)學(xué)對復(fù)復(fù)雜雜問問題題進(jìn)進(jìn)行行分分解解逐步步完完成成每每個(gè)個(gè)階階段段的的任任務(wù)務(wù)階段段審審查查的的主主要要標(biāo)標(biāo)準(zhǔn)準(zhǔn)是是高高質(zhì)質(zhì)量量的的文文檔檔42概論論軟件件的的生生命命周周期期軟件件的的生生命命周周期期(LifeCycle):計(jì)劃劃需求求分分析析設(shè)計(jì)計(jì)程序序編編寫寫測試試運(yùn)行行維維護(hù)護(hù)等等六六個(gè)個(gè)步步驟驟要求求在在軟軟件件的的整整個(gè)個(gè)生生命命周周期期進(jìn)進(jìn)行行工工程程化化管管理理。。43概論論軟件件的的生生命命周周期期軟件件的的生生命命周周期期(LifeCycle),:軟件件定定義義或或系系統(tǒng)統(tǒng)分分析析問題題定定義義可行行性性研研究究需求求分分析析44概論論軟件件的的生生命命周周期期軟件件的的生生命命周周期期(LifeCycle),:開發(fā)系統(tǒng)設(shè)計(jì)計(jì)總體設(shè)計(jì)計(jì)詳細(xì)設(shè)計(jì)計(jì)系統(tǒng)實(shí)現(xiàn)現(xiàn)編碼和單單元測試試綜合測試試45概論軟件的生生命周期期軟件的生生命周期期(LifeCycle):維護(hù)—再再定義和和再開發(fā)發(fā)過程46概論軟件的生生命周期期生命周期期各階段段的基本本任務(wù)問題定義義要解決問問題的性性質(zhì)工程目標(biāo)標(biāo)工程規(guī)模模47概論軟件的生生命周期期生命周期期各階段段的基本本任務(wù)可行性研研究研究問題

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論