unit1
unit1
KCS-601
B.Tech CS/Year-III Sem-VI
UNIT-1
Text Books:
1.Software Engineering, A practitioner’s approach Roger s. Pressman 6th
edition McGraw-Hill
2
Engineering approach to develop software
3
Software Crisis
5
Factors contributing to the Software Crisis
6
Software Crisis
7
Software Crisis
failure success
31% 16%
over budget
53% 8
Some Software Failures
Ariane 5
Y2K Problem
1
1
Some Software Failures
Financial Software
1
2
Some Software Failures
Windows XP
1
3
Problem Domain
1
4
Software
1
6
Software Components
Program : source code, object code
1
7
Software Product
2
0
Software is Expensive
2
1
Late & Unreliable
2
2
Maintenance and Rework
Corrective Maintenance
Adaptive Maintenance
2
3
Software Engineering
Software engineering is an engineering discipline which is
concerned with all aspects of software production
2
6
Software Characteristics
2
7
Software Characteristics
2
8
Software Characteristics
3. Reusability of components.
4. Software is flexible.
3
0
Software Characteristics
Sr. Constructing a bridge Writing a program
No
3. The requirement for a bridge typically do Requirements typically change during all
not change much during construction phases of development.
4. The strength and stability of a bridge can be Not possible to calculate correctness of a
calculated with reasonable precision program with existing methods.
5. When a bridge collapses, there is a When a program fails, the reasons are often
detailed investigation and report unavailable or even deliberately concealed.
6. Engineers have been constructing bridges Developers have been writing programs
for thousands of years for 50 years or so.
3
3
Productivity
3
4
Quality
3
5
Consistency & Repeatability
Sometimes a group can deliver one good software system,
but not a second
Key SE challenge: how to ensure that success can be
repeated ?
SE wants methods that can consistently produce high
Quality SW with high Productivity
A SW org, wants to deliver high Q&P consistently across
projects
Frameworks like
Inter. Org. for Standardization (ISO-9001) and
Capability Maturity Model (CMM)
focus on this aspect
3
6
Change
3
7
Software Engineering Approach
• Q&P are the basic objectives to be achieved Consistently
for large scale problems
3
8
SE Methodology
• SE focuses mostly on processes for achieving the goals
4
3
Characteristics of Software Process
• It is decomposition in nature.
4
6
Similarity from Conventional Engineering
Process
• The steps of engineering design process are used in the process of
problem solving in the field of engineering.
These steps, which are mostly iterative, are: (1) Problem
formulation, (2) Problem analysis, (3) Search for alternatives, (4)
Decision, (5) Specification, and (6) Implementation.
• Design: - The goal of the design phase is to transform the requirements specified
in the SRS document into a structure that is suitable for implementation in some
programming language . Design specification Document is outcome of this phase.
• Coding and unit testing:-The purpose of the coding and unit testing phase
(sometimes called the implementation phase) of software development is to
translate the software design into source code. Each component of the design is
implemented as a program module. The end-product of this phase is a set of
program modules that have been individually tested. Code Listings are generated
5
0
after this phase.
Software Development Life Cycle (SDLC)
5
1
Software Development Life Cycle (SDLC)
5
4