0% found this document useful (0 votes)
32 views

SE Chapter 3 Software Development Life Cycle

The document outlines the Software Development Life Cycle (SDLC) and its various methodologies, emphasizing the importance of structured processes in software engineering. It details the stages of SDLC, including investigation, analysis, design, development, testing, implementation, and maintenance, while also discussing different models like Waterfall, Prototyping, and Spiral. Each model has its advantages and disadvantages, with a focus on user interaction and feedback throughout the development process.

Uploaded by

sagarmeravi563
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

SE Chapter 3 Software Development Life Cycle

The document outlines the Software Development Life Cycle (SDLC) and its various methodologies, emphasizing the importance of structured processes in software engineering. It details the stages of SDLC, including investigation, analysis, design, development, testing, implementation, and maintenance, while also discussing different models like Waterfall, Prototyping, and Spiral. Each model has its advantages and disadvantages, with a focus on user interaction and feedback throughout the development process.

Uploaded by

sagarmeravi563
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

Vidya Pratishthan’s , Arts, Science & Commerce College, Baramati.

DEPARTMENT OF COMPUTER SCIENCE/APPLICATION

3 Software Development Life


Cycle

Class: S.Y.B.B.A(C.A.)

Assistant Prof. Akshay B.


Bhosale
Department of Computer
Science/Applications
Introduction
 In this chapter deals with different software development methods.
Method is nothing but a process. The concept of process is the brain
of software engineering.
 Software development is a social learning process. The process
provides the interaction between user and designers between the
users and evolving tools and between designers and technology.
 Software development is the interactive process. It is a set
activity together with ordering constraint among them such
that if the activities are performed properly and in
accordance with the ordering constraint the desired result is
produced.
 Software development methodologies are used for computer
information systems. The computer information systems serve
different purpose it provides the information needed to take decisions
2
SDLC (System Development Life
Cycle)/Classical Model:
Activities of SDLC
SDLC is set of activates that analyst, designers and users are

carry out o develop and implement the system.


Various activates carried out by SDLC are as follows…

1.Investigation

2.Analysis

3.Design

4.Development

5.Testing

6.Implementation

7.Maintenance
3
SDLC (System Development Life
Cycle)/Classical Model:
Activities of SDLC

4
SDLC (System Development Life
Cycle)/Classical Model:
 SDLC is well defined process by which a system is
conceived, developed and implemented. It recognizes the
existence of a life cycle. SDLC concentrates on feasibility
analysis, cost-benefit analysis, project management,
hardware and software selection and personal
considerations.
 SDLC is performed in two steps. The two steps are :

1. System Analysis
2. System Design
System analysis and system design involve six stages.

5
SDLC (System Development Life
Cycle)/Classical Model:

6
SDLC (System Development Life
Cycle)/Classical Model:
Problem Identification/Preliminary Investigation:
System analysis is identifying the real problem of the existing
system. Experienced analysts spend considerable time in this
task. Without understanding of the problem in the system any
further work done will lead to wastage of time and energy at a
later stage. To identify the real problem several questions must
be asked for example.
1.What is the actual problem ?

2.What are the causes for this problem ?

3.What are the likely solutions to this problem ?

4.Is it important to solve this problem ?

5.How complex it is ?
7
SDLC (System Development Life
Cycle)/Classical Model:
Problem identifications also include identifying the possible
opportunities like new market potential new market
technology etc.
Advantages of Problem identification :
1.It helps in problem-solving.

2.Setting proper goals.

3.Determines the boundaries of the project.

Before any further steps can be taken up, the problem must
be stated in clear and unambiguous words

8
SDLC (System Development Life
Cycle)/Classical Model:
Feasibility study and cost benefit analysis :
Feasibility study carried out whether there is complex problem.
A feasibility study is undertaken to determine the possibility or
probability of either improving the existing problem or
developing a completely new system. The feasibility study is
needed to.
1. Answer the question whether a new system is to installed or
not?
2. Determine the potential of the existing system.
3. Improve the existing system.
4. Define the problems and objectives involved in a project.
5. Avoid crash implementation of a new system 9
SDLC (System Development Life
Cycle)/Classical Model:
There are three aspects of feasibility study which should be
check.
a) Technical feasibility: This feasibility determines whether
it is possible to develop the project with available equipment,
available software technology and the manpower. If there is
any kind of need in order to develop software in this case the
cost of hardware, software and technical equipment are
considered.
b) Economic feasibility: In this the benefit of the system
are considered. Actually the cost benefit analysis is done. The
costs must include both one time costs and recurring costs.

