MTAT Software Engineering

Size: px
Start display at page:

Download "MTAT Software Engineering"

Transcription

1 MTAT Software Engineering Lecture 14: Measurement Dietmar Pfahl Fall

2 Schedule of Lectures Week 01: Introduction to SE Week 02: Requirements Engineering I Week 03: Requirements Engineering II Week 04: Analysis Week 05: Development Infrastructure I Week 06: Development Infrastructure II Week 07: Architecture and Design Week 08: No lecture Week 09: Refactoring Week 10: Verification and Validation I Week 11: Industry Lecture (Testing) Week 12: Verification and Validation II Week 13: Agile/Lean Methods Week 14: Industry Lecture (Agile) Week 15: Measurement / Course wrap-up, review and exam preparation Week 16: no lecture

3 Structure of Lecture 14 Measurement Measurement Basics Example Measures

4 Some Quotes Peter Drucker: If you can t measure it, you can t manage it. McKinsey: If you can measure it, you can manage it.

5 BUT Software measures can be misleading, so Either you don t use them Or you better know what they mean and how to use them.

6 Definitions: Measurement and Measure Scale & Unit Measurement: Measurement is the process through which values (e.g., numbers) are assigned to attributes of entities of the real world. Measure: A measure is the result of the measurement process, so it is the assignment of a value to an entity with the goal of characterizing a specified attribute. Source: Sandro Morasca, Software Measurement, in Handbook of Software Engineering and Knowledge Engineering - Volume 1: Fundamentals, pp , Knowledge Systems Institute, Skokie, IL, USA, 2001, ISBN: X. A Entity: Program Attribute: Size Size Measure B 4 e * 3 d * 2 c * 1 b * 0 a * LOC (lines of code)

7 Software Measurement Challenge Measuring physical properties (attributes): entity attribute unit* scale (type) value range* Human Height cm ratio 178 (1, 300) Human Temperature C interval 37 (30, 45) Measuring non-physical properties (attributes): entity attribute unit* scale (type) value range* Human Intelligence/IQ index ordinal 135 [0, 200] Program Modifiability???? Software properties are usually non-physical: size, complexity, functionality, reliability, maturity, portability, flexibility, understandability, maintainability, correctness, testability, coupling, coherence, interoperability, unit and range are sometimes used synonymously with scale

8 Measurable Entities in a SW Project An entity can represent any of the following: Process/Activity: any activity (or set of activities) related to software development and/or maintenance (e.g., requirements analysis, design, testing) these can be defined at different levels of granularity Product/Artifact: any artifact produced or changed during software development and/or maintenance (e.g., source code, software design documents) Resources: people, time, money, hardware or software needed to perform the processes Ressource role Product in Ressource tool Activity Product out

9 Structure of Lecture 14 Measurement Measurement Basics Example Measures

10 Examples of Software Product Attributes Size Length, Churn, Complexity, Functionality Modularity Cohesion Coupling Quality Value (Price)... Quality (-> ISO 9126) Functionality Reliability Usability Efficiency Maintainability Portability internal vs. external

11 Lines Of Code (LOC) Product Size ????

12 Lines Of Code

13 Lines Of Code Summary Accurate, easy to measure How to interpret... Empty lines Comments Several statements on one line Language dependent Doesn't take into account complexity Useful?

14 McCabe's Cyclomatic Complexity Complexity of a program Number of linearly independent paths through a function Usually calculated using the control flow graph MC = e n + 2p e num of edges, n num of vertices, p num of connected components of the control flow graph MC = d + 1 d num of decision (branching) points Works only for single component analysis (not several connected components; i.e. p = 1 above)

15 McCabe's Cyclomatic Complexity

16 McCabe's Cyclomatic Complexity 2: System.out.println(" "); for (Client c : clients) 4-5: System.out.println(c.getId() + " " + c.getfirstname()); if (clients.size() == 0) e = 7 n = 6 p = 1 MC = 3 8: System.out.println("\tNothing"); 10: System.out.println(" ");

17 Cyclomatic Complexity Summary Automated (available in any modern IDE) Related to testing notions MC is an upper bound for the branch coverage Each control structure was evaluated both to true and false MC is a lower bound for the path coverage All linearly independent paths were executed Related to maintainability and defects MC > 10 Probability of defects rises But to be used with care: N. Nagappan, T. Ball, A. Zeller, Mining metrics to Predict Component Failures. ICSE'2006

18 Exercise Calculate McCabe's cyclomatic complexity of the following code snippet:

19 private void drawselectclientdialog() { List<Client> allclients = domaincontroller.loadallclients(); List<String> clients = new ArrayList<String>(); for (Client client: allclients) { clients.add(client.getid() + ". " + client.getfirstname()); } String selectedclient = (String)JOptionPane.showInputDialog( this, Translations.getString("main.chooseCustomer"), Translations.getString("main.chooseCustomer"), JOptionPane.OK_CANCEL_OPTION, null, clients.toarray(), 0); Client currentclient = null; try { if (selectedclient!= null) { currentclient = domaincontroller.getclientbyid( Long.parseLong(selectedClient. split(" ")[0].replaceAll("\\.",""))); } } catch(numberformatexception e) { log.error("failed to parse client id," + " probably no client was selected"); } if (currentclient!= null) { log.info("client " + currentclient.getfirstname() + " with ID=" + currentclient.getid() + " got selected."); } else { log.info("no client selected"); } model.setcurrentclient(currentclient); } MC =???

