版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程外文翻译文献(文档含中英文对照即英文原文和中文翻译)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.软件工程软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公包、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,提高人们的工作效率,同时提升了生活质量。软件工程师是对应用软件创造软件的人们的统称,软件工程师按照所处的领域不同可以分为系统分析员、软件设计师、系统架构师、程序员、测试员等等。人们也常常用程序员来泛指各种软件工程师。由来鉴于软件开发时所遭遇困境,北大西洋公约组织(NATO)在1968年举办了首次软件工程学术会议,并于会中提出“软件工程”来界定软件开发所需相关知识,并建议“软件开发应该是类似工程的活动”。软件工程自1968年正式提出至今,这段时间累积了大量的研究成果,广泛地进行大量的技术实践,借由学术界和产业界的共同努力,软件工程正逐渐发展成为一门专业学科。定义创立与使用健全的工程原则,以便经济地获得可靠且高效率的软件.应用系统化,遵从原则,可被计量的方法来发展、操作及维护软件;也就是把工程应用到软件上。与开发、管理及更新软件产品有关的理论、方法及工具。一种知识或学科(discipline),目标是生产品质良好、准时交货、符合预算,并满足用户所需的软件。实际应用科学知识在设计、建构电脑程序,与相伴而来所产生的文件,以及后续的操作和维护上。使用与系统化生产和维护软件产品有关之技术与管理的知识,使软件开发与修改可在有限的时间与费用下进行。建造由工程师团队所开发之大型软件系统有关的知识学科。对软件分析、设计、实施及维护的一种系统化方法。系统化地应用工具和技术于开发以计算机为主的应用。软件工程与计算机科学软件的开发到底是一门科学还是一门工程,这是一个被争论了很久的问题。实际上,软件开发兼有两者的特点。但是这并不意味着它们可以被互相混淆。很多人认为软件工程基于计算机科学和信息科学就如传统意义上的工程学之于物理和化学一样。在美国,大约40%的软件工程师具有计算机科学的学位。在世界其他地方,这个比例也差不多。他们并不一定会每天使用计算机科学方面的知识,但是他们每天都会使用软件工程方面的知识。例如PeterMcBreen认为,软件“工程”意味着更高程度的严谨性与经过验证的流程,并不适合现阶段各类型的软件开发。PeterMcBreen在著作《SoftwareCraftsmanship:TheNewImperative》提出了所谓“craftsmanship”的说法,认为现阶段软件开发成功的关键因素,是开发者的技能,而不是“manufacturing”软件的流程。软件工程与计算机程序设计软件工程存在于各种应用中,存在于软件开发的各个方面。而程序设计通常包含了程序设计和编码的反复迭代的过程,它是软件开发的一个阶段。软件工程力图对软件项目的各个方面作出指导,从软件的可行性分析直到软件完成以后的维护工作。软件工程认为软件开发与各种市场活动密切相关。比如软件的销售,用户培训,与之相关的软件和硬件安装等。软件工程的方法学认为一个独立的程序员不应当脱离团队而进行开发,同时程序的编写不能够脱离软件的需求,设计,以及客户的利益。软件工程的发展是计算机程序设计工业化的体现。软件危机软件工程的兴起要根源于20世纪60,70和80年代的软件危机。在那个时代,很多的软件最后都得到了一个悲惨的结局。很多的软件项目开发时间大大超出了规划的时间表。一些项目导致了财产的流失,甚至某些软件导致了人员伤亡。同时软件开发人员也发现软件开发的难度越来越大。OS360操作系统被认为是一个典型的案例。到现在为止,它仍然被使用在IBM360系列主机中。这个经历了数十年,极度复杂的软件项目甚至产生了一套不包括在原始设计方案之中的工作系统。OS360是第一个超大型的软件项目,它使用了1000人左右的程序员。FredBrooks在随后他的大作《人月神话》(TheMythicalMan-Month)中曾经承认,在他管理这个项目的时候,他犯了一个价值数百万美元的错误。财产的损失:软件的错误可能导致巨大的财产损
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度健身服务合同:某健身中心的会员服务3篇
- 2024年医院住房分配标准合同3篇
- 2024年房产开发商协议义务与诚信承诺版B版
- 2024工伤补偿专项协议书详案
- 2024年企业员工用工担保合同样本版B版
- 2024年度能源开发公司分家协议书3篇
- 2024年共享经济合伙合同2篇
- 2024医疗耗材批量采购合作合同版
- 2024年建筑施工人工服务合同样本版B版
- 2024年度设备采购合同:A公司智能机器人采购与技术支持2篇
- 舞台美术制作整体服务保障方案
- 中国人民财产保险股份有限公司理赔稽查管理暂行办法
- 一年级上册期中考试数学试卷含答案(共3套,北师大版)
- 早春呈水部张十八员外 (2)
- 人教部编版小学道德与法治《父母多爱我》教案 教学设计
- 循序渐进性问题链在高中英语读后续写的运用探究
- 学校校医室常用药物配备目录及急救小常识
- 新华都集团二十周年庆典宣传片脚本创意方案
- 长输管线无损检测方案
- 省市两级公文传输进省厅公文流转系统建设方案
- 关于提高公安民警队伍素质的调研报告
评论
0/150
提交评论