Object-Oriented Analysis Phase

Similar documents
Object-Oriented Analysis Phase

CSC 330 Object Oriented Software Design. Software Analysis Phase

CSC 330 Object Oriented Software Design Software Analysis Phase Object-Oriented Paradigm Object-Oriented Analysis cont d

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach.

Meltem Özturan

5 Object Oriented Analysis

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

CSC 330 Object Oriented Software Design. Software Design Phase

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)

Unified Modeling Language (UML)

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Computer Science for Engineers

Requirements & Domain Models. Lecture 13: Object Oriented Modelling. Nearly anything can be an object. Object Oriented Analysis

CIIS Help Desk & Support Tickets

Object-Oriented Design and Modeling Using the UML

Unit Wise Questions. Unit-1 Concepts

On to OO design ideas. Really just an introduction (much more in CS 48) About programming in the large

Chapter : Analysis Modeling

CS487 Midterm Exam Summer 2005

VALIDATION LED DEVELOPMENT OF OBJECT-ORIENTED SOFTWARE USING A MODEL VERIFIER

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

On the Purpose of Object-Oriented Analysis

MCQS for Midterm cs504 Combined by Anees Ahmad

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam

<Project Name> Use Case Specification: <Use-Case Name> Version <1.0>

user.book Page 45 Friday, April 8, :05 AM Part 2 BASIC STRUCTURAL MODELING

Elevator Control System

Object-Oriented and Classical Software Engineering

Chapter 5 System modeling

Structured Analysis and Structured Design

Classes and Objects. Object Orientated Analysis and Design. Benjamin Kenwright

Chapter 1: Principles of Programming and Software Engineering

Design Engineering. Dr. Marouane Kessentini Department of Computer Science

CS485/540 Software Engineering Requirements Modeling (Ch. 6)

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D

SE 1: Software Requirements Specification and Analysis

Overview. What is system analysis and design? Tools and models Methodologies

Modeling Issues Modeling Enterprises. Modeling

Dynamic Modeling - Finite State Machines

UML for Real-Time Overview

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9)

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Unified Modeling Language (UML)

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Lab # 1. Structuring System Requirements: Diagrams

Rube Goldberg Final Report Format

Designing applications. Main concepts to be covered

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Requirements Modeling (Ch. 6)

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Introduction to Software Engineering

The Analysis and Design of the Object-oriented System Li Xin 1, a

10조 이호진 이지 호

1. The narratives, diagrams, charts, and other written materials that explain how a system works are collectively called

Finding Firmware Defects Class T-18 Sean M. Beatty

QUIZ #5 - Solutions (5pts each)

Software Architecture. Lecture 5

Software Architectures. Lecture 6 (part 1)

Computational Paradigms and Process Frameworks. State-Oriented Models. Toggle Switch State Diagram

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

BDD and Testing. User requirements and testing are tightly coupled

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)

Introduction Use Case Diagram Graphical View

IBM Rational Rhapsody Gateway Add On. Customization Guide

Software Design Using CRC Cards

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 4 Entity Relationship (ER) Modeling

Software Development Methodologies

A Data Modeling Process. Determining System Requirements. Planning the Project. Specifying Relationships. Specifying Entities

Agile Tester Foundation E-learning Course Outline

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

Abstraction. Abstraction

Architecture and the UML

UNIT II Requirements Analysis and Specification & Software Design

Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p.

Object-Oriented Systems Development: Using the Unified Modeling Language

Creating and Giving Powerful Scientific Presentations

Chapter 9. Process Modeling. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Chapter 2: The Object-Oriented Design Process

Managing Change and Complexity

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 7 Data Modeling with Entity Relationship Diagrams

Functional Design of Web Applications. (partially, Chapter 7)

System Analysis & design

ACTIVITY-BASED CLASS DESIGN: AN ANALYTICAL METHOD FOR DERIVING OBJECT-ORIENTED CLASSES

Final Exam CISC 475/675 Fall 2004

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

CHAPTER 5 GENERAL OOP CONCEPTS

Agile Development

Copyright Wyyzzk, Inc Version 5.0. Introduction to Software Architecture

Object Oriented System Development

System Analysis And Design Methods ENTITY RELATIONSHIP DIAGRAM (ERD) Prof. Ali Khaleghi Eng. Hadi Haedar

Chapter 4. In this chapter, you will learn:

Lecture 7, Part 1: Object Oriented Modelling

Testing in the Agile World

A Collaborative User-centered Approach to Fine-tune Geospatial

Software Development Methodologies

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

Transcription:

Object-Oriented Analysis Phase Specification phase for Object-Oriented paradigm Semiformal Technique Natural part of OOA is the graphical notation associated with the technique Learning to use OOA has Means learning the graphical notations for that technique 1 Object-Oriented Analysis OOA consists of three steps Use-case modeling Class modeling Dynamic modeling 2 1