20 private void drawselectclientdialog() { List<Client> allclients = domaincontroller.loadallclients(); List<String> clients = new ArrayList<String>(); for (Client client: allclients) { clients.add(client.getid() + ". " + client.getfirstname()); } String selectedclient = (String)JOptionPane.showInputDialog( this, Translations.getString("main.chooseCustomer"), Translations.getString("main.chooseCustomer"), JOptionPane.OK_CANCEL_OPTION, null, clients.toarray(), 0); Client currentclient = null; try { if (selectedclient!= null) { currentclient = domaincontroller.getclientbyid( Long.parseLong(selectedClient. split(" ")[0].replaceAll("\\.",""))); } } catch(numberformatexception e) { log.error("failed to parse client id," + " probably no client was selected"); } if (currentclient!= null) { log.info("client " + currentclient.getfirstname() + " with ID=" + currentclient.getid() + " got selected."); } else { log.info("no client selected"); } model.setcurrentclient(currentclient); } MC = d + 1 = = 5

21 Common OO Code Measures Measure Coupling Cohesion Cyclomatic Complexity Method Hiding Factor Attribute Hiding Factor Depth of Inheritance Tree Number of Children Weighted Methods Per Class Number of Classes Lines of Code (net and total; comment) Churn (new + changed LoC) Desirable Value Lower Higher Lower Higher Higher Low (tradeoff) Low (tradeoff) Low (tradeoff) Higher (with ident functionality) Lower (with ident functionality) Lower (with ident functionality)

22 Coupling & Cohesion Coupling between object classes (CBO) Number of classes referenced by a given class (FanOut) Lack of cohesion in methods (LCOM) Number of method pairs that do not share instance variables minus number of methods that share at least one instance variable By convention, LCOM := 0 if the above definition gives a negative number

23 Coupling Example... Traveller: CBO =?

24 Coupling Example... CBO = 1 (one other class referenced)

25 (Lack of) Cohesion Example Number of method pairs that do not share instance variables minus number of methods that share at least one instance variable LCOM = 1 2 =

26 public PersonDetails { private String _firstname; private String _surname; private String _street; private String _city; (Lack of) Cohesion Example } public PersonDetails() {} public setname(string f, String s) { _firstname = f; _surname = s; } public setaddress(string st, String c) { _street = st; _city = c; } public void printaddress() { System.out.println(_street); System.out.println(_city); } public void printname() { System.out.println(_firstname + " " + _surname); } LCOM =?

27 (Lack of) Cohesion Example 6 2 = 8 2 = 4 2

28 Simple Quality Measures (Examples) Correctness: Entity: Document (e.g. Code) Attribute: Quality (Correctness) Unit: Defect (found during QA activity) Range: [0, ) Scale type: ratio Characterisation: Direct Quantitative Objective/Subjective??? Defect Density: Entity: Document (e.g., Code) Attribute: Quality (Defect Density) Unit: Defect/LOC Range: [0, ) Scale type: ratio Characterisation: Indirect Quantitative Objective/Subjective???

29 Example Performance Requirements

30 Example Performance Requirements How to test: - Define standard work load - Expose system to standard work load for a defined period of time - Measure CPU usage Q: Should we do this for different kinds of CPUs?

31 Example Usability Requirements

32 Example Usability Requirements How to test: - Define several (typical) usage scenarios involving tasks Q and R - Select test users and classify as novice and experienced - Let 5 (or better 10, 15) novices perform the secenarios - Observe what problems they encounter - Classify and count observed problems

33 Examples of Software Process and Resource Attributes that can be measured Process-related: Efficiency: How fast (time, duration), how much effort (effort, cost), how much quantity/quality per time or effort unit (velocity, productivity)? Effectiveness: Do we get the results (quantity/quality) we want? e.g., test coverage Capability: CMMI level Resource-related: People: Skill, knowledge, experience, learning, motivation, personality Organisation: Maturity Method/Technique/Tool: Effectiveness, efficiency, learnability, cost

34 Time versus Effort Time: Entity: Some Activity (e.g., Test) Attribute: Time (or Duration) Unit: Year, Month, Week, (Work) Day, Hour, Minute, Second,... Range: [0, ) Scale type: ratio Characterisation: Direct Quantitative Objective/Subjective??? Effort: Entity: Some Activity (e.g., Test) Attribute: Effort Unit: Person-Year,, Person- Day, Person-Hour, Range: [0, ) Scale type: ratio Characterisation: Direct Quantitative Objective/Subjective???

35 Time versus Effort (cont d) What does it mean when I say: This task (e.g., testing) takes 4 days This task (e.g., testing) needs 4 person-days

36 Agile Measurement: Burn-Down & Burn-Up Both can be used to calculate (average) team velocity = Story Points (or: Storys) per Team per Sprint

37 What Next? For you to do: Finish and submit Lab Task 7 on time! Deadline: 1 day earlier than usually! Next week: Lab Task 7 Assessment Exam: 08-Jan-2016: 87 (of 90) seats taken 15-Jan-2016: 25 (of 90) seats taken