10
SDLC (System Development Life
Cycle)/Classical Model:
One time costs may include:
1.Feasibility study cost.

2.The costs for converting from present system to new


system.
3.Construction or remodeling of computer room/facilities.

4.Cost involved in software packages.

Recurring costs may include:


1.Rental or purchase of equipment's.

2.Salaries of personal.

3.Supplies.

4.Equipment maintenance.
11
SDLC (System Development Life
Cycle)/Classical Model:
c) Operational feasibility: After implementing the system
the training program are arranged for the users. This is
carried out by people who are familiar with information
system as well as the techniques. They are experienced
persons like system analyst or managers. The cost of the
training program as well as space requirement for the
implementation of the system and the other assets are
considered.

12
SDLC (System Development Life
Cycle)/Classical Model:
System Requirements:
Requirement analysis is the determination of the requirements for a
new system. The system analyst has determined that a problem
exists and has obtained permission to do something about it then
the requirements analysis can begin. Requirement analysis for the
new system should identify the user requirements first.
The requirement analysis will determine.
1.What outputs are needed ?

2.What inputs are needed to obtain these outputs ?

3.What operations it must perform to obtain these outputs ?

4.What resources must be used ?

5.What operational and accounting controls are needed ?


13
SDLC (System Development Life
Cycle)/Classical Model:
System Design Specifications and Programming:
This phase defines the way how a system will meet the
requirements which are identified during analysis of a system.
This process is independent of hardware and software
environment.
System designing is divided into two parts like logical and
physical design.
The design of the system produces the details that the state
how a system will meet the requirements identified during
systems analysis. This stage is called as logical design.
The process of developing of program software called as
Physical design. 14
SDLC (System Development Life
Cycle)/Classical Model:
System Design Specifications and Programming:
System design phase is started by identifying the reports and
other output formats, document that system will produce.
Screen designing, report designing, output designing and
form designing are parts of the logical design.
The overall logic of the system is considered by representing
logical model of the system.
Designer also selects the file structure, storage devices etc.
The system design specification contains charts, table and
trees. i.e. special symbol. By using tree, programmers write
the code. The designer is responsible for monitoring these
design documents.
15
SDLC (System Development Life
Cycle)/Classical Model:
System Testing:
During testing phase the system is used experimentally to
ensure that the software doesn't fail and should run according
to the user specifications with desired level of accuracy.
Special test data is generated and different testing method
can be followed to test the system properly.
This system is shown to the user and asked for suggestions.
According to the users feedback the system can be modified
and retested before implementing.

16
SDLC (System Development Life
Cycle)/Classical Model:
Implementation, Follow up and Maintenance:
Implementation is a process in which you have to first train user,
install the new application and run the actual system with the
manual system. It checks whether both system gives proper results
while executing parallel.
It includes following activities.
1.Preparation and planning of schedule for the implementation.

2.Installing software.

3.Hardware checking.

4.Recruitment of the operational personnel.

5.User’s training, Seminars, meetings.

6.Operation and production.


17
SDLC (System Development Life
Cycle)/Classical Model:
Implementation, Follow up and Maintenance:
After a new system has been implemented it should be
maintained properly means maintenance of hardware,
software, data as well as other technical equipment.
The system maintenance may be because of any of the
following reasons.
1.Minor charges in the processing logic.

2.Error detected during the processing.

3.Revision of data input formats.

4.Revision of report formats.

