Unit I. Introduction



Similar documents
Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Software Development Process Models

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

CSE 435 Software Engineering. Sept 16, 2015

Classical Software Life Cycle Models

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

General Problem Solving Model. Software Development Methodology. Chapter 2A

CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models

How To Model Software Development Life Cycle Models

Software Engineering. What is a system?

Unit 1 Learning Objectives

Software Development Life Cycle & Process Models

To introduce software process models To describe three generic process models and when they may be used

Software Development Life Cycle (SDLC)

Software Process Models. Xin Feng

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Advanced Software Engineering. Software Development Processes

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

Lecture 3 Software Development Processes

(Refer Slide Time: 01:52)

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

A Capability Maturity Model (CMM)

The most suitable system methodology for the proposed system is drawn out.

And the Models Are System/Software Development Life Cycle. Why Life Cycle Approach for Software?

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Software Life Cycle. Management of what to do in what order

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Modelli di sviluppo software. Enrico Giunchiglia

Software Development Life Cycle

Software Life Cycle Models

Elite: A New Component-Based Software Development Model

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

IV. Software Lifecycles

Chapter 2 Software Processes

Requirements Analysis (RA): An Analytical Approach for Selecting a Software Process Models ABSTRACT

Umbrella: A New Component-Based Software Development Model

LECTURE 1. SYSTEMS DEVELOPMENT

How To Understand The Software Process

SELECTING A DEVELOPMENT APPROACH Original Issuance: February 17, 2005 Revalidated: March 27, 2008

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Software Project Models

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

IT4304 Rapid Software Development (Optional)

Agile Processes and Methodologies: A Conceptual Study

Overview. Software engineering and the design process for interactive systems. Standards and guidelines as design rules

SOFTWARE PROCESS MODELS

A COMPARISON BETWEEN DIFFERENT TYPES OF SOFTWARE DEVELOPMENT LIFE CYCLE MODELS IN SOFTWARE ENGINEERING

Software Engineering. Objectives. Designing, building and maintaining large software systems

Keywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects.

CS4507 Advanced Software Engineering

Information Technology Policy

What is Software? The Software Development Process. Definition of Software. Why Software?

Managing TM1 Projects

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

Software Life Cycle Processes

Standardized software development model for SME software houses in Pakistan

Netspective Software Development Process

Comparison of SDLC-2013 Model with Other SDLC Models by Using COCOMO

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.

How To Understand The Limitations Of An Agile Software Development

Chakra Vs Spiral Model - A Practical Approach

A Comparison between Five Models of Software Engineering

Prototyping and Rapid. Contents. Application Development (RAD) What is RAD. RAD - Background. Definitions Anecdotal advantages! Anecdotal problems!

Lifecycle Models: Waterfall / Spiral / EVO

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

IT3205: Fundamentals of Software Engineering (Compulsory)

Evolving a Ultra-Flow Software Development Life Cycle Model

Test Cases Design for Software Database Provisioning Development

Object-Oriented and Classical Software Engineering

CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)

What is a life cycle model?

INTRODUCTION TO SOFTWARE ENGINEERING

CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

Software Life-Cycle. Series of steps through which software product progresses. A life-cycle is selected during requirement Phase

Lecture 1: Introduction to Software Quality Assurance

Large Scale Systems Design G52LSS

Introduction to Systems Analysis and Design

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Foundations of software engineering

Process Models and Metrics

COMP 354 Introduction to Software Engineering

A Process Model for Software Architecture

Models of Software Development

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Transcription:

Unit I Introduction

Product Life Cycles Products also have life cycles The Systems Development Life Cycle (SDLC) is a framework for describing the phases involved in developing and maintaining information systems Typical SDLC phases include planning, analysis, design, implementation, and support

Steps in SDLC Concept Exploration System exploration Requirements Design Implementation Installation Operations and support Maintenance Retirement

Process & Process Model Software Process the set of activities, methods, and practices that are used in the production and evolution of software Software Process Model one specific embodiment of a software process architecture

Why Modeling? To provide a common understanding To locate any inconsistencies, redundancies and omissions To reflect the development goals and provide early evaluation To assist development team to understand any special situation

Sample SDLC Models Waterfall model: has well-defined, linear stages of systems development and support Spiral model: shows that software is developed using an iterative or spiral approach rather than a linear approach Incremental release model: provides for progressive development of operational software RAD model: used to produce systems quickly without sacrificing quality Prototyping model: used for developing prototypes to clarify user requirements

Waterfall Model Requirement Analysis System Design Coding Testing Maintenance

Waterfall Model (cont d) classical one-shot approach effective control limited scope of iteration long cycle time not suitable for system of high uncertainty

V Model Requirements Analysis System Design Maintenance User Acceptance Testing System Testing Program Design Unit and Integration Testing Coding

V Model (cont d) Additional validation process introduced Relate testing to analysis and design Loop back in case of discrepancy

Spiral Model (adapted from Boehm 1987)

Spiral Model (cont d) Evolutionary approach Iterative development combined with risk management Risk analysis results in go, no-go decision

Spiral Model (cont d) Four major activities Planning Risk analysis Engineering Customer evaluation

Prototyping Model Goals meet users requirements in early stage reduce risk and uncertainty

Classification of Prototype Throw-away After users agree the requirements of the system, the prototype will be discarded. Evolutionary Modifications are based on the existing prototype. Incremental Functions will be arranged and built accordingly.

Prototyping Model Build prototype NO User satisfaction YES User feedback

Benefits of Prototyping Learning by doing Improved communication Improved user involvement Clarification of partially-known requirements

Prototyping Sequences Requirements gathering Quick design Prototype construction Customer evaluation Refinement Loop back to quick design for fine tuning Product engineering

Benefits of Prototyping Demonstration of the consistency and completeness of a specification Reduced need for documentation Reduced maintenance costs Feature constraint Production of expected results

Drawbacks of Prototyping Users sometimes misunderstand the role of the prototype Lack of project standards possible Lack of control Additional expense Close proximity of developers

Forms of Prototypes Mock-ups Simulated interaction Partial working model

Incremental Model Break system into small components Implement and deliver small components in sequence Every delivered component provides extra functionality to user

Incremental Model (cont d) Requirements Analysis Arrange requirements in increments Design and develop increment NO Validate increment Integrate increment System OK? YES

Iterative Model Deliver full system in the beginning Enhance functionality in new releases

Iterative Model (cont d) Design system version n n = n+1 NO Develop system version n Validate system version n System complete YES