object oriented analysis and design ooad n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Object-Oriented Analysis and Design (OOAD) PowerPoint Presentation
Download Presentation
Object-Oriented Analysis and Design (OOAD)

Loading in 2 Seconds...

play fullscreen
1 / 85

Object-Oriented Analysis and Design (OOAD) - PowerPoint PPT Presentation


  • 111 Views
  • Uploaded on

Object-Oriented Analysis and Design (OOAD). Presented By Zubair Azmat Omer bin Asad M. Daniyal Shafiq. Object-Orientation?. What is Object-Orientation & Object-Oriented (OO) Methods? (C++, Java,Oracle??) What is OO methods used for? What are the features of OO methods?

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Object-Oriented Analysis and Design (OOAD)' - gigi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
object oriented analysis and design ooad

Object-OrientedAnalysis and Design(OOAD)

Presented By

Zubair Azmat

Omer bin Asad

M. DaniyalShafiq

object orientation
Object-Orientation?
  • What is Object-Orientation & Object-Oriented (OO) Methods? (C++, Java,Oracle??)
  • What is OO methods used for?
  • What are the features of OO methods?
  • How are they different from SSADM?
object oriented methods
Object-Oriented Methods
  • A technique for system modeling
  • A technique to manage complexity inherent in analysis, design, and implementation
  • For the analysis and design of system
  • Provide integrated view of hardware and software
  • Provide a methodology for system development
is it any good
Is It Any Good?
  • A system which is designed and modeled using an object-oriented technology is:
  • Easy to understand
  • Directly related to reality
  • Natural partitioning of the problem
  • More flexible and resilient to change
  • Systems can be developed more rapidly and at a lower cost
some qualities of oo
Some Qualities of OO
  • Understanding of system is enhanced, as the semantic gap is reduced
  • Modification to the model tend to be local as they often result from an individual item, which is represented by a single object Ideally suited to model real systems, and simulating systems
some examples of using oo
Some Examples of Using OO
  • Object technology is key to re-engineering business process at Xerox
  • Space telescope uses OO technology and
  • Booch Method to build interface to Hubble Database
  • British Airways choose OO tools for airline applications
oo methods
OO Methods
  • Jacobson Use Case - Jacobson
  • Unified Modelling Language (UML)
  • Object-Oriented Design (OOD) - Booch (1983),
  • Object-Oriented System Analysis (OOSA) –
  • Object-Oriented Analysis (OOA) – Coad &Yourdon (1991)
  • Object Modelling Technique (OMT) –
  • Hierarchical Object-Oriented Design
  • (HOOD) - ESA (1989), architectural design
object oriented modeling
Object-Oriented Modeling
  • Attach the behavior and information that is important to objects
  • Associate relations between object to describe the static and dynamic organization and structure of real situation
the basics
The Basics
  • Objects
  • Classes
  • Relationships
  • An Instance
  • Idea of encapsulation
an object
An Object
  • Some concept of reality
  • A physical entity
  • It is characterized by:
  • a number of operations,
  • a state which remembers the effect of these operations
an object1
An Object
  • Operations:
    • Work
    • Dance
    • Drive
    • Jump
  • Attributes:
    • Height
    • Eye color
    • Hair color
    • Weight
relationships
Relationships
  • Static:
  • relations existing over a long time
  • objects know about each other existence
  • Dynamic:
  • relations which two objects communicate with each other
  • object sending stimuli to other
  • stimuli - events, messages
creating objects
‘Creating’ Objects
  • Composition - structure object from Parts
  • Partition - into hierarchy (‘is a’)
  • Consist of - build objects from others
  • Aggregate - to join together (‘has a’)
encapsulation
Encapsulation
  • A concept of ‘Self-containing’
  • Information hiding - ‘internal’ structure is hidden from their surroundings
  • Behavior and information is represented or implemented internally
  • Functionality and behavior characterized by ‘interfacing’ operations
class
Class
  • A class represents a template for several
  • objects and describes how these objects
  • are structured internally
  • Objects of the same class have the same
  • definition both for their operations and
  • their information structure
  • Class is an implementation of objects
instance
Instance
  • An instance is an object created from a Class
  • A class describes the behavior and information structure of an instance, while the current state of the instance is defined by the operations performed on the Instance
  • System’s behavior is performed via the interactions between instances
key concepts
Key Concepts
  • Polymorphism – same object has different implementations
  • Inheritance – to adopt, permutated, and derive from some generic objects
polymorphism
Polymorphism
  • A concept in type theory
  • A common name may denote instances
  • of different classes
  • One type of operation can be implemented
  • in different ways by different classes
  • Overloading in modern OO language