18
SDLC (System Development Life
Cycle)/Classical Model:
Evaluation of the system:
Evaluation is nothing but feedback for the system. This is the final
checkpoint of SDLC. It identifies strengths and weakness of a
system.
It includes.
1. Development evaluation : In this decides whether system is
developed on time and within the budget. It includes assessment of
development methods and tools.
2. Operational evaluation : In this it considers response time,
ease of use, reliability of computation and storage capacity.
3. User Management Assessment evaluation : In this
evaluation include attitude of senior and user managers of the
organizations as well as end users.
19
Software Development Life Cycle Models
Many Development life cycle models have been proposed.
Each of them has some advantages as well as some
disadvantages
A few important and commonly used life cycle model are as
follows
1.Waterfall Model

2.Prototype Model

3.Spiral Model

4.Incremental Model

5.V and V Model

6.RAD Model

7.JAD Model
20
Waterfall Model

The waterfall model is the first model of the software life


cycle was introduced by Winston Royce in 1970.
It is also called as classical life cycle/linear sequential
model.
In a waterfall model the process is structured as a waterfall of
phases where the output of one phase is the input to the next
one.
Each phase is structured as a set of activities that might be
executed by different people concurrently (Acting together).

21
Waterfall Model

22
Waterfall Model

23
Waterfall Model
Waterfall model prescribes a sequential, linear flow among
phases outputs of each phase must be produced using
standards.
If output of any phase is wrong it may affect the subsequent
phases.
Waterfall model is also useful to measure the progress of the
project as it is easy to check whether a certain output is
delivered exactly on the date when it was expected.
The main activities are already discussed. Here we will have a
overview of each point again.

24
Waterfall Model
Preliminary investigation: The requirements of all system
elements and then allocate some subset of those
requirements to software.
Requirement Analysis: The system analyst must
understand the information domain for the software as well
as the required function, performance and interfacing.
System Design: The design process translates requirement
into a representation of the software that can be assessed for
quality before coding begins.
System Coding: The design must be translated into a
machine readable form.
25
Waterfall Model
System Testing:
This process focus on the logical internals of the software and
Software Development Methodologies functional externals.
Implementation & System maintenance:
System Implementation includes the activities like planning
and preparation of schedule for the implementation,
Hardware checking, Installing software etc. System should be
maintained properly. Because of any of the reasons. Minor
Changes in the processing logic, Errors detected during the
processing, Revision of data input and reports format

26
Waterfall Model
In order to decide whether or not to use the waterfall model
for a project it is necessary to understand both its strengths
and weakness.
Strengths:
1.The waterfall model is document oriented i.e. design
documentation, code documentation, database manual, and
user’s manual, operational manual etc.
2.It easier for maintenance.

3.The waterfall model easily understood.

4.The water model reflects engineering manner.

27
Waterfall Model
Weakness:
1.The documentation is also a disadvantage because the user

does not understood and cannot contribute properly during


any change.
2.The time and cost estimates with limited amount of
information in the beginning results in faulty estimates of the
project.
3.Waterfall model is easy to understand but difficult to follow
particularly in projects, which require fast results.

28
Prototyping Model:
A Prototyping is a working model of an information system application. It
gives just idea of the system. It does not contain all features or perform
all the necessary functions of the final system. Customer evaluates the
prototype and then suggests what changes needed in the system. It
does not require lot of cost to build.
It can prepare by pen and pencil or computer software like screen
generators, report generators and application generators.
Prototype is useful when
nThe requirements are difficult to specify in advance.

nThe requirements may change significantly during development

nA totally manual system is proposed.

nThe ideas and assumptions about a new system are to be

experimented quickly by the user at less cost.


nPrototyping is a user friendly interactive process.
29
Prototyping Model:

30
Prototyping Model:
Steps in Prototyping:
1.Identify the user’s basic requirements and the features

needed in the system.


2.Develop a working model

3.Give it to user; user uses the prototype nothing to needed


enhancement and changes which expands the list of system
requirements.
4.Revise the prototype based on information gain through user
experience
5.Repeat these steps as needed to achieve a satisfactory
system, means features meet with users requirements .

31
Prototyping Model:
Steps in Prototyping:
After examine the prototype model by users one of the
following alternative is selected.
1.The prototype is selected.

2.The prototype is redeveloped.

3.The prototype implemented.

4.The project is cancelled.

5.Another prototype series is beginning. With prototype speed


