Introducing Unified Modeling Language 2003-02-26 Byungwook Cho (byungwook.cho@oracle.com)
Table of contents What is UML? Elements of UML Use case diagram Activity diagram Class diagram Sequence diagram Collaboration diagram Component diagram Deployment diagram
Key point Kind of UML diagram Role of each UML diagram Trace UML diagram
1. What is UML ? Unified Modeling Language Just Notation Goal To model system using object-oriented concepts. To visualize software structure To create modeling language useable by both humans and machines History 1994. Grady Booch (Booch Method), James Rumbaugh (OMT-2) 1995. Ivar Jacobson (OOSE and the Objectory) Rational Software (IBM.2002)
2. Elements of UML Elements of UML Things  Relationships Diagram Interaction model of things
2. Elements of UML 1) Elements - Things Structural things Static things Class,Use case,Component,Nodes. Behavioral things Dynamic things. Message,States. Grouping things Aggregate elements of UML Package Annotational things Like comment. Note
2. Elements of UML 2) Elements - Relationship  Dependency Association (method call etc.) Generalization Realization ( 특정  Things 를 구체화하여 표현하는 관계 )
2. Elements of UML 3) Elements – Diagrams Use case diagram Activity diagram Class diagram Sequence diagram Collaboration diagram Component diagram Deployment diagram
UML Diagrams Use case  Diagram Class  Diagram Sequence Diagram Collaboration Diagram Activity  Diagram Component Diagram Deployment Diagram Static Dynamic Analyze system domain (Use Case View) Relationship between class,object (Logical view) System structure and arrangement (Physical view or Implementation view) Development process
3. Use case diagram Use case Diagram Define interaction between system and external environment  ※  external environment user,external system etc. Visualize system function and elements. Frequently used in analysis phase. Main factor in RUP Consists of Actor,Use case,Association -> Diagram Use case description Very Important!!
3. Use case Diagram Use case diagram ※  Think point : use case scope. Buy Drink Add Ice <<extend>> Insert Coin <<include>> Bending Machine Buyer
3. Use case Diagram Use case description Define use case do “What”, not “How”. Include Start condition. Functional flow of use case. Interaction within actor and use case. Data,selection,exception flow. ▷  Use case:  Use case name ▷  Actor:  Actor name that uses this use case ▷  Cross Reference :  Requirement # in client requirement list ▷  Purpose:  mission objective of this use case ▷  Overview:  over view of this use case ▷  Type:  Primary,Secondary, or Optional ▷  Main Flow ▷  Detailed Flow ▷  Alternative Flow ▷  Exception ○  Actor Action … … 4.  … ○  System Response 3.  … 시작조건 <Actor> <Event>
4. Activity / State Diagram Activity / State Diagram Modeling  dynamic  behavior of system. Can be used in modeling  use case life cycle,system life cycle and object life cycle etc. Modeling object state transition (by event). Consists of Activity,Transition,Decision,Synchronization bars,State,Swim Lane ※  Activity Diagram – Business Process,Operation Algorithm. ※  State Diagram – Pre/Post condition of component.
4. Activity / State Diagram Working Check System Clock Input user action Display user action to screen action Wait for user action Refresh time  [Time check] Run screen saver H [Time over]  Press key or move mouse History State Sub state Sub state State transition
5. Class Diagram Class diagram A common techniques to modeling object oriented system. Modeling interaction within class/interface. Modeling in  static view . Consists of Package,Class,Interface,Association. Class stereo type (Entity,Boundary,Control : MVC) Phase of class diagram Conceptual model  (Not for software design, just for analysis) Logical model  (None system dependent software structure,MVC) Implementation model  (+ Architecture,System dependent)
5. Class Diagram Class Person{ Company employer = null; : }// Class Person Class Company{ : }// Class Company Multiplicity Association Name Role Name
6. Sequence Diagram Sequence diagram Dynamic diagram  that describe interaction between object. Focus on  time sequence . Define message between object Frequently be used in describing  use case scenario. Can describe sequence,selection,iteration. ※  can be used in extract class method in logical class model. Consists of Actor,Object,Message object life cycle line,operation running time
6. Sequence Diagram Example) 1. GUI notify key stroke to OS 2. Os notify key stroke to CPU 3. OS update UI. 4. CPU request updating screen to video card. 5. Video Card send update screen to monitor. 6. Monitor display some character and feed back to use :GUI :OS :CPU :Video Card :Monitor Keystroke feedback 1.notify 2.notify 3.updateRequest 4. updateScreen Object Life cycle Operation running time User
6. Sequence Diagram :GUI :Os :CPU :Video Card :Monitor Keystroke feedback Init Process Exit ※  Sequence diagram with object state User
7. Collaboration Diagram Collaboration Diagram Dynamic diagram  that describe interaction between object.  Focus on  collaboration structure and organization  between object. Modeling  link within object.  (can extract to association in class diagram) Same as sequence diagram ※  Frequently used to define class method in “Implementation Class Diagram” Consists of Object,Link,Message,Data Token
7. Collaboration Diagram :GUI[Process] :OS :CPU :Video Card :Monitor Key stroke 1: notify(Key stroke) 4: notify(Key) 3: update(key stroke) 5: display(Key) 6: feedback() :GUI[Init] <<become>> State State transition User
8. Component Diagram Component diagram Define dependency between physical element of software and other elements (class etc.) Realize class in class diagram Consists of Package,Dependency,Interface,Component Component Source component Binary component (*.dll,*.class,beans) Executable component (*.exe,server)
8. Component Diagram
9. Deployment Diagram Deployment Diagram Define ‘hardware deploy structure’ of each software element. Consists of Device,Process,Connection
9. Deployment Diagram Device
※  UML diagram tracing relationship. Use case Diagram Activity/State Diagram Class Diagram Conceptual Model Logical Model Implementation Model Sequence Diagram Collaboration Diagram scenario class,attribute method UI Design Architecture DB Design Pattern Deployment Diagram Component Diagram ongoing Analyze system domain (Use Case View) Relationship between class,object (Logical view) System structure and arrangement (Implementation Diagram) Static Dynamic Use case Diagram use case realization realization deploy structure
Object Oriented Software Development Process RUP,XP,OSP,SSADM,Information Engineering Methodolgy Key factor Incremental Iterative Device and conquer
Books UML UML distilled  Beginning java object / Wrox UML toolkit Building web application with UML / Addison Wesley OSP Applying UML and patterns 2 nd  Ed– Larman / Prentice Hall XP Extreme programming installed / Addison Wesley RUP Visual modeling with rational rose 2000 and uml / Addison Wesley The rational unified process an introduction / Addison Wesley

