(Reference: Jason Roff – UML Beginner’s Guide). Grady Booch, Ivar Jacobson, Jim Rumbaugh ...
Embed Size (px)
Transcript of (Reference: Jason Roff – UML Beginner’s Guide). Grady Booch, Ivar Jacobson, Jim Rumbaugh ...
UML for Domain Models
UML for Domain Models(Reference: Jason Roff UML Beginners Guide)1Universal Modeling Language (UML)Grady Booch, Ivar Jacobson, Jim RumbaughStandard method of creating diagrams and modeling system architecturesThere are 14 Diagrams Types 7 Diagram Types are Structural7 Diagram Types are Dynamic
ClassesBoxTop section is class nameSecond section is class attributes (data members)Third section is class member functionsNotation+ public access- private access# protected access
3A UML Class Diagram for CourseCourse-enrollmentLimit-nEnrolledStudents-startTime-endTime-instructor+getInstructor()+getStartTime()+getDuration()4Attribute Format-enrollmentLimit:Integer = 20-nEnrolledStudents: Integer=0-startTime: Date-endTime: Date-instructor: String-meetingDays[1..7]: Integer-/meetingHoursWeek:float5Class RelationshipsShow relationships with line and association name. ProfessorStudentteaches >takes >Course6MultiplicityProfessorCourse11..*Professors teach 1 or more courses.Courses have exactly one professor.teaches > 7RolesProfessorCourse11..*teaches > InstructorGraduate Student0..*0..*Teaching Assistantgrades > 8Class Instances (OBJECTS)Objects are differentiated from class with an underline and a class name qualifier
Course:Cs350-enrollmentLimit = 20-nEnrolledStudents = 24-startTime : 14:00-endTime: 14:50-instructor: Ribler9Inheritance (Empty Arrow)Empty arrow points to base class (superclass) from derived class (subclass)PersonProfessorStudentTutorTeaching Assistant10Car ClassComposition and Aggregation Engine ClassComposition is expressed with a filled diamond.Aggregation is expressed with a unfilled diamond.
List ClassSprite Class11Activity DiagramsModel workflows for use-cases (analysis)Model object behavior (design)
12SymbolsStart SymbolEnd SymbolActivity Symbol (contains action name)Name of ActionDecision Points13GuArds With Decision PointCreate FileUpdate File[new file][file already exists]14Guard without Decision PointCreate FileUpdate File[new file][file already exists] Record Data15Events and TriggersIndicators that an action has taken place
ReadyPrint FileSave FileCreate New FilePrint(File, Printer)SaveAs(Filename)CreateNew(Filename)16Forks Show concurrency
Login Load Grades Load Classes17JOins Load Grades Load Classes Display Data18Swim LanesTelephoneOperatorPOS SystemDatabase WrapperDetermine Type Load InventoryPurchase() Display Error[failure]Change Inventory Store Inventory Display Error[failure]19Sequence DIagramsModel interaction between active objectsConsist of two componentsActive objectsInteractions between active objectsSpaceShipShoot20LiFElines Indicate Active Objects SpaceShipUFOShootXX indicates the end of the objects life.21Conditions Can be Placed on Messages Indicate Active Objects SpaceShipUFOIssue Warning
[UFO in Range]22Message ArrowsSynchronous Flow is suspended until return from the call. (filled arrow head)
Return Synchronous message is no longer blocked.
Asynchronous Non-blocking message. Sender doesnt wait for reply.
Flat synchronization is unspecified.23Creating and Destroying ObjectsSpaceShipMissile
X24Sequence Diagrams use Rounded Rectangles to indicate StateSpaceShipUFOIssue Warning
[UFO in Range]Under ThreatSurrenderTaken Prisoner
Imprisoned25BranchingSpaceShipUFOAsteroid[in alien war][at peace]shootshoot26Users can be drawn As Stick FiguresATMLoginPrompt for transaction type