Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

Similar documents
Software Development Methodologies

Software Development Methodologies

3.0 Object-Oriented Modeling Using UML

Topic 13 Object-oriented Analysis

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

Object Oriented System Development

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture

INFORMS 4th Conference on Information Systems and Technology. Generalizations as Data and Behavior Abstractions

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture

Integrating Systems and Software Engineering Concepts in AP-233

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

UML Primer. -Elango Sundaram

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Programming Language Constructs as Basis for Software Architectures

Object Oriented Modeling

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

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

Software Design, Modelling and Analysis in UML

Design and Evolution of an Agent-Based CASE System for OOAD

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

Software Development. Modular Design and Algorithm Analysis

OO Analysis and Design with UML 2 and UP

System Analysis and Design

Model Driven Development Unified Modeling Language (UML)

Lecture 02: Semantical Model

Object-Oriented Analysis and Design Using UML

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

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

Research Review on Basic Principles of Unified Modelling Language

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

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

Managing Change and Complexity

Representing System Architecture

CISC 322 Software Architecture

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

Information Systems Development Methodologies

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

Software Service Engineering

ANSAwise - Object-Oriented Methods for Distributed Systems

UNIT-I Introduction of Object Oriented Modeling

CSC Advanced Object Oriented Programming, Spring Overview

Methods for requirements engineering

i219 Software Design Methodology 1. Overview of software design methodology Kazuhiro Ogata (JAIST) Outline of lecture

Introduction to Software Engineering. 5. Modeling Objects and Classes

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

Unified Modelling Language

Course 3 7 March

Using the UML to Describe Design Patterns

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

Chapter 3 System Models

The Music Notation Toolkit: A Study in Object- Oriented Development

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

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

Software Engineering

Object-Oriented Analysis and Design

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

OBJECT ORIENTED ANALYSIS AND DESIGN

Software Engineering

Structured Analysis and Design

Software Engineering Lab Manual

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

Object-Oriented Design

Introduction to Software Engineering. 6. Modeling Behaviour

Systems Analysis & Design

Engineering Design w/embedded Systems

XVIII. Software Architectures

Ch t 8 Chapter 8. System Models

Unified Modeling Language (UML)

Object-Oriented Analysis and Design Methods. a Comparative Review

Representing Control Constructs in Object-Flow Process. Diagrams

Solved Question Paper June 2017

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

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

Software Engineering from a

Object-Oriented Systems Analysis and Design Using UML

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

Quality-Driven Architecture Design Method

Modeling automatic train regulation systems

MechEng SE3 Lecture 7 Domain Modelling

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

Modeling the Dialogue Aspects of an Information System

Learning objectives. Unified Modeling Language (UML) crash course. Note well. Intro. Understand the concepts of UML model and UML diagram

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

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Unified Modeling Language (UML)

Transactions on Engineering Sciences vol 3, 1993 WIT Press, ISSN

Agenda. Why Model. Why Model? History of OO Modeling Methodologies Object Modeling Technique (OMT) Unified Modeling Language (UML)

Roles of Developers as Part of a Software Process Model

Software Design And Modeling BE 2015 (w. e. f Academic Year )

Company Transmogrification using OOP Concepts

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Designing for Change

Transcription:

Object-Oriented Analysis Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks Object-Oriented Analysis -- 1 Object-Oriented Analysis Object-Oriented Analysis covers a host of techniques introduced in the mid-eighties for requirements modelling. Such techniques focus on the things that exist within the application domain, model them with objects These techniques use classification, generalization, aggregation to structure object assemblies Actions (services/activities) are associated with objects State changes are effected by actions performed on objects Object-Oriented Analysis -- 2

Coad s Object-Oriented Analysis Proposed by Peter Coad [Coad91]. An object is defined as a real world entity related to the problem domain, with crisply defined boundaries. Objects are encapsulated along with their attributes and behaviour. In Coad s model, there are five kinds of concepts for modelling an application: objects, attributes, structures, services and subjects. identifier attributes services person patient physician height name weight address coors makeappointment travel dolabtest eat Object-Oriented Analysis -- 4 Five Layers to OOA Class/Object Layer Structure Layer Service Layer Attribute Layer Subject Layer Object-Oriented Analysis -- 5

Phase I: Identifying Problems & Opportunities Confirm that a problem exists Carry out a study to determine if a system can be developed to solve the problem (2 days - 4 weeks) Produce the Feasibility Study Object-Oriented Analysis -- 6 Phase II: Info Requirements Analysis Study existing procedures and information systems Define goals to be achieved by the new system Propose alternate business processes Define the boundaries of the information system Define non-functional requirements Object-Oriented Analysis -- 7

Phase III: Systems Analysis Chart input, processes, & outputs using Data Flow Diagrams Develop data dictionary listing all attributes of the system Analyse structured decisions using decision tables or decision trees Analyse semi-structured decisions. May need to develop decision support systems. Prepare System Proposal, Cost/Benefit Analysis of alternatives Recommend course of action Object-Oriented Analysis -- 8 Phase IV: The Design Phase Specify an architecture and a detailed design for the proposed information system Ideal system specified first, meeting all functional requirements, then modified to meet non-functional requirements and other constraints Resources allocated for hardware equipment, personnel tasks and programming tasks Technical specifications are prepared Object-Oriented Analysis -- 9

Phase V: Develop and Document The system is implemented on the basis of the design specification. Analyst works with programmers to develop any original software needed Analyst uses structured techniques (pseudo code, flowcharts, ) to communicate with the programmers Programming of the system is carried out Program testing is carried out Procedures, system manuals, software specifications and documentation are completed Object-Oriented Analysis -- 10 Phase VI: System Testing Testing of the system as a whole is performed Users conduct acceptance testing Object-Oriented Analysis -- 11

