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

Module1-SDLC

The Software Development Life Cycle (SDLC) consists of six stages: Planning and Requirement Analysis, Defining Requirements, Designing the Product Architecture, Building or Developing the Product, Testing the Product, and Deployment in the Market and Maintenance. Various SDLC models, such as Waterfall and Spiral, guide the development process. Additionally, algorithms and flowcharts are essential tools for problem-solving and program design, with specific characteristics and advantages outlined.

Uploaded by

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

Module1-SDLC

The Software Development Life Cycle (SDLC) consists of six stages: Planning and Requirement Analysis, Defining Requirements, Designing the Product Architecture, Building or Developing the Product, Testing the Product, and Deployment in the Market and Maintenance. Various SDLC models, such as Waterfall and Spiral, guide the development process. Additionally, algorithms and flowcharts are essential tools for problem-solving and program design, with specific characteristics and advantages outlined.

Uploaded by

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

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

A typical Software Development Life Cycle consists of the following stages –

Stage 1: Planning and Requirement Analysis

Requirement analysis is the most important and fundamental stage in SDLC. It is performed
by the senior members of the team with inputs from the customer, the sales department,
market surveys and domain experts in the industry. This information is then used to plan the
basic project approach and to conduct product feasibility study in the economical, operational
and technical areas.

Planning for the quality assurance requirements and identification of the risks associated with
the project is also done in the planning stage. The outcome of the technical feasibility study is
to define the various technical approaches that can be followed to implement the project
successfully with minimum risks.

Stage 2: Defining Requirements

Once the requirement analysis is done the next step is to clearly define and document the
product requirements and get them approved from the customer or the market analysts. This
is done through an SRS (Software Requirement Specification) document which consists of all
the product requirements to be designed and developed during the project life cycle.

Stage 3: Designing the Product Architecture

SRS is the reference for product architects to come out with the best architecture for the
product to be developed. Based on the requirements specified in SRS, usually more than one
design approach for the product architecture is proposed and documented in a DDS – Design
Document Specification. This DDS is reviewed by all the important stakeholders and based
on various parameters as risk assessment, product robustness, design modularity, budget and
time constraints, the best design approach is selected for the product.
A design approach clearly defines all the architectural modules of the product along with its
communication and data flow representation with the external and third party modules (if
any). The internal design of all the modules of the proposed architecture should be clearly
defined with the minutest of the details in DDS.

Stage 4: Building or Developing the Product

In this stage of SDLC the actual development starts and the product is built. The
programming code is generated as per DDS during this stage. If the design is performed in a
detailed and organized manner, code generation can be accomplished without much hassle.
Developers must follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers, etc. are used to generate the code.

Different high level programming languages such as C, C++, Pascal, Java and PHP are used
for coding. The programming language is chosen with respect to the type of software being
developed.

Stage 5: Testing the Product

This stage is usually a subset of all the stages as in the modern SDLC models, the testing
activities are mostly involved in all the stages of SDLC. However, this stage refers to the
testing only stage of the product where product defects are reported, tracked, fixed and
retested, until the product reaches the quality standards defined in the SRS.

Stage 6: Deployment in the Market and Maintenance

Once the product is tested and ready to be deployed it is released formally in the appropriate
market. Sometimes product deployment happens in stages as per the business strategy of that
organization. The product may first be released in a limited segment and tested in the real
business environment (UAT- User acceptance testing).

Then based on the feedback, the product may be released as it is or with suggested
enhancements in the targeting market segment. After the product is released in the market, its
maintenance is done for the existing customer base.

SDLC Models

There are various software development life cycle models defined and designed which are
followed during the software development process. These models are also referred as
Software Development Process Models". Each process model follows a Series of steps
unique to its type to ensure success in the process of software development. Following are the
most important and popular SDLC models followed in the industry −

➢ Waterfall Model
➢ Iterative Model
➢ Spiral Model
➢ V-Model
➢ Big Bang Model
ALGORITHM:

The algorithm is a step-by-step procedure to be followed in solving a problem. It provides a


scheme to solve a particular problem in finite number of unambiguous steps. It helps in
implementing the solution of a problem using any of the programming languages.
In order to qualify as an algorithm, a sequence of instructions must possess the following
characteristics:

Definiteness: Instructions must be precise and unambiguous i.e. each and every instruction
should be clear and should have only one meaning.
Finiteness: Not even a single instruction must be repeated infinitely. i.e., each instruction
should be performed in finite time.
Termination: After the algorithm gets executed, the user should get the desired result

