Object-Oriented Analysis (OOA)

Slides:



Advertisements
Similar presentations
Slide 12.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Advertisements

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
COST G9 - Work group 2 Cadastral science meeting Aalborg, Dk Modeling methodology for real estate transactions Radoš Šumrada Faculty.
Chapter 21 Object-Oriented Analysis
Slide 6A.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Case Study: Class Extraction.
Domain Modeling (with Objects). Motivation Programming classes teach – What an object is – How to create objects What is missing – Finding/determining.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Objects What are Objects Observations
Introduction To System Analysis and design
OBJECT-ORIENTED ANALYSIS PHASE
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
1 Analysis Extracting from Use Cases to Create Diagrams.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Lecture 14 & 15: Object- Oriented Analysis Anita S. Malik Adapted from Schach (2004) Chapter 12.
Behavioral Modeling Chapter 8.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis activity Janice Regan,
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
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.
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.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
A Student Guide to Object- Oriented Development Chapter 10 Designing objects and classes.
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.
Software Engineering Zhang Shuang
THE ANALYSIS WORKFLOW  The specification document  Informal specifications  The analysis workflow  Extracting the entity classes  Functional modeling:
CHAPTER 13 OBJECT-ORIENTED ANALYSIS. Overview l The analysis workflow l Extracting the entity classes l The elevator problem case study l The test workflow:
Use Case Textual Analysis
Software Engineering Zhang Shuang
Unit-3 Identifying use cases Object Analysis Classification
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Beyond Scenarios: Generating State Models from Use Cases An approach for the synthesis of State transition graphs from Use Cases Supporting Use Cases Based.
Elaboration popo.
UML Diagrams: Class Diagrams The Static Analysis Model
Cmpe 589 Spring 2006.
UML Diagrams By Daniel Damaris Novarianto S..
Systems Analysis and Design with UML Version 2.0, Second Edition
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Week 10: Object Modeling (1)Use Case Model
OO Domain Modeling With UML Class Diagrams and CRC Cards
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Behavioral Modeling.
The Object Oriented Approach to Design
Software Architecture & Design Pattern
Object-Oriented Design
INFS 6225 Object-Oriented Systems Analysis & Design
Object-Oriented Analysis
Overview of Software Requirements
Introduction To System Analysis and Design PART 2
Unified Modeling Language
CRC Modeling (class-relationship-collaborator)
Analysis models and design models
Copyright 2007 Oxford Consulting, Ltd
Algorithms and Problem Solving
Sample Test Questions Please identify the use cases of the system that cover all the behaviors described in the system specification. Please identify.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Introduction to OOAD and the UML
General Workflow of Use-Case Driven Development
On to Object Design c. 14.
Presentation transcript:

Object-Oriented Analysis (OOA) M. M. Pickard, PhD Department of Computer Science

Steps in OOA Use-case modeling Class Modeling Dynamic Modeling

Use-Case Modeling Show the functionality of the contemplated product. Use cases: Show the general interaction between classes of the software product and users. Scenarios: Show the steps in a particular interaction between users and specific objects.

Entity Class Extraction Functional modeling Scenarios of all use cases. Normal Exceptions Entity Class Modeling (class diagram) Identify classes and attributes Class interrelationships Dynamic modeling (state chart)

Entity Class Modeling Extract classes and their attributes. Attempt to deduce them from the use cases. Use CRC cards if have domain expertise. Noun extraction.

Entity Class Modeling Deduction from use cases and scenarios: May yield a large number of candidate classes. Harder to delete extraneous classes than it is to add classes.

Entity Class Modeling Class-responsibility-collaboration (CRC) cards. Name of the class Responsibility (functionality) of the class. List other classes required to perform its functionality (collaboration).

Entity Class Modeling Noun extraction (advised if no domain expertise). Create a concise problem definition. Express an informal strategy. Formalize the strategy. Identify nouns as candidate classes.

Build Class Diagrams Show attributes. No methods (operations) at this point. Show relationships between classes. Iteratively refine the diagram.

Dynamic Modeling Produce a state diagram for each entity class that shows actions performed by or on that class. Looks similar to a finite state machine.

Class Extraction First, entity classes. Then, boundary classes And control classes.

Boundary Class Extraction Boundary classes Help to model interaction between the product and actors. Usually show input/output. One for each screen or report.

Control Class Extraction Control classes Model non-trivial algorithmic computations.

Use Case Realization Realization – making it real. For each use case diagram Show a class diagram that includes boundary and control classes. Build interaction diagrams to “realize” the associated scenario.

Use Case Realization Interaction Diagrams Sequence diagram Emphasizes the sequence of actions. Collaboration diagram Emphasizes the interrelationships among classes. Each can be transformed into the other.

Object Oriented Analysis Use cases are the foundation. Extraction and modeling of entity classes is iterative. Once entity, boundary, and control classes are extracted, Refine use cases; Realize the use cases.