Object-Oriented Analysis

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Analysis Modeling.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Introduction To System Analysis and Design
Chapter 8 Analysis Modeling
Chapter 21 Object-Oriented Analysis
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Object-Oriented Analysis
1 Object-Oriented Software Engineering CIS 375 Bruce R. Maxim UM-Dearborn.
The chapter will address the following questions:
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
Chapter 10 Architectural Design
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
CS 4850/01: CS Senior Project Fall 2014 Overview of Software Requirements and OO Analysis.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Object Oriented Analysis
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.
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.
CS 4850: Senior Project – Spring 2009 CS 4850: Senior Project Spring 2009 Overview of Software Requirements and OO Analysis.
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.
Introduction to OOAD and the UML
Chapter 10 요구사항 모델링 : 클래스 기반 방법론 Requirements Modeling: Class-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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 24 객체지향 응용프로그램 테스팅 Testing Object-Oriented Applications 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for the book.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
1 8.1 Requirements Analysis Rules of Thumb Rules of Thumb Models should focus on requirements that are visible within the problem or business domain. The.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
CompSci 280 S Introduction to Software Development
Chapter 8 Analysis Engineering
Cmpe 589 Spring 2006.
Object-oriented and Structured System Models
UML Diagrams By Daniel Damaris Novarianto S..
The Movement To Objects
Object-Oriented Analysis (OOA)
Main issues: • What do we want to build • How do we write this down
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
Software Architecture & Design Pattern
Chapter 24 Testing Object-Oriented Applications
Overview of Software Requirements
Unified Modeling Language
CRC Modeling (class-relationship-collaborator)
Object-Oriented Design
Chapter 10 Requirements Modeling: Class-Based Methods
Chapter 20 Object-Oriented Analysis and Design
CIS 375 Bruce R. Maxim UM-Dearborn
Chapter 19 Testing Object-Oriented Applications
Analysis models and design models
Software Design Lecture : 15.
Copyright 2007 Oxford Consulting, Ltd
Software Engineering: A Practitioner’s Approach, 6/e Chapter 8 Analysis Modeling copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Chapter 19 Testing Object-Oriented Applications
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Introduction to OOAD and the UML
Presentation transcript:

Object-Oriented Analysis CIS 375 Bruce R. Maxim UM-Dearborn 11/13/2018

OOA Tasks Basic user requirements must be communicated between the customer and the software engineer. Classes must be identified (e.g. define attributes and methods) Specify class hierarchy Represent object-to-object relationships Model object behavior Reapply 1 through 5 iteratively until model is complete 11/13/2018

OOA Generic Steps Elicit customer requirements for system Identify scenarios or use cases Select classes and objects using basic requirements as a guide Identify attributes and operations for each system object Define structures and hierarchies that organize classes Build object-relationship model Build object-behavior model Review OOA model against use-cases (scenarios) 11/13/2018

Generic OOA Model - 1 Static view of semantic classes classes based on semantics of customer requirements Static view of attributes attributes describe classes suggest operations relevant to classes Static view of relationships represent relationships in a way that allows identification of operations and the design of a messaging approach 11/13/2018

Generic OOA Model - 2 Static view of behaviors behaviors accommodating system usage scenarios implemented by sequences of operations Dynamic view of communication among objects based on events that cause state transitions Dynamic view of control and time describe the nature and timing of events causing state transitions 11/13/2018

Unified Modeling Language (UML) Elements - 1 User model view describes usage scenarios from the end-user's perspective Structural model view static structure of data and functionality is modeled (classes, objects, relationships) Behavioral model view represents dynamic system aspects interactions or collaborations between structural elements in the user and structural models 11/13/2018

Unified Modeling Language (UML) Elements - 2 Implementation model view representing the structural and behavioral aspects of the system as they are to be built Environment model view representation of the structural and behavioral aspects of the environment in which the system will be implemented 11/13/2018

Simplified OOA Modeling - 1 Class or Object Modeling build an object model using ER diagram or UML class diagrams Scenario-Based Modeling Use case stories UML use case diagrams UML activity diagrams 11/13/2018

Simplified OOA Modeling - 2 Dynamic or Behavior Modeling build a finite state machine type model or UML state diagram UML collaboration diagram Functional Modeling similar to data flow diagram 11/13/2018

Domain Analysis Define the domain to be investigated Categorize the items extracted from the domain Collect a representative sample of applications in the domain Analyze each application in the sample Develop an analysis model for the objects 11/13/2018

Analysis of Applications Identify candidate reusable objects Indicate reasons the objects may be reused Define adaptations of the objects that may be reused Estimate percentage of applications in the domain that might make reuse of the objects Identify objects by name and use configuration management techniques to control them 11/13/2018

Use Case Objectives Define the functional and operational requirements of system by defining a scenario of usage agreed upon by the end-user and software engineer Provide an unambiguous description of how the end-user and system interact with one another Provide a basis for validation testing 11/13/2018

Class-Responsibility-Collaborator (CRC) Modeling Develop a set of index cards that represent the system classes One class per card Cards are divided into three sections class name class responsibilities class collaborators Once a complete CRC card set is developed it is reviewed examining the usage scenarios 11/13/2018

CRC Card 11/13/2018

Reviewing CRC Models - 1 Each review participant is given a subset of the CRC cards (collaborating cards must be separated) All use-case scenarios and use-case diagrams should be organized into categories Review leader chooses a use-case scenario and begins reading it out loud Each time a named object is read a token is passed to the reviewer holding the object's card 11/13/2018

Reviewing CRC Models - 2 When the reviewer receives the token, he or she is asked to describe the responsibilities listed on the card The group determines whether one of the responsibilities on the card satisfy the use-case requirement or not If the responsibilities and collaborations on the index card cannot accommodate the use-case requirements then modifications need to be made to the card set 11/13/2018

Criteria CRC Class Inclusion Class information (data) should be retained Class Provides needed services Contains multiple attributes Common set of attributes apply to all object instances Common set of operations apply to all object instances External entities that produce or consume information 11/13/2018

Allocating Responsibilities to Classes Distribute system intelligence evenly State each responsibility as generally as possible Information and its related behaviors should reside within the same class Localize all information about one entity in a single class Share responsibilities among related classes when appropriate 11/13/2018

Criteria for Defining Collaborators Any time a class cannot fulfill a responsibility on its own it needs to interact with another class A server object interacts with a client object to fulfill some responsibility 11/13/2018

Deriving Object-Relationship Model Using the CRC model a network of collaborators can be drawn Reviewing the CRC model index card, responsibilities and collaborators are evaluated, each unlabeled connected line is named Once the named relationships are established each end is evaluated to determine cardinality (0 to 1, 1 to 1, 0 to many, 1 to many) Continue the process until a complete object-relationship model has been produced 11/13/2018

Elevator Case Study Building has Each floor has Class candidates m floors n elevators Each floor has two buttons Class candidates Buttons. Elevators. Floor. Building. Movement. Illumination. Doors. 11/13/2018

Class Model 11/13/2018

OOA Behavioral Model Construction Evaluate all use-cases to understand the sequence of interaction within the system Identify events that drive the interaction sequence and how events relate to specific objects Create an event-trace for each use-case Build a state transition diagram for the system Review the object behavior model to verify accuracy and consistency 11/13/2018

Behavioral Model 11/13/2018

Functional Model 11/13/2018