软件开发概念和设计中英文对照外文翻译文献.docx
- 文档编号:11240026
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:11
- 大小:23.55KB
软件开发概念和设计中英文对照外文翻译文献.docx
《软件开发概念和设计中英文对照外文翻译文献.docx》由会员分享,可在线阅读,更多相关《软件开发概念和设计中英文对照外文翻译文献.docx(11页珍藏版)》请在冰豆网上搜索。
软件开发概念和设计中英文对照外文翻译文献
中英文对照外文翻译
外文资料原文
SoftwareDevelopmentConceptsandDesignMethodologies
Duringthe1960s,mainframesandhigherlevelprogramminglanguageswereappliedtomanyproblemsincludinghumanresourcesystems,reservationsystems,andmanufacturingsystems.Computersandsoftwarewereseenasthecureallformanybusinessissuesweresometimesappliedblindly.Systemssometimesfailedtosolvetheproblemforwhichtheyweredesignedformanyreasonsincluding:
•Inabilitytosufficientlyunderstandcomplexproblems
•Notsufficientlytakingintoaccountend-userneeds,theorganizationalenvironment,andperformancetradeoffs
•Inabilitytoaccuratelyestimatedevelopmenttimeandoperationalcosts
•Lackofframeworkforconsistentandregularcustomercommunications
Atthistime,theconceptofstructuredprogramming,top-downdesign,stepwiserefinement,andmodularityemerged.Structuredprogrammingisstillthemostdominantapproachtosoftwareengineeringandisstillevolving.Thesefailuresledtotheconceptof"softwareengineering"basedupontheideathatanengineering-likedisciplinecouldbeappliedtosoftwaredesignanddevelopment.
Softwaredesignisaprocesswherethesoftwaredesignerappliestechniquesandprinciplestoproduceaconceptualmodelthatdescribesanddefinesasolutiontoaproblem.Inthebeginning,thisdesignprocesshasnotbeenwellstructuredandthemodeldoesnotalwaysaccuratelyrepresenttheproblemofsoftwaredevelopment.However,designmethodologieshavebeenevolvingtoaccommodatechangesintechnologycoupledwithourincreasedunderstandingofdevelopmentprocesses.
Whereasearlydesignmethodsaddressedspecificaspectsofthedevelopmentprocess,currentmethodsattempttoaddresstheentirescopeofsoftwaredevelopment.Softwaredesignmethodsareoftenclassifiedinreferencetotheperiodinwhichtheywereintroducedandtheproblemsatthattime.Drivenbycodingandtestingproblems,toolsandmethodsweredeveloped.Earlymethodsfocusedonmodularityandtop-downdevelopment,andinformationhidingthroughabstraction.Thisledtothedevelopmentofstructuredlanguages,structuredanalysis,anddataflowanalysis.
Inthelastdecadeorso,theexpenseinvolvedinautomationhasshiftedfromhardwaretopeople.Therefore,thesoftwareengineeringcommunityhasbeenfocusedonobjectoriented(O-O)designandtheconceptofre-usablecodeinordertoreducethehumancostcomponent.InefficientdesignsanddevelopmentmethodologieshavebeenaddressedwithComputerAidedSoftwareEngineering(CASE)tools,andfourthgenerationdesignlanguages.Thishasbeendoneinanattemptreplacethetraditionalwaterfalllifecycleprocessmodelunderwhichmostexistingsoftwarehasbeendeveloped.
一、SoftwareDesignFundamentals
Softwaredesignmethodsallaimtoprovidethesoftwaredesignerwithasystemblueprint.Thisblueprintusuallyhasthreeaspects:
data,architectural,andprocedural.
•Datadesignreferstothedata'sorganization,relationships,accessandprocessingmethods.
•Architecturaldesigndefinesthecomponentsofthesystemandtheirrelationships.
•Proceduraldesignbuildsonthedataandarchitecturaldesignphasestodescribetheprocessingdetailsofthesystem.
Eventhoughtherearenumerousdesignmethodologies,theirbasicconceptsareverysimilar-Allsoftwaredesignmethodspartitiontheproblemandsoftwareintosmallerpiecesinordertoreducecomplexity.Theyallstrivetoidentifydatastructuresandfunctions,andprovidemeasurementsforsoftwarequality.Someofthecommonprinciplesinsoftwaredesigninclude:
stepwiserefinement,softwarearchitecture,programstructure,datastructure,softwareprocedures,modularity,abstraction,andinformationhiding.
二、ModernDesignMethodologies
Conventionalsoftwaredevelopmentpracticescangenerallybemappedontothetraditionallife-cyclephasesofanalysis,functionalspecification,design,implementation,testing,andmaintenance.Thisthoughtprocessisinadequatefortoday'scomplexinformationsystems.Asthedemandforsoftwareisgrowingmuchfasterthanthenumberofdevelopers,adheringtoconventionaltechniquessuchasthewaterfallmethodrequirestoomuchtime,toomanypeople,andisdifficulttomanage.Hence,manynewsoftwaredevelopmenttechnologieshavearisen.Newlydevelopedpracticesandmodelsdonotattempttoseparatephasesofsoftwaredevelopment,suchasspecificationandimplementation,butinsteadfocusontheconceptofprogramtransformationthroughstepwiserefinementanditeration.
1、Object-OrientedTechnology
Object-Oriented(O-O)softwaredesigntechnologyisfundamentallydifferentfromthetraditionalmethodsdescribedabove.Withtraditionalmethods,eachmoduleisrecognizedamajorstepintheoverallprocessandtheprocessgoesfromonesteptothenext.Ontheotherhand,O-Odesignisstructuredaroundamodelofobjectsandthefunctionstheyperform.
O-OprogrammingcanbetracedtothesimulationlanguageSIMULA,ahighlevellanguagedevelopedinthelate60'sthatintroducedobjectclassesasamethodtoencapsulatedata.Later,inthe1970s,Smalltalkwasintroducedasacompletegraphicuserinterface(GUI)environmentforO-Oprogramming.Even30yearslater,SmalltalkisstillthestandardagainstwhichallotherO-Olanguagesaremeasured.O-OsoftwaredevelopmentmethodologieshavebecomepopularinthelastdecadeasO-Oconceptshavematured.Atthesametime,thesoftwareindustry'sfocushasshiftedfromcodingandstructuredprocessestosavinglaborcosts,andtimethroughdesignandflexibility.Flexibilityhasbecomepivotalbecausesystemshavebecomelarger,morecomplex,andmorevolatilewithrapidlychangingrequirements.
WithO-O,thereisnorealseparationbetweenanalysisanddesign.Duringanalysis,systemobjectsareidentifiedalongwiththeircharacteristicsandrelationships.Theseobjectsaremaintainedthroughdesignandcodingasdetailisaddedtothedesign.Thisprovidesacommonlanguagethroughouteachstageindevelopment.O-OisbestappliedwithspecificallydesignedO-Odevelopmenttools,butitisimportanttorememberthatasamethodologyisitnotspecifictoanyprogramminglanguage.Manydifferentprogramminglanguagescanbeusedtoimplement0-0technologyanddesignmethodologies.
Insteadofproceduresandfunctionspassingdatabackandforth,inobjectorienteddesign,thesystemisviewedasacollectionofobjectswithmessagespassedfromobjecttoobject.Eachobjecthasitsownsetofassociatedoperations.Object-orienteddesignisbasedontheideaofinformationhidingandmodularizationofbothdataandprocessing.Itisbestusedwhenneitherdatastructurenorprocessingoperationsarewelldefinedaheadoftime.Thisisquiteusefulintoday'sbusinessenvironmentwhererequirementsarealwayschangingandnotverywelldefined.Thus,ithasbecomequitepopular!
Theconceptofobjectsperformingservicesisanaturalwayofthinkingforbothdevelopersandcustomers.Thisfacilitatesunderstandingtheproblemdomainandamorenaturaldesign.Inaddition,therearemanybenefitsofobject-orienteddevelopment.Theseinclude:
•Inheritancecapitalizesonthecommonaltyofattributesandservicesallowingcodeandobjectstobere-used.
.Informationhidingmakessystemsmorestablebylocalizingchangestoobjectsandtherebymakingthemreusable.
.Theobject-orienteddevelopmentprocessisconsistentfromanalysis,throughdesign,tocoding.
MoreinformationonObjectOrientedProgrammingprinciplescanbefoundinChapter4-OrganizationofProgrammingLanguagesandProgrammingConcepts.
2、Prototyping
Prototypingwasinventedbecauseendusersparticipatinginthedevelopmentphasefounditdifficulttounderstandrequirementspecificationsandconceptualmodels.However,whenitfirstbeganbeingusedinthe1980s,mostconventionallifecycledevelopersconsidereditexpensiveandtimeconsuming.
Sincethattime,usersanddevelopershaveusedprototypessuccessfullyasacommunicationstooltodemonstratesystemrequirements.Afterseveralprototypeiterations,developershaveabetterunderstandingofuserrequirementsandusershaveabetterideaofhowthesystemwilleventuallywork,look,andfeel.Prototypinghasproventobeaneffectivewayofunderstandingtheusers'needsandproblemsandeliminatingcostlyreworklaterinthedevelopmentprocessduetomisunderstandingsinrequirements.Prototypingisparticularlyusefulforuserinterfacedevelopmentbecauseitissometimesimpossibletorepresentthelookandfeelofauserinterfaceinaneffectivewayusingwordsanddiagrams.Thisisespeciallycriticalintoday'sdevelopmentenvironmentwhereuserinterfacedevelopmentconsumesanincreasingportionofoverallsystemdevelopmentcosts.
(1)ThrowAwayPrototyping
Therearetwovarietiesofprototyping,Throw-awayprototypingandEvolutionaryprototyping.Throw-awayprototypingisdesignedtovalidateorderivethesystemrequirements.Itmayalsobeusedtoevaluateperformancecapabilitiesanddeterminedesignfeasibility.Oncethedesiredinformationhasbeenobtainedandtheprototype'sobjectivehasbeenfulfilled,theprototypeisthrownawayandconventionalsoftwaredesigncontinues.Throwawayprototypingare:
•Usedtoreducerequirementsriskandfacilitateunderstandinguserrequirements.
•Notconsideredasafinalsystem,andisdiscardedafterusebecause:
♦Manysystemcharacteristicsareleftout
♦Theprototypeiswrittenquicklyprimarilyforthepurposeofdemonstrationandthereforemaynotbeoptimallystructuredandconsequentlydifficulttomaintain
Withthrowawayprototyping,someanalyststhinkofaprototypeasadesignorspecificationslanguagetobeu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 概念 设计 中英文 对照 外文 翻译 文献