版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程外文翻译文献软件工程外文翻译文献(文档含中英文对照即英文原文和中文翻译)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.软件工程软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的\o"软件"软件的学科。它涉及到\o"程序设计语言"程序设计语言、\o"数据库"数据库、\o"软件开发工具"软件开发工具、\o"系统平台"系统平台、标准、\o"软件设计模式"设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有\o"电子邮件"电子邮件、\o"嵌入式系统"嵌入式系统、\o"人机界面"人机界面、\o"办公自动化(尚未撰写)"办公包、\o"操作系统"操作系统、\o"编译器"编译器、\o"数据库"数据库、\o"电脑游戏"游戏等。同时,各个行业几乎都有计算机软件的应用,比如\o"工业"工业、\o"农业"农业、\o"银行"银行、\o"航空"航空、\o"政府"政府部门等。这些应用促进了经济和社会的发展,提高人们的工作效率,同时提升了生活质量。\o"软件工程师"软件工程师是对应用软件创造软件的人们的统称,软件工程师按照所处的领域不同可以分为\o"系统分析员"系统分析员、\o"软件设计师"软件设计师、\o"系统架构师(尚未撰写)"系统架构师、\o"程序员"程序员、\o"测试员(尚未撰写)"测试员等等。人们也常常用程序员来泛指各种软件工程师。由来鉴于软件开发时所遭遇困境,\o"北大西洋公约组织"北大西洋公约组织(NATO)在\o"1968年"1968年举办了首次软件工程学术会议,并于会中提出“软件工程”来界定软件开发所需相关知识,并建议“软件开发应该是类似工程的活动”。软件工程自1968年正式提出至今,这段时间累积了大量的\o"研究"研究成果,广泛地进行大量的技术实践,借由\o"学术界"学术界和产业界的共同努力,软件工程正逐渐发展成为一门专业\o"学科"学科。定义创立与使用健全的工程原则,以便经济地获得可靠且高效率的软件.应用系统化,遵从原则,可被计量的方法来发展、操作及维护软件;也就是把工程应用到软件上。与开发、管理及更新软件产品有关的理论、方法及工具。一种知识或学科(discipline),目标是生产品质良好、准时交货、符合预算,并满足用户所需的软件。实际应用科学知识在设计、建构电脑程序,与相伴而来所产生的文件,以及后续的操作和维护上。使用与系统化生产和维护软件产品有关之技术与管理的知识,使软件开发与修改可在有限的时间与费用下进行。建造由工程师团队所开发之大型软件系统有关的知识学科。对软件分析、设计、实施及维护的一种系统化方法。系统化地应用工具和技术于开发以计算机为主的应用。软件工程与计算机科学软件的开发到底是一门\o"科学"科学还是一门\o"工程学"工程,这是一个被争论了很久的问题。实际上,软件开发兼有两者的特点。但是这并不意味着它们可以被互相混淆。很多人认为软件工程基于\o"计算机科学"计算机科学和\o"信息科学"信息科学就如传统意义上的工程学之于\o"物理学"物理和\o"化学"化学一样。在美国,大约40%的\o"软件工程师"软件工程师具有计算机科学的学位。在世界其他地方,这个比例也差不多。他们并不一定会每天使用计算机科学方面的知识,但是他们每天都会使用软件工程方面的知识。例如PeterMcBreen认为,软件“\o"工程"工程”意味着更高程度的\o"严谨"严谨性与经过\o"验证(尚未撰写)"验证的流程,并不适合现阶段各类型的\o"软件开发"软件开发。PeterMcBreen在著作《SoftwareCraftsmanship:TheNewImperative》提出了所谓“craftsmanship”的说法,认为现阶段软件开发成功的关键因素,是开发者的\o"技能"技能,而不是“manufacturing”软件的\o"流程(尚未撰写)"流程。软件工程与计算机程序设计软件工程存在于各种应用中,存在于软件开发的各个方面。而\o"计算机程序设计"程序设计通常包含了程序设计和编码的反复迭代的过程,它是软件开发的一个阶段。软件工程力图对软件项目的各个方面作出指导,从软件的可行性分析直到软件完成以后的维护工作。软件工程认为软件开发与各种市场活动密切相关。比如软件的\o"销售"销售,用户\o"培训(尚未撰写)"培训,与之相关的软件和硬件安装等。软件工程的方法学认为一个独立的\o"程序员"程序员不应当脱离团队而进行开发,同时程序的编写不能够脱离软件的需求,设计,以及\o"客户"客户的利益。软件工程的发展是计算机程序设计工业化的体现。软件危机软件工程的兴起要根源于20世纪\o"1960年代"60,\o"1970年代"70和\o"1980年代"80年代的\o"软件危机"软件危机。在那个时代,很多的\o"计算机软件"软件最后都得到了一个悲惨的结局。很多的\o"计算机软件"软件项目开发时间大大超出了规划的时间表。一些项目导致了财产的流失,甚至某些软件导致了人员伤亡。同时软件开发人员也发现软件开发的难度越来越大。\o"OS360(尚未撰写)"OS360操作系统被认为是一个典型的案例。到现在为止,它仍然被使用在\o"IBM"IBM360系列主机中。这个经历了数十年,极度复杂的软件项目甚至产生了一套不包括在原始设计方案之中的工作系统。OS360是第一个超大型的软件项目,它使用了1000人左右的程序员。\o"FredBrooks(尚未撰写)"FredBrooks在随后他的大作《\o"人月神话"人月神话》(TheMythicalMan-Month)中曾经承认,在他管理这个项目的时候,他犯了一个价值数百万美元的错误。财产的损失:软件的错误可能导致巨大的财产损失。\o"欧洲"欧洲\o"阿里亚娜火箭(尚未撰写)"阿里亚娜火箭的爆炸就是一个最为惨痛的教训。人员伤亡:由于计算机软件被广泛应用于包括医院等与生命息息相关的行业。因此软件的错误也有可能会导致人员伤亡。在软件工程界被大量引用的案例是\o"Therac-25"Therac-25的意外.在\o"1985年"1985年六月到\o"1987年"1987年一月之间,六个已知的医疗事故来自于Therac-25错误地超过剂量,导致患者死亡或严重辐射灼伤[12]。在工业上,某些\o"嵌入式系统"嵌入式系统导致机器的不正常运转,从而将一些人推入了险境。方法学软件工程的方法有很多方面的意义。包括项目管理,分析,设计,程序的编写,测试和质量控制。\o"软件设计(尚未撰写)"软件设计方法可以区别为重量级的方法和轻量级的方法。重量级的方法中产生大量的正式\o"软件开发文档(尚未撰写)"文档。著名的重量级开发方法包括\o"ISO9000"ISO9000,HYPERLINK"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度办公室租赁与咨询顾问服务合同
- 成本控制与降低运营成本指南
- 装卸承包合同协议年
- 建筑装饰装修行业指南
- 2023年宝安区积分入学规则
- 精装修公寓装修合同
- 货物运输代理合同书
- 医疗器械与药品研发技术作业指导书
- (高清版)DB2105∕T 001-2022 地理标志产品 连山关刺五加
- 2025年荆门道路客货运输从业资格证b2考试题库
- 中华人民共和国职业分类大典是(专业职业分类明细)
- DB43-T 2142-2021学校食堂建设与食品安全管理规范
- 桥梁顶升移位改造技术规范
- 浙江省杭州市2022-2023学年五年级下学期数学期末试卷(含答案)
- 介绍人提成方案
- 天津在津居住情况承诺书
- PHOTOSHOP教案 学习资料
- 初中数学教学“教-学-评”一体化研究
- 2012年安徽高考理综试卷及答案-文档
- 《游戏界面设计专题实践》课件-知识点5:图标绘制准备与绘制步骤
- 自动扶梯安装过程记录
评论
0/150
提交评论