Basic Characteristics of Object-Oriented Systems

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

UML an overview.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Object-Oriented Analysis and Design
Systems development life cycle & development methodologies
Chapter 1 Object-Oriented System Development
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
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:
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Unified Modeling (Part I) Overview of UML & Modeling
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
Unified Modeling Language(UML) BY
Introduction To System Analysis and design
The Design Discipline.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
1 Introduction Chapter 1. 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding the organization.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Chapter 1: Introduction to Systems Analysis and Design
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
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of 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.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Introduction to OOAD and the UML
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Slide 1 Object-Oriented Analysis and Design Attempts to balance emphasis on data and process Uses Unified Modeling Language (UML) for diagramming Use-case.
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.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Unit 1 Object-Oriented Design Concepts. Key Concepts Development methodologies Classes and objects Attributes and methods Inheritance and polymorphism.
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.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Object Oriented Systems Design
Chapter 1: Introduction to Systems Analysis and Design
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Systems Analysis and Design
Business System Development
TIM 58: Systems Analysis and Design Winter Quarter 2017 Tuesday/Thursday 1:30 – 3:05 pm, Classroom Unit 1.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Unified Modeling Language
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
Introduction to UML.
Copyright 2007 Oxford Consulting, Ltd
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

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

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

Classes and Objects

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

Messages and Methods

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

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

Class Hierarchy

Inheritance

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

Polymorphism and Dynamic Binding

Polymorphism and Dynamic Binding

Software Design Principles and Object-Oriented Systems

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

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

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

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

The Unified Modelling Language, Version 2.0

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

Structure Diagrams include Class Object package Deployment Component Composite structure diagrams

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

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

UML 2.0 Diagram Summary

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

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

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

UML 2.0 Diagram Summary

Object Oriented Systems Analysis and Design with Unified Process

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

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

Engineering Workflows

Supporting Workflows

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

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

Benefits of the Object-Oriented Approach

Benefits of the Object-Oriented Approach

MOOSAD Approach

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

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

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