Object-Oriented Analysis 2: Finding Classes CMPT 371 Fall 2004 J.W. Benham.

Slides:



Advertisements
Similar presentations
Computer Science Dept. Fall 2003 Object models Object models describe the system in terms of object classes An object class is an abstraction over a set.
Advertisements

Gerhard Dueck -- CS3013Capturing Requirements as Use Cases 1 Capturing the Requirements as use Cases  Requirements Description  We need to describe –The.
SWE Introduction to Software Engineering
1 SWE Introduction to Software Engineering Lecture 13 – System Modeling.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Chapter 8 Analysis Modeling
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 Systems Requirements Lecture 4 Identifying.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Chapter 21 Object-Oriented Analysis
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Com S 362: Object-Oriented Analysis and Design Class, Responsibilities, Collaborations, CRC Cards Com S 362: Object-Oriented Analysis and Design Oct 18,
Domain Modeling (with Objects). Motivation Programming classes teach – What an object is – How to create objects What is missing – Finding/determining.
The chapter will address the following questions:
 Computer Science 1MD3 Introduction to Programming Michael Liut Ming Quan Fu Brandon.
OBJECT-ORIENTED ANALYSIS PHASE
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Unified Modeling Language, Version 2.0
Lecture 14 & 15: Object- Oriented Analysis Anita S. Malik Adapted from Schach (2004) Chapter 12.
Structural Modeling Chapter 7
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
1 Class Diagrams: The Essentials. 2 Terms and Concepts A class is... The most important building block of any object-oriented system. A description of.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Lecture 6: Structural Modeling
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
CRC – What is it?  Class  Responsibilities  Collaborations.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
1 Structural Modeling Chapter 7. 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Analysis and definition of classes Practice 1. ATD. Duties  Abstract type of data defines a set of objects, which fully describes a set of operations.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Copyright ©2004 Cezary Z Janikow 1 OOAD Overview n OO language – Necessary for OO systems? – Sufficient for OO systems? Owning a hummer doesn’t make you.
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
1 Introduction to Classes. 2 Terms and Concepts A class is... –The most important building block of any object- oriented system. –A description of a set.
1 Unified Modeling Language, Version 2.0 Chapter 2.
CMSC 345 Fall 2000 OO Design. Characteristics of OOD Objects are abstractions of real-world or system entities and manage themselves Objects are independent.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
 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.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
© 2000 Franz Kurfess System Design Methods 1 CSC 205: Software Engineering I Dr. Franz J. Kurfess Computer Science Department Cal Poly.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
MAITRAYEE MUKERJI Object Oriented Programming in C++
Object-Oriented Analysis (OOA)
OO Domain Modeling With UML Class Diagrams and CRC Cards
Object-Oriented Analysis
CRC Modeling (class-relationship-collaborator)
Copyright 2007 Oxford Consulting, Ltd
Presentation transcript:

Object-Oriented Analysis 2: Finding Classes CMPT 371 Fall 2004 J.W. Benham

Abstractions “An abstraction denotes the essential characteristics of an object that distinguish it from all other kinds of objects and thus provide crisply defined conceptual boundaries, relative to the perspective of the user.” – Booch, Object-Oriented Analysis and Design

Types of Abstractions Entity abstraction – represents a useful model of a problem- or solution-domain entity Action abstraction – provides a generalized set of operations which perform the same kind of function Virtual machine abstraction Coincidental abstraction

Classification “The identification of classes and objects is the hardest part of object-oriented design.” – Booch Discovery – recognize key abstractions and mechanisms from problem domain Invention – devise generalized abstractions and new mechanisms that specify how objects collaborate

Iterative Classification “Only at later stages in the design, once clients [other classes] have been built that use this structure, can we meaningfully evaluate the quality of our classification.” – Booch Derivation Factorization Composition Abstraction

Approaches to Classification Classical categorization – use related properties as the criteria for sameness among objects Conceptual clustering – formulate conceptual descriptions and then classify entities according to those descriptions Prototype theory – represent a class by a prototypical object which other objects must resemble in significant ways

Classification and Object-Oriented Analysis Classical approaches -- conceptual class categories Behavior analysis – responsibility-driven design, system functions Domain analysis – vocabulary of problem domain Use-case analysis – identify objects that participate in scenario CRC Cards

Identifying Classes Wirfs-Brock, et. al. Designing Object- Oriented Software Model physical objects Model conceptual entities that form a cohesive abstraction If there is more than one word for a concept, use the one that is most meaningful in terms of the rest of the system

Identifying Classes - 2 Be wary of the use of adjectives Be wary of sentences in the passive voice Model categories of classes Model known interfaces to outside world Model values of attributes, but not the attributes themselves