Object-Oriented Analysis: some basic principles. Objects “Objects have state, behaviour and identity.” Booch (1994) State: the condition of an object.

Slides:



Advertisements
Similar presentations
Chapters 7 & 9 System Scope
Advertisements

Systems Analysis and Design 8th Edition
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
System Modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers. Different.
Object-Oriented Analysis and Design
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.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
IMS5024 Week 3 Semester 2, IMS 5024 Object orientation (1)
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place.
© Copyright Eliyahu Brutman Programming Techniques Course.
03/12/2001 © Bennett, McRobb and Farmer What Is Object-Orientation? Based on Chapter 4 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Object-Oriented Analysis and Design
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Software Engineering 8. System Models.
Introduction To System Analysis and design
Systems Analysis and Design in a Changing World, Fifth Edition
Basic Concepts Introduction to OO Development and Software Engineering Principles SYSC System Analysis and Design.
OBJECT-ORIENTEDNESS KCDCC. WHAT IS OBJECT-ORIENTEDNESS? KCDCC model system as a collection of interacting objects O-O Modelling O-O Programming similar.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models. System modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with.
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
1 WXGC6102: Object-Oriented Techniques What Is Object-Orientation? References: Chapter 4 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Unified Modeling Language, Version 2.0
What Is Object-Orientation?
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
Chapter 7 System models.
Slide 1 System models. Slide 2 Objectives l To explain why the context of a system should be modelled as part of the RE process l To describe behavioural.
System models l Abstract descriptions of systems whose requirements are being analysed.
Pertemuan 19 PEMODELAN SISTEM Matakuliah: D0174/ Pemodelan Sistem dan Simulasi Tahun: Tahun 2009.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Systems Analysis & Design 7 th Edition Chapter 5.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
Chapter 8 Analysis & Modeling. Data Modeling examines data objects independently of processing focuses attention on the data domain creates a model at.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Kal Bugrara, Ph.DSoftware Engineering Northeastern University Fundamentals Of Software Engineering Lecture V.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
DATA REQIREMENT ANALYSIS
System models October 5, 2005.
What Is Object-Orientation?
Presentation transcript:

Object-Oriented Analysis: some basic principles

Objects “Objects have state, behaviour and identity.” Booch (1994) State: the condition of an object at any moment, affecting how it can behave Behaviour: what an object can do, how it can respond to events and stimuli Identity: each object is unique

Examples of Objects Object A person. ‘Hussain Pervez.’ Speak, walk, read. Studying, resting, qualified. A shirt. My favourite button white denim shirt. Shrink, stain, rip. Pressed, dirty, worn. A sale. Sale no #0015, 16/06/02. Earn loyalty points.Invoiced, cancelled. IdentityBehaviourState A bottle of ketchup. This bottle of ketchup. Spill in transit.Unsold, opened, empty.

Classes and Class Diagrams Anything, can be an object More helpfully, objects are grouped into classes Class diagrams depict the nature of the objects (incl. attributes and responsibilities) and associations between them. A “superset” of E-R modelling (Rumbaugh, Booch and Jacobsen)

Types of class 1. “Entity” or “Domain” or “Business object” classes: things that are described by the application. 2. Interface classes: handle input and output. Inserted at design and implementation stage. 3. Control classes: overall control mechanism for the application.

Types of association between classes Ordinary (but cardinality is more subtle than E-R models) Inheritance: “is-a-type-of” relationship. Aggregation: “is-a-part-of” relationship Composition: strong aggregation - “is-a- part-of something that ceases to exist if one part is removed”

Classes have: Attributes - describe the objects; have data type; will become class variables in implementation. Operations - actions the class is responsible for; will become methods in implementation

Class and Instance An object is: “an instance that originates from a class, it is structured and behaves according to its class.” OMG (2001)

Class and Instance “The purpose of a class is to declare a collection of methods, operations and attributes that fully describe the structure and behaviour of objects.” OMG (2001) Structure: what an object knows, information that it holds Behaviour: what an object can do

Specialization Hierarchy Person EmployeeCustomer Supplier monthly paid weekly paid hourly paid DriverCleaner Sales assistant More general (superclasses) More specialized (subclasses)

Advantages of O-O Can save effort –Reuse of generalized components cuts work, cost and time Can improve software quality –Encapsulation increases modularity –Sub-systems less coupled to each other –Better translations between analysis and design models and working code

Issues arising from developing class diagrams Similar idea to E-R modelling, but not identical. Possible to use DFDs or Use Case diagrams to help establish domain classes. But still a matter of judgement - requires a lot of domain knowledge.

Drawing Use Case Diagrams Purpose –document the functionality of the system from the users’ perspective –document the scope of the system –document the interaction between the users and the system using supporting use case descriptions (behaviour specifications)

Notation of Use Case Diagrams Staff Contact Change a client contact System or subsystem boundary Actor Use case Communication association

Staff Contact Record completion of an advert Campaign Manager Change a client contact Assign individual staff to work on a campaign Assign team of staff to work on a campaign Assign staff to work on a campaign

Use Case Descriptions Can be a simple paragraph Assign staff to work on a campaign –The campaign manager wishes to record which staff are working on a particular campaign. This information is used to validate timesheets and to calculate staff year-end bonuses.