0% found this document useful (0 votes)
25 views29 pages

02-Approaches To System Development

Uploaded by

Loshilu Singooi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views29 pages

02-Approaches To System Development

Uploaded by

Loshilu Singooi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 29

APPROACHES TO SOFTWARE DEVELOPMENT

SDLC is Software Development Life Cycle. It includes


Guidance, policies, and procedures for developing systems
throughout their life cycle.
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

Software Development Life Cycle (SDLC) is a process used


by a software developer to develop an information system,
including requirements, validation, training, and user
(stakeholder) ownership.
Any SDLC should result in a high-quality system that meets or
exceeds customer expectations, reaches completion within
time and cost estimates, works effectively and efficiently in the
current and planned Information Technology infrastructure,
and is inexpensive to maintain and cost-effective to enhance.
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

The software development life cycle (SDLC) is a type of


methodology used to describe the process of building
information systems.
System Development Phases:

Systems Development Life Cycle (SDLC) adheres to


important phases that are essential for developers, such as
planning, analysis, design, and implementation, and are
explained in the section below.
Several Systems Development Life Cycle Models exist, the
oldest of which — originally regarded as "the Systems
Development Life Cycle" — is the waterfall model.
SDLC Phases Diagram:
The software development process

A structured set of activities required to develop a


software system.
• Many different software processes but all involve:
• Specification – defining what the system should do;
• Design and implementation – defining the organization of
the system and implementing the system;
• Validation – checking that it does what the customer
wants;
The software development process

• Evolution – changing the system in response to changing


customer needs.
A software process model is an abstract representation of a
process. It presents a description of a process from some
particular perspective.
Software process descriptions

When we describe and discuss processes, we usually talk


about the activities in these processes such as specifying a data
model, designing a user interface, etc. and the ordering of
these activities.
Process descriptions may also include:
• Products, which are the outcomes of a process activity;
• Roles, which reflect the responsibilities of the people
involved in the process;
Software process descriptions

• Pre- and post-conditions, which are statements that are


true before and after a process activity has been enacted or
a product produced.
Plan-driven and agile processes

• Plan-driven processes are processes where all of the


process activities are planned in advance and progress is
measured against this plan.
• In agile processes, planning is incremental and it is easier to
change the process to reflect changing customer
requirements.
• In practice, most practical processes include elements of both
plan-driven and agile approaches.
• There are no right or wrong software processes.
Software process models
Software process models

The waterfall model


• Plan-driven model. Separate and distinct phases of
specification and development.
Incremental development model
• Specification, development and validation are interleaved.
May be plan-driven or agile.
Software process models

Integration and configuration


• The system is assembled from existing configurable
components. May be plan-driven or agile.
• In practice, most large systems are developed using a process
that incorporates elements from all of these models.
The waterfall model
Waterfall model phases

There are separate identified phases in the waterfall model:


• Requirements analysis and definition
• System and software design
• Implementation and unit testing
• Integration and system testing
• Operation and maintenance
The main drawback of the waterfall model is the difficulty of
accommodating changes after the process is underway. In
principle, a phase has to be complete before moving onto the
next phase.
Waterfall model problems

Inflexible partitioning of the project into distinct stages makes it difficult to respond
to changing customer requirements.
• Therefore, this model is only appropriate when the requirements are well-
understood and changes will be fairly limited during the design process.
• Few business systems have stable requirements.
The waterfall model is mostly used for large systems engineering projects where a
system is developed at several sites.
• In those circumstances, the plan-driven nature of the waterfall model helps
coordinate the work.
Incremental development
Incremental development benefits

• The cost of accommodating changing customer requirements


is reduced.
The amount of analysis and documentation that has to be
redone is much less than is required with the waterfall
model.
• It is easier to get customer feedback on the development
work that has been done.
Incremental development benefits

Customers can comment on demonstrations of the


software and see how much has been implemented.
• More rapid delivery and deployment of useful software to the
customer is possible.
Customers are able to use and gain value from the
software earlier than is possible with a waterfall process.
Incremental development problems
The process is not visible.
• Managers need regular deliverables to measure progress.
If systems are developed quickly, it is not cost-effective to
produce documents that reflect every version of the
system.
System structure tends to degrade as new increments are
added.
• Unless time and money is spent on refactoring to improve
the software, regular change tends to corrupt its structure.
Incorporating further software changes becomes
increasingly difficult and costly.
Integration and configuration

• Based on software reuse where systems are integrated from


existing components or application systems (sometimes
called COTS -Commercial-off-the-shelf) systems).
• Reused elements may be configured to adapt their behaviour
and functionality to a user’s requirements
• Reuse is now the standard approach for building many types
of business system
Types of reusable software

• Stand-alone application systems that are configured for use


in a particular environment.
• Collections of objects that are developed as a package to be
integrated with a component framework such as .NET or
J2EE.
• Web services that are developed according to service
standards and which are available for remote invocation
PROTOTYPING MODEL
Conts…..
Conts…..
Conts…
ADVANTAGES AND
DISADVANTAGES OF
PROTOTYPING MODEL
Advantages conts….

You might also like