• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Uml
 

Uml

on

  • 8,654 views

Introduction to Unified Modeling Language (UML)

Introduction to Unified Modeling Language (UML)

Statistics

Views

Total Views
8,654
Views on SlideShare
8,503
Embed Views
151

Actions

Likes
10
Downloads
641
Comments
0

7 Embeds 151

http://www.presefy.com 43
http://scitssduml.weebly.com 42
http://presefy.oikosulku.net 23
http://comunidad.itsae.edu.ec 22
http://presefy.com 13
http://www.weebly.com 5
http://www.linkedin.com 3
More...

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Uml Uml Presentation Transcript

    • Unified Modeling Language UML Parag Shah Twitter: @coding_insights
    • Modeling Most manufacturing and building processes require the creation of a model before the actual product is created.
    • Models in architecture
    • Automobile models
    • Why is modeling important ?
        For better communication among stake holders
    • Why is modeling important ?
        For documenting high level design decisions
    • Why is modeling important ?
        For risk reduction
    • Why is modeling important ?
        For what-if analysis
    • Why is modeling important ?
        Allows re-use of design components and patterns across projects
    • Why is modeling important ?
        If you don't do modeling, you may have to ...
    • Different views of a system
        Every system can be viewed from multiple perspectives or views
    • Different views of a system
    • Different views of a system
    • Views in a software system
      • Modules
      • Classes and their relations
      • Real time interactions
      • Data flow
      • Deployment
      • User Interface
      • … etc
    • Many modeling languages
      • Between 1970 and late 1980's many people experimented with modeling techniques and notations
      • Some popular notations
        • Booch
        • OMT
        • OOSE (object oriented software engineering methodology – Ivar Jacobsen)
      • Clearly unification was required
    • Unification
      • In 1994 Grady Booch and James Rumbaugh started unifying Booch and OMT at Rational Corporation
      • In 1995 Ivar Jacobsen joined them and started merging OOSE
      • The unification resulted in UML 0.9 in 1996
    • UML
      • Managed by the OMG
      • Set of rules and notations for specifying a software system
      • The notation is graphical and extensible
    • UML Diagrams
      • Structural diagrams
      • Behavioral diagrams
      • Interaction diagrams
    • UML Structural Diagrams
      • Class diagram
      • Object diagram
      • Component diagram
      • Composite structure diagram
      • Package diagram
      • Deployment diagram
    • UML Behavioral Diagrams
      • Use case diagram
      • Activity diagram
      • State machine diagram
    • UML Interactions Diagrams
      • Sequence diagrams
      • Communication diagrams
      • Interaction overview diagrams
    • UML Structural Diagrams
        Structural diagrams depict structural aspects (static relationships) of a system
    • Class Diagrams Class diagrams represent the static structure of the classes in the software system, and illustrate attributes, operations, and relationships between the classes.
    • Class Diagrams – A class Person - name: String - age: int + toString: String Name Attributes Operations
    • Class Diagrams
      • Class diagrams are also used to denote dependencies
        • Weak dependency … USES-A
        • Association … HAS-A
        • Aggregation … OWNS-A
        • Composition … Stronger OWNS-A
        • Generalization / inheritance … IS-A, IS-LIKE-A
    • Class Diagrams
      • Associations
    • Class Diagrams
      • Composition is a stronger association
    • Class Diagrams
      • Inheritance
    • Object Diagrams Object diagrams provide information about the relationships between instances of classes at a particular point in time.
    • Object Diagrams org1:Organization emp1:Employee + Id: 200010
    • Component Diagrams
      • Component diagrams show how the components of a system relate to each other
      • Components are at a higher level of abstraction than classes
      • Components usually consist of multiple classes
    • Component Diagrams
      • Acknowledgement – Many thanks to Scott Ambler for giving me permission to use this diagram from his article on UML 2 Component Diagrams
    • Composite Structure Diagrams
      • Composite structure diagrams show the internal structure of a class and the collaborations that are made possible
    • Composite Structure Diagrams
    • Package Diagrams
      • Package diagrams show the organization of namespaces in a software system
      • Package diagrams show us how the software system is divided into packages and the dependencies among them
      • Package diagrams can show us a very high level view of components, layers, and dependencies in a software system
    • Package Diagrams Source: http://en.wikipedia.org/wiki/File:Package_Diagram.PNG
    • Behavioral Diagrams
      • Behavioral diagrams depict behavioral aspects of a system
      • Diagrams
        • Use Case Diagrams
        • Activity Diagrams
        • State Machine Diagrams
    • Use Case Diagrams Use case diagrams show the interactions of users and external entities with the system being created. They are very good for depicting high level requirements of a system.
    • Use Case Diagrams Actor Use Case Boundary LogIn
    • Use Case Diagrams
    • Use Case Diagrams Use cases can also extend and include other use cases
    • Activity Diagrams Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. - Wikipedia
    • Activity Diagrams
    • State Machine Diagrams State machine diagrams are used to depict the state transitions of a single object in response to events. They are modeled in a similar way as activity diagrams.
    • Interaction Diagrams
      • Interaction diagrams depict the interactions in a system
        • Sequence diagrams
        • Communication diagrams
        • Interaction overview diagrams
    • Sequence Diagrams
        Sequence diagrams show how entities in a system interact including the messages that are passed in the order of execution
    • Sequence Diagrams - Entities Actor – represents external entities in the system. They could be human or external systems. General lifeline, represents an individual entity Entity, represents beans, and other objects that hold data or information. Boundary element, represents elements at the boundary of a system, such as UI elements or backend logic which deals with external systems. Control element, manages the flow of control for a scenario.
    • Sequence Diagrams - Messages Synchronous message Asynchronous message Self message
    • Sequence Diagram - Fragments Fragments are sections of logic which are executed given a particular condition.
    • Sequence Diagram
    • Communication Diagrams Communication diagrams (aka collaboration diagram) are similar to sequence diagrams, but they do not have lifelines, and are more free form in nature. The focus is usually object relationships between boundary, control, and entity types.
    • Communication Diagrams
    • Interaction Overview Diagrams Interaction overview diagram is a special type of activity diagram, where each node is a link to another type of interaction diagram.
    • Interaction Overview Diagrams
    • Summary
      • What is a model ?
      • Reasons for modeling any system
      • UML is the unification of several modeling languages
    • Summary
      • UML diagrams
        • Structural diagrams
          • Diagrams: class, object, component, composite structure, package, deployment diagram
        • Behavioral diagrams
          • Diagrams: use case, activity, state machine diagrams
        • Interaction diagrams
          • Diagrams: sequence, communication, interaction overview
    • Resources
      • Several articles on UML by Scott Ambler - http://www.agilemodeling.com/artifacts/
      • UML quick reference by Allen Holub - http://www.holub.com/goodies/uml/
      • Cetus links on UML - http://www.cetus-links.org/oo_uml.html