Software: The programs, routines and symbolic
language that controls the functioning of the
hardware and direct its operation.
Engineering: The application of scientific and
mathematical principals to practical ands such as
the design, manufacture & operation of efficient
and economical structures, machines, processes
Software Engineering: A systematic
approach to the analysis, design,
implementation and maintenance of
1. Conventional Methods of
Analysis Concepts and Principals
Design Concepts and Principals
User Interface Design
Analysis concepts and
Understand the Information domain of
Define the functionalities of the S/W
Represent the behavior of the S/W
Partition the models that models that
depict information, function and
State Transition Diagram
Design Concepts & Principals
Relationship among structural elements
Procedural description of S/W components
2. Software Project
Four P’s of Project Management
People must be organized into effective
terms, motivated to do high-quality s/w work
and coordinated to do effective
The Product requirements must be
communicated from customer to developer,
partitioned into their constituent parts and
positioned for work by the software team.
The Process must be adapted to the people
and the problem
The Project must be organized in a manner
that enables the software team to succeed.
The Project Management also includes
Measurement and metrics estimation, risk
analysis, schedules, tacking and control.
Measurement enables to improve the
software process, assist in planning,
tracking and control of a software
project and assess the quality of the
product that is produced.
Measures of specific attributes of the
process, project and product are used
to compute S/W metrics.
Metrics is a quantitative measure of the
degree to which a system, component
or process posses a given attribute.
Size Oriented Metrics (LOC)
Function Oriented Metrics (FP)
Use Case Oriented Metrics (Use
Depends on Similar Projects
Function point sizing
Standard component sizing
Problem based Estimation
LOC- based Estimation
FP- based Estimation
Process- based Estimation
LOC- oriented estimation models
E = 5.2*(KLOC)0.91
E = 5.5+.73*(KLOC)1.16
E = 3.2+(KLOC)1.05
Boehm simple Model
E = 5.288+(KLOC)1.047
Doty Model for KLOC >9
E is effort in person months
1.1 Identify Need
2 Project Estimate
3 Risk Management Strategy
5 Project Resources
6 Staff Organization
7 Tracking and Control Management
What can go wrong ?
What is the likelihood (Probability) ?
What will the damage be (Impact) ?
What can we do about it ?
Reactive Rick Management
Project team reacts to risks when they occur
Mitigation – plan for additional resources in
anticipation of fire fighting
Fix on failure - resources are found and
applied when the risk strikes
Crisis management - failure does not
respond to applied resources and project is in
Proactive Risk Management
Formal risk analysis is performed
Organization corrects the root causes of
TQM concepts and statistical SQA
Examining risk cources that lie beyond the
bounds of the s/w
Developing the skill to manage change
Risk Management Paradigm
3. Software Quality
Conformance to explicit and implicit
Striving for excellence in reliability and
functions by continuous [process]
improvement, supported by statistical
analysis of the causes of failure.
A Quality Metric
E = total errors found before delivery
D = total defects found after delivery
Defect removal efficiency (DRE) =
E / (E+D)
S/w Quality is achieved through a disciplined
approach called Software Engineering
S/w Quality can be defined, described, and
S/w Quality can be assessed before any code
has been written
S/w Quality cannot be tested into a product
Software Quality Assurance
To improve s/w quality by monitoring
both the process and the product
To ensure compliance with all local
standards for software engineering
O ensure that any product defect,
process variance or standards
noncompliance is noted and fixed
Formal Technical Reviews
A meeting conducted by technical
people for technical people
A technical assessment of a work
product created during the s/w
A S/w Quality Assurance mechanism
A training ground
Establish Review Guidelines
The review meeting
Review reporting and record keeping
What is Software Testing?
Any activity aimed at evaluating an
attribute or capability of a program or
system, to verify that it meets its required
It is the process of executing software in a
Testing is the process of executing a
program with an intent to find errors.
A process of verification and validation.
IEEE-Definition of Testing
“The process of exercising or evaluating a
system by manual or automatic means to
verify that it satisfies specified requirements
or to identify differences between expected
and actual results.”
Steps in Testing
Determine the goals and what is to be
measured in the test
Satisfy the Requirements
Decide how to test
Steps in Testing (contd...)
Develop test plans and test cases
Determine the expected results
Execute the test cases
Compare the results
Levels in Software Testing
Individual units are tested
Confirms the module is coded correctly
Types are Black Box testing & White Box testing
Test the sub systems and modules and its
Checks if they function properly and meet the
Levels in SoftwareTesting
Black box Testing.
Entire system is tested as an entity.
User Acceptance Testing
Testing the finished product with respect to the
Points to remember while Testing
Testing is the process of executing a program to find
It is impossible to test any module or system
There are practical and theoretical limitations.
Correcting an error can introduce another error.
Testing can prevent errors. Find them early.
Testing is best done by independent testers.
Generally the person who codes the module carries
out the Unit Testing
Why is Testing required?
Developers are not infallible
Requirement implications are not seen
Find the bugs and limitations
Post release debugging is too expensive
Reputation,sales,operations all affected
Test case design challenging, rewarding
Good testing gives confidence in work
Systematic test is effective
Deviation from specification or standard
Anything that causes customer dissatisfaction
Test phase of life cycle. It is the process of checking if what
has been specified, is what the user actually wanted.
Quality control activity. It is the checking or testing of items,
including software, for conformance and consistency with an