Software Development Methodologies

Similar documents
Software Development Methodologies

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

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

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

Software Development Methodologies

Object-Oriented Systems Development: Using the Unified Modeling Language

Comparing and Contrasting 6 Methodologies Currently Being. Used for Object Oriented Analysis and Design

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Topic 13 Object-oriented Analysis

Object Oriented System Development

Object-oriented patterns. by Peter Coad

Research Review on Basic Principles of Unified Modelling Language

Chapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

HyperFrame - A Framework for Hypermedia Authoring

A Comparative Study of Three New OO Methods

CSC Advanced Object Oriented Programming, Spring Overview

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

Programming Language Constructs as Basis for Software Architectures

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

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

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

Quality-Driven Architecture Design Method

Systems Analysis and Design in a Changing World, Fourth Edition

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

Object-Oriented Design

Object-Oriented Design

Software Design Using CRC Cards

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

OO Analysis and Design with UML 2 and UP

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

Framework Component Systems: Concepts, Design Heuristics, and Perspectives

Software Service Engineering

ANSAwise - Object-Oriented Methods for Distributed Systems

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

OBJECT ORIENTED MODELLING, A MODELLING METHOD OF AN ECONOMIC ORGANIZATION ACTIVITY

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

KINGS COLLEGE OF ENGINEERING

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

Interoperability in the JVM and CLR Engines for Cross Languages Application Developments

Software Engineering with Objects and Components Open Issues and Course Summary

Formal Specification Techniques in Object-Oriented Analysis: A Comparative View

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

Architectural Blueprint

5 Object Oriented Analysis

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

Software Development Methodologies

Modeling the Dialogue Aspects of an Information System

Chapter : Analysis Modeling

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 9/25/ UML

Object-Oriented Systems Analysis and Design Using UML

Software Engineering

UNIT-I Introduction of Object Oriented Modeling

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

Object Oriented Finite Element Modeling

Software Engineering from a

Object-Oriented Systems Development: Using the Unified Modeling Language

Supporting Systems Engineering with Methods and Tools: A Case Study

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

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

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

02291: System Integration

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL

Integrating Systems and Software Engineering Concepts in AP-233

Object Oriented Analysis and Design - Part2(Design)

Information-Integration of Manufacturing Systems Using Object-Oriented Technology

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 1/13/ UML

Software Development Methodologies

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Unit Wise Questions. Unit-1 Concepts

ACRONYMS AND GLOSSARY

Combining UML and Z in a Software Process

System Analysis and Design

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

Managing Change and Complexity

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

Representing System Architecture

Designing for Change

REAL-TIME DISTRIBUTED SYSTEMS DESIGN METHODOLOGIES

Seamless design methodology of manufacturing cell-control software based on activity-control-condition and object diagram

Object-Oriented Architectures for Electronic Commerce

A COMPARISON OF SOFTWARE REUSE SUPPORT IN OBJECT-ORIENTED METHODOLOGIES

Representing Control Constructs in Object-Flow Process. Diagrams

Object-Oriented Analysis and Design Methods. a Comparative Review

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

Software Design and Implementation. Example Architecture KIWC

06. Analysis Modeling

SE 1: Software Requirements Specification and Analysis

Software Development. Modular Design and Algorithm Analysis

Using the UML to Describe Design Patterns

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

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1.

Software Engineering (CSC 4350/6350) Rao Casturi

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

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

A FRAMEWORK FOR DEVELOPING AND MANAGING OBJECTS IN A COMPLEX SIMULATION SYSTEM. James D. Barrett

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

Index. : (colon), 80 <<>> (guillemets), 34, 56

OBJECT ORIENTED ANALYSIS AND DESIGN

Transcription:

Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review (Part 1) 1

Coad-Yourdon Two-phase introduction: Object-Oriented Analysis (OOA) in 1989, and Object-Oriented O t Design (OOD) in 1991 Process: The Baseball Model 2 [Coad and Yourdon 1991]

Coad-Yourdon: OOA The analysis (OOA) phase of the methodology consists of five principal activities: Finding Classes (abstract classes) and Class-&-Objects (concrete classes) Identifying Structures (generalization-specialization and whole-part relationships between classes) Identifying Subjects (partitions/subsystems) Defining attributes, and Instance-Connections (association relationships between classes) Defining Services (class operations) and Message-Connections (invocations of operations) 3

Coad-Yourdon: Main Model OOA/OOD Results are reflected in a special Class-&-Object Diagram (later complemented by behavioural models); the diagram consists of five layers: Subject layer: showing the overall partitions of the system Class-&-Object layer: showing the abstract and concrete classes of the system Structure layer: showing the generalization-specification and wholepart relationships between the classes Attribute layer: showing the attributes of the classes and the association relationships between classes. Service layer: showing the operations of the classes and the potential message-passing between the objects 4

Coad-Yourdon: Class-&-Object Diagram 5 [Coad and Yourdon 1989]

