Sequentielle Vorgehensmodelle

Size: px
Start display at page:

Download "Sequentielle Vorgehensmodelle"

Transcription

1 Sequentielle Vorgehensmodelle SS 09 Oliver Hummel Seite 1

2 Bringing Order to Process Models Sequenzielle Modelle Phasenmodell Wasserfall-Modell V-Modell Formale Entwicklungsmodelle Prototypische Modelle Iterative Modelle Spiralmodell Inkrementelle Modelle Agile Entwicklungsansätze Scrum, XP... Evolutionäre Modelle Wiederverwendungsorientierte Modelle Rekursive Modelle KobrA Seite 2

3 Phasen- bzw. Wasserfall-Modell requirements Analysis specification Design "Hoffentlich sind die iterativen Interaktionen zwischen den Phasen auf aufeinander folgende Schritte beschränkt." [Royce70] architecture/design Implementation and Unit Testing code Integration and System Testing system Operation and Maintenance Seite 3

4 Meilensteine Stufenweises Phasenmodell: [Benington56] Herbert D. Benington. Production of Large Computer Programs. In: Proceedings of the ONR Symposium on Advanced Programming Methods for Digital Computers, June Wasserfallmodell: [Royce70] Winston W. Royce. Managing the Development of Large Software Systems. Proceedings of the IEEE WESCON Conference, August 1970, pp IEEE, Seite 4

5 More Accurate Waterfall Model requirements Analysis Operation and System Maintenance specification Analysis Analysis Design Design Design Architecture/design Implementation and Unit Testing code Integration and System Testing Implementation and Unit Testing Analysis code Integration and System Testing Design Implementation and Unit Testing code Integration and System Testing.. Implementation and Unit Testing code Integration and System Testing Seite 5

6 Waterfall Model Characteristics Advantages Concrete activities with complete, well-defined products (inputs and outputs) Simple process model for managers Disadvantages premature freezing of artefacts inflexible partitioning of the project into distinct stages insensitive to changing customer requirements high-risk due to big bang integration unrealistic model of the role of maintenance Applicability only feasible when the requirements are well-understood requires large experience with development techniques and tools must include extensive feedback cycles when used in practice Seite 6

7 V-Model waterfall model with elaborated view of validation Requirements analysis Specification validated against validated against Tested System Used System use design Architecture/ Design Tested Modules integration/testing implementation /unit testing Code integration/testing Operation and Maintenance Seite 7

8 Historische Entwicklung des V-Modells Erste Idee kam 1979 von Barry Boehm 1986 wurde es in Deutschland als Entwicklungsstandard bei der Bundeswehr (weiter)entwickelt 1993 als IT-Standard des Bundes auch für zivile Projekte festgeschrieben 1997 wurde das V-Modell 97 mit Anpassungen (z.b. an OO) veröffentlicht 2005 erschien dann das V-Modell XT (für Extreme Tailoring) 2009 in Version 1.3 veröffentlicht regelt, wer wann was im Projekt zu tun hat Seite 8

9 Verification vs. Validation Verification: "Are we building the product right [Boehm] The software should conform to its specification Validation: "Are we building the right product [Boehm] The software should do what the user really requires V & V is a whole life-cycle process must be applied at each stage in the software process has two principal objectives the discovery of defects in a system the assessment of whether or not the system is usable in an operational situation Seite 9

10 Detailliertere Darstellung des V-Modells User's expectations System operation Deployed system User requirements Acceptance test Usable system Requirements specification System testing Executable system System design Integration testing Component specifications Component testing Executable components Component design Component implementation Seite 10

11 V-Model Characteristics Advantages Improved model of verification and validation activities compared to the simple waterfall model Disadvantages Same as waterfall model Applicability Same as waterfall model Seite 11

