Introduction to Object Orientation System Analysis and Design

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

Systems Analysis and Design 8th Edition
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Ch 12: Object-Oriented Analysis
Object-Oriented Analysis and Design
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Introduction To System Analysis and Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Embedded Systems: Review and OMT modeling Slides by Gretel Coombs and Betty H.C. Cheng.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
Chapter 7: System models
Unified Modeling Language
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
CMPT 275 Software Engineering
Introduction To System Analysis and design
CMIS 470 Structured Systems Design
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Intro to UML - OO Class Diagrams Week 5 CMIS570. Plan for Tonight Object terms Unified Modeling Language history Class Diagrams Intro to Oracle Oracle.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Systems Analysis & Design 7 th Edition Chapter 5.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software 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,
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
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 Unified Modeling Language, Version 2.0 Chapter 2.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
© 2000 Franz Kurfess System Design Methods 1 CSC 205: Software Engineering I Dr. Franz J. Kurfess Computer Science Department Cal Poly.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Slide 1 Objectives Understand the basic characteristics of object-oriented systems. Be familiar with the Unified Modeling Language (UML),V.2.0.
Basic Characteristics of Object-Oriented Systems
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Object-oriented and Structured System Models
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2
Object Oriented Modeling and Design
Unified Modeling Language
University of Houston-Clear Lake
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Appendix A Object-Oriented Analysis and Design
Presentation transcript:

Introduction to Object Orientation System Analysis and Design

Objectives Understand the basic characteristics of object-oriented systems. Understand the object orientation notation Understand how to analyze and design with OO paradigm

What’s Object Orientation? A new technology based on objects and classes A paradigm (way of thingking) to organize software as a collection of discrete objects that incorporate both data and process. An abstraction of the real world based on objects and their interactions with other objects.

Basic Characteristic (1) Classes and Objects OO focus on capturing structure and behaviour in little modules that encompass both data and process. These modules are known as OBJECTs. Class is a general template we use to define and create specific instances or objects. An object is an instantiation of a class. Each object has attributes (describe the object) and behaviors (what an object can do).

<<instanceOf>> Class Car Attributes Model Location #Wheels = 4 Operations Start Accelerate <<instanceOf>>

Basic Characteristic (2) (2) Methods and Messages Methods implement an object’s behaviour In other languages, method is known as procedure or function. A message is a function or procedure call from one object to another object.

Basic Characteristic (3)

Basic Characteristic (4) (3) Encapsulation and Information Hiding Encapsulation : how to wrap process and data into a single entity. Only the information required to use a software module is published to the user. Exactly how the module implements the required information is unnecessary.

Basic Characteristic (5) (4) Inheritance Is a mechanism to create a class from other class. Related terms : superclass and subclass Subclass inherit the appropriate attributes and methods from its superclass. Avoid repeating of writing attributes or methods. The relationship between the class and its superclass is known as the A-Kind-Of relationship.

Basic Characteristic (6)

(5) Polymorphism and Dynamic Binding Polymorphism : the same message can be interpreted differently by different classes of objects. For example : sent message “draw” to an circle object, a square object, and a triangle object will make a different result. Dynamic Binding : determining the exact implementation of a request based on both the request (operation) name and the receiving object at run-time

Various Methodologies Shlaer/Mellor methods (Shlaer-1988) Coad/Yourdon methods (Coad-1991) Booch methods (Booch-1991) OMT methods (Rumbaugh-1991) Wirfs-Brock methods (Wirfs-Brock-1990) OOSE Objectory methods (Jacobson-1992) Unified Modelling Languages (UML-1997)

Object Oriented Notation Guide

Class and Object Object instance Class Instantiation relationship Class Name Attributes Methods Class name Attributes Methods Class Name Class Name

Generalization and Inheritance

Aggregation Aggregation 1 Aggregation 2

Association Association Multiplicity of association

Ternary Association

Object oriented analysis and design

Analysis and Design Process Problem statement System architecture Object modelling Identifying object classes Preparing a data dictionary for classes Identifying association Identifying attributes Refining with inheritance Grouping classes into model Dynamic modelling Functional modelling

Problem statements

Problem Statement Requirements statement Problem scope What’s needed Application context Assumptions Performance needs

Example : ATM Network

System Architecture

Identifying Object Classes

Example : ATM Network

Preparing a Data Dictionary

Example Account : a single account in a bank against which transactions can be applied. Account may be of various types, at least checking or savings. A customer can hold more than one account. Bank : A financial institution that holds accounts for customers and that issues cash cards authorizing access to accounts over the ATM network. ATM : … Bank Computer : …. Customer : … etc

Identifying Associations

Example

Identifying Attributes

Example

Refining with Inheritance This step is to organize classes by using inheritance to share common structure Inheritance can be added in two directions : Bottom Up : By generalizing common aspect of existing classes into a superclasses By searching for classes with similar attributes, associations, or operations For each generalization, define a superclass to share common features Top Down : By refining existing classes into specialized subclasses

Example

Grouping Class into Modules A module is a set of classes that captures some logical subset of entire model For example: a model of computer operating system might contain modules for process control, device control, file maintenance, and memory management

Example Tellers : Cashier, Entry Station, Cashier Station, ATM Account: Account, Cash Card, Card Authorization, Customer, Transaction, Update, Cashier Transaction, Remote Transaction Banks: Consortium, Bank

Dynamic model

Dynamic Model The dynamic model shows the time-dependent behavior of the system and the objects in it. Begin dynamic analysis by looking for event, externally visible stimuli and responses. The dynamic model is important for interactive systems, but insignificant for purely static data repository, such as database.

The following steps are performed in constructing a dynamic model : Prepare scenarios of typical interaction sequences Identify events between objects Prepare an event trace for each scenario Build a state diagram Match events between objects to verify consistency

Example

Functional model

Functional Model The functional model shows how values are computed, without regard for sequencing, decisions, or object structure The functional model shows which values depend on which other values and the functions that relate them Data flow diagrams are useful for showing functional dependencies

Example

Object Orientation Implementation

Implementation Process Class Definition Creating Objects Calling Operations Using Inheritance Implementing Association