why polymorphism
Why Polymorphism
  • A very strong tool for allowing system
  • designers to develop flexible systems
  • Designer only need to specify what shall
  • occur and not how it shall occur
  • To add an object, the modification will only
  • affect the new object, not those using it
inheritance
Inheritance

“If class B inherits class A, then both operations and the information structure described in class A will become part of class B”

why inheritance
Why Inheritance?
  • Show similarities
  • Reuse common descriptions
  • ‘Software Reuse’
  • Easy modification of model by performing
  • modification in one place
  • Avoid redundancy, leading to smaller and
  • more efficient model, easier to
  • understand
limitations of ssadm
Limitations of SSADM
  • Treat data and function separately – function/data oriented method
  • More suited to classical hardware
  • More difficult to maintain and re-configure
  • Method require more abstraction - not too Natural
  • Large semantic gap between external and internal view of a system
object oriented methods1
Object-Oriented Methods
  • Advocate integral objects which encapsulate both function and data
  • Main activities include:
    • Identification of objects, and
    • Analyzing their behavior and information
  • Uses object-oriented techniques and ideas:
    • Inheritance
    • Polymorphism
    • Function/data abstraction
object oriented analysis design
Object-Oriented Analysis & Design
  • Finding objects
  • Organizing objects
  • Describing how objects interacts
  • Defining the operations of objects
  • Defining objects internally
finding objects
Finding Objects
  • Naturally occurring entities – physical
  • A concept of some abstract ideas – conceptual
  • Should be stable
  • Classes of objects
  • active/passive
  • temporary/permanent/persistent
  • part/whole
  • generic/specific
  • private/public
object oriented design
Object-Oriented Design
  • The objects found are to be implemented
  • Once objects for a system are identified, they are refined, organized and related
  • Classes that define the implementation are structured and consolidated
  • Classes are refined with implementation details (e.g. OS, language, hardware, etc.)
  • Classes are coded
object interactions
Object Interactions
  • Identify how objects fit into a system
  • Use of scenarios - unique situations
  • Objects’ communication
  • Objects’ interfaces
  • Refined relationships
object s functionality
Object’s Functionality
  • Operations performed by an object
  • Behavior of an object
  • Specification of interfaces, external and internal functions
  • Objects with complex functionality should be partitioned into simpler objects
object implementation
Object Implementation
  • The specification of CLASSES
  • Define information that an object
  • encapsulates - ATTRIBUTES and METHODS
object implementation1
Object Implementation
  • METHODS:
  • Specify external functions
  • Specify internal functions that are not seen or usable by others objects
  • Languages: C++, Smalltalk, Adam,
  • Eiffel, Modula-2, Simulate, Java++
oo methods some advantages
OO Methods - Some Advantages
  • Reduce semantic gap between domain(the actual) and model (the design)
  • Closer to reality e.g. classification of objects close to how human understand surroundings
  • Easier to understand and maintain
  • Easier to modify (e.g. polymorphism)
object models
Object Models
  • Inheritance Models
  • Object Aggregation Models
  • Object Behaviour Modelling
inheritance modelling
Inheritance Modelling
  • Objects are organized in a taxonomy
  • Taxonomy; classification scheme showing the relation of one object to the other, in terms of common attributes and services.
  • Concept of Super and Sub Classes.

Note: In UML inheritance is 'upwards' in contrast to 'downwards'.

object aggregation
Object Aggregation
  • A composition in which the "whole" subsumes and conceals its constituent "parts".
  • A composition that encapsulates (hides) the parts of the composition.
  • "Parts" do not exist in autonomy(are not visible externally)
object behavior modelling interaction design
Object Behavior Modelling – Interaction Design
  • Modelling the interaction of objects
  • Modelling behaviours using senarios (UML Use Cases) and Sequence Diagrams.
sequence diagrams
Sequence Diagrams
  • Its an interaction diagram in UML, that shows how processes operate one with another and in what order.
  • Sequence diagrams are sometimes called Event-trace diagrams, event scenarios, and timing diagrams.
use case
Use Case
  • Usage Case is simply a reason to use a system.
  • Three key things:

1. The actor or actors involved. An actor is a type of user (for example, cardholder) that interacts with the system.

2. The system being used.

3. The functional goal that the actor achieves using the system . the reason for using the system.

use case scenarios
Use Case Scenarios
  • The set of all possible outcomes of the interaction between the actor and system to achieve a goal.

