Development of dynamically evolving and self-adaptive software. 2. Understanding and managing change

Size: px
Start display at page:

Download "Development of dynamically evolving and self-adaptive software. 2. Understanding and managing change"

Transcription

1 Development of dynamically evolving and self-adaptive software 2. Understanding and managing change LASER 203 Isola d Elba, September 203 Carlo Ghezzi Politecnico di Milano Deep-SE DEIB Tuesday, September 0, 3

2 The global picture: the machine and the world (Jackson/Zave) P, Zave, M. Jackson, Four dark corners of requirements engineering, TOSEM 9972 Tuesday, September 0, 3

3 The global picture: the machine and the world (Jackson/Zave) World (the environment) Machine P, Zave, M. Jackson, Four dark corners of requirements engineering, TOSEM Tuesday, September 0, 3

4 The global picture: the machine and the world (Jackson/Zave) World (the environment) Machine P, Zave, M. Jackson, Four dark corners of requirements engineering, TOSEM Tuesday, September 0, 3

5 The global picture: the machine and the world (Jackson/Zave) World (the environment) Machine Goals Requirements P, Zave, M. Jackson, Four dark corners of requirements engineering, TOSEM Tuesday, September 0, 3

6 The global picture: the machine and the world (Jackson/Zave) World (the environment) Machine Shared phenomena Goals Requirements P, Zave, M. Jackson, Four dark corners of requirements engineering, TOSEM Tuesday, September 0, 3

7 The global picture: the machine and the world (Jackson/Zave) World (the environment) Machine Shared phenomena Goals Requirements Specification P, Zave, M. Jackson, Four dark corners of requirements engineering, TOSEM Tuesday, September 0, 3

8 The global picture: the machine and the world (Jackson/Zave) World (the environment) Machine Domain properties, assumptions Shared phenomena Goals Requirements Specification P, Zave, M. Jackson, Four dark corners of requirements engineering, TOSEM Tuesday, September 0, 3

9 Domain properties and assumptions Domain property - statement about problem world phenomena - often it holds regardless of any software-to-be; e.g. physics laws avgtrainacceleration (t, t2) > 0 implies trainspeed (t2) > trainspeed (t) Assumption - statement about problem world phenomena, constraints - may be violated humans behave as instructed by the machine temperature is in the range Celsius device generates a measure every 2 ms. Tuesday, September 0, 3 3

10 Domain assumptions May concern usage profiles users responsiveness remote servers response time network latency sensors/actuators behaviors... Domain assumptions bridge the gap between requirements and specifications (M. Jackson & P. Zave) 4 Tuesday, September 0, 3

11 Dependability arguments Assume you have a formal representation for R = requirements S = specification D = Dp + Da domain properties and assumptions if S and D are both satisfied and consistent, it is necessary to prove S, D = R 5 Tuesday, September 0, 3

12 Change Requirements change Environment changes Change is often a manifestation of uncertainty Change asks for evolution (of the machine) Tuesday, September 0, 3 6

13 Changes may cause evolution Changes are exogenous phenomena that may concern - R S, D = R - D (actually, Da) Changes likely break the dependability argument Evolution (of the machine) is a consequence of change we need to change S (and hence the implementation) to continue to satisfy the dependability argument 7 Tuesday, September 0, 3

14 Evolution (970s) = software maintenance Traditionally, changes to software (the machine, S) in response to changes in D, R are performed manually (by software engineers) and applied off-line, after delivery Maintenance (Lientz and Swanson) classified as - Corrective maintenance Modification to correct discovered problems. - Adaptive maintenance Modification to keep it usable in a changed or changing environment. - Perfective maintenance Modification to improve it functionally/non-functionally. - Preventive maintenance. Anticipate any of the above. Tuesday, September 0, 3 Lientz B., Swanson E., Software Maintenance Management. Addison Wesley, 980 8

15 Early studies on software evolution Software evolution recognized as a crucial problem since the 970 s (work by M. Lehman and L. Belady) Three categories of software - S-programs - written according to an exact specification of what the program can do - P-programs - written to implement certain procedures that completely determine what the program can do (e.g., a program to play chess) - E-programs - written to perform some real-world activity - how they should behave is linked to the environment in which they run - need to adapt to varying requirements and circumstances in that environment Tuesday, September 0, 3 Lehman, M., Programs, Life Cycles, and Laws of Software Evolution, Proc. IEEE, 980 9

16 Lehman s laws of software evolution () Continuing Change E-type systems must be continually adapted or they become progressively less satisfactory. Increasing Complexity As an E-type system evolves its complexity increases unless work is done to maintain or reduce it. Self Regulation E-type system evolution process is selfregulating with distribution of product and process measures close to normal. Conservation of Organizational Stability (invariant work rate) The average effective global activity rate in an evolving E- type system is invariant over product lifetime. Tuesday, September 0, 3 0

17 Lehman s laws of software evolution (2) Conservation of Familiarity Over the lifetime of a system, the incremental change in each release is approximately constant. Continuing Growth The functional content of E-type systems must be continually increased to maintain user satisfaction over their lifetime. Declining Quality The quality of E-type systems will appear to be declining unless they are rigorously maintained and adapted to operational environment changes. Feedback System E-type evolution processes constitute multi-level, multi-loop, multi-agent feedback systems and must be treated as such to achieve significant improvement over any reasonable base. Tuesday, September 0, 3

