Presentation is loading. Please wait.

Presentation is loading. Please wait.

Basic Characteristics of Object-Oriented Systems

Similar presentations


Presentation on theme: "Basic Characteristics of Object-Oriented Systems"— 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 Class – Template to define specific instances or objects
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 implement an object’s behavior
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
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 Subclasses or specific classes are at the bottom
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
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 Diagrams include
Class Object package Deployment Component Composite structure diagrams

22 Class Object Package Structure Diagrams relationship between classes
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 Sequence Communication Interaction Overview
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 Behavioral State Machine Protocol State Machine
State Machines Behavioral State Machine Examines behavior of one class Protocol State Machine Shows dependencies of different interfaces of a class

27 Captures Business requirements
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 Benefits of Object-Oriented Systems Analysis and Design
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
Chapter Steps Deliverable 3 Identifying business value System request Analyze feasibility Feasibility Study 4 Develop workplan Work plan Staff the project Staff plan Control and direct project GANTT Chart 5 Requirements determination Information 6 Functional modeling Function Models 7 Structural modeling Structure Models 8 Behavioral modeling Dynamic Models 9 Moving on to design Factored Models

40 Minimalist Approach to Object Oriented Systems Analysis and Design with UML
Chapter Steps Deliverable 10 Class and method design logic design 11 Data management layer design Database design 12 Human computer interaction layer design Interface design 13 Physical architecture layer design Architecture design 14 Construction and verification Completed syst 15 Installation Training plan Operations and support Support plan

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


Download ppt "Basic Characteristics of Object-Oriented Systems"

Similar presentations


Ads by Google