Note: An actor is an external entity to the system (may or may not be a Human.

ui storyboards
UI Storyboards
  • User Interface Storyboards are a step further to the logical design.
  • UI Designs show how it might look with a real UI Implementation.
  • This is done after the key Use Scenarios are finalized.

Note: UI Design’s purpose is to enhance user involvement in earlier stages of the ISD cycle.

use case relationships
Use Case - Relationships
  • Uses:
    • The Uses relationship extracts similarities (i.e., common flow of events) from use cases and abstracts them into another use case. For example, in a system, several use cases may share the login validation sequence of actions. The verification is abstracted into a use case that is the target of a "uses" connection from the concrete use cases.
use case relationships1
Use Case - Relationships
  • Extends:
    • The extends relationship allows the modeling of complex interactions by extending previous use cases to document variations. The original use case is left complete and intact. Changing or removing the "extended" use case has no effect on the base use case. An example is statistics collection for this product. The action of an end-user interacting with the system to view the methodology is documented in a use case, the View Methodology use case. The statistics collection is modeled as a use case that extends the View Methodology use case.
use cases and uml
Use Cases and UML

UML has Special Notation for Use Cases:

Actors: Represented as a Stick men

Use Case: Drawn as an Oval, with the name inside the oval.

Line is drawn to show the communication of the actor and the use case.

System boundary is drawn, keeping the actor outside the boundary (the actor is always outside the boundary.

jacobson use case method oose
Jacobson Use Case Method (OOSE)
  • An OO Methodology that emphasizes on the identification of objects – requirement analysis
  • Based on 3 techniques:
    • Conceptual Modeling
    • Object Oriented Programming
    • Use Case
5 models of jm isd cycle
5 Models of JM ISD Cycle
  • Ivar Jacobson's Object-Oriented Software Engineering (OOSE) is one of the precursors to the more modern Unified Modeling Language (UML). OOSE includes a:
    • Requirements Model
    • Analysis Model
    • Design Model
    • Implementation Model
    • Testing Model
jacobson s requirement model
Jacobson’s Requirement Model
  • The Jacobson requirements model includes a problem domain object diagram and use case diagrams. This model defines the limits and functionality of a system.
  • Jacobson's Problem Domain Object Diagram
    • The problem domain object diagram provides a logical view of the system, which is used to specify the use cases for use case diagrams.
jacobson s requirement model1
Jacobson’s Requirement Model
  • Jacobson's Use Case Diagrams
    • Use case diagrams illustrate how the outside world interacts with elements of the application system.
jacobson s requirement model2
Jacobson’s Requirement Model
  • Capture the functional and non-functional requirements.
  • Formalize the requirement.
  • Identify and Document essential system entities.
  • Identify and Document essential system behaviors.
jacobson s analysis model1
Jacobson’s Analysis Model
  • Structure a system independently to the actual implementation
  • Capture information, behavior and presentation
  • Specify objects
jacobson s design model
Jacobson’s Design Model
  • Refine the object structure to the chosen implementation environment.
  • Objects are consolidated into BLOCKS – abstracted classes.
  • Blocks interactions are also documented using Interaction Diagrams.
jacobson s implementation model
Jacobson’s Implementation Model
  • The blocks in the design model are implemented using classes.
  • Class diagrams are used to express relationships between classes.
jacobson s test model
Jacobson’s Test Model
  • States the method and result of testing.
  • Test specifications describe how classes and system is to be tested.
  • Test results document outcome of the tests executed.
  • Verification and Validation
systems analysis and design with jacobson
Systems Analysis and Design with Jacobson
  • Requirement Analysis
  • Functional Analysis and Design
jacobson requirement analysis
Jacobson: Requirement Analysis
  • Generate requirement model with actors, and use cases identified
  • STEP 1: System context diagram
  • STEP 2: Identify principal actors
  • STEP 3: Construct Use Cases
  • STEP 4: Represent actors and Use Cases with a Use Case Diagram
jacobson functional analysis and design
Jacobson: Functional Analysis and Design
  • Structure system functionality into objects
  • To distribute the behavior of the use cases among objects – analysis model
  • Create objects that are common to actors or use cases.
  • Identify the responsibilities of objects.
  • Identify the relationships between objects.
jacobson analysis and design
Jacobson: Analysis and Design
  • STEP 1: Identify scenarios from use cases.
  • STEP 2: Associate actors and use cases to scenarios
  • STEP 3: Produce event lists for scenarios
  • STEP 4: Identify Primary object types.
  • STEP 5: Consolidate objects into control, entity and interface.
  • STEP 6: Identify and represent relationships.
introduction to uml
Introduction to UML
  • Standardized general purpose modeling language
  • UML includes a set of graphical notation techniques
  • Graphical language for visualizing, specifying and constructing system elements
  • UML is not a development method by itself
  • designed to be compatible with the leading object-oriented methods of its time
  • new methods have been created based on UML

Best Example RUP(Rational Unified Process)

history of uml
History of UML

UML 1.3

OMG Acceptance, Nov 1997

Final Submission to OMG, Sep ‘97

First submission to OMG, Jan ‘97

UML 1.1

UML 1.0

UML 0.9

Unified Method 0.8

Other Methods

OOSE(Jacobson)

Booch Method

OMT

forces in software
Forces In Software

Functionality

Compatibility

Cost

“The Challenge over the next 20 years will not be speed or cost or performance; it will be a question of complexity”

Bill Raduchell, Chief Strategy Officer, Sun Microsystems

“Our enemy is complexity, and it’s our goal to kill it”

Jan Baan

Capacity

Resilience

Availability

Technology

Performance

use case diagrams
Use Case Diagrams

“A Use Case Diagram depicts actions by people and systems outside your system, along with what your system does in response. It’s useful for depicting the functional requirements of your system. ”

slide70

1- What does the KMS do when the care giver checks a pet in?

2- What does the KMS do when the care giver checks a pet out?

3- What action or actions by the care giver will cause the KMS to

update a kennel assignment?

4- What action or actions by the Care Giver will involve the

Veterinarian?

activity diagrams
Activity Diagrams

“An Activity Diagram depicts the detailed behavior inside a single functional requirement, including a primary scenario and a number of alternate scenarios. It’s useful for ensuring that you thoroughly understand a given functionality.”

slide72

1- What is the sequence of steps the system performs when assigning a pen to a pet that has visited previously?

2- What additional steps are performed for a pet that is new to the kennel?

component diagrams
Component Diagrams

“A Component Diagram depicts the deployable units of your system—executables, components, data stores, among others—and the interfaces through which they interact. It’s useful for exploring the architecture of your system. ”

slide74

1- The Care Giver Center is the Web page that the care giver uses to enter information about a pet. What interface does it use to provide data to the KMS?

2- What other components provide data to the KMS, and through what interfaces?

3- What types of contacts can be made through the Comm Center component?

class diagrams
Class Diagrams

“A Class Diagram depicts the classes and interfaces within the design of your system, as well as the relations between them. It’s useful for defining the internal, Object-Oriented structure of your code.”

slide76

1- What three classes are associated with the Kennel Assignment class?

2- What operations can objects of the Kennel Assignment class perform?

3- What attributes describe an object of the Pet Record class?

4- What attributes describe an object of the Kennel Space class?

statechart diagrams
Statechart Diagrams

“A Statechart Diagram depicts how the state of your system changes in response to internal and external events. It’s useful for ensuring that each event is handled properly no matter what state your system may be in.”

slide78

1- What event causes a kennel space, or pen, to enter the Defined state?

2- What events (from which states) cause a pen to enter the Available state?

3- What state does a pen enter when it’s currently in the Available state, and a Dismantled event occurs?

4- How can a pen go from the In Use state to the Deconstructed state?

deployment diagrams
Deployment Diagrams

“A Deployment Diagram depicts how the deployable units of your system—applications, components, data stores, etc.—are assigned to various nodes, as well as how the nodes communicate with each other and with devices. It’s useful both as a map of your system and as a means for studying the load across your system.”

slide80

1- How is the KMS server connected to the telephone?

2- How does the owner’s PC access pet information on the KMS server?

3- How does information go from the care giver station to the reception station?

package diagrams
Package Diagrams

“A Package Diagram depicts how related elements of your design are grouped together, as well as how the groups depend upon each other. It’s useful for dividing a complex design into multiple, more manageable smaller designs. ”

slide82

1- Which packages make use of information from the KMS Interfaces package?

2- Which packages does the KMS Central Classes package make use of?

conclusion
Conclusion
  • UML is all about clear communication
  • Certain drawbacks of UML like too many infrequently and redundant constructs
  • not only used with OO methods; RUP
  • UML 2.0 major revision adopted by OMG 2005
  • OMG vision is that in near future all applications will be written using only a modelling tool
  • Models will compile directly to machine language
references
References
  • http://www.soi.wide.ad.jp/class/20010030/slides/05/index_38.html
  • http://www.dbmsmag.com/9606d15.html
  • http://en.wikipedia.org/wiki/Object-oriented_analysis_and_design
  • http://www.dcs.bbk.ac.uk/~steve/1/tsld004.htm
  • http://www.imse.hku.hk/imse1013/pdf/ESA-06%20OOAD.pdf
  • http://www.devshed.com/c/a/Practices/Introducing-UMLObjectOriented-Analysis-and-Design/2/