12 Software Prototyping A prototype is an initial version of a system used to demonstrate concepts and try out design options typically used in sequential process models its development is typically also carried out sequentially but, e.g. the spiral model allows for prototypes, too A prototype can e.g. be used in: the requirements engineering process to help with requirements elicitation and validation design processes to explore options and develop a UI design the testing process to run back-toback tests Boehm s second law Prototyping (significantly) reduces requirement and design errors, especially for user interfaces. Seite 12

13 The Prototyping Process Establish prototype objectives De fine prototype func tio nality Develop prototype Evalua te prototype Prototyping plan Outline definition Executa b le prototype Evalua tion report Potential benefits of applying prototyping Improved system usability A closer match to users real needs Improved design quality Improved maintainability Reduced development effort Seite 13

14 Prototypen Prototypen können unterschiedlich realisiert werden, z.b. als UI-Skizze auf Papier oder in PPT ( Slideware ) Ausführbare Prototypen Anpassung eines Altsystem Neuentwicklung Mock-up ausführbare Anforderungsnotation (z.b. SDL) Auswahl erfordert meist eine Abwägung zwischen Aufwand und Nutzen Seite 14

15 Throw-away Prototypes Prototyping can sometimes conflict with incremental development since prototypes may be abused as system increments The objective of incremental development is to deliver a working system to end-users The development starts with those requirements which are best understood The objective of prototyping is to validate or derive the system requirements The prototyping process starts with those requirements which are poorly understood Prototypes should be discarded after development as they are not a good basis for a production system: The prototype s structure is usually degraded through rapid change The prototype probably will not meet normal organisational quality standards and are normally unddocumented It may be impossible to tune the system to meet non-functional requirements Seite 15

16 Formal Specification and Formal Methods Formal specification is part of a more general collection of techniques that are known as formal methods These are all based on mathematical representation and analysis of software and include Formal specification Specification analysis and proof Transformational development Program verification Formal methods have limited practical applicability Their principal benefits are in reducing the number of errors in systems so their main area of applicability is critical (embedded) systems In this area, the use of formal methods is most likely to be cost-effective Bauer-Zemanek hypothesis Formal methods significantly reduce design errors, or eliminate them early. Seite 16

17 Cost of Formal Specification Formal specification involves investing more effort in the early phases of software development This reduces requirements errors as it forces a detailed analysis of the requirements Incompleteness and inconsistencies can be discovered and resolved Hence, savings are made as the amount of rework due to requirements problems is reduced C o s t D e s i g n a n d I m p l e m e n t a t i o n V a l i d a t i o n V a l i d a t i o n D e s i g n a n d I m p l e m e n t a t i o n S p e c i f i c a t i o n S p e c i f i c a t i o n W i t h o u t f o r m a l s p e c i f i c a t i o n Seite 17 W i t h f o r m a l s p e c i f i c a t i o n

18 Acceptance of Formal Methods Formal methods have not become mainstream software development techniques as was once predicted Other software engineering techniques have been successful at increasing system quality Hence the need for formal methods has been reduced Market changes have made time-to-market rather than software with a low error count the key factor Formal methods do not reduce time to market The scope of formal methods is limited They are not well-suited to specifying and analysing user interfaces and user interaction Formal methods are hard to scale up to large systems They require specially trained personnel Domain experts are typically not able to understand the used notations Seite 18

19 Formal Systems Development Similar to the waterfall method based on the transformation of a formal specification through different representations to an executable program The software requirements specification is refined into a detailed formal specification expressed in mathematically profound notations The development steps of design, implementation and unit testing are replaced by transformation steps Transformations are correctness-preserving so it is straightforward to show that the program conforms to its specification F o r m a l t r a n s f o r m a t i o n s T 1 T 2 T 3 T 4 F o r m a l s p e c i f i c a t i o n R 1 R 2 R 3 E x e c u t a b l e p r o g r a m P 1 P 2 P 3 P 4 P r o o f s o f t r a n s f o r m a t i o n c o r r e c t n e s s Seite 19

20 Formal Systems Development Algebraic approach The system is specified in terms of its operations and their relationships Model-based approach The system is specified in terms of a state model that is constructed using mathematical constructs such as sets and sequences Operations are defined by modifications to the system s state Seite 20

