CSC 330 Object Oriented Software Design. Software Analysis Phase

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

Object-Oriented Analysis Phase

Object-Oriented Analysis Phase

Object-Oriented Systems Development: Using the Unified Modeling Language

CSC 330 Object Oriented Software Design. Software Design Phase

CSC Advanced Object Oriented Programming, Spring Overview

Chapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1

Object Oriented System Development

Software Development Methodologies

Introduction... ix. Chapter 1: Exploring Fundamental Programming Concepts... 1

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 Software Engineering Practical Software Development using UML and Java

Object-Oriented Analysis and Design Using UML

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

Processes, Methodologies and Tools. Fall 2005

Software Engineering from a

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language?

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

T.Kozlowski, T. A. Carey, C. F. Maguire, D. Whitehouse, C. Witzig, and S. Sorensen

OO Analysis and Design with UML 2 and UP

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

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

CS487 Midterm Exam Summer 2005

Schedule(3/3) March 18th 13:00 Unified Process and Usecase-Driven Approach. (problem definition, use case model)

Combining UML and Z in a Software Process

SOFTWARE LIFE-CYCLE MODELS 2.1

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

System Development Life Cycle Methods/Approaches/Models

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Lecture 7: Software Processes. Refresher: Software Always Evolves

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Requirements and Design Overview

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Systems Analysis and Design in a Changing World, Fourth Edition

CISC 322 Software Architecture

Object-Oriented Systems. Development: Using the Unified Modeling Language

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

The Design Space of Software Development Methodologies

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

Programming Language Constructs as Basis for Software Architectures

An Introduction to the UML and the Unified Process

TTool Training. I. Introduction to UML

Unified Modelling Language

Incremental development A.Y. 2018/2019

5 Object Oriented Analysis

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

Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz

KINGS COLLEGE OF ENGINEERING

Software Design and Implementation. Example Architecture KIWC

Software Design Using CRC Cards

CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN Two Marks Question with Answers Unit-I Introduction to OOAD

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

Software Development Methodologies

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

Representing System Architecture

Research Review on Basic Principles of Unified Modelling Language

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

Distributed Systems Programming (F21DS1) Formal Verification

Guide to applying the ESA software engineering standards to projects using Object-Oriented Methods

A Comparison of the Booch Method and Shlaer-Mellor OOA/RD

Programmazione. Prof. Marco Bertini

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

Structured Analysis and Structured Design

Definition of Information Systems

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015

Introduction To Software Development CSC Spring 2019 Howard Rosenthal

Software Architecture and Design I

Rose/Architect: a tool to visualize architecture

CASE TOOLS LAB VIVA QUESTION

Software Engineering Lifecycles. Controlling Complexity

Final Exam CISC 475/675 Fall 2004

Outline of Unified Process

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

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

Introduction to Object Oriented Analysis and Design

1 Introduction. 1.1 Introduction

Programming Language Constructs as Basis for Software Architectures. Stefan Resmerita, WS2015

Software Development Methodologies

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

Object Oriented Finite Element Modeling

Modeling Issues Modeling Enterprises. Modeling

Getting a Quick Start with RUP

Objectives. Connecting with Computer Science 2

02291: System Integration

Topic 01. Software Engineering, Web Engineering, agile methodologies.

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

CYSE 411/AIT 681 Secure Software Engineering. Topic #6. Seven Software Security Touchpoints (III) Instructor: Dr. Kun Sun

The OO Solution. Objects

Unified Modeling Language (UML)

4. Risk-Based Security Testing. Reading. CYSE 411/AIT 681 Secure Software Engineering. Seven Touchpoints. Application of Touchpoints

Answers NOT TO BE PRINTED

BPMN to BPEL case study solution in VIATRA2

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

10조 이호진 이지 호

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

1: Specifying Requirements with Use Case Diagrams

CS 1042 OBJECT ORIENTED ANALYSIS AND DESIGN. UNIT 1 INRODUCTION 1.1 An Overview of Object Oriented System and Development

Transcription:

CSC 330 Object Oriented Software Design Software Analysis Phase 1

Overview Object-oriented analysis Use-case modeling Class modeling Dynamic modeling Testing during the object-oriented analysis phase CASE tools for the object-oriented analysis phase Air Gourmet case study: Object-oriented analysis Challenges of the object-oriented analysis phase 2

Object-Oriented Oriented Analysis (OOA) Phase Object-oriented paradigm Reaction to perceived shortcomings in structured paradigm Problem of larger products Data and action treated as equal partners 3