Phase VII: Implementation & Evaluation Equipment is acquired and installed Staff is trained Conversion from old system Evaluation of system Object-Oriented Analysis -- 12 The Ongoing Maintenance Phase Over 60% of a system s resource can be spent in this phase Two flavours of maintenance: correction of software errors enhancements to meet changing needs Important that all previous phases keep easy maintenance as major goal. Object-Oriented Analysis -- 13

Systems Lifecycle cq. OOAD I. Identifying Problems & Opportunities II. Info Requirements Analysis III. Systems Analysis IV. Systems Design V. Development & Documentation VI. Systems Testing VII. Implementation & Evaluation On-going Maintenance Phase OOAD only affects phase III, IV, and V. The other phases remain the same. Object-Oriented Analysis -- 14 Five Layers to OOA Class/Object Layer Structure Layer Service Layer Attribute Layer Subject Layer Object-Oriented Analysis -- 15

Structure: Basic Class Notation ER Notation OOA Notation Patient Patient # physician patient physician In-Patient Patient # Patient # room bed Out-Patient lastvist nextvisit in-patient room bed out-patient lastvisit nextvisit Object-Oriented Analysis -- 16 Structure: Subtyping or Generalization-Specialization Generalization/specialization structures organize objects into taxonomies. Patients are either in-patients or out-patients. The physician attribute of patients is inherited by both in-patients and out-patients. Patient Patient # physician In-Patient Out-Patient Patient # Patient # room bed lastvisit nextvisit Object-Oriented Analysis -- 17

Structure: Whole-Part Structures Whole-Part structures describe an object as an assembly of other objects. A traffic light consists of 0 to 3 lampassemblies, a single support and a single location. trafficlight 0,1 0,3 1,1 lampassembly 1,1 support location Object-Oriented Analysis -- 18 Services Objects provide services to other objects in their environments. For example, a physician object may provide services examine, report. Coad distinguished three types of services: Occurence services, whereby objects are created, destroyed, changed,...; Coad suggests using a generic service occur and not mention it for any particular object; Calculate services, where an object performs a calculation for some other object; Monitor services, where an object is monitoring some process to see if some condition applies; A special notation is used (dashed-line arrow) to indicate that an object is using services from another object. OOA views the world with Smalltalk glasses... Object-Oriented Analysis -- 19

Services and Relationships physician, in-patient use each other s services 0,m physician examine report physician getsdata from patientrecord in-patient room bed visitphys taketest 1 1 0,1 patientrecord visits tests getdata Object-Oriented Analysis -- 20 State Transition Diagrams Legend: input/output idle on hook/quiet busy off hook/ dial tone on hook/quiet dial 9/ dist tone distinct dial tone dial #/ ring back tone dial busy number/ busy tone dial tone Dial #/ ring back tone busy #/ busy tone ringing connected called off hook/ connected busy Object-Oriented Analysis -- 21

Methodology Identify objects and classes (i.e., generic objects) Identify structures and build generalization, aggregation hierarchies. Define subjects. These partition all the objects and classes of an object model into subject layers, which represent the application from a particular perspective. Often whole Gen-Spec or Part-Whole structures are grouped under one subject. Identify information that should be associated with each object. Place attributes at the right structural level. Define services for each class. Object-Oriented Analysis -- 22 Terminology OOA OOSE OOD OMT (Jacobson) (Booch) (Rumbaugh) Metaclass Object Instance Object Object Gen-Spec Inheritance inherits Generalization Whole-Part Consists-of Aggregation Instance conn. Acquaintance Link Message Stimuli Message Event Message conn. Communication Attribute Attribute Attribute Service Operation Operation Subject ~View (subsystem) Sheet (Execution thread) Use case ~Scenario (User) Actor Object-Oriented Analysis -- 23

The Unified Modeling Language Booch and Rumbaugh started working towards a unified modeling language (UML) in 1994 under the auspices of Rational Inc. UML only offers a notation, not a methodology for modeling (as various OOA techniques do). UML will be proposed by Rational Inc. and by Hewlett-Packard as a standard for object-oriented analysis and design, to be adopted by the OMG. If adopted by OMG, it is expected that all vendors will modify their CASE tools to make them consistent with UML [UML97]. Object-Oriented Analysis -- 24 Remarks Object-oriented analysis techniques are supposed to make it easier to generate a design and subsequently code from a requirements specification. The introduction of semantic structuring mechanisms (generalization, aggregation) to requirements modeling is definitely a step in the right direction. Trouble is, in the process, OOA techniques straightjacket the modeller s view of the world (...the guy with the hammer sees the world like a bunch of nails...) OOAD modellers often forget first few phases. OOAD doesn t lend itself well to drastically different architectures Object-Oriented Analysis -- 25

References [Booch86] Booch, G., Object-Oriented Development, IEEE Transactions on Software Engineering 12(2), February 1986. [Booch94] Booch, G., Object-Oriented Analysis and Design, Benjamin- Cummings, 1994 (2nd edition). [Coad91] Coad, P. and Yourdon, E., Object-Oriented Analysis, Prentice Hall, 1991. [Jacobson92] Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G., Object-Oriented Software Engineering, Addison-Wesley, 1992. [Martin93] Martin, J., Object-Oriented Analysis and Design, Prentice-Hall, 1993. [Rumbaugh91] Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W., Object-Oriented Modeling and Design, Prentice-Hall, 1991. [UML97] http://www.rational.com Object-Oriented Analysis -- 26