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

下載本文檔

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

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論