21 The Structure of an Algebraic Specification Defining an abstract data type < SPECIFICATION NAME > (Generic parameter) sort < name > imports < LIST OF SPECIFICATION NAMES > Informal description of the sort and its operations Operation signatures setting out the names and the types of the parameters to the operations defined over the sort Axioms defining the operations over the sort Seite 21

22 Specification Components Introduction Defines the sort (the type name) and declares other specifications that are used Description Informally describes the operations on the type Signature (syntax) Defines the syntax of the operations in the interface and their parameters Axioms (semantics) Defines the operation semantics by defining axioms which characterise behaviour Seite 22

23 Kinds of Operations Constructor operations Operations which create or change entities of the type being specified they always deliver a result of the type itself Inspection operations Operations which evaluate entities of the type being specified Typically deliver results of a primitive type To specify behaviour, define the inspector operations for each constructor operation, i.e. n*m axioms At times, complex constructors may defined by using more primitive ones Seite 23

24 2. Example of an Algebraic Specification Specifying a COORD data structure COORD sort Coord imports INTEGER, BOOLEAN Defines a sort representing a Cartesian coordinate. The operations defined on Coord are X and Y which evaluate the x and y attributes of an entity of this sort and Equals which compares two entities of sort Coord for equality. Create (Integer, Integer) -> Coord X (Coord) -> Integer Y (Coord) -> Integer Equals (Coord, Coord) -> Boolean X (Create (x, y)) = x Y (Create (x, y)) = y Equals (Create (x1, y1), Create (x2, y2)) = ((x1 = x2) and (y1 = y2)) Seite 24

25 Operations on a List ADT Constructor operations which evaluate to sort List Create, Cons and Tail Inspection operations which take sort list as a parameter and return some other sort Head and Length. Tail can be defined using the simpler constructors Create and Cons. No need to define Head and Length with Tail Seite 25

