oo methodologies
oo methodologies
I. Object-Oriented Analysis
a. Determine an architecture and specify the rules for translation of the OOA models into
implementation.
• Shlaer and Mellor view analysis and design as two separate subject matters
(domains)
• while
• the other methods view analysis and design as a difference in the level of detail
described
The shlaer-mellor method
This approach leads to three main characteristics of the method.
1. Domains
2. Purpose of Analysis
A defined world (i.e., the abstract world of User Interface) has a set of objects (Icon,
Window, Dialog Box) that exhibit behavior expected of objects in that domain.
For instance, icons can overlap other icons and dialog boxes cannot be moved outside a
window.
• Almost every system is a mixture of different subject matters.
• This mixture might include (for example) the Application, User Interface,
Peripheral Interfacing, Operating System, Computer Language, and
Reporting (Figure 2 on previous slide).
• Domains achieve their independence through the use of bridges which connect the
requirements in the client domains to the functionality provided by the service
domains (see Figure 3).
• In the example shown, a new application domain, requiring the display of icons, can
reuse the objects (in the User Interface domain) that provided this capability.
• In many companies that develop families of products, only the application domain
• changes between projects.
2. Purpose of Analysis
• In many methods (i.e., Object Modeling Technique/OMT or Rumbaugh method,
analysis is viewed in less detail than shown in the design phase.
• The analysis is complete when a detailed description of the problem is captured in the
OOA models.
• There is a well defined formalism that instructs analysts how to model in each
domain.
• This amount of rigor is needed to provide a clear definition of the problem and to
allow it to be translated into implementation (code).
• This is similar to a compiler requiring the source file to be in the exact syntax of the
language.
• Informal models cannot be translated. This structure also allows a complete static
check and dynamic simulation of the problem.
3. Implementation through Translation
• This difference allows Shlaer-Mellor analysis models to be translated (compiled)
directly to code.
• With other methods the developers evolve the objects from sketchy analysis drawings
to final code by adding detail at the various steps in the development process.
• The result is that the Shlaer-Mellor analysis models contain far more detail than what
people normally expect in analysis.
• The OOA models contain a level of detail that people often associate with detailed
design or coding. This is because "level of detail" is not used to separate analysis
from design or coding.
• Considerable time will be spent in the analysis phase of a project, but, this time will be
made up in the coding phase.
-fast and intuitive approach for identifying and modeling all objects
making up a system.
3. Object design.
This phase produces a design document,
consisting of detailed objects and dynamic
and functional models.
4. Implementation.
This activity produces reusable, extendible,
and robust code.
OMT Modeling
• OMT separates modeling into three different parts:
• The focus at this level is more upon the customers and their
desires for things such as quality, completeness, and
scheduling.
• Conceptualization
– Establish core requirements
– Establish goal
– Develop prototype to prove concepts
• Analysis model
– Use class diagram to describe roles & responsibilities of objects in system
– Use object diagram or interaction diagram to describe desired behavior of
system in terms of scenarios
Booch’s Macro Development Process
• Design & create system architecture
– Use class diagram to decide what classes exist, how they relate to one
another
– Use object diagram to decide what mechanisms are used to regulate how
objects collaborate
– Use module diagram to map where each class & object should be
declared
– Use process diagram to determine process allocation to processors
– Determine schedule for multiple processes on processors
Booch’s Macro Development Process Cont.
• Evolution or Implementation
– Refine system through iterations
– Produce stream of software implementations/executable releases
• Maintenance
– Make localized changes to add new requirements/eliminate bugs
Booch’s Micro Development Process
• Driven by scenarios and architectural specifications that emerge from
the macro process
• Day to day activities for each macro development process can consist
of following steps