18 Software evolution (2000): agility Common to all variants: - Incorporate feedback in an iterative development that supports progressive calibration of objectives and adjustment of requirements Tuesday, September 0, 3 2

19 Software evolution (late 200s) Run-time evolution Self-managing evolution Tuesday, September 0, 3 3

20 Evolution and adaptation Adaptation is a special case of evolution due to changes in domain assumptions, Da an increasingly relevant phenomenon, often due to uncertainty cyber-physical systems - interaction with the physical environment user-intensive systems - changes in usage profile cloud/service infrastructure - platform/software volatility 4 Tuesday, September 0, 3

21 On-line evolution and self-adaptive systems More and more often systems are required to be continuously running This asks for on-line evolution, i.e. applying changes to the machine as the system is running and providing service The special case of self-adaptive systems - on-line adaptation is self-managed 5 Tuesday, September 0, 3

22 Self-adaptive system (SaS) D decomposed into D f and D c D f is the fixed/stable part D c is the changeable part S, D = R A SaS should - detect changes to D c - modify itself (the machine --- S, and the implementation) to keep satisfying the dependability argument, if necessary 6 Tuesday, September 0, 3

23 Paradigm shift SaSs ask for a paradigm shift, which involves both development time (DT) and run time (RT) The boundary between DT and RT fades Reasoning and reacting capabilities must enrich the RT environment - detect change - reason about the consequences of change - react to change 7 Tuesday, September 0, 3

24 To detect change, we need to monitor the environment The changes must be retrofitted to models of the machine+environment that support reasoning about the dependability argument (a learning step) The updated models must be verified to check for violations to the dependability argument In case of a violation, a self-adaptation must be triggered 8 Tuesday, September 0, 3

25 Lifecycle of self-adaptive systems 9 Tuesday, September 0, 3

26 Lifecycle of self-adaptive systems Reqs 9 Tuesday, September 0, 3

27 Lifecycle of self-adaptive systems Reqs Env 9 Tuesday, September 0, 3

28 Lifecycle of self-adaptive systems Reqs 0 Specification E Specification Env 9 Tuesday, September 0, 3

29 Lifecycle of self-adaptive systems Reqs 0 Specification E Implementation Specification Env 9 Tuesday, September 0, 3

30 Lifecycle of self-adaptive systems Reqs 0 Specification E Implementation Development time Specification Env 9 Tuesday, September 0, 3

31 Lifecycle of self-adaptive systems Reqs 0 Specification E Implementation Development time Specification Run time Env 9 Tuesday, September 0, 3

32 Lifecycle of self-adaptive systems Reqs 0 Specification E Implementation Development time Run time Specification Execution Env 9 Tuesday, September 0, 3

33 Lifecycle of self-adaptive systems Reqs 0 Specification E Implementation Monitoring Development time Run time Specification Execution Env 9 Tuesday, September 0, 3

34 Lifecycle of self-adaptive systems Reqs 0 Specification E Reasoning Implementation Monitoring Development time Specification Run time Execution Env 9 Tuesday, September 0, 3

35 Lifecycle of self-adaptive systems Reqs 0 Specification E Reasoning Implementation Development time Self-adaptation Specification Monitoring Run time Execution Env 9 Tuesday, September 0, 3

36 Autonomic computing Tuesday, September 0, 3 20

37 Autonomic computing mic computing Tuesday, September 0, 3 20

38 Zooming in I. Epifani, C. Ghezzi, R. Mirandola, G. Tamburrelli, "Model Evolution by Run-Time Parameter Adaptation, ICSE 2009 C. Ghezzi, G. Tamburrelli, "Reasoning on Non Functional Requirements for Integrated Services, RE 2009 I. Epifani, C. Ghezzi, G. Tamburrelli, "Change-Point Detection for Black-Box Services, FSE 200 A. Filieri, C. Ghezzi, G. Tamburrelli, " A formal approach to adaptive software: continuous assurance of non-functional requirements", Formal Aspects of Computing, 24, 2, March Tuesday, September 0, 3

39 Problem setting Focus on non-functional requirements reliability, performance, energy consumption, cost, Quantitatively stated in probabilistic terms D c decomposed into D u, D s D u = usage profile D s = S... S n S i assumption on i-th service User?? Service S Integrated Service Workflow W <uses> <uses> Service S 2? <uses>...? Service S n 22 Tuesday, September 0, 3

40 An example NrmShipping Login [normal] Search [proceed] [express] CheckOut Buy ExpShipping Logout [buy more] 23 Tuesday, September 0, 3

41 An example NrmShipping Login [normal] Returning customers Search [proceed] [express] CheckOut vs new customers Buy ExpShipping Logout [buy more] 23 Tuesday, September 0, 3

42 An example NrmShipping Login [normal] Returning customers Search [proceed] [express] CheckOut vs new customers Buy ExpShipping Logout [buy more] 3 probabilistic requirements: R: Probability of success is > 0.8 R2: Probability of a ExpShipping failure for a user recognized as ReturningCustomer < R3: Probability of an authentication failure is less then < Tuesday, September 0, 3

43 Assumptions User profile domain knowledge RC NC RC NC RC External service assumptions (reliability) 24 Tuesday, September 0, 3

44 DTMC model Returning Search Buy ExpShipping FailedExpSh Login 0.35 Logged FailedLg 0.3 FailedChk 0.95 CheckOut Logout Success NewCustomer Search Buy NrmShipping FailedNrmSh 25 Tuesday, September 0, 3