26 Specifying a List ADT sort LIST imports INTEGER LIST (Elem: [Undefined -> Elem] Defines a list where elements are added at one end and are removed from the other end. Operations of List are Create, which brings an empty list into existence, Cons, which creates a new list with an additional member added to the end, Length, which evaluates the size of the list, Head, which evaluates the front element of the list, and Tail, which evaluates to a new list with the head element removed. Create -> List Cons (List, Elem) -> List Tail (List) -> List Head (List) -> Elem Length (List) -> Integer Head (Create) = Undefined exception (empty list) Head (Cons (L, v)) = if L = Create then v else Head (L) Length (Create) = 0 Length (Cons (L, v)) = Length (L) + 1 Tail (Create) = Create Tail (Cons (L, v)) = if L = Create then Create else Cons (Tail (L), v) Seite 26

27 Formal Systems Development Advantages High quality software High-level of confidence in software correctness Disadvantages Need for specialised skills and training to apply the technique Difficult to formally specify some aspects of the system such as the user interface Applicability mainly embedded systems where safety or security is critical Seite 27

28 Zusammenfassung Sequentielle Vorgehensmodelle durchlaufen die Phasen der Software- Entwicklung nacheinander und gemäß der Grundidee genau ein Mal in den meisten Modellen finden sich allerdings iterative Elemente Prototyping kann in allen Vorgehensmodellen eingesetzt werden um unklare Anforderungen oder deren Umsetzung zu erproben Prototypen sollten danach entsorgt werden (throw away!) Formale Entwicklungsmethoden nutzen formalisierte Modelle versuchen dadurch ein bessere Systemqualität zu erreichen erfordern spezielle Kenntnisse meist für eingebettete und kritische Systeme eingesetzt bei gleichen Qualitätsanforderungen aller Erfahrung nach kaum/nicht teurer als andere Ansätze Morgen (B05) in H0607 beschäftigen wir uns mit den Grundlagen iterativer und agiler Vorgehensmodelle Seite 28

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

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

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

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases Software Processes CSC 221 Introduction to Software Engineering software processes extract from Sommerville s chapter 3 slides Alan Dix Coherent sets of activities for specifying, designing, implementing

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 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods

More information

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

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems Questions What is the life cycle of a software product? Why do we need software process models? What are the goals of a software process and what makes it different from other industrial processes? Software

More information

Unit 1 Learning Objectives

Unit 1 Learning Objectives Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction

More information

Modelli di sviluppo software. Enrico Giunchiglia

Modelli di sviluppo software. Enrico Giunchiglia Modelli di sviluppo software Enrico Giunchiglia The software development process A structured set of activities required to develop a software system, including Specification Design & Development Validation

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

Chapter 2 Software Processes

Chapter 2 Software Processes Chapter 2 Software Processes Chapter 2 Software Processes Slide 1 Topics covered Software processes and process models Generic models: Waterfall Incremental development Reuse-oriented software engineering

More information

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

To introduce software process models To describe three generic process models and when they may be used 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

Lecture 3 Software Development Processes

Lecture 3 Software Development Processes Lecture 3 Software Development Processes Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 2, 2008 Lecture Overview

More information

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

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI. bayu@unsri.ac. The software process Software Development Methods Bayu Adhi Tama, ST., MTI. bayu@unsri.ac.id A structured set of activities required to develop a software system Specification; Design; Validation; Evolution.

More information

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

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes 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

Software Engineering

Software Engineering 1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software

More information

Unit I. Introduction

Unit I. Introduction Unit I Introduction Product Life Cycles Products also have life cycles The Systems Development Life Cycle (SDLC) is a framework for describing the phases involved in developing and maintaining information

More information

Software Process for QA

Software Process for QA Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called

More information

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

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

SPICE auf der Überholspur. Vergleich von ISO (TR) 15504 und Automotive SPICE

SPICE auf der Überholspur. Vergleich von ISO (TR) 15504 und Automotive SPICE SPICE auf der Überholspur Vergleich von ISO (TR) 15504 und Automotive SPICE Historie Software Process Improvement and Capability determination 1994 1995 ISO 15504 Draft SPICE wird als Projekt der ISO zur

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 Objectives To explain how an iterative, incremental development process leads to faster delivery of

More information

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

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development

More information

Software Development Process Models

Software Development Process Models Software Development Process Models Balasankar C S1 M.Tech CSE 1 / 24 Software Development Process Models Activities directly related production design, coding, testing Specifies major development & quality

More information

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

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki SE464/CS446/ECE452 Software Life-Cycle and Process Models Instructor: Krzysztof Czarnecki 1 Some of these slides are based on: Lecture slides by Ian Summerville accompanying his classic textbook software

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

Software Life Cycle Processes

Software Life Cycle Processes Software Life Cycle Processes Objective: Establish a work plan to coordinate effectively a set of tasks. Improves software quality. Allows us to manage projects more easily. Status of projects is more

More information

CSE 435 Software Engineering. Sept 16, 2015

CSE 435 Software Engineering. Sept 16, 2015 CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process

More information

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

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project. 6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.

More information

How To Ensure A Kreditierung Austria Is A Successful

How To Ensure A Kreditierung Austria Is A Successful Akkreditierungserfordernisse an Stellen, die Managementsysteme nach EN 9100 bzw. EN 9110 (EN 9120) auditieren und zertifizieren - Änderungen zur Vorgängerversion sind gelb hinterlegt. Der Leitfaden wurde

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

COMP 354 Introduction to Software Engineering

COMP 354 Introduction to Software Engineering COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course

More information

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality

More information

Software Engineering. What is a system?

Software Engineering. What is a system? What is a system? Software Engineering Software Processes A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical,

More information

Software Project Models

Software Project Models INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini Email-abhinav.prashar@gmail.com,

More information

Classical Software Life Cycle Models

Classical Software Life Cycle Models Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation

More information

IV. Software Lifecycles

IV. Software Lifecycles IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle

More information

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

The most suitable system methodology for the proposed system is drawn out. 3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.

More information

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

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing. Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 Nalkar_sanjivani@yahoo.co.in Abstract This paper presents an

More information

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at

More information

Software Process and Models

Software Process and Models Agenda Software Process Models Plan-driven Process Models Software Process and Models A software process model simplified, abstracted description of a software development process. A model is good for

More information

SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation

More information

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

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci Software Engineering Software Development Process Models Lecturer: Giuseppe Santucci Summary Modeling the Software Process Generic Software Process Models Waterfall model Process Iteration Incremental

More information

Software Engineering. Objectives. Designing, building and maintaining large software systems

Software Engineering. Objectives. Designing, building and maintaining large software systems Software Engineering Objectives Designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software

More information

Lecture 03 (04.11.2013) Quality of the Software Development Process

Lecture 03 (04.11.2013) Quality of the Software Development Process Systeme hoher Qualität und Sicherheit Universität Bremen, WS 2013/14 Lecture 03 (04.11.2013) Quality of the Software Development Process Christoph Lüth Christian Liguda Your Daily Menu Models of Software

More information

Usability in SW-Engineering-Prozessen und in CMMI

Usability in SW-Engineering-Prozessen und in CMMI Workshop USABILITY VDE Prüf- und Zertifizierungsinstitut Strategiekreis i-12 Usability in SW-Engineering-Prozessen und in CMMI Helmut Thoma Schweizer Informatik Gesellschaft Lehrbeauftragter Universität

More information

The Software Life Cycle. CSE 308: Software Engineering

The Software Life Cycle. CSE 308: Software Engineering The Software Life Cycle CSE 308: Software Engineering 1 Life Cycle Models A software life cycle model represents all of the activities and work products necessary to develop a software system Life cycle

More information

Foundations of software engineering

Foundations of software engineering Foundations of software engineering Waterfalls, V s and Spirals: Standard SE Methodologies Dr. Julie Greensmith G51 Objectives To introduce three of the major software process models: Waterfall methods

More information

CSCI-485: Software Design

CSCI-485: Software Design CSCI-485: Software Design Lecture 6 Note: Some slides adapted from Software Engineering by Ian Sommerville Software Processes Code-and-fix model Software process model used in the early days of computing

More information

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

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work

More information

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

Family: Iterative Enhancement Origin: Ivar Jacobson, James Rumbaugh, Grady Booch, 1996 Defines process framework that is adaptable to Unified Process Family: Iterative Enhancement Origin: Ivar Jacobson, James Rumbaugh, Grady Booch, 1996 Defines process framework that is adaptable to various application domains different organizations

More information

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

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...

More information

Rapid Software Development

Rapid Software Development Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery

More information

Lifecycle Models: Waterfall / Spiral / EVO

Lifecycle Models: Waterfall / Spiral / EVO Lifecycle Models: Waterfall / Spiral / EVO Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Lifecycle The sequence of actions that must be performed in order to build a software

More information

LECTURE 1. SYSTEMS DEVELOPMENT

LECTURE 1. SYSTEMS DEVELOPMENT LECTURE 1. SYSTEMS DEVELOPMENT 1.1 INFORMATION SYSTEMS System A system is an interrelated set of business procedures used within one business unit working together for a purpose A system has nine characteristics

More information

Software Development Processes. Software Life-Cycle Models

Software Development Processes. Software Life-Cycle Models 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

More information

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

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

Über die Semantik von Modellierungssprachen

Über die Semantik von Modellierungssprachen Über die Semantik von Modellierungssprachen und des UML-Standards Prof. Dr. Bernhard Rumpe Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 What is a model? And why do we need modeling

More information

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software? System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Software Production and Lifecycle Models

Software Production and Lifecycle Models Software Production and Lifecycle Models 1 Problem Definition Change Architectural Design Verification Personnel Basic Phases Potential Difficulties, Verification, and Testing Implementation and Integration

More information

Lecture 21 March 7, 2013

Lecture 21 March 7, 2013 ECE155: Engineering Design with Embedded Systems Winter 2013 Lecture 21 March 7, 2013 Patrick Lam version 1 Software Development Lifecycle If you re asked to develop a software project, you re likely to

More information

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

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 16-17 Introduction to software process Software process models,

More information

A Comparison between Five Models of Software Engineering

A Comparison between Five Models of Software Engineering International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College

More information

Software Development Process

Software Development Process Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software

More information

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

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer

More information

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

Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.

More information

Surveying and evaluating tools for managing processes for software intensive systems

Surveying and evaluating tools for managing processes for software intensive systems Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB

More information

Models of Software Development

Models of Software Development October 28, 2015 Verification & Validation In many computer science courses, software is submitted once, graded, and thrown away. In real life, software development is an process. Some attempts to codify

More information

Review of Software Development Methodologies Used in Software Design

Review of Software Development Methodologies Used in Software Design ISSN 2278-3091 Volume 3, No.5, September - October 2014 Er. Sheilly Padda et al., International Journal of Advanced Trends in Computer Science and Engineering, 3(5), September-October 2014, 88-93 International

More information

27 Formal Specification

27 Formal Specification 1 Chapter 27 Formal Specification 27 Formal Specification Objectives The objective of this chapter is to introduce formal specification techniques that can be used to add detail to a system requirements

More information

Agile Software Engineering Practice to Improve Project Success

Agile Software Engineering Practice to Improve Project Success Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,

More information

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.

More information

A Software Engineering Model for Mobile App Development

A Software Engineering Model for Mobile App Development APPENDIX C A Software Engineering Model for Mobile App Development As we mentioned early in the book (see Chapter 1), to successfully develop a mobile software solution you should follow an engineering

More information

Standardized software development model for SME software houses in Pakistan

Standardized software development model for SME software houses in Pakistan Standardized software development model for SME software houses in Pakistan Abstract There are many software development models that exist for software development like Extreme Programming, Waterfall,

More information

Chakra Vs Spiral Model - A Practical Approach

Chakra Vs Spiral Model - A Practical Approach Chakra - A new era in Software Lifecycle modeling technique R.P.Muthu Assistant Professor, Department of Computer Science Indian Institute of Technology, Bombay. Abstract: Every old thing has to be modified

More information

Produktfamilienentwicklung

Produktfamilienentwicklung Produktfamilienentwicklung Bericht über die ITEA-Projekte ESAPS, CAFÉ und Families Günter Böckle Siemens CT SE 3 Motivation Drei große ITEA Projekte über Produktfamilien- Engineering: ESAPS (1.7.99 30.6.01),

More information

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

More information

How To Teach A Software Engineer

How To Teach A Software Engineer Corporate Technology Social Skills für Experten Erfahrungsbericht vom Siemens Curriculum für Senior Architekten / Architekten Matthias Singer Siemens AG Learning Campus Copyright 2010. All rights reserved.

More information

Elena Chiocchetti & Natascia Ralli (EURAC) Tanja Wissik & Vesna Lušicky (University of Vienna)

Elena Chiocchetti & Natascia Ralli (EURAC) Tanja Wissik & Vesna Lušicky (University of Vienna) Elena Chiocchetti & Natascia Ralli (EURAC) Tanja Wissik & Vesna Lušicky (University of Vienna) VII Conference on Legal Translation, Court Interpreting and Comparative Legilinguistics Poznań, 28-30.06.2013

More information

Verteilte Systeme 3. Dienstevermittlung

Verteilte Systeme 3. Dienstevermittlung VS32 Slide 1 Verteilte Systeme 3. Dienstevermittlung 3.2 Prinzipien einer serviceorientierten Architektur (SOA) Sebastian Iwanowski FH Wedel VS32 Slide 2 Prinzipien einer SOA 1. Definitionen und Merkmale

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

Software Engineering Reference Framework

Software Engineering Reference Framework Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of

More information

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

Software Development Life Cycle Models - Process Models. Week 2, Session 1 Software Development Life Cycle Models - Process Models Week 2, Session 1 PROCESS MODELS Many life cycle models have been proposed } Traditional Models (plan-driven) } Classical waterfall model } Iterative

