introductionto software engineering Prof. BerndBrueggeChapter 5 – Analysis: ObjectModellingMurat Hacioglu
OutlineLastLecture : FunctionalModellingNow: ObjectModelling
ObjectModellingActivitiesduringobjectmodelling,ObjectIdentification,Abott’sTechniqueTypes: Entity, BoundaryandControlObjects,
scenario -> usecase -> object
steps  of objectmodellingClassidentificationFundamentalassumtionsthatwe can findabstractions.FindingtheattributesFindingtheoperationsFindingtheassociationsbetweenclassesOrder of thesteps is secondary.Goal is gettingdesiredabstraction.
steps  of objectmodellingMaingoal is findingtheimportantabstraction. Whenwefindthewrongabstractions : Iteratethenrenamethem.Revisethe model.Youwillneverfreezeyourrequirements.Youwillchangerequest.You can do an anotherreview.
classidentificationHelpstoidentifytheimportantentities of a systemForwardEngineeringFindtheclassesfor a new software systemReverseEngineeringIdentifytheclasses in an existingsystem.
CLASS IDENTIFICATION APPROACHESApplication domain approachSyntacticapproachAnalyzethetexttoidentifytheobjectsDesignpatternsapproach (nextweek)Identifyrelevantabstractions. Ex: Chessgame, bishop, queen.. like software pattern.Component – basedapproachIdentifyexistingsolutionclasses.
ClassidentificationproblemsDefinition of thesystemboundaryActorsareoutsidethesystemClassesandObjectsare inside thesystem.FindingtheclassesandobjectsTheapplciation domain has to be analyzed.Differentobjects has to be founddepending on systempurpose.Identifyingthepurpose is another problem.
Types of objectsEntityObjectsRepresentpersistentinformationtrackedbythesystem. Ex: Databases.BoundaryObjectsInteractionbetweenuserandsystem. Ex: microfon (PC microphone, Lapelmicrophone)ControlObjectsControltasksto be performedbythesystem.
2bwatch modellingYear<<Entity>>Button<<Boundary>>MonthChangeDate<<Control>>LCDDisplayDayBoundaryControlEntity
icons can identifystereotypeWe can skipone of this 3 models.SystemBoundary
GraphicsforstereotypeDevelopers can understand UML diagrams.Customer can understandgraphicseasily.Sowearepeelingoffgraphicstodiagrams.This is pros&cons of graphics.Weseethat UML is an extensiblelanguage.
ObjecttypesdealwithdifferentchangesHaving 3 types of objectleadsto model thatarestrongertochanges.Interface of a systemchangesmorethancontrolControlchangesmorethanentities in application domain.Objecttypesoriginated in Objective C (MVC)Model -> EntityObjectView  -> BoundaryObjectController -> ControlObjectObserverpattern is a specialkind of MVC 	(willsee in nextweek)
Abbott’sTechniquePick a usecaseandlook at flow of events Do textualanalysis Nounsareobjects /classesVerbsareoperationsAfterobject/classesarefoundidentfytheirtype.Real worldentities  (FieldOfficer  EntityObject)Real worldprocedures (Emergency Plan  ControlObjectsInterfaceartifacts (PoliceStation  BoundaryObjects)50 yearsagoeveryvillage has a policestation but now not.Monopoly  is a board game.Monopoly : subclassBoard game: superclassis a / neithernor / eitherorshowsinheritance
HowtofindobjectSyntacticalinvestigationwithAbbot’stechnique.UseothersourcesApplicationknowledge: Endusersandexpertsknow.Solutionknowledge: Abstraction in thesolution domain.General worldknowledge: Ourgenericknowledge.
GeneratingclassdiagramsClassidentificationIdentification of attributesandoperationsIdentification of associationsbetweenclassesIdentification of multiplicitiesIdentification of rolesIdenfication of inheritance.
whousesclassdiagramsDescription 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.
DynamicModelling– Wherearewe?

Object Modelling in Software Engineering