Introducing Uml And Development Process

  • 1.
    Introducing Unified ModelingLanguage 2003-02-26 Byungwook Cho (byungwook.cho@oracle.com)
  • 2.
    Table of contentsWhat is UML? Elements of UML Use case diagram Activity diagram Class diagram Sequence diagram Collaboration diagram Component diagram Deployment diagram
  • 3.
    Key point Kindof UML diagram Role of each UML diagram Trace UML diagram
  • 4.
    1. What isUML ? Unified Modeling Language Just Notation Goal To model system using object-oriented concepts. To visualize software structure To create modeling language useable by both humans and machines History 1994. Grady Booch (Booch Method), James Rumbaugh (OMT-2) 1995. Ivar Jacobson (OOSE and the Objectory) Rational Software (IBM.2002)
  • 5.
    2. Elements ofUML Elements of UML Things Relationships Diagram Interaction model of things
  • 6.
    2. Elements ofUML 1) Elements - Things Structural things Static things Class,Use case,Component,Nodes. Behavioral things Dynamic things. Message,States. Grouping things Aggregate elements of UML Package Annotational things Like comment. Note
  • 7.
    2. Elements ofUML 2) Elements - Relationship Dependency Association (method call etc.) Generalization Realization ( 특정 Things 를 구체화하여 표현하는 관계 )
  • 8.
    2. Elements ofUML 3) Elements – Diagrams Use case diagram Activity diagram Class diagram Sequence diagram Collaboration diagram Component diagram Deployment diagram
  • 9.
    UML Diagrams Usecase Diagram Class Diagram Sequence Diagram Collaboration Diagram Activity Diagram Component Diagram Deployment Diagram Static Dynamic Analyze system domain (Use Case View) Relationship between class,object (Logical view) System structure and arrangement (Physical view or Implementation view) Development process
  • 10.
    3. Use casediagram Use case Diagram Define interaction between system and external environment ※ external environment user,external system etc. Visualize system function and elements. Frequently used in analysis phase. Main factor in RUP Consists of Actor,Use case,Association -> Diagram Use case description Very Important!!
  • 11.
    3. Use caseDiagram Use case diagram ※ Think point : use case scope. Buy Drink Add Ice <<extend>> Insert Coin <<include>> Bending Machine Buyer
  • 12.
    3. Use caseDiagram Use case description Define use case do “What”, not “How”. Include Start condition. Functional flow of use case. Interaction within actor and use case. Data,selection,exception flow. ▷ Use case: Use case name ▷ Actor: Actor name that uses this use case ▷ Cross Reference : Requirement # in client requirement list ▷ Purpose: mission objective of this use case ▷ Overview: over view of this use case ▷ Type: Primary,Secondary, or Optional ▷ Main Flow ▷ Detailed Flow ▷ Alternative Flow ▷ Exception ○ Actor Action … … 4. … ○ System Response 3. … 시작조건 <Actor> <Event>
  • 13.
    4. Activity /State Diagram Activity / State Diagram Modeling dynamic behavior of system. Can be used in modeling use case life cycle,system life cycle and object life cycle etc. Modeling object state transition (by event). Consists of Activity,Transition,Decision,Synchronization bars,State,Swim Lane ※ Activity Diagram – Business Process,Operation Algorithm. ※ State Diagram – Pre/Post condition of component.
  • 14.
    4. Activity /State Diagram Working Check System Clock Input user action Display user action to screen action Wait for user action Refresh time [Time check] Run screen saver H [Time over] Press key or move mouse History State Sub state Sub state State transition
  • 15.
    5. Class DiagramClass diagram A common techniques to modeling object oriented system. Modeling interaction within class/interface. Modeling in static view . Consists of Package,Class,Interface,Association. Class stereo type (Entity,Boundary,Control : MVC) Phase of class diagram Conceptual model (Not for software design, just for analysis) Logical model (None system dependent software structure,MVC) Implementation model (+ Architecture,System dependent)
  • 16.
    5. Class DiagramClass Person{ Company employer = null; : }// Class Person Class Company{ : }// Class Company Multiplicity Association Name Role Name
  • 17.
    6. Sequence DiagramSequence diagram Dynamic diagram that describe interaction between object. Focus on time sequence . Define message between object Frequently be used in describing use case scenario. Can describe sequence,selection,iteration. ※ can be used in extract class method in logical class model. Consists of Actor,Object,Message object life cycle line,operation running time
  • 18.
    6. Sequence DiagramExample) 1. GUI notify key stroke to OS 2. Os notify key stroke to CPU 3. OS update UI. 4. CPU request updating screen to video card. 5. Video Card send update screen to monitor. 6. Monitor display some character and feed back to use :GUI :OS :CPU :Video Card :Monitor Keystroke feedback 1.notify 2.notify 3.updateRequest 4. updateScreen Object Life cycle Operation running time User
  • 19.
    6. Sequence Diagram:GUI :Os :CPU :Video Card :Monitor Keystroke feedback Init Process Exit ※ Sequence diagram with object state User
  • 20.
    7. Collaboration DiagramCollaboration Diagram Dynamic diagram that describe interaction between object. Focus on collaboration structure and organization between object. Modeling link within object. (can extract to association in class diagram) Same as sequence diagram ※ Frequently used to define class method in “Implementation Class Diagram” Consists of Object,Link,Message,Data Token
  • 21.
    7. Collaboration Diagram:GUI[Process] :OS :CPU :Video Card :Monitor Key stroke 1: notify(Key stroke) 4: notify(Key) 3: update(key stroke) 5: display(Key) 6: feedback() :GUI[Init] <<become>> State State transition User
  • 22.
    8. Component DiagramComponent diagram Define dependency between physical element of software and other elements (class etc.) Realize class in class diagram Consists of Package,Dependency,Interface,Component Component Source component Binary component (*.dll,*.class,beans) Executable component (*.exe,server)
  • 23.
  • 24.
    9. Deployment DiagramDeployment Diagram Define ‘hardware deploy structure’ of each software element. Consists of Device,Process,Connection
  • 25.
  • 26.
    ※ UMLdiagram tracing relationship. Use case Diagram Activity/State Diagram Class Diagram Conceptual Model Logical Model Implementation Model Sequence Diagram Collaboration Diagram scenario class,attribute method UI Design Architecture DB Design Pattern Deployment Diagram Component Diagram ongoing Analyze system domain (Use Case View) Relationship between class,object (Logical view) System structure and arrangement (Implementation Diagram) Static Dynamic Use case Diagram use case realization realization deploy structure
  • 27.
    Object Oriented SoftwareDevelopment Process RUP,XP,OSP,SSADM,Information Engineering Methodolgy Key factor Incremental Iterative Device and conquer
  • 28.
    Books UML UMLdistilled Beginning java object / Wrox UML toolkit Building web application with UML / Addison Wesley OSP Applying UML and patterns 2 nd Ed– Larman / Prentice Hall XP Extreme programming installed / Addison Wesley RUP Visual modeling with rational rose 2000 and uml / Addison Wesley The rational unified process an introduction / Addison Wesley