Workshop 1a: Software Measurement. Dietmar Pfahl

Workshop 1a: Software Measurement. Dietmar Pfahl Software Economics Fall 2015 Workshop 1a: Software Measurement Dietmar Pfahl (based on slides by Marlon Dumas & Anton Litvinenko) Main Message Software measures can be misleading, so Either you don t use

More information

MTAT Software Engineering Management

MTAT Software Engineering Management MTAT.03.243 Software Engineering Management Lecture 07: SPI & Measurement Part A Dietmar Pfahl Spring 2015 email: dietmar.pfahl@ut.ee Announcement ATI Career Day Friday Announcement Industry Guest Lecture

More information

Quality Management of Software and

Quality Management of Software and Quality Management of Software and Systems Software Measurement Prof. Dr. Liggesmeyer, 1 Motivation Measurement When you can measure what you are speaking about, and express it in numbers, you know something

More information

Software Measurement. Mark Micallef

Software Measurement. Mark Micallef Software Measurement Mark Micallef mmica01@um.edu.mt Brief Course Overview Introduction to Measurement Theory Measurement as applied Software Examples of Various Metrics, Measures and Indicators Introduction

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

Measuring lateness. Definition of Measurement (Fenton)

Measuring lateness. Definition of Measurement (Fenton) When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meagre

More information

Requirements Validation. Content. What the standards say (*) ?? Validation, Verification, Accreditation!! Correctness and completeness

Requirements Validation. Content. What the standards say (*) ?? Validation, Verification, Accreditation!! Correctness and completeness Requirements Validation Requirements Management Requirements Validation?? Validation, Verification, Accreditation!! Check if evrything is OK With respect to what? Mesurement associated with requirements

More information

Lecture 2: Software Metrics

Lecture 2: Software Metrics Softwaretechnik / Software-Engineering Lecture 2: Software Metrics 2017-04-27 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 2 2017-04-27 main Topic Area Project

More information

Black-Box Testing Techniques III

Black-Box Testing Techniques III Black-Box Testing Techniques III Software Testing and Verification Lecture 6 Prepared by Stephen M. Thebaut, Ph.D. University of Florida Another Cause-Effect Example: Symbol Table Storage Specification

More information

Extensibility Patterns: Extension Access

Extensibility Patterns: Extension Access Design Patterns and Frameworks Dipl.-Medieninf. Christian Piechnick INF 2080 christian.piechnick@tu-dresden.de Exercise Sheet No. 5 Software Technology Group Institute for SMT Department of Computer Science

More information

Chap 4. Software Reliability

Chap 4. Software Reliability Chap 4. Software Reliability 4.2 Reliability Growth 1. Introduction 2. Reliability Growth Models 3. The Basic Execution Model 4. Calendar Time Computation 5. Reliability Demonstration Testing 1. Introduction

More information

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/ Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/17wi/ Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review of

More information

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/14au/ Course Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review

More information

31 Dec '01 07 Jan '02 14 Jan '02 21 Jan '02 28 Jan '02 M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S

31 Dec '01 07 Jan '02 14 Jan '02 21 Jan '02 28 Jan '02 M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S ID Task Name Duration 0 7 Month Project Plan Template 158.5 days 1 1 Preproduction 81.5 days 2 1.1 Project Clarification 12.5 days 3 1.1.1 Clarify/Audit Commercial (inc. Marketing) requirements/objectives

More information

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University Prof. Mi Lu TA: Ehsan Rohani Laboratory Exercise #4 MIPS Assembly and Simulation

More information

No. of Days. Building 3D cities Using Esri City Engine ,859. Creating & Analyzing Surfaces Using ArcGIS Spatial Analyst 1 7 3,139

No. of Days. Building 3D cities Using Esri City Engine ,859. Creating & Analyzing Surfaces Using ArcGIS Spatial Analyst 1 7 3,139 Q3 What s New? Creating and Editing Data with ArcGIS Pro Editing and Maintaining Parcels Using ArcGIS Spatial Analysis Using ArcGIS Pro User Workflows for ArcGIS Online Organizations Q3-2018 ArcGIS Desktop

More information

8.1 THE LANGUAGE OF MOTION

8.1 THE LANGUAGE OF MOTION Unit 3 Motion 8.1 THE LANGUAGE OF MOTION 8.1 LEARNING OUTCOMES Vector quantities, such as displacement and velocity, have both a magnitude and a direction. An object in uniform motion will travel equal

More information

Engineering for Compatibility

Engineering for Compatibility W17 Compatibility Testing Wednesday, October 3rd, 2018 3:00 PM Engineering for Compatibility Presented by: Melissa Benua mparticle Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073

More information

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2019

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2019 CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis Ruth Anderson Winter 2019 Today Algorithm Analysis What do we care about? How to compare two algorithms Analyzing Code Asymptotic Analysis

More information

CS 160: Lecture 16. Quantitative Studies. Outline. Random variables and trials. Random variables. Qualitative vs. Quantitative Studies

CS 160: Lecture 16. Quantitative Studies. Outline. Random variables and trials. Random variables. Qualitative vs. Quantitative Studies Qualitative vs. Quantitative Studies CS 160: Lecture 16 Professor John Canny Qualitative: What we ve been doing so far: * Contextual Inquiry: trying to understand user s tasks and their conceptual model.

