Software Life-Cycle Management



Similar documents
Unit 1 Learning Objectives

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

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

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

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

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

Software Project Models

Software Engineering UNIT -1 OVERVIEW

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

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

Software Engineering. What is a system?

Rapid Software Development

Classical Software Life Cycle Models

Software Engineering Reference Framework

CSE 435 Software Engineering. Sept 16, 2015

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

Information Systems Development Process (Software Development Life Cycle)

Test Cases Design for Software Database Provisioning Development

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

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

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

Software Development Life Cycle

IT3205: Fundamentals of Software Engineering (Compulsory)

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

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

CS4507 Advanced Software Engineering

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

3C05: Unified Software Development Process

Software Life Cycle Processes

Software Process for QA

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

Software Development Life Cycle (SDLC)

Software Development Methodologies

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

How To Model Software Development Life Cycle Models

A Comparative Study of Different Software Development Life Cycle Models in Different Scenarios

ASSESSMENT OF SOFTWARE PROCESS MODELS

Software Development Process Models

Evolving a Ultra-Flow Software Development Life Cycle Model

What is a life cycle model?

Lecture 3 Software Development Processes

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

Software Process Models. Xin Feng

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

Modelli di sviluppo software. Enrico Giunchiglia

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

SOFTWARE PROCESS MODELS

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

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

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

Plan-Driven Methodologies

Software Processes. Topics covered

Business Analysis Essentials

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Software Life Cycle Models

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

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

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

Outline. Definitions. Course schedule

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

Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD

Introduction to Agile Software Development

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

Agile Software Development compliant to Safety Standards?

Agile Software Development Methodologies and Its Quality Assurance

A Software Engineering Model for Mobile App Development

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

LECTURE 1. SYSTEMS DEVELOPMENT

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

7 Component-based Development Process and Component Lifecycle

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

Work Breakdown Structure (WBS) Emanuele Della Valle

Chapter 2 Software Processes

Karunya University Dept. of Information Technology

COMP 354 Introduction to Software Engineering

Application of software product quality international standards through software development life cycle

Software Engineering

2. Analysis, Design and Implementation

Certified Software Quality Engineer (CSQE) Body of Knowledge

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Models of Software Development

Christina Wallin ABB Corporate Research Department of Industrial IT Västerås +46 (0)

How To Understand Software Engineering

Software Process and Models

Advanced Software Engineering. Software Development Processes

SEEM4570 System Design and Implementation Lecture 10 Software Development Process

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

Elite: A New Component-Based Software Development Model

Software Development Methodologies in Industry. By: Ahmad Deeb

Software Development Processes. Software Life-Cycle Models

Automated Module Testing of Embedded Software Systems

CREDENTIALS & CERTIFICATIONS 2015

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

Transcription:

Ingo Arnold Department Computer Science University of Basel Introduction Software Life-Cycle Management Software Lifce-Cycle Management Models Lecture Introduction

Agenda Waterfall Models Spiral Models Iterative Models Prototyping-based Models Agile Models Exemplified Walk-through Problem/Solution Department of Computer Sciences University of Basel 2

Software Life-Cycle Management Models A Software Life-Cycle Management Model describes an organizational frame a SW-development endeavour Phases Activities Component products, versions Criterions for completion of the computer system Qualification of team members Responsibilities and project roles Standards, regularities, methods, tools Department of Computer Sciences University of Basel 3

Software Life-Cycle Management Models LCM-models structural aspects: Department of Computer Sciences University of Basel 4

Software Life-Cycle Management Models LCM-models, utilized: Important aspect here is the model/method adoption, that helps to define the parts of the model, which need to be respected throughout a given engagement. Generic Process Model Specific Process Model Method Adoption Department of Computer Sciences University of Basel 5

Software Life-Cycle Management Models LCM-models are attractive Department of Computer Sciences University of Basel 6

