SDLC Software Development Life Cycle. SDLC Acronym for system development life cycle. Acronym for system development life cycle. Is the process of developing.

Slides:



Advertisements
Similar presentations
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Advertisements

Lecture # 2 : Process Models
MIS 2000 Class 20 System Development Process Updated 2014.
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
IS2210: Systems Analysis and Systems Design and Change
SDLC Group 1 Hang Pham Jared Jelacich Hector Arreola.
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
Systems Analysis and Design II
Chapter 3 Process Models
Copyright © Texas Education Agency, Computer Programming Software Life Cycle.
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas The primarily goal of a system is to create value for the organization. Many failed systems were abandoned.
System Analysis and Design (SAD )
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
12 C H A P T E R Systems Investigation and Analysis and Analysis.
Fundamentals of Information Systems, Second Edition
System Development Life Cycle (SDLC)
SDLC and Related Methodologies
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
Acquiring Information Systems and Applications
CIS 321—IS Analysis & Design
S/W Project Management
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Chapter 2 The process Process, Methods, and Tools
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
Objectives:  To define RAD  Describe RAD as a system development method  List the advantages of RAD as a method  List the disadvantages of RAD  State.
System DevelopmentInformation Systems for Management1 Chapter 9 System Development.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Information Systems Technology Ross Malaga "Part III - Building and Managing Information Systems" III 11 Copyright © 2005 Prentice Hall, Inc MANAGING.
Installation and Maintenance of Health IT Systems
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Systems Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
Software Development Life Cycle by A.Surasit Samaisut Copyrights : All Rights Reserved.
Topics Covered Phase 1: Preliminary investigation Phase 1: Preliminary investigation Phase 2: Feasibility Study Phase 2: Feasibility Study Phase 3: System.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Program Development Cycle
Systems Development AIMS 2710 R. Nakatsu. Overview Two philosophies of systems development –Systems Development Life Cycle (SDLC) –Prototyping Alternative.
INTRODUCTION TO PROGRAMMING. Program Development Life Cycle The program development life cycle is a model that describes the stages involved in a program.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Systems Development Life Cycle
It specifies the various phases/workflows of the software process, – such as the requirements, – analysis (specification), – design, – implementation,
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
Software Engineering Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
MANAGEMENT INFORMATION SYSTEM
SDLC and Related Methodologies
Information Systems Development
Software Development - Methodologies
Introduction to Systems Analysis and Design
Systems Analysis and Design
Unit 6 Application Design KLB Assignment.
Methodologies and Algorithms
Software Project Configuration Management
Computer Programming Software Life Cycle.
Systems Analysis & Design N106
Gary Hughes, South Oakleigh College
Systems Analysis and Design
System Development Life Cycle (SDLC)
Information Systems Development
Methodologies For Systems Analysis.
Software life cycle models
Systems Analysis and Design
System Development Life Cycle (SDLC)
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
SDLC and Related Methodologies
Information Systems Development (ISD) Systems Development Life Cycle
Presentation transcript:

SDLC Software Development Life Cycle

SDLC Acronym for system development life cycle. Acronym for system development life cycle. Is the process of developing information systems through: Is the process of developing information systems through: –Investigation –Analysis –Design –Implementation –Maintenance

SDLC Also known as: Also known as: –information systems development or –application development Is a systems approach to problem solving Is a systems approach to problem solving Is made up of several phases, each comprised of multiple steps …. Is made up of several phases, each comprised of multiple steps ….

The Software Concept Identifies and defines a need for the new system Identifies and defines a need for the new system –The existing system is evaluated –Deficiencies are identified –This can be done by: »Interviewing users of the system »Consulting with support personnel

A Requirements Analysis Analyses the information needs of the end users Analyses the information needs of the end users –The new system requirements are defined –The deficiencies in the existing system must be addressed with specific proposals for improvement

The Architectural Design Creates a blueprint for the design with the necessary specifications for: Creates a blueprint for the design with the necessary specifications for: –the hardware –the software –the people –the data resources –the security issues –the physical construction