More information

Abstract Machine for Software Process Models

Abstract Machine for Software Process Models Abstract Machine for Software Process Models Finite State Machine for SPM Waterfall Incremental Spiral Extreme Programming (XP) Scrum Generalized Abstract Machine for SPM Problem set: objectives with colors

More information

Natural Language Processing Prof. Pawan Goyal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Natural Language Processing Prof. Pawan Goyal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Natural Language Processing Prof. Pawan Goyal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 18 Maximum Entropy Models I Welcome back for the 3rd module

More information

Integration and Higher Level Testing

Integration and Higher Level Testing Integration and Higher Level Testing Software Testing and Verification Lecture 11 Prepared by Stephen M. Thebaut, Ph.D. University of Florida Context Higher-level testing begins with the integration of

More information

ADVENTURES IN THE FLIPPED CLASSROOM FOR INTRODUCTORY

ADVENTURES IN THE FLIPPED CLASSROOM FOR INTRODUCTORY ADVENTURES IN THE FLIPPED CLASSROOM FOR INTRODUCTORY A M Y N U S S B A U M A N D M O N N I E M C G E E STATISTICS S R C O S J U N E 5, 2 0 1 3 Amy Nussbaum and Monnie McGee SRCOS, June 5, 2013 FLIPPED

More information

Software Quality. Introduction " Martin Glinz. Chapter 1. Department of Informatics!

Software Quality. Introduction  Martin Glinz. Chapter 1. Department of Informatics! Department of Informatics! Martin Glinz Software Quality Chapter 1 Introduction " 2014-2016 Martin Glinz. All rights reserved. Making digital or hard copies of all or part of this work for educational,

More information

Softwaretechnik / Software-Engineering Lecture 2: Software Metrics

Softwaretechnik / Software-Engineering Lecture 2: Software Metrics ......... 2 17-04-27 Sexpectations Softwaretechnik / Software-Engineering Lecture 2: Software Metrics 17-04-27 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany

More information

Administrative notes. Computational Thinking ct.cs.ubc.ca

Administrative notes. Computational Thinking ct.cs.ubc.ca Administrative notes Labs this week: project time. Remember, you need to pass the project in order to pass the course! (See course syllabus.) Clicker grades should be on-line now Administrative notes March

More information

Introduction to Computer Programming

Introduction to Computer Programming Introduction to Computer Programming Lecture 01 Software engineering is a field of engineering, for designing and writing programs for computers or other electronic devices. A software engineer, or programmer,

More information

ITI Introduction to Computing II

ITI Introduction to Computing II (with contributions from R. Holte) School of Electrical Engineering and Computer Science University of Ottawa Version of January 11, 2015 Please don t print these lecture notes unless you really need to!

More information

Chem Compute Science Gateway for Undergraduates. Mark J. Perri, M.S. Reeves, R.M. Whitnell

Chem Compute Science Gateway for Undergraduates. Mark J. Perri, M.S. Reeves, R.M. Whitnell Chem Compute Science Gateway for Undergraduates Mark J. Perri, M.S. Reeves, R.M. Whitnell Chemcompute.org Computational Chemistry GAMESS (Quantum) TINKER (MD) About Sonoma State University One of 23 California

More information

R E A D : E S S E N T I A L S C R U M : A P R A C T I C A L G U I D E T O T H E M O S T P O P U L A R A G I L E P R O C E S S. C H.

R E A D : E S S E N T I A L S C R U M : A P R A C T I C A L G U I D E T O T H E M O S T P O P U L A R A G I L E P R O C E S S. C H. R E A D : E S S E N T I A L S C R U M : A P R A C T I C A L G U I D E T O T H E M O S T P O P U L A R A G I L E P R O C E S S. C H. 5 S O F T W A R E E N G I N E E R I N G B Y S O M M E R V I L L E S E

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Introduction Philippe Lalanda http://membres- liglab.imag.fr/lalanda/ or Google! Philippe Lalanda 1 Miscellaneous - 1 Organization 9 lectures 10 exercises sets Lectures

More information

OFFSHORE. Advanced Weather Technology

OFFSHORE. Advanced Weather Technology Contents 3 Advanced Weather Technology 5 Working Safely, While Limiting Downtime 6 Understanding the Weather Forecast Begins at the Tender Stage 7 Reducing Time and Costs on Projects is a Priority Across

More information

Data Mining Prof. Pabitra Mitra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

Data Mining Prof. Pabitra Mitra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Data Mining Prof. Pabitra Mitra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 21 K - Nearest Neighbor V In this lecture we discuss; how do we evaluate the

More information

Variance Estimates and the F Ratio. ERSH 8310 Lecture 3 September 2, 2009

Variance Estimates and the F Ratio. ERSH 8310 Lecture 3 September 2, 2009 Variance Estimates and the F Ratio ERSH 8310 Lecture 3 September 2, 2009 Today s Class Completing the analysis (the ANOVA table) Evaluating the F ratio Errors in hypothesis testing A complete numerical

More information

Statistical Debugging. Ben Liblit, University of Wisconsin Madison