Software Life-Cycle Management Models The simplest software development process Write Software Find bugs Repeatability of the process and reduction of the failure costs require more comprehensive and more complex process models Department of Computer Sciences University of Basel 7

Software Life-Cycle Management Models The Hacker knows only one activity.. Each activity produces one or more models.. Department of Computer Sciences University of Basel 8

Software Life-Cycle Management Models Each activity produces one or more models.. Department of Computer Sciences University of Basel 9

Software Life-Cycle Management Models Let s look at this equation: People Process Technology Service / Product New X New X New = New Very roughly we talked about Process and Technology so far however, one of the most determining factor always is People! Department of Computer Sciences University of Basel 10

Software Life-Cycle Management Models A few selected process models Waterfall models. Arrange life-cycle process along a sequence of activities Spiral models. Arrange life-cycle process as cyclic, risk-oriented sequence of development steps Iterative and incremental models. Arrange life-cycle process along a set of increments (i.e. deliveries) Prototyping-based models. Utilized within other models. Main purpose is risk mitigation. Agile models. Lean processes with focus on individuals Department of Computer Sciences University of Basel 11

Agenda Waterfall Models Spiral Models Iterative Models Prototyping-based Models Agile Models Exemplified Walk-through Problem/Solution Department of Computer Sciences University of Basel 12

Waterfall Models Waterfall Models Department of Computer Sciences University of Basel 13

Waterfall Models Waterfall Models characteristics Oldest systematic process model Development is understood as sequence of development- and verification-steps All major activities constitute a phase (e.g. requirements) Phases are left as soon as verified and accepted result is available Local (phase-internal) iterations possible Department of Computer Sciences University of Basel 14

Waterfall Models Waterfall Models criticism Non-local iterations are not model compliant, which makes project management difficult. Department of Computer Sciences University of Basel 15

Agenda Waterfall Models Spiral Models Iterative Models Prototyping-based Models Agile Models Exemplified Walk-through Problem/Solution Department of Computer Sciences University of Basel 16

Spiral Models Spiral Models Department of Computer Sciences University of Basel 17

Spiral Models Spiral Models Evolution of waterfall models Designed for complex and risky Computer Systems Bi-cyclic waterfall model (develop / verify) is replaced by a four-cyclic model: - Plan - Objectives - Evaluation, risks - Development, verification Department of Computer Sciences University of Basel 18

Agenda Waterfall Models Spiral Models Iterative Models Prototyping-based Models Agile Models Exemplified Walk-through Problem/Solution Department of Computer Sciences University of Basel 19

Iterative Models Iterative and incremental Models Department of Computer Sciences University of Basel 20

Iterative Models Iterative and incremental Models characteristics Approach: software-evolution Computer System is not (once) developed but instead grows steadily Synonyms: versions model, evolutionary model, incremental model Fundamental idea: organisation of software life-cycle process along a set of incrementally developed and ready-to-use elements of the final system. Overall process can be understood as a sequence of iterations Per iteration: a complete sub-set of overall solution is developed Individual iterations can be organized as autonomous sub-projects Continuous integration and short-pace builts as reference versions Department of Computer Sciences University of Basel 21

Iterative Models Iterative and incremental Models characteristics Department of Computer Sciences University of Basel 22

Iterative Models Iterative and incremental Models advantage / disadvantage + Model well the inherent behaviour of complex Computer Systems + Very well support Project Management + Iterative progress and incremental builts - Risk of diverging solution islands - Risk of undermining natural structures and concepts due to incremental evolution (e.g. natural structure = Data Warehouse cannot developed in one coherent go) Department of Computer Sciences University of Basel 23

Iterative Models Iterative and incremental Models should be used If the Computer System is complex and huge If anticipated development effort is huge If the full set of functionality is not required immediately (no big bang) If the Computer System cannot fully be anticipated in advance If a base product should be available, immediately Department of Computer Sciences University of Basel 24

Agenda Waterfall Models Spiral Models Iterative Models Prototyping-based Models Agile Models Exemplified Walk-through Problem/Solution Department of Computer Sciences University of Basel 25

