SlideShare a Scribd company logo
Unit 5
DR.S.GUNASUNDARI
SYLLABUS
• Object Oriented Methodologies – Software
Quality Assurance – Impact of object
orientation on Testing – Develop Test Cases
and Test Plans
Dept of CSE, VEC
3/9/2022 2
Object Oriented Methodologies
• Object Oriented Methodologies
– Set of methods, models and rules for developing systems
– Modelling is the process of describing an existing or
proposed system
– Modelling provides a means for communicating ideas in
an easy to understand and unambiguous form
Dept of CSE, VEC
3/9/2022 3
Object Oriented Methodologies
• Methodologies and their modeling notations
developed by :
• Rumbaugh Methodology : It is suitable for
describing the object model or the static structure
of the system.
• Booch Methodology : It produces detailed object-
oriented design models.
• Jacobson Methodology : It is suitable for producing
user-driven analysis model.
Dept of CSE, VEC
3/9/2022 4
Rumbaugh Methodology - Object
Modeling Technique
Rumbaugh Methodology - Object
Modeling Technique
• Object modeling Technique (OMT) presented by Jim Rumbaugh.
• It describes a method for the analysis, design and
implementation of a system using an object-oriented technique.
• OMT is a fast, perceptive approach for identification and the
modeling of objects.
• In OMT, class details such as attributes, method, inheritance and
association can be explained in the easiest way,
• OMT dynamic model describes the dynamic behaviour of
objects.
• It explains detailed state transitions and their descriptions within
a system.
• It also express the product description and consumer - producer
relationship using OMT functional models.
Dept of CSE, VEC
3/9/2022 6
Object modeling Technique (OMT)
• OMT consists of four phases
• Analysis :The results are objects and dynamic and functional
models.
• System design : It defines the structure of the basic architecture of
the system along with high-level strategy decisions.
• Object design : It produces a design document, consists of detailed
objects static, dynamic and functional model.
• Implementation : It produces reusable, extendible and robust
code.
• OMT separates modeling into 3 parts :
• An object model, A dynamic model, A functional model,
Dept of CSE, VEC
3/9/2022 7
Object modeling Technique (OMT)
• OMT separates modeling into 3 parts :
• An object model, A dynamic model, A functional model,
An object model
• It describes the structure of objects in a system.
• Their identify, relationships to other objects, attributes and
operations.
• Object model is represented by object diagram.
Eg: Object model for banking system.
Dept of CSE, VEC
3/9/2022 8
Object modeling Technique (OMT)
An object model
Eg: Object model for banking system.
Dept of CSE, VEC
3/9/2022 9
The object diagram
contains classes which is
connected by association
lines.
Each class in the object
diagram represents a set of
individual objects.
The association lines
establish relationships
between the classes.
The association line also
represents a set of links from
objects of one class to
objects of another class.
Object modeling Technique (OMT)
OMT Dynamic Model :
• OMT provides a detailed and comprehensive dynamic
model.
• OMT depicts states, transitions, events and actions.
• OMT dynamic model is represented by state transition
diagram.
• OMT state transition diagram is a network of states and
events.
• Each state receives one or more events.
• OMT state transition diagram, makes from transition to the
next state.
• The next state depends on the current state and events.
Dept of CSE, VEC
3/9/2022 10
Object modeling Technique (OMT)
OMT Dynamic Model :
State transition diagram for banking system
Dept of CSE, VEC
3/9/2022 11
Object modeling Technique (OMT)
OMT Functional Model :
• OMT data flow diagram shows the flow of data between
different processes.
• DFD provides a simple method for describing business
process without focus on the details.
Data flow diagrams use four primary symbols :
1. Process : Any function being performed.
Eg.: Verify password.
2. Data Flow : Direction of data element movement.
3. Data Stroe : Location where data are stored.
4. External entity : Source or destination of a data element.
Eg : ATM card reader.
Dept of CSE, VEC
3/9/2022 12
Object modeling Technique (OMT)
OMT Functional Model :
Data Flow Diagram for ATM system
Dept of CSE, VEC
3/9/2022 13
The Booch Methodology
The Booch Methodology
• Booch methodology is a widely used object-oriented method.
• Booch methodology which covers the analysis and design phase of an OO
system.
• Booch methodology consists of various diagrams :
 Class diagrams
 Object diagrams
 State transition diagram
 Module diagram
 Interaction diagram
