UML Reference Card
UML Reference Card
0 ReferenceCard
MetaModel=setofdefinitions Ithasaprecisesyntax Describesunderlyingmeaningofeachelement Drawsrelationshipsamongelements Modelconsistofdomains/ontology/hierarchies Classincludes: Componentparts Attributes Operations MODELS MetaModelDefinesconceptsofClass,Attribute,Operation..etc. ModelDefinesthelanguagetousetodescribethedomain e.g.:DefinestheconceptsofOrder,Shipment,Product,ProductID,Buy() UserObjectsDefinesOrder#12322,Shipment#4545,theproduct:CD ROM,Price METHODOLOGIESconsistof: ProcessAsetofactivitiesthataccomplishthegoals VocabularyUsedtodescribetheprocessandtheworkproducts ASetofRulesandGuidelinesDefinethequalityoftheprocessand workproducts Thevocabulary(expressedasnotation)isapplicabletomanymethodologies 3PRIMARYVIEWS: Viewisacollectionofdiagramsthatdescribeasimilaraspectofaproject: Viewsthesystemfromtheperspectiveofhowexternalentities(ppl& systems)needtointeractwiththesystem FunctionalViewfunctionsareexpressesinitiallyasgoals,thenfleshed outinnarrativetodescribewhatthefunctionisexpectedtodotoachieve thegoal;Modelstheworkflow&businessprocess
ObjectDiagramillustratesfactsintheformofobjectstomodelexamples andtestdata.
2)
Constraintsarelimitations/boundariesaroundwhatyoucando todevelopasolutionforthesystem;itlimitstheoptionsyouhave ateveryphaseofdevelopment.Typeofconstraints:userlimits likeclientskills;limitationsimposedbypolicies,procedures,laws, contracts;technicallimitslikeprotocols,legacy,dataconversions, datatypesandsizes;performancelimitsthatconflictwithor sabotagebusinessrequirements. Ruleswhereconstraintsarelikemandates,rulesare agreements.Rulesshouldbeenforcedbutifabetterwaytodo somethingisfound,itcanbenegotiabletothestakeholders; businessdirectivesanddecisionsderivedfromlegislation, regulationsarecommon;rulesrefocusyourattentiononwhythe clientisdoingthejobaparticularway. Performancehowwellthesystemshouldperformwhenyou useit;questionsonhowmanyuserswillusethesystem?How manyconcurrently?Howslowcanthesystembebeforeit interfereswithwork,operationortransaction?
3)
4)
4REQUIREMENTCATEGORIES: 1) BusinessProcessTouseasystem,youneedtoknowhowto interactwithitandwhy;describeyourrelationshipwiththe systemintermsofinteractions;lookbeyondtheprocessintothe reasonoftheprocess(justificationofhavingtheprocess) Whatresultsdoestheoperation/processproduce? Whatwouldhappentotherestofthesystemifyoudidnt havetheprocessinplace? Wouldanotheralternativeprocessfail? Focusonresultsthanprocesses;quantifythevalueoftheresults;allocate resourceproportionaltothevalueofresults
ObjectOrientatedPrinciples(OOP): Abstractionisarepresentationofsomething;onlydescribesinformationthat youneedinordertosolveaproblem. Therulesthatdefinetherepresentationmakeupaclass.(Defintion, template,blueprint) Anobjectisaninstance(representation)oftheclasswhichcreated, manufacturedorinstantiated. Tofunctionproperly,everyobjecthastoknow: Itsowncurrentcondition(state) Candescribeitself Knowswhatitcando Whatcanbedonetoit Encapsulation Whatyouneedtoknowinordertousetheobject Whatyouneedtoknowtomaketheobjectworkproperly (exposinginterfaces) Whatneedstobeinsidetheobjecttoworkproperly: Implementationsforeachinterface Datathatdescribesthestructureoftheobject Datathatdescribesthecurrentstateoftheobject Purposedrivesthedesignanduseoftheobject USECASE UseCaseModelincludes:1)diagram,2)narrative&3)scenarios. UseCasesfocusesoncriticalsuccessfactorsofthesystem.Featurescanbe tested,modeled,designedandimplemented
BuildingAttributesinClassDiagram
ElementsofUseCaseDiagram: Systemsetstheboundaryofthesysteminrelationtotheactors whouseit(outsidethesystem)andthefeaturesitmustprovide (insidethesystem) Actoraroleplayedbyaperson,system,ordevicethathasa stakeinthesuccessfuloperationofthesystem UseCasekeyfeature,withoutthesystemwillnotfulfillthe user/actorrequirements. Associationidentifiesaninteractionbetweenactorsanduse cases.Eachassociationbecomesadialogthatmustbeexplained inthenarrative. Dependencyidentifiescommunicationrelationshipbetween twousecases. Generalizationdefinesarelationshipbetweentwoactorsor twousecaseswheretheusecaseinheritsandaddstoor overridesthepropertiesofanother. Setthecontextofthetargetsystem(frameofreference);problem statement;contextdefinesplaceofthesystemwithinthebusiness,work processes,people,objectives,dependentsystems,jobduties,constraints impositions. Identifytheactors(personorsystem) Identifytheusecases.Whatdoesthesystemproduceforthe actor(criticaloutputs)? Whatdoestheactorhelpthesystemdo?Whatdoesthesystem dotohelptheactor. Defineassociations RelationshipNotations: AssociationnotationactorcommunicateswiththeUseCase Stereotypenotationuseof<<>>onUMLclassifierslike:classes, UseCaseDependencies,Packages <<include>>whenausecasealwaysasksforhelpfromanother usecase;needtodelegatesomeduties <<extend>>whenausecasemightasksforhelpfromanother usecase ElementsofaUseCaseNarrative: Assumptionsstateofthesystemthatmustbetruebefore neededconditionsaremet Preconditionssameasassumptionsexceptitistestedbythe system UseCaseInitiationtriggertolaunchusecase;whatisthe triggeringmechanism? ProcessorDialogstepbystepdescriptionoftheconversation betweenusecase(system)andtheactor;sequenceofevents (matchwithactivitydiagram)
BasicAssociationNotations:
ASSOCIATION,AGGREGATIONandCOMPOSITION
AnAggregationandCompositionRelationship
Aggregationisspecialtypeofassociation
ActivityDiagram
Isolateeachtaskasanactivity.Indicatethesequenceof taskbydrawingthetransitionarrowfromoneactivityto another. Multipleprocessesmaytakeplaceatthesametime,so useaforkandsynchronizationbartoshowcompletionof multipleprocesses. Use[brackets]toshowconditionals Endpointsaredesignatedwiththebullseyeicon.
MessageStimulus(call,signal,response)
Allsequencediagramsaremodeledattheobjectlevelinsteadofthe classlevel.
MessageStimulus(call,signal,response)
Messagesmaybesynchronous(requiringaresponse)or asynchronous(notrequiringaresponse).Asimpleor synchronousmessageusesasolidlinewithasolidarrow.
Diamondiconisalsousedtomodelamergepoint,theplace wheretwoalternativepathscancometogether.
Aguardiswhencertainthingshavehappenedbefore continuingon;placeconditionsinsquarebracket
Decisionsareplacedwithguardconditions
REQUIREMENTSANALYSIS: Identifysourcesofrequirements(elicitation) Recordbusinessrules Specifyqualityattributes Identifyrisksandconstraints Identifysystemeventsandresponses Drawcontextdiagrams Createprototypes AnalyzeFeasibility Prioritizerequirements Allocateandorganizerequirementstosubsystems Applyqualityfunctiondeployment(testrequirements) Inspectrequirementdocuments Performchangeimpactanalysis Baselineandcontrolrequirementversions Maintainchangehistory Createrequirementstraceabilitymatrix ELICITATIONTECHNIQUES Identifyuserclasses(partitionusersbasedonfeatures used,frequency,privilegelevelsandskilllevels) Establishfocusgroups Selectproductchampions(actasthevoiceofthe customer) Holdfacilitatedelicitationworkshops Observerworkersinjobs(shadow) Examineproblemreportsandbugs Reuseandsalvageviablerequirements
ModelSystemComponents: Noun: People,organizations,softwaresubsystems,dataitems,or objectsthatexist Terminatorsordatastores(DFDDataFlow Diagrams) Actors(UseCases) EntitiesandAttributes(ERDDiagrams) ClassesandClassAttributes(ClassDiagrams) Verb: Actions,thingsausercando,oreventsthatcantakeplace Processes(DFD) UseCases(UCD) Relationships(ERDEntityRelationshipDiagram) Transitions(STDStateTransitionDiagram) Activities(ActivityDiagram)
GuidelineWritingRequirements:
Writeshortanddirectsentences. Usetheactivevoice(Thesystemshalldo<function>) Usetermsconsistently;definedinglossary;watchfor synonyms Decomposevagueandinsufficientdetailtoclarifyand removeambiguity Use:Theusershallorthesystemshallinaconsistent fashion Specifytriggerconditionoractionthatcuasethesystem toperformthespecifiedbehavior Youmayusewordmust;avoidshould,must,might SpecifythespecificactorinsteadofTheusershall