軟件工程外文翻譯文獻(xiàn)_第1頁(yè)
軟件工程外文翻譯文獻(xiàn)_第2頁(yè)
軟件工程外文翻譯文獻(xiàn)_第3頁(yè)
軟件工程外文翻譯文獻(xiàn)_第4頁(yè)
軟件工程外文翻譯文獻(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程外文翻譯文獻(xiàn)(文檔含中英文對(duì)照即英文原文和中文翻譯)SoftwareengineeringSoftwareengineeringisthestudyoftheuseofengineeringmethodstobuildandmaintaineffective,practicalandhigh-qualitysoftwaredisciplines.Itinvolvestheprogramminglanguage,database,softwaredevelopmenttools,systemplatform,standards,designpatternsandsoon.

Inmodernsociety,thesoftwareusedinmanyways.Typicalsoftwaresuchasemail,embeddedsystems,human-machineinterface,officepackages,operatingsystems,compilers,databases,games.Meanwhile,almostallthevarioussectorsofcomputersoftwareapplications,suchasindustry,agriculture,banking,aviationandgovernmentdepartments.Theseapplicationsfacilitatetheeconomicandsocialdevelopment,improvepeople'sworkingefficiency,whileimprovingthequalityoflife.

Softwareengineersistocreatesoftwareapplicationsofpeoplecollectively,accordingtowhichsoftwareengineerscanbedividedintodifferentareasofsystemanalysts,softwaredesigners,systemarchitects,programmers,testersandsoon.Itisalsooftenusedtorefertoavarietyofsoftwareengineers,programmers.

Origin

Inviewofdifficultiesencounteredinsoftwaredevelopment,NorthAtlanticTreatyOrganization(NATO)in1968organizedthefirstConferenceonSoftwareEngineering,andwillbepresentedatthe"softwareengineering"todefinetheknowledgerequiredforsoftwaredevelopment,andsuggestedthat"softwaredevelopmenttheactivitiesofsimilarprojectsshouldbe."SoftwareEngineeringhasformallyproposedsince1968,thistimetoaccumulatealargenumberofresearchresults,widelylotoftechnicalpractice,academiaandindustrythroughthejointeffortsofsoftwareengineeringisgraduallydevelopingintoaprofessionaldiscipline.

Definition

creationanduseofsoundengineeringprinciplesinordertoobtainreliableandeconomicallyefficientsoftware.

applicationofsystematic,followtheprinciplecanbemeasuredapproachtodevelopment,operationandmaintenanceofsoftware;thatistobeappliedtosoftwareengineering.

Thedevelopment,managementandupdatingsoftwareproductsrelatedtotheories,methodsandtools.

Aknowledgeordiscipline(discipline),aimstoproducegoodquality,punctualdelivery,withinbudgetandmeetusersneedsoftware.

thepracticalapplicationofscientificknowledgeinthedesign,buildcomputerprograms,andtheaccompanyingdocumentsproduced,andthesubsequentoperationandmaintenance.

Usesystematicproductionandmaintenanceofsoftwareproductsrelatedtotechnologyandmanagementexpertisetoenablesoftwaredevelopmentandchangesinthelimitedtimeandundercost.Constructionteamofengineersdevelopedtheknowledgeoflargesoftwaresystemsdisciplines.

thesoftwareanalysis,design,implementationandmaintenanceofasystematicmethod.

thesystematicapplicationoftoolsandtechniquesinthedevelopmentofcomputer-basedapplications.

SoftwareEngineeringandComputerScience

Softwaredevelopmentintheendisascienceoranengineering,thisisaquestiontobedebatedforalongtime.Infact,boththetwocharacteristicsofsoftwaredevelopment.Butthisdoesnotmeanthattheycanbeconfusedwitheachother.Manypeoplethinkthatsoftwareengineering,computerscienceandinformationscience-basedasinthetraditionalsenseofthephysicalandchemicalengineeringas.IntheU.S.,about40%ofsoftwareengineerswithadegreeincomputerscience.Elsewhereintheworld,thisratioisalsosimilar.Theywillnotnecessarilyuseeverydayknowledgeofcomputerscience,buteverydaytheyusethesoftwareengineeringknowledge.

Forexample,PeterMcBreenthatsoftware"engineering"meanshigherdegreeofrigorandprovenprocesses,notsuitableforalltypesofsoftwaredevelopmentstage.PeterMcBreeninthebook"SoftwareCraftsmanship:TheNewImperative"putforwardtheso-called"craftsmanship"oftheargument,considerthatakeyfactorinthesuccessofsoftwaredevelopment,istodeveloptheskills,not"manufacturing"softwareprocess.

Softwareengineeringandcomputerprogramming

Softwareengineeringexistsinavarietyofapplicationsexistinallaspectsofsoftwaredevelopment.Theprogramdesigntypicallyincludeprogramdesignandcodingoftheiterativeprocess,itisastageofsoftwaredevelopment.

Softwareengineering,softwareprojectseekstoprovideguidanceinallaspects,fromfeasibilityanalysissoftwareuntilthesoftwareaftercompletionofmaintenancework.Softwareengineeringthatsoftwaredevelopmentandmarketingactivitiesarecloselyrelated.Suchassoftwaresales,usertraining,hardwareandsoftwareassociatedwithinstallation.Softwareengineeringmethodologythatshouldnotbeanindependentprogrammerfromtheteamandtodevelop,andtheprogramofpreparationcannotbedivorcedfromthesoftwarerequirements,design,andcustomerinterests.

Softwareengineeringdesignofindustrialdevelopmentistheembodimentofacomputerprogram.

Softwarecrisis

Softwareengineering,rootedinthe20thcenturytotheriseof60,70and80yearsofsoftwarecrisis.Atthattime,manyofthesoftwarehavebeenatragicfinaloutcome.Manyofthesoftwaredevelopmenttimesignificantlybeyondtheplannedschedule.Someprojectsledtothelossofproperty,andevensomeofthesoftwareledtocasualties.Whilesoftwaredevelopershavefounditincreasinglydifficultforsoftwaredevelopment.

OS360operatingsystemisconsideredtobeatypicalcase.Untilnow,itisstillusedintheIBM360serieshost.Thisexperiencefordecades,evenextremelycomplexsoftwareprojectsdonothaveasetofprogramsincludedintheoriginaldesignofworksystems.OS360isthefirstlargesoftwareproject,whichusesabout1,000programmers.FredBrooksinhissubsequentmasterpiece,"TheMythicalManMonth"(TheMythicalMan-Month)intheonceadmittedthatinhismanagementoftheproject,hemadeamilliondollarmistake.

Propertylosses:softwareerrormayresultinsignificantpropertydamage.EuropeanArianerocketexplosionisoneofthemostpainfullesson.

Casualties:Ascomputersoftwareiswidelyused,includinghospitalsandotherindustriescloselyrelatedtolife.Therefore,thesoftwareerrormightalsoresultinpersonalinjuryordeath.

WasusedextensivelyinsoftwareengineeringistheTherac-25caseofaccidents.In1985betweenJuneandJanuary1987,sixknownmedicalerrorsfromtheTherac-25toexceedthedoseleadstodeathorsevereradiationburns.

Inindustry,someembeddedsystemsdonotleadtothenormaloperationofthemachine,whichwillpushsomepeopleintothewoods.

Methodology

Therearemanywayssoftwareengineeringaspectsofmeaning.Includingprojectmanagement,analysis,design,programpreparation,testingandqualitycontrol.

Softwaredesignmethodscanbedistinguishedastheheavyweightandlightweightmethods.Heavyweightmethodsproducelargeamountsofofficialdocumentation.

Heavyweightdevelopmentmethodologies,includingthefamousISO9000,CMM,andtheUnifiedProcess(RUP).

Lightweightdevelopmentprocessisnotanofficialdocumentofthelargenumberofrequirements.Lightweightmethods,includingwell-knownExtremeProgramming(XP)andagileprocess(AgileProcesses).

Accordingtothe"newmethodology"inthisarticle,heavyweightmethodpresentedisa"defensive"posture.Intheapplicationofthe"heavyweightmethods"softwareorganizations,duetoasoftwareprojectmanagerwithlittleornoinvolvementinprogramdesign,cannotgrasptheitemfromthedetailsoftheprogressoftheprojectwhichwillhavea"fear",constantlyhadtoasktheprogrammertowritealotof"softwaredevelopmentdocumentation."Thelightweightmethodsarepresented"aggressive"attitude,whichisfromtheXPmethodisparticularlyemphasizedfourcriteria-"communication,simplicity,feedbackandcourage"tobereflectedon.Therearesomepeoplethatthe"heavyweightmethod"issuitableforlargesoftwareteam(dozensormore)use,and"lightweightmethods"forsmallsoftwareteam(afewpeople,adozenpeople)touse.Ofcourse,ontheheavyweightandlightweightmethodofapproachhasmanyadvantagesanddisadvantagesofdebate,andvariousmethodsareconstantlyevolving.

Somemethodologiststhinkthatpeopleshouldbestrictlyfollowedinthedevelopmentandimplementationofthesemethods.Butsomepeopledonothavetheconditionstoimplementthesemethods.Infact,themethodbywhichsoftwaredevelopmentdependsonmanyfactors,butsubjecttoenvironmentalconstraints.

Softwaredevelopmentprocess

Softwaredevelopmentprocess,withthesubsequentdevelopmentoftechnologyevolutionandimprovement.Fromtheearlywaterfall(Waterfall)developmentmodeltothesubsequentemergenceofthespiraliterative(Spiral)development,whichrecentlybegantheriseofagiledevelopmentmethodologies(Agile),theyshowedadifferenterainthedevelopmentprocessforsoftwareindustrydifferentawarenessandunderstandingofdifferenttypesofprojectsforthemethod.

Notedistinctionbetweensoftwaredevelopmentprocessandsoftwareprocessimprovementimportantdifferencebetween.SuchasISO15504,ISO9000,CMM,CMMIsuchtermsareelaboratedintheframeworkofsoftwareprocessimprovement,theyprovideaseriesofstandardsandpoliciestoguidesoftwareorganizationshowtoimprovethequalityofthesoftwaredevelopmentprocess,theabilityofsoftwareorganizations,andnotgiveaspecificdefinitionofthedevelopmentprocess.

Developmentofsoftwareengineering

"AgileDevelopment"(AgileDevelopment)isconsideredanimportantsoftwareengineeringdevelopment.Itstressedthatsoftwaredevelopmentshouldbeabletopossiblefuturechangesanduncertaintiesofacomprehensiveresponse.

Agiledevelopmentisconsidereda"lightweight"approach.Inthelightweightapproachshouldbethemostprestigious"ExtremeProgramming"(ExtremeProgramming,referredtoasXP).Correspondwiththelightweightapproachisthe"heavyweightmethod"exists.Heavyweightapproachemphasizesthedevelopmentprocessasthecenter,ratherthanpeople-centered.ExamplesofmethodssuchasheavyweightCMM/PSP/TSP.

Aspect-orientedprogramming(AspectOrientedProgramming,referredtoastheAOP)isconsideredtosoftwareengineeringinrecentyears,anotherimportantdevelopment.Thisaspectreferstothecompletionofafunctionofacollectionofobjectsandfunctions.Inthisregardthecontentsrelatedtogenericprogramming(GenericProgramming)andtemplates.軟件工程軟件工程是一門(mén)研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。它涉及到程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)、軟件開(kāi)發(fā)工具、系統(tǒng)平臺(tái)、標(biāo)準(zhǔn)、設(shè)計(jì)模式等方面。在現(xiàn)代社會(huì)中,軟件應(yīng)用于多個(gè)方面。典型的軟件比如有電子郵件、嵌入式系統(tǒng)、人機(jī)界面、辦公包、操作系統(tǒng)、編譯器、數(shù)據(jù)庫(kù)、游戲等。同時(shí),各個(gè)行業(yè)幾乎都有計(jì)算機(jī)軟件的應(yīng)用,比如工業(yè)、農(nóng)業(yè)、銀行、航空、政府部門(mén)等。這些應(yīng)用促進(jìn)了經(jīng)濟(jì)和社會(huì)的發(fā)展,提高人們的工作效率,同時(shí)提升了生活質(zhì)量。軟件工程師是對(duì)應(yīng)用軟件創(chuàng)造軟件的人們的統(tǒng)稱,軟件工程師按照所處的領(lǐng)域不同可以分為系統(tǒng)分析員、軟件設(shè)計(jì)師、系統(tǒng)架構(gòu)師、程序員、測(cè)試員等等。人們也常常用程序員來(lái)泛指各種軟件工程師。由來(lái)鑒于軟件開(kāi)發(fā)時(shí)所遭遇困境,北大西洋公約組織(NATO)在1968年舉辦了首次軟件工程學(xué)術(shù)會(huì)議,并于會(huì)中提出“軟件工程”來(lái)界定軟件開(kāi)發(fā)所需相關(guān)知識(shí),并建議“軟件開(kāi)發(fā)應(yīng)該是類似工程的活動(dòng)”。軟件工程自1968年正式提出至今,這段時(shí)間累積了大量的研究成果,廣泛地進(jìn)行大量的技術(shù)實(shí)踐,借由學(xué)術(shù)界和產(chǎn)業(yè)界的共同努力,軟件工程正逐漸發(fā)展成為一門(mén)專業(yè)學(xué)科。定義創(chuàng)立與使用健全的工程原則,以便經(jīng)濟(jì)地獲得可靠且高效率的軟件.應(yīng)用系統(tǒng)化,遵從原則,可被計(jì)量的方法來(lái)發(fā)展、操作及維護(hù)軟件;也就是把工程應(yīng)用到軟件上。與開(kāi)發(fā)、管理及更新軟件產(chǎn)品有關(guān)的理論、方法及工具。一種知識(shí)或?qū)W科(discipline),目標(biāo)是生產(chǎn)品質(zhì)良好、準(zhǔn)時(shí)交貨、符合預(yù)算,并滿足用戶所需的軟件。實(shí)際應(yīng)用科學(xué)知識(shí)在設(shè)計(jì)、建構(gòu)電腦程序,與相伴而來(lái)所產(chǎn)生的文件,以及后續(xù)的操作和維護(hù)上。使用與系統(tǒng)化生產(chǎn)和維護(hù)軟件產(chǎn)品有關(guān)之技術(shù)與管理的知識(shí),使軟件開(kāi)發(fā)與修改可在有限的時(shí)間與費(fèi)用下進(jìn)行。建造由工程師團(tuán)隊(duì)所開(kāi)發(fā)之大型軟件系統(tǒng)有關(guān)的知識(shí)學(xué)科。對(duì)軟件分析、設(shè)計(jì)、實(shí)施及維護(hù)的一種系統(tǒng)化方法。系統(tǒng)化地應(yīng)用工具和技術(shù)于開(kāi)發(fā)以計(jì)算機(jī)為主的應(yīng)用。軟件工程與計(jì)算機(jī)科學(xué)軟件的開(kāi)發(fā)到底是一門(mén)科學(xué)還是一門(mén)工程,這是一個(gè)被爭(zhēng)論了很久的問(wèn)題。實(shí)際上,軟件開(kāi)發(fā)兼有兩者的特點(diǎn)。但是這并不意味著它們可以被互相混淆。很多人認(rèn)為軟件工程基于計(jì)算機(jī)科學(xué)和信息科學(xué)就如傳統(tǒng)意義上的工程學(xué)之于物理和化學(xué)一樣。在美國(guó),大約40%的軟件工程師具有計(jì)算機(jī)科學(xué)的學(xué)位。在世界其他地方,這個(gè)比例也差不多。他們并不一定會(huì)每天使用計(jì)算機(jī)科學(xué)方面的知識(shí),但是他們每天都會(huì)使用軟件工程方面的知識(shí)。例如PeterMcBreen認(rèn)為,軟件“工程”意味著更高程度的嚴(yán)謹(jǐn)性與經(jīng)過(guò)驗(yàn)證的流程,并不適合現(xiàn)階段各類型的軟件開(kāi)發(fā)。PeterMcBreen在著作《SoftwareCraftsmanship:TheNewImperative》提出了所謂“craftsmanship”的說(shuō)法,認(rèn)為現(xiàn)階段軟件開(kāi)發(fā)成功的關(guān)鍵因素,是開(kāi)發(fā)者的技能,而不是“manufacturing”軟件的流程。軟件工程與計(jì)算機(jī)程序設(shè)計(jì)軟件工程存在于各種應(yīng)用中,存在于軟件開(kāi)發(fā)的各個(gè)方面。而程序設(shè)計(jì)通常包含了程序設(shè)計(jì)和編碼的反復(fù)迭代的過(guò)程,它是軟件開(kāi)發(fā)的一個(gè)階段。軟件工程力圖對(duì)軟件項(xiàng)目的各個(gè)方面作出指導(dǎo),從軟件的可行性分析直到軟件完成以后的維護(hù)工作。軟件工程認(rèn)為軟件開(kāi)發(fā)與各種市場(chǎng)活動(dòng)密切相關(guān)。比如軟件的銷(xiāo)售,用戶培訓(xùn),與之相關(guān)的軟件和硬件安裝等。軟件工程的方法學(xué)認(rèn)為一個(gè)獨(dú)立的程序員不應(yīng)當(dāng)脫離團(tuán)隊(duì)而進(jìn)行開(kāi)發(fā),同時(shí)程序的編寫(xiě)不能夠脫離軟件的需求,設(shè)計(jì),以及客戶的利益。軟件工程的發(fā)展是計(jì)算機(jī)程序設(shè)計(jì)工業(yè)化的體現(xiàn)。軟件危機(jī)軟件工程的興起要根源于20世紀(jì)60,70和80年代的軟件危機(jī)。在那個(gè)時(shí)代,很多的軟件最后都得到了一個(gè)悲慘的結(jié)局。很多的軟件項(xiàng)目開(kāi)發(fā)時(shí)間大大超出了規(guī)劃的時(shí)間表。一些項(xiàng)目導(dǎo)致了財(cái)產(chǎn)的流失,甚至某些軟件導(dǎo)致了人員傷亡。同時(shí)軟件開(kāi)發(fā)人員也發(fā)現(xiàn)軟件開(kāi)發(fā)的難度越來(lái)越大。OS360操作系統(tǒng)被認(rèn)為是一個(gè)典型的案例。到現(xiàn)在為止,它仍然被使用在IBM360系列主機(jī)中。這個(gè)經(jīng)歷了數(shù)十年,極度復(fù)雜的軟件項(xiàng)目甚至產(chǎn)生了一套不包括在原始設(shè)計(jì)方案之中的工作系統(tǒng)。OS360是第一個(gè)超大型的軟件項(xiàng)目,它使用了1000人左右的程序員。FredBrooks在隨后他的大作《人月神話》(TheMythicalMan-Month)中曾經(jīng)承認(rèn),在他管理這個(gè)項(xiàng)目的時(shí)候,他犯了一個(gè)價(jià)值數(shù)百萬(wàn)美元的錯(cuò)誤。財(cái)產(chǎn)的損失:軟件的錯(cuò)誤可能導(dǎo)致巨大的財(cái)產(chǎn)損

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論