• Here state transition and object diagram is given as an example design phase
of OO system in Booch Methodology.
• Booch methodology uses a macro development process and a micro
development process.
Dept of CSE, VEC
3/9/2022 15
The Booch Methodology
The Macro Development Process :
• Macro Development Process is a controlling framework for micro process.
• The primary focus for macro development process is technical management of the system.
• This technical management is responsible for the requirements set for project rather than the
object oriented design.
The macro development process consists of the following steps:
1. Conceptualization: The core requirements of the system are established. A set of goals
are established and develop a prototype to prove the concept.
2. Analysis and development of the model:
• Class diagram is used to describe the roles and responsibilities of objects to performing
the behavior of the system.
• Object diagram is used to describe the behavior of the system in terms of scenarios.
• Interaction diagram is also used to describe the behavior of the system in terms of
scenarios.
Dept of CSE, VEC
3/9/2022 16
The Booch Methodology
The Macro Development Process :
3. Design or create the system architecture
• The class diagram in the design phase is used to decide that classes exist and how they
relate to each other.
• Then the object diagram is used for specifying mechanisms of object collabration.
• Then use module diagram to map out where each class and object should be declared
• Finally use process diagram to determine which processor to allocate process
4. Evolution or implementation
• Refine the system through many iterations.
• Produce a stream of executable files each of which is a refinement of prior one.
5. Maintenance
• Make changes to the system to add new requirements and eliminate bugs.
Dept of CSE, VEC
3/9/2022 17
The Booch Methodology
Object Modeling - Booch Technology
State Transition Diagram - Booch methodology
Dept of CSE, VEC
3/9/2022 18
The Booch Methodology
The Micro Development Process :
• Each macro development process has its own micro development
processes.
• Micro process is a description of the day-to-day activities by a
single or small group of software developers.
• The micro development process consists of the following steps :
– Identify classes and objects.
– Identify class and object semantics.
– Identify class and object relationships.
– Identify class and object interfaces and implementation.
Dept of CSE, VEC
3/9/2022 19
The Jacobson Methodologies
The Jacobson Methodologies
• Jacobson methologies examples are object-oriented.
Business Engineering (OOBE), object-oriented
Software Engineering (OOSE) and objectory
(usecases).
• These examples cover the entire lifecycle and stress
traceability between the different phases.
• This traceability enables reuse of analysis and design
work possibly much bigger factors in the reduction of
development time than reuse of code.
• Use case concepts are evolved with objectory (object
factory for software development)
Dept of CSE, VEC
3/9/2022 21
The Jacobson Methodologies
• Use cases :
• Scenarios for understanding
system requirements.
• It is an interaction between
user and a system.
• The use case model captures
the goal of the user and the
responsibility of the system to
its users.
Dept of CSE, VEC
3/9/2022 22
The Jacobson Methodologies
• Description of use case
– Non formal text with no clear flow of events
– Text , easy to read, clear flow of events
(Recommended)
– Formal style with pseudo code
The Jacobson Methodologies
The usecase description must contain :
• How and when the usecase begins and ends :
• The interaction between the usecase its actor, including
when the interaction occurs and what is exchanged.
• How and when the usecae will store data in the system.
• Exceptions to the flow of events.
• How and when the concepts of the problem domain
are handled.
• Every usecase should describe one flow of events.
Dept of CSE, VEC
3/9/2022 24
The Jacobson Methodologies
The usecase description must contain: (Cont..)
• An exceptional or additional flow of events could be added.
• The usecase model employs extends and uses relationships.
• The extends relationship is used when you have one usecase
that is similar to another usecase.
• The uses relationship reuses common behaviour in different
usecases.
• Usecases can be viewed as concrete or abstract.
• An abstract usecase is not complete and has no actors that
initiate it.
• Abstract usecases also the ones that have uses or extends
relationships.
Dept of CSE, VEC
3/9/2022 25
The Jacobson Methodologies
Object-Oriented Software Engineering - Objectory :
• OOSE also called as objectory, is a method of object-oriented
development with the aim of developing real-time systems.
• The development process, called usecase driven development
which involved in several phases including analysis, design,
validation and testing.
• The usecase scenario begins with a user of the system initiating a
sequence of interrelated events.
• The system development method based on OOSE, is a disciplined
process for the industrialized development of software based on
a use-case driven design.
Dept of CSE, VEC
3/9/2022 26
The Jacobson Methodologies :
Object-Oriented Software Engineering - Objectory : (Cont..)
• It is an approach to OO analysis and design.
• By organizing the analysis and design models around sequences
of user interaction and actual usage scenarios, this method
produces the system that are more usable and more robust.
• Jacobson objectory has been developed and applied to
numerous application areas.
Dept of CSE, VEC
3/9/2022 27
The Jacobson Methodologies
Object-Oriented Software Engineering - Objectory : (Cont..)
• Objectory is build around several models :
• Use-case model :The use-case model defines the outside (actors)
and inside (usecase) of the system’s behavior.
• Domain object model : The objects of the real world are mapped
into the domain object model.
• Analysis object model : The analysis object model presents how
the source code should be carried out and written.
• Implementation model :Represents the implementation of the
system.
• Test Model :It constitutes the test plans, specifications and
reports.
Dept of CSE, VEC
3/9/2022 28
The Jacobson Methodologies
Object-Oriented Software Engineering - Objectory : (Cont..)
Usecase model is considered in every model and phase
Dept of CSE, VEC
3/9/2022 29
The Jacobson Methodologies
Object-oriented Business Engineering :
• Object-Oriented Business Engineering (OOBE) is object modeling
at the enterprise level.
• Usecases are the central for modeling, providing traceability
throughout the software engineering processes.
• Analysis Phase :
• The analysis phase defines the system to be built in terms of
problem - domain object model, the requirements model and
the analysis model.
• The analysis process should not take into account the actual
implementation environment.
Dept of CSE, VEC
3/9/2022 30
The Jacobson Methodologies
Object-oriented Business Engineering :
• This reduces complexity and promotes maintainability over the
life of the system, since the description of the system will be
independent of hardware and software requirements.
• This analysis process is iterative but the requirements and
analysis models should be stable before moving to subsequent
models.
Dept of CSE, VEC
3/9/2022 31
The Jacobson Methodologies
Design and implementation phases :
• Implementation environment must be identified for the design
model.
• This includes factors such as DBMS, distribution of process,
constraints due to the programming language, available
component libraries, incorporation of graphical user interface
tools.
• The analysis objects are translated into design objects.
• Testing phase :
• Jacobson describes several testing levels and techniques.
• The levels include unit testing, integration testing and system
testing.
Dept of CSE, VEC
3/9/2022 32
SOFTWARE QUALITY ASSURANCE
SOFTWARE QUALITY ASSURANCE
• To develop and deliver robust systems,
– Each component will behave correctly.
– Collective behavior is correct.
– No incorrect collective behavior will be produced.
• The elimination of the syntactical bug is the process of
debugging.
• The detection and elimination of the logical bug is the
process of testing.
Dept of CSE, VEC
3/9/2022 34
SOFTWARE QUALITY ASSURANCE
Quality Assurance Tests :
• After the development of the product, quality assurance test is
needed.
• Debugging is the process of finding out where something went
wrong and correcting the code to eliminate the errors or bugs
that cause unexpected results.
• Testing and searching for bugs is a balance of science, art and
luck.
• By selecting appropriate testing strategies and a test plan, the
errors in the system can be located and fix them using readily
available debugging tools.
• A Software debugging system can provide tools for finding
errors in progress.
Dept of CSE, VEC
3/9/2022 35
SOFTWARE QUALITY ASSURANCE
Following kinds of errors may encountered:
1. Language (Syntax) Error
– incorrectly constructed code (keyword not typed correctly)
2. Run-time errors
– error found during program running
3. Logic errors
– code does not perform the way you intended
Dept of CSE, VEC
3/9/2022 36
SOFTWARE QUALITY ASSURANCE
• Quality assurance testing can be divided into 2 major
categories
– Error based testing
– Scenario based testing
• Error based testing
– Search a given class’s method for particular clue of interest
– To test this Emp.payroll(hours), try different values for hours (40,30
etc)
– Testing boundary condition
– Method should handle any value. if not error must be recorded and
reported
• Scenario based testing
– Usage based testing
– Concentrates on what user does, not what the product does
– Capturing usecases and the task users perform, then performing them
and their variants as tests
– Can identify interaction bugs
– More complex than error-based test
Testing Strategies :
• The extent of testing a system is controlled by many factors,
such as
• Risks involved
• Limitation on resources
• Deadlines
• To resolve these issues, a best testing strategy must be deploy
to find defects in a product within the given constraints.
Many testing strategies are used :
• Black box testing
• White box testing
• Top-down testing
• Bottom-up testing
SOFTWARE QUALITY ASSURANCE
Black box testing :
• The concept of the black box is used to represent a system whose inside
working are not available.
• Black box is an imaginary box that hides its internal workings
• The test item is treated as “black”, since its logic is unknown. So this testing
is defined as black-box testing.
• All that known is input and output.
Dept of CSE, VEC
3/9/2022 40
SOFTWARE QUALITY ASSURANCE
White-box Testing :
• White-box testing assumes the specific logic is important and must be
tested to guarantee the system proper functioning.
• The main use of white box testing is in error-based testing.
• In white box testing, bugs have a low probability of execution.
• One form of white-box testing called path testing, makes certain that each
path in a object method is executed atleast once during testing.
Dept of CSE, VEC
3/9/2022 41
SOFTWARE QUALITY ASSURANCE
Two types of white-box testing (or) path testing :
• Statement testing coverage
• Branch testing coverage
Statement testing coverage
• Test every statement in the object’s method by executing it atleast once
Branch testing Coverage :
• Main aim is to perform enough tests to ensure that every branch alternative
has been executed atleast once under some test.
• It is unfeasible to fully test program of considerable size.
Dept of CSE, VEC
3/9/2022 42
Top-down testing :
• Top-down testing assumes that the main logic or object interactions and
systems messages of the application need more testing than an individual
object’s method or supporting logic.
• A top-down strategy can detect the serious design flaws.
• Top-down testing should find critical design errors early in the testing
process and significantly improve the quality of the delivered software
because of the iterative nature of the test.
SOFTWARE QUALITY ASSURANCE
Bottom-up Testing :
• Bottom-up testing starts with the details of the system and proceeds to higher levels
by a progressive aggregation of details until they fit the requirements for the system.
• It is appropriate for testing the individual objects in a system.
• Initially test each object.
• Then combine each object and test their interaction and the messages passed
among objects.
• Bottom-up testing start with the methods and classes.
• Then progress to the next level.
• Then combine bottom two layers.
• Proceed until you are testing the entire program.
• Bottom-up testing leads to integration testing which leads to system testing.
Dept of CSE, VEC
3/9/2022 44
IMPACT OF OBJECT ORIENTATION ON TESTING
• The impact of an object orientation on testing is summarized as :
– Some types of errors could become less probability.
– Some types of errors could become more probability.
– Some new types of errors might appear.
• The process of testing variable uses in OOD essentially does not change, but
the user has to decide
– What needs testing?
– Has the possibility of faults changed?
– Some types of fault are less feasible or more feasible.
– There are more opportunities for integration faults.
Dept of CSE, VEC
3/9/2022 45
IMPACT OF OBJECT ORIENTATION ON TESTING
• Consider this eg:
• The base class A contains methods square( ) and rectangle( ) and the
derived class B redefines the rectangle( ) method.
• The B::rectangle( ) has to be tested because it is a new code.
• Does B::square( ) have to be retested?
• If it uses rectangle( ) and the rectangle( ) has changed, the B::square may
mishandle the new behaviour.
• So it needs new tests even though the B::square( ) itself has not changed.
• If the A:square has been changed, the B::rectangle( ) may not have to be
completely tested.
• If the OOD guidelines do not follow, the objects are hard to debug and
maintain.
Dept of CSE, VEC
3/9/2022 46
IMPACT OF OBJECT ORIENTATION ON TESTING
Reusability of tests :
• If A::rectangle( ) and B::rectangle( ) are two different methods with different
protocols and implementations.
• Each needs a different set of test requirements derived from the usecases,
analysis, design or implementation.
• But the methods are likely to be similar.
• Write new tests only for those B::rectangle requirements which is not
satisfied by the A::rectangle tests.
• If the A::rectangle tests is apply to objects of the class B, the test inputs may
be appropriate for both classes.
– But the expected results might differ in the derived class.
• Marick argues that test is more likely to be reusable in subclasses.
– Simple tests are used to find only the faults.
– Complex tests are better at both finding those faults and shuffling across others.
Dept of CSE, VEC
3/9/2022 47
TEST CASES
TEST CASES
• To have a comprehensive testing scheme, the test must cover all methods or
a good majority of them.
• All the services of your system must be checked by atleast one test.
• To test a system, construct some test input cases, then describe the output.
• Next, perform the tests and compare the outcome with the expected
output.
• The usecases developed during analysis can be used to describe the usage
test cases.
• Tests always should be designed from specifications.
The objective of testing as follows:
• Testing is the process of executing a program with the intent of finding
errors.
• A good test case is the one that has a high probability of detecting an
undiscovered error.
• A successful test case is the one that detects an undiscovered error.
Dept of CSE, VEC
3/9/2022 48
TEST CASES
Guidelines for Developing Quality Assurance Test Cases :
• Basically a test case is a set of what-if questions.
• Freedman and Thomas developed guidelines
– Describe which feature or service your test attempts to cover.
– If the test case is based on a usecase, it is good idea to refer to the
usecase name. Remember that the usecases are the source of test
cases. The software is supposed to match the usecases. If we have
enough of usecases, write the test plan.
– Specify what we are testing and which particular feature (methods).
Dept of CSE, VEC
3/9/2022 49
TEST CASES
Guidelines for Developing Quality Assurance Test Cases : (Cont..)
– Specify what is the input for test feature and what will be the output.
– Test the normal use of the object’s methods.
– Test the abnormal but reasonable use of the object’s methods.
– Test the abnormal and unreasonable use of the object’s methods.
– Test the boundary conditions.
– Test object’s interactions and the messages sent among them. Sequence
diagram is useful for this process.
– Whenever the revisions have been made, document the cases so they become
the starting basis for the follow-uip test.
– Attempting to reach agreement on answers will raise other what-if questions.
Add these to the list and answer them, repeat the process until the list is
stabilized.
Dept of CSE, VEC
3/9/2022 50
TEST CASES
Guidelines for Developing Quality Assurance Test Cases : (Cont..)
– The quality of the software, such as its reusability and extendability should be
assessed.
– The reusability and extendability are more difficult to test.
– Reuse is widely desired and often the benefit of utilizing object technology.
– Many object-oriented reuse efforts fail because of little focus on technology
rather than the policies set by an organization.
– Software assets are consistently used and maintained to obtain high levels of
reuse, which optimize the organization’s ability to produce high-quality software
products.
– Specifying result is difficult for the development of test cases.
– During testing, it is important to alert the person running them that failure is
expected.
Dept of CSE, VEC
3/9/2022 51
TEST CASES
Guidelines for Developing Quality Assurance Test Cases : (Cont..)
We are testing a File open feature
Specify the result as follows :
• 1. Drop down the file menu and select open.
• 2. Try opening the following types of files :
– A file that is there (should work)
– A file that is not there (should get an Error message).
– A file name with international characters (should work).
– A file type that the program does not open (should get a
message or conversion dialog box)
Dept of CSE, VEC
3/9/2022 52
TEST PLAN
• In the real world, it may be a good idea to use a test
plan and find bugs and remove it.
• A test plan is developed to detect and identify
potential problems before delivering the software to
its users.
• A test plan offers a road map for testing activities,
whether usability, user satisfaction or quality
assurance tests.
• The test plan need not be very large.
Dept of CSE, VEC
3/9/2022 53
TEST PLAN
The following steps are needed to create a test plan:
1. Objectives of the test :
• Create the objectives and describe how to achieve them.
• For eg: if the objective is usability of the system, that must
be stated and how to realize it.
• Most software companies use beta testing, in-expensive
and effective way to test software on a select group of the
actual users of the system.
• Alpha testing, where testing is done by programmers,
software engineers and internal users.
Dept of CSE, VEC
3/9/2022 54
TEST PLAN
2. Development of a test case :
• Develop test data, both input and output based on the domain of the data
and the expected behaviors that must be tested.
3. Test Analysis :
• This step involves the examination of the test output and the
documentation of the test results.
• If bugs are detected, then this is reported.
• After debugging, steps 1 through 3 must be repeated until no bugs can be
detected.
• All passed tests should be repeated with the revised program, called
regression testing.
• It can discover errors introduced during the debugging process.
• When sufficient testing is believed to have been conducted, this fact should
be reported and testing for this specific product is complete.
• A good test plan is one of the strongest tool.
Dept of CSE, VEC
3/9/2022 55
TEST PLAN
3. Test Analysis : (Cont..)
It gives the clear view about,
– What will be tested?
– How it will be tested?
– Intended schedule.
• Use test plan as a checklist, to make sure that we do not forget to test any
features.
• For a small application, the designer team will develop the test plan and test
cases.
• Many organizations have a separate team, such as a quality assurance
group, that works closely with the design team and is responsible for these
activities.
Dept of CSE, VEC
3/9/2022 56
TEST PLAN
Guidelines for developing test plans :
• As software gains complexity and interaction among
programs.
• A good test plan not only prevents overlooking a
feature.
• The following guidelines have been developed by
Thomas for writing test plans.
– Requirements which are used that dictate a specific
appearance or format for your test plan. These
requirements may be generated by the users. Whatever the
appearance of your test plan, by to include much possible
details about the test.
Dept of CSE, VEC
3/9/2022 57
TEST PLAN
Guidelines for developing test plans :
• The test plan should contain a schedule and a list of required
resources. List how many people will be needed. When the testing
has to be done. What are the equipments will be required.
• After the determination of what types of testing are necessary (such
as blackbox, whitebox, top-down or bottom-up testing) document
the specification of what the user has to do.
• The level of detail in your plan may be driven by several factors such
as:
– How much test time to you have?
– Will you use the test plan as a training tool for newer team members?
Dept of CSE, VEC
3/9/2022 58