More information

Advanced Software Engineering. Software Development Processes

Advanced Software Engineering. Software Development Processes Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development

More information

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

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development

More information

The Blending of Traditional and Agile Project Management

The Blending of Traditional and Agile Project Management 1 of 6 The Blending of Traditional and Agile Project Management By Kathleen Hass Traditional project management involves very disciplined and deliberate planning and control methods. With this approach,

More information

Software Development: The Waterfall Model

Software Development: The Waterfall Model Steven Zeil June 7, 2013 Contents 1 Software Development Process Models 2 1.1 Components of the Waterfall Model................................. 2 1.1.1 What is a requirement?. 2 1.1.2 Testing..........

More information

The Software Development Process

The Software Development Process Systeme hoher Qualität und Sicherheit Universität Bremen WS 2015/2016 Lecture 03 (26.10.2015) The Software Development Process Christoph Lüth Jan Peleska Dieter Hutter Your Daily Menu Models of software

More information

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

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 abb@cs.stir.ac.uk Spring 2014 (elicitation)

More information

3C05: Unified Software Development Process

3C05: Unified Software Development Process 3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2

More information

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Documentation Methodologies:

More information

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell ATHABASCA UNIVERSITY Selecting a Software Development Methodology based on Organizational Characteristics BY Adrienne Farrell An essay submitted in partial fulfillment Of the requirements for the degree

