Software Development Lifecycle

Software development lifecycle is a process used by software developer to design, develop, and test high quality software quickly and cheaply.

To produce high-quality software, software developers follow this structured process. The SDLC defines and outlines a thorough plan with stages, or phases, each of which includes its own procedure and outputs.






Why is the SDLC important?

  1. It offers a useful methodology and framework for creating software applications.
  2. It assists with project estimating, planning, and scheduling.
  3. It aids in cutting back on unnecessary development costs. Developers can calculate costs and foresee costly errors in the early stages.
  4. It increases the speed of project development.
  5. As they adhere to a structured process, it enables developers to create software products of the highest caliber.
  6. It improves client relations.
  7. It decreases project risks.
The SDLC stages are described below:

PROBLEM ANALYSIS

The first stage of the SDLC is called problem analysis or problem definition, during which we examine the issue, identify its goals and needs, and assess the viability of the project.

We should specify following things:
  • Objectives
  • Input Requirements
  • Output Requirements
  • Processing Requirements
  • Evaluating Feasiblity

ALGORITHM AND FLOWCHART

Algorithm is the sequence of instruction designed in such a way that if the instructions are executed in the specified sequence, then the desired result is obtained.
  • Algorithm must terminate and must not repeat one or more statement infinitely.
  • Algorithm must have finite number of steps.
Guidelines for writing algorithm:
  • Use plain language
  • Do not use any language or specific syntax
  • Do not make any assumption
  • Make sure that an algorithm has a single-entry point and single-exit point
Features/Properties of algorithm:
  • Finiteness/Termination: An algorithm must terminate after a finite number of steps.
  • Definiteness:  Each step of algorithm must be precisely defined.
  • Input: An algorithm can have zero or more inputs.
  • Output: An algorithm can give one or more result. 
  • Effectiveness: An algorithm should be more effective among different ways of solving problems.
An Algorithm to add two numbers:

1) Start
2) Declare variables a, b, sum = 0
3) Read variables a and b from user
4) sum = a + b
5) Display sum
6) Stop

Flowchart is the diagrammatical representation of an algorithm. Flowchart is the pictorial view of the program. It is drawn by using basic blocks where each box/block have a useful meaning.



Symbol Name Meaning

Oval Start/Stop => To represent start and stop of the program

Parallelogram Input/Output => Used to indicate input and output of the data
Rectangle Processing => Used for processing of the data
Diamond Decision => Used when branching is to be made
Circle Connector => Used to link segment and connect


Arrow Flow Symbol => Indicate flow of the program

A Flowchart to add two numbers:


CODING

Flowcharts and algorithms are created for humans; computers cannot understand them. As a result, programming language must be used. Both high-level and low-level languages can be used for coding. The coding must be done in a trustworthy, understandable, and efficient manner. Every coding language has a unique syntax. Therefore, when coding, we should adhere to rules and syntax. For instance, we can write C codes using a source editor like VSCode or any IDE. When necessary, comments should be added.

Coding is the process of converting concepts, answers, and directives into a language that a computer can understand. 

COMPILATION & EXECUTION:

Because computers only understand low level languages, programs written in high level languages must be translated into low level languages. Compiler, interpreter or assembler can translate high level language into machine language. 

Example of Compilation Process In C:


DEBUGGING AND TESTING:

Debugging is the process of isolating and correcting any type of error in program. Debugging can be done in various ways:
  • Error Isolation
  • Break Poing
  • Back Tracing
  • Watch Values
Various types of error occurs in program :

Syntax error is an error in the syntax of a sequence of characters or tokens that is intended to be written in a particular programming language. For compiled languages, syntax errors are detected at compile-time. A program will not compile until all syntax errors are corrected.

Semantics error is a programming error that arises from a misunderstanding of the meaning or effect of some construct in a programming language.

Testing is the process of executing a program with intention of finding error. Testing is very important phase before delivering software to customer.
Testing is done for verification, validation and quality assurance of a program. It can be human or computer based.

DOCUMENTATION:

Documentation is the process of keeping track of all the work and tasks carried out in all the aforementioned stages and provides an explanation of how your program functions and how to use it effectively.
It may contain analysis document, design document as flowchart, program testing, verification, validation and comments.
It may be user manual, user guide or technical documents.



Post a Comment

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.