Unit-II - Software Development
Unit-II - Software Development
UNIT – II
Software development – waterfall model, Agile, Types of computer languages –
Programming, mark-up, scripting Program Development – steps in program
development, flowcharts, algorithms, data structures – definition, types of data
structures.
INTRODUCTION
The process of software development from the first computer up to today has
completely changed in terms of techniques,processes and technology. Software is used
by people and businesses all over the world for a variety of purposes and benefits.
Today almost everyone uses a computer and software.
Providing a software solution to ever-changing needs and demands is a challenging task
for the organizations that develop software.
WHAT IS SOFTWARE?
Software is a collection of instructions, data or computer programs that are used to run
machines and carry out particular activities. The term software refers to the applications,
scripts and programs that operate the hardware.
There are two broad categories of software: system and application.
System Software
System software directly controls the hardware of the computer and gives users and
other applications the fundamental functions they need to perform properly. It controls
the internal functioning of the hardware such as monitors, printers and storage devices.
It includes an operating system, device drivers, firmware, language translators,
compilers, linkers, loaders and utilities.
Application Software
The most prevalent kind of software is application software, which is a collection of
computer programs that carry out a particular task for the user or another application.
Application software can be generic (word processor, calculator, image editor, etc.) or
specific (payroll, reservation system, etc.).
The terms software and engineering combine to form the term software engineering.
As discussed in earlier sections, software is a collection of integrated programs.
Engineering is the use of scientific and practical knowledge to create, plan, design, build,
maintain and enhance systems, procedures and other elements.
Requirements gathering:
In an SDLC, the requirement gathering and analysis stages are the most crucial. Usually,
senior members of the team handle this phase.
This gives a clearer picture of the scope of the entire project/The requirements are
documented in the form of a System Requirements Specification (SRS) document.
This document acts as a bridge between the customer and the product developers.
Planning: The purpose of the planning phase is to come up with the schedule, scope and
resource requirements for the development and release of the product.
This is performed using the SRS document, which contains all the product requirements
that must be created and during the project life cycle.
Design: The purpose of the design phase is to figure out how to satisfy the requirements
enumerated in the SRS document. The design approach clearly defines all the
architectural modules of the product. Design is usually split into two levels:
Development or coding: The design document created in the design phase acts as a
blueprint for the actual coding to proceed. This development or coding phase comprises
coding the programs in the chosen programming language. It produces software that
meets the requirements.
Testing: When a software product is ready, the testing team starts testing its
functionality as stated in the requirements document. Testing is the process of using the
software product to verify that it works according to the customer's requirements. By
testing the product, an organization identifies and removes as many defects as possible
before shipping it out.
Deployment and maintenance: After a product has undergone testing, users receive it
and use it in their environments. As the users start using the product in their
environments, they may observe discrepancies between the actual behaviour of the
product and what they were given to expect. When consumers start using the software
product in their environments, they could observe differences between the behaviour
of the product and what they had been told in the requirement document. This should
be corrected. After the product is released to the customer, maintenance is carried out
for the existing customer base.
Waterfall Model,
Rapid application development Model,
Spiral or iterative Model,
Incremental Model,
V Model,
Agile Model
Big bang Model
Waterfall Model:
The waterfall is a very simple, easy-to-understand and universally accepted SDLC model.
This was the first SDLC methodology for software development.
Requirements
gathering
Planning
Design
Development or
Coding
Testing and
Deployment
Maintenance
This becomes the input for the design phase. During the design phase, a detailed design
is produced in the form of a System Design Description (SDD).
The project moves on to the development or coding phase with the SDD as input,
where programmers create the programs required to fulfil the design.
The testing team receives the product from the programmers after they have finished
their coding tasks and tests it before it is released.
This approach may be effective if there are no issues in a particular phase, moving in
one direction (like a waterfall).
Though the waterfall method is easy to understand and enables requirement stability,
the problem with this model is that any phase in the development process begins only if
the previous phase is complete.
In this model, the phases do not overlap. Another flaw in the waterfall approach is the
ineffectiveness of the verification and validation processes due to the delay in feedback
between phases.
Agile model
The division of the entire project into smaller parts helps to minimize the
project risk and to reduce the overall project delivery time requirements.
Regular Reflection: At the end of each iteration, the team holds a review
and retrospective to assess what went well, what could be improved, and
how to make the next iteration better.
SCRIPTING
PROGRAM DEVELOPMENT –
The following are six steps in the Program Development Life Cycle:
• Analyse the problem. The computer user must figure out the problem, then
decide how to resolve the problem - choose a program.
A data structure is a storage that is used to store and organize data. It is a way of
arranging data on a computer so that it can be accessed and updated efficiently.
TYPES OF DATASTRUCTURES
Rapid Application Development Model
Rapid application development, or RAD, is a model of software development that relies
on prototyping and emphasis is placed on the development tasks. It aims to create
software in a short period.
RAD is one of the most successful software development models available today but
there is no documentation to show what has been carried out in the RAD paradigm and
it is difficult to track progress. It requires highly skilled developers or designers.
If the development plan is 100% correct if you want to do modification at the time
you can use this development of development this model is the best one
methodology to develop the software to develop the software product.
product.