ABHELSINKI UNIVERSITY OF TECHNOLOGY

Size: px
Start display at page:

Download "ABHELSINKI UNIVERSITY OF TECHNOLOGY"

Transcription

1 T Introduction to Software Engineering Software Life-Cycle Models

2 Software Engineering? 1. The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software 2. The study of approaches in (1). IEEE Computer Society

3 Software Process?

4 Software Process? Process Webster: 1. A continuing development involving many changes. 2. A particular method for doing something, usually involving a number of steps or operations. IEEE: A sequence of steps performed for a given purpose.

5 Software Process? Process Webster: 1. A continuing development involving many changes. 2. A particular method for doing something, usually involving a number of steps or operations. IEEE: A sequence of steps performed for a given purpose. Software Process CMM(I): a set of activities, methods, practices and transformations that people use to develop and maintain software and the associated products Simply: the way an organization/team/individual develops software

6 Leavitt s Organizational Diamond Structure Structure, Culture, Management, Decision making Process Practices Procedures Instructions People Knowledge Skills, Needs, Motivation Technology Tools, Methods, Facilities, Environment Adapted from Leavitt, H.J. Applied organizational change in industry: Structural, technological and humanistic approaches. Handbook of Organizational. J.G. March. Chicago, Rand McNally. 1965

7 The Sandbox CMM Business Management CMM SPICE UML Process management (Quality System) Program management Project Management RUP extreme Programming Basic activities Z Testing Specification Definition Implementation Installation, Maintenance Time Boxing Object Orientation USDP Configuration Management Quality Control (V & V) Documentation Requirements management SA/SD Support activities CleanRoom

8 The Sandbox CMM Business Management CMM SPICE UML Process management (Quality System) Program management Project Management RUP extreme Programming Basic activities Z Testing Specification Definition Implementation Installation, Maintenance Time Boxing Object Orientation USDP Configuration Management Quality Control (V & V) Documentation Requirements management SA/SD Support activities CleanRoom

9 The Sandbox CMM Business Management CMM SPICE UML Process management (Quality System) Program management Project Management RUP extreme Programming Basic activities Z Testing Specification Definition Implementation Installation, Maintenance Time Boxing Object Orientation USDP Configuration Management Quality Control (V & V) Documentation Requirements management SA/SD Support activities CleanRoom

10 Process: Adaptability the framework activities will always be applied on every project... BUT the tasks and degree of rigor for each activity will vary based upon many factors, e.g.: the type project project characteristics team characteristics common sense judgement These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

11 Prescriptive Models These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

12 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

13 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering That leads to a few questions... These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

14 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering That leads to a few questions... If prescriptive process models strive for structure and order, are they inappropriate for a software world that thrives on change? These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

15 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering That leads to a few questions... If prescriptive process models strive for structure and order, are they inappropriate for a software world that thrives on change? Yet, if we reject traditional process models (and the order they imply) and replace them with something less structured, do we make it impossible to achieve coordination and coherence in software work? These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

16 Build and Fix Model Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.

17 Build and Fix Model Problems No specifications No design Lack of visibility Easily leads to poorly structured systems Totally unsatisfactory Need life-cycle model Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.

18 Waterfall Model d Object-Oriented Software Engineering, 5th ed. Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.

19 Waterfall Model Planning and control Documentation-driven Doing the homework Formal change management d Object-Oriented Software Engineering, 5th ed. Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.

20 The Waterfall Model

21 The Waterfall Model Strengths Easily manageable process (manager s favourite?) Probably the most effective model, if you know the requirements Extensive documentation

22 The Waterfall Model Strengths Easily manageable process (manager s favourite?) Probably the most effective model, if you know the requirements Extensive documentation Weaknesses Inflexible partitioning of the project into distinct phases Difficult to respond to changing customer requirements Feedback on system performance available very late and changes can be very expensive

23 The Waterfall Model Strengths Easily manageable process (manager s favourite?) Probably the most effective model, if you know the requirements Extensive documentation Weaknesses Inflexible partitioning of the project into distinct phases Difficult to respond to changing customer requirements Feedback on system performance available very late and changes can be very expensive Applicability Appropriate when the requirements are well understood Short, clearly definable projects (e.g. maintenance) Very large, complex system development that requires extensive documentation. Safety critical systems.