More information

Software Testing. Quality & Testing. Software Testing

Software Testing. Quality & Testing. Software Testing Software Testing Software Testing Error: mistake made by the programmer/developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures

More information

How To Model Software Development Life Cycle Models

How To Model Software Development Life Cycle Models Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different

More information

Software Life Cycle. Management of what to do in what order

Software Life Cycle. Management of what to do in what order Software Life Cycle Management of what to do in what order Software Life Cycle (Definition) The sequence of activities that take place during software development. Examples: code development quality assurance

More information

AGIL JA, ABER SICHER? 29.07.2015, ANDREAS FALK, 34. SCRUM TISCH

AGIL JA, ABER SICHER? 29.07.2015, ANDREAS FALK, 34. SCRUM TISCH AGIL JA, ABER SICHER? 29.07.2015, ANDREAS FALK, 34. SCRUM TISCH Vorstellung: Andreas Falk Langjährige Erfahrungen als Entwickler, Architekt und Tester in verschiedenen Projekten mit Fokus Enterprise-Anwendungen

More information

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

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer Software Development Life Cycle at SSPL An Summary of Methodologies We Offer 10/29/2009 Table of Contents The SSPL Advantage... 2 Commonly Used SDLC Models at SSPL... 2 Waterfall Model... 2 Agile Model...

More information

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Methodologies: RUP Focus

More information

Erfolgreiche Zusammenarbeit:

Erfolgreiche Zusammenarbeit: Erfolgreiche Zusammenarbeit: Agile Manager, Application Lifecycle Management und HP Quality Center Thomas Köppner, Technical Consultant, HP HP Agile Manager im Zusammenspiel mit HP Quality Center 2 Thomas

More information

Best Practices, Process

Best Practices, Process Best Practices, Process Nathaniel Osgood MIT 15.879 May 16, 2012 Recall: Process Suggestions Use discovery of bugs & oversights to find opportunities to improve Q & A and broader modeling process Use peer

More information

CPSC 491 Lecture Notes Fall 2013

CPSC 491 Lecture Notes Fall 2013 CPSC 491 Lecture Notes Fall 2013 1 Overview Topics Process models (cont.) Key Ideas Basic definition and advantages/disadvantages of major lifecycle models Homework HW 3 (out) Ch 1, Ch 2: 29 47 2 Software

More information