Sdlc4 - WordPress.com

advertisement
SOFTWARE DEVELOPMENT
PROCESS
Its Phases and Overview
1
INTRODUCTION

This document describes the (SDLC) for small to
medium database application development
efforts.
o
This chapter presents an overview of the SDLC,
alternate lifecycle models, and associated
references.
o
The following project describes the internal
processes that are common across all stages
of the SDLC, and the third chapter describes the
inputs, outputs, and processes of each stage.
2
CONT:
There are six stages in SDLC:
Analysis
Planning
Design
Coding
Testing
Implementation & maintenance
 SDLC uses four main approaches viz.

3
CONT
Waterfall Approach
 Spiral Approach
 Incremental Approach
 Win Win Spiral Approach

4
CONCEPT OF SDLC
Meaning And Methodologies
5
CONTEMPLATIVE QUESTIONS

What are the various approaches to developing
Information Systems?

Is there one best way?

What is the difference between techniques,
methodologies and tools?

What does the popular term “SDLC” actually
mean?
6
SDLC

SDLC stands for
Systems
 Development
 Life
 Cycle


What does it mean?

Why do we need it?
7
WHAT IS SDLC?

SDLC stands for



Systems Development Life Cycle
First, SDLC is a Life Cycle.
All systems have a life cycle or a series of stages they naturally undergo.
 The number and name of the stages varies, but the primary stages
are conception, development, maturity and decline.
 The systems development life cycle (SDLC) therefore, refers to the
development stage of the system’s life cycle
8
APPROACHES TO SYSTEMS DEVELOPMENT

Process-Oriented Approach





Focus is on flow, use and transformation of data in an
information system
Involves creating graphical representations such as data
flow diagrams and charts
Data are tracked from sources, through intermediate steps
and to final destinations
Natural structure of data is not specified
Disadvantage: data files are tied to specific applications
9
CONT
WHICH IS BETTER, THE PROCESS APPROACH OR THE DATA APPROACH
Process Approach:
“Let’s look at all of our processes.
Processes take precedence over
data. Get the processes correct
first. Then we’ll address what data
is important.”
o Data Approach :


“Forget the processes, let’s look at
the data. Data comes first. Get the
data correct, then see how the
processes actually use the data
10
MILESTONE IN SDLC
Its Phases and Overview
11
MILESTONES
Following are the milestones in SDLC –
 Requirement Gathering
 In this, customer needs are analysed in order to
get a clear picture of the user requirements. If
it is an existing system, requirements include
improvement on the backlogs of the existing
system.
 This is done by interviewing users and
consultants of the the company (client).

12
CONT:

Functional Specification
It mentions, what functions is the product
supposed to have i.e how the interface should
be, what should the product do, how will the
user use the product.
13
HIGH LEVEL DESIGN (HLD)

In this stage, logical view of the solution to
customer requirements is arrived at. It helps in
deciding operating systems, hardware,
database design, architecture, security issues
etc.
14
LOW LEVEL DESIGN (LLD)

In this phase, HLD is broken down into smaller
modules/programs. LLD is used by developers.
15
APPROACHES IN SDLC
Type of approaches and definition
16
SOFTWARE DEVELOPMENT METHODOLOGY
APPROACHES
There are a number of software development
approaches that have been used since the origin of
information
 Technology. These software development
approaches are:

1.Waterfall Approach : linear framework type.
 2.Prototyping Approach : iterative framework type
 3.Rapid Application Development (RAD) Approach:
Iterative Framework Type
 4.Spiral Approach : combination of linear and
iterative framework type
•
17
WATERFALL APPROACH




The Waterfall model is a sequential development approach,
in which development is seen as flowing steadily
downwards (like a waterfall) through the phases of
requirements analysis, design, implementation, testing
(validation), integration, and maintenance.
Basic principles of the waterfall approach are:
Project is divided into sequential phases, with some overlap
and splashback acceptable between phases.
Emphasis is on planning, time schedules, target dates,
budgets and implementation of an entire system
18
PROTOTYPING APPROACH




Software prototyping, is the development approach of
activities during software development the creation of
prototypes, i.e., incomplete versions of the software
program being developed.
Basic principles of the Prototyping Approach are:
Attempts to reduce inherent project risk by breaking a
project into smaller segments and providing more easeof-change during the development process.
A basic understanding of the fundamental business
problem is necessary to avoid solving the wrong
problem.
19
SPIRAL APPROACH
20
SPIRAL APPROACH



The spiral model.
The spiral model approach is a software development process
combining elements of both design and prototyping-in-stages,
in an effort to combine advantages of top-down aweigh
consideration of project continuation throughout the life cycle.
Focus is on risk assessment and on minimizing project risk by
breaking a project into smaller segments and providing more
ease-of-change during the development process, as well as
providing the opportunity to evaluate risks
21
RAPID APPLICATION DEVELOPMENT (RAD)
APPROACH




