Software Modelling and Design: Unit IIII
Software Modelling and Design: Unit IIII
Software Modelling and Design: Unit IIII
Unit IIII
Translating requirement model into design model
• The Control Specifications (CSPEC) is used to indicate (1) how the software
behaves when an event or control signal is sensed and (2) which processes are
invoked as a consequence of the occurrence of the event.
• The process specification describes the input to a function, the algorithm, the
PSPEC indicates restrictions and limitations imposed on the process (function),
performance characteristics that are relevant to the process, and design
constraints that may influence the way in which the process will be implemented.
• Example: One object can relate to only one other object (a 1:1
relationship);
Example:
Width‖ (a single value) would not be a valid data object, but
dimensions (incorporating height,width and depth) could be
defined as an object.
Attributes
1.Defination
• Domain Analysis is the process that identifies the
relevant objects of an application domain.
• The goal of Domain Analysis is Software Reuse.
• The higher is the level of the life-cycle object to
reuse, the larger are the benefits coming from its
reuse, and the harder is the definition of a workable
process.
2. Concept and technical application domain of the software
(a) Frameworks are excellent candidates for Domain Analysis: they are at a
higher level than code but average programmers can understand them.
(a) Figure shows the flow of the input and the output data
in the domain analysis module.
(b) The main goal is to create the analysis classes and
common functions.
(c) The input consists of the knowledge domain.
(d) The input is based on the technical survey, customer
survey and expert advice.
(e) The output domain consists of using the input as the
reference and developing the functional models
Design Modeling
Software design is an iterative process through which requirements are translated into a
―blueprint‖ for constructing the software.
There are three characteristics that serve as a guide for the evaluation of a good design:
1. The design must implement all the explicit requirements contained in the requirements
model, and it must accommodate all the implicit requirements desired by stakeholders.
2. The design must be a readable, understandable guide for those who generate code and
for those who test and subsequently support the software.
3. The design should provide a complete picture of the software, addressing the data,
functional and behavioral domains for implementation.
Modularity :
• At the highest level of abstraction, a solution is stated in broad terms using the
language of the problem environment. At lower levels of abstraction, a more
detailed description of the solution is provided. As we move through different
levels of abstraction, we work to create procedural and data abstractions.
Software Tester
Software Developer
Project Lead/Manager
End User
What is Software Testing?
Software testing is defined as an activity to check whether
the actual results match the expected results and to ensure
that the software system is Defect free.
• Unit testing
• Integration Testing
• Validation Testing
• System Testing
Unit testing
Unit testing starts at the center and each unit is implemented in source code.
Integration testing
An integration testing focuses on the construction and design of the software.
Validation testing
Check all the requirements like functional, behavioral and performance
requirement are validate against the construction software.
System testing
System testing confirms all system elements and performance are tested
entirely.
UNIT TESTING
• It is a level of software testing where individual units/ components of
a software are tested.
• A unit is the smallest testable part of any software.
• It is performed by using the White Box Testing method.
Advantages:
• Reduces Defects in the Newly developed features or reduces bugs
when changing the existing functionality.
• Reduces Cost of Testing as defects are captured in very early phase.
• Improves design and allows better refactoring of code.
• Unit Tests, when integrated with build gives the quality of the build
as well.
Test Documentation
• A test case template is a document comes under one
of the test artifacts, which allows testers to develop
the test cases for a particular test scenario in order
to verify whether the features of an application are
working as intended or not.
• Structure
1. Testing Process
2. Requirement Traceability
3. Tested Items
4. Testing Schedule
5. Test Recording Procedure
6. Hardware and software requirement
7. Constraints
Defect Report
• DEFECT REPORT is a document that identifies
and describes a defect detected by a tester.
The purpose of a defect report is to state the
problem as clearly as possible so that
developers can replicate the defect easily and
fix it.
Defect Report Template
Module Specific module of the product where the defect was detected.
Detected Build Build version of the product where the defect was detected
Version (e.g. 1.2.3.5)
Steps to Replicate Step by step description of the way to reproduce the defect.
Number the steps.
Actual Result The actual result you received when you followed the steps.
Assigned To The name of the person that is assigned to analyze/fix the defect.
Fixed Build Version Build version of the product where the defect was fixed (e.g. 1.2.3.9)
Test Summary Report
Test Summary Report Identifier