45 DTMC model Returning Search Buy ExpShipping FailedExpSh Login 0.35 Logged FailedLg 0.3 FailedChk 0.95 CheckOut Logout Success NewCustomer Search Property check via model checking R: Probability of success is > 0.8 R2: Probability of a ExpShipping failure for a user recognized as ReturningCustomer < R3: Probability of an authentication failure is less then < 0.06 Buy NrmShipping FailedNrmSh 25 Tuesday, September 0, 3

46 DTMC model Returning Search Buy ExpShipping FailedExpSh Login 0.35 Logged FailedLg 0.3 FailedChk 0.95 CheckOut Logout Success NewCustomer Search Property check via model checking R: Probability of success is > R2: Probability of a ExpShipping failure for a user recognized as ReturningCustomer < R3: Probability of an authentication failure is less then < 0.06 Buy NrmShipping FailedNrmSh 25 Tuesday, September 0, 3

47 DTMC model Returning Search Buy ExpShipping FailedExpSh Login 0.35 Logged FailedLg 0.3 FailedChk 0.95 CheckOut Logout Success NewCustomer Search Property check via model checking R: Probability of success is > R2: Probability of a ExpShipping failure for a user recognized as ReturningCustomer < R3: Probability of an authentication failure is less then < 0.06 Buy NrmShipping FailedNrmSh 25 Tuesday, September 0, 3

48 DTMC model Returning Search Buy ExpShipping FailedExpSh Login 0.35 Logged FailedLg 0.3 FailedChk 0.95 CheckOut Logout Success NewCustomer Search Property check via model checking R: Probability of success is > R2: Probability of a ExpShipping failure for a user recognized as ReturningCustomer < R3: Probability of an authentication failure is less then < 0.06 Buy NrmShipping FailedNrmSh Tuesday, September 0, 3

49 What happens at run time? Actual environment behavior is monitored Model updated e.g., by using a Bayesian approach to estimate DTMC matrix (posterior) given run time traces and prior transitions Boils down to the following updating rule 26 Tuesday, September 0, 3

50 What happens at run time? Actual environment behavior is monitored Model updated e.g., by using a Bayesian approach to estimate DTMC matrix (posterior) given run time traces and prior transitions Boils down to the following updating rule 26 Tuesday, September 0, 3

51 What happens at run time? Actual environment behavior is monitored Model updated e.g., by using a Bayesian approach to estimate DTMC matrix (posterior) given run time traces and prior transitions Boils down to the following updating rule A-priori Knowledge 26 Tuesday, September 0, 3

52 What happens at run time? Actual environment behavior is monitored Model updated e.g., by using a Bayesian approach to estimate DTMC matrix (posterior) given run time traces and prior transitions Boils down to the following updating rule A-priori Knowledge A-posteriori Knowledge 26 Tuesday, September 0, 3

53 In our example 27 Tuesday, September 0, 3

54 In our example R2: Probability of an ExpShipping failure for a user recognized as BigSpender < Tuesday, September 0, 3

55 In our example R2: Probability of an ExpShipping failure for a user recognized as BigSpender < Tuesday, September 0, 3

56 In our example Requirement violated! R2: Probability of an ExpShipping failure for a user recognized as BigSpender < Tuesday, September 0, 3

57 Model update and failure prediction Model checking applied to after each update Model checking may predict requirements violations... and trigger self-adaptations before violations manifest themselves 28 Tuesday, September 0, 3

58 In our example Returning Search Buy ExpShipping FailedExpSh Login 0.35 Logged FailedLg 0.3 FailedChk 0.95 CheckOut Logout Success NewCustomer Search Buy NrmShipping FailedNrmSh 29 Tuesday, September 0, 3

59 In our example Returning Search Buy ExpShipping FailedExpSh Login 0.35 Logged FailedLg 0.3 FailedChk 0.95 CheckOut Logout Success NewCustomer Search Buy NrmShipping FailedNrmSh R2: Probability of an ExpShipping failure for a user recognized as ReturningCustomer < Tuesday, September 0, 3

60 In our example Returning Search Buy ExpShipping FailedExpSh Login 0.35 Logged FailedLg 0.3 FailedChk 0.95 CheckOut Logout Success NewCustomer Search Buy NrmShipping FailedNrmSh R2: Probability of an ExpShipping failure for a user recognized as ReturningCustomer < Tuesday, September 0, 3

61 In our example Returning Search Buy ExpShipping FailedExpSh Login Logged FailedLg 5 FailedChk CheckOut Logout Requirement violated! Success NewCustomer Search Buy NrmShipping FailedNrmSh R2: Probability of an ExpShipping failure for a user recognized as ReturningCustomer < Tuesday, September 0, 3

62 In our example Returning Search Buy ExpShipping FailedExpSh Login Logged NewCustomer FailedLg 5 FailedChk CheckOut customers 0.5 have been Search Buy NrmShipping FailedNrmSh Logout Requirement violated! Even if no returning Success 6 observed R2: Probability of an ExpShipping failure for a user recognized as ReturningCustomer < Tuesday, September 0, 3

63 Another example Discrete Time Markov Reward Model (D-MRM) NrmShipping 20 Login Search Buy 0.56 Logout End CheckOut ExpShipping Units: $ Tuesday, September 0, 3

64 Another example Discrete Time Markov Reward Model (D-MRM) NrmShipping 20 Login Search Buy 0.56 Logout End CheckOut ExpShipping Units: $ What s the average cost Tuesday, September 0, 3 of a session?