Rapid Application Development (RAD) is a software
development methodology approach, which involves iterative
development and the construction of prototypes. Rapid
application development is a term originally used to describe a
software development process introduced by James Martin in
1991. Standard systems analysis and design techniques can
be fitted into this framework.
Basic principles:
Key objective is for fast development and delivery of a high
quality system at a relatively low investment cost.
Standard systems analysis and design techniques can be
fitted into this framework.
22
PHASES IN SDLC
Types Of Phases
23
ANALYSIS

Analysis is first phase in SDLC wherein the
possible outcome of the software are
discussed in detail.

Analysis is similar to a patient visiting a
doctor.Doctors always analyse their
patient:observing,testing,questioning.
24
ANALYSIS PHASE








Identify problem
Feasibility study for new system
Investigate current system
Organisational & system goals
Problems / limitations identified
Possible solutions
Evaluate all data collected
Decision to continue
25
CODING

Coding
During this phase, source code, executables
are produced to develop the final product.
26
DESIGN PHASE





Hardware / Software to be used
Suppliers selection
Program specifications
Screen design
User interface




Inputs
Outputs
Setting up Tests to be performed
General Specifications for user documentation
27
DEVELOPMENT
Program Development Life Cycle (PDLC) ( to be
used with customised software )
 Testing

28
DEVELOPMENT
Stages of the PDLC:
 Analyse
 Design
 Code
 Debug
 Test
 Document
 Implement
 Evaluate
29
DEVELOPMENT
Within he development phase there are various
program development methodologies:
 RAD: Rapid Application Development
 Prototyping
 Waterfall model (traditional staged development)
 Agile model (Short bursts developing functional units
of the project)
30
IMPLEMENTATION PHASE
Hardware purchase & set up
 System conversion
 Testing
 Handover of system and documentation

31
EVALUATION PHASE
Determine suitable time
 Original aims & objectives
 Design specifications
 Other factors eg: efficiency, effectiveness etc..

32
ANALYSIS PHASE
Overview of Analysis
33
WHAT IS ANALYSIS?

Analysis is the first phase in SDLC where the Software is
Discussed Much before it is implemented.
34
PHASES IN SDLC
35
QUESTION THAT NEED TO BE ASKED?
Is there really a problem?
 If there is a problem, is it worth fixing?
 Like:
Technical feasibility
Economic feasibility
Legal feasibility
Operational feasibility
Schedule feasibility

36
ANALYSIS DOES NOT TRY TO DESCRIBE HOW THE
SOLUTION WILL WORK.
A problem analysis will describe:
 required input (what data has to be
acquired to produce the output?)
 required output (i.e. what information is
the system supposed to produce?)
 Data and information should be
described in detail.

37
SDLC REQUIREMENT
Basic Requirement In SDLC
38
SDLC REQUIREMENT
Scope
 Technical Activities
 Management Activities
 Installation Guidance

39
SCOPE REQUIREMENTS
-New Development
 - Rewrites of Existing Systems
 - Maintenance
 - Package Selection
 - System Conversions

40
TECHNICAL ACTIVITIES









-System Definition (Analysis, Design, Coding)
-Testing
- System Installation (e.g., Data Conversion, Training)
- Production Support (e.g., Problem Management)
- Evaluating Alternatives
- Defining Releases
- Reconciling Information Across Multiple Phases
- Reconciling To A Global View
- Defining The Project's Technical Strategy.
41
MANAGEMENT ACTIVITIES












- Setting Priorities
- Defining Objectives
- Planning And Estimating
- Tracking/Status Reporting
- Change Control
- Step Wise Commitment
- Cost/Benefit Analysis
- Risk Assessments
- Interacting With Users
- Managing Vendors
- Post Implementation Reviews
- Quality Assurance Reviews
42
INSTALLATION SUPPORT REQUIREMENTS

Large and complex system containing many
tasks, tools and techniques.

That process requires training, guidance and a
phased installation.
43
DESIGNING PHASE
How to Design a software
44
DESIGN PHASE TECHNICAL ACTIVITIES DIAGRAM
45
PURPOSE OF DESIGNING

To transform the data model (developed in the
analysis phase) into logical and physical
information structure
46
DESIGN USER INTERFACE STANDARDS AND GUIDELINES




The GUI standards and guidelines are based on the
requirements for the user interface identified in the analysis
phase. Standards are needed to ensure:
consistency of the GUI of different parts of the application or
system
usability of the application (e.g. reducing error in using the
application)
maintainability
47
DESIGN SYSTEM ARCHITECTURE

The technical architecture used by the
application is described by presenting the
various hardware, software and networking
components, and their interfaces.
48
DESIGN SOFTWARE COMPONENTS
The design of functionality in Web applications
include e.g.
 navigation (functionality of control buttons)
 control of windows (moving between frames,
opening and closing of pop-up windows)
 data input (HTML forms, cgi data transfers)
 data processing output (dynamically created
HTML pages)

49
CONCLUSION

The structure imposed by this SDLC is
specifically designed to maximize the
probability of a successful software
development effort.
50
Download