Software Process and Models



Similar documents
Plan-Driven Methodologies

A Survey of Plan-Driven Development Methodologies

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

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

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

Classical Software Life Cycle Models

What is a life cycle model?

I219 Software Design Methodology

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

CS4507 Advanced Software Engineering

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

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

Unit 1 Learning Objectives

Software Engineering

How To Understand The Software Process

Introduction to Agile Software Development

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

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Development Methodologies

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

Chap 1. Introduction to Software Architecture

3C05: Unified Software Development Process

Frank Tsui. Orlando Karam. Barbara Bernal. State. University. Polytechnic. Ail of Southern JONES & BARTLETT LEARNING

CHAPTER. Software Process Models

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

The Rap on RUP : An Introduction to the Rational Unified Process

SOFTWARE PROCESS MODELS

Chapter 3 Technology adapted

Software Life Cycle Processes

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

Chapter 2 Software Processes

Software Lifecycles Models

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

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

RUP for Software Development Projects

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

CSE 435 Software Engineering. Sept 16, 2015

Software Project Management using an Iterative Lifecycle Model

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

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

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

2. Analysis, Design and Implementation

Test Cases Design for Software Database Provisioning Development

Surveying and evaluating tools for managing processes for software intensive systems

System development lifecycle waterfall model

Supporting Workflow Overview. CSC532 Fall06

Introduction to Software Engineering. Week 1

Web Application Development Process

2. Analysis, Design and Implementation

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Software Development Methodologies

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

Comparison between Agile and Traditional software development methodologies

Ob j ect-oriented Project Management with UML

The Software Life Cycle. CSE 308: Software Engineering

Software Design Models, Tools & Processes *

Basic Unified Process: A Process for Small and Agile Projects

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

Software Development Process Models

How To Design An Information System

Software Life Cycles and Configuration Management

A Comparison of SOA Methodologies Analysis & Design Phases

Course/Year W080/807 Expected Solution Subject: Software Development to Question No: 1

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

Software Production and Lifecycle Models

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

IT3205: Fundamentals of Software Engineering (Compulsory)

An Approach for assessing the Quality of Software for small and medium sized firms

1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)

COMP 354 Introduction to Software Engineering

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

Chapter 3. Technology review Introduction

Software Engineering Question Bank

Software Development Life Cycle (SDLC)

6 Contracts and Scenarios in the Software Development Process

Software Development Life Cycle

Software Development Process

IV. Software Lifecycles

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

Business Analysis Essentials

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Object-Oriented Systems Analysis and Design

Components Based Design and Development. Unit 2: Software Engineering Quick Overview

Unit I. Introduction

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

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

Transcription:

Agenda Software Process Models Plan-driven Process Models Software Process and Models A software process model simplified, abstracted description of a software development process. A model is good for explaining different general approaches to software development. Example: waterfall model A software process is the process by which user needs are translated into a software product. The process involves translating user needs into software requirements, transforming the software requirements into design, implementing the design in code, testing the code, and sometimes installing and checking out the software for operational use. Note: these activities might overlap or be performed iteratively. Example: extreme programming A software development practice is an activity performed to aid in the development of a software product. Example: black box testing

The Waterfall Model of the Software Life Cycle Iterative - Spiral Model. Spiral focuses on RISK MANAGEMENT Determine objectives, alternatives, & constraints Delivers full system at the very beginning and then changes of functionality of each subsystem with each new release. Evaluate alternatives, identify & resolve risks P1 Prototype3 Prototype2 Prototype1 Requirements Concept of plan operation Software System Requirements Product Detailed Design Design Development Requirements plan validation P2 Code Plan next phase Integration Design plan validation Unit Test Integration & Test Acceptance Test Develop & verify next level product

Incremental Model System partitioned into subsystems. Releases are defined beginning with one small, functional subsystem and then adding functionality wit each new release. What are the pro s and con s of each Deter mine objectiv es, alter nativ es, & constr aints Evaluate alter nativ es, identify & resolv e r isks Requirements plan Development plan Concept of operation Requirements validation P1 Prototype1 Software Requirements P2 Prototype2 System Product Design Code Prototype3 Detailed Design Plan ne xt phase Integration Design plan validation Unit Test De velop & v er ify ne xt level product Acceptance Test Integration & Test spiral waterfall incremental

The Planning Spectrum I Source: Barry Boehm Get Ready For Agile Methods, With Care, IEEE Computer, Jan 2002. Which ones should I withdraw for this project?

Plan-Driven Methods Focus on repeatability and predictability Defined, standardized, and incrementally improving processes Thorough documentation A defined software system architecture defined upfront Detailed plans, workflow, roles, responsibilities, and work product descriptions Process group containing resources for specialists: process monitoring, controlling, and educating On-going risk management Focus on verification and validation Personal Software Process (PSP) Watts Humphrey SEI Each level has detailed scripts, checklists, and templates to guide the engineer through required steps. provides measurement-based feedback that helps each engineer improve her own personal software process The framework guides an engineer in using a defined, measured, planned, and quality controlled process

Team Software Process (TSP) Team roles from project structure for self-directed teams to plan and track their work, to establish goals, and to create and own their processes and plans.

Rational Unified Process (RUP) the RUP specifically embeds object-oriented techniques and uses UML as its principle notation Secondly, the RUP is a customizable process framework.

Process Structure Inception. Defining the objectives of the project, including the business case. This involves risk, initial project plans, and resource requirements. Elaboration. Creating and validating the architecture of the software system, capturing the most important and critical requirements, and planning and estimating the rest of the project. The use cases developed in the inception phase are done in greater detail. Construction. Implementing the system based on the executable architecture t created in the elaboration phase. Transition. Beta testing the system with some customers and preparing release candidates.