24 Cost to Detect and Correct a Fault

25 Rapid Prototyping Model Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.

26 Rapid Prototyping Model Linear Rapid Exploratory vs. throw-away prototypes Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.

27 Incremental Model Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.

28 Incremental Model Divide project into builds Each build adds functionality Prioritized user requirements Requirements frozen during each build! Picture from Schach: Classical and Object-Oriented Software Engineering, 5th ed.

29 Incremental Model The concept of growing a system via iterations: iterative and incremental development (IID) Divide the project into increments Each increment adds functionality Each iteration is a self-contained mini project composed of activities such as requirements analysis, design, programming and test At the end of the iteration an iteration release: a stable, integrated and tested partially complete system Most releases internal, final iteration release is the complete product Prioritize user requirements MOSCOW priorities: must, should, could, want High-priority requirements into early increments Freeze requirements during each increment

30 Incremental Development Advantages Customer value can be delivered at the end of each increment making system functionality available earlier Final product better matches true customer needs Early increments act as a prototype to help elicit requirements for later increments get feedback on system performance Lower risk of overall project failure Smaller sub-projects are easier to control and manage A meaningful progress indicator: tested software The highest priority features tend to receive the most testing Job satisfaction is increased for developers who can see early results of their work

31 Incremental Development Disadvantages Can be harder to plan and control than waterfall development Can be more expensive than waterfall development May require more experienced staff System architecture must be adaptive to change Software project contracts are still mostly drawn up according to the waterfall model and all changes cause renegotiations

32 Synchronize-and-Stabilize Model Microsoft s life-cycle model Requirements analysis interview potential customers Draw up specifications Divide project into 3 or 4 builds Each build is carried out by small teams working in parallel

33 Synch-and-Stabilize Product vision Functional specification Development subcycle Development subcycle Development subcycle ERSITY OF TECHNOLOGY Buffer time Buffer time Buffer time Alpha release Beta release Feature complete Beta release UI freeze Code complete Final test Final debug Stabilize Final release

34 Sync-and-Stabilize At the end of the day synchronize (test and debug) At the end of the build stabilize (freeze build) Components always work together Get early insights into operation of product

35 Spiral Model Radial dimension: cumulative cost to date Angular dimension: progress through the spiral

36 The Spiral Model A meta-model -> other models can be derived Risk management is central Problems Hard to match to contract software Not enough flexibility and freedom in contract mechanisms Great deal of reliance on risk-assessment expertise Applicability Internal software development A framework for risk-driven application of other models

37 Still Other Process Models Component based development the process to apply when reuse is a development objective Formal methods emphasizes the mathematical specification of requirements AOSD provides a process and methodological approach for defining, specifying, designing and constructing aspects Unified process a use-case driven, architecturecentric, iterative and incremental software process closely aligned with the Unified Modeling Language (UML) These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

38 Rational Unified Process (RUP)

39 UP Work Products Inception phase Vision document Initial use-case model Initial project glossary Initial business case Initial risk assessment. Project plan, phases and iterations. Business model, if necessary. One or more prototypes Inceptio n Elaboration phase Use-case model Supplementary requirements including non-functional Analysis model Software architecture Description. Executable architectural prototype. Preliminary design model Revised risk list Project plan including iteration plan adapted workflows milestones technical work products Preliminary user manual Construction phase Design model Software components Integrated software increment Test plan and procedure Test cases Support documentation user manuals installation manuals description of current increment Transition phase Delivered software increment Beta test reports General user feedback These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

40 Agile Software Development

41 The Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Kent Beck et allii These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

42 What is Agility Effective (rapid and adaptive) response to change Effective communication among all stakeholders Drawing the customer onto the team Organizing a team so that it is in control of the work performed Yielding... Rapid, incremental delivery of software These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

43 An Agile Process Is driven by customer descriptions of what is required (scenarios) Recognizes that plans are short-lived Develops software iteratively with a heavy emphasis on construction activities Delivers multiple software increments Adapts as changes occur These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

44 From Waterfall to Agility Specification Design Time Implementation Test Waterfall Iterative/Incremental XP

