Object Oriented Analysis And Design - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

Object Oriented Analysis And Design

Description:

... as the toolkits available, allows you to 'define' or tailor your own process. ... modeling is modeling using standard graphical notations' Dr. James Rumbaugh ' ... – PowerPoint PPT presentation

Number of Views:4783
Avg rating:3.0/5.0
Slides: 43
Provided by: josephjw
Category:

less

Transcript and Presenter's Notes

Title: Object Oriented Analysis And Design


1
Object Oriented Analysis And Design
  • Overview

2
What is an Object?
  • A self-contained package, with specific variables
    (attributes) and methods (behaviors).
  • An object stands alone.
  • An objects implementation is purposely hidden
    from us.

3
What is an Object?
Visual representation of a software object
4
What is an Object?
A bicycle modeled as a software object
5
What is a Class?
  • A class is a blueprint or prototype that defines
    the variables and the methods common to all
    objects of a certain kind.

6
What is a Class?
  • Class is an implementation of an abstract data
    type and so encapsulates both data and
    operations.
  • Object is run-time instance of class.
  • Classes just sit there, objects do the real work.
  • Memory is allocated for Objects not for Classes.

7
What is a Message?
  • The object to which the message is addressed
    (YourBicycle)
  • The name of the method to perform (changeGears)
  • Any parameters needed by the method (lowerGear)

8
Example Object
  • Description - provides time of day, and an
    audible indication of a user-defined time during
    the day
  • Interface
  • Inputs - time of day, alarm time
  • Outputs - time of day, audible alarm
  • Attributes
  • hour hand, minute hand, second hand, bell
  • Behaviors
  • Increment hour, increment minute, increment
    second, sound bell

9
Key Object-Oriented Characteristics
  • Encapsulation (Information Hiding)
  • Attributes and behavior are rolled into the
    object, and hidden from the rest of us. Only
    thing exposed is the public interface
  • Inheritance
  • Creating one object from another, already defined
    object, adding to its capabilities and public
    interface..
  • Polymorphism
  • Specific object behavior is determined within a
    run-time context. An object can morph itself
    based on the context in which it is currently
    used.
  • Re-useable
  • With very discrete and finite capabilities,
    objects can be used in other parts of the system,
    or within other systems.

10
Clock Object
  • How does our clock rate as an object?
  • Encapsulation
  • Provides hour, minutes and seconds, and an alarm.
  • Do we know the mechanisms for incrementing hours,
    minutes and seconds? Sounding the alarm?
  • Inheritance
  • We can use our simple clock object to create
    additional, more complex objects requiring time.
    E.g., chronograph, washing machine timer
    controller, etc.
  • Polymorphism
  • Not applicable
  • Re-usable
  • Our clock can be used in thousands of
    applications as is. We can use it in any
    application that requires us to keep track of
    time, and alert us when a certain time has
    occurred.

11
What is OOAD?
  • Object Oriented Analysis Design is the art of
    developing systems based on a set of cooperating
    objects.
  • This stuff is not an exact science. Anyone who
    tells you that is mistaken.
  • Experience allows you to develop the craft, but
    it can never be mastered.
  • Success depends upon systems analysis and
    software development teams understanding OOAD and
    available tools.
  • Smooth and natural transition occurs between
    analysis and design teams due to nature of
    defined processes.

12
What is OOAD?
  • OOAD facilitates a variety of processes for
    analyzing and developing systems.
  • A methodology.
  • There is no right or wrong process to implement
    OOAD. Understanding the principles of OOAD, as
    well as the toolkits available, allows you to
    define or tailor your own process.
  • The main advantage of OOAD is its integration of
    systems analysis and software development teams
    through process definition and modeling
    techniques available.

13
Visual Modeling
  • Modeling captures essential parts of the system.
    Visual modeling is modeling using standard
    graphical notations Dr. James Rumbaugh
  • A picture is worth a thousand words. Ancient
    Proverb

Order
Business Process
Item
Ship via
14
What is UML?
  • UML stands for Unified Modeling Language
  • The UML combines the best of the best from
  • Data Modeling concepts (Entity Relationship
    Diagrams)
  • Business Modeling (work flow)
  • Object Modeling
  • Component Modeling
  • The UML is the standard language for visualizing,
    specifying, constructing, and documenting the
    artifacts of a software-intensive system.
  • It can be used with all processes, throughout
    the development life cycle, and across different
    implementation technologies

15
What is UML?
  • The Unified Modeling Language is used to Specify,
    Visualize, Implement, Test and Document systems.
  • UML captures the elements and artifacts of the
    development of object oriented systems and
    software.
  • UML also facilitates the Specification and
    Visualization of ANY system (whether it appear as
    an object-oriented system or not).
  • It is a visual modeling tool used to implement a
    process and methodology.