Coding and Debugging Creates and programs the final system Creates and programs the final system The new components and programs must be obtained and installed The new components and programs must be obtained and installed

System Testing Evaluates the system's actual functionality in relation to expected or intended functionality Evaluates the system's actual functionality in relation to expected or intended functionality –Users of the system must be trained in its use –All aspects of performance must be tested –If necessary, adjustments must be made at this stage

System Put to Use Can be done in various ways: Can be done in various ways: –The new system can be phased in, according to application or location, and the old system gradually replaced –In some cases, it may be more cost-effective to shut down the old system and implement the new system all at once

System Evaluation Once the new system is up and running for a while, it should be exhaustively evaluated Once the new system is up and running for a while, it should be exhaustively evaluated Maintenance must be kept up rigorously at all times Maintenance must be kept up rigorously at all times Users of the system should be kept up-to- date concerning the latest modifications and procedures Users of the system should be kept up-to- date concerning the latest modifications and procedures

Various SDLC Approaches The waterfall model, the original SDLC method The waterfall model, the original SDLC method Rapid Application Development (RAD) Rapid Application Development (RAD) Joint Application Development (JAD) Joint Application Development (JAD) The fountain model The fountain model The spiral model The spiral model Build and fix Build and fix Synchronize-and-stabilize Synchronize-and-stabilize Frequently, several models are combined into some sort of hybrid process Frequently, several models are combined into some sort of hybrid process

Documentation Is crucial regardless of the type of model chosen or devised for any application Is crucial regardless of the type of model chosen or devised for any application Is usually done in parallel with the development process. Is usually done in parallel with the development process.

Waterfall Model Linear and sequential Linear and sequential Distinct goals for each phase of development Distinct goals for each phase of development Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance with no overlapping or going over previous steps Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance with no overlapping or going over previous steps

Waterfall Model Does not allow for much reflection or revision Does not allow for much reflection or revision Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage

Joint Application Development A methodology that involves the client or end user in the design and development of an application, through a succession of collaborative workshops called JAD sessions A methodology that involves the client or end user in the design and development of an application, through a succession of collaborative workshops called JAD sessions Is thought to lead to faster development times and greater client satisfaction, because the client is involved throughout the development process Is thought to lead to faster development times and greater client satisfaction, because the client is involved throughout the development process

Rapid Application Development A concept that products can be developed faster and of higher quality through: A concept that products can be developed faster and of higher quality through: –Gathering requirements using workshops or focus groups –Prototyping and early, reiterative user testing of designs –The re-use of software components –A rigidly paced schedule that defers design improvements to the next product version –Less formality in reviews and other team communication Is a variation of JAD Is a variation of JAD

Build A build is a version of a program A build is a version of a program As a rule, a build is a pre-release version and as such is identified by a build number, rather than by a release number As a rule, a build is a pre-release version and as such is identified by a build number, rather than by a release number Reiterative (repeated) builds are an important part of the development process Reiterative (repeated) builds are an important part of the development process

Build Throughout development, application components are collected and repeatedly compiled for testing purposes, to ensure a reliable final product Throughout development, application components are collected and repeatedly compiled for testing purposes, to ensure a reliable final product Build tools, such as Make or Ant, enable developers to automate some programming tasks Build tools, such as Make or Ant, enable developers to automate some programming tasks As a verb, to build can mean either to write code or to put individual coded components of a program together As a verb, to build can mean either to write code or to put individual coded components of a program together

Synchronise and Stabilise Is a systems development life cycle model in which teams work in parallel on individual application modules Is a systems development life cycle model in which teams work in parallel on individual application modules They frequently synchronise their code with that of other teams They frequently synchronise their code with that of other teams They debug (stabilise) code regularly throughout the development process. They debug (stabilise) code regularly throughout the development process.

Synchronise and Stabilise The sync-and-stabilize model offers advantages over the older waterfall model, which is strictly sequential in nature The sync-and-stabilize model offers advantages over the older waterfall model, which is strictly sequential in nature –Sync-and-stabilize development allows for changes at any point in the process –It can be flexible, and more easily able to respond to market requirement changes