65 Another example Discrete Time Markov Reward Model (D-MRM) NrmShipping 20 Login Search Buy 0.56 Logout End CheckOut ExpShipping Units: $ What s the average cost Tuesday, September 0, 3 of a session? =

SOFTWARE ENGINEERING OVERVIEW

SOFTWARE ENGINEERING OVERVIEW SOFTWARE ENGINEERING OVERVIEW http://www.tutorialspoint.com/software_engineering/software_engineering_overview.htm Copyright tutorialspoint.com Let us first understand what software engineering stands

More information

Development of dynamically evolving and self-adaptive software. 1. Background

Development of dynamically evolving and self-adaptive software. 1. Background Development of dynamically evolving and self-adaptive software 1. Background LASER 2013 Isola d Elba, September 2013 Carlo Ghezzi Politecnico di Milano Deep-SE Group @ DEIB 1 Requirements Functional requirements

More information

Continual Verification of Non-Functional Properties in Cloud-Based Systems

Continual Verification of Non-Functional Properties in Cloud-Based Systems Continual Verification of Non-Functional Properties in Cloud-Based Systems Invited Paper Radu Calinescu, Kenneth Johnson, Yasmin Rafiq, Simos Gerasimou, Gabriel Costa Silva and Stanimir N. Pehlivanov Department

More information

How to realize software evolution of existing BOSS via ZTE SEEM

How to realize software evolution of existing BOSS via ZTE SEEM How to realize software evolution of existing BOSS via ZTE SEEM Zhan Zhang Abstract Due to long-term construction and accumulation for different purposes, telecom carriers normally have very complex IT

More information

