1 / 47

Introduction to Object Orientation System Analysis and Design

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?.

Download Presentation

Introduction to Object Orientation System Analysis and Design

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Object Orientation System Analysis and Design

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

  3. 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.

  4. 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).

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

  6. 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.

  7. Basic Characteristic (3)

  8. 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.

  9. 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.

  10. Basic Characteristic (6)

  11. (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

  12. 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)

  13. Object Oriented Notation Guide

  14. Class and Object • Class • Instantiation relationship • Object instance Class name Attributes Methods Class Name Class Name

  15. Generalization and Inheritance

  16. Aggregation • Aggregation 1 • Aggregation 2

  17. Association • Association • Multiplicity of association

  18. Ternary Association

  19. Object oriented analysis and design

  20. 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

  21. Problem statements

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

  23. Example : ATM Network

  24. System Architecture

  25. Identifying Object Classes

  26. Example : ATM Network

  27. Preparing a Data Dictionary

  28. 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

  29. Identifying Associations

  30. Example

  31. Identifying Attributes

  32. Example

  33. 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

  34. Example

  35. 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

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

  37. Dynamic model

  38. 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.

  39. 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

  40. Example

  41. Functional model

  42. 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

  43. Example

  44. Object Orientation Implementation

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

More Related