You are on page 1of 12

By

Yechuru Chandra Sekhar


DPC37 (172737)

To
Mr.Kamalakar Sir (HOD)
Dept.of.Comp Sci
 A software is a computer programs along with
the associated documents and the
configuration data that make these programs
operate correctly.

 A program is a set of instructions (written in form


of human-readable code) that performs a specific
task.
 Software engineering is an engineering
discipline that’s applied to the development of
software in a systematic approach (called a
software process).

 It’s not only concerned with the technical


process of building a software, it also includes
activities to manage the project, develop tools,
methods and theories that support the software
production.
 Computers were invented in the 1940’s
 Then - computing programming languages were
invented
 Eventually - program language training was
developed
 However, training was unable to provide sufficient
methods & techniques for developing large
reliable systems on time & within budget
 By the late 1960’s, digital computers were less than
25 years old and already facing a software crisis
 Software Engineering term first emerged as title of
a 1968 NATO conference
System Requirements Software
Design Testing Integration Maintenance
Engineering Analysis Implementation

Verification & Validation

 Waterfall
 Incremental
 Spiral
Systems
Engineering
Req
Analysis

Design

Code

Test

Integration

Maintenance
 Waterfall was the first formal life-cycle. With the
waterfall methodology, each phase is completed
before the next is started. Each phase produces
products that are used in the next phase.
 It was developed in the early 70’s when projects
were simpler and smaller in scope. It ran into
problems with larger projects where all the
requirements were not known prior to design or the
requirements changed frequently.
 This life-cycle methodology is appropriate only for
small projects whose requirements are well
documented and understood.
Systems Rqmts.
System Implementation Maintenance
Eng Analysis

Rqmts
Build 1 Design Code Test Integrate
Analysis

Rqmts
Build 2 Design Code Test Integrate
Analysis

Rqmts
Build 3 Design Code Test Integrate
Analysis
 The incremental life-cycle is an adaptation of the
waterfall model. This life-cycle methodology is
used for more complicated systems and systems
where all the requirements are not known up front.
 It breaks large projects into a series of smaller
deliverables called builds.
 In the later builds, requirements can be added based
on customer feedback on the earlier builds.
 It also provides the opportunity to deliver limited
functionality early in the project.
Determine Evaluate alternatives,
objectives, identify, resolve risks
alternatives,
constraints

Risk
Analysis

Risk Mitigation

Concept of
operation
Requirements
analysis
Design
Implementation
and test

Plan next phases Develop, verify


next level product
 The spiral life-cycle is a further refinement of the basic
waterfall model and was first published in 1988.
 The figure shows a model that consists of a series of
learning cycles that begin with defining the objectives
and then performing a risk assessment to identify areas
of greatest uncertainty in the project.
 The number of iterations through the cycle varies based
on the uncertainty of the problem.
 Simple problems take one pass and look very much like
a standard waterfall life-cycle.
 More complicated problems may involve several passes
through the cycle to resolve uncertainty to an acceptable
level.

You might also like