45 Extreme Programming (XP) The most widely used agile process, originally proposed by Kent Beck XP Planning Begins with the creation of user stories Agile team assesses each story and assigns a cost Stories are grouped for a deliverable increment A commitment is made on the delivery date After the first increment, projct velocity is used to help define subsequent delivery dates for other increments These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

46 Extreme Programming (XP) These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

47 Extreme Programming (XP) XP Design Follows the KIS principle Encourage the use of CRC cards (Chapter 8) Difficult solutions prototyped using spike solutions Encourages refactoring an iterative refinement of the internal program design These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

48 Extreme Programming (XP) XP Design Follows the KIS principle Encourage the use of CRC cards (Chapter 8) Difficult solutions prototyped using spike solutions Encourages refactoring an iterative refinement of the internal program design XP Coding Recommends the construction of unit tests before coding commences Encourages pair programming These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

49 Extreme Programming (XP) XP Design Follows the KIS principle Encourage the use of CRC cards (Chapter 8) Difficult solutions prototyped using spike solutions Encourages refactoring an iterative refinement of the internal program design XP Coding XP Testing Recommends the construction of unit tests before coding commences Encourages pair programming All unit tests are executed daily Acceptance tests are defined by the customer and executed to assess customer visible functionality These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

50 Scrum Originally proposed by Schwaber and Beedle Distinguishing features Development work partitioned into packets Testing and documentation on-going as the product is constructed Work occurs in sprints and is derived from a backlog of existing requirements Meetings are very short and sometimes conducted without chairs (scrums) Demos are delivered to the customer within the time-box allocated These courseware materials are to be used in conjunction with Software Engineering: A Practitioner s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005.

51 Scrum B Casper CaspeLassenius

52 Challenges and Solutions for a Flexible Process Challenges Detailed design work must be started before the product architecture is fully defined Buffering need The system must be integrated before the completion of all its modules Design work partitioned The development team must be able to respond to new information even at a late stage of the project Flexibility in architecture Solutions Greater investment in architectural design Earlier feedback on a product s system level performance Development team with a grater amount of generational experience

53 A Flexible Process IS Iterative Based upon rapid, frequent, intense, systematic iterations, starting early in the process and involving customers NEEDS A modular and scaleable product architecture An experienced team Early customer/user involvement IS NOT Cheaper than a traditional process Fire-fighting Unmanaged ad-hoc hacking

54 Two Different Project Types

55 Two Different Project Types Functionality driven Example: a new operating system Certain functionalities must be in place They are well-known in advance The schedule is allowed to slip so that the required functionality can be developed

56 Two Different Project Types Functionality driven Example: a new operating system Certain functionalities must be in place They are well-known in advance The schedule is allowed to slip so that the required functionality can be developed Schedule driven Example: consecutive releases of a word processor Release deadline set and fixed Product released on schedule Final configuration of features unknown until late in the project Features must be prioritized for this to work

57 Two Different Project Types Functionality driven Example: a new operating system Certain functionalities must be in place They are well-known in advance The schedule is allowed to slip so that the required functionality can be developed Schedule driven Example: consecutive releases of a word processor Release deadline set and fixed Product released on schedule A one-size process does not fit all! Final configuration of features unknown until late in the project Features must be prioritized for this to work

58 Process Choice There is not uniformally applicable process which is applicable to any type and size of project High costs may occur if you force an inappropriate process on a development team However, one organization cannot have a vast number of different processes in use Sometimes you don t have a possibility to choose A chosen process model can be tailored to suit the project

59 Process Choice For large systems, management is usually the principal problem, so you need a strictly managed process For smaller systems, more informality is possible Hybrid models: Large systems are usually made up of several sub-systems The same process model need not be used for all subsystems Prototyping or agile development for high-risk specifications Waterfall model for well-understood developments

60 Dimensions Affecting Process Model Selection Dimensions Affecting Process Model Selection (Boehm & Turner 2003)

61 Plan-driven vs. Agile Neither plan-driven nor agile methods provide a silver bullet Both have home grounds where one clearly dominates the other Both agility and disciplines are critical Increasingly rapid pace of change E.g., larger projects using agile methods need plandriven process aspects to be integrated to be successful Build your method up don t tailor it down

62 Questions?

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

04. Agile Development