Prototyping-based Models Protyping-based Models More a technique than a model Very adequate means for early detection and solution of problems Prototyp: excecutable piece of a Computer System which implements critical aspects, sub-sets at an early stage in order to proof a targeted approach Synonym: proof of concept (PoC), hot spot Different types of prototyping are distinguished: - Explorative and experimental - Evolutionary Department of Computer Sciences University of Basel 26

Prototyping-based Models Protyping-based Models Department of Computer Sciences University of Basel 27

Prototyping-based Models Protyping-based Models explorative and experimental Explorative and experimental prototyping is used to - Identify and detect requirements - Demonstrate and communicate to stakeholders - Proof a selected concept (feasability) - Evaluation of alternatives Explorative and experimental prototyping - May be undocumented - May be based on ugly solutions from a software-engineering perspective - Requires the prototyp to be decommissioned, once its purpose is fullfilled Department of Computer Sciences University of Basel 28

Prototyping-based Models Protyping-based Models evolutionary Characteristics of an evolutionary prototyping approach: - Prototype is a pilot-system - Prototype becomes kernel of to-be-developed Computer System - Prototype is not thrown away thus needs to comply with engineering best practices right from the beginning - Prototyping follows an incremental and iterative approach Department of Computer Sciences University of Basel 29

Agenda Waterfall Models Spiral Models Iterative Models Prototyping-based Models Agile Models Exemplified Walk-through Problem/Solution Department of Computer Sciences University of Basel 30

Agile Models Agile Models Idea: to map the techniques for developing very small Computer Systems onto the development of complex Computer Systems, so that the project is successful overall processes are simple and barely regulated Department of Computer Sciences University of Basel 31

Agile Models Agile Models Fundamental principles: The smaller the sub-systems and the shorter re-cycles the better this is The customer continuosly shapes the product. The customer is actively involved in the project The more independent the developers can organize their work items, the better this is Quality is assured at the origin: Pair programming Test-driven development Department of Computer Sciences University of Basel 32

Agenda Waterfall Models Spiral Models Iterative Models Prototyping-based Models Agile Models Exemplified Walk-through Problem/Solution Department of Computer Sciences University of Basel 33

Agile Models Agile Models do work well if Stakeholders are available, competent and empowered to draw decisions Overall problem can be decomposted into a meaningful sub-set of smaller problems / solutions Development-team is small or can be segmented into multiple parallel development-teams Software-Architect is competent and experienced (holistic view) Continuous integration is possible with minor effort Quality is determined and verified at the origin Department of Computer Sciences University of Basel 34

Exemplified Walk-through Problem/Solution A problem is stated Department of Computer Sciences University of Basel 35

Exemplified Walk-through Problem/Solution Functional requirements are identified and captured Department of Computer Sciences University of Basel 36

Exemplified Walk-through Problem/Solution Individual requirements are further detailed Department of Computer Sciences University of Basel 37

Exemplified Walk-through Problem/Solution Individual requirements are further detailed (continued) Department of Computer Sciences University of Basel 38

Exemplified Walk-through Problem/Solution Crucial domain concepts are modeled and captured Department of Computer Sciences University of Basel 39

Exemplified Walk-through Problem/Solution Black-box perspective is turned into white-box perspective in order to elaborate on the system s solution design Department of Computer Sciences University of Basel 40

Exemplified Walk-through Problem/Solution This gives us a first architectural solution Department of Computer Sciences University of Basel 41

Exemplified Walk-through Problem/Solution Revisit problem statement and detailed requirements (i.e. non-functional requirements) Department of Computer Sciences University of Basel 42

Exemplified Walk-through Problem/Solution Introduce (bottom-up) quality aspects. Here the Abstract- Factory-Class pattern was used to abstract future UI channels Department of Computer Sciences University of Basel 43

Questions? Department of Computer Sciences University of Basel 44