Object Methodologies
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:
- 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.
- Construction: The construction phase includes the design and production processes and
results in both a design model and an implementation model.
- 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:
- Exploratory: The exploratory phase has three goals-- finding the classes, determining
responsibilities, and identifying collaborations. This is
commonly done with the
CRC cards.
- Analysis: The analysis phase involves refining the objects 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.
These pages were created with the help and collaboration with Yufei Jiang .
|