Software Engineering. So(ware Evolu1on

Software Engineering. So(ware Evolu1on Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers

More information

Chapter 9 Software Evolution

Chapter 9 Software Evolution Chapter 9 Software Evolution Summary 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes

More information

Software engineering self-adaptive web-based information systems - Current research topics

Software engineering self-adaptive web-based information systems - Current research topics Software engineering self-adaptive web-based information systems - Current research topics vangel.ajanovski@finki.ukim.mk Faculty of Computer Sciences and Engineering (FCSE) Ss Cyril and Methodius University,

More information

Levels of Software Testing. Functional Testing

Levels of Software Testing. Functional Testing Levels of Software Testing There are different levels during the process of Testing. In this chapter a brief description is provided about these levels. Levels of testing include the different methodologies

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

More information

Retrofitting Security into a Web-Based Information System

Retrofitting Security into a Web-Based Information System Retrofitting Security into a Web-Based Information System David Bettencourt da Cruz, Bernhard Rumpe, Guido Wimmel Software & Systems Engineering, Technische Universität München 85748 Munich/Garching, Germany

More information

Software maintenance. Software Maintenance. Fundamental problems. Maintenance activities. Lehman/Belady model of evolution. Topics

Software maintenance. Software Maintenance. Fundamental problems. Maintenance activities. Lehman/Belady model of evolution. Topics Software maintenance Software Maintenance Key problems/issues Historical models and data Program Defined in IEEE Standard 1219 as: The modification of a software product after delivery to correct faults,

More information

Self-adaptive software needs quantitative verification at runtime

Self-adaptive software needs quantitative verification at runtime Self-adaptive software needs quantitative verification at runtime Radu Calinescu Department of Computer Science University of York Deramore Lane York YO10 5GH, UK radu.calinescu@york.ac.uk Marta Kwiatkowska

More information

Mining Behavior Models from User-Intensive Web Applications

Mining Behavior Models from User-Intensive Web Applications Mining Behavior Models from User-Intensive Web Applications ABSTRACT Carlo Ghezzi Politecnico di Milano, Italy DeepSE Group at DEIB carlo.ghezzi@polimi.it Michele Sama Head of cloud and data Touchtype

More information

Software Change Management Chapter 27 Homework 10 Points

Software Change Management Chapter 27 Homework 10 Points SE-27-Software-Change-Management-HW.doc 1 CSCI 3321 Initials Written homework will be assigned regularly throughout the semester. Since there is little or no serious programming involved in the homework,

More information

Agile Development and Software Evolution

Agile Development and Software Evolution Agile Development and Software Evolution Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Software Lifecycle Textbook view: Req's Analysis Design Construction Testing Transfer

More information

Lecture 20: Software Evolution

Lecture 20: Software Evolution Lecture 20: Software Evolution Basics of Software Evolution Laws of software evolution Requirements Growth Software Aging Basics of Change Management Baselines, Change Requests and Configuration Management

More information

Replacement Decisions for Evolving Software

Replacement Decisions for Evolving Software Replacement Decisions for Evolving Software M M Lehman J F Ramil G Kahen Department of Computing Imperial College 180 Queen's Gate, London SW7 2BZ tel +44 20 7594 8214 fax +44 20 7594 8215 {mml,ramil,gk}@doc.ic.ac.uk

More information

The role of integrated requirements management in software delivery.

The role of integrated requirements management in software delivery. Software development White paper October 2007 The role of integrated requirements Jim Heumann, requirements evangelist, IBM Rational 2 Contents 2 Introduction 2 What is integrated requirements management?

More information

Rules and Tools for Software Evolution Planning and Management

Rules and Tools for Software Evolution Planning and Management Rules and Tools for Software Evolution Planning and Management M M Lehman Department of Computing Imperial College London SW7 2PH +44 (0)20 7594 8214 < mml@doc.ic.ac.uk > http://www-dse.doc.ic.ac.uk/~mml

More information

Vancouver Chapter Study Group. BABOK Chapter 1 Introduction. Jorge Vega

Vancouver Chapter Study Group. BABOK Chapter 1 Introduction. Jorge Vega Vancouver Chapter Study Group BABOK Chapter 1 Introduction Jorge Vega 1 Study Group Sessions About me Format BABOK 2.0 Frequency Type of sessions Prep work required Professional Development Units Expanding

More information

Requirements Engineering: Elicitation Techniques

Requirements Engineering: Elicitation Techniques 2008:PR003 Requirements Engineering: Elicitation Techniques Sai Ganesh. Gunda Source:http://www.marcocioffi.com/archives/2005/04/requirements-engineering/ MASTER S THESIS Software Engineering, 2008 Department

More information

Understanding the Differences between Proprietary & Free and Open Source Software

Understanding the Differences between Proprietary & Free and Open Source Software Understanding the Differences between Proprietary & Free and Open Source Software D Prasad 1 and Dr.Ch.Satyananda Reddy 2 1. Department of Computer Science & Engineering, DVR & Dr HS MIC College of Technology,

More information

CHAPTER 1 PROJECT OVERVIEW

CHAPTER 1 PROJECT OVERVIEW 1 CHAPTER 1 PROJECT OVERVIEW 1.1 Introduction The University Asset Management System (UniAMS) is proposed to be used by the Public Higher Education Institute of Malaysia (IPTA). IPTA is a group of the

More information

How software process automation affects software evolution: a longitudinal empirical analysis

How software process automation affects software evolution: a longitudinal empirical analysis JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION: RESEARCH AND PRACTICE J. Softw. Maint. Evol.: Res. Pract. 2007; 19:1 31 Published online in Wiley InterScience (www.interscience.wiley.com)..342 Research

More information

Extend the value of your core business systems.

Extend the value of your core business systems. Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems

More information

WHITE PAPER TOPIC DATE Enabling MaaS Open Data Agile Design and Deployment with CA ERwin. Nuccio Piscopo. agility made possible

WHITE PAPER TOPIC DATE Enabling MaaS Open Data Agile Design and Deployment with CA ERwin. Nuccio Piscopo. agility made possible WHITE PAPER TOPIC DATE Enabling MaaS Open Data Agile Design and Deployment with CA ERwin Nuccio Piscopo agility made possible Table of Contents Introduction 3 MaaS enables Agile Open Data Design 4 MaaS

More information

CDC UNIFIED PROCESS PRACTICES GUIDE

CDC UNIFIED PROCESS PRACTICES GUIDE Document Purpose The purpose of this document is to provide guidance on the practice of Requirements Definition and to describe the practice overview, requirements, best practices, activities, and key

More information

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

DevOps - Application Internet Development Within Corporate IT:

DevOps - Application Internet Development Within Corporate IT: DevOps - Application Internet Development Within Corporate IT: A Tutorial Guide To Get IT Started By Telegraph Hill Program Initiatives, Inc. 1 What is DevOps? The App Internet market requires ever more

More information

The Role of the Software Architect

The Role of the Software Architect IBM Software Group The Role of the Software Architect Peter Eeles peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies If you are running a software project, one of the main questions you are likely to come across is which development methodology to use. There are as many opinions on

More information

Project Management. Project Analysis and Definition. Project Management. Project Management People

Project Management. Project Analysis and Definition. Project Management. Project Management People Project Management Project Analysis and Definition The key to successful project management is to focus on the 4P People The most important element of a successful project Product The software to be built

More information

Probabilistic Model Checking at Runtime for the Provisioning of Cloud Resources

Probabilistic Model Checking at Runtime for the Provisioning of Cloud Resources Probabilistic Model Checking at Runtime for the Provisioning of Cloud Resources Athanasios Naskos, Emmanouela Stachtiari, Panagiotis Katsaros, and Anastasios Gounaris Aristotle University of Thessaloniki,

More information

Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.

Do you know? 7 Practices for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd. Do you know? "7 Practices" for a Reliable Requirements Management by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd. In this white paper, we focus on the "Requirements Management,"

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

Quantification and Traceability of Requirements

Quantification and Traceability of Requirements Quantification and Traceability of Requirements Gyrd Norvoll Master of Science in Computer Science Submission date: May 2007 Supervisor: Tor Stålhane, IDI Norwegian University of Science and Technology

More information

How To Test For Elulla

How To Test For Elulla EQUELLA Whitepaper Performance Testing Carl Hoffmann Senior Technical Consultant Contents 1 EQUELLA Performance Testing 3 1.1 Introduction 3 1.2 Overview of performance testing 3 2 Why do performance testing?

More information

Workflow Requirements (Dec. 12, 2006)

Workflow Requirements (Dec. 12, 2006) 1 Functional Requirements Workflow Requirements (Dec. 12, 2006) 1.1 Designing Workflow Templates The workflow design system should provide means for designing (modeling) workflow templates in graphical

More information

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,

More information

Organizational Requirements Engineering

Organizational Requirements Engineering Chapter 9, Non-functional Requirements Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 1 Overview of

More information

Testing Lifecycle: Don t be a fool, use a proper tool.

Testing Lifecycle: Don t be a fool, use a proper tool. Testing Lifecycle: Don t be a fool, use a proper tool. Zdenek Grössl and Lucie Riedlova Abstract. Show historical evolution of testing and evolution of testers. Description how Testing evolved from random

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

CREDENTIALS & CERTIFICATIONS 2015

CREDENTIALS & CERTIFICATIONS 2015 THE COMMUNITY FOR TECHNOLOGY LEADERS www.computer.org CREDENTIALS & CERTIFICATIONS 2015 KEYS TO PROFESSIONAL SUCCESS CONTENTS SWEBOK KNOWLEDGE AREA CERTIFICATES Software Requirements 3 Software Design

More information

Software Lifetime and its Evolution Process over Generations

Software Lifetime and its Evolution Process over Generations Software Lifetime and its Evolution Process over Generations Tetsuo Tamai Graduate School of Systems Management The University of Tsukuba, Tokyo Tokyo 112, Japan Yohsuke Torimitsu Systems Division Nippon

More information

Shaping the crazy future in the IT sector through directed evolution of software systems

Shaping the crazy future in the IT sector through directed evolution of software systems Shaping the crazy future in the IT sector through directed evolution of software systems Stelian Brad, PhD (Engg.), PhD (Econ.) President Cluj IT Cluster the crazy future my risky job for today to introduce

More information

Business Analysis Essentials

Business Analysis Essentials Understand the business analyst's role and responsibilities in a successful project. In this introductory course, you'll delve into the role and responsibilities of the business analyst (BA)- the communication

More information

Process Modelling from Insurance Event Log

Process Modelling from Insurance Event Log Process Modelling from Insurance Event Log P.V. Kumaraguru Research scholar, Dr.M.G.R Educational and Research Institute University Chennai- 600 095 India Dr. S.P. Rajagopalan Professor Emeritus, Dr. M.G.R

More information

CLOUD MIGRATION STRATEGIES

CLOUD MIGRATION STRATEGIES CLOUD MIGRATION STRATEGIES Faculty Contributor: Dr. Rahul De Student Contributors: Mayur Agrawal, Sudheender S Abstract This article identifies the common challenges that typical IT managers face while

More information

Proposed Change to ABET Software Engineering Program Criteria CSAB Criteria Committee, 1 March 2014

Proposed Change to ABET Software Engineering Program Criteria CSAB Criteria Committee, 1 March 2014 Proposed Change to ABET Software Engineering Program Criteria CSAB Criteria Committee, 1 March 2014 Introduction The ABET software engineering program criteria supplement the Engineering Accreditation

More information

UML TUTORIALS THE USE CASE MODEL

UML TUTORIALS THE USE CASE MODEL UML TUTORIALS THE USE CASE MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 describes the proposed functionality of the new system. A Use Case represents a discrete unit of interaction between

More information

27. Software Change. Objectives. Contents. Software change 1

27. Software Change. Objectives. Contents. Software change 1 Software change 1 27. Software Change Objectives The objectives of this chapter are to introduce software change and to describe a number of ways of modifying software. When you have read this chapter,

More information

CSC408H Lecture Notes

CSC408H Lecture Notes CSC408H Lecture Notes These lecture notes are provided for the personal use of students taking Software Engineering course in the Summer term 2005 at the University of Toronto. Copying for purposes other

More information

Using Story Points to Estimate Software Development Projects in the Commercial Phase

Using Story Points to Estimate Software Development Projects in the Commercial Phase Using Story Points to Estimate Software Development Projects in the Commercial Phase Accurately estimating a software development project s total effort is an essential step to providing your customer

More information

MULTI-REPRESENTATIONAL SECURITY ANALYSIS

MULTI-REPRESENTATIONAL SECURITY ANALYSIS MULTI-REPRESENTATIONAL SECURITY ANALYSIS Eunsuk Kang MIT CSAIL ExCAPE Webinar April 30, 2015 Third-Party Authentication OAuth protocol Widely adapted, support from major vendors Analyzed formally using

More information

API Management Introduction and Principles

API Management Introduction and Principles API Management Introduction and Principles by Vijay Alagarasan, Principal Architect, Enterprise Architecture and Strategy of Asurion Abstract: This article is focused on providing solutions for common

More information

Paul Brebner, Senior Researcher, NICTA, Paul.Brebner@nicta.com.au

Paul Brebner, Senior Researcher, NICTA, Paul.Brebner@nicta.com.au Is your Cloud Elastic Enough? Part 2 Paul Brebner, Senior Researcher, NICTA, Paul.Brebner@nicta.com.au Paul Brebner is a senior researcher in the e-government project at National ICT Australia (NICTA,

More information

Agile and Evolutionary Software Development

Agile and Evolutionary Software Development Agile and Evolutionary Software Development Václav Rajlich Wayne State University Department of Computer Science rajlich@wayne.edu 2015 Václav Rajlich Agile and Evolutionary Software Development 1 Contents

More information

Using Requirements Traceability Links At Runtime A Position Paper

Using Requirements Traceability Links At Runtime A Position Paper Using Requirements Traceability Links At Runtime A Position Paper Alexander Delater, Barbara Paech University of Heidelberg, Institute of omputer Science Im Neuenheimer Feld 326, 69120 Heidelberg, Germany

More information

Copyright. Network and Protocol Simulation. What is simulation? What is simulation? What is simulation? What is simulation?

Copyright. Network and Protocol Simulation. What is simulation? What is simulation? What is simulation? What is simulation? Copyright Network and Protocol Simulation Michela Meo Maurizio M. Munafò Michela.Meo@polito.it Maurizio.Munafo@polito.it Quest opera è protetta dalla licenza Creative Commons NoDerivs-NonCommercial. Per

More information

Requirements Traceability. Mirka Palo

Requirements Traceability. Mirka Palo Requirements Traceability Mirka Palo Seminar Report Department of Computer Science University of Helsinki 30 th October 2003 Table of Contents 1 INTRODUCTION... 1 2 DEFINITION... 1 3 REASONS FOR REQUIREMENTS

More information

Policy-based autonomous bidding for overload management in ecommerce websites

Policy-based autonomous bidding for overload management in ecommerce websites EXTENDED ABSTRACTS Policy-based autonomous bidding for overload management in ecommerce websites TONI MORENO 1,2, NICOLAS POGGI 3, JOSEP LLUIS BERRAL 3, RICARD GAVALDÀ 4, JORDI TORRES 2,3 1 Department

More information

Agile development of safety-critical software while meetings standards' requirements

Agile development of safety-critical software while meetings standards' requirements 1(37) Agile development of safety-critical software while meetings standards' requirements Matti Vuori, Tampere University of Technology 2011-11-04 Contents 1/2 A study in Ohjelmaturva 4 Tendency to be

More information

Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey

Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey George Chatzikonstantinou, Kostas Kontogiannis National Technical University of Athens September 24, 2012 MESOCA 12,

More information

The Data Analytics Revolution: A Guide from the ASTIN Working Party on Big Data

The Data Analytics Revolution: A Guide from the ASTIN Working Party on Big Data The Data Analytics Revolution: A Guide from the ASTIN Working Party on Big Data Raymond Wilson < Working Party On Data Analytics, ASTIN> This presentation has been prepared for the Actuaries Institute

More information

Dynamic Hybrid (Cloud) Applications. Introducing the INAETICS project. Bram de Kruijff Luminis Technologies

Dynamic Hybrid (Cloud) Applications. Introducing the INAETICS project. Bram de Kruijff Luminis Technologies Dynamic Hybrid (Cloud) Applications Introducing the INAETICS project Bram de Kruijff Luminis Technologies INtelligent robust ArchitecturE for TIme Critical Systems An open collaboration effort that aims

More information

Génie Logiciel et Gestion de Projets. Evolution

Génie Logiciel et Gestion de Projets. Evolution Génie Logiciel et Gestion de Projets Evolution 1 Roadmap Evolution: definitions Re-engineering Legacy systems Reverse engineering Software Visualisation Re-engineering Patterns 2 Evolution: Definitions

More information

Berkeley Ninja Architecture

Berkeley Ninja Architecture Berkeley Ninja Architecture ACID vs BASE 1.Strong Consistency 2. Availability not considered 3. Conservative 1. Weak consistency 2. Availability is a primary design element 3. Aggressive --> Traditional

More information

Run-time Variability Issues in Software Product Lines

Run-time Variability Issues in Software Product Lines Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

Choosing KPI s Relevant to your Business Objectives

Choosing KPI s Relevant to your Business Objectives Introduction- The challenge of KPI s Choosing KPI s Relevant to your Business Objectives Marc Leroux Global Marketing Collaborative Production Management It s not a new concept. For over 100 years people

More information

Position Paper for Cognition and Collaboration Workshop: Analyzing Distributed Community Practices for Design

Position Paper for Cognition and Collaboration Workshop: Analyzing Distributed Community Practices for Design Position Paper for Cognition and Collaboration Workshop: Analyzing Distributed Community Practices for Design Jean Scholtz, Michelle Steves, and Emile Morse National Institute of Standards and Technology

More information

Process Description Incident/Request. HUIT Process Description v6.docx February 12, 2013 Version 6

Process Description Incident/Request. HUIT Process Description v6.docx February 12, 2013 Version 6 Process Description Incident/Request HUIT Process Description v6.docx February 12, 2013 Version 6 Document Change Control Version # Date of Issue Author(s) Brief Description 1.0 1/21/2013 J.Worthington

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture Business Business Services Services and Enterprise and Enterprise This Workshop Two parts Background: Business Value of Enterprise TOGAF s and the Business Services We will use the key steps, methods and

More information

Attestation and Authentication Protocols Using the TPM

Attestation and Authentication Protocols Using the TPM Attestation and Authentication Protocols Using the TPM Ariel Segall June 21, 2011 Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (1/28) Motivation Almost all

More information

Identity Provisions for Cloud Services: Applying OASIS SOA Reference Model

Identity Provisions for Cloud Services: Applying OASIS SOA Reference Model Identity Provisions for Cloud Services: Applying OASIS SOA Reference Model Presented by: Dr Michael Poulin Member & Co editor at SOA RM TC Member of AASCIT (American Association for Science and Technology)

More information

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Software Development Processes Docente: Vito Morreale (vito.morreale@eng.it) 17 October 2006 1 The essence of

More information

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy> DEPARTMENT OF HEALTH AND HUMAN SERVICES ENTERPRISE PERFORMANCE LIFE CYCLE FRAMEWORK PRACTIICES GUIIDE REQUIREMENTS DEFINITION Issue Date: Revision Date: Document

More information

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction Software Testing Rajat Kumar Bal Introduction In India itself, Software industry growth has been phenomenal. IT field has enormously grown in the past 50 years. IT industry in India is expected to touch

More information

Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504

Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504 Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504 Dipak Surie, Email : ens03dse@cs.umu.se Computing Science Department Umea University, Umea, Sweden Abstract. During software development,

More information

Using weblock s Servlet Filters for Application-Level Security

Using weblock s Servlet Filters for Application-Level Security Using weblock s Servlet Filters for Application-Level Security September 2006 www.2ab.com Introduction Access management is a simple concept. Every business has information that needs to be protected from

More information

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study S. Vijayakumar vijsy003@students.unisa.edu.au School of Computer and Information Science University of South Australia,

More information

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

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended. Previews of TDWI course books are provided as an opportunity to see the quality of our material and help you to select the courses that best fit your needs. The previews can not be printed. TDWI strives

More information

VAIL-Plant Asset Integrity Management System. Software Development Process

VAIL-Plant Asset Integrity Management System. Software Development Process VAIL-Plant Asset Integrity Management System Software Development Process Document Number: VAIL/SDP/2008/008 Engineering For a Safer World P u b l i c Approved by : Ijaz Ul Karim Rao Revision: 0 Page:2-of-15

More information

Evolutionary BPM. A New Process Methodology. Published: Oct. 17, 2013. Authors: Eli Stutz, Bruce Hardy

Evolutionary BPM. A New Process Methodology. Published: Oct. 17, 2013. Authors: Eli Stutz, Bruce Hardy A New Process Methodology Published: Oct. 17, 2013 Authors: Eli Stutz, Bruce Hardy Introduction This white paper describes a new methodology for BPM (Business Process Management) Software development projects.

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

Software Active Online Monitoring Under. Anticipatory Semantics

Software Active Online Monitoring Under. Anticipatory Semantics Software Active Online Monitoring Under Anticipatory Semantics Changzhi Zhao, Wei Dong, Ji Wang, Zhichang Qi National Laboratory for Parallel and Distributed Processing P.R.China 7/21/2009 Overview Software

More information

Realizing business flexibility through integrated SOA policy management.

Realizing business flexibility through integrated SOA policy management. SOA policy management White paper April 2009 Realizing business flexibility through integrated How integrated management supports business flexibility, consistency and accountability John Falkl, distinguished

More information

L Impatto della SOA sulle competenze e l organizzazione ICT di Fornitori e Clienti

L Impatto della SOA sulle competenze e l organizzazione ICT di Fornitori e Clienti L Impatto della SOA sulle competenze e l organizzazione ICT di Fornitori e Clienti Francesco Maselli Technical Manager Italy Milano, 6 Maggio 2008 Aula magna di SIAM CONFIDENTIALITY STATEMENT AND COPYRIGHT

More information

Contents. viii. 4 Service Design processes 57. List of figures. List of tables. OGC s foreword. Chief Architect s foreword. Preface.

Contents. viii. 4 Service Design processes 57. List of figures. List of tables. OGC s foreword. Chief Architect s foreword. Preface. iii Contents List of figures List of tables OGC s foreword Chief Architect s foreword Preface Acknowledgements v vii viii 1 Introduction 1 1.1 Overview 4 1.2 Context 4 1.3 Purpose 8 1.4 Usage 8 2 Management

More information

OBSERVEIT 6.0 WHAT S NEW

OBSERVEIT 6.0 WHAT S NEW OBSERVEIT 6.0 WHAT S NEW ObserveIT 6.0 extends ObserveIT s industry leading session recording solution to a complete Insider Threat Platform that detects and mitigates the risk of insider threats across

More information

What is Automotive Software Engineering? What is Automotive Software Engineering? What is Automotive Software Engineering?

What is Automotive Software Engineering? What is Automotive Software Engineering? What is Automotive Software Engineering? Process models: Capability Maturity Model Integration (CMMI) Software Process Improvement and Capability Determination (SPICE) V-Model Standards: MISRA-C standard AUTOSAR Configuration management Product

More information

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as: Performance Testing Definition: Performance Testing Performance testing is the process of determining the speed or effectiveness of a computer, network, software program or device. This process can involve

More information

An integrated life cycle quality model for general public market software products

An integrated life cycle quality model for general public market software products An integrated life cycle quality model for general public market software products Witold Suryn 1, Alain Abran 2, Claude Laporte 3 1 Département de génie électrique, École de technologie supérieure 1100,

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

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

To Ameliorate Quality in Software Development Projects By Using Contemporary Agile Bug Tracking System

To Ameliorate Quality in Software Development Projects By Using Contemporary Agile Bug Tracking System To Ameliorate Quality in Software Development Projects By Using Contemporary Agile Bug Tracking System V. Nithya 1, S. Lavanya 2, G. Gokila Deepa 3 1,2 Students/M.Tech IT, 3 AsstProfessor, Dept of Information

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

Mapping an Application to a Control Architecture: Specification of the Problem

Mapping an Application to a Control Architecture: Specification of the Problem Mapping an Application to a Control Architecture: Specification of the Problem Mieczyslaw M. Kokar 1, Kevin M. Passino 2, Kenneth Baclawski 1, and Jeffrey E. Smith 3 1 Northeastern University, Boston,

More information

Software Test Plan (STP) Template

Software Test Plan (STP) Template (STP) Template Items that are intended to stay in as part of your document are in bold; explanatory comments are in italic text. Plain text is used where you might insert wording about your project. This

More information