Your SlideShare is downloading. ×
Uml1 concepts
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Uml1 concepts


Published on

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. UML 1 – Concepts Review
    • UML Distilled 3 rd ed.
    • by Martin Fowler
    • Ch. 1 Introduction
    • Ch. 2 Development Process
  • 2. Learning Objectives
    • From COMP 257
    • Review UML concepts and O-O iterative development processes
    • Describe the 13 official diagram types
  • 3. What is UML?
    • UML = Unified Modelling Language
    • Family of graphical notations backed by a single meta-model, that help in describing and defining software systems
    • Open standard backed by the Object Management Group (OMG) – a consortium of companies (IBM, Sun, etc.)
  • 4. Ways of Using UML
    • Not all analysts use each diagram, some are more useful depending on the system being designed
    • Use in 1 of 3 modes: sketch blueprint programming language
    • Treat UML diagrams as the roadmap, use other aids for detail (decision trees, CRC cards)
    • Treat source code as the ‘real thing’, use internal documentation like JavaDoc comments
  • 5. Ways of Using UML
    • Sketch = rough out requirements or design issues
      • Forward engineering – draw diagram to help design the code to be written
      • Reverse engineering – draw diagram to help understand existing code (before modifying)
    • Blueprint = detailed so that all design decisions are accommodated  completeness
    • Programming Language = all source code details are specified in the drawing tool – compiles directly (needs very high-end CASE tools)
  • 6. How we got to UML
    • O-O gained ground in the 1980’s – first SmallTalk, then C++, VB, Java
    • Diverse graphical modelling tools 1988-1992, derived from many different approaches
    • Jim Rumbaugh + Grady Booch at Rational  achieve standardization ‘the Microsoft way’
    • Ivar Jacobson from Objectory  published ‘Unified Method’ version 0.8 in 1995
    • OMG official standards 1.1, 1.2, 1.3, 1.4, 1.5, 2.0
  • 7. UML Diagrams Figure 1.2 p.12
  • 8. UML Diagrams Table 1.1 p.11 rev Class Classes, properties, relationships Object Example configuration of instances Composite Structure Runtime decomposition of a Class Component Structure and connection of components Deployment Deployment of artifacts to nodes Package Compile time hierarchic structure Activity Procedural and parallel behaviour Use Case How users interact with a system State How events change an object over its life Sequence Interaction between Objects, emphasis on timing Communication Interaction between Objects, emphasis on links Interaction Overview Mix of Sequence and Activity diagrams for doc purposes Timing Interaction between Objects, emphasis on timing
  • 9. Rational Unified Process (RUP)
    • Independent of UML but often used with it – actually a development framework
    • Iterative development = break into shorter projects based on subsets of functionality – start small then add new components and features as required
    • Adaptive = plan as you go – one phase at a time – cannot plan next step until you complete the current one – generally better quality product but usually takes longer
    • Agile, eXtreme Programming (XP), Scrum, Feature Drive Development (FDD)
  • 10. Rational Unified Process (RUP)
    • All projects follow 4 phases:
      • Inception – initial evaluation of project
      • Elaboration – primary use cases identified, iterations to produce a good sense of the requirements and a skeletal working system
      • Construction – continue building until enough functionality to release
      • Transition – deploying system, training users, etc.
    • May do multiple iterations in each phase
  • 11. Requirements Deliverables
    • Use cases
      • primary interfaces
    • Conceptual/Analysis Class diagram
      • main attributes, associations, methods but no data types or method signatures
    • Activity diagram
      • work flows, where automated and human activities interact
    • State diagram
      • interesting states for an object and the events that affect it
  • 12. Design Deliverables
    • Design Class diagram
      • adds data typing, method signatures
    • Sequence diagram
      • interactions for common scenarios of use cases
    • State diagram
      • entire life history for an object
    • Package diagram
      • show large scale integration
    • Deployment diagram
      • show physical structure of the system