Iterative Software Development -



Similar documents
Abstract. 1 Introduction

Plan-Driven Methodologies

3C05: Unified Software Development Process

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

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

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

Classical Software Life Cycle Models

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

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

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

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

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

Chapter 2 Software Processes

Supporting Workflow Overview. CSC532 Fall06

What is a life cycle model?

Thesis seminar THE7TF007

Chap 1. Introduction to Software Architecture

SOFTWARE DEVELOPMENT AND DOCUMENTATION

The Unified Software Development Process

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

CS4507 Advanced Software Engineering

IT Project: System Implementation Project Template Description

Overview of MIL-STD-498. and its. Data Item Descriptions (DIDs)

Ob j ect-oriented Project Management with UML

VAIL-Plant Asset Integrity Management System. Software Development Process

Project Plan for <project name>

Software Lifecycles Models

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

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

Software Process and Models

RUP for Software Development Projects

Development/Maintenance/Reuse: Software Evolution in Product Lines

Software Development Life Cycle (SDLC)

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Object-Oriented Systems Analysis and Design

Agile Unified Process

IV. Software Lifecycles

Basic Unified Process: A Process for Small and Agile Projects

Requirements Engineering

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

Software Engineering Reference Framework

ITS Projects Systems Engineering Process Compliance Checklist

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

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

Appendix 2-A. Application and System Development Requirements

Inter-operability of DSDM with the Rational Unified Process

Establishing Great Software Development Process(es) for Your Organization. By Dale Mayes

Unit 1 Learning Objectives

Time Monitoring Tool Software Development Plan. Version <1.1>

How To Design An Information System

2/25/2012. [5]

Reuse of Requirements Reduces Time to Market

Software Process and Project Plan

Family: Iterative Enhancement Origin: Ivar Jacobson, James Rumbaugh, Grady Booch, 1996 Defines process framework that is adaptable to

A Comparison of SOA Methodologies Analysis & Design Phases

AN OVERVIEW OF SYSTEMS ANALYSIS: SYSTEMS ANALYSIS AND THE ROLE OF THE SYSTEMS ANALYST. Lecture , Tuesday

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

IT3205: Fundamentals of Software Engineering (Compulsory)

Minnesota Health Insurance Exchange (MNHIX)

CS6403-SOFTWARE ENGINEERING UNIT-I PART-A

Requirements-driven Verification Methodology for Standards Compliance

Requirements Engineering Process

Software Design Models, Tools & Processes *

Software Requirements, Third Edition

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

Enhanced Funding Requirements: Seven Conditions and Standards

Software Development Methodologies

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

<name of project> Software Project Management Plan

The Impacts Of Agile Development On The System Engineering Process

Quality Assurance Software Development Processes

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

Boost Your Skills with On-Site Courses Tailored to Your Needs

Software Life Cycles and Configuration Management

CMMI: Specific Goals and Practices

Software Project Management using an Iterative Lifecycle Model

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

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

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

BAL2-1 Professional Skills for the Business Analyst

Increasing Development Knowledge with EPFC

Requirements Management Practice Description

Planning a Project with the Rational Unified Process Author: David West

Software Process. Successful Software Production between Extreme Programming and Rational Unified Process Short Version

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

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

Chapter 5: Project Scope Management. Information Technology Project Management, Fifth Edition

PROJECT MANAGEMENT METHODOLOGY SECTION 3 -- PLANNING PHASE

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

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

This is the software system proposal document for the <name of the project> project sponsored by <name of sponsor>.

Program Lifecycle Methodology Version 1.7

How To Understand The Software Process

How To Understand Software Engineering

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

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended.

This alignment chart was designed specifically for the use of Red River College. These alignments have not been verified or endorsed by the IIBA.

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

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

Object Oriented Analysis and Design and Software Development Process Phases

Transcription:

Iterative Software Development - from Theory to Practice Implementing the Unified Software Development Process in RAFAEL Amir Tomer, Boaz Shani, Ely Bonne

RAFAEL at a Glance USDP in Rafael - 2

The Waterfall Model Requirements Verification Req. Change Verification Royce, 1970 Specification Verification Design Verification Implementation Testing Integration Testing Development Maintenance Maintenance Retirement USDP in Rafael - 3

What s wrong with the Waterfall model? Document-based verification until late stages Attempt to stipulate unstable requirements too early Risk mitigation postponed Operational problems discovered too late Lengthy modification cycles and much rework The inevitable result... USDP in Rafael - 4

The Unified Software Development Process Core Workflows Process Supporting Business Modeling Requirements Analysis and Design Implementation Test Deployment Config. & Change Management Project Management Environment Inception Elaboration Phases Construction Transition Organization along Content aka RUP preliminary iteration iter. #1 iter. #2 iter. #n iter. #n+1 iter. #n+2 Organization along Time iter. #m iter. #m+1 USDP in Rafael - 5