Object-Oriented Oriented Paradigm Object consists of Data (attributes, state variables, instance variables, fields, data members), and Actions (methods, member functions) Objects are independent units Conceptual independence Physical independence 4

Object-Oriented Oriented Analysis cont d Semi-formal specification technique Multiplicity of different methods Booch OMT Objectory Shlaer-Mellor Coad-Yourdon All essentially equivalent Nowadays, we represent OOA using UML (unified modeling language) 5

The Three Steps of OOA 1. Use-case modeling Determine how the various results are computed by the product (without regard to sequencing) Largely action oriented 2. Class modeling ( object modeling ) Determine the classes and their attributes Purely data-oriented 3. Dynamic modeling Determine the actions performed by or to each class Purely action-oriented 6

Elevator Problem: OOA 1. Use-Case Modeling Use case: Generic description of overall functionality Scenario: Instance of a use case 2. Get comprehensive insight into behavior of product 7

Normal Scenario 8

Exception Scenario 9

Class Modeling Extract classes and their attributes Represent them using an entityrelationship diagram Deduce the classes from use cases and their scenarios Often there are many scenarios Possible danger: too many candidate classes 10

First Iteration of Class Diagram Problem Buttons do not communicate directly with elevators We need an additional class: Elevator Controller 11

Second Iteration of Class Diagram All relationships are now 1-to-n Makes design and implementation easier 12

Class-Responsibility Responsibility-Collaboration (CRC) Cards Used since 1989 for OOA For each class, fill in card showing Name of class Functionality (responsibility) List of classes it invokes (collaboration) Now automated (CASE tool component) Strength When acted out by team members, powerful tool for highlighting missing or incorrect items Weakness Domain expertise is needed 13

Dynamic Modeling Produce UML state diagram State, event, predicate distributed over state diagram UML guards are in brackets 14

Testing during the OOA Phase CRC cards are an excellent testing technique 15

CRC Cards Consider responsibility 1. Turn on elevator button Totally unacceptable for object-oriented paradigm Responsibility-driven design ignored Information hiding ignored Responsibility 1. Turn on elevator button should be 1. Send message to Elevator Button to turn itself on 16

CRC Cards cont d A class has been overlooked Elevator doors have a state that changes during execution (class characteristic) Add class Elevator Doors Safety considerations Reconsider class model Then reconsider dynamic model, usecase model 17

Second Iteration of CRC Card 18

Third Iteration of Class Diagram 19

Second Iteration of Normal Scenario 20

Elevator Problem: OOA cont d All three models are now fine We should rather say: All three models are fine for now We may need to return to the objectoriented analysis phase during the object-oriented design phase 21

Why Is All This Iteration Needed? Perhaps the method is not yet mature? Waterfall model (explicit feedback loops) Rapid prototyping model (aim: to reduce iteration) Incremental model, and Spiral model Latter two explicitly reflect iterative approach Iteration is an intrinsic property of all software production Especially for medium- and large-scale products Expect iteration in the object-oriented paradigm 22

CASE tools for OOA phase Diagrams play a major role Diagrams often change Need a diagramming tool Many tools go further All modern tools support UML Example Rose 23

Example 24

Air Gourmet Case Study: OOA Use-case model for making a reservation 25

Making a Reservation: Extended Scenario 26

Air Gourmet Case Study: OOA Use-case for returning and scanning a postcard 27

Postcards: Extended Scenario 28

Air Gourmet Case Study: Class Modeling Stage 1. Concise Problem Definition Define product in single sentence A computerized system is needed to provide information regarding the efficacy of a special meals program. 29

Air Gourmet Case Study cont d Stage 2. Informal Strategy Incorporate constraints, express result in a single paragraph Reports are to be generated to document the efficacy of the special meals program. The reports concern meals loaded on flights, flights boarded by passengers, names and addresses of passengers, meal quality, and lowsodium meals. 30

Air Gourmet Case Study cont d Stage 3. Formalize the Strategy Identify nouns in informal strategy. Use nouns as candidate classes Nouns report, efficacy, program, percentage, meal, flight, boarding, passenger, name, address, quality efficacy, program, percentage, boarding, quality are abstract nouns exclude (may become attributes) name, address are attributes of passenger Question: Should meal and flight be classes? It is easier to add classes than to remove them Candidate classes: Report and Passenger 31

First Iteration of Class Diagram) Problems with this class diagram Data for reports are needed on a per-flight basis Each report has to access multiple flights Each flight has multiple passengers Six reports (not four) are needed 32

Second Iteration of Class Diagram cont d Cause of our problems Flight should have been a candidate class 33

Air Gourmet Case Study: Dynamic Model State diagram 34