软件工程大三上期末复习终极学姐学长去年纯手打吐血版无病毒可10级提供_第1页
软件工程大三上期末复习终极学姐学长去年纯手打吐血版无病毒可10级提供_第2页
软件工程大三上期末复习终极学姐学长去年纯手打吐血版无病毒可10级提供_第3页
软件工程大三上期末复习终极学姐学长去年纯手打吐血版无病毒可10级提供_第4页
软件工程大三上期末复习终极学姐学长去年纯手打吐血版无病毒可10级提供_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

什么是UML?

1.6WhatistheUML?TheUnifiedModelingLanguageisavisual(可视化)languageforspecifying(描述),constructing(构造)anddocumenting(文档化)theartifacts(制品)ofsystems

ThreeWaystoApplyUMLUMLassketchUMLasblueprint(ReverseEngineering逆向工程/CodeGeneration代码生成,前向工程)UMLasprogramminglanguage(MDA)

1.6WhatistheUML?UMLand"SilverBullet"ThinkingWhatis"SilverBullet“From"NoSilverBullet"byDr.FrederickBrooks,inhisclassicbook“MythicalMan-Month”(20thanniversaryedition).UMLisnota“SilverBullet”.ApersonwithoutgoodOOdesignandprogrammingskillswhodrawsUMLisjustdrawingbaddesigns1.6WhatistheUML?ThreePerspectives(视点)toApplyUMLConceptualperspective(概念视点)DiagramsareinterpretedasdescribingthingsinasituationoftherealworldSpecification(software)perspective(规格说明视点)Diagramsdescribesoftwareabstractionsorcomponentswithspecificationsandinterfaces(noimplementation)Implementation(software)perspective(实现视点)Diagramsdescribesoftwareimplementationsinaparticulartechnology(suchasJava,C#).1.6WhatistheUML?1.6WhatistheUML?Meaningof"Class"inDifferentPerspectivesConceptualclassreal-worldconceptorthinginUPdomainmodelSoftwareclassspecificationorimplementationperspectiveofasoftwarecomponent什么是面向对象的分析与设计?1.4.WhatisObject-OrientedAnalysisandDesign?AnalysisEmphasizefindinganddescribingtheobject(concept)inproblemdomain(问题领域)DesignEmphasizesdefining(定义)softwareobjectsandhowtheycollaborate(协作)tofulfilltherequirements

1.4.WhatisObject-OrientedAnalysisandDesign?PlanetailNumbervisualizationofdomainconceptpublicclassPlane{privateStringtailNumber;publicListgetFlightHistory(){...}}representationinanobject-orientedprogramminglanguagedomainconcept领域概念什么是UP?RUP?2.1.WhatistheUP?SoftwareDevelopmentProcessdescribesanapproachtobuilding(构造),deploying(部署),andpossiblymaintaining(维护)softwareWaterfallProcessWaterfallProcessRequirementsAnalysisDesignCodeandUnitTestSubsystemIntegrationSystemTestHeavydocumentationFrustratedesignersandprogrammersFrequentlyresultsinmajorunplannediterationsDelaysconfirmationofcriticalriskresolutionDelaysandaggregatesintegrationandtestingIterativeDevelopmentProducesExecutablesPlanningRequirementsAnalysis&DesignImplementationDeploymentTestEvaluationManagementEnvironmentEachiterationresultsinanexecutablerelease.2.1.WhatistheUP?UnifiedProcess(UP)apopulariterativesoftwaredevelopmentprocessforbuildingOOsystemsUPencouragesincludingpracticesfromotheriterativemethods(鼓励引进其他迭代方法中的有用的实践)ExtremeProgramming(XP)(极限编程)ScrumTest-drivenDevelopmentRefactoring(重构)Continuousintegration(持续集成)什么是UP的阶段?什么是UP科目?2.10.WhataretheUPPhases(阶段)Inception(初始)approximatevisionbusinesscasescopevagueestimates.(模糊评估)Elaboration(细化)refinedvisioniterativeimplementationofthecorearchitectureresolutionofhighrisksIdentification(确定)ofmostrequirementsandscopemorerealisticestimates.(更加实际的评估)2.10.WhataretheUPPhasesConstruction(构造)iterativeimplementationoftheremaininglowerriskandeasierelementspreparationfordeployment.Transition(移交)betatestsdeployment2.10.WhataretheUPPhases2.11.WhataretheUPDisciplines?Discipline(科目)asetofactivities(andrelatedartifacts)inonesubjectarea(在一个主题域中的一组活动)DisciplinesinUPBusinessModeling(业务建模)TheDomainModelartifactvisualize(可视化)noteworthy(重要的)conceptsintheapplicationdomain.2.11.WhataretheUPDisciplines?RequirementsTheUse-CaseModelandSupplementarySpecificationartifacts(补充性的规格说明书)capturefunctionalandnon-functionalrequirements.DesignTheDesignModelartifactdesignthesoftwareobjects.2.11.WhataretheUPDisciplines?timecontentDisciplinesgrouprelatedactivities.Inaniteration,youwalkthroughalldisciplines.P35/262.11.WhataretheUPDisciplines?Oneiterationworkgoesoninmostoralldisciplines.Relativeeffortacrossthesedisciplineschangesovertime.