of development is more important than processing efficiency.
We compare the classic model with prototyping the following
difference we can see where error detection is done in
different ways.
32
Prototyping Model:

Benefits of prototype model :

1.Missing user services may be detected.


2.Misunderstanding between software developer and users
may be identified as the system functions are demonstrated.
3.It saves time in system development.

4.Encourages the communication between developer and user.

5.The prototype serves as a basic for writing the specifications


for a production quality system.

33
Prototyping Model:
Tools for prototyping: There are three tools.
1.Screen generators: Automatically input validations are
prepared. It is useful to show the location of data entry filed,
display fields, headings of columns, labels, messages, colors,
fonts etc.
2.Report generators: The records from various files are

extracted from the existing database and their reports are


generated with some format.
3.Application generators: There are software programs that

permit the specification of an entire application at a very high


level

34
Spiral Model:
The spiral model was originally proposed by Boehm in 1988.
It is also called as ‘Risk management’ or ‘Process model’.
Each software process is a sequence of activities with some backtracking
from one activity to another the process is represented as a spiral.
Each stage is in the spiral represents a phase of the software process.
The spiral model is useful in the following situations.
1.When development of a project starts it may be possible that work may

not be stopped due to any reason. If such situation arises what step must
be taken to solve such problem should be known.
2.Which path should be followed for a particular procedure must be known

in advance to the development team. Because of this work will not be


stopped in the middle.
3. This model guides the risk in the project. Risks are concerned with the

future. The spiral model is useful for identifying and eliminating high risk
problems in process design. 35
Spiral Model:

36
Spiral Model:
The spiral model contains four stages and each stage is represented by
one quadrant of the Cartesian diagram. The radius of the spiral represents
the cost incurred so far in the process.

1.Planning: It required defining resources, timelines, and other project related


information. It also determines the objectives, alternatives, and constraints of the
portion of the product under consideration.
2.Risk analysis: It required to assess both technical and management risks.

3.Engineering: It involves developing and verifying the next level product. It

includes construction, testing, installation and providing user support.


4.Customer evaluation: It required obtaining customer feedback based on

evaluation of the software representations created during the engineering stage and
implemented during the installation stage.

The spiral model provides a realistic approach to the development of large scale
systems and software. The software made as per the customer satisfaction. It
provides maximum customer satisfaction from the final product. 37
V & V Model (Verification and Validation Model)
The V-model is a type of SDLC model where process executes
in a sequential manner in V-shape.
It is also known as Verification and Validation model.
It is based on the association of a testing phase for each
corresponding development stage. Development of each step
directly associated with the testing phase.
The next phase starts only after completion of the previous
phase i.e. for each development activity, there is a testing
activity corresponding to it.

38
V & V Model (Verification and Validation Model)
 Verification: It involves static analysis technique (review)
done without executing code. It is the process of evaluation of
the product development phase to find whether specified
requirements meet.
 Validation: It involves dynamic analysis technique
(functional, non-functional), testing done by executing code.
Validation is the process to evaluate the software after the
completion of the development phase to determine whether
software meets the customer expectations and requirements.
 V-Model contains Verification phases on one side of the
Validation phases on the other side.
 Verification and Validation phases are joined by coding phase
in V-shape. Thus it is called V-Model.
39
V & V Model (Verification and Validation Model)

40
V & V Model (Verification and Validation Model)
Design Phase:
Requirement Analysis: This phase contains detailed
communication with the customer to understand their requirements
and expectations. This stage is known as Requirement Gathering.
System Design: This phase contains the system design and the

complete hardware and communication setup for developing product.


Architectural Design: System design is broken down further into

modules taking up different functionalities. The data transfer and


communication between the internal modules and with the outside
world (other systems) is clearly understood.
Module Design: In this phase the system breaks down into small

modules. The detailed design of modules is specified, also known as


Low-Level Design (LLD).

41
V & V Model (Verification and Validation Model)
 Testing Phases:
 Unit Testing: Unit Test Plans are developed during module design phase.
These Unit Test Plans are executed to eliminate bugs at code or unit level.
 Integration testing: After completion of unit testing Integration testing is
