On the Purpose of Object-Oriented Analysis

Similar documents
A Collaborative User-centered Approach to Fine-tune Geospatial

Components Based Design and Development. Unit 3: Software Design Quick Overview

Requirements Validation and Negotiation

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

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

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

Design. Introduction

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

CSC Advanced Object Oriented Programming, Spring Overview

Object-Oriented Analysis Phase

Object-Oriented Analysis Phase

Architectural Blueprint

Requirements Validation and Negotiation

Object Oriented System Development

Systems Analysis and Design in a Changing World, Fourth Edition

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado

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

Managing Change and Complexity

Evidence-based Development coupling structured argumentation with requirements development.

DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN

Object-Oriented and Classical Software Engineering

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Object-Oriented and Classical Software Engineering

HCI in the software process

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process

350 Index 2005 GOAL/QPC

Chapter 1: Principles of Programming and Software Engineering

*ANSWERS * **********************************

UNIVERSITY OF CALGARY. Requirements Engineering for Software Product Lines. By Chethana Kuloor

Recommended Practice for Software Requirements Specifications (IEEE)

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

Knowledge Centric Systems Engineering

CASE TOOLS LAB VIVA QUESTION

Requirements Gathering

Principles of Software Construction: Objects, Design, and Concurrency

Software architecture in ASPICE and Even-André Karlsson

Introduction to UML. Danang Wahyu utomo

UNIT-I Introduction of Object Oriented Modeling

What is an object? An object has both data and operations

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Chapter 1: Programming Principles

Summary of Contents LIST OF FIGURES LIST OF TABLES

Introduction - SENG 330. Object-Oriented Analysis and Design

A number of optimizations are already in use by the majority of companies in industry, notably:

Programmazione. Prof. Marco Bertini

A Top-Down Visual Approach to GUI development

The Software Assurance Ecosystem: OMG s Approach to Systems & Software Assurance

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

Software Development Methodologies

Impact of Dependency Graph in Software Testing

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

An Integrated Test Framework to Reduce Embedded Software Lifecycle Costs

An Analytical Evaluation of BPMN Using a Semiotic Quality Framework

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

RAISE in Perspective

Meltem Özturan

Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller

INTELLIGENT SYSTEM OF GEARBOXES DESIGN

Semantics-Based Integration of Embedded Systems Models

Object Model. Object Orientated Analysis and Design. Benjamin Kenwright

Models versus Ontologies - What's the Difference and where does it Matter?

GMU SWE 443 Software Architecture Spring Lab 2: Implicit-invocation System. Sousa Discuss Feb 23, due March 8

A Comparative Study of Three New OO Methods

Integration With the Business Modeler

Test requirements in networked systems

Component-Based Software Engineering TIP

SNOMED Clinical Terms

User Centered Design Interactive Software Lifecycle

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design

Lecture 13 Introduction to Software Architecture

SUMMARY: MODEL DRIVEN SECURITY

Decision. Intelligent. Assistant: Research and Technical Background. Emergency. ENEA, July by C.Balducelli S.Bologna and A.M.

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

Benefits and Challenges of Architecture Frameworks

From Cloud adoption to Cloud first Enabling effective Cloud usage

CSE 118 Introduction to Design

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context

Existing Model Metrics and Relations to Model Quality

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

This PDF was generated from the Evaluate section of

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

Part I: Preliminaries 24

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

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

The OAIS Reference Model: current implementations

Development and evolution of the data model of a CRIS-system: From FRIDA to CRIStin

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

Applying UML to System Engineering Some Lessons Learned Murray Cantor Principal Consultant

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 95-96

Guideline for Determining the TOE

Ontology Development. Qing He

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

Chapter 2 Overview of the Design Methodology

Prototyping for usability engineering

Design Concepts and Principles

Transcription:

September 29 On the Purpose of Object-Oriented Analysis The What and How of what Geir Høydalsvik & Guttorm Sindre. The Norwegian Institute of Technology

A critical look at: What is this about? The relationship between OOA and OOD, and the pre-requisitis for a smooth transition to design. The relationship between Analysis, Conceptual Modeling, and Requirements Engineering. Suitability: The role of objects in analysis.