Iterative Development Overview Transition Construction Elaboration Inception Operational system builds Operational skeletal system System scope & concept Solution alternatives SW/HW breakdown System architecture USDP in Rafael - 6

System Level Stages & Products Inception Elaboration Construction 9 System Integration CSCI A CSCI B... 4 Software Planning 3 System Design 2 System Requirements 1 System Boundary CSCI N Operational system builds SSDD System / Subsystem Design Description System Charter / Vision Document SDP + STP S/W Development Plan S/W Test Plan SSS System / Subsystem Specification USDP in Rafael - 7

CSCI Level Stages Operational CSCIs Elaboration Construction 8 CSCI Validation 7 Coding & Unit Testing 6 Software Design Source code modules SAD/SDD Software Architecture/ Design Description 5 Software Requirements SRS S/W Req'rmnts Spec. USDP in Rafael - 8

Stage 1: System Boundary Purpose Provide a common understanding about the system Activities Scope client developers other stakeholders Relationship with external systems Main requirements Products System charter / Vision document Level: System Phase: Inception USDP in Rafael - 9

Stage 2: System Requirements Purpose Define system requirements at the best level of knowledge Activities Requirements elicitation from contract, proposal and other documents Requirements classification and prioritization QFD may be utilized Products SSS = System/Subsystem Specification Use Case modeling recommended Requirements base Level: System Phase: Inception USDP in Rafael - 10

Stage 3: System Design Purpose Provide a stable proposed solution and architecture Activities System architectural design Hardware/software breakdown including requirements allocation Feasibility tests to select alternatives Products SSDD = System/Subsystem Design Description ICD = Interface Control Description External / internal interfaces Either separate or included in SSDD Level: System Phase: Inception USDP in Rafael - 11

Stage 4: Software Planning Purpose Generating a general plan for the software development Activities Risk Analysis Iteration planning Detailed plan for 1st iteration General plan for following iterations Risk allocation to iterations Resource allocation Testing concept and general planning Products SDP = Software Development Plan Risk table and mitigation plan Appendix: 1st iteration detailed plan STP = Software Test Plan Level: System Phase: Inception USDP in Rafael - 12

Stage 5: Software Requirements Purpose Provide a clear and detailed definition of the software requirements allocated to the appropriate CSCI At the current iteration level Activities Deriving software requirements from system requirements Building/updating the Use Case model Products Use Case model Using CASE tools SRS = Software Requirements Specification Functional requirements (Use Cases) Non-functional requirements Software requirements base Preferably as part of the system requirements base Level: CSCI Phase: Elab./Cons. USDP in Rafael - 13

Stage 6: Software Analysis & Design Purpose Provide an architecture and design, in various aspects, of the current iteration based on previous iterations + current requirements Activities Analysis and design modeling Using UML models Products UML models Class model State charts Sequence diagrams Detailed design SAD = Software Architecture Description STD = Software Test Description Top level design Level: CSCI Phase: Elab./Cons. USDP in Rafael - 14

Stage 7: Coding and Unit Testing Purpose Implementation of software modules Activities Coding Programming, compilation, link Individual module testing Informal documentation Test coverage and completion approved by STL Products Approved code modules Level: CSCI Phase: Elab./Cons. USDP in Rafael - 15

Stage 8: CSCI Validation and Approval Purpose Approve the CSCI s readiness for system integration Activities Integrating the modules comprising the CSCI Performing the tests specified in the STD Products Approved CSCI version, ready for system integration STR = Software Test Report Detailed results of STD tests Level: CSCI Phase: Elab./Cons. USDP in Rafael - 16

Stage 9: System Integration and Testing Purpose Accomplish the iteration with an operational approved version of the system Activities Integration System testing, according to system test specifications Level: System Phase: Elab./Cons. Products Approved version of the system, ready for delivery USDP in Rafael - 17

System Level Reviews Iteration Completion Review Inception Elaboration Construction CSCI A CSCI A 9 System Integration CSCI B CSCI B... 9 System Integration... 4 Software Planning 3 System Design 2 System Requirements 1 System Boundary CSCI N CSCI N Test Readiness Review Critical Design Review (S/W) Test Readiness Review System Design Review System Requirements Review external review peer review USDP in Rafael - 18

CSCI Level Review Elaboration Construction 8 CSCI Validation 7 Coding & Unit Testing 6 Software Design Software Design Review Software Specification Review selected iterations 5 Software Requirements Iteration Plan Review external review peer review USDP in Rafael - 19

Conclusions USDP-based iterative software development has many advantages over the waterfall model The process may be adapted and tailored to host most of MIL-STD STD-498 terminology Tailoring requires modified templates The iterative process complies with RAFAEL software development procedures The tailored process is well accepted by engineers, managers and clients USDP in Rafael - 20

Contacts Dr. Amir Tomer Director of Systems & Software Engineering Processes RAFAEL P.O.Box 2250/1P Haifa, 31021 ISRAEL (+972)-4-879-5989 tomera@rafael.co.il USDP in Rafael - 21