Statistical Debugging. Ben Liblit, University of Wisconsin Madison Statistical Debugging Ben Liblit, University of Wisconsin Madison Bug Isolation Architecture Program Source Predicates Sampler Compiler Shipping Application Top bugs with likely causes Statistical Debugging

More information

Lexical Analysis: DFA Minimization & Wrap Up

Lexical Analysis: DFA Minimization & Wrap Up Lexical Analysis: DFA Minimization & Wrap Up Automating Scanner Construction PREVIOUSLY RE NFA (Thompson s construction) Build an NFA for each term Combine them with -moves NFA DFA (subset construction)

More information

1 Descriptions of Function

1 Descriptions of Function Wide-Area Wind Generation Forecasting 1 Descriptions of Function All prior work (intellectual property of the company or individual) or proprietary (non-publicly available) work should be so noted. 1.1

More information

Algebra I Solving & Graphing Inequalities

Algebra I Solving & Graphing Inequalities Slide 1 / 182 Slide 2 / 182 Algebra I Solving & Graphing Inequalities 2016-01-11 www.njctl.org Slide 3 / 182 Table of Contents Simple Inequalities Addition/Subtraction click on the topic to go to that

More information

GIS Institute Center for Geographic Analysis

GIS Institute Center for Geographic Analysis GIS Institute Center for Geographic Analysis Welcome Intensive training in the application of GIS to research Collection, management, analysis, and communication of spatial data Topics include: data collection,

More information

Practical Data Processing With Haskell

Practical Data Processing With Haskell Practical Data Processing With Haskell Ozgun Ataman November 14, 2012 Ozgun Ataman (Soostone Inc) Practical Data Processing With Haskell November 14, 2012 1 / 18 A bit about the speaker Electrical Engineering,

More information

Feedback. The Lost Art Of Agile. (v2)

Feedback. The Lost Art Of Agile. (v2) Feedback The Lost Art Of Agile (v2) Software development has a history of loosing feedback Why Lost? - Waterfall The implementation described above is risky and invites failure. Winston Royce, 1970 Why

More information

Question Answering on Statistical Linked Data

Question Answering on Statistical Linked Data Question Answering on Statistical Linked Data AKSW Colloquium paper presentation Konrad Höffner Universität Leipzig, AKSW/MOLE, PhD Student 2015-2-16 1 / 18 1 2 3 2 / 18 Motivation Statistical Linked Data

More information

Sample questions for COMP-424 final exam

Sample questions for COMP-424 final exam Sample questions for COMP-44 final exam Doina Precup These are examples of questions from past exams. They are provided without solutions. However, Doina and the TAs would be happy to answer questions

More information

Programme Specification MSc in Cancer Chemistry

Programme Specification MSc in Cancer Chemistry Programme Specification MSc in Cancer Chemistry 1. COURSE AIMS AND STRUCTURE Background The MSc in Cancer Chemistry is based in the Department of Chemistry, University of Leicester. The MSc builds on the

More information

CS Data Structures and Algorithm Analysis

CS Data Structures and Algorithm Analysis CS 483 - Data Structures and Algorithm Analysis Lecture II: Chapter 2 R. Paul Wiegand George Mason University, Department of Computer Science February 1, 2006 Outline 1 Analysis Framework 2 Asymptotic

More information

No. of Days. ArcGIS 3: Performing Analysis ,431. Building 3D cities Using Esri City Engine ,859

No. of Days. ArcGIS 3: Performing Analysis ,431. Building 3D cities Using Esri City Engine ,859 What s New? Creating Story Maps with ArcGIS Field Data Collection and Management Using ArcGIS Get Started with Insights for ArcGIS Introduction to GIS Using ArcGIS & ArcGIS Pro: Essential Workflow Migrating

More information

No. of Days. ArcGIS Pro for GIS Professionals ,431. Building 3D cities Using Esri City Engine ,859

No. of Days. ArcGIS Pro for GIS Professionals ,431. Building 3D cities Using Esri City Engine ,859 What s New? Creating Story Maps with ArcGIS Field Data Collection and Management Using ArcGIS Get Started with Insights for ArcGIS Introduction to GIS Using ArcGIS & ArcGIS Pro: Essential Workflow Migrating

More information

Factory method - Increasing the reusability at the cost of understandability

Factory method - Increasing the reusability at the cost of understandability Factory method - Increasing the reusability at the cost of understandability The author Linkping University Linkping, Sweden Email: liuid23@student.liu.se Abstract This paper describes how Bansiya and

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems hared Resources Luca Abeni Credits: Luigi Palopoli, Giuseppe Lipari, and Marco Di Natale cuola uperiore ant Anna Pisa -Italy Real Time Operating ystems p. 1 Interacting Tasks

More information

Risk Analysis for Assessment of Vegetation Impact on Outages in Electric Power Systems. T. DOKIC, P.-C. CHEN, M. KEZUNOVIC Texas A&M University USA

Risk Analysis for Assessment of Vegetation Impact on Outages in Electric Power Systems. T. DOKIC, P.-C. CHEN, M. KEZUNOVIC Texas A&M University USA 21, rue d Artois, F-75008 PARIS CIGRE US National Committee http : //www.cigre.org 2016 Grid of the Future Symposium Risk Analysis for Assessment of Vegetation Impact on Outages in Electric Power Systems