Coad-Yourdon: OOD During the design phase of the methodology (OOD) the system is designed in four components: Problem Domain Component (PDC): initially contains the results of the analysis phase. During OOD, it is improved and enriched with implementation detail. Human Interaction Component (HIC): handles sending and receiving messages to and from the user. Task Management Component (TMC): for systems needing to implement multiple threads of control; defines the multi-tasktask processing classes, coordinates the tasks (processes) and provides means for intertask communication. Data Management Component (DMC): provides the infrastructure to store and retrieve objects; may be a simple file system, a relational database management system, or even an object-oriented database management system. 6

Coad-Yourdon: Design Components TMC PDC HIC 4 4 DMC [Coad and Yourdon 1991] 7

Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based and use-case driven version was released in 2002. The process starts when a detailed requirements specification of the system has already been provided. The system is modeled as a collection of objects that collaborate to fulfill their responsibilities collaborate to fulfill their responsibilities. Responsibilities include two key items: The knowledge an object maintains. The actions an object can perform. 8

RDD: Process The process is divided into two phases: Exploratory Phase: classes and their responsibilities and collaborations are identified. Analysis Phase: subsystems and class details are specified. [Wirfs-Brock et al. 1990] 9

RDD: Exploratory Phase The major tasks to be iteratively performed in this phase are: Discovering the classes required to model the application Determining what behavior the system is responsible for and assign these responsibilities to specific classes Determining what collaborations must occur between classes of objects to fulfill the responsibilities. Results are modeled in CRC (Class-Responsibility-Collaborator) cards CRC Card [Wirfs-Brock et al. 1990] 10

RDD: Analysis Phase Major tasks to be performed in this phase: Factoring the responsibilities into inheritance hierarchies modeled in Inheritance Graphs, and identifying class contracts t Identifying possible subsystems of objects and modeling them and their client-server relationships in Collaboration Graphs Determining Class Protocols (method signatures) and completing a specification of classes, subsystems of classes, and client-server contracts 11

RDD: Analysis Phase Collaboration Graph 12 [Wirfs-Brock et al. 1990]

Booch Introduced, purely as a design method, in 1991 [Boo91]; extended version, which also covered analysis, was introduced in 1994. Process designed as a repeating process (referred to as The Micro Process ) within a lifecycle-level repeating process (referred to as The Macro Process ). The macro process serves as a controlling framework for the micro process. 13

Booch: Macro Process Represents the activities of the development team on the scale of weeks to months. Many parts of this process are basic software management practices such as quality assurance, code walkthroughs, and documentation. The focus at this level is more upon the customers and their desires for things such as quality, completeness, and scheduling. [Booch 1994] 14

Booch: Micro Process Driven by scenarios and architectural specifications that emerge from the macro process Represents the daily activities of the individual or small group of developers [Booch 1994] 15

Object Modeling Technique (OMT) Introduced by Rumbaugh et al. in 1991 Categorized as combinative [MP92], since it is based on three different models and defines a method for integrating ti them. Object Model (OM): depicts object classes in the system and their relationships, as well as their attributes and operations, in a Class Diagram Dynamic Model (DM): indicates the dynamics of the objects, their changes in state and the flow of events; captured in Event-Trace Diagrams and State Transition Diagrams (State Charts) Functional Model (FM): a hierarchical set of Data Flow Diagrams (DFDs) of the system 16

OMT Process 17 [Rumbaugh et al. 1991]

OMT Process: Analysis Phase The goal is to build a correct and comprehensible model of the real world. Once the initial problem is defined, the following tasks are carried out: Building the object model, including a Class Diagram and a Data Dictionary. Developing the dynamic model, including State Transition Diagrams and global Event-Trace Diagrams Constructing the functional model including Data Flow Diagrams and constraints Verifying, iterating, and refining the three models. 18

OMT Process: Analysis Phase Class Diagram 19 [Rumbaugh et al. 1991]

OMT Process: Analysis Phase Event-Trace Diagram 20 [Rumbaugh et al. 1991]

OMT Process: Analysis Phase State Transition Diagram 21 [Rumbaugh et al. 1991]

OMT Process: Analysis Phase Data Flow Diagram 22 [Rumbaugh et al. 1991]

OMT Process: System Design High-level structure of the system is defined Tasks include: Organizing i the system into subsystems Identifying concurrency Allocating subsystems to processors and tasks Choosing the strategy for implementing data stores in terms of data structures, files, and databases Identifying global resources and determining mechanisms for controlling access to them Choosing an approach to implementing software control Considering i boundary conditions Establishing trade-off priorities 23

OMT Process: Object Design Concerned with fully specifying the existing and remaining classes, associations, attributes, and operations necessary for implementing the system Operations and data structures are fully defined along with any internal objects needed for implementation All details for fully determining how the system will be implemented are specified 24

References Coad, P., Yourdon, E., Object-Oriented Analysis. Yourdon Press, 1989. Coad, P., Yourdon, E., Object-Oriented Oriented Design. Yourdon Press, 1991. Wirfs-Brock, R., Wilkerson, B., Wiener, R., Designing Object-Oriented Software Prentice-Hall 1990 Software. Prentice Hall, 1990. Booch, G., Object Oriented Analysis and Design with Applications (2nd Edition). Benjamin/Cummings, 1994. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W., Object- Oriented Modeling and Design. Prentice-Hall Hall, 1991. 25