5. steps of objectmodelling Classidentification Fundamentalassumtionsthatwe can findabstractions. Findingtheattributes Findingtheoperations Findingtheassociationsbetweenclasses Order of thesteps is secondary. Goal is gettingdesiredabstraction.
6. steps of objectmodelling Maingoal is findingtheimportantabstraction. Whenwefindthewrongabstractions : Iteratethenrenamethem. Revisethe model. Youwillneverfreezeyourrequirements. Youwillchangerequest. You can do an anotherreview.
9. Classidentificationproblems Definition of thesystemboundary Actorsareoutsidethesystem ClassesandObjectsare inside thesystem. Findingtheclassesandobjects Theapplciation domain has to be analyzed. Differentobjects has to be founddepending on systempurpose. Identifyingthepurpose is another problem.
10. Types of objects EntityObjects Representpersistentinformationtrackedbythesystem. Ex: Databases. BoundaryObjects Interactionbetweenuserandsystem. Ex: microfon (PC microphone, Lapelmicrophone) ControlObjects Controltasksto be performedbythesystem.
11. 2bwatch modelling Year <<Entity>> Button <<Boundary>> Month ChangeDate <<Control>> LCD Display Day Boundary Control Entity
13. Graphicsforstereotype Developers can understand UML diagrams. Customer can understandgraphicseasily. Sowearepeelingoffgraphicstodiagrams. This is pros&cons of graphics. Weseethat UML is an extensiblelanguage.
14. Objecttypesdealwithdifferentchanges Having 3 types of objectleadsto model thatarestrongertochanges. Interface of a systemchangesmorethancontrol Controlchangesmorethanentities in application domain. Objecttypesoriginated in Objective C (MVC) Model -> EntityObject View -> BoundaryObject Controller -> ControlObject Observerpattern is a specialkind of MVC (willsee in nextweek)
15. Abbott’sTechnique Pick a usecaseandlook at flow of events Do textualanalysis Nounsareobjects /classes Verbsareoperations Afterobject/classesarefoundidentfytheirtype. Real worldentities (FieldOfficer EntityObject) Real worldprocedures (Emergency Plan ControlObjects Interfaceartifacts (PoliceStation BoundaryObjects) 50 yearsagoeveryvillage has a policestation but now not. Monopoly is a board game. Monopoly : subclass Board game: superclass is a / neithernor / eitherorshowsinheritance
19. whousesclassdiagrams Description of thestaticproperties of a system. Application domain expert: Usesclassdiagramto model theapplication domain. Developer: Usesclassdiagramsduringsystemdevelopment. Analysis, systemdesign, objectdesignandimplementation. Clientsandendusersareusually not interested in classdiagrams. Functionality of a system.