Curtesey of Joseph YoderHome Page

Overview

Object Methodology is a shortened form of object-oriented application development methodology. The goal of an object methodology is to use object technology to guide the development of a computer-based application. Object technology provides the basis for describing a problem and building a solution by using object models, thus ensuring a better understanding of the problem and faster development of a robust and flexible solution with significantly less maintenance cost.

Object Modeling Technique

The Object Modeling Technique covers analysis, design, and implementation phases of application development.

Extreme Programming (XP)

Extreme Programming (XP) is actually a deliberate and disciplined approach to software development. Developed in the mid 90's,  it has already been proven at cost conscious companies like Bayerische Landesbank, Credit Swiss Life, DaimlerChrysler, First Union National Bank, Ford Motor Company and UBS.

XP is successful because it stresses customer satisfaction. The methodology is designed to deliver the software your customer needs when it is needed. XP empowers your developers to confidently respond to changing customer requirements, even late in the life cycle.

This methodology also emphasizes team work. Managers, customers, and developers are all part of a team dedicated to delivering quality software. XP implements a simple, yet effective way to enable groupware style development.
.

Object-Oriented Software Engineering

Object-Oriented Software engineering (OOSE) is a use-case-driven methodology. A use case represents a dialog between a user and the system. A use case is defined as " a particular form or pattern or example of usage, a scenario that begins with some user of the system initiating some transaction or sequence of interrelated events".

OOSE is divided into three phases:

  1. Analysis: The analysis phase involves examining requirements and robustness and produces a requirements model and an analysis model. The requirements model consists of a use case model, interface description, and a problem domain model.
  2. Construction: The construction phase includes the design and production processes and results in both a design model and an implementation model.
  3. Testing: The testing phase covers unit testing, integration testing and system testing and produces a test model.

Responsibility-Driven Design

Responsibility-Driven Design (RDD) is a dynamic methodology that emphasizes object behavior (responsibilities) and relationships with other objects (collaborations). RDD is a dynamic methodology because it finds the model objects on the basis of their behavior.

The RDD modeling process includes two phases:

  1. Exploratory: The exploratory phase has three goals-- finding the classes, determining responsibilities, and identifying collaborations. This is commonly done with the CRC cards (Ward Cunningham & Kent Beck 1989).
  2. Analysis: The analysis phase involves refining the object’s behavior and the service definitions specified in the exploratory phase. These activities include defining interfaces (protocols) and constructing implementation specifications for each class.

The Booch Method

Booch distinguishes the micro and macro elements of the development process. The micro development process serves as a framework for an iterative and incremental approach. The macro development process serves as the controlling framework for the micro process.

The Fusion Method

The Fusion method provides a systematic approach (method) to object-oriented software development. It is claimed to be a second-generation method, because it has integrated and extended existing approaches to provide a direct route from a requirements definition through to a program-language implementation.

UML

The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems.

Visual Modeling Technique

VMT methodically and in a novel way combines techniques that have proven productive in other object methodologies