Q. Explain Booch Methodology. Booch Method:: Notation
Q. Explain Booch Methodology. Booch Method:: Notation
Q. Explain Booch Methodology. Booch Method:: Notation
A. BOOCH METHOD:
Booch developed Object-Oriented Design concept in 1986—and is widely used Object-Oriented
methodology.
Covers Analysis and Design phases of object-oriented system.
Produces detailed object oriented models.
Booch sometimes is criticized for his large set of symbols…many of his symbols and diagrams are
never required.
The main advantage of using Booch method is that you can document your object-oriented code.
Booch provide so comprehensive OO- design method that the method can be somewhat imposing to
learn and especially tricky to figure out where to start.
The Method:
Start with class and object diagrams in analysis phase.
Refine these diagrams in various phases.
Add design symbols when you are ready to generate the code.
DOCUMENT YOUR OBJECT ORIENTED CODE (if required).
The Booch method consists of following six diagrams:
Class diagrams
Object diagrams
State Transition diagrams
Module diagrams
Interaction diagrams
Process diagrams
Class diagrams:
A class diagram is used to show the existence of classes and their relationships in the logical view of a
system. A single class diagram represents a view of the class structure of a system. During analysis, we use
class diagram to indicate the common roles and responsibilities of the entities that provide the system’s
behavior. During design, we use classes diagram to capture the structure of the classes that form the
system’s architecture. It is denoted by a dotted cloud shape.
Notation:
1
Example:
Object diagrams:
An object diagram is used to show the existence of objects and their relationship in the logical design
of a system. A single object diagram is typically used to represent a scenario. During analysis object
diagrams are used to indicate the semantics of primary and secondary scenarios that provide a trace of
system’s behavior. During design, it is used to illustrate the semantics of mechanisms in the logical design
of a system. Objects interact through links to other objects.
Notation:
Module diagrams:
A module diagram is used to show the allocation of classes and objects to modules in physical design
of the system. A single module diagram represents a view of the module structure of a system. During
development we use module diagram to indicate the physical layering and partitioning of our architecture.
The main program icon denotes a file that contains the root of program. The specification and body
icon denote files that contain declaration and definition of entities respectively. Subsystems represent
clusters of logically related modules.
2
Notation:
Interaction diagrams:
An interaction diagram is used to trace the execution of the scenario in the same context as an object
diagram. It is a simpler way of representing the object diagram. The advantage of using interaction diagram
is that it is easier to read the passing of messages in relative order. This diagram tends to focus on events as
opposed to operations because events help to define boundaries of a system under development.
An interaction diagram appears in tabular form. Entities are written horizontally across top of the
diagram. A dashed vertical line is drawn below each object. Messages are shown horizontally and their
ordering is indicated by vertical positions.
Notation:
Process diagrams:
A process diagram is used to show the allocation of the processes to processors in the physical
design of the system. A single process diagram represents a view into the process structure of the system.
During development process diagram is used to indicate the physical collection of processors and devices
that serve as the platform for execution of a system.
A processor is a piece of hardware capable of executing programs and a name is required for each
processor. A device is a piece of hardware incapable of executing any program and there are no particular
constraints on the device names. Processor and device communicate with one another using undirected lines.
Notation:
The Booch methodology prescribes a Macro development process and a Micro development process.
The Macro Development Process:
The macro process serves as a controlling framework for the micro process and can take weeks and
even months. The primary concern of the macro process is technical management of the system. The macro
process focuses upon risk and architectural vision that have the greatest impact upon schedules, quality and
completeness. The macro process tends to track the following activities:
Establish the core requirements for the software (conceptualization).
3
Develop a model of the system’s desired behavior (analysis).
Create architecture for the implementation (design).
Evolve the implementation through successive refinement (evolution).
Manage post delivery evolution (maintenance).
The Micro Development Process
Each macro development process has its own micro development processes. The micro process is a
description of the day-to-day activities by a single and small group of software developers, which could look
blurry to an outside viewer, since the analysis and design phases are not clearly defined.
The micro development process consists of the following steps:
Identify the classes and objects.
Identify the classes and object semantics.
Identify the classes and object relationships.
Identify the classes and object interfaces and implementation.
4
Notation:
name
Fig: State icon Fig: Start icon and transitions
SOFTWARE TESTING:
Testing is the process used to help to identify the correctness, completeness and quality of developed
computer software.
Testing can never completely establish the correctness of arbitrary computer software.
Testing is nothing but criticism or comparison, i.e comparing the actual value with expected one.
There are many approaches to software testing but effective testing of complex products is essentially
a process of investigation, not merely a matter of creating and following wrote procedure.
One definition of testing is “the process of questioning a product in order to evaluate it”, Where the
“questions” are things the tester tries to do with the product, and the product answers with its behavior in
reaction to the probing of the tester.
Although most of the intellectual processes of testing are nearly identical to that of review or
inspection, the word testing is connoted to mean the dynamic analysis of the product –putting the product
through its paces.
5
The quality of the application can, and normally does, vary widely from system to system but some of
the common quality attributes include reliability, stability, portability, maintainability and usability.
Strength Well suited for Produces detailed object Good for producing
describing the object oriented design models user- driven analysis
model or the static models
structure of the syst.
Class
Notations
(Dashed ambiguous
blob) (Rectangle)
Object
Notations
(rounded
(ambiguous blob) rectangle)