2.11.WhataretheUPDisciplines?HowistheBookStructureInfluencedbyUPPhasesandDisciplines?TheinceptionphasechaptersintroducethebasicsofrequirementsanalysisIteration1introducesfundamentalOOA/Dandassignmentofresponsibilitiestoobjects.(为对象分配职责)Iteration2focusesonobjectdesign,especiallyonintroducingsomehigh-use“designpatterns.“设计模式Iteration3introducesavarietyofsubjects(各种主题),suchasarchitecturalanalysis(架构分析)andframeworkdesign.(框架设计)为什么说初始阶段不是需求阶段?4.1.WhatisInception?TheinitialstepofaprojectThevisionandbusinesscaseforthisprojectFeasible(可行性)Buyand/orbuildRoughunreliablerangeofcost:Isit$10K,100Korinthemillions?Proceedorstop?Thepurposeoftheinceptionphaseisnottodefinealltherequirements,orgenerateabelievableestimateorprojectplan.4.1.WhatisInception?Inceptioninonesentence:Envision(预见)theproductscope,vision,andbusinesscase.Themainproblemsolvedinonesentence:Dothestakeholders(涉众)havebasicagreementonthevisionoftheproject,andisitworthinvestinginseriousinvestigation(认真研究)?4.1.WhatisInception?Ananalogy(对比)Intheoilbusiness,Decideifthereisenoughevidenceorabusinesscasetoevenjustifyexploratorydrilling(勘测钻探).Ifso,domeasurementsandexploratorydrilling.Providescopeandestimateinformation.

Furthersteps…

什么是参与者?

什么是场景?如何写场景?6.2.WhatareActors,Scenarios,andUseCases?Actorsomethingwithbehavior,suchasaperson,computersystem,ororganization;forexample,acashierScenario(UseCaseInstance)aspecificsequenceofactionsandinteractionsbetweenactorsandthesystemoneparticularstoryofusingasystem,oronepaththroughtheusecaseforexample,thescenarioofsuccessfullypurchasingitemswithcash,thescenariooffailingtopurchaseitemsbecauseofacreditpaymentdenial.6.6.WhatareThreeKindsofActors?PrimaryactorhasusergoalsfulfilledthroughusingservicesoftheSuD(SystemunderDiscussion)thecashier.Supportingactor(协助参与者)providesaservicetotheSuD.theautomatedpaymentauthorizationserviceOffstageactor(幕后参与者)hasaninterest(利益)inthebehavioroftheusecase,butisnotprimaryorsupporting;agovernmenttaxagency.什么是用例?

6.2.WhatareActors,Scenarios,andUseCases?UseCaseacollectionofrelatedsuccessandfailurescenariosthatdescribeanactorusingasystemtosupportagoal.RUP Asetofuse-caseinstances,whereeachinstanceisasequenceofactionsasystemperformsthatyieldsanobservable(可观察的)resultofvaluetoaparticularactor

什么是用例实现?18.1.WhatisaUseCaseRealization?Ause-caserealization用例实现DescribeshowaparticularusecaseisrealizedwithintheDesignModel,intermsofcollaboratingobjects.描述用例基于协作对象如何在设计模型中实现theconnectionbetweentherequirementsexpressedasusecasesandtheobjectdesignthatsatisfiestherequirements.18.1.WhatisaUseCaseRealization?如何找到概念类?9.2.WhatisaDomainModel?WhatareConceptualClasses?9.4.-9.5.GuidelinesHowtoCreateaDomainModel?FindtheconceptualclassesDrawthemasclassesinaUMLclassdiagram.AddassociationsandattributesHowtoFindConceptualClasses?Reuseormodifyexistingmodels.Useacategorylist(Table9.1).Identifynounphrases.何时使用描述类建模?什么是数据类型类?什么是限定关联?9.13.WhentoModelwith'Description'ClassesDescriptionClass(描述类)containsinformationthatdescribessomethingelse.aProductDescriptionthatrecordstheprice,picture,andtextdescriptionofanItemWhyUse'Description'Classes?Assumethefollowing:AnIteminstancerepresentsaphysicaliteminastore;ithasadescription,price,anditemID;Everyoneworkinginthestorehasamnesia健忘症.Everytimearealphysicalitemissold,Itemobjectisdeleted.9.13.WhentoModelwith'Description'ClassesWhathappensinthefollowingscenario?ObjectBurgersaresoldout.allinstancesofObjectBurgersaredeleted.WhoknowthecostofObjectBurgers?Description,price,anditemIDduplicatedforeveryinstanceoftheproductspace-inefficientanderror-prone9.13.WhentoModelwith'Description'Classes9.13.WhentoModelwith'Description'ClassesWhenAreDescriptionClassesUseful?Needtobeadescriptionaboutanitem,independentofthecurrentexistenceofanyexamplesofthoseitems.Deletinginstancesofthingsresultsinalossofinformation.Itreducesredundantorduplicatedinformation.9.13.WhentoModelwith'Description'ClassesExample:DescriptionsintheAirlineDomain9.16.AttributesWhentoDefineNewDataTypeClasses(数据类型类)?composedofseparatesections.phonenumber,nameofpersonoperationsassociatedwithit,motionalpricehaveastart(effective)date&enddateaquantitywithaunit.paymentamounthasaunitofcurrencyanabstractionofoneormoretypeswithsomeofthesequalities.itemidentifierinthesalesdomainisageneralizationofUPCandEAN9.16.AttributesWheretoIllustrateTheseDataTypeClasses?16.15.QualifiedAssociation限定关联usedtoselectanobject(orobjects)fromalargersetofrelatedobjectsbaseduponthequalifierkey暗示基于键对事物进行查找什么是SSD?10.2.WhatareSystemSequenceDiagrams?SequenceDiagramsNotationthatcanillustrateactorinteractionsandtheoperationsinitiatedbythem.SystemSequenceDiagramApicturethatshowstheeventsthatexternalactorsgenerate,theirorder,andinter-systemevents.准则:应为每个用例的主成功场景,以及频繁发生的或者复杂的替代场景绘制SSDSSD与用例之间的关系?10.5.WhatistheRelationshipBetweenSSDsandUseCases?