04. Agile Development 04. Agile Development Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Background of Agile Software Development Software development until late 90s

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

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

Moonzoo Kim. KAIST cs350 Intro. to SE Spring

Moonzoo Kim. KAIST cs350 Intro. to SE Spring Chapter 4 Agile Development Moonzoo Kim CS Division of EECS Dept. KAIST moonzoo@cs.kaist.ac.kr http://pswlab.kaist.ac.kr/courses/cs350-07 ac kr/courses/cs350 07 Spring 2008 1 Ex. UP Work Products Inception

More information

Software Engineering

Software Engineering Software Engineering (CS550) Software Development Process Jongmoon Baik Software Development Processes (Lifecycle Models) 2 What is a S/W Life Cycle? The series of stages in form and functional activity

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

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

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. Software Engineering: A Practitioner s Approach, 6/e Chapter 3 Prescriptive Process Models copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for

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

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

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

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

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

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

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

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

Software Process. Overview

Software Process. Overview Software Process Overview What is software process? Examples of process models Unified Process (UP) Agile software development N. Meng, B. Ryder 2 1 Software Process Definition [Pressman] a framework for

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

Chapter 3 Prescriptive Process Models

Chapter 3 Prescriptive Process Models Chapter 3 Prescriptive Process Models - Generic process framework (revisited) - Traditional process models - Specialized process models - The unified process Generic Process Framework Communication Involves

More information

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY 2006 International Software Measurement & Analysis Conference David Garmus www.davidconsultinggroup.com Topics Characteristics of Agile Projects Performance

More information

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

Software Processes 1

Software Processes 1 Software Processes 1 Topics covered Software process models Process activities Coping with change 2 The software process A structured set of activities required to develop a software system. Many different

More information

Chapter 3 Agile Software Development

Chapter 3 Agile Software Development Chapter 3 Agile Software Development Chapter 3 Agile Software Development Slide 1 Topics covered Rapid software development Agile methods Plan-driven vs. agile development Extreme programming (XP) Agile

More information

SWE 211 Software Processes

SWE 211 Software Processes SWE 211 Software Processes These slides are designed and adapted from slides provided by Software Engineering 9 /e Addison Wesley 2011 by Ian Sommerville 1 Outlines Software process models Process activities

More information

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

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini II. Software Life Cycle Laurea Triennale in Informatica Corso di Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process

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

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

Chapter 3 Software Process Model

Chapter 3 Software Process Model Usman Akram COMSATS Institute of information Technology lahore musmanakram@ciitlahore.edu.pk March 8, 2015 About software process model Outline 1 About software process model Build and Fix Model Why Models

More information

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

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems Software Processes Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems Slide 1 Objectives To introduce software

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

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

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

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany Softwaretechnik Lecture 02: Processes Peter Thiemann University of Freiburg, Germany SS 2012 Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 1 / 34 Terms Software Program SW System organized collections

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

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

QAIassist IT Methodology General Context

QAIassist IT Methodology General Context QAIassist IT Methodology General Context IT Methodology General Context From the inception of Information Technology (IT), organizations and people have been on a constant quest to optimize the evolving

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

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

Note 10: Software Process

Note 10: Software Process Computer Science and Software Engineering University of Wisconsin - Platteville Note 10: Software Process Yan Shi Lecture Notes for SE 3330 UW-Platteville Based on Pressman Chapter 2 & 3 Software Process

More information

A New Divide & Conquer Software Process Model

A New Divide & Conquer Software Process Model A New Divide & Conquer Software Process Model First A. Hina Gull, Second B. Farooque Azam Third C. Wasi Haider Butt, Fourth D. Sardar Zafar Iqbal Abstract The software system goes through a number of stages

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

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

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers UNIT 1 1. What are software myths Answer: Management myths: We already have a book

More information

MTAT Software Engineering Management

MTAT Software Engineering Management MTAT.03.243 Software Engineering Management Lecture 03: Principles of Software Modeling (Part A) & Rich es Spring 2013 Dietmar Pfahl email: dietmar.pfahl@ut.ee Homework 1: Introduction to SPI Administrative

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

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

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

Agile Development Processes. CSCE Lecture 3-08/31/2017