Key features of an algorithm:


Any algorithm has a finite number of steps and some steps may involve decision
making, repetition. Broadly speaking, an algorithm exhibits three key features that can
be given as:
Sequence: Sequence means that each step of the algorithm is executed in the specified order.
Decision: Decision statements are used when the outcome of the process depends on some
condition.
Repetition: Repetition which involves executing one or more steps for a number of times can
be implemented using constructs like the while, do-while and for loops. These loops
executed one or more steps until some condition is true.
Examples:

(1) To compute the Area of Rectangle


ALGM: AREA_of_RECTANGLE [This algorithm takes length and breadth, the sides of
the rectangle as input and computes the area of rectangle using the formula area=length *
breadth. Finally it prints the area of rectangle]

STEPS:
Step 1:[Initialize]
Start
Step 2: [Input the sides of Rectangle]
Read length, breadth
Step 3:[Compute the area of rectangle]
Area<-length*breadth
Step 4:[Display the Area]
Print Area
Step 5: [Finished]
Stop

(2) To compute the Area and Perimeter of Circle

ALGM: AREA_of_CIRCLE [This algorithm takes radius of circle as input and computes
the area of circle using the formula area=3.14*radius*radius. It computes perimeter of
circle as perimeter= 2*3.14*radius. Finally it prints the area and perimeter of circle]

STEPS:
Step 1:[Initialize]
Start
Step 2: [Input the radius of circle]
Read radius.
Step 3:[Compute the area of circle]
Area<-3.14*radius*radius
Step 4:[Compute the perimeter of circle]
Perimeter<-2*3.14*radius
Step 4:[Display the Area and Perimeter]
Print Area, Perimeter
Step 5: [Finished]
Stop

FLOWCHARTS:

A flowchart is a graphical or symbolic representation of an algorithm. They are basically


used to design and develop complex programs to help the users to visualize the logic of the
program so that they can gain a better understanding of the program and find flaws,
bottlenecks, and other less-obvious features within it. Basically, a flowchart depicts the
“flow” of a program.

The following table shows the symbols used in flowchart along with its descriptions.
Symbol Name Description
oval Represents the terminal point

Represents the process steps defined in


Rectangle Algorithm

Indicate the reading Operation used for


input/output or
Parallelogram
data or information from/to any device

Indicates the decisions (questions) and


Consequently
Diamond branch points or the paths to be followed
based on the
result of the question

Shows the flowchart direction and


Arrows connects the various flow chart symbols.

Shows the continuation from one point


Small circle in the process flow to another.

Represents
Looping
Hexagon Structures

Subroutine
Process Function

Advantages of Flowcharts:
A flowchart is a diagrammatic representation that illustrates the sequence of steps that must
be performed to solve a problem. They are usually drawn in the early stages of formulating
computer solutions to facilitate communication between programmers and business people.
Flowcharts help programmers to understand the logic of complicated and lengthy problems.
They help to analyze the problem in a more effective manner
Flowchart can be used to debug programs that have error(s).

Limitations of using Flowcharts:


Drawing flowcharts is a laborious and a time consuming activity. Flowchart of a complex
program becomes, complex and clumsy. At times, a little bit of alteration in the solution may
require complete re-drawing of the flowchart Essentials of what is done may get lost in the
technical details of how it is done. There are no well-defined standards that limits the details
that must be incorporated in a flowchart.
Examples:

(1) Design an algorithm, flowchart and program to compute area of a circle.

START

READ RADIUS

AREA=3.14*RADIUS*RADIUS

PERIMETER=2*3.14*RADIUS

PRINT AREA,
PERIMETER

STOP

#include<stdio.h>

void main()

float r, area,perimeter;

printf(“Enter the radius of circle:”);

scanf(“%f”,&r);

area=3.14*r*r;

perimeter=2*3.14*r;

printf(“\n Area of circle=%f”, area);


printf (“\nPerimeter of circle=%f”, perimeter);

(2) Draw a flowchart and C program which takes as input p,t,r. Compute the simple
interest and display the result.

START

READ P,T,R

SIMPLE_INT=(P*T*R)/100

DISPLAY
SIMPLE_INT

STOP

#include<stdio.h>

void main()

float SI,p,r,t;

printf(“Enter the principal amount, time, rate of interest:”);

scanf(“%f%f%f”,&p,&t,&r);
SI=p*t*r/100;

printf(“\n Simple Interest=%f”, SI);

You might also like