版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件工程外文翻譯文獻軟件工程外文翻譯文獻(文檔含中英文對照即英文原文和中文翻譯)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.軟件工程軟件工程是一門研究用工程化方法構(gòu)建和維護有效的、實用的和高質(zhì)量的\o"軟件"軟件的學(xué)科。它涉及到\o"程序設(shè)計語言"程序設(shè)計語言、\o"數(shù)據(jù)庫"數(shù)據(jù)庫、\o"軟件開發(fā)工具"軟件開發(fā)工具、\o"系統(tǒng)平臺"系統(tǒng)平臺、標(biāo)準(zhǔn)、\o"軟件設(shè)計模式"設(shè)計模式等方面。在現(xiàn)代社會中,軟件應(yīng)用于多個方面。典型的軟件比如有\(zhòng)o"電子郵件"電子郵件、\o"嵌入式系統(tǒng)"嵌入式系統(tǒng)、\o"人機界面"人機界面、\o"辦公自動化(尚未撰寫)"辦公包、\o"操作系統(tǒng)"操作系統(tǒng)、\o"編譯器"編譯器、\o"數(shù)據(jù)庫"數(shù)據(jù)庫、\o"電腦游戲"游戲等。同時,各個行業(yè)幾乎都有計算機軟件的應(yīng)用,比如\o"工業(yè)"工業(yè)、\o"農(nóng)業(yè)"農(nóng)業(yè)、\o"銀行"銀行、\o"航空"航空、\o"政府"政府部門等。這些應(yīng)用促進了經(jīng)濟和社會的發(fā)展,提高人們的工作效率,同時提升了生活質(zhì)量。\o"軟件工程師"軟件工程師是對應(yīng)用軟件創(chuàng)造軟件的人們的統(tǒng)稱,軟件工程師按照所處的領(lǐng)域不同可以分為\o"系統(tǒng)分析員"系統(tǒng)分析員、\o"軟件設(shè)計師"軟件設(shè)計師、\o"系統(tǒng)架構(gòu)師(尚未撰寫)"系統(tǒng)架構(gòu)師、\o"程序員"程序員、\o"測試員(尚未撰寫)"測試員等等。人們也常常用程序員來泛指各種軟件工程師。由來鑒于軟件開發(fā)時所遭遇困境,\o"北大西洋公約組織"北大西洋公約組織(NATO)在\o"1968年"1968年舉辦了首次軟件工程學(xué)術(shù)會議,并于會中提出“軟件工程”來界定軟件開發(fā)所需相關(guān)知識,并建議“軟件開發(fā)應(yīng)該是類似工程的活動”。軟件工程自1968年正式提出至今,這段時間累積了大量的\o"研究"研究成果,廣泛地進行大量的技術(shù)實踐,借由\o"學(xué)術(shù)界"學(xué)術(shù)界和產(chǎn)業(yè)界的共同努力,軟件工程正逐漸發(fā)展成為一門專業(yè)\o"學(xué)科"學(xué)科。定義創(chuàng)立與使用健全的工程原則,以便經(jīng)濟地獲得可靠且高效率的軟件.應(yīng)用系統(tǒng)化,遵從原則,可被計量的方法來發(fā)展、操作及維護軟件;也就是把工程應(yīng)用到軟件上。與開發(fā)、管理及更新軟件產(chǎn)品有關(guān)的理論、方法及工具。一種知識或?qū)W科(discipline),目標(biāo)是生產(chǎn)品質(zhì)良好、準(zhǔn)時交貨、符合預(yù)算,并滿足用戶所需的軟件。實際應(yīng)用科學(xué)知識在設(shè)計、建構(gòu)電腦程序,與相伴而來所產(chǎn)生的文件,以及后續(xù)的操作和維護上。使用與系統(tǒng)化生產(chǎn)和維護軟件產(chǎn)品有關(guān)之技術(shù)與管理的知識,使軟件開發(fā)與修改可在有限的時間與費用下進行。建造由工程師團隊所開發(fā)之大型軟件系統(tǒng)有關(guān)的知識學(xué)科。對軟件分析、設(shè)計、實施及維護的一種系統(tǒng)化方法。系統(tǒng)化地應(yīng)用工具和技術(shù)于開發(fā)以計算機為主的應(yīng)用。軟件工程與計算機科學(xué)軟件的開發(fā)到底是一門\o"科學(xué)"科學(xué)還是一門\o"工程學(xué)"工程,這是一個被爭論了很久的問題。實際上,軟件開發(fā)兼有兩者的特點。但是這并不意味著它們可以被互相混淆。很多人認為軟件工程基于\o"計算機科學(xué)"計算機科學(xué)和\o"信息科學(xué)"信息科學(xué)就如傳統(tǒng)意義上的工程學(xué)之于\o"物理學(xué)"物理和\o"化學(xué)"化學(xué)一樣。在美國,大約40%的\o"軟件工程師"軟件工程師具有計算機科學(xué)的學(xué)位。在世界其他地方,這個比例也差不多。他們并不一定會每天使用計算機科學(xué)方面的知識,但是他們每天都會使用軟件工程方面的知識。例如PeterMcBreen認為,軟件“\o"工程"工程”意味著更高程度的\o"嚴謹"嚴謹性與經(jīng)過\o"驗證(尚未撰寫)"驗證的流程,并不適合現(xiàn)階段各類型的\o"軟件開發(fā)"軟件開發(fā)。PeterMcBreen在著作《SoftwareCraftsmanship:TheNewImperative》提出了所謂“craftsmanship”的說法,認為現(xiàn)階段軟件開發(fā)成功的關(guān)鍵因素,是開發(fā)者的\o"技能"技能,而不是“manufacturing”軟件的\o"流程(尚未撰寫)"流程。軟件工程與計算機程序設(shè)計軟件工程存在于各種應(yīng)用中,存在于軟件開發(fā)的各個方面。而\o"計算機程序設(shè)計"程序設(shè)計通常包含了程序設(shè)計和編碼的反復(fù)迭代的過程,它是軟件開發(fā)的一個階段。軟件工程力圖對軟件項目的各個方面作出指導(dǎo),從軟件的可行性分析直到軟件完成以后的維護工作。軟件工程認為軟件開發(fā)與各種市場活動密切相關(guān)。比如軟件的\o"銷售"銷售,用戶\o"培訓(xùn)(尚未撰寫)"培訓(xùn),與之相關(guān)的軟件和硬件安裝等。軟件工程的方法學(xué)認為一個獨立的\o"程序員"程序員不應(yīng)當(dāng)脫離團隊而進行開發(fā),同時程序的編寫不能夠脫離軟件的需求,設(shè)計,以及\o"客戶"客戶的利益。軟件工程的發(fā)展是計算機程序設(shè)計工業(yè)化的體現(xiàn)。軟件危機軟件工程的興起要根源于20世紀\o"1960年代"60,\o"1970年代"70和\o"1980年代"80年代的\o"軟件危機"軟件危機。在那個時代,很多的\o"計算機軟件"軟件最后都得到了一個悲慘的結(jié)局。很多的\o"計算機軟件"軟件項目開發(fā)時間大大超出了規(guī)劃的時間表。一些項目導(dǎo)致了財產(chǎn)的流失,甚至某些軟件導(dǎo)致了人員傷亡。同時軟件開發(fā)人員也發(fā)現(xiàn)軟件開發(fā)的難度越來越大。\o"OS360(尚未撰寫)"OS360操作系統(tǒng)被認為是一個典型的案例。到現(xiàn)在為止,它仍然被使用在\o"IBM"IBM360系列主機中。這個經(jīng)歷了數(shù)十年,極度復(fù)雜的軟件項目甚至產(chǎn)生了一套不包括在原始設(shè)計方案之中的工作系統(tǒng)。OS360是第一個超大型的軟件項目,它使用了1000人左右的程序員。\o"FredBrooks(尚未撰寫)"FredBrooks在隨后他的大作《\o"人月神話"人月神話》(TheMythicalMan-Month)中曾經(jīng)承認,在他管理這個項目的時候,他犯了一個價值數(shù)百萬美元的錯誤。財產(chǎn)的損失:軟件的錯誤可能導(dǎo)致巨大的財產(chǎn)損失。\o"歐洲"歐洲\o"阿里亞娜火箭(尚未撰寫)"阿里亞娜火箭的爆炸就是一個最為慘痛的教訓(xùn)。人員傷亡:由于計算機軟件被廣泛應(yīng)用于包括醫(yī)院等與生命息息相關(guān)的行業(yè)。因此軟件的錯誤也有可能會導(dǎo)致人員傷亡。在軟件工程界被大量引用的案例是\o"Therac-25"Therac-25的意外.在\o"1985年"1985年六月到\o"1987年"1987年一月之間,六個已知的醫(yī)療事故來自于Therac-25錯誤地超過劑量,導(dǎo)致患者死亡或嚴重輻射灼傷[12]。在工業(yè)上,某些\o"嵌入式系統(tǒng)"嵌入式系統(tǒng)導(dǎo)致機器的不正常運轉(zhuǎn),從而將一些人推入了險境。方法學(xué)軟件工程的方法有很多方面的意義。包括項目管理,分析,設(shè)計,程序的編寫,測試和質(zhì)量控制。\o"軟件設(shè)計(尚未撰寫)"軟件設(shè)計方法可以區(qū)別為重量級的方法和輕量級的方法。重量級的方法中產(chǎn)生大量的正式\o"軟件開發(fā)文檔(尚未撰寫)"文檔。著名的重量級開發(fā)方法包括\o"ISO9000"ISO9000,HYPERLINK"
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高速公路ETC系統(tǒng)升級改造合同
- 2025年度智能物流平臺合作返點合同范本4篇
- 2025年度現(xiàn)代農(nóng)業(yè)設(shè)施承攬合同補充協(xié)議4篇
- 2025年度油氣儲罐安全檢測與改造合同4篇
- 2025年10kv線路施工綠色環(huán)保與節(jié)能減排合同3篇
- 2025年度智能車位租賃合同轉(zhuǎn)讓協(xié)議書(全新版)4篇
- 2024年車輛購銷合同示范文本
- 2025年度智能儲煤場租賃管理服務(wù)合同4篇
- 2024礦用設(shè)備租賃合同
- 2025年度城市更新改造項目承包合同簽約與歷史文化保護協(xié)議(2024版)3篇
- 2024年??谑羞x調(diào)生考試(行政職業(yè)能力測驗)綜合能力測試題及答案1套
- 六年級數(shù)學(xué)質(zhì)量分析及改進措施
- 一年級下冊數(shù)學(xué)口算題卡打印
- 2024年中科院心理咨詢師新教材各單元考試題庫大全-下(多選題部分)
- 真人cs基于信號發(fā)射的激光武器設(shè)計
- 【閱讀提升】部編版語文五年級下冊第三單元閱讀要素解析 類文閱讀課外閱讀過關(guān)(含答案)
- 四年級上冊遞等式計算練習(xí)200題及答案
- 法院后勤部門述職報告
- 2024年國信證券招聘筆試參考題庫附帶答案詳解
- 道醫(yī)館可行性報告
- 視網(wǎng)膜中央靜脈阻塞護理查房課件
評論
0/150
提交評論