The Top Thrill Dragster

Similar documents
Chapter 3 Prescriptive Process Models

Development Process Bennett, McRobb and Farmer 1

Note 10: Software Process

Software development processes: from the waterfall to the Unified Process

Introduction to Software Engineering

Software Engineering

03. Perspective Process Models

Chapter 3 Software Process Model

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

An Overview of Software Process

Processes and Life- Cycles. Kristian Sandahl

Software Engineering and Software Engineers

Sistemi ICT per il Business Networking

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Software development processes: from the waterfall to the Unified Process

Processes and Life- Cycles. Kristian Sandahl

The software process

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO

Pertemuan 2. Software Engineering: The Process

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

CMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

CMPT 275 Software Engineering

Software Engineering

2009 Spring. Software Modeling & Analysis. - Software Process Model. Lecturer: JUNBEOM YOO

Software Processes 1

A New Divide & Conquer Software Process Model

Nitty Gritty of QA Project Management. 11-Feb-09 Carol Perletz

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Software Processes. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University

The Software Life Cycle

MTAT Software Engineering Management

9/24/2011 Sof o tw t a w re e P roc o e c s e s s s Mo M d o e d l e s l 1 Wh W a h t t i s i s a Pr P oc o ess s 2 1

5) A work breakdown structure is a list of tasks broken down to small manageable activities. Answer: TRUE Diff: 2 Page Ref: 42

ABHELSINKI UNIVERSITY OF TECHNOLOGY

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

Software Process. Overview

CSE 435 Software Engineering. Sept 14, 2015

Software Engineering COMP 201

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

SYLLABUS. What is Agility, What is an Agile Process, Agile Process Models.

Processes. Object Orientated Analysis and Design. Benjamin Kenwright

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008

Software Development Software Development Activities

SWE 211 Software Processes

Software Engineering QUESTION BANK

Lecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2.

A Comparison Between Two Software Engineering Processes, RUP And Waterfall Models

The Unified Software Development Process

Credit where Credit is Due. Lecture 2: Software Engineering (a review) Goals for this Lecture. What is Software Engineering

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

Software Engineering Part 2

Software Engineering Modern Approaches

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.

Introduction of RUP - The Rational Unified Process

Quality 24 Process Improvement 26 Real processes. Product Quality. Quality Management. Quality Management. Quality Plan

Selecting Software Development Life Cycles. Adapted from Chapter 4, Futrell

Chapter 6. Software Quality Management & Estimation

An Oracle White Paper February Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions


Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 11: Managing the Software Process

The Product Creation Process


Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1

CMMI GLOSSARY A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

What Is the Rational Unified Process?

3. Comparison of Above Described SDLC Models

The Software Life Cycle

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Software Engineering. 2.1 Introduction

Contents. List of Acronyms Preface

What We ll Cover. What is the SDLC? Component 8 Installation and Maintenance of Health IT Systems

Software Processes. Chapter 2. CMPT 276 Dr. B. Fraser Based on slides from Software Engineering 9 th ed, Sommerville.

Other Agile Approaches & Methodologies

Software LEIC. Lecture 23

! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process

The Systems Development Lifecycle

Process. CMPUT 401 Module 04. Department of Computing Science University of Alberta Ken Wong, 2008

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany

By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson

Software Engineering

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

Tuesday, October 25. Announcements

Software Design COSC 4353/6353 D R. R A J S I N G H

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

SDLC AND MODEL SELECTION: A STUDY

methodologies (SOFTWARE ENGINEERING) CONTENTS 1.1 INTRODUCTION TO O SOFTWARE ENGINEERING Basic Stages in Software Development... 1.

PI-MDD Executive Summary

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.

CS/IT Secure Software Construction

Rational Software White Paper TP 174

Transcription:

EEC 421/521: Software Engineering The Software Process Prescriptive Process Models 1/22/08 EEC 421/521: Software Engineering 1 The Top Thrill Dragster 420 ft tall Max speed over 120 mph World s second fastest roller coaster 1/22/08 EEC 421/521: Software Engineering 2

Roller Coaster Process Concept The park conceptualizes what it wants Hires a company to build it; communicates its concept to the builder Builder plans the coaster, and communicates its plans and the budget to park for approval Planning Builder then makes models of the coaster and makes sure that all the requirements are met Modeling The models also help understand the physics a little better than plain calculations The actual coaster is built, and tested The coaster is delivered to the park and is opened to public Communication Deployment 1/22/08 EEC 421/521: Software Engineering 3 What is a Software Process? A series of predictable steps that helps produce a timely, high-quality result What are the actual steps? Differs from one process model to another Important because it provides stability, control and organization A process defines who is doing what, when, and how to reach a certain goal Ivar Jacobson, Grady Booch, and James Rumbaugh 1/22/08 EEC 421/521: Software Engineering 4

Software Engineering: A Layered Technology Software Engineering Tools Methods Process It should do X. It should do Y. I m not sure A quality focus Software engineering encompasses a process, management and technical methods, and tools. Software requirements are embodied knowledge that is initially dispersed, tacit, latent, and incomplete. 1/22/08 EEC 421/521: Software Engineering 5 Generic Software Engineering Phases The definition phase What product is going to be built? The development phase How will the product be built, and how will it be tested? The support phase Incorporate changes from the four sources of change. Correction Adaptation Enhancement Prevention 1/22/08 EEC 421/521: Software Engineering 6