Agile Development Processes. CSCE Lecture 3-08/31/2017 Agile Development Processes CSCE 740 - Lecture 3-08/31/2017 Common Practice: Code & Fix Sit down, write out the code, and fix problems as they occur. No formal structure to development. What is wrong with

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

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

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

2. True or false: In Scrum all the requirements for the project are known prior to the start of development.

2. True or false: In Scrum all the requirements for the project are known prior to the start of development. CTC-ITC 310 Program Management California State University Dominguez Hills Fall 2018 Instructor: Howard Rosenthal Assignment 5 A Deeper Look At Agile Methodologies Answer Sheet Each question is worth 10

More information

LIFE-CYCLE MODELS AND PROCESS. Software Engineering 1/9/2008. CHAPTER 1, 2, and 3. Stephen R. Schach

LIFE-CYCLE MODELS AND PROCESS. Software Engineering 1/9/2008. CHAPTER 1, 2, and 3. Stephen R. Schach Slide 2.1 CHAPTER 1, 2, and 3 Slide 2.2 Object-Oriented Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R. Schach srs@vuse.vanderbilt.edu SOFTWARE LIFE-CYCLE MODELS AND PROCESS Overview Slide

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

Chapter 3. Information Systems Development. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Chapter 3. Information Systems Development. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 3 Information Systems Development McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 3-2 Describe the motivation for a system development process

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

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

COMP 6481 Fall 2006 System Requirement Specifications

COMP 6481 Fall 2006 System Requirement Specifications COMP 6481 Fall 2006 System Requirement Specifications Instructor Name: Dr. Olga Ormandjieva Software Requirements Engineering using Agile Methods Project Report Name: Muhammad F. Ahmed ID: 5774454 Name:

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 3.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 3 Slide 3.2 THE SOFTWARE PROCESS Overview Slide 3.3

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

6. Models of the Design Process

6. Models of the Design Process 6. Models of the Design Process 17 September 2008 Bob Glushko Plan for ISSD Lecture #6 Meta-Methodology: Sequential, Iterative, Work Product, and Portfolio Approaches "User-Centered Design at IBM Consulting"

More information

Software Engineering Part 2

Software Engineering Part 2 CS 0901341 Software Engineering Part 2 In this part, we look at 2.1 Software Process 2.2 Software Process Models 2.3 Tools and Techniques for Processing Modelling As we saw in the previous part, the concept

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

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

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

5) A work breakdown structure is a list of tasks broken down to small manageable activities. Answer: TRUE Diff: 2 Page Ref: 42 Project Management: Process, Technology, and Practice (Vaidyanathan) Chapter 2 Process and Methods 2.1 True False 1) A procedure defines how to do a task. Diff: 1 Page Ref: 38 2) A business process is

More information

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3. Slide 3.1 CHAPTER 3 Slide 3.2 Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 3.3 Overview (contd) Slide 3.4

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

Oracle Unified Method (OUM) The OUM Implement Core Workflow The Key to Understanding and Applying OUM. An Oracle White Paper April 2012

Oracle Unified Method (OUM) The OUM Implement Core Workflow The Key to Understanding and Applying OUM. An Oracle White Paper April 2012 Oracle Unified Method (OUM) The OUM Implement Core Workflow The Key to Understanding and Applying OUM An Oracle White Paper April 2012 OUM Implement Core Workflow White Paper Introduction... 3 OUM is Iterative...

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 5 Integrated Object-Oriented Methodologies: USDP and EUP 1 Unified Software Development Process (USDP) Also known as Unified Process (UP)

More information

CS314 Software Engineering Project Management

CS314 Software Engineering Project Management CS314 Software Engineering Project Management Dave Matthews Software process movements Predictive 1970 Waterfall Iterative 1980s, 1990s Spiral, RAD, RUP Adaptive (Agile) late 1990s XP, Scrum, Crystal,

More information

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

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II Process, Models, Methods, Diagrams Software Development Life Cyles Part - II A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process maturity based

More information

The Top Thrill Dragster

The Top Thrill Dragster 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

More information

Software Engineering

Software Engineering Software Engineering Part I. Aspects and Models of Software Development Process Gunadarma University 1 Software Engineering Outline 1 Introduction 2 Aspects of Software Engineering Software Engineering

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

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

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

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

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

! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process Software Process Process CMPUT 401 Module 04! How work in building software is done:! e.g., waterfall process! e.g., object-oriented development! e.g., requirements inspection process Department of Computing

More information

Pertemuan 2. Software Engineering: The Process

Pertemuan 2. Software Engineering: The Process Pertemuan 2 Software Engineering: The Process Collect Your Project Topic What is Software Engineering? Software engineering is the establishment and sound engineering principles in order to obtain economically

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

Non-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15

Non-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15 Non-object-oriented design methods Software Requirements and Design CITS 4401 Lecture 15 1 (reminder) Software Design is a creative process no cook book solutions goal driven we create a design for solving

More information

Software Engineering Modern Approaches

Software Engineering Modern Approaches Software Engineering Modern Approaches Chapter : Software Process Eric Braude and Michael Bernstein Maintenance Testing The Software Development Lifecycle Implementation Design Phase most relevant to this

More information

Owning An Agile Project: PO Training Day 2

Owning An Agile Project: PO Training Day 2 Owning An Agile Project: PO Training Day 2 Petri Heiramo Agile Coach, CST Product Management PO Product management is a larger scope than what Scrum defines as a PO Or rather, Scrum implicitly assumes

More information

Introduction to Software Engineering

Introduction to Software Engineering UNIT I SOFTWARE PROCESS Introduction S/W Engineering Paradigm life cycle models (water fall, incremental, spiral, WINWIN spiral, evolutionary, prototyping, objects oriented) -system engineering computer

More information

Software Engineering COMP 201

Software Engineering COMP 201 Software Engineering COMP 201 Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 2 Software Processes

More information

Processes. Object Orientated Analysis and Design. Benjamin Kenwright

Processes. Object Orientated Analysis and Design. Benjamin Kenwright Processes Object Orientated Analysis and Design Benjamin Kenwright Outline Review What are Processes? Why are they important in Object Orientated Analysis and Design Conclusion and Discussion Summary Revision

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

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 Introduction to Agile Life Cycles CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 1 Goals Introduction to Agile Life Cycles The Agile Manifesto and Agile Principles Agile Life Cycles

More information

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

Process. CMPUT 401 Module 04. Department of Computing Science University of Alberta Ken Wong, 2008 Process CMPUT 401 Module 04 Department of Computing Science University of Alberta Ken Wong, 2008 Software Process How work in building software is done: e.g., waterfall process e.g., object-oriented development

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

Extreme Programming, an agile software development process

Extreme Programming, an agile software development process Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models 1.Determine objectives Cumulative cost Progress

More information

understand, in outline, the activities involved in software requirements engineering, software development, testing and evolution;

understand, in outline, the activities involved in software requirements engineering, software development, testing and evolution; 4 Software processes Objectives The objective of this chapter is to introduce you to the idea of a software process-a coherent set of activities for software produetion. When you have read this chapter,

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

Introduction to Agile and Scrum

Introduction to Agile and Scrum Introduction to Agile and Scrum Matthew Renze @matthewrenze COMS 309 - Software Development Practices Purpose Intro to Agile and Scrum Prepare you for the industry Questions and answers Overview Intro

More information

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

CMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources CMSC 435: Software Engineering Section 0101! Atif M. Memon (atif@cs.umd.edu)! 4115 A.V.Williams building! Phone: 301-405-3071! Office hours!.tu.th. (10:45am-12:00pm)! Don t wait, don t hesitate, do communicate!!!

More information

Where Is The Discipline In Disciplined Agility?

Where Is The Discipline In Disciplined Agility? Where Is The Discipline In Disciplined Agility? Date: April 2007 Presented By: Bob Small Systems and Software Consortium 2214 Rock Hill Road, Herndon, VA 20170-4227 Phone: (703)742-8877 FAX: (703)742-7200

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

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development Agile Software Development T-110.6130 Systems Engineering in Data Communications Software P, Aalto University Agile software development Structured and disciplined, fast-paced Iterative and Incremental

More information

Chapter 3 Agile Software Development. Part 1b

Chapter 3 Agile Software Development. Part 1b Chapter 3 Agile Software Development Part 1b 1 Testing in XP Testing is central to XP and XP has developed an approach where the program is tested after every change has been made. XP testing features:

More information