Download presentation
Published bySimon Hawkins Modified over 8 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.