1 / 41

Basic Characteristics of Object-Oriented Systems

Basic Characteristics of Object-Oriented Systems. Basic Characteristics of Object Oriented Systems. Classes and Objects Methods and Messages Encapsulation and Information Hiding Inheritance Polymorphism and Dynamic Binding. Classes and Objects.

mdick
Download Presentation

Basic Characteristics of Object-Oriented Systems

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. Basic Characteristics of Object-Oriented Systems

  2. Basic Characteristics of Object Oriented Systems • Classes and Objects • Methods and Messages • Encapsulation and Information Hiding • Inheritance • Polymorphism and Dynamic Binding

  3. Classes and Objects • Class – Template to define specific instances or objects • Object – Instantiation of a class • Attributes – Describes the object • Behaviors – specify what object can do

  4. Classes and Objects

  5. Methods and Messages • Methods implement an object’s behavior • Analogous to a function or procedure • Messages are sent to trigger methods • Procedure call from one object to the next

  6. Messages and Methods

  7. Encapsulation and Information Hiding • Encapsulation • combination of data and process into an entity • Information Hiding • Only the information required to use a software module is published to the user • Reusability Key • Use an object by calling methods

  8. Inheritance • Superclasses or general classes are at the top of a hierarchy of classes • Subclasses or specific classes are at the bottom • Subclasses inherit attributes and methods from classes higher in the hierarchy

  9. Class Hierarchy

  10. Inheritance

  11. Polymorphism and Dynamic Binding • Polymorphism • A message can be interpreted differently by different classes of objects • Dynamic Binding • Sometimes called late binding • Delays typing or choosing a method for an object until run-time • This is different from Static Binding • Type of object determined at compile time

  12. Polymorphism and Dynamic Binding

  13. Polymorphism and Dynamic Binding

  14. Software Design Principles and Object-Oriented Systems

  15. Software Design Principles and Object-Oriented Systems • Design Principle: Modularity (Modularisation): • Decomposing large software into a number of smaller as independent as possible components, usually with the goal of placing different functionalities or responsibilities in different components. • Modularity allows the complexity of large software to be manageable • Object-Oriented Systems – Modularised • Classes and objects as the basic components or modules provides a convenient and effective way to realise and implement the modularisation

  16. Software Design Principles and Object-Oriented Systems • Design Principle: Maximise Information Hiding • Information hiding is a term to describe that components hides the internal details and processing from one another • Object-Oriented Systems – Information hided • Maximising information hiding is achieved as only the information required to be passed to and returned from a module is published. Exactly how a module implements its functionality is not relevant • This also provide the reusable objects

  17. Software Design Principles and Object-Oriented Systems • Design Principle: Minimise Coupling • Coupling is a term to describe the interactions between components. The lower coupling, the less interaction (i.e., the more independence ) between components • Object-Oriented Systems – Loosely coupled: • Encapsulation (i.e., combination of data and process into an entity) minimises the need of coupling between data and process • Information hiding minimises the communication coupling

  18. Software Design Principles and Object-Oriented Systems • Design Principle: Maximise Cohesion • Cohesion is a term to describe the interactions within components. The more cohesive a component, the more related the internal parts of the component to each other and to its whole purpose • Object-Oriented Systems – highly cohesive: • Classes and objects provides highly cohesive units that contain both data and process, as data and process that are strongly related can be grouped together into a class and object

  19. The Unified Modelling Language, Version 2.0

  20. The Unified Modeling Language, Version 2.0 • Structure Diagrams • Behavior Diagrams • Extension Mechanisms • Developers • Grady Booch • Ivar Jacobson • James Rumbaugh

  21. Structure Diagram • Structure Diagrams include • Class • Object • package • Deployment • Component • Composite structure diagrams

  22. Structure Diagrams • Class • relationship between classes • Object • Relationships between objects • Package • Group UML elements together to form higher level constructs

  23. Structure Diagrams Cont. • Deployment • Shows the physical architecture and software components of system • Component • Physical relationships among software components • Composite Structure • Illustrates internal structure of a class

  24. UML 2.0 Diagram Summary

  25. Bahavior Diagrams • Activity • Illustrates business workflows, user case, and procedure or algorithm logic flow • Sequence • Time-based ordering behavior of objects activities in a use case • Communication • Communication among a set of collaborating objects of an activity • Interaction Overview • Overview of flow of control of a process • Time • Interaction among a set of objects and state changes

  26. State Machines • Behavioral State Machine • Examines behavior of one class • Protocol State Machine • Shows dependencies of different interfaces of a class

  27. Use Case Diagrams • Captures Business requirements • Illustrates interaction between a system and its environment • Includes end user • Any external system that interacts with its information system • Documents and clarifies requirements of system being modeled

  28. UML 2.0 Diagram Summary

  29. Object Oriented Systems Analysis and Design with Unified Process

  30. Object Oriented Systems Analysis and Design • Use-case driven • Architecture Centric: support three separate but interrelated architectural views of a system • Functional view • Static (structure) view • Dynamic (behaviour) view • Iterative and Incremental • The Unified Process

  31. Unified Process • A special methodology which uses UML techniques for OO analysis and design • Phases of Unified Process • Inception, elaboration, construction, and transition • Workflows of Unified Process • Engineering workflows: • Business modeling, requirements, analysis, design, implementation, test, deployment • Supporting workflows: • Configuration and change management, project management, environment

  32. Engineering Workflows

  33. Supporting Workflows

  34. A Minimalist Approach to Object Oriented Systems Analysis and Design with UML

  35. A Minimalist Approach • Benefits of Object-Oriented Systems Analysis and Design • The Minimalist Object-Oriented Systems Analysis and Design Approach

  36. Benefits of the Object-Oriented Approach

  37. Benefits of the Object-Oriented Approach

  38. MOOSAD Approach

  39. Minimalist Approach to Object Oriented Systems Analysis and Design with UML

  40. Minimalist Approach to Object Oriented Systems Analysis and Design with UML

  41. Summary • Basic characteristics of an object oriented system • Unified modeling language (UML) • Object oriented systems analysis and design with unified process • Minimalist approach to object oriented systems analysis and design with UML

More Related