Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

K. Ingram1November 2000 Object Orientated Analysis and Design - Contents When to use OO? What is OO? Unified Modelling Language OO Methodologies: –Object.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
CS 425/625 Software Engineering System Models
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
Itntroduction to UML, page 1 Introduction to UML.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Andrew SuttonKent State University1 Software Modeling Andrew Sutton Department of Computer Science Kent State University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Unit-2 Rumbaugh Methodology Booch Methodology Jacobson Methodology
CIS 321—IS Analysis & Design
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Object-OrientedMethodologies
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Unified Modeling Language, Version 2.0
Chapter 9 Moving to Design
UML What Is the UML? The Unified Modeling Language (UML) is the successor to the wave of object- oriented analysis and design (OOA&D) methods.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
CS 6502-OBJECT ORIENTED ANALYSIS AND DESIGN TOTAL : 40 Questions CLASS : III CSE.
1 Unified Modeling Language, Version 2.0 Chapter 2.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Basic Characteristics of Object-Oriented Systems
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
UA. Unified Approach ( UA ) It combines best practices, methods process, guidelines & methodology (Rumbaugh, Booch and Jacobson) along with UML notations.
CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Object Oriented Systems Design
Introduction to UML.
UNIT 1.
Evolution of UML.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Introduction to Unified Modeling Language (UML)
Rumbaugh’s Objectmodeling Technique
Methods, Models, Madness
THE BOOCH METHODOLOGY.
Object Oriented Systems Development
Object Oriented Modeling and Design
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
UNIT-II.
Unified Modeling Language
University of Houston-Clear Lake
Introduction to UML.
Introduction to Software Engineering
Software Design Methodologies and Testing
Chapter 22 Object-Oriented Systems Analysis and Design and UML
The Unified Modeling Language
The Unified Modeling Language
Presentation transcript:

Object-Oriented Systems

Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies

Goals (Con’t) Unified Approach (UA) layered Architecture

Basic Definitions A methodology is explained as the science of methods. A method is a set of procedures in which a specific goal is approached step by step.

Too Many Methodologies 1986: Booch came up with the object- oriented design concept, the Booch method. 1987: Sally Shlaer and Steve Mellor came up with the concept of the recursive design approach.

Too Many Methodologies (Con’t) 1989: Beck and Cunningham came up with class-responsibility-collaboration (CRC) cards. 1990: Wirfs-Brock, Wilkerson, and Wiener came up with responsibility-driven design. 1991: Peter Coad and Ed Yourdon developed the Coad lightweight and prototype-oriented approach.

Too Many Methodologies (Con’t) 1991: Jim Rumbaugh led a team at the research labs of General Electric to develop the object modeling technique (OMT). 1994: Ivar Jacobson introduced the concept of the use case.

Implication Split, Competetive & Confusing Same basic concepts in different notations Second-generation oo methodologies – combining best aspects

Survey of Some of the Object- Oriented Methodologies Many methodologies are available to choose from for system development. Here, we look at the methodologies developed by Rumbaugh et al., Booch, and Jacobson which are the origins of the Unified Modeling Language (UML) and the bases of the UA.

Rumbaugh et. al.’s Object Modeling Technique (OMT) OMT describes a method for the analysis, design, and implementation of a system using an object-oriented technique.

OMT (Con’t) OMT consists of four phases, which can be performed iteratively: – 1. Analysis. The results are objects and dynamic and functional models. – 2. System design. The result is a structure of the basic architecture of the system.

OMT (Con’t) – 3. Object design. This phase produces a design document, consisting of detailed objects and dynamic and functional models. – 4. Implementation. This activity produces reusable, extendible, and robust code.

OMT Modeling OMT separates modeling into three different parts : – 1. An object model, presented by the object model and the data dictionary. – 2. A dynamic model, presented by the state diagrams and event flow diagrams. – 3. A functional model, presented by data flow and constraints.

Object Model Describes structure of objects in system – Identity – Relationship to other objects – Attributes – Operations Represented graphically with object diagram – Contains classes interconnected by association lines – Each class represents a set of individual objects – Association line represents set of links from objects of one class to objects of another class

OMT Object Model of a Bank System

OMT Dynamic Model OMT state transition diagram is a network of states & events – Depict states, transitions, events, actions – Each state receives one or more events at which time it makes the transition to the next state – Next state depends on events + current state

State Transition Diagram for Bank Application User Interface

OMT Functional Model Describes business process without focusing on computer systems details OMT data flow diagram shows flow of data between different processes in business – Processes – function performed – Data flow – direction of data element movement – Data store – location where data are stored – External entity – source/destination of data element

OMT DFD of ATM System

Booch Methodology Analysis & design method using object oriented paradigm – Start with class & object diagrams in analysis phase – Diagrams refined in various steps – Add design symbols when ready to generate code Object-oriented code documented

Diagrams in Booch Method Class diagrams Object diagrams State transition diagrams Module diagrams Process diagrams Interaction diagrams

Eg. of Booch class diagram

Eg. of Booch state transition diagram

Booch’s Macro Development Process Conceptualization – Establish core requirements – Establish goal – Develop prototype to prove concepts Analysis & development of model – Use class diagram to describe roles & responsibilities of objects in system – Use object diagram or interaction diagram to describe desired behavior of system in terms of scenarios Design & create system architecture – Use class diagram to decide what classes exist, how they relate to one another – Use object diagram to decide what mechanisms are used to regulate how objects collaborate – Use module diagram to to map where each class & object should be declared – Use process diagram to determine process allocation to processors – Determine schedule for multiple processes on processors Evolution or Implementation – Refine system through iterations – Produce stream of software implementations/executable releases Maintenance – Make localized changes to add new requirements/eliminate bugs

Booch’s Micro Development Process Day to day activities for each macro development process Can consists of following steps – Identify classes & objects – Identify Class & object semantics – Identify class & object relationships – Identify class & object interfaces/implementation

Jacobson et al. Methodologies Object-oriented business engineering (OOBE) Object-oriented software engineering (OOSE) Object Factory for Software Development (Objectory) Cover entire life cycle Stress traceability between phases – backward & forward Enables reuse of analysis & design work Use-case concepts used