An Introduction to the Unified Modeling Language - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

An Introduction to the Unified Modeling Language

Description:

E.G. my 2003 Toyota Matrix, the dead birch tree in my back yard, me ... A person owns 0 or more cars. A car is owned by 1 or more people. BIIN 201 - Bioinformatics 2 ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 20
Provided by: craigs89
Learn more at: http://www.mscs.mu.edu
Category:

less

Transcript and Presenter's Notes

Title: An Introduction to the Unified Modeling Language


1
An Introduction to the Unified Modeling Language
  • Craig A. Struble, Ph.D.
  • Department of Mathematics, Statistics, and
    Computer Science
  • Marquette University

2
Overview
  • History
  • Views
  • Use Cases
  • Object Modeling
  • Dynamic Modeling
  • Turning models into code
  • Tools, etc.

3
History
  • Three Amigos
  • Rumbaugh, Booch, Jacobson
  • Several competing methods for OO design and
    modeling
  • Developed 1994-1997
  • Submitted to OMG and approved
  • UML 2 approved in 2003

4
UML
  • Modeling
  • Creating an abstraction of a system, process,
    etc.
  • Language
  • A means of communicating between stakeholders
  • Process (not strictly UML)
  • The steps taken to analyze, model, and implement
    a software system.

5
Views of Software
  • Many perspectives exist on software
  • User
  • What the users see and interact with
  • Static
  • The code when it is not being executed
  • Classes, modules, directory structure, etc.
  • Dynamic
  • The behavior of the code and data as the system
    is executed
  • Objects, traces of method/function calls, log
    files, etc.

6
When to Model?
  • Depends on software development process
  • Waterfall, modeling is done before coding starts
  • Spiral, modeling and coding are interleaved
  • Rapid prototyping, modeling happens as needed
  • In general, modeling is a good idea whenever a
    user, analyst, or developer on the team does not
    completely understand the system
  • Remember, documentation is a communication tool
    for all parties

7
Use Case Modeling
  • Primarily used to gather requirements
  • Define functionality of the system
  • Forms the basis of system tests
  • Provides ability to track requirements to
    classes/objects
  • Communicate with all stakeholders
  • Users, designers, marketing, etc.

8
Use Case Modeling
  • The system is what is being modeled
  • An actor is someone or something that interacts
    with the system
  • A use-case represents functionality for an actor

Use Case
System
9
Example
From UML 2 Toolkit
10
Use Cases
  • a set of actions performed by a system, which
    yields an observable result that is, typically,
    of value for one or more actors or other
    stakeholders of the system.
  • Use cases
  • Are initiated by some actor
  • Provides value to some actor
  • Are complete

11
Use Cases
  • Constructing a complete use case diagram is
    usually easier (and less time consuming) than
    writing the requirements for each use case
  • The use case descriptions are typically written
    textually (like weve already done) and in full
    detail.

12
Relationships
  • Actors and use-cases can have relationships.
  • Actors are associated with use-cases
  • Actors may be generalizations of other actors
  • Use cases may generalize, extend, or include
    other use cases.

13
Another Example
14
Exercise
  • Lets draw a reasonably complete use case diagram
    for the antisense project.

15
Modeling Static Aspects
  • What most developers think about when modeling
    software
  • What are the major data being manipulated?
  • How should system behavior be organized?
  • Leads to identifying objects and classes in the
    system

16
Objects vs. Classes
  • An object is a concrete example of something
    being modeled
  • E.G. my 2003 Toyota Matrix, the dead birch tree
    in my back yard, me
  • A class is a family of objects having similar
    characteristics or attributes
  • E.G. automobiles, trees, people, etc.
  • An object is an instance of a class

17
Representing Classes
Attributes
Car
Name
- registration number String speed
Integer direction Real
Operations
accelerate(rate Integer) void turn(angle
Real) void
Visibility - is private is public is package
18
Associations
Multiplicity
Multiplicity
Assocation gt
Class1
Class2
lt Association
1..
0..
Owns gt
Person
Car
lt Owned By
A person owns 0 or more cars. A car is owned by
1 or more people.
19
Relationships
  • Identifies how classes/objects are related to one
    another
  • Association
  • A connection between classes
  • Generalization
  • One class is more general than another
  • Dependency
  • One (dependent) class/object is changed when
    another (independent) class/object is changed
  • Abstraction
  • Two or more descriptions of the same thing at
    different levels. A class is an abstraction of an
    object
Write a Comment
User Comments (0)
About PowerShow.com