Uploaded by Jobeth Membi

Software Development Life Cycle

advertisement
NSOE – PASSAM
TECHNOLOGY DEPARTMENT
Subject: Grade 12 STEM ICT
Term: 2
Week: 7 Lesson Number: 13
GRADE 12 ST
Class: 12.1 & 12.2
Date: 29/05/23
DOMAIN: ICT
Module 12.2 – SOFTWARE DEVELOPMENT
Topic 1: SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
Subtopic 1: Overview & Introduction to SDLC.
Resource/Reference: Grade 12 ST STUDENT Resources Book (pg.187 - 190)
In this module, you will be introduced to the process of Software Development. It is important that you familiarize yourself with
the different stages involved in developing a software. The modules cover knowledge around the stages of developing a
software, types of software development and the possible application of software development to solve problems. Also, included
are the two fundamental programming paradigms – Procedural Programming and Object-Oriented Programming.
The SDLC is an acronym for Software Development Life Cycle. It is a sequence of scheduled actions for DEVELOPING or
altering Software Products. This Module will provide you an understanding of the SDLC fundamentals, as well as the many
SDLC models and their applications. In addition, other related techniques such as Agile, Rapid Application Development, and
Prototyping will also be covered.5
Programming paradigms are a collection of different methods to programming. Different paradigms represent fundamentally
different approaches to using programming to solve specific problems. The vast majority of programming languages are based
on a single paradigm; however, others combine elements from many paradigms. Two of the most significant programming
paradigms are procedural and object-oriented.
The outline of the module is structured in the following manner:
Topic 1: Software Development Life Cycle (SDLF)

Software Development Life Cycle

Waterfall Model

Iterative Model

Spiral Model

V Model

Big Bang Model

Agile Model

RAD Model

Software Prototype

Types of Software Development

Software Development Platforms
Topic 2: Procedural Programming vs Object-Oriented Programming

Procedural Programming

Object-Oriented Programming
Overview
Software development refers to the process of creating software for a variety of applications as well as system maintenance. All
software professionals should be familiar with the fundamentals of software development in order to assist in the process. This
tutorial covers the fundamentals of software development as well as why it's important to learn it. The software development
process encompasses the entire software life cycle, from requirements to maintenance. Design and development involve the
developers who code the programming languages well. Testing the software is done to know whether the software works
according to the need of the client before making the product available.
Why do we need to learn Software Development Basics?
Coding is required in software development as it allows the programmer to do different computational tasks to solve a
problem in a logical manner.
Software technology is evolving at a rapid pace, and it has emerged as one of the most lucrative occupations. Learning
software development can help you advance your profession and learn new skills.
Every aspect of life is intertwined with the use of online services and software. Knowing how the system works is beneficial,
and having a rudimentary understanding of the technology is not harmful. What's the harm in learning software if it may earn
you money?
Applications of Software Development Basics
Online services such as banking, food delivery, and cab booking are commonplace activities that require software to
perform efficiently and maintain. Software development is required for online payment systems.
It is now possible to order tickets for any mode of transportation online. Professional software development is to thank for
this. Social media makes it easier to stay in touch and stay informed. This is a software application as well.
Hardware devices are controlled by software, which reduces the number of mechanical duties. This allows the technicians
to focus on other activities while relying on the system's software.
T2Wk2Gr12STlesson13
1|Page
NSOE – PASSAM
TECHNOLOGY DEPARTMENT
GRADE 12 ST
Example
Software can assist in the development of applications. Apps like Amazon make it easier to purchase online rather than going to
the store and purchasing products. This application creates an online store for all things, which are then delivered to the customer's
doorstep. The application is well-maintained, and regular updates are provided to assist customers.
1.1 Introduction to Software Development Life Cycle (SDLC)
The Software Development Life Cycle (SDLC) is a method for designing, developing, and testing high-quality software in the
software industry. The SDLC is designed to deliver high-quality software that meets or exceeds customer expectations and is
completed on time and on budget.
The Software Development Life Cycle (SDLC) is also known as the Software Development Process.
The Software Development Life Cycle (SDLC) is a framework that defines the tasks that must be completed at each stage
of the software development process.
The ISO/IEC 12207 standard for software life-cycle processes is an international standard. It aspires to be the industry
standard for defining all software development and maintenance responsibilities.
What is SDLC and what the Stages of SDLC?
Within a software organization, the SDLC is a process that is followed for a software project. It is a detailed strategy that
explains how to build, maintain, replace, and change or improve certain software. The life cycle is a mechanism for enhancing
software quality and the development process as a whole.
The many steps of a typical SDLC are depicted graphically in the diagram below.
Stage 1: Planning and Requirement Analysis
The most critical and fundamental level of the SDLC is requirement analysis. It is carried out by the team's top members, with
input from the customer, the sales department, market surveys, and industry domain specialists. This data is then utilized to
establish the main project approach and conduct product feasibility studies in the areas of economics, operations, and
technology.
The planning step also includes determining the project's quality assurance requirements and identifying the project's risks. The
technical feasibility study's goal is to identify the many technical techniques that can be used to successfully implement the
project with the least amount of risk.
Stage 2: Defining Requirements
Following the requirement analysis, the product needs must be properly defined and documented, and they must be approved
by the client or market analysts. This is accomplished through the use of an SRS (Software Requirement Specification)
document, which contains all of the product requirements that must be defined and developed throughout the project life cycle.
Stage 3: Designing the Product Architecture
For product architects wishing to design the best architecture for a new product, SRS is the way to go. Many product architectural
design techniques are typically presented and documented in a DDS - Design Document Specification based on the SRS criteria.
All key stakeholders examine the DDS, and the best design strategy for the product is chosen based on a variety of factors
including risk assessment, product robustness, design modularity, budget, and time constraints.
A design approach identifies all of the product's architectural modules, as well as the product's communication and data flow
representation with external and third-party modules (if any). All of the modules of the proposed architecture's internal design
should be thoroughly documented in DDS, down to the tiniest of details.
Stage 4: Building or Developing the Product
The actual development of the product begins at this stage of the SDLC. During this stage, the programming code is generated
according to DDS. Code generation can be done quickly and easily if the design is done in a precise and organized manner.
Developers must adhere to their organization's coding rules, and programming tools such as compilers, interpreters, and
debuggers are used to develop code. Code is written in a variety of high-level programming languages, including C, C++,
Pascal, Java, and PHP. The programming language is chosen based on the type of software that is being created.
Stage 5: Testing the Product
T2Wk2Gr12STlesson13
2|Page
NSOE – PASSAM
TECHNOLOGY DEPARTMENT
GRADE 12 ST
As testing operations are mainly included in all phases of SDLC in modern SDLC models, this stage is usually a subset of all
stages. However, this stage only refers to the product's testing step, during which flaws are reported, monitored, repaired, and
retested until the product meets the SRS's quality criteria.
Stage 6: Deployment in the Market and Maintenance
The product is formally released in the appropriate market once it has been thoroughly tested and is ready for deployment.
Product rollout is sometimes done in stages, depending on the company's business strategy. The product could be introduced in
a limited market and tested in a real-world setting first (UAT- User acceptance testing).
The product may then be released as is or with proposed enhancements in the intended market segment based on the feedback.
Following the product's release to the market, it is maintained for the current client base.
EXERCISE SET 13
1. What is Software Development?
2. List the importance of Software Development.
3. State an application of software development.
4. What is Software Development Life Cycle?
5. State and briefly describe each of the stages of SDLC.
Lesson Prepared by Mr. Membi: ______________________ Date: 29/05/23
(SM – STEM ICT)
T2Wk2Gr12STlesson13
3|Page
Download