More information

Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems

Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems Song Han 1 Deji Chen 2 Ming Xiong 3 Aloysius K. Mok 1 1 The University of Texas at Austin 2 Emerson Process Management

More information

CSCI3390-Lecture 14: The class NP

CSCI3390-Lecture 14: The class NP CSCI3390-Lecture 14: The class NP 1 Problems and Witnesses All of the decision problems described below have the form: Is there a solution to X? where X is the given problem instance. If the instance is

More information

An object-oriented design process. Weather system description. Layered architecture. Process stages. System context and models of use

An object-oriented design process. Weather system description. Layered architecture. Process stages. System context and models of use An object-oriented design process Process stages Structured design processes involve developing a number of different system models. They require a lot of effort for development and maintenance of these

More information

COURSE INTRODUCTION & COURSE OVERVIEW

COURSE INTRODUCTION & COURSE OVERVIEW week 1 COURSE INTRODUCTION & COURSE OVERVIEW topics of the week Instructor introduction Students introductions Course logistics Course objectives Definition of GIS The story of GIS introductions Who am

More information

Indicators of Structural Stability of Object-Oriented Designs: A Case Study

Indicators of Structural Stability of Object-Oriented Designs: A Case Study Indicators of Structural Stability of Object-Oriented Designs: A Case Study Mahmoud O. Elish and David Rine Department of Computer Science George Mason University Fairfax, VA 22030, USA {melish,drine}@gmu.edu

More information

An Experimental Investigation on the Innate Relationship between Quality and Refactoring

An Experimental Investigation on the Innate Relationship between Quality and Refactoring An Experimental Investigation on the Innate Relationship between Quality and Refactoring Gabriele Bavota 1, Andrea De Lucia 2, Massimiliano Di Penta 3, Rocco Oliveto 4, Fabio Palomba 2 1 Free University

More information

Preliminary Causal Analysis Results with Software Cost Estimation Data

Preliminary Causal Analysis Results with Software Cost Estimation Data Preliminary Causal Analysis Results with Software Cost Estimation Data Anandi Hira, Barry Boehm University of Southern California Robert Stoddard, Michael Konrad Software Engineering Institute Motivation

More information

INSPIRE Monitoring and Reporting Implementing Rule Draft v2.1

INSPIRE Monitoring and Reporting Implementing Rule Draft v2.1 INSPIRE Infrastructure for Spatial Information in Europe INSPIRE Monitoring and Reporting Implementing Rule Draft v2.1 Title INSPIRE Monitoring and Reporting Implementing Rule v2.1 Creator DT Monitoring

More information

Improve Forecasts: Use Defect Signals

Improve Forecasts: Use Defect Signals Improve Forecasts: Use Defect Signals Paul Below paul.below@qsm.com Quantitative Software Management, Inc. Introduction Large development and integration project testing phases can extend over many months

More information

Class Note #20. In today s class, the following four concepts were introduced: decision

Class Note #20. In today s class, the following four concepts were introduced: decision Class Note #20 Date: 03/29/2006 [Overall Information] In today s class, the following four concepts were introduced: decision version of a problem, formal language, P and NP. We also discussed the relationship

More information

Weighted Stability Index (WSI) Metric Model Mike Libassi Intel Corp 8/11/99

Weighted Stability Index (WSI) Metric Model Mike Libassi Intel Corp 8/11/99 Weighted Stability Index (WSI) Metric Model Mike Libassi Intel Corp 8/11/99 Abstract Methods, such as McCabe's Cyclomatic Complexity, have proven that complexity is a reliable predictor of defects. Although

More information

download from

download from Table of Contents Chapter 1 Basic Concepts Pretests... 1 Mini-Lectures... Additional Exercises... 1 Chapter Tests... 19 Chapter Equations and Inequalities Pretests... 7 Mini-Lectures... 1 Additional Exercises...

More information

Evaluating the PFD of Safety Instrumented Systems with Partial Stroke Testing

Evaluating the PFD of Safety Instrumented Systems with Partial Stroke Testing Evaluating the PF of Safety Instrumented Systems with Partial Stroke Testing Luiz Fernando Oliveira Vice-President NV Energy Solutions South America How did I get to writing this paper? Started doing SIL

More information

PHP-Einführung - Lesson 4 - Object Oriented Programming. Alexander Lichter June 27, 2017

PHP-Einführung - Lesson 4 - Object Oriented Programming. Alexander Lichter June 27, 2017 PHP-Einführung - Lesson 4 - Object Oriented Programming Alexander Lichter June 27, 2017 Content of this lesson 1. Recap 2. Why OOP? 3. Git gud - PHPStorm 4. Include and Require 5. Classes and objects 6.

More information

Measurement Theory for Software Engineers

Measurement Theory for Software Engineers Measurement Theory for Software Engineers Although mathematics might be considered the ultimate abstract science, it has always been motivated by concerns in the real, physical world. Thus it is not surprising