Process Framework Provides the foundation for a complete software process Identifies framework activities Applicable to all software projects Defines a set of software engineering actions Each action has a set of work tasks Defines umbrella activities Applicable to the process across all process stages Focus is on project management, tracking, and control 1/22/08 EEC 421/521: Software Engineering 7 Generic Framework Activities Communication Communication/collaboration with customer Planning Technical tasks, risks, resource requirements, schedule, etc. Modeling Design, models, prototypes, customer feedback Coding, testing Deployment Delivery 1/22/08 EEC 421/521: Software Engineering 8

Umbrella Activities Software project tracking and control Risk management Software quality assurance Formal technical reviews Measurement Software configuration management Reusability management Work product preparation and production 1/22/08 EEC 421/521: Software Engineering 9 Process Variety Prescriptive models Waterfall model Spiral model The Unified Process Formal methods In general, more disciplined, and more rules Agile models Extreme programming Adaptive software development Scrum Feature-driven Development Fewer rules, focus on end product 1/22/08 EEC 421/521: Software Engineering 10

SEI CMMI Level 0: Incomplete No process Level 1: Performed Specific goals of process area are performed Level 2: Managed Work in process area conforms to a defined policy Level 3: Defined The process is tailored to the specific organization Level 4: Quantitatively Managed Quantitative objectives are established and reviewed Level 5: Optimized Process is adapted and optimized based on statistical evidence 1/22/08 EEC 421/521: Software Engineering 11 Process Patterns A consistent template for describing important characteristics for the software process Provides suggested solutions to recurring problems in the software process e.g., customer-communication, project-team assembly Can be reused in several different contexts 1/22/08 EEC 421/521: Software Engineering 12

General Characteristics of Prescriptive Models Framework activities populated with explicit tasks for software engineering actions The models prescribe how the various actions are to be executed The models prescribe a workflow 1/22/08 EEC 421/521: Software Engineering 13 The Waterfall Model Sequential approach to software development Communication Project initiation Requirements Planning Estimation Scheduling Tracking Modeling Analysis Design Code Test Deployment Delivery Support Feedback 1/22/08 EEC 421/521: Software Engineering 14

Communication Project initiation Requirements Planning Estimation Scheduling Tracking Modeling Analysis Design Code Test Communication Project initiation Requirements Deployment Delivery Support Feedback Planning Estimation Scheduling Tracking Modeling Analysis Design Code Test Communication Project initiation Requirements Deployment Delivery Support Feedback Planning Estimation Scheduling Tracking Modeling Analysis Design Code Test Deployment Delivery Support Feedback The Waterfall Model (2) Good for projects that can be planned completely right at the beginning Well-defined requirements No changes anticipated Most real projects cannot be built sequentially Most new projects have inherent uncertainty No way of checking if requirements are met 1/22/08 EEC 421/521: Software Engineering 15 The Incremental Model Iterative application of the Waterfall Product is grown through several increments Release 3 Software functionality Release 1 Release 2 Project time 1/22/08 EEC 421/521: Software Engineering 16

The Incremental Model (2) The model is an evolutionary approach The product gains more features with every iteration Similar to Waterfall Each increment is built sequentially Changes are expensive inside an increment Each increment is a usable, finished product Not a prototype 1/22/08 EEC 421/521: Software Engineering 17 Prototyping Requirements are very fuzzy Idea is there, but no details Customer is not able to clearly state requirement Communication is key Communication Quick plan Deployment, Delivery & Feedback Modeling and Quick Design Prototype construction 1/22/08 EEC 421/521: Software Engineering 18

Prototyping (2) Great way to elicit requirements Can serve as requirements gathering technique for other process models Saves a lot of change later on in the life-cycle Customer may not like the throw-away nature of the prototype May want to shorten schedule Bad development choices may be made 1/22/08 EEC 421/521: Software Engineering 19 The Spiral Model The most mature of evolutionary models Controlled and systematic, yet evolutionary Risk-driven process model Cyclic approach Increase degree of definition and implementation Decrease degree of risk Anchor point milestones 1/22/08 EEC 421/521: Software Engineering 20

The Spiral Model (2) Communication Start Planning Estimation Scheduling Risk analysis Modeling Analysis Design Deployment Delivery Feedback Code Test 1/22/08 EEC 421/521: Software Engineering 21 The Spiral Model (3) Realistic model for large projects Periodic risk evaluation leads to better utilization of resources When is the project finished? Considerable risk assessment expertise is required 1/22/08 EEC 421/521: Software Engineering 22

The Unified Process Unifies important features of other process models Specifically targeted at Object-Oriented system development Based on the concept of use-cases Includes a set of design tools Unified Modeling Language 1/22/08 EEC 421/521: Software Engineering 23 The Unified Process (2) Elaboration Modeling Inception Planning Communication Transition Deployment Release Software increment Production 1/22/08 EEC 421/521: Software Engineering 24

The Unified Process (3) Defined set of work products Use-case model (inception) Non-functional requirements (elaboration) Analysis model (elaboration) Design model (construction) Implementation model (construction) Test cases (construction) Beta test reports (transition) User feedback reports (transition) 1/22/08 EEC 421/521: Software Engineering 25 Other Prescriptive Models Component-Based Development Integrating components with well-defined interfaces to build system Formal Methods Model Specification, development, and verification of system using rigorous mathematical notation 1/22/08 EEC 421/521: Software Engineering 26

Reading Assignment Gilda Pour, Martin L. Griss, and Michael Lutz. The Push to Make Software Engineering Respectable. IEEE Computer. May 2000. pages 35 43. 1/22/08 EEC 421/521: Software Engineering 27