This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

Similar documents
Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not.

This is a brief tutorial that explains how to make use of Sqoop in Hadoop ecosystem.

This is an introductory tutorial designed for beginners to help them understand the basics of Radius.

This tutorial has been prepared for beginners to help them understand the basic functionalities of Gulp.

About the Tutorial. Audience. Prerequisites. Copyright and Disclaimer. PySpark

This tutorial will guide users on how to utilize TestLodge in reporting and maintaining the testing activities.

So, this tutorial is divided into various chapters and describes the 5G technology, its applications, challenges, etc., in detail.

This is a small tutorial where we will cover all the basic steps needed to start with Balsamiq Mockups.

This tutorial has been prepared for beginners to help them understand the simple but effective SEO characteristics.

This tutorial is designed for software programmers who would like to learn the basics of ASP.NET Core from scratch.

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright DAX

SAP Lumira is known as a visual intelligence tool that is used to visualize data and create stories to provide graphical details of the data.

You must have a basic understanding of GNU/Linux operating system and shell scripting.

Memcached is an open source, high-performance, distributed memory object caching system.

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Meteor

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer DBMS

Before you start with this tutorial, you need to know basic Java programming.

Scalable Vector Graphics commonly known as SVG is a XML based format to draw vector images. It is used to draw twodimentional vector images.

Systems Analysis and Design in a Changing World, Fourth Edition

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. Graph Theory

This tutorial will help computer science graduates to understand the basic-to-advanced concepts related to data warehousing.

In this tutorial, we are going to learn how to use the various features available in Flexbox.

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. Jenkins

Parrot is a virtual machine designed to efficiently compile and execute bytecode for interpreted languages.

This tutorial explains the key concepts of Web Dynpro with relevant screenshots for better understanding.

This tutorial provides a basic understanding of how to generate professional reports using Pentaho Report Designer.

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Haskell Programming

This tutorial will show you, how to use RSpec to test your code when building applications with Ruby.

Before proceeding with this tutorial, you should have a good understanding of the fundamental concepts of marketing.

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. RichFaces

This tutorial explains how you can use Gradle as a build automation tool for Java as well as Groovy projects.

This tutorial will give you a quick start with Consul and make you comfortable with its various components.

This tutorial provides a basic level understanding of the LOLCODE programming language.

This tutorial is designed for those who would like to understand the basics of i-mode in simple and easy steps.

((MARKS)) (1/2/3...) ((QUESTIO N)) ((OPTION_ A)) What is Software?

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Drupal

Systems Analysis & Design

Introduction to Software Engineering

This tutorial has been prepared for computer science graduates to help them understand the basic-to-advanced concepts related to data mining.

About the Tutorial. Audience. Prerequisites. Copyright and Disclaimer. Logstash

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer

This tutorial is prepared for beginners to help them understand the basic-to-advanced concepts related to GPRS.

This tutorial will help you understand JSON and its use within various programming languages such as PHP, PERL, Python, Ruby, Java, etc.

Before proceeding with this tutorial, you must have a good understanding of Core Java and any of the Linux flavors.

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. TurboGears

You should have a basic understanding of Relational concepts and basic SQL. It will be good if you have worked with any other RDBMS product.

jmeter is an open source testing software. It is 100% pure Java application for load and performance testing.

This tutorial will take you through simple and practical approaches while learning AOP framework provided by Spring.

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. WordPress

Improving the Deferral Enactment of Vibrant Backpressure Systems K.V.Prabakaran 1, E.Dilipkumar 2

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer ASP.NET WP

This tutorial will help you in understanding IPv4 and its associated terminologies along with appropriate references and examples.

Incremental development A.Y. 2018/2019

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. Django

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department

MIS Systems & Infrastructure Lifecycle Management 1. Week 12 April 7, 2016

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design

This tutorial has been designed for beginners interested in learning the basic concepts of UDDI.

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer

This tutorial introduces you to key DynamoDB concepts necessary for creating and deploying a highly-scalable and performance-focused database.

This tutorial is designed for all Java enthusiasts who want to learn document type detection and content extraction using Apache Tika.

Before you start proceeding with this tutorial, we are assuming that you are already aware about the basics of Web development.

This tutorial provides a basic understanding of the infrastructure and fundamental concepts of managing an infrastructure using Chef.

This is a simple tutorial that covers the basics of SAP Business Intelligence and how to handle its various other components.

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. Avro

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright CICS

This tutorial will teach you how to use Java Servlets to develop your web based applications in simple and easy steps.

IT Methodology Webinar

This is an introductory tutorial, which covers the basics of Jython and explains how to handle its various modules and sub-modules.

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools

This tutorial covers a foundational understanding of IPC. Each of the chapters contain related topics with simple and useful examples.

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Joomla

Objectives. Connecting with Computer Science 2

Microsoft Excel is a spreadsheet tool capable of performing calculations, analyzing data and integrating information from different programs.

In mainframe environment, programs can be executed in batch and online modes. JCL is used for submitting a program for execution in batch mode.

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

System Development Life Cycle Methods/Approaches/Models

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

User Documentation Development Life Cycle (UDDLC)

Adobe Flex Tutorial i

Chapter 5. The Database Life Cycle. Class 04: Topic 3.1: The Database Life Cycle

Systems Analysis and Design

This tutorial has been designed to help beginners understand the basic concepts of WiMAX.

Topic 01. Software Engineering, Web Engineering, agile methodologies.

About Tutorial. Audience. Prerequisites. Disclaimer & Copyright. Euphoria

Meltem Özturan

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Gerrit

Chapter 1: Introduction to Systems Analysis

Leverage the Software Development Lifecycle. IT Methodology Webinar

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. HCatalog