AnSSDshowssystemeventsforonescenarioofausecaseGRASP原则有哪些?请准确理解它们的含义.17.8.AShortExampleofObjectDesignwithGRASPNineGRASPpatternsCreatorInformationExpertLowCouplingControllerHighCohesion17.8.AShortExampleofObjectDesignwithGRASPCreatorProblem:WhocreatestheSquareobject?Name:CreatorProblem:WhocreatesanA?Solution:AssignclassBtheresponsibilitytocreateaninstanceofclassAifoneoftheseistrue(themorethebetter):B"contains"orcompositelyaggregatesA.BrecordsA.BcloselyusesA.BhastheinitializingdataforA.17.8.AShortExampleofObjectDesignwithGRASP17.8.AShortExampleofObjectDesignwithGRASP17.8.AShortExampleofObjectDesignwithGRASPInformationExpertProblem:WhoknowsaboutaSquareobject,givenakey?如果给定键值,谁知道Square对象的相关信息?Name:InformationExpertProblem:Whatisabasicprinciplebywhichtoassignresponsibilitiestoobjects?给对象分配职责的基本原则是什么?Solution:Assignaresponsibilitytotheclassthathastheinformationneededtofulfillit.把职责分配给具有完成该职责所需信息的那个类。17.8.AShortExampleofObjectDesignwithGRASP17.8.AShortExampleofObjectDesignwithGRASPLowCouplingQuestion:WhyBoardoverDog?Name:LowCouplingProblem:Howtoreducetheimpactofchange?如何减少因变化而产生的影响?Solution:Assignresponsibilitiessothat(unnecessary)couplingremainslow.Usethisprincipletoevaluatealternatives.分配职责以使不必要的耦合保持在较低水平。17.8.AShortExampleofObjectDesignwithGRASP17.8.AShortExampleofObjectDesignwithGRASPController17.8.AShortExampleofObjectDesignwithGRASPController17.8.AShortExampleofObjectDesignwithGRASPName:ControllerProblem:WhatfirstobjectbeyondtheUIlayerreceivesandcoordinates(“controls”)asystemoperation?Solution:Assigntheresponsibilitytoanobjectrepresentingoneofthesechoices:17.8.AShortExampleofObjectDesignwithGRASPOption1:Representstheoverall"system,"ora"rootobject“代表全部“系统”“根对象”suchasanobjectcalledMonopolyGame.Option2:Representsadevicethatthesoftwareisrunningwithin;运行软件的设备或主要的子系统。Option3:Representstheusecaseorsession.代表发生系统操作的用例场景asoftwareclasssuchasPlayMonopolyGameHandler.17.8.AShortExampleofObjectDesignwithGRASP17.8.AShortExampleofObjectDesignwithGRASPName:HighCohesionProblem:Howtokeepobjectsfocused,understandable,andmanageable,andasasideeffect,supportLowCoupling?怎样使对象保持有内聚、可理解和可管理,同时具有支持低耦合的附加作用?Solution:Assignresponsibilitiessothatcohesionremainshigh.Usethistoevaluatealternatives.职责分配应保持高内聚17.8.AShortExampleofObjectDesignwithGRASPHighCohesion什么是设计模式?我们共学习了哪些设计模式?请熟练掌握它们的用法.26章ppt什么是持久性对象?37.1.TheProblem:PersistentObjectsAssumethatintheNextGenapplication,ProductDescriptiondataresidesinarelationaldatabase.Itmustbebroughtintolocalmemoryduringapplicationuse.

Persistentobjects持久性对象arethosethatrequirepersistentstorage,suchasProd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论