performed. In integration testing, the modules are integrated and the
system is tested. Integration testing is performed on the Architecture
design phase. This test verifies the communication of modules among
themselves.
 System Testing: System testing test the complete application with its
functionality, inter dependency, and communication. It tests the functional
and non-functional requirements of the developed application.
 User Acceptance Testing (UAT): UAT is performed in a user
environment that resembles the production environment. UAT verifies that
the delivered system meets user’s requirement and system is ready for use
in real world.
42
V & V Model (Verification and Validation Model)
 Advantages:
 This is a highly disciplined model and Phases are completed
one at a time.
 V-Model is used for small projects where project
requirements are clear.
 Simple and easy to understand and use.
 This model focuses on verification and validation activities
early in the life cycle thereby enhancing the probability of
building an error-free and good quality product.
 It enables project management to track progress
accurately.

43
V & V Model (Verification and Validation Model)
 Disadvantages:
 High risk and uncertainty.
 It is not a good for complex and object-oriented projects.
 It is not suitable for projects where requirements are not
clear and contains high risk of changing.
 This model does not support iteration of phases.
 It does not easily handle concurrent events.

44
Incremental Model

An incremental model is the software development process


which is mostly adopted.
There are many models in the software development which
were developed to achieve different objectives.
These models specify the way the software is developed with
each stage of iteration and process to be carried to out to
implement those stages.
The choice of model is completely dependent on the
organization and its objective with the software and this choice
of model also has a high impact on the testing methodologies.

45
Incremental Model
Incremental Model is one of the most adopted models of software
development process where the software requirement is broken down
into many standalone modules in the software development life cycle.
Once the modules re the split then incremental development will be
carried out in steps covering all the analysis, designing,
implementation, carrying out all the required testing or verification and
maintenance.
In incremental models, each iteration stage is developed and hence
each stage will be going through requirements, design, coding and
finally the testing modules of the software development life cycle.
Functionality developed in each stage will be added on the previously
developed functionality and this repeats until the software is fully
developed. At each incremental stage there will be though review
basing on which the decision on the next stage will be taken out.
46
Incremental Model

You can see that at each stage of incremental development we are going
through analysis, design code and test phase and by doing this we are
making sure that the various incremental stages are compatible and
cumulatively helping in achieving the required objectives from the
software.
47
Incremental Model

The main importance of the Incremental model is that it


divides the software development into sub modules and each
sub module is developed by following the SDLC like Analysis,
Design, Code, and Test.
By doing this model make sure that we are not missing any
objective that is expected from the end of the software even
though how minor objective it can be.

48
Incremental Model
Phase in Each
Description
Increment

Complete the analysis is performed on the requirement and


Requirement
how to make sure that this requirement will be compatible
Analysis
to previously developed

Once the requirement for this particular increment


Design understood and clear then design will be drafted on how to
implement and archive this requirement.
Now the coding is performed in accordance to achieve the
purpose of the requirements. All the coding standards will
Code
be followed without any defaults and unnecessary hard
codes
This is the last in the incremental phase where aggressive
Test testing is performed on the developed code and defects are
reported and resolved
49
Incremental Model
 Advantages of Incremental Model
1. Initial product delivery is faster.
2. Lower initial delivery cost.
3. The core product is developed first i.e. main functionality is added in the first
increment.
4. After each iteration, regression testing should be conducted. During this
testing, faulty elements of the software can be quickly identified because few
changes are made within any single iteration.
5. It is easier to test and debug than other methods of software development
because smaller changes are made during each iteration. This allows for more
targeted and rigorous testing of each element within the overall product.
6. With each release, a new feature is added to the product.
7. Customers can respond to feature and review the product.
8. Risk of changing requirement is reduced
9. The workload is less.
50
Incremental Model
 Disadvantages of Incremental Model

1. Requires good analysis.


2. Resulting cost may exceed the cost of the organization.
3. Each phase of an iteration is rigid and do not overlap each
other
4. As additional functionality is added to the product,
problems may arise related to system architecture which
was not evident in earlier prototypes.

51
Thank You…..
52

You might also like