![软件开发设计外文翻译文献本科毕业论文_第1页](http://file4.renrendoc.com/view12/M0B/2E/38/wKhkGWbGFJ-AIP1gAAHEtzjR4qg897.jpg)
![软件开发设计外文翻译文献本科毕业论文_第2页](http://file4.renrendoc.com/view12/M0B/2E/38/wKhkGWbGFJ-AIP1gAAHEtzjR4qg8972.jpg)
![软件开发设计外文翻译文献本科毕业论文_第3页](http://file4.renrendoc.com/view12/M0B/2E/38/wKhkGWbGFJ-AIP1gAAHEtzjR4qg8973.jpg)
![软件开发设计外文翻译文献本科毕业论文_第4页](http://file4.renrendoc.com/view12/M0B/2E/38/wKhkGWbGFJ-AIP1gAAHEtzjR4qg8974.jpg)
![软件开发设计外文翻译文献本科毕业论文_第5页](http://file4.renrendoc.com/view12/M0B/2E/38/wKhkGWbGFJ-AIP1gAAHEtzjR4qg8975.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发设计外文翻译文献本科毕业论文外文资料原文
SoftwareDevelopmentConceptsandDesign
Methodologies
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,
1
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.
?Proceduraldesignbuildsonthedataandarchitecturaldesign
2
phasestodescribetheprocessingdetailsofthesystem.
Eventhoughtherearenumerousdesignmethodologies,theirbasicconceptsareverysimilar-Allsoftwaredesignmethodspartitiontheproblemandsoftwareintosmallerpiecesinordertoreducecomplexity.Theyallstrivetoidentifydatastructuresandfunctions,andprovidemeasurementsforsoftwarequality.Someofthecommonprinciplesinsoftwaredesigninclude:stepwiserefinement,softwarearchitecture,programstructure,datastructure,softwareprocedures,modularity,
abstraction,andinformationhiding.
二、ModernDesignMethodologies
Conventionalsoftwaredevelopmentpracticescangenerallybemappedontothetraditionallife-cyclephasesofanalysis,
functionalspecification,desi
gn,implementation,testing,and
maintenance.Thisthoughtprocessisinadequatefortoday's
complexinformationsystems.Asthedeman
dforsoftwar
eisgrowingmuchfasterthanthenumbero
fdevelopers,adherin
gtoconventionaltechniquessuc
hasthewaterfallmethodrequirestoomuchtime,toomanypeople,andisdifficulttomanage.Hence,manynewsoftwaredevelopmenttechnologieshavearisen.Newlydevelopedpract
icesandmodelsdonotattempttoseparatephasesofsoftwaredevelopment,suchasspecificationandimplementation,butinsteadfocusontheconceptofprogramtransformationthroughstepwiserefinementanditeration.
1、Object-OrientedTechnology
Object-Oriented(O-O)softwaredesigntechnologyisfundamentallydifferentfromthetraditionalmethodsdescribedabove.Withtraditionalmethods,eachmoduleisrecognizedamajorstepintheoverallprocessandtheprocessgoesfromonesteptothenext.Ontheotherhand,O-Odesignisstructuredaroundamodelofobjectsandthefunctionstheyperform.
O-OprogrammingcanbetracedtothesimulationlanguageSIMULA,a
3
highlevellanguagedevelopedinthelate60'sthatintroducedobjectclassesasamethodtoencapsulatedata.Later,inthe1970s,Smalltalkwasintroducedasacompletegrapghdesignandcodingasdetailisaddedtothedesign.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-OrganizationofProgrammingLanguagesand
4
ProgrammingConcepts.
2、Prototyping
Prototypingwasinventedbecauseendusersparticipatinginthedevelopmentphasefounditdifficulttounderstandrequirementspecificationsandconceptualmodels.However,whenitfirstbeganbeingusedinthe1980s,mostconventionallifecycledevelopersconsidereditexpensiveandtimeconsuming.
Sincethattime,usersanddevelopershaveusedprototypessuccessfullyasacommunicationstooltodemonstratesystemrequirements.Afterseveralprototypeiterations,developershaveabetterunderstandingofuserrequirementsandusershaveabetterideaofhowthesystemwilleventuallywork,look,andl.
Thenumberoftimestheprototypeisincrementallyrefineddependsonhowwelltheuserrequirementsandunderstood.Italsodependsontheusersneedtoaddrequirementsorchangepreviouslystatedrequirements.Afterestablishinganoverallarchitectureandframework,thesystemisdevelopedanddeliveredinincrements.Usersmayexperimentwithandusedeliveredincrementswhileothersarebeingdeveloped.Forinstance,thefirstprototypemaybedeliveredthatimplementsacertainscreenwithonlysomeactivemenuitems.Whileusersareexperimentingwiththisscreenandmenuitems,otherscreensandmenuitemsareconcurrentlybeingdevelopedwhichlaterwillbecombinedwiththeexistingprototypeasitevolves.
Oncetheuserissatisfiedthattheprototypemeetsrequirements,theprototypeistransformedintothe"system".This
effortdependsonseveralfactors.Itmayincludeadding
functionalitythatwasn'tinitiallyreco
gnizedasrequired,replacinginefficientpartsoft
heprototypetomeetperformancecr
iteria,oradaptingtheprototypetofittheuser'shardware
5
environment.
Prototypingcanbeginveryearly,aftersomepreliminaryrequirementsanalysishasdeterminedthebasicfunctionality,scope,andenvironmentoftheproposedsoftware.Contrarytothetraditionalwaterfallmethod,intheprototyping,functionalspecificationsarenotfixed.Rather,usersareencouragedtomodifytheirrequirementsastheythemselvesbegintounderstandthembetter.Thisisbecauseusersoftendon'treallyknowwhattheywantuntiltheyseeitonthescreen.Theprototypingprocessofdemonstration,review,andrefinementgetstheusermoreinvolvedinthedevelopmentprocess,givingthemasenseofownershipduringtheprocessandatfinalsystemdelivery.However,duetothemindsetof"prototype",usersoftenfinditdifficulttoverifythattheprototypesatisfiestheirrequirements.Therefore,guidelinesmustbeestablishedtodeterminewhentostopiteratingandtheprototypetofinalproduct.
6
外文资料译文
软件开发概念和设计方法
在20世纪60年代,大型机和高级程序语言被用来解决包括人力资源系统、专有系统和制造系统等许多问题。计算机和软件被视为解决所有商业问题的万能药,有时候甚至被盲目的应用。因为很多设计上的原因,这些系统并不是万能的。主要因素如下:
1.不能完全理解复杂的问题
2.没有充分满足终端用户的需求,组织环境和性能折中
3.没有准确估计开发时间和运行成本
4.缺乏一致,规范的客户通讯框架
这个时候,结构化的编程,自上而下设计的概念出现了。对软件工程来说,结构化编程至今仍是最重要的方法且不断发展。“软件工程”概念的出现则是基于这样的构想:一个类似工程学的学科可以应用于软件的设计和开发。
软件设计是一种方法,软件设计人员可以籍此应用技术和规则生成一种描述并定义问题解决方法的模型。最初,设计方法一直未能构建好,而且模型也不能准确地描述软件开发的问题。然而,随着我们对开发过程的深入理解,设计方法已经不断适应技术的变化了。
生命周期过程的模型下开发的,但人们开始尝试寻找这种模型的替代品。
一、软件设计基础
软件设计方法最终的目标就是向软件设计者提供一张系统蓝图。它通常有三个方面:数据,构架和过程。
.数据设计指的是数据的组织、关系、访问和处理方法。
.构架设计定义系统组件和它们之间的关系。
.过程设计建立在数据和构架设计阶段之上描述系统的处理细节。
7
尽管设计方法众多,但它们的基本概念非常相似。为了减少复杂度,几乎所有软件设计方法都把问题和软件分割成较小的部分用于标识数据结构、功能以及度量软件品质。软件设计包括以下这些普遍原则:逐步求精、软件构架、程序结构、数据结构、软件过程、模块化、抽象和信息隐藏。
二、现代设计方法
常规的软件开发实践通常能被映射到传统的生命阶段上,包括分析、功能说明、设计、实现、测试和维护。然而对软件需求的增长比软件开发者数量增长要快,遵守常规的技术你瀑布模型)耗时太长,过多人员的参与也带来了管理上的困难,显然常规的思考过程对于今天的复杂信息系统是不够的。因此,产生了许多新的软件开发技术。最新发展出的实践和模型井不试图把软件开发分割成多个阶段(如说明和实现),而是注重于通过逐步求精和迭代把概念转换成程序。
1、面向对象的技术
面向对象的软件设计技术从根本上有别于传统的设计方法。传统方法中,每个模块被当作全局过程的一个主要步骤,一步一步地往下走;而面向对象的设计围绕着对象模型和对象所执行的功能进行结构化。
面向对象的编程可以追溯到仿真语言SIMULA。SIMULA是一种20世纪60年代后期的高级语言,引入了“对象类”作为封装数据的方法。到了20世纪70年代,Smalltalk被作为一种完全的图形用户界面(GUI)面向对象的编程环境被引入。甚至在30年以后,Smalltalk仍然是度量其他所有面向对象语言的标准。由于面向对象的概念日趋成熟,最近十年这种软件开发方法已经流行起来。同时,软件业注意的焦点己经从编码和结构化过程转移到通过设计和柔韧性来节省劳动力成本和时间。柔韧性变得十分关键,因为系统随着需求的变化而快速改变:变得更大,更复杂和更不稳定。
在面向对象中,分析和设计没有真正分开。在分析期间,系统对象及其特性和关系一起被确定。这些对象可以护,这样就给整个开发过程中的所有阶段提供了一种公用的语言。采用面向对象方法最好是使用专门设计的面向对象的开发工具,但是请一定记住它是一种方法而不是特指任何编程语言。许多不同的编程语言都可以用来实现面向对象技术和设计方法。
和过程、功能往返传递数据的方式不同,在面向对象的设计中,系统被
8
看成一个由很多互相传递消息的对象组成的集合,每个对象都有它自己关联操作的集合。面向对象的设计基本构想
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度企业研发成果知识产权转让合同范本
- 2025年度医疗设备改造与售后服务协议
- 2025年度出租车公司车辆租赁合同修订版
- 2025抖音主播品牌代言合作框架协议书
- 2025年C301-I型低压甲醇合成催化剂合作协议书
- 2025年度咖啡厅店铺转让合同范本
- 2025年创客中心项目发展计划
- 科研部研究项目进展与未来规划计划
- 教学资源的有效整合与利用计划
- 度假村行业保安工作总结计划
- 新版《医疗器械经营质量管理规范》(2024)培训试题及答案
- 2025年人教版数学五年级下册教学计划(含进度表)
- 市级临床重点专科申报书
- 手术风险及医疗意外险告知流程
- 综合实践活动六年级下册 饮料与健康课件 (共16张PPT)
- 数量金融的概况和历史课件
- 《医院重点专科建设专项资金管理办法》
- 最新短视频运营绩效考核表KPI(优选.)
- 设备基础隔振设计探讨
- 千字文全文带拼音——完美打印版
- 兰州大学接受进修人员申请表
评论
0/150
提交评论