Software development process
-
Upload
university-of-mumbai -
Category
Education
-
view
10.445 -
download
1
description
Transcript of Software development process
![Page 1: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/1.jpg)
SOFTWARE DEVELOPMENT PROCESS Its Phases and Overview
![Page 2: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/2.jpg)
SYIT 191-200 2
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.
![Page 3: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/3.jpg)
SYIT 191-200 3
CONT:
There are six stages in SDLC: Analysis Planning Design Coding Testing Implementation & maintenance SDLC uses four main approaches viz.
![Page 4: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/4.jpg)
4
CONT
Waterfall Approach Spiral Approach Incremental Approach Win Win Spiral Approach
SYIT 191-200
![Page 5: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/5.jpg)
5
Meaning And Methodologies
CONCEPT OF SDLC
![Page 6: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/6.jpg)
6
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?
SYIT 191-200
![Page 7: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/7.jpg)
SYIT 191-200 7
SDLC
SDLC stands for Systems Development Life Cycle
What does it mean?
Why do we need it?
![Page 8: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/8.jpg)
SYIT 191-200 8
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
![Page 9: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/9.jpg)
SYIT 191-200 9
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
![Page 10: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/10.jpg)
SYIT 191-200
10
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
![Page 11: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/11.jpg)
Its Phases and Overview
MILESTONE IN SDLC
![Page 12: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/12.jpg)
SYIT 191-200 12
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).
![Page 13: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/13.jpg)
SYIT 191-200 13
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.
![Page 14: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/14.jpg)
SYIT 191-200 14
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.
![Page 15: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/15.jpg)
SYIT 191-200 15
LOW LEVEL DESIGN (LLD)
In this phase, HLD is broken down into smaller modules/programs. LLD is used by developers.
![Page 16: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/16.jpg)
16
Type of approaches and definition
APPROACHES IN SDLC
![Page 17: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/17.jpg)
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
![Page 18: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/18.jpg)
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
![Page 19: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/19.jpg)
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 ease-of-change during the development process.
A basic understanding of the fundamental business problem is necessary to avoid solving the wrong problem.
![Page 21: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/21.jpg)
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
![Page 22: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/22.jpg)
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.
![Page 23: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/23.jpg)
PHASES IN SDLCTypes Of Phases
![Page 24: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/24.jpg)
SYIT 191-200 24
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.
![Page 25: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/25.jpg)
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
![Page 26: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/26.jpg)
SYIT 191-200 26
CODING
Coding During this phase, source code,
executables are produced to develop the final product.
![Page 27: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/27.jpg)
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
![Page 28: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/28.jpg)
DEVELOPMENT
Program Development Life Cycle (PDLC) ( to be used with customised software )
Testing
![Page 29: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/29.jpg)
DEVELOPMENT
Stages of the PDLC: Analyse Design Code Debug Test Document Implement Evaluate
![Page 30: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/30.jpg)
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)
![Page 31: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/31.jpg)
IMPLEMENTATION PHASE
Hardware purchase & set up System conversion Testing Handover of system and
documentation
![Page 32: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/32.jpg)
EVALUATION PHASE
Determine suitable time Original aims & objectives Design specifications Other factors eg: efficiency,
effectiveness etc..
![Page 33: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/33.jpg)
Overview of Analysis
ANALYSIS PHASE
![Page 34: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/34.jpg)
SYIT 191-200 34
WHAT IS ANALYSIS?
Analysis is the first phase in SDLC where the Software is Discussed Much before it is implemented.
![Page 35: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/35.jpg)
35
PHASES IN SDLC
SYIT 191-200
![Page 36: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/36.jpg)
SYIT 191-200 36
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
![Page 37: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/37.jpg)
SYIT 191-200 37
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.
![Page 38: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/38.jpg)
SDLC REQUIREMENT
Basic Requirement In SDLC
![Page 39: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/39.jpg)
SDLC REQUIREMENT
Scope Technical Activities Management Activities Installation Guidance
![Page 40: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/40.jpg)
SCOPE REQUIREMENTS
-New Development - Rewrites of Existing Systems - Maintenance - Package Selection - System Conversions
![Page 41: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/41.jpg)
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.
![Page 42: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/42.jpg)
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
![Page 43: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/43.jpg)
INSTALLATION SUPPORT REQUIREMENTS
Large and complex system containing many tasks, tools and techniques.
That process requires training, guidance and a phased installation.
![Page 44: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/44.jpg)
DESIGNING PHASEHow to Design a software
![Page 45: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/45.jpg)
45
DESIGN PHASE TECHNICAL ACTIVITIES DIAGRAM
SYIT 191-200
![Page 46: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/46.jpg)
46
PURPOSE OF DESIGNING
To transform the data model (developed in the analysis phase) into logical and physical information structure
SYIT 191-200
![Page 47: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/47.jpg)
47
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
SYIT 191-200
![Page 48: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/48.jpg)
48
DESIGN SYSTEM ARCHITECTURE
The technical architecture used by the application is described by presenting the various hardware, software and networking components, and their interfaces.
SYIT 191-200
![Page 49: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/49.jpg)
49
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)
SYIT 191-200
![Page 50: Software development process](https://reader036.fdocuments.us/reader036/viewer/2022062404/554cbca4b4c905335b8b547b/html5/thumbnails/50.jpg)
SYIT 191-200
50
CONCLUSION
The structure imposed by this SDLC is specifically designed to maximize the
probability of a successful software development effort.