More Related Content

What's hot

Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.ppt
bhadjaashvini1
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
Dr. C.V. Suresh Babu
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
Manish Kumar
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
Arun Shukla
 
Context model
Context modelContext model
Context model
Ubaid423
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOAD
Shivani Kapoor
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
Ramakant Soni
 
database recovery techniques
database recovery techniques database recovery techniques
database recovery techniques
Kalhan Liyanage
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
mohamed khalaf alla mohamedain
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
Student
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
Anuja Arosha
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
Inocentshuja Ahmad
 
Active database system
Active database systemActive database system
Active database system
Adeolu Olaniyan
 
UML
UMLUML
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
Debajyoti Biswas
 
Domain State model OOAD
Domain State model  OOADDomain State model  OOAD
Domain State model OOAD
Raghu Kumar
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
Ashish Kumar
 
Video display devices
Video display devicesVideo display devices
Video display devices
shalinikarunakaran1
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)
Manoj Reddy
 
Distributed Query Processing
Distributed Query ProcessingDistributed Query Processing
Distributed Query Processing
Mythili Kannan
 

What's hot (20)

Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.ppt
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 
Context model
Context modelContext model
Context model
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOAD
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
 
database recovery techniques
database recovery techniques database recovery techniques
database recovery techniques
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Active database system
Active database systemActive database system
Active database system
 