Testing. Projects. Corporate Trainer s Profile. CMM (Capability Maturity Model) level Project Standard:- TECHNOLOGIES

IT Methodology Webinar

Level 4 Diploma in Computing

SEGUE DISCOVERY PARTICIPATION IN DISCOVERY DISCOVERY DELIVERABLES. Discovery

Unit 1 Research Project. Eddie S. Jackson. Kaplan University. IT525: Database Design and Data Modeling

OBJECTIVES DEFINITIONS CHAPTER 1: THE DATABASE ENVIRONMENT AND DEVELOPMENT PROCESS. Figure 1-1a Data in context

DEVELOPING DECISION SUPPORT SYSTEMS A MODERN APPROACH

In this tutorial, we will discuss the architecture, pin diagram and other key concepts of microprocessors.

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Computer Graphics

1. i. What are the 3 major components of a information system and show their relationship input output

Transcription:

i

About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give you an overview of the SDLC basics, SDLC models available and their application in the industry. This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping. Audience This tutorial is relevant to all those professionals contributing in any manner towards Software Product Development and its release. It is a handy reference for the quality stakeholders of a Software project and the program/project managers. By the end of this tutorial, the readers will develop a comprehensive understanding of SDLC and its related concepts and will be able to select and follow the right model for any given Software project. Prerequisites There are no specific prerequisites for this SDLC tutorial and any software professional can go through this tutorial to get a bigger picture of how the high-quality software applications and products are designed. A good understanding of programming or testing or project management will give you an added advantage and help you gain maximum from this tutorial. Copyright & Disclaimer Copyright 2017 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at contact@tutorialspoint.com i

Table of Contents About the Tutorial... i Audience... i Prerequisites... i Copyright & Disclaimer... i Table of Contents... ii 1. SDLC OVERVIEW... 1 What is SDLC?... 1 SDLC Models... 3 2. SDLC WATERFALL MODEL... 4 Waterfall Model Design... 4 Waterfall Model Application... 5 Waterfall Model Advantages... 6 Waterfall Model Disadvantages... 6 3. SDLC ITERATIVE MODEL... 7 Iterative Model Design... 7 Iterative Model Application... 8 Iterative Model Pros and Cons... 8 4. SDLC SPIRAL MODEL... 10 Spiral Model Design... 10 Spiral Model Application... 11 Spiral Model Pros and Cons... 12 5. SDLC V-MODEL... 13 V-Model Design... 13 V-Model Verification Phases... 14 ii

Coding Phase... 14 Validation Phases... 15 V- Model Application... 15 V-Model Pros and Cons... 16 6. SDLC BIG BANG MODEL... 17 Big Bang Model Design and Application... 17 Big Bang Model Pros and Cons... 17 7. SDLC AGILE MODEL... 18 What is Agile?... 18 Agile Vs Traditional SDLC Models... 20 Agile Model Pros and Cons... 20 8. SDLC RAD MODEL... 22 What is RAD?... 22 RAD Model Design... 22 RAD Model Vs Traditional SDLC... 24 RAD Model Application... 24 RAD Model Pros and Cons... 24 9. SDLC SOFTWARE PROTOTYPE MODEL... 26 What is Software Prototyping?... 26 Software Prototyping Types... 27 Software Prototyping Application... 28 Software Prototyping Pros and Cons... 28 iii

1. SDLC Overview SDLC Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality softwares. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates. SDLC is the acronym of Software Development Life Cycle. It is also called as Software Development Process. SDLC is a framework defining tasks performed at each step in the software development process. ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software. What is SDLC? SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process. The following figure is a graphical representation of the various stages of a typical SDLC. 1

A typical Software Development Life Cycle consists of the following stages: Stage 1: Planning and Requirement Analysis Requirement analysis is the most important and fundamental stage in SDLC. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational and technical areas. Planning for the quality assurance requirements and identification of the risks associated with the project is also done in the planning stage. The outcome of the technical feasibility study is to define the various technical approaches that can be followed to implement the project successfully with minimum risks. Stage 2: Defining Requirements Once the requirement analysis is done the next step is to clearly define and document the product requirements and get them approved from the customer or the market analysts. This is done through an SRS (Software Requirement Specification) document which consists of all the product requirements to be designed and developed during the project life cycle. Stage 3: Designing the Product Architecture SRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS - Design Document Specification. This DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints, the best design approach is selected for the product. A design approach clearly defines all the architectural modules of the product along with its communication and data flow representation with the external and third party modules (if any). The internal design of all the modules of the proposed architecture should be clearly defined with the minutest of the details in DDS. Stage 4: Building or Developing the Product In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle. Developers must follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers, etc. are used to generate the code. Different high level programming languages such as C, C++, Pascal, Java and PHP are used for coding. The programming language is chosen with respect to the type of software being developed. 2

Stage 5: Testing the Product This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. However, this stage refers to the testing only stage of the product where product defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS. Stage 6: Deployment in the Market and Maintenance Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product deployment happens in stages as per the business strategy of that organization. The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing). Then based on the feedback, the product may be released as it is or with suggested enhancements in the targeting market segment. After the product is released in the market, its maintenance is done for the existing customer base. SDLC Models There are various software development life cycle models defined and designed which are followed during the software development process. These models are also referred as "Software Development Process Models". Each process model follows a Series of steps unique to its type to ensure success in the process of software development. Following are the most important and popular SDLC models followed in the industry: Waterfall Model Iterative Model Spiral Model V-Model Big Bang Model Other related methodologies are Agile Model, RAD Model, Rapid Application Development and Prototyping Models. 3

End of ebook preview If you liked what you saw Buy it from our store @ https://store.tutorialspoint.com 4