Object-Oriented Analysis Use-case modeling Disregarding the sequence determines how the various products are computed Display these info in use-case diagrams and associated scenarios Scenarios are use-case instances Action Oriented Refereed to as Functional Modeling 3 Object-Oriented Analysis Class modeling Determine Classes Their attributes The relationships between classes Present information in class diagram 4 2

Object-Oriented Analysis Dynamic modeling Determine actions performed by or to each class or subclass Present information in a state diagram Action oriented 5 Object-Oriented Analysis These three steps are not performed in sequence Steps are performed in parallel A change to a diagram will trigger changes to others Diagrams are updated continuously The knowledge gained in OOA process is represented in different ways Represents different aspects of the target product 6 3

Object-Oriented Analysis By the end of the process, the combined views/diagrams represent an overall understanding of the product 7 Elevator Problem A product that controls n elevators in a m story building Each elevator has a set of m buttons, one for each floor. These illuminate when pressed and cause the elevator to visit the corresponding floor. The illumination is canceled when the corresponding floor is visited by the elevator Each floor, except the first and top floor, has two buttons, one to request an up-elevator and one to request a down-elevator. These buttons illuminate when pressed. The illumination is canceled when an elevator visits the floor and then moves in the desired direction When an elevator has no request, it remains at its current floor with its doors closed 8 4

Use-Case Modeling Interactions possible between user and elevator User pressing an elevator button to summon an elevator to that floor User pressing a floor button requesting the elevator to stop at a specific floor 9 Use-Case Modeling: Use-Case Diagram 10 5

Use-Case Modeling: Normal Scenario 11 Use-Case Modeling: An Exception Scenario 12 6

Class Modeling Classes and their attributes are extracted and represented in a entity-relationship diagram Only attributes of the class are determined not the methods Methods are determined during Object-Oriented Design phase It is vary difficult to extract the classes and their attributes from problem statements or scenarios 13 Class Modeling Methods to extract classes For developers with domain expertise Deduce them from the use-cases CRC Cards For developers without domain expertise Noun Extraction 14 7

Deduce them from the use-cases From the scenarios in Figures 12.2 and 12.3 candidate classes are Elevator buttons Floor buttons Elevators Doors Timers 15 Noun Extraction 1) Concise Problem Definition Define the product briefly, preferably in single sentences Example: Buttons in elevators and on the floors control the motion of n elevators in a building with m floors 16 8

2) Informal Strategy Noun Extraction Take the problem constraint into account Example: Buttons in elevators and on the floors control the motion of n elevators in a building with m floors. Buttons illuminate when pressed to request the elevator to stop at a specific floor; the illumination is canceled when the request has been satisfied. When an elevator has no requests, it remains at its current floor with its doors closed. 17 Noun Extraction 3) Formalize the Strategy Identify the nouns in the informal strategy Excludes nouns that lie outside the problem boundary Use the nouns as candidate classes Example: Buttons in elevators and on the floors control the movement of n elevators in a building with m floors. Buttons illuminate when pressed to request the elevator to stop at a specific floor; the illumination is canceled when the request has been satisfied. When an elevator has no requests, it remains at its current floor with its doors closed. 18 9

Noun Extraction Nouns outside the problem Floor Building Door 19 Noun Extraction Abstract nouns Identifies ideas or quantities that have no physical existence Rule of thumb: Abstract nouns rarely end up corresponding to classes Frequently are attributes of classes Movement: attribute of elevator Illumination: attribute of button Request: attribute of user 20 10

Remaining nouns Elevator Button Noun Extraction 21 Noun Extraction 22 11

CRC Cards Class-Responsibility-Collaboration Cards For each class the following are written on a card The name of the class Functionality or responsibility of the class List of classes it invokes or collaborates with 23 CRC Cards Extensions and modifications to CRC Card In addition to responsibility of the class, CRC Card contains attributes and methods of the class Use post-it instead of cards CASE tools 24 12

Weaknesses CRC Cards Not a good way to identify classes unless the team is very experienced in the application domain 25 CRC Cards Strengths CRC Card can be an excellent tool to insure completeness once the developers have determined the classes and have a good idea of class responsibilities class collaborations Cards can be passed to developers Interaction between teams can uncover missing or incorrect attributes or methods 26 13

Dynamic Modeling 27 Testing During OOA Phase One component of reviewing the OOA is CRC Card Overlooked aspects Responsibility 1 Responsibility 7 28 14

Testing During OOA Phase 29 Testing During OOA Phase 30 15

Testing During OOA Phase 31 CASE Tools for the OOA Phase CASE support the graphical aspects of OOA Strengths Change to the model is reflected automatically in affected diagrams CASE tools support other parts of the OO life cycle Examples Rose Together 32 16

Challenges of the OOA Phase Document must be simple and complete Transition between OOA and OOD is smoother than the transition in the classical paradigm Easy to cross boundaries between analysis (WHAT) and design (HOW) Essential to remember that the OOA is an iterative process 33 Challenges of the OOA Phase Initial part of classical design phase is to decompose the product On the contrary, classes and the modules of the OOD phase were extracted during OOA phase Temptation of carrying into design phase is extremely high since the classes are present from early on 34 17