Software Development Methodologies

Similar documents
Software Development Methodologies

Software Development Methodologies

Software Development Methodologies

Software Development Methodologies

CISC 322 Software Architecture

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

History of object-oriented approaches

Modeling Heuristic Rules of Methods

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Design

Transactions on Information and Communications Technologies vol 7, 1994 WIT Press, ISSN

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

3.0 Object-Oriented Modeling Using UML

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

Software Development Methodologies

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

06. Analysis Modeling

ModelElement. AssociationEnd. Relationship 2. Association. Class. GeneralizableElement. ModelElement

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

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Software Metrics and Design Principles. What is Design?

CSC Advanced Object Oriented Programming, Spring Overview

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

Representing System Architecture

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Combining UML and Z in a Software Process

Object-Oriented Design

Introduction to Software Engineering. 5. Modeling Objects and Classes

ER to Relational Mapping

Chapter 2: Entity-Relationship Model

Classes and Objects. Object Orientated Analysis and Design. Benjamin Kenwright

Module B1 An Introduction to TOGAF 9.1 for those familiar with TOGAF 8

Introduction to Software Engineering. 5. Modeling Objects and Classes

Business Process Modelling

Modeling the Dialogue Aspects of an Information System

Object-Oriented Design

Object-Oriented Analysis and Design Using UML

Introduction to System Analysis and Design

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

UML-Based Conceptual Modeling of Pattern-Bases

Introduction to Software Testing Chapter 2.4 Graph Coverage for Design Elements Paul Ammann & Jeff Offutt

Entity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables

Web Services Annotation and Reasoning

Patterns in Software Engineering

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

Use Cases: the Pros and Cons

Extending the Fusion Design Process for TMN Application Development

Chapter 8: Enhanced ER Model

Unified Modeling Language

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

lnteroperability of Standards to Support Application Integration

defined. defined. defined. defined. defined. defined. defined. defined. defined.

Object-Oriented Introduction

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

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

Software Service Engineering

This document is a preview generated by EVS

The software lifecycle and its documents

Release of Octopus/UML

Integrating TOGAF, Zachman and DoDAF Into A Common Process

USE CASE BASED REQUIREMENTS VERIFICATION

Diploma in Software Testing 2.0 (HP)

Unified Modeling Language (UML)

Agent-Oriented Software Engineering

12 Tutorial on UML. TIMe TIMe Electronic Textbook

The Conference Review System with WSDM

An Agent Modeling Language Implementing Protocols through Capabilities

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

Patterns and Testing

Systems Analysis & Design

BUILDING GOOD-QUALITY FUNCTIONAL SPECIFICATION MODEL

A Study on Website Quality Models

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

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

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

Chapter 2: The Object-Oriented Design Process

Creating a Lattix Dependency Model The Process

OMG Modeling Glossary B

Patterns in Software Engineering

Part I: Preliminaries 24

SOFTWARE ENGINEERING

ANSAwise - Object-Oriented Methods for Distributed Systems

OO Analysis and Design with UML 2 and UP

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

What's New in UML 2.0

SOFTWARE ENGINEERING

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Object Oriented Modeling

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake

Dimensions for the Separation of Concerns in Describing Software Development Processes

Chapter 8: Class and Method Design

Object-Oriented Systems Analysis and Design Using UML

Information Systems Development Methodologies

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Chapter 6: Entity-Relationship Model

COSC 3351 Software Design. An Introduction to UML (I)

Software Engineering and ModelLing

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

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

Transcription:

Software Development Methodologies Lecturer: Raman Ramsin Lecture 2 Seminal Object-Oriented Methodologies: Fusion 1

Fusion First introduced in 1992 by a team of practitioners at Hewlett- Packard Laboratories A revised and detailed version was released in 1994 Result of the integration, unification and extension of older methodologies, mainly OMT, Booch, OOSE and RDD Described as a full-lifecycle method, but analysis starts when a preliminary requirements document is already available Provides consistency and completeness checks between phases, and criteria for determining when to move from one phase to the next 2

Fusion: Process Analysis: the focus is on what the system does. The system is described from the standpoint of the user. Requirements are mapped to the System Specification. Analysis models describe: classes and objects of interest found in the application domain, and their relationships, the operations which are to be performed by the system, and the proper ordering of these operations. Design: the focus is on how the system is to do what has been defined during analysis. The specification of the system is mapped to a blueprint for the implementation of the system. Design models describe: realization of system operations in terms of cooperating objects, how these objects are linked together, how classes, to which the objects belong, are specialized and refined (the inheritance structure of the classes), and the detailed particulars of each class s attributes and methods. Implementation: the focus is on the actual coding of the system. The system design is mapped to a particular programming environment. 3