UML
UMLUML
UML
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Domain State model OOAD
Domain State model  OOADDomain State model  OOAD
Domain State model OOAD
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Video display devices
Video display devicesVideo display devices
Video display devices
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)
 
Distributed Query Processing
Distributed Query ProcessingDistributed Query Processing
Distributed Query Processing
 

Similar to Unit 5

CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5 CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5
Gobinath Subramaniam
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
pkaviya
 
unit2 object oriented Methodologies ppt.pptx
unit2 object oriented  Methodologies ppt.pptxunit2 object oriented  Methodologies ppt.pptx
unit2 object oriented Methodologies ppt.pptx
SARANYAM124686
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
AMITJain879
 
Architecture of Object Oriented Software Engineering
Architecture of Object Oriented Software EngineeringArchitecture of Object Oriented Software Engineering
Architecture of Object Oriented Software Engineering
Sandesh Jonchhe
 
Pawan111
Pawan111Pawan111
Pawan111
ranjeetdon
 
UNIT V TESTING.pptx
UNIT V TESTING.pptxUNIT V TESTING.pptx
UNIT V TESTING.pptx
anguraju1
 
Software Architectural & Data Design
Software Architectural & Data DesignSoftware Architectural & Data Design
Software Architectural & Data Design
Gaurav Bisht
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
Amith Tiwari
 
Chapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptxChapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptx
aroraritik30
 
Structure system analysis and design method -SSADM
Structure system analysis and design method -SSADMStructure system analysis and design method -SSADM
Structure system analysis and design method -SSADM
FLYMAN TECHNOLOGY LIMITED
 
kuyper_instructionalscience29
kuyper_instructionalscience29kuyper_instructionalscience29
kuyper_instructionalscience29
Michiel Kuijper
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
Gobinath Subramaniam
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
RAVALCHIRAG1
 
ppt2.pptx
ppt2.pptxppt2.pptx
ppt2.pptx
JOHNNYGALLA2
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
B.T.L.I.T
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Mahesh Bhalerao
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
DebabrataPain1
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software construction
BanduChalise
 

Similar to Unit 5 (20)

CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5 CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
 
unit2 object oriented Methodologies ppt.pptx
unit2 object oriented  Methodologies ppt.pptxunit2 object oriented  Methodologies ppt.pptx
unit2 object oriented Methodologies ppt.pptx
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Architecture of Object Oriented Software Engineering
Architecture of Object Oriented Software EngineeringArchitecture of Object Oriented Software Engineering
Architecture of Object Oriented Software Engineering
 
Pawan111
Pawan111Pawan111
Pawan111
 
UNIT V TESTING.pptx
UNIT V TESTING.pptxUNIT V TESTING.pptx
UNIT V TESTING.pptx
 
Software Architectural & Data Design
Software Architectural & Data DesignSoftware Architectural & Data Design
Software Architectural & Data Design
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
Chapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptxChapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptx
 
Structure system analysis and design method -SSADM
Structure system analysis and design method -SSADMStructure system analysis and design method -SSADM
Structure system analysis and design method -SSADM
 
kuyper_instructionalscience29
kuyper_instructionalscience29kuyper_instructionalscience29
kuyper_instructionalscience29
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
 
ppt2.pptx
ppt2.pptxppt2.pptx
ppt2.pptx
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software construction
 

More from GunasundariSelvaraj

Unit 4
Unit 4Unit 4
Unit 3
Unit 3Unit 3
Unit 1
Unit 1Unit 1
Unit i
Unit iUnit i
Unit 5
Unit 5Unit 5
Unit 4
Unit 4Unit 4
Unit 3
Unit 3Unit 3
Unit 2
Unit 2Unit 2

More from GunasundariSelvaraj (8)

Unit 4
Unit 4Unit 4
Unit 4
 
Unit 3
Unit 3Unit 3
Unit 3
 
Unit 1
Unit 1Unit 1
Unit 1
 
Unit i
Unit iUnit i
Unit i
 
Unit 5
Unit 5Unit 5
Unit 5
 
Unit 4
Unit 4Unit 4
Unit 4
 
Unit 3
Unit 3Unit 3
Unit 3
 
Unit 2
Unit 2Unit 2
Unit 2
 

Recently uploaded

官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
TaghreedAltamimi
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Introduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptxIntroduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptx
MiscAnnoy1
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
Material for memory and display system h
Material for memory and display system hMaterial for memory and display system h
Material for memory and display system h
gowrishankartb2005
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
SakkaravarthiShanmug
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 

Recently uploaded (20)

官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Introduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptxIntroduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptx
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
Material for memory and display system h
Material for memory and display system hMaterial for memory and display system h
Material for memory and display system h
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 