16
What UML is NOT
  • A process. Processes include
  • Waterfall
  • Spiral Development
  • Incremental
  • Agile
  • etc.
  • Proprietary
  • UML is free to use and distribute. Third party
    vendors can build a tool based upon it without
    prior permission.
  • Companies can use it in their design
    documentation without prior permission.

17
Static Modeling
  • This defines the non-changing characteristics of
    the system. For example
  • What are the uses of the system?
  • What are the relationships between uses in the
    system?
  • What are the inputs and outputs, or interface to
    the system?
  • What are the objects in the system and their
    relationships?
  • How is the system deployed?

18
Dynamic Modeling
  • This defines the changing characteristics of the
    system. For example
  • What are the various timing aspects of the uses
    of the system?
  • What are the states, and circumstances of those
    states, that the objects in the system can be in
    at any particular time?
  • How does the system behave over time as a result
    of the environment in which it is in?

19
UML Static Diagrams
  • Use Case
  • Depicts functional capabilities, or uses, of the
    system.
  • Class
  • Depicts relationships and dependencies of classes
    in the system.
  • Object
  • Depicts relationships and dependencies of
    instantiated classes (I.e. objects) in the system.

20
UML Static Diagrams
  • Structure Diagrams
  • Depicts the main components of the system
    (hardware, software, human) and the interfaces
    between.
  • Package
  • Depicts relationships and dependencies of
    high-level components in the system.
  • Component
  • Depicts relationships and dependencies of system
    components.
  • Deployment
  • Depicts how system components are implemented in
    hardware in the system.

21
Use Case Diagram
22
Class Diagram
23
Object Diagram
24
Structure Diagram
25
Component Diagram
26
Package Diagram
27
Deployment Diagram
28
UML Dynamic Diagrams
  • Interaction Diagrams
  • Depict timing of events and messages within Use
    Cases and classes in the system. They are
    interchangeable.
  • Sequence
  • Depicts timing of events in a sequential top to
    bottom, left to right fashion.
  • Collaboration
  • Depicts timing of events using a sequential
    numbering.

29
UML Dynamic Diagrams
  • State
  • Depicts all the possible states that objects of
    the class can have, and which events cause the
    state to change.
  • Activity
  • Depicts the activities performed in an operation
    , though it can also be used to describe other
    activity flows, such as a use case or an
    interaction.

30
Sequence Diagram
31
Collaboration Diagram
32
State Diagram
33
Activity Diagrams
34
Visual Modeling With Class Diagrams
35
Class Diagram
36
Activity Diagram
37
Sequence Diagram
38
Thoughts on OOAD/UML
  • The OOAD methodology, and any process that uses
    it, will only work if the entire project team
    embraces it.
  • Everyone from the Program Manager on down must be
    convinced of its utility.
  • You cannot implement a system successfully unless
    the entire system is analyzed and developed in a
    consistent manner.
  • As a minimum, the system must go through the
    Requirements and Analysis phases using Use Cases.
  • More on this later.
  • Most importantly, the systems and software teams
    must be an integrated team to gain the most
    benefits.

39
Model Driven Architecture (MDA)
  • An approach to system development using models as
    a basis for understanding, design, construction,
    deployment, operation, maintenance and
    modification
  • Three essential elements
  • specifying a system independently of the platform
    that supports it,
  • specifying platforms,
  • transforming the system specification into one
    for a particular choice of platform.
  • Goals portability, interoperability and
    reusability
  • Prescribes the kinds of model to be used in
    specifying a system, how those models are
    prepared and the relationships between them

40
What MDA Does
  • Identifies different viewpoints on a system
  • different abstractions - reflecting different
    concerns
  • providing a way of dealing with system complexity
  • Specifies 3 kinds of viewpoint model for a
    system
  • a computation independent model (CIM) a view of
    a system that specifies its function without
    specifying details of its structure
  • a platform independent model (PIM) a view of a
    system that specifies its computational structure
    independent of any specific platform - usable
    with different platforms of similar type.
  • a platform specific model (PSM) a view of a
    system that combines the specifications in the
    PIM with a specification of the use of a
    particular type of platform.
  • Specifies transformations between models

41
MDA Ultimate Goal?
  • Complete, executable model.
  • 100 automatic code generation from the model.
  • Complete requirements, design and test
    information contained in models.

42
UML Resources
  • http//www.rational.com
  • Rational site with a plethora of information
    about UML and the Rational process.
  • http//www.omg.org/technology/documents/formal/uml
    .htm
  • UML 2.0 specification
Write a Comment
User Comments (0)
About PowerShow.com