More information

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling Scheduling I Today! Introduction to scheduling! Classical algorithms Next Time! Advanced topics on scheduling Scheduling out there! You are the manager of a supermarket (ok, things don t always turn out

More information

1a. Introduction COMP6741: Parameterized and Exact Computation

1a. Introduction COMP6741: Parameterized and Exact Computation 1a. Introduction COMP6741: Parameterized and Exact Computation Serge Gaspers 12 1 School of Computer Science and Engineering, UNSW Sydney, Asutralia 2 Decision Sciences Group, Data61, CSIRO, Australia

More information

A Probabilistic Mental Model for Estimating Disruption

A Probabilistic Mental Model for Estimating Disruption A Probabilistic Mental Model for Estimating Disruption Bowen Hui 1, Grant Partridge 2, Craig Boutilier 1 1 Dept of Computer Science, University of Toronto, Canada 2 Dept of Computer Science, University

More information

2.6 Complexity Theory for Map-Reduce. Star Joins 2.6. COMPLEXITY THEORY FOR MAP-REDUCE 51

2.6 Complexity Theory for Map-Reduce. Star Joins 2.6. COMPLEXITY THEORY FOR MAP-REDUCE 51 2.6. COMPLEXITY THEORY FOR MAP-REDUCE 51 Star Joins A common structure for data mining of commercial data is the star join. For example, a chain store like Walmart keeps a fact table whose tuples each

More information

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach EDA045F: Program Analysis LECTURE 10: TYPES 1 Christoph Reichenbach In the last lecture... Performance Counters Challenges in Dynamic Performance Analysis Taint Analysis Binary Instrumentation 2 / 44 Types

More information

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018 CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis Ruth Anderson Winter 2018 Today Algorithm Analysis What do we care about? How to compare two algorithms Analyzing Code Asymptotic Analysis

More information

Automata-based Verification - III

Automata-based Verification - III CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

TEEN DRIVER SEAT BELT OBSERVATION FORM

TEEN DRIVER SEAT BELT OBSERVATION FORM TEEN DRIVER SEAT BELT OBSERVATION FORM High Schools will count only teen drivers and passengers. If the vehicle is being driven by an adult, only count teen passengers. DO NOT notify students that counts

More information

STAT 201 Chapter 5. Probability

STAT 201 Chapter 5. Probability STAT 201 Chapter 5 Probability 1 2 Introduction to Probability Probability The way we quantify uncertainty. Subjective Probability A probability derived from an individual's personal judgment about whether

More information

Unit 8: Exponential & Logarithmic Functions

Unit 8: Exponential & Logarithmic Functions Date Period Unit 8: Eponential & Logarithmic Functions DAY TOPIC ASSIGNMENT 1 8.1 Eponential Growth Pg 47 48 #1 15 odd; 6, 54, 55 8.1 Eponential Decay Pg 47 48 #16 all; 5 1 odd; 5, 7 4 all; 45 5 all 4

More information

1 Introduction. Station Type No. Synoptic/GTS 17 Principal 172 Ordinary 546 Precipitation

1 Introduction. Station Type No. Synoptic/GTS 17 Principal 172 Ordinary 546 Precipitation Use of Automatic Weather Stations in Ethiopia Dula Shanko National Meteorological Agency(NMA), Addis Ababa, Ethiopia Phone: +251116639662, Mob +251911208024 Fax +251116625292, Email: Du_shanko@yahoo.com

More information

MODERNIZATION OF THE MUNICIPAL MAPPING USING HIGH END GNSS SYSTEM AND GIS SOFTWARE

MODERNIZATION OF THE MUNICIPAL MAPPING USING HIGH END GNSS SYSTEM AND GIS SOFTWARE MODERNIZATION OF THE MUNICIPAL MAPPING USING HIGH END GNSS SYSTEM AND GIS SOFTWARE Mr. R. A. R. Khan Assistant Engineer, Sewerage Utility Management Centre (SUMC) Municipal Corporation Of Greater Mumbai

More information

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018 CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis Ruth Anderson Winter 2018 Today Algorithm Analysis What do we care about? How to compare two algorithms Analyzing Code Asymptotic Analysis

More information

Path Testing and Test Coverage. Chapter 9

Path Testing and Test Coverage. Chapter 9 Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test

More information

Mathematical Induction

Mathematical Induction Mathematical Induction James K. Peterson Department of Biological Sciences and Department of Mathematical Sciences Clemson University January 12, 2017 Outline Introduction to the Class Mathematical Induction

More information

Path Testing and Test Coverage. Chapter 9

Path Testing and Test Coverage. Chapter 9 Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test

More information

TEEN DRIVER ELECTRONIC DEVICE OBSERVATION FORM

TEEN DRIVER ELECTRONIC DEVICE OBSERVATION FORM TEEN OBSERVATION FORM High Schools will count only teen drivers. If your school does not have many teen drivers, please use the Junior High form to count adult drivers. Choose a day to conduct your pre-observations.

More information

LC OL - Statistics. Types of Data

LC OL - Statistics. Types of Data LC OL - Statistics Types of Data Question 1 Characterise each of the following variables as numerical or categorical. In each case, list any three possible values for the variable. (i) Eye colours in a

More information

Vaisala AviMet Automated Weather Observing System

Vaisala AviMet Automated Weather Observing System Vaisala AviMet Automated Weather Observing System Solutions to meet your challenges Our mission: to help you operate succesfully Safe, economical, reliable and flexible operation of your airport is ensured

More information

GIS Geographical Information Systems. GIS Management

GIS Geographical Information Systems. GIS Management GIS Geographical Information Systems GIS Management Difficulties on establishing a GIS Funding GIS Determining Project Standards Data Gathering Map Development Recruiting GIS Professionals Educating Staff

More information

Simulation of Discrete Event Systems

Simulation of Discrete Event Systems Simulation of Discrete Event Systems Unit 1 Introduction to Discrete Event Systems Fall Winter 2017/2018 Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and

More information

Topics in Complexity

Topics in Complexity Topics in Complexity Please evaluate this course on Axess! Your feedback really does make a difference. Applied Complexity Theory Complexity theory has enormous practical relevance across various domains

More information

Physics 101. Hour Exam I Fall Last Name: First Name Network-ID Discussion Section: Discussion TA Name:

Physics 101. Hour Exam I Fall Last Name: First Name Network-ID Discussion Section: Discussion TA Name: Last Name: First Name Network-ID Discussion Section: Discussion TA Name: Instructions Turn off your cell phone and put it away. This is a closed book exam. You have ninety (90) minutes to complete it.

More information

CSE 241 Class 1. Jeremy Buhler. August 24,

CSE 241 Class 1. Jeremy Buhler. August 24, CSE 41 Class 1 Jeremy Buhler August 4, 015 Before class, write URL on board: http://classes.engineering.wustl.edu/cse41/. Also: Jeremy Buhler, Office: Jolley 506, 314-935-6180 1 Welcome and Introduction

More information

Solutions BAPC October University of Amsterdam. Solutions BAPC 2017 October / 31

Solutions BAPC October University of Amsterdam. Solutions BAPC 2017 October / 31 Solutions BAPC 2017 University of Amsterdam October 2017 Solutions BAPC 2017 October 2017 1 / 31 Falling Apart (54/77) Sort the input in descending order (a 1 a 2 a n ). Output a 1 + a 3 + a 5 +... and

More information

Geographical Information System (GIS) Prof. A. K. Gosain

Geographical Information System (GIS) Prof. A. K. Gosain Geographical Information System (GIS) Prof. A. K. Gosain gosain@civil.iitd.ernet.in Definition of GIS GIS - Geographic Information System or a particular information system applied to geographical data

More information

Chapter 9: Association Between Variables Measured at the Ordinal Level

Chapter 9: Association Between Variables Measured at the Ordinal Level Chapter 9: Association Between Variables Measured at the Ordinal Level After this week s class: SHOULD BE ABLE TO COMPLETE ALL APLIA ASSIGNMENTS DUE END OF THIS WEEK: APLIA ASSIGNMENTS 5-7 DUE: Friday

More information

GIS = Geographic Information Systems;

GIS = Geographic Information Systems; What is GIS GIS = Geographic Information Systems; What Information are we talking about? Information about anything that has a place (e.g. locations of features, address of people) on Earth s surface,

More information

Lecture 12: Algorithm Analysis

Lecture 12: Algorithm Analysis Lecture 12: Algorithm Analysis CS6507 Python Programming and Data Science Applications Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (26/02/18) Lecture 12: Algorithm

More information

Math 308 Midterm Answers and Comments July 18, Part A. Short answer questions

Math 308 Midterm Answers and Comments July 18, Part A. Short answer questions Math 308 Midterm Answers and Comments July 18, 2011 Part A. Short answer questions (1) Compute the determinant of the matrix a 3 3 1 1 2. 1 a 3 The determinant is 2a 2 12. Comments: Everyone seemed to

More information

Te s t D r i v e n D e v e l o p m e n t. C h a m i l J e e w a n t h a

Te s t D r i v e n D e v e l o p m e n t. C h a m i l J e e w a n t h a Te s t D r i v e n D e v e l o p m e n t C h a m i l J e e w a n t h a W h a t i s a U n i t Te s t? Select the smallest piece of testable software in the application Isolate it from the rest of the code

More information

Data Mining Project. C4.5 Algorithm. Saber Salah. Naji Sami Abduljalil Abdulhak

Data Mining Project. C4.5 Algorithm. Saber Salah. Naji Sami Abduljalil Abdulhak Data Mining Project C4.5 Algorithm Saber Salah Naji Sami Abduljalil Abdulhak Decembre 9, 2010 1.0 Introduction Before start talking about C4.5 algorithm let s see first what is machine learning? Human

More information

COMP9334: Capacity Planning of Computer Systems and Networks

COMP9334: Capacity Planning of Computer Systems and Networks COMP9334: Capacity Planning of Computer Systems and Networks Week 2: Operational analysis Lecturer: Prof. Sanjay Jha NETWORKS RESEARCH GROUP, CSE, UNSW Operational analysis Operational: Collect performance

More information

Homework 4 Math 11, UCSD, Winter 2018 Due on Tuesday, 13th February

Homework 4 Math 11, UCSD, Winter 2018 Due on Tuesday, 13th February PID: Last Name, First Name: Section: Approximate time spent to complete this assignment: hour(s) Homework 4 Math 11, UCSD, Winter 2018 Due on Tuesday, 13th February Readings: Chapters 16.6-16.7 and the

More information