[Rubin and Goldberg]: What is analysis? Analysis is the study and modeling of a given problem domain, within the context of stated goals and objectives. It focues on what a system is supposed to do, rather than how it is supposed to do it [...].The components of the problem domain can be described as anything that the end users of the system, both humans and machines, view as part of the problem context. The What and How of what The Problem or the Solution

[Adopted from Henderson-Sellers / Edwards, CACM-9-90] User Requirements Analysis User Requirements Specification what ANALYZE Software Requirements Specification System / Broad Design Logical Design how DESIGN Program / Detailed Design Physical Design

Problem-orientation: Judgement criteria for analysis methods: Close to user concepts and terminology. Requirements, not solutions. Total system goals and objectives, not only computerized parts. Problem Analysis Problem-oriented Target system Problem [Hagelstein] Analysis Target-oriented Target system

Claims of OOA: 1. OOA fulfills the purpose of Analysis, and 2. OOA has a smooth transition to Design. Why: Adequate representation of real-world concepts, and a uniform modeling language.

Adequate Representation: Depends on Domain, Goals, and Objectives. Objects: Interaction-oriented systems. Complex structures. Processes: Functionality. Flow of items. Rules: Goals. Constraints.

Uniform Modeling Language: Does not imply a uniform Model, thus, Guidelines must be provided. Uniform does not mean Good Different objectives imply different languages. Analysis: Problem, Requirement Engineering. Design: Solution, Software Engineering. Uniform language: Which language to choose?

Does OOA fulfill the role of Analysis? No, because of these soft problems: Assume pre-existing requirements. Lack of goals, objectives, alternative solutions, and organizational aspects. Target-orientation: Early focus on the system to be implemented. Validation has not been properly addressed. Lack of guidelines for the transition to design. No, because of limitations in the paradigm : OO modeling languages are not sufficient for representing real-world concepts.

Does OOA have a smooth transition to Design? Not necessarily, depends on goals and objectives: Yes, by considering the target system while doing analysis. Yes, at the cost of a possibly inferior analysis. Our claim: Different objectives of analysis and design => different results. No smooth transition. Guidelines must be provided.

No free lunches Conclusion. OOA do not satisfy both adequate analysis and a smooth transition to design. Guidelines must be provided. Adequate representation: Objects not sufficent. We recommend: Analysis should be judged by different criteria than design. Synthesis of paradigms. Opening the Gap - again.

The scope of Analysis: Application domain knowledge. Objectives. Requirements on the environment. Requirements on the computer system.

Requirements to the Analysis Language: Suitability: The ability of the language to easily describe the appropriate knowledge. Understandability: How the appropriate knowledge is presented. Formality: Well defined semantics.

What is OOA? We define system analysis as the study of a specific domain of interacting objects for the purpose of understanding and documenting their essential characteristics. [Embley et.al.] Analysis with objects as the main building block: Object = identity + encapsulated state + interface Characteristics of OOA: Models: Structure, Interaction, Behavior. Domain Analysis and Reuse. Prototyping and Iterative Development.

Iterative Development: OOA and the life-cycle: Validation: Rapid prototyping. Conceptual modeling: Still needed. Domain analysis: Frameworks: Implementing a design. Domain-specific class hierarchies. Conceptual models. <=> well known domains.

The model perspective Adequate representation? Isomorphism? Traceability Real-world Real-world model Sofware model Validation Verification End-user SW-engineer

Guidelines must be provided: How to re-evaluate object properties. How and when to add and remove objects. How to deal with requirements not captured by the modeling language. Traceability of requirements.

When to use OOA When the requirements are given. Well known problems or domains. Small systems. Systems not involving organizational change. Complex product structures. Modeling interacting components.

Possible directions for OOA OOA incorporates requirements engineering, no implications for concepts and modeling language (OBA). Extend OOA concepts and modeling language (Embley et.al). Kill the OO prefix : Synthesis of paradigms.

Representing reality: A house sending messages to its rooms? Is a student a kind of person, or is it a person that play the role student for some time? Is a purchase an object, event, or activity? Continuous flow as messages?