Fusion: Process 4

Fusion Process: Analysis Phase Concerned with capturing the requirements of the system The requirements specification document is the standard input to the analysis phase Two models are produced in this phase: System Object Model System Interface Model, further divided into two models: LifeCycle Model Operation Model Steps: 1. Develop an overall Object Model encompassing the system and its environment 2. Develop the System Object Model by explicitly defining the system boundary 3. Develop the System Interface Model denoting system operations 4. Check the analysis models using detailed checklists 5

Fusion Process: Analysis Phase Step 1: Develop an overall Object Model, through Grammatical Parsing, resulting in objects, classes, relationships and attributes Model perfection through interviews and observation 6

Fusion Process: Analysis Phase Step 2: Develop the System Object Model, through: Determining interaction patterns between the system and outside agents (users, devices or other systems); typical interactions (input and output events) are modeled as Transaction Scenarios accentuating the time order of events. An input event and its effect on the system are collectively called a system operation. Specification of the System Interface Diagram by integrating all transaction scenarios Producing the System Object Model by adding a boundary to the overall object model, based on the agents and system operations identified 7

Fusion Process: Analysis Phase Transaction Scenario 8

Fusion Process: Analysis Phase System Interface Diagram 9

Fusion Process: Analysis Phase System Object Model 10

Fusion Process: Analysis Phase Step 3: Develop the System Interface Model, through: Developing the Life-Cycle Model, showing the allowable sequences of system operation invocations throughout the lifetime of the system Developing the Operation Model, capturing the details of all system operations in Operation Schemata 11

Fusion Process: Analysis Phase Life-Cycle Model 12

Fusion Process: Analysis Phase Operation Schema 13

Fusion Process: Design Phase Concerned with finding a strategy for implementing the system specification developed during the analysis phase The output of the design phase consists of four parts: a set of Object Interaction Graphs describing how objects interact for implementing system operations, a set of Visibility Graphs describing object communication paths, a set of Class Descriptions providing detailed descriptions of class interfaces, and a set of Inheritance Graphs elaborating the inheritance relationships between classes. Steps: 1. Develop Object Interaction Graphs, which describe how system operations are implemented through object interactions and message passing 2. Develop Visibility Graphs, which describe server objects that client objects need to reference, and specify the kind of references that are needed 3. Specify Class Descriptions, which store detailed information about classes 4. Develop Inheritance Graphs, which depict generalization-specialization hierarchies enhanced through factoring out common structure and behaviour 14

Fusion Process: Design Phase Step 1: Develop Object Interaction Graphs; each system operation should be realized by an object interaction graph, which describes how the system operation is implemented through object interactions and message passing. One of the objects, termed the controller, initiates the message sequence in response to an input event. Object Interaction Graph Controller Object 15

Fusion Process: Design Phase Step 2: Develop Visibility Graphs; the visibility of objects is described using the following characteristics: Reference Lifetime (temporary or permanent), Server Visibility (exclusive or shared), Server Binding (the degree of lifetime-dependency between the client and the server), and Reference Mutability (whether a server can be changed). Visibility Graph 16

Fusion Process: Design Phase Step 3: Specify Class Descriptions; class descriptions store detailed information about classes, including class name, immediate superclasses, attributes, and methods. Class Description 17

Fusion Process: Design Phase Step 4: Develop Inheritance Graphs; generalization-specialization hierarchies previously identified among analysis classes are enhanced by factoring out common structure and behaviour in order to increase reusability and maintainability. Inheritance Graph Disjoint Inheritance Joint Inheritance 18

Fusion: Strengths and Weaknesses Strengths Based on functional, behavioural and structural modeling of the problem-domain and the system Smooth transition from task to task and from phase to phase Traceability to requirements via scenarios of system usage Rich models (structural, functional, and behavioural) Support for formalism Strong functional and behavioural modeling at the system level through identifying detailed scenarios of interaction with the system at the system boundary Extra attention to details of inter-object visibility and the references that objects need to make to each other Detailed inter-object/inter-class models produced during design 19

Fusion: Strengths and Weaknesses Weaknesses Partial coverage of the generic analysis phase: the process starts when a preliminary informal requirements document is already available. Structural model identified during analysis is discontinued in the design phase, with its information broken down and then perfected, thus damaging seamlessness The number of diagrams and other deliverables is prohibitive No modeling of intra-class behaviour No intra-system behavioural and functional modeling during the analysis stage; this has been done intentionally, but nevertheless damages the comprehensiveness of analysis No modeling of physical configuration 20

Reference Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., Jeremaes. P., Object-Oriented Development: The Fusion Method. Prentice- Hall, 1994. 21