Requirements Analysis 9. 1 OO Concepts - 2005b509.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Object.

Slides:



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

COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Requirements Analysis SDM b518.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Systems Development.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
COMP1007 Intro to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to Requirements Analysis Object Oriented.
Requirements Analysis 8. 1 Storyboarding b508.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Human.
Intro to Systems Requirements COMP1007 © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Systems Requirements Use-Cases.
Fall 2007ACS-1805 Ron McFadyen1 Programming Concepts Chapter 4 introduces more advanced OO programming techniques. Construction of a programs usually requires:
Requirements Analysis 1. 1 Introduction b514.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Objects,
Requirements Analysis 15.1 Specialised Associations b515.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Documenting Requirements using Use Case Diagrams
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
Requirements Analysis Classes & Associations b510.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to System Requirements Lecture 2 Use-Cases.
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to Systems Requirements Lecture 4 Identifying.
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Chapter Assistance -- Lamimi V. Kamat February 14, 1999 R. A. Volz1 OBJECT ORIENTED MODELING, CONCEPTS AND PRINCIPLES Chapter 20.
Requirements Analysis Classes & Associations b510.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
03/12/2001 © Bennett, McRobb and Farmer What Is Object-Orientation? Based on Chapter 4 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis.
Requirements Analysis Activity Diagrams b511.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis.
Introduction To System Analysis and design
Refining the Requirements Model
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
OBJECT ORIENTED PROGRAMMING CONCEPTS ISC 560. Object-oriented Concepts  Objects – things names with nouns  Classes – classifications (groups) of similar.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
Unified Modeling Language, Version 2.0
What Is Object-Orientation?
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
Introduction To System Analysis and Design
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
03/12/2001 © Bennett, McRobb and Farmer 2005 Refining the Requirements Model Based on Chapter 8 of Bennett, McRobb and Farmer: Object Oriented Systems.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Object Oriented Software Development
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas.
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
OOP Review CS 124.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
CMSC 345 Fall 2000 OO Design. Characteristics of OOD Objects are abstractions of real-world or system entities and manage themselves Objects are independent.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Slide 1 Objectives Understand the basic characteristics of object-oriented systems. Be familiar with the Unified Modeling Language (UML),V.2.0.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)
Basic Characteristics of Object-Oriented Systems
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Systems Analysis and Design With UML 2
OOP What is problem? Solution? OOP
Systems Analysis and Design With UML 2
SNSCT_CSE_PROGRAMMING PARADIGM_CS206
What Is Object-Orientation?
Presentation transcript:

Requirements Analysis 9. 1 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Object Oriented Concepts Department of Information Systems

Requirements Analysis 9. 2 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Learning Objectives v Why OO? v Classes & Objects v Review the UML notation v Some important concepts in OO

Requirements Analysis 9. 3 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Why OO? v Easier maintenance & extensibility of software v Supports reuse of existing software v Handles complexity well v Natural modelling (i.e. descriptions) of problem domain v Requirements traceability

Requirements Analysis 9. 4 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Objects An object is “a concept, abstraction or thing with crisp boundaries and meaning for the problem at hand.” Rumbaugh et al., 1991 An object reflects “the capabilities of a system to keep information [or] to interact” Coad and Yourdon, 1991 An object has “ state, behaviour and identity ” Booch, 1993 An object “represents a particular instance of a class. It has identity and attribute values” UML Spec V1.1

Requirements Analysis 9. 5 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Object State v Static and dynamic attributes v State is reflected by attribute values v A car object…. u make u model u mileage u dateRegistered u dateTaxed u dateTested may have states:

Requirements Analysis 9. 6 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Object Behaviour v We associate valid behaviour (operations) with each object v For the car object –register –tax –changeColour? v Each valid operation is invoked by a request from another object

Requirements Analysis 9. 7 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Object Identity v Object identity is intrinsic, not necessarily reflected by attribute values v Referenced by an object-id v Cars have different registrations but the registration is not the object id

Requirements Analysis 9. 8 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Classes Class describes “a group of objects with – Rumbaugh et al., 1991 Class is “a descriptor for a set of objects with similar structure & behaviour” UML V1.1

Requirements Analysis 9. 9 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Classification v Grouping objects with the same behaviour and data. v Modifying or Extending the object v Example

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Class Window {abstract, author=Ray, status=tested} +size:Area = (50,50) #visibility:Boolean=invisible +default-size:Rectange #maximum-size:Rectangle -xptr:XWindow* +display() +create() -attachXWindow(xwin:XWindow*) Window size:Area visibility:Boolean display() Implementation Detail Suppressed Analysis Level

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Message Passing v Objects collaborate to achieve the functional requirements v Objects communicate by passing messages –request – calls –may include parameters –some messages have

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Message Passing Borrower address name status Book status title borrow

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Encapsulation

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Encapsulation v An object has data and behaviour v Behaviour = v Data should be accessed only by object’s own operations v Operation signature specifies number and type of attributes passed to it

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Effect of Encapsulation v Object implementation hidden from other objects v Other objects see only operation protocols v Internal details may change significantly— no effect on rest of system v As long as operation purpose and protocol stay the same, changes don’t “ripple”

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved v But we want to distinguish academic and admin staff v E.g. admin staff can’t be assigned to teaching v We specialise the StaffMember base class Generalisation-Specialisation v Say we have a general Staff class:

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Generalisation-Specialisation

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Generalisation-Specialisation  Instances of AdminStaff and AcademicStaff all have name, address, phone, nextOfKin attributes v (from generalised StaffMember class)  AcademicStaff also has specialised associations with Module

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Inheritance v An example of inheritance v Gives opportunities for reuse v Minimises duplication of effort v Derived classes inherit base class reliability v Don’t violate base class encapsulation

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Inheritance  Subclasses redefine the operation pay  (signature stays the same) v Sender of message need not know class of receiving object v Inheritance allows reuse of existing class definitions v Just add extra attributes or modify behaviour as required

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Polymorphism  Redefinition of pay operation is example of polymorphism v Same pay message can be sent to many StaffMember objects v Each uses its own pay method depending upon class:

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved Summary v 4 important characteristics of OO: –message passing –encapsulation –inheritance –polymorphism

Requirements Analysis OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved References v Bennett, S., McRobb, S. & Farmer, R. Object-Oriented Systems Analysis and Design using UML McGraw-Hill 2002 v Jacobson, I., Booch, G. and Rumbaugh, J. (1999), The Unified Software Development Process, Addison-Wesley, Reading Mass. v Rational Unified Process 2000