Unit 5

  • 2. SYLLABUS • Object Oriented Methodologies – Software Quality Assurance – Impact of object orientation on Testing – Develop Test Cases and Test Plans Dept of CSE, VEC 3/9/2022 2
  • 3. Object Oriented Methodologies • Object Oriented Methodologies – Set of methods, models and rules for developing systems – Modelling is the process of describing an existing or proposed system – Modelling provides a means for communicating ideas in an easy to understand and unambiguous form Dept of CSE, VEC 3/9/2022 3
  • 4. Object Oriented Methodologies • Methodologies and their modeling notations developed by : • Rumbaugh Methodology : It is suitable for describing the object model or the static structure of the system. • Booch Methodology : It produces detailed object- oriented design models. • Jacobson Methodology : It is suitable for producing user-driven analysis model. Dept of CSE, VEC 3/9/2022 4
  • 5. Rumbaugh Methodology - Object Modeling Technique
  • 6. Rumbaugh Methodology - Object Modeling Technique • Object modeling Technique (OMT) presented by Jim Rumbaugh. • It describes a method for the analysis, design and implementation of a system using an object-oriented technique. • OMT is a fast, perceptive approach for identification and the modeling of objects. • In OMT, class details such as attributes, method, inheritance and association can be explained in the easiest way, • OMT dynamic model describes the dynamic behaviour of objects. • It explains detailed state transitions and their descriptions within a system. • It also express the product description and consumer - producer relationship using OMT functional models. Dept of CSE, VEC 3/9/2022 6
  • 7. Object modeling Technique (OMT) • OMT consists of four phases • Analysis :The results are objects and dynamic and functional models. • System design : It defines the structure of the basic architecture of the system along with high-level strategy decisions. • Object design : It produces a design document, consists of detailed objects static, dynamic and functional model. • Implementation : It produces reusable, extendible and robust code. • OMT separates modeling into 3 parts : • An object model, A dynamic model, A functional model, Dept of CSE, VEC 3/9/2022 7
  • 8. Object modeling Technique (OMT) • OMT separates modeling into 3 parts : • An object model, A dynamic model, A functional model, An object model • It describes the structure of objects in a system. • Their identify, relationships to other objects, attributes and operations. • Object model is represented by object diagram. Eg: Object model for banking system. Dept of CSE, VEC 3/9/2022 8
  • 9. Object modeling Technique (OMT) An object model Eg: Object model for banking system. Dept of CSE, VEC 3/9/2022 9 The object diagram contains classes which is connected by association lines. Each class in the object diagram represents a set of individual objects. The association lines establish relationships between the classes. The association line also represents a set of links from objects of one class to objects of another class.
  • 10. Object modeling Technique (OMT) OMT Dynamic Model : • OMT provides a detailed and comprehensive dynamic model. • OMT depicts states, transitions, events and actions. • OMT dynamic model is represented by state transition diagram. • OMT state transition diagram is a network of states and events. • Each state receives one or more events. • OMT state transition diagram, makes from transition to the next state. • The next state depends on the current state and events. Dept of CSE, VEC 3/9/2022 10
  • 11. Object modeling Technique (OMT) OMT Dynamic Model : State transition diagram for banking system Dept of CSE, VEC 3/9/2022 11
  • 12. Object modeling Technique (OMT) OMT Functional Model : • OMT data flow diagram shows the flow of data between different processes. • DFD provides a simple method for describing business process without focus on the details. Data flow diagrams use four primary symbols : 1. Process : Any function being performed. Eg.: Verify password. 2. Data Flow : Direction of data element movement. 3. Data Stroe : Location where data are stored. 4. External entity : Source or destination of a data element. Eg : ATM card reader. Dept of CSE, VEC 3/9/2022 12
  • 13. Object modeling Technique (OMT) OMT Functional Model : Data Flow Diagram for ATM system Dept of CSE, VEC 3/9/2022 13
  • 15. The Booch Methodology • Booch methodology is a widely used object-oriented method. • Booch methodology which covers the analysis and design phase of an OO system. • Booch methodology consists of various diagrams :  Class diagrams  Object diagrams  State transition diagram  Module diagram  Interaction diagram • Here state transition and object diagram is given as an example design phase of OO system in Booch Methodology. • Booch methodology uses a macro development process and a micro development process. Dept of CSE, VEC 3/9/2022 15
  • 16. The Booch Methodology The Macro Development Process : • Macro Development Process is a controlling framework for micro process. • The primary focus for macro development process is technical management of the system. • This technical management is responsible for the requirements set for project rather than the object oriented design. The macro development process consists of the following steps: 1. Conceptualization: The core requirements of the system are established. A set of goals are established and develop a prototype to prove the concept. 2. Analysis and development of the model: • Class diagram is used to describe the roles and responsibilities of objects to performing the behavior of the system. • Object diagram is used to describe the behavior of the system in terms of scenarios. • Interaction diagram is also used to describe the behavior of the system in terms of scenarios. Dept of CSE, VEC 3/9/2022 16
  • 17. The Booch Methodology The Macro Development Process : 3. Design or create the system architecture • The class diagram in the design phase is used to decide that classes exist and how they relate to each other. • Then the object diagram is used for specifying mechanisms of object collabration. • Then use module diagram to map out where each class and object should be declared • Finally use process diagram to determine which processor to allocate process 4. Evolution or implementation • Refine the system through many iterations. • Produce a stream of executable files each of which is a refinement of prior one. 5. Maintenance • Make changes to the system to add new requirements and eliminate bugs. Dept of CSE, VEC 3/9/2022 17
  • 18. The Booch Methodology Object Modeling - Booch Technology State Transition Diagram - Booch methodology Dept of CSE, VEC 3/9/2022 18
  • 19. The Booch Methodology The Micro Development Process : • Each macro development process has its own micro development processes. • Micro process is a description of the day-to-day activities by a single or small group of software developers. • The micro development process consists of the following steps : – Identify classes and objects. – Identify class and object semantics. – Identify class and object relationships. – Identify class and object interfaces and implementation. Dept of CSE, VEC 3/9/2022 19
  • 21. The Jacobson Methodologies • Jacobson methologies examples are object-oriented. Business Engineering (OOBE), object-oriented Software Engineering (OOSE) and objectory (usecases). • These examples cover the entire lifecycle and stress traceability between the different phases. • This traceability enables reuse of analysis and design work possibly much bigger factors in the reduction of development time than reuse of code. • Use case concepts are evolved with objectory (object factory for software development) Dept of CSE, VEC 3/9/2022 21
  • 22. The Jacobson Methodologies • Use cases : • Scenarios for understanding system requirements. • It is an interaction between user and a system. • The use case model captures the goal of the user and the responsibility of the system to its users. Dept of CSE, VEC 3/9/2022 22
  • 23. The Jacobson Methodologies • Description of use case – Non formal text with no clear flow of events – Text , easy to read, clear flow of events (Recommended) – Formal style with pseudo code
  • 24. The Jacobson Methodologies The usecase description must contain : • How and when the usecase begins and ends : • The interaction between the usecase its actor, including when the interaction occurs and what is exchanged. • How and when the usecae will store data in the system. • Exceptions to the flow of events. • How and when the concepts of the problem domain are handled. • Every usecase should describe one flow of events. Dept of CSE, VEC 3/9/2022 24
  • 25. The Jacobson Methodologies The usecase description must contain: (Cont..) • An exceptional or additional flow of events could be added. • The usecase model employs extends and uses relationships. • The extends relationship is used when you have one usecase that is similar to another usecase. • The uses relationship reuses common behaviour in different usecases. • Usecases can be viewed as concrete or abstract. • An abstract usecase is not complete and has no actors that initiate it. • Abstract usecases also the ones that have uses or extends relationships. Dept of CSE, VEC 3/9/2022 25
  • 26. The Jacobson Methodologies Object-Oriented Software Engineering - Objectory : • OOSE also called as objectory, is a method of object-oriented development with the aim of developing real-time systems. • The development process, called usecase driven development which involved in several phases including analysis, design, validation and testing. • The usecase scenario begins with a user of the system initiating a sequence of interrelated events. • The system development method based on OOSE, is a disciplined process for the industrialized development of software based on a use-case driven design. Dept of CSE, VEC 3/9/2022 26
  • 27. The Jacobson Methodologies : Object-Oriented Software Engineering - Objectory : (Cont..) • It is an approach to OO analysis and design. • By organizing the analysis and design models around sequences of user interaction and actual usage scenarios, this method produces the system that are more usable and more robust. • Jacobson objectory has been developed and applied to numerous application areas. Dept of CSE, VEC 3/9/2022 27
  • 28. The Jacobson Methodologies Object-Oriented Software Engineering - Objectory : (Cont..) • Objectory is build around several models : • Use-case model :The use-case model defines the outside (actors) and inside (usecase) of the system’s behavior. • Domain object model : The objects of the real world are mapped into the domain object model. • Analysis object model : The analysis object model presents how the source code should be carried out and written. • Implementation model :Represents the implementation of the system. • Test Model :It constitutes the test plans, specifications and reports. Dept of CSE, VEC 3/9/2022 28
  • 29. The Jacobson Methodologies Object-Oriented Software Engineering - Objectory : (Cont..) Usecase model is considered in every model and phase Dept of CSE, VEC 3/9/2022 29
  • 30. The Jacobson Methodologies Object-oriented Business Engineering : • Object-Oriented Business Engineering (OOBE) is object modeling at the enterprise level. • Usecases are the central for modeling, providing traceability throughout the software engineering processes. • Analysis Phase : • The analysis phase defines the system to be built in terms of problem - domain object model, the requirements model and the analysis model. • The analysis process should not take into account the actual implementation environment. Dept of CSE, VEC 3/9/2022 30
  • 31. The Jacobson Methodologies Object-oriented Business Engineering : • This reduces complexity and promotes maintainability over the life of the system, since the description of the system will be independent of hardware and software requirements. • This analysis process is iterative but the requirements and analysis models should be stable before moving to subsequent models. Dept of CSE, VEC 3/9/2022 31
  • 32. The Jacobson Methodologies Design and implementation phases : • Implementation environment must be identified for the design model. • This includes factors such as DBMS, distribution of process, constraints due to the programming language, available component libraries, incorporation of graphical user interface tools. • The analysis objects are translated into design objects. • Testing phase : • Jacobson describes several testing levels and techniques. • The levels include unit testing, integration testing and system testing. Dept of CSE, VEC 3/9/2022 32
  • 34. SOFTWARE QUALITY ASSURANCE • To develop and deliver robust systems, – Each component will behave correctly. – Collective behavior is correct. – No incorrect collective behavior will be produced. • The elimination of the syntactical bug is the process of debugging. • The detection and elimination of the logical bug is the process of testing. Dept of CSE, VEC 3/9/2022 34
  • 35. SOFTWARE QUALITY ASSURANCE Quality Assurance Tests : • After the development of the product, quality assurance test is needed. • Debugging is the process of finding out where something went wrong and correcting the code to eliminate the errors or bugs that cause unexpected results. • Testing and searching for bugs is a balance of science, art and luck. • By selecting appropriate testing strategies and a test plan, the errors in the system can be located and fix them using readily available debugging tools. • A Software debugging system can provide tools for finding errors in progress. Dept of CSE, VEC 3/9/2022 35
  • 36. SOFTWARE QUALITY ASSURANCE Following kinds of errors may encountered: 1. Language (Syntax) Error – incorrectly constructed code (keyword not typed correctly) 2. Run-time errors – error found during program running 3. Logic errors – code does not perform the way you intended Dept of CSE, VEC 3/9/2022 36
  • 37. SOFTWARE QUALITY ASSURANCE • Quality assurance testing can be divided into 2 major categories – Error based testing – Scenario based testing • Error based testing – Search a given class’s method for particular clue of interest – To test this Emp.payroll(hours), try different values for hours (40,30 etc) – Testing boundary condition – Method should handle any value. if not error must be recorded and reported
  • 38. • Scenario based testing – Usage based testing – Concentrates on what user does, not what the product does – Capturing usecases and the task users perform, then performing them and their variants as tests – Can identify interaction bugs – More complex than error-based test
  • 39. Testing Strategies : • The extent of testing a system is controlled by many factors, such as • Risks involved • Limitation on resources • Deadlines • To resolve these issues, a best testing strategy must be deploy to find defects in a product within the given constraints. Many testing strategies are used : • Black box testing • White box testing • Top-down testing • Bottom-up testing
  • 40. SOFTWARE QUALITY ASSURANCE Black box testing : • The concept of the black box is used to represent a system whose inside working are not available. • Black box is an imaginary box that hides its internal workings • The test item is treated as “black”, since its logic is unknown. So this testing is defined as black-box testing. • All that known is input and output. Dept of CSE, VEC 3/9/2022 40
  • 41. SOFTWARE QUALITY ASSURANCE White-box Testing : • White-box testing assumes the specific logic is important and must be tested to guarantee the system proper functioning. • The main use of white box testing is in error-based testing. • In white box testing, bugs have a low probability of execution. • One form of white-box testing called path testing, makes certain that each path in a object method is executed atleast once during testing. Dept of CSE, VEC 3/9/2022 41
  • 42. SOFTWARE QUALITY ASSURANCE Two types of white-box testing (or) path testing : • Statement testing coverage • Branch testing coverage Statement testing coverage • Test every statement in the object’s method by executing it atleast once Branch testing Coverage : • Main aim is to perform enough tests to ensure that every branch alternative has been executed atleast once under some test. • It is unfeasible to fully test program of considerable size. Dept of CSE, VEC 3/9/2022 42
  • 43. Top-down testing : • Top-down testing assumes that the main logic or object interactions and systems messages of the application need more testing than an individual object’s method or supporting logic. • A top-down strategy can detect the serious design flaws. • Top-down testing should find critical design errors early in the testing process and significantly improve the quality of the delivered software because of the iterative nature of the test.
  • 44. SOFTWARE QUALITY ASSURANCE Bottom-up Testing : • Bottom-up testing starts with the details of the system and proceeds to higher levels by a progressive aggregation of details until they fit the requirements for the system. • It is appropriate for testing the individual objects in a system. • Initially test each object. • Then combine each object and test their interaction and the messages passed among objects. • Bottom-up testing start with the methods and classes. • Then progress to the next level. • Then combine bottom two layers. • Proceed until you are testing the entire program. • Bottom-up testing leads to integration testing which leads to system testing. Dept of CSE, VEC 3/9/2022 44
  • 45. IMPACT OF OBJECT ORIENTATION ON TESTING • The impact of an object orientation on testing is summarized as : – Some types of errors could become less probability. – Some types of errors could become more probability. – Some new types of errors might appear. • The process of testing variable uses in OOD essentially does not change, but the user has to decide – What needs testing? – Has the possibility of faults changed? – Some types of fault are less feasible or more feasible. – There are more opportunities for integration faults. Dept of CSE, VEC 3/9/2022 45
  • 46. IMPACT OF OBJECT ORIENTATION ON TESTING • Consider this eg: • The base class A contains methods square( ) and rectangle( ) and the derived class B redefines the rectangle( ) method. • The B::rectangle( ) has to be tested because it is a new code. • Does B::square( ) have to be retested? • If it uses rectangle( ) and the rectangle( ) has changed, the B::square may mishandle the new behaviour. • So it needs new tests even though the B::square( ) itself has not changed. • If the A:square has been changed, the B::rectangle( ) may not have to be completely tested. • If the OOD guidelines do not follow, the objects are hard to debug and maintain. Dept of CSE, VEC 3/9/2022 46
  • 47. IMPACT OF OBJECT ORIENTATION ON TESTING Reusability of tests : • If A::rectangle( ) and B::rectangle( ) are two different methods with different protocols and implementations. • Each needs a different set of test requirements derived from the usecases, analysis, design or implementation. • But the methods are likely to be similar. • Write new tests only for those B::rectangle requirements which is not satisfied by the A::rectangle tests. • If the A::rectangle tests is apply to objects of the class B, the test inputs may be appropriate for both classes. – But the expected results might differ in the derived class. • Marick argues that test is more likely to be reusable in subclasses. – Simple tests are used to find only the faults. – Complex tests are better at both finding those faults and shuffling across others. Dept of CSE, VEC 3/9/2022 47
  • 48. TEST CASES TEST CASES • To have a comprehensive testing scheme, the test must cover all methods or a good majority of them. • All the services of your system must be checked by atleast one test. • To test a system, construct some test input cases, then describe the output. • Next, perform the tests and compare the outcome with the expected output. • The usecases developed during analysis can be used to describe the usage test cases. • Tests always should be designed from specifications. The objective of testing as follows: • Testing is the process of executing a program with the intent of finding errors. • A good test case is the one that has a high probability of detecting an undiscovered error. • A successful test case is the one that detects an undiscovered error. Dept of CSE, VEC 3/9/2022 48
  • 49. TEST CASES Guidelines for Developing Quality Assurance Test Cases : • Basically a test case is a set of what-if questions. • Freedman and Thomas developed guidelines – Describe which feature or service your test attempts to cover. – If the test case is based on a usecase, it is good idea to refer to the usecase name. Remember that the usecases are the source of test cases. The software is supposed to match the usecases. If we have enough of usecases, write the test plan. – Specify what we are testing and which particular feature (methods). Dept of CSE, VEC 3/9/2022 49
  • 50. TEST CASES Guidelines for Developing Quality Assurance Test Cases : (Cont..) – Specify what is the input for test feature and what will be the output. – Test the normal use of the object’s methods. – Test the abnormal but reasonable use of the object’s methods. – Test the abnormal and unreasonable use of the object’s methods. – Test the boundary conditions. – Test object’s interactions and the messages sent among them. Sequence diagram is useful for this process. – Whenever the revisions have been made, document the cases so they become the starting basis for the follow-uip test. – Attempting to reach agreement on answers will raise other what-if questions. Add these to the list and answer them, repeat the process until the list is stabilized. Dept of CSE, VEC 3/9/2022 50
  • 51. TEST CASES Guidelines for Developing Quality Assurance Test Cases : (Cont..) – The quality of the software, such as its reusability and extendability should be assessed. – The reusability and extendability are more difficult to test. – Reuse is widely desired and often the benefit of utilizing object technology. – Many object-oriented reuse efforts fail because of little focus on technology rather than the policies set by an organization. – Software assets are consistently used and maintained to obtain high levels of reuse, which optimize the organization’s ability to produce high-quality software products. – Specifying result is difficult for the development of test cases. – During testing, it is important to alert the person running them that failure is expected. Dept of CSE, VEC 3/9/2022 51
  • 52. TEST CASES Guidelines for Developing Quality Assurance Test Cases : (Cont..) We are testing a File open feature Specify the result as follows : • 1. Drop down the file menu and select open. • 2. Try opening the following types of files : – A file that is there (should work) – A file that is not there (should get an Error message). – A file name with international characters (should work). – A file type that the program does not open (should get a message or conversion dialog box) Dept of CSE, VEC 3/9/2022 52
  • 53. TEST PLAN • In the real world, it may be a good idea to use a test plan and find bugs and remove it. • A test plan is developed to detect and identify potential problems before delivering the software to its users. • A test plan offers a road map for testing activities, whether usability, user satisfaction or quality assurance tests. • The test plan need not be very large. Dept of CSE, VEC 3/9/2022 53
  • 54. TEST PLAN The following steps are needed to create a test plan: 1. Objectives of the test : • Create the objectives and describe how to achieve them. • For eg: if the objective is usability of the system, that must be stated and how to realize it. • Most software companies use beta testing, in-expensive and effective way to test software on a select group of the actual users of the system. • Alpha testing, where testing is done by programmers, software engineers and internal users. Dept of CSE, VEC 3/9/2022 54
  • 55. TEST PLAN 2. Development of a test case : • Develop test data, both input and output based on the domain of the data and the expected behaviors that must be tested. 3. Test Analysis : • This step involves the examination of the test output and the documentation of the test results. • If bugs are detected, then this is reported. • After debugging, steps 1 through 3 must be repeated until no bugs can be detected. • All passed tests should be repeated with the revised program, called regression testing. • It can discover errors introduced during the debugging process. • When sufficient testing is believed to have been conducted, this fact should be reported and testing for this specific product is complete. • A good test plan is one of the strongest tool. Dept of CSE, VEC 3/9/2022 55
  • 56. TEST PLAN 3. Test Analysis : (Cont..) It gives the clear view about, – What will be tested? – How it will be tested? – Intended schedule. • Use test plan as a checklist, to make sure that we do not forget to test any features. • For a small application, the designer team will develop the test plan and test cases. • Many organizations have a separate team, such as a quality assurance group, that works closely with the design team and is responsible for these activities. Dept of CSE, VEC 3/9/2022 56
  • 57. TEST PLAN Guidelines for developing test plans : • As software gains complexity and interaction among programs. • A good test plan not only prevents overlooking a feature. • The following guidelines have been developed by Thomas for writing test plans. – Requirements which are used that dictate a specific appearance or format for your test plan. These requirements may be generated by the users. Whatever the appearance of your test plan, by to include much possible details about the test. Dept of CSE, VEC 3/9/2022 57
  • 58. TEST PLAN Guidelines for developing test plans : • The test plan should contain a schedule and a list of required resources. List how many people will be needed. When the testing has to be done. What are the equipments will be required. • After the determination of what types of testing are necessary (such as blackbox, whitebox, top-down or bottom-up testing) document the specification of what the user has to do. • The level of detail in your plan may be driven by several factors such as: – How much test time to you have? – Will you use the test plan as a training tool for newer team members? Dept of CSE, VEC 3/9/2022 58