Object-Oriented Software Design and Software Processes

Size: px
Start display at page:

Download "Object-Oriented Software Design and Software Processes"

Transcription

1 Object-Oriented Software Design (COMP 304) Object-Oriented Software Design and Software Processes Hans Vangheluwe Modelling, Simulation and Design Lab (MSDL) School of Computer Science, McGill University, Montréal, Canada Hans Vangheluwe 1/22

2 Overview 1. (Software) Process: definition 2. Various Software Processes 3. The Process Influences Productivity: Dynamic Process Modelling using Forrester System Dynamics Hans Vangheluwe 2/22

3 Process: A Queueing System Arrival Queue Physical View Cashier Departure Departure Arrival [IAT distribution] Queue Cashier [ST distribution] Abstract View Hans Vangheluwe hv@cs.mcgill.ca 3/22

4 Event/Activity/Process Cust2 Process Cust2 Activity queue Cust2 Activity pay cashier Cust1 Process Cust1 Activity pay cashier Cust1 Arrival Cust1 Start pay cashier Cust1 End pay cashier Cust1 Leave t Cust2 Arrival Cust2 Start Queueing Cust2 End Queueing Cust2 Start pay cashier Cust2 End pay cashier Cust2 Leave Event Hans Vangheluwe hv@cs.mcgill.ca 4/22

5 Software Processes The Software Engineering process is the total set of Software Engineering activities needed to transform requirements into software. Watts S. Humphrey. Software Engineering Institute, CMU. Hans Vangheluwe 5/22

6 Software Processes (see notes) Waterfall (Royce) V Model (German Ministry of Defense) Prototyping Operational Specification Transformational (automated software synthesis) Phased Development: Increment and Iteration Spiral Model (Boehm) The Rational Unified Process (RUP) Extreme Programming (XP) Hans Vangheluwe hv@cs.mcgill.ca 6/22

7 The Rational Unified Process (RUP): Activity Workload as Function of Time Hans Vangheluwe 7/22

8 The Rational Unified Process (RUP): Observations 1. Waterfall-like sequence of Requirements, Design, Implementation, Testing. 2. Not pure waterfall: Phased Development (iterative) Overlap (concurrency) between activities 3. Testing: Regression (test not only newly developed, but also previously developed code) Testing starts before design and coding (Extreme Programming) Hans Vangheluwe 8/22

9 RUP: Phased Development Hans Vangheluwe 9/22

10 Extreme Programming (XP) Hans Vangheluwe 10/22

11 Extreme Programming (XP) highlights User Stories are written by the customers as things that the system needs to do for them. They drive the creation of acceptance tests. The project is divided into Iterations. Hans Vangheluwe 11/22

12 Extreme Programming (XP) highlights Use Class, Responsibilities, and Collaboration (CRC) Cards to design the system. Hans Vangheluwe 12/22

13 Extreme Programming (XP) highlights Code the Unit Test first. All code must have Unit Tests; All code must pass all unit tests before it can be released. Refactor whenever and wherever possible. Hans Vangheluwe 13/22

14 Extreme Programming (XP) highlights Pair Programming jriley/pairall.html Hans Vangheluwe 14/22

15 The Process influences Productivity Adding manpower to a late software project makes it later. Fred Brooks. The Mythical Man-Month. Hans Vangheluwe hv@cs.mcgill.ca 15/22

16 Why Brooks Law? Team Size. Model in Forrester System Dynamics using Vensim PLE ( development rate = nominal_productivity* (1-C_overhead*(N*(N-1)))*N Hans Vangheluwe hv@cs.mcgill.ca 16/22

17 Team Size N = 5 Hans Vangheluwe hv@cs.mcgill.ca 17/22

18 Team Size N = Optimal Team Size between 7 and 8 Hans Vangheluwe hv@cs.mcgill.ca 18/22

19 The Effect of Adding New Personnel (FSD model) development rate = nominal_productivity* (1-C_overhead*(N*(N-1)))* (1.2*num_exp_working + 0.8*num_new) Hans Vangheluwe hv@cs.mcgill.ca 19/22

20 5 New Programmers after 100 days Hans Vangheluwe 20/22

21 5 New Programmers after 100 days Hans Vangheluwe 21/22

22 New Programmers after 100 days Hans Vangheluwe hv@cs.mcgill.ca 22/22

The Systems Development Lifecycle

The Systems Development Lifecycle Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system developments projects The project Major attributes of the Lifecycle Moves systematically

More information

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system development projects Major attributes of the Lifecycle The project Moves systematically

More information

Tuesday, October 25. Announcements

Tuesday, October 25. Announcements Tuesday, October 25 Announcements Crowdsourcing the Midterm http://www.drsusansim.org/teaching/inf111/pligg Homework 5 Skip lab portion Use anything you want to draw the diagrams for the take home portion

More information

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

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development Because of rapidly changing business environments, businesses have to respond

More information

What is Software Engineering?

What is Software Engineering? COSC 3351 Software Software Life Cycle (I) Spring 2008 What is Software Engineering? Real world problems are large and complex. Solving problems requires multiple steps Analyzing: Break the problems into

More information

The Software Life Cycle

The Software Life Cycle Inception Software Increment Communication Planning Production The Software Life Cycle Software Engineering Deployment Andreas Zeller Saarland University Modelling Elaboration Transition Construction Construction

More information

Processes and Life- Cycles. Kristian Sandahl

Processes and Life- Cycles. Kristian Sandahl Processes and Life- Cycles Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify

More information

MODULE Explain briefly the different types of system models that might be created during the system analysis phase. 2. Write short notes on

MODULE Explain briefly the different types of system models that might be created during the system analysis phase. 2. Write short notes on 15CS42: SOFTWARE ENGINEERING QUESTION BANK MODULE 1. 1. What is software? Explain the two fundamental types of software products. 2. What is software engineering? What is the difference between software

More information

Processes and Life- Cycles. Kristian Sandahl

Processes and Life- Cycles. Kristian Sandahl Processes and Life- Cycles Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify

More information

An Overview of Software Process

An Overview of Software Process An Overview of Software Process Objectives To introduce the general phases of the software development life cycle (SDLC) To describe various generic software process models and discuss their pros and cons

More information

Objectives. Rapid software development. Topics covered. Rapid software development. Requirements. Characteristics of RAD processes

Objectives. Rapid software development. Topics covered. Rapid software development. Requirements. Characteristics of RAD processes Objectives Rapid software development To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods To

More information

Software Engineering QUESTION BANK

Software Engineering QUESTION BANK Software Engineering QUESTION BANK UNIT - 1 1. What is software? Explain the two fundamental types of software products. 2. What is software engineering? What is the difference between software engineering

More information

Software Life Cycles and Configuration Management

Software Life Cycles and Configuration Management Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden Theory Lecture Plan 2 L1 - Course Introduction

More information

03. Perspective Process Models

03. Perspective Process Models 03. Perspective Process Models Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Prescriptive Process Models advocates an orderly approach to software

More information

The Software Life Cycle

The Software Life Cycle Production Inception The Life Cycle Engineering Modelling Andreas Zeller Saarland University Elaboration Transition A Crisis Denver International Airport (DIA) started in 1989 53 sq miles Planned: 1.7

More information

Lecture 5. Software Processes CSC 4700 Software Engineering. Software Development Processes. The software process

Lecture 5. Software Processes CSC 4700 Software Engineering. Software Development Processes. The software process Software Processes CSC 4700 Software Engineering Lecture 5 Dr. Tom Way CSC 4700 1 Software Development Processes Dr. Tom Way CSC 4700 2 The software process A structured set of activities required to develop

More information

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects Lifecycle of Software Projects ECE450 Software Engineering II Lifecycle models are useful to compare project management strategies in abstract terms Birds-eye view strategy Detect strengths and weaknesses...

More information

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

Software Design COSC 4353/6353 D R. R A J S I N G H Software Design COSC 4353/6353 D R. R A J S I N G H Outline Week 2 Software Development Process Software Development Methodologies SDLC Agile Software Development Process A structure imposed on the development

More information

Rational Unified Process

Rational Unified Process Rational Unified Process Software development Life Cycle The life of a software system can be represented as a series of cycle. A cycle ends with the release of a version of the system to the customers.

More information

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software?

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software? Software engineering Facts CSC 4181 Compiler Construction Software Engineering Lectures Part 1 Fact: The economies of ALL developed nations are dependent on software. Fact: More and more systems are software

More information

Software LEIC. Lecture 23

Software LEIC. Lecture 23 Software Engineering @ LEIC Lecture 23 Last Lecture Software Evolution Project Management Software Process Today What is software development? Software development is a formalisation process From Natural

More information

CS350 Lecture 2 Software Dev. Life Cycle. Doo-Hwan Bae

CS350 Lecture 2 Software Dev. Life Cycle. Doo-Hwan Bae CS350 Lecture 2 Software Dev. Life Cycle Doo-Hwan Bae bae@se.kaist.ac.kr Whose Drawings? Watts Humphrey, SE is Religion and Philosophy. Just Follow me! CS350 Software Engineering, SoC, KAIST 2 What is

More information

ABHELSINKI UNIVERSITY OF TECHNOLOGY

ABHELSINKI UNIVERSITY OF TECHNOLOGY T 76.3601 Introduction to Software Engineering Software Life-Cycle Models http://www.soberit.hut.fi/t-76.3601/ Casper.Lassenius@tkk.fi Software Engineering? 1. The application of a systematic, disciplined,

More information

Introduction to Software Engineering: Project Management ( Highlights )

Introduction to Software Engineering: Project Management ( Highlights ) Introduction to Software Engineering: Project Management ( Highlights ) John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from chapters 14, 15, and 16 of Object

More information

3. Comparison of Above Described SDLC Models

3. Comparison of Above Described SDLC Models 123 3. Comparison of Above Described SDLC Models Waterfall Model is little hard to manage due to the rigidity of the model as each phase has specific deliverables and a review process. It works well for

More information

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

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2. Contents (v) CONTENTS Preface About the Author (xv) (xvii) Chapter 1 Introduction to Software Engineering 1.1 Introduction 1 1.2 Basics of Software Engineering 2 1.3 Principles of Software Engineering

More information

Software Engineering in the Agile World. Table of contents

Software Engineering in the Agile World. Table of contents Table of contents Chapter 1 14 Software Engineering 14 1.1 Introduction 14 1.2 No standard software engineering methodology 14 1.3 Waterfall methodology 15 1.3.1 Software development under Waterfall model

More information

I hate Maintenance! Maintenance SUCKS!

I hate Maintenance! Maintenance SUCKS! I hate Maintenance! Maintenance SUCKS! Agile Maintenance Naresh Jain Copyright ThoughtWorks, 2005 Agenda of this discussion Glossary Why maintain software Types of Software Maintenance Traditional v/s

More information

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

Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO Software Modeling & Analysis - Fundamentals of Software Engineering - Software Process Model Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr What is Software Engineering? [ IEEE Standard 610.12-1990 ] Software

More information

Agile Methods. Background

Agile Methods. Background Agile Methods Agile Alliance http://www.agilealliance.com/home Background In 2001, a group of lightweight methodologies practioners met to discuss similarities and experiences They wrote the Manifesto

More information

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

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis. SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS Saulius Ragaišis saulius.ragaisis@mif.vu.lt CSC2008 SE Software Processes Learning Objectives: Explain the concept of a software life cycle and

More information

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors 1.1. Cost Estimation Models Parametric cost models used in avionics, space, ground, and shipboard platforms by the services are generally based on the common effort formula shown in Equation 1. Size of

More information

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

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 11: Managing the Software Process Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process 11.1 What is Project Management? Project management encompasses all the

More information

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

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2. Chapter 2 Objectives What we mean by a process Software development products, processes, and resources Several models of the software development process Tools and techniques for process modeling 2.1 The

More information

Explore Comparative Analysis Software Development Life Cycle Models

Explore Comparative Analysis Software Development Life Cycle Models Explore Comparative Analysis Software Development Life Cycle Models Anshu Mishra Assistant Professor, Department of Information Science and Engineering Jyothy Institute of Technology, Bangalore Abstract-The

More information

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016 Introduction to Software Life Cycles CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016 1 Goals Present an introduction to the topic of software life cycles concepts and terminology benefits

More information

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 27 Component Based Development Process (Part A)

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 27 Component Based Development Process (Part A) Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 27 Component Based Development Process (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo

More information

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

2009 Spring. Software Modeling & Analysis. - Software Process Model. Lecturer: JUNBEOM YOO 2009 Spring Software Modeling & Analysis - Fundamentals of Software Engineering - Software Process Model Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr What is Software Engineering? IEEE Std 610.12-1990 [ IEEE

More information

CS 320 Introduction to Software Engineering Spring February 01, 2017

CS 320 Introduction to Software Engineering Spring February 01, 2017 CS 320 Introduction to Software Engineering Spring 2017 February 01, 2017 Recap: software development process Activities and steps Requirements engineering Design and architecture Implementation Verification

More information

Development Methodologies

Development Methodologies Development Methodologies Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm SAPM Spring 2012:

More information

Working Towards Lightweight Enterprise Architectures: the Process, frameworks, standards, and models

Working Towards Lightweight Enterprise Architectures: the Process, frameworks, standards, and models Working Towards Lightweight Enterprise Architectures: the Process, frameworks, standards, and models Theuerkorn s Lightweight Enterprise Architectures Chs 2-4, US Federal Standards, examples and more Domains

More information

CMPT 275 Software Engineering

CMPT 275 Software Engineering CMPT 275 Software Engineering Software life cycle 1 Software Life Cycle Sequence of processes completed as a software project moves from inception to retirement At beginning of project development, choose

More information

Software Process Modeling. Sadaf Mustafiz School of Computer Science McGill University

Software Process Modeling. Sadaf Mustafiz School of Computer Science McGill University Software Process Modeling Sadaf Mustafiz School of Computer Science McGill University Winter 2003 Outline (1) The Need for a Defined Software Process Objectives of Software Process Modeling Current Software

More information

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

Quality 24 Process Improvement 26 Real processes. Product Quality. Quality Management. Quality Management. Quality Plan Quality 24 Process Improvement 26 Real processes Cleanroom RUP XP Software Engineering 55 Software Engineering 56 Product Quality Acceptable: usable, learnable, compatible Efficient: response time, memory

More information

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

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008 Unified Process Peter Dolog dolog [at] cs [dot] aau [dot] dk 5.2.47 Information Systems March 3, 2008 2 Outline Model Driven Design Tutorial on Requirements Eng. and SCRUM reflections (D402a, s601c) Unified

More information

Lecture 1: Processes, Requirements, and Use Cases

Lecture 1: Processes, Requirements, and Use Cases Lecture 1: Processes, Requirements, and Use Cases 1 Development Processes Early Days: evolve a system Build and fix Leads to chaos Need for intelligent design Waterfall Model Requirements, Design, Code,

More information

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

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007 Unified Process and Testing with EasyAccept Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007 2 UP Unified Process, 1990 s Iterative, not agile Risk-driven development

More information

Announcements: HW #6 due in two weeks. Next week: Spring Break

Announcements: HW #6 due in two weeks. Next week: Spring Break Announcements: HW #6 due in two weeks Next week: Spring Break Use Case Development Procedure (See notes window) Use Case Development Procedure Step 1 Step 1: determine the system boundary What s in the

More information

Software Development Software Development Activities

Software Development Software Development Activities Software Development Software Development Activities Problem Definition Requirements Analysis Implementation Planning High-level Design (or Architecture) Detailed Design Coding and Unit Testing (Debugging)

More information

Foundations of Software Engineering. Lecture 16: Process: Linear to Iterative Michael Hilton

Foundations of Software Engineering. Lecture 16: Process: Linear to Iterative Michael Hilton Foundations of Software Engineering Lecture 16: Process: Linear to Iterative Michael Hilton 1 Learning goals Understand the need for process considerations Select a process suitable for a given project

More information

Rapid software development

Rapid software development Rapid software development 이동아 This lecture note is based on materials from Ian Sommerville 2006. Objectives To explain how an iterative, incremental development process leads to faster delivery of more

More information

Software Processes. CSE-C3610, Software Engineering, 5 cr. Prof. Casper Lassenius

Software Processes. CSE-C3610, Software Engineering, 5 cr. Prof. Casper Lassenius Software Processes CSE-C3610, Software Engineering, 5 cr Prof. Casper Lassenius Software Process What? Why? Software Process Definitions Process Webster: 1. A continuing development involving many changes.

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister Informatics and Mathematical Modelling Technical University of Denmark Spring 2011 c 2011 H. Baumeister (IMM) Software Engineering I

More information

Extreme programming. Why XP?

Extreme programming. Why XP? Extreme programming Timo Tuunanen YOMI 2004 Why XP? In the early 1990s a man named Kent Beck was thinking about better ways to develop software. He had recently spent some time working with Ward Cunningham.

More information

Software Engineering Lecture 5 Agile Software Development

Software Engineering Lecture 5 Agile Software Development Software Engineering Lecture 5 Agile Software Development JJCAO Mostly based on the presentation of Software Engineering, 9ed Exercise Describe the main activities in the software design process and the

More information

The software process

The software process Software Processes The software process A structured set of activities required to develop a software system Specification; Design; Validation; Evolution. A software process model is an abstract representation

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management

Ingegneria del Software Corso di Laurea in Informatica per il Management Ingegneria del Software Corso di Laurea in Informatica per il Management Software process model Davide Rossi Dipartimento di Informatica Università di Bologna The task of the software development team

More information

Evaluating Ten Software Development Methodologies

Evaluating Ten Software Development Methodologies Evaluating Ten Software Development Methodologies Capers Jones, President Capers Jones & Associates LLC Email: Capers.Jones3@Gmail.com Copyright 2011 by Capers Jones & Associates LLC. All rights reserved.

More information

INDEX. Numerics 1970s - iterative practice s - iterative practice 85

INDEX. Numerics 1970s - iterative practice s - iterative practice 85 Numerics 1970s - iterative practice 82 1980s - iterative practice 85 A acceptance testing 147, 295 adaptive development 15 planning 12, 17, 253 Adaptive Software Development 29, 34, 38 adoption 314, 320,

More information

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

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation Chapter 2 Software Processes Lecture 1 Software process descriptions When we describe and discuss processes, we usually talk about the activities in these processes such as specifying a data model, designing

More information

Babu Madhav Institute of Information Technology, UTU 2017

Babu Madhav Institute of Information Technology, UTU 2017 Five Years Integrated M.Sc. (IT) Semester 3 Question Bank 060010312 CC9 Software Engineering Unit 1 Introduction to Software Engineering and Object-Oriented Concepts 1. What is software? 2. Which documents

More information

Lecture 8 Agile Software Development

Lecture 8 Agile Software Development Lecture 8 Agile Software Development Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics

More information

Computer Science: Disciplines. What is Software Engineering and why does it matter? Software Disasters. Software Engineering

Computer Science: Disciplines. What is Software Engineering and why does it matter? Software Disasters. Software Engineering Computer Science: Disciplines 2 What is Software Engineering and why does it matter? Original slides by Chris Wilcox Colorado State University Computer Graphics Computer Networking and Security Parallel

More information

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems.

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems. Chapter 3 Agile Software Development Lecture 1 Topics covered Agile g methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods Rapid software development

More information

Contents 1 Introduction 2 Is the Old-Established Software Engineering Paradigm Entirely Out of Date?

Contents 1 Introduction 2 Is the Old-Established Software Engineering Paradigm Entirely Out of Date? 1 Introduction...1 1.1 1.2 1.3 What Is Software?...1 What Is Software Engineering?...29 The Major Activities/Tasks to Be Performed in Software Engineering...31 1.4 The Popular Lifecycle/Process Models

More information

Software Engineering

Software Engineering Software Engineering Lecture 02: Processes Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 41 Terms Software Component SW System Organized

More information

Scrum and Agile Processes. Dr.-Ing. Oliver Ciupke Haufe-Lexware GmbH & Co. KG 2011

Scrum and Agile Processes. Dr.-Ing. Oliver Ciupke Haufe-Lexware GmbH & Co. KG 2011 Scrum and Agile Processes Dr.-Ing. Oliver Ciupke Haufe-Lexware GmbH & Co. KG 2011 Scrum and Agile Processes: Outline Classical processes and their limitations Agile processes Scrum o Overview o History

More information

Agile Software Development:

Agile Software Development: Agile Software Development: 1.Agile methods 2.Plan-driven and agile development 3.Extreme programming (XP) 4.Agile project management 5.Pair Programming 6.Scrum 7.Scaling agile methods Rapid software development:

More information

From Agile Development to Agile Culture an in-depth analysis of the Swiss Agile Study 2014

From Agile Development to Agile Culture an in-depth analysis of the Swiss Agile Study 2014 From Agile Development to Agile Culture an in-depth analysis of the Swiss Agile Study 2014 M. Kropp, FHNW, Windisch A. Meier, ZHAW, Zurich R. Biddle, Carleton University, Ottawa spm, Zürich 1.12.2016 www.swissagilestudy.ch

More information

A comparison of lifecycles

A comparison of lifecycles Master Thesis Software Engineering Thesis no: MSE-2003-12 2003 June A comparison of lifecycles - Agile software processes vs. projects in non-agile software companies Stefan Saarnak and Björn Gustafsson

More information

ignoring agile, size and frequency, sales, , 280

ignoring agile, size and frequency, sales, , 280 INDEX A Acceptance testing automated, 161 162 description, 160 162 FIT approach, 161 162 just-in-time elaboration, 234 principles, 156 Accountability paradigm shifts, 84 teams, 113 Agile. See also Software

More information

Criteria. Kanban. Scrum. Acceptance. Acceptance Criteria. Kanban. Scrum. Refinement. Agile Manifesto. Acceptance Test. Product Backlog.

Criteria. Kanban. Scrum. Acceptance. Acceptance Criteria. Kanban. Scrum. Refinement. Agile Manifesto. Acceptance Test. Product Backlog. Scrum Scrum Kanban Kanban XP XP Acceptance Criteria Acceptance Criteria Agile Manifesto Agile Manifesto Acceptance Test Acceptance Test Backlog Refinement Backlog Refinement Burndown Chart Burndown Chart

More information

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014 Introduction to Software Life Cycles and Agile CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014 1 Goals Present an introduction to the topic of software life cycles concepts and terminology

More information

Introduction of RUP - The Rational Unified Process

Introduction of RUP - The Rational Unified Process Introduction of RUP - The Rational Unified Process Jong-Hoon Lee Dependable Software Laboratory Konkuk University References Textbook: The Rational Unified Process Made Easy A Practitioner s Guide to the

More information

Software Engineering G Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering. Dr. Jean-Claude Franchitti

Software Engineering G Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering. Dr. Jean-Claude Franchitti Software Engineering G22.2440-001 Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

More information

A Comparison Between Evolutionary and Prototype Model

A Comparison Between Evolutionary and Prototype Model A Comparison Between Evolutionary and Prototype Model Aditi Thakur Department of Computer Science, Baddi University of Emerging Sciences and Technology ABSTRACT: In this paper, I have examined a number

More information

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

By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson WATERFALL? XP? SCRUM? While there is really no standard solution, the following presentation will

More information

Foundations of Software Engineering. Process: Agile Practices Michael Hilton

Foundations of Software Engineering. Process: Agile Practices Michael Hilton Foundations of Software Engineering Process: Agile Practices Michael Hilton 1 Learning goals Define agile as both a set of iterative process practices and a business approach for aligning customer needs

More information

Agile for Aerospace. Andrew Buter, Curt Stienstra, Steven H. VanderLeest GLSEC Embedded Systems Engineering

Agile for Aerospace. Andrew Buter, Curt Stienstra, Steven H. VanderLeest GLSEC Embedded Systems Engineering Agile for Aerospace Andrew Buter, Curt Stienstra, Steven H. VanderLeest GLSEC 2008 Embedded Systems Engineering Outline I. Present State of SW Dev in Aerospace A. DO-178 and the waterfall approach B. Who

More information

Agile BI: how it works & how to do it. Tom Breur IRM DW & BI Conference Europe London, 6 November 2012

Agile BI: how it works & how to do it. Tom Breur IRM DW & BI Conference Europe London, 6 November 2012 Agile BI: how it works & how to do it Tom Breur tombreur@xlntconsulting.com IRM DW & BI Conference Europe London, 6 November 2012 Some Agile BI books www.xlntconsulting.com 3 History of development methods

More information

18-642: Software Development Processes

18-642: Software Development Processes 18-642: Software Development Processes 9/6/2017 Without requirements and design, programming is the art of adding bugs to an empty text file. Louis Srygley Coding Is Essentially 0% of Creating Software

More information

Software Engineering Chap.3 - Agile Software Development

Software Engineering Chap.3 - Agile Software Development Software Engineering Chap.3 - Agile Software Development Simão Melo de Sousa RELEASE (UBI), LIACC (Porto), CCTC (Minho) Computer Science Department University of Beira Interior, Portugal Eng.Info./TSI,

More information

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

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

Course Title: Agile for Business Analysts

Course Title: Agile for Business Analysts Course Title: Agile for Business Analysts 2 Day Workshop AG-BA08 Agile for Business Analysts Course ID: AG-BA08 Credits: 14 PDUs Course Duration: 2 days Course Level: Basic/Intermediate Prerequisites:

More information

Software development activities

Software development activities Software development activities l Note activities not steps l l Often happening simultaneously Not necessarily discrete 1. Planning: mostly study the requirements 2. Domain analysis: study the problem

More information

Course Title: Agile for Business Analysts

Course Title: Agile for Business Analysts Course Title: Agile for Business Analysts 2 Day Workshop AG-BA08 Agile for Business Analysts Course ID: AG-BA08 Credits: 14: PMI-PDUs, IIBA-CDUs (Professional Development Hours) Course Duration: 2 days

More information

Software Life Cycle. Main Topics. Introduction

Software Life Cycle. Main Topics. Introduction Software Life Cycle Main Topics Study the different life cycle models Study the difference between software maintenance and evolution Study product line engineering as a design methodology 2 Introduction

More information

Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000)

Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net

More information

In this chapter you will learn about the following

In this chapter you will learn about the following 11 11Managing the software process Earlier in this book, we made the point that software engineering is a laborintensive activity. Performing software engineering successfully therefore means carefully

More information

Software development processes: from the waterfall to the Unified Process

Software development processes: from the waterfall to the Unified Process Software development processes: from the waterfall to the Unified Process Paul Jackson School of Informatics University of Edinburgh The Waterfall Model Image from Wikipedia 2 / 17 Pros, cons and history

More information

COSC 735: Software Engineering Test 1 Sample Solution

COSC 735: Software Engineering Test 1 Sample Solution COSC 735: Software Engineering Test 1 Sample Solution QUESTION 1: 1. (a) Define Software Engineering. Software engineering is the establishment and use of sound engineering principles in order to obtain

More information

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

Nitty Gritty of QA Project Management. 11-Feb-09 Carol Perletz 11-Feb-09 Carol Perletz Agenda 1. Introduction 2. Definitions 3. Software Development Life Cycle Processes 4. The SQA Role 5. SQA Project Management 6. My Case Studies 7. Your QA Project Management Challenges

More information

Chapter 1 Systems Development in an Organization Context

Chapter 1 Systems Development in an Organization Context Systems Development in an Organization Context Learning Objectives Define information systems analysis and design. Describe the information Systems Development Life Cycle (SDLC). Explain Rapid Application

More information

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

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models Objectives Software Processes To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

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

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes Objectives Software Processes To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

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

Software Processes. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University Software Processes Minsoo Ryu Hanyang University Topics covered 1. What is a Software Process? 2. Software Process Activities 3. Waterfall Development 4. Iterative and Incremental Development 5. Others

More information

FIT2101 Software Engineering Process and Management

FIT2101 Software Engineering Process and Management FIT2101 Software Engineering Process and Management Agile and Software Process Models Topics Covered Features of Agile What Agile Isn t Agile Process Models Software Process Models In 2001 leaders of lightweight

More information

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

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information