Measuring software size

Size: px
Start display at page:

Download "Measuring software size"

Transcription

1 Measuring software size

2 a question to start with have you ever written a large program? if so how did you know it was large? 2

3 outline ideas and problems associated with measuring software size assessing the size of software using KLOC function points (FPs), including the evolution of function point counting the heated debate about validity of FPs 3

4 how big is a software system and how can we measure this? who is interested in measuring the size of a software system? why is measuring software size important? how can we measure it? easy: measure the output (physical: code) tricky: measure the input (specification) 4

5 output size: counting lines of code

6 measuring software size 1000s lines of code: KLOCs internal measure of software size measures physical code size in logical units pros objective (after definition agreed) repeatable easy to count fairly easy to understand 6

7 measuring software size in KLOCs but can t measure until we ve written all the code! not commensurable across languages programming style may affect results what does it actually mean? issues in counting make comparisons difficult see Capers Jones Productivity Paradox below 7

8 how many lines?: Cobol IDENTIFICATION DIVISION PROGRAM-ID. HELLOWORLD * ENVIRONMENT DIVISION CONFIGURATION SECTION SOURCE-COMPUTER. RM-COBOL OBJECT-COMPUTER. RM-COBOL DATA DIVISION FILE SECTION PROCEDURE DIVISION MAIN-LOGIC SECTION BEGIN DISPLAY " " LINE 1 POSITION 1 ERASE EOS DISPLAY "Hello world!" LINE 15 POSITION STOP RUN MAIN-LOGIC-EXIT EXIT. 8

9 how many lines?: C #include <stdio.h> int main(void) { printf("hello World "); return 0; } 9

10 what is a line of code? should we include comments and/or white space? physical vs. logical lines of code what about styles of coding which split statements across lines? is (for a = 0; a < 5; a++) { x[a] = 0;} the same as (for a = 0; a < 5; a++) { x[a] = 0; }... 1 line or 3? (or 2?) 10

11 common definitions of KLOC K = 1000 NCLOC also known as KDSI non-comment lines only includes all partial lines used by Hewlett-Packard (F+P) can also measure CLOCs comment lines 11

12 problems with KLOCs: the Capers Jones productivity paradox T.C. Jones at IBM was among the first to recognize that measures of programming productivity in terms of lines of code are inherently paradoxical. They are paradoxical in that lines of code per unit of effort tend to emphasize longer rather than efficient or high-quality programs. Similarly, highlevel programming languages tend to be penalized when compared to assembly programs, since modern programs may utilize fewer lines of code than assembly routines to realize the same computational procedure. Walt Scacchi, Understanding Software Productivity, Advances in Software Engineering and Knowledge Engineering, D. Hurley (ed.), Volume 4, pp , (1995), citing Jones, T.C., `Measuring Programming Quality and Productivity', IBM System J. 17(1), (1978),

13 lines of code: summary 1 easy to count can do it automatically, including ignoring comments etc. cheap to compute, even for large systems comparable, but only if if same programming language used programming style used measurement rules used 13

14 lines of code: summary 2 but lacks meaning affected by programming language, coding style only available late in the process doesn t measure what the system does, only how many lines it takes to do it a measure of what the system really does would be much more useful size of system from user perspective so can we measure the size of the specification of the system? 14

15 so can we measure the size of the specification?

16 measuring specification size could just count words/lines in the text of the specification document, but same disadvantages as KLOCs rewards wordiness penalises conciseness depends on language and written style may not capture relative complexity of requirements: assumes (wrongly) that short descriptions describe simple problems short problem descriptions lead inevitably to simple solution 16

17 introducing Function Points developed by IBM in 1983 by Albrecht & Gaffney rationale: measure size of a system according to functionality delivered user rather than developer viewpoint based on specification principal version mostly relevant to data-oriented systems widely used in industry but can be complex to compute not well thought-of in some academic circles 17

18 function points: the underlying idea cost of developing a system function depends on numbers of inputs outputs file accesses interfaces to external systems complexity of function technical complexity 18

19 calculating FPs using simplified IFPUG, but others exist e.g. COSMIC 1. define scope of system 2. identify inputs, outputs, file accesses and interfaces to external systems 3. classify complexity of each function type 4. apply weightings to functions 5. calculate unadjusted FPs by summing weightings 6. derive Value Adjustment Factor for system 7. apply VAF to UFP to calculate adjusted FPs 19

20 Calculating FPs each function needs to be assessed: Total for all functions = Unadjusted FP count 20

21 UFP example: model system Example: spell checker (Fenton + Pfleeger 1997:260) User Errors found enquiry Words processed enquiry Document file Personal dictionary Spell Checker Number of words report Number of errors report Report of misspellings User Dictionary words A spell checker accepts as input a document file and an optional personal dictionary file. The checker lists all words not contained in either of these files, and reports separately the total number of words processed and the number of errors found. The user can query the number of words processed and the number of spelling errors found so far in the checking run at any stage during processing. 21

22 UFP example: calculating UFPs spell checker has 2 external inputs = 2 x 4 = 8 (document file and personal dictionary locations) 3 external outputs = 3 x 5 = 15 (misspellings, total words processed, total errors found) 2 inquiries (prompts, responses) = 2 x 4 = 8 (checks on progress for words checked, errors found) 2 external files = 2 x 10 = 20 (file to check, personal dictionary) 1 internal file = 1 x 7 = 7 (global Dictionary) assuming all components are of average complexity, UFP total (UFC) = = 58 22

23 from UFPs to Adjusted FPs need to allow for technical complexity factors compute adjustment according to particular features of system score each from 0 (irrelevant) to 5 (essential) f1 reliable back up and recovery f3 distributed function f5 heavily used configuration f7 operational ease f9 complex interface f11 re-usability f13 multiple sites F2 data communications f4 performance f6 on-line data entry f8 on-line update f10 complex processing f12 installation ease f14 facilitate change calculate Value Adjustment Factor (VAF) = (sum of complexity factors * 0.01) final count = UFP * VAF 23

24 why use function points rather than LOCs? (sales pitch: 1) advantages for developers and project managers allows you to produce project plans to quantifiable accuracy track progress manage scope creep developers can achieve assigned tasks by target date due to better estimating advantages for users based on user point of view provides for common language between technician and users calculation process helps to highlight missed requirements provide accurate estimate, allowing user better budget control. 24

25 why use function points rather than LOCs? (sales pitch: 2) why shouldn t I use lines of code? ( tend to reward inefficient design, penalise concise design no industry standards (ISO ) for lines of code cannot be used for normalizing across platform, language or by organization some 4th generation languages don t even use lines of code can be positively misleading see Capers Jones Productivity Paradox above 25

26 controversy over FPs? meanings unclear for function point computation mechanism calculation details vary IFPUG version and others differences due to choice of implementation languages! acceptability: computation is time-consuming expensive subject to variability between counters (10%) 26

27 FP developments FPs have standard conversions to KLOC for different programming languages constantly being developed, e.g. increasing precision in definitions for assessing complexity of functions version 4 includes calculations for GUIs extended to other types of applications real time object oriented simplified, more generalised version available COSMIC (ISO standard!) they continue to be controversial! 27

28 reading/sources measuring lines of code F+P: not a bad article for Wikipedia! function points Metrics and Models in Software Quality Engineering, Stephen H Kan, 2nd edition, Addison Wesley, 2003: different flavours of FPs includes useful general information on FPs 28

29 Exercises 1. Given the following development effort data, estimate the effort required to develop Module E which will be 900 KLOC long. Module KLOC Person days A B C D What factors have you not been able to take into account in your calculation? Request, retrieve, display information Receptionist Phone directory Directory data Check employee Personnel Employee data Update directory Print monthly listing Clerk Phone listing Calculate the size of the Phone Directory system in unadjusted FPs, assuming average complexity.

Basel Dudin

Basel Dudin Measuring Internal Product Attributes: Size Basel Dudin dudinbk@mcmaster.ca Outline Aspects of Software Size Length (LOC) Lines of Code Halstead s Theory Functionality Unadjusted Function Point Count (UFC)

More information

Seminar on Software Cost Estimation: Function Points

Seminar on Software Cost Estimation: Function Points : Function Points Institut für Informatik, Universität Zürich Prof. Dr. Martin Glinz Arun Mukhija WS 2002/03 10. December 2002 Author: Christoph Suter Hoffeld 2 8057 Zürich fels@datacomm.ch 1 Introduction...4

More information

Software Metrics 2.1 INTRODUCTION 2.2 PROJECT MANAGEMENT PROCESS ACTIVITIES

Software Metrics 2.1 INTRODUCTION 2.2 PROJECT MANAGEMENT PROCESS ACTIVITIES 2 C h a p t e r Software Metrics 2.1 INTRODUCTION I am reminded of a very interesting story when we talk of software metrics. Once there was a meeting going on in USA. In that meeting, one of the ladies

More information

Function Point Analysis

Function Point Analysis Function Point Analysis Introduction and Basic Overview as an Alternative to SLOC-based Estimation November 17, 2010 Tucker Moore TASC - ASOU Software Cost Estimation Two Main Types of Developed SW Cost

More information

SENG 421: Software Metrics

SENG 421: Software Metrics SENG 421: Software Metrics Measuring Internal Product Attributes: Software Size (Chapter 5) Department of Electrical & Computer Engineering, University of Calgary B.H. Far (far@ucalgary.ca) http://www.enel.ucalgary.ca/people/far/lectures/seng421/05/

More information

Software Size /2. Size: Length (code, specification, design) Size: Reuse Size: Functionality (function point, feature point, object point,

Software Size /2. Size: Length (code, specification, design) Size: Reuse Size: Functionality (function point, feature point, object point, SENG 421: Software Metrics Measuring Internal Product Attributes: Software Size (Chapter 5) Department of Electrical & Computer Engineering, University of Calgary B.H. Far () http://www.enel.ucalgary.ca/people/far/lectures/seng421/05/

More information

Technical Report

Technical Report FULL FUNCTION POINTS: COUNTING PRACTICES MANUAL Technical Report 1997-04 Edited by Software Engineering Management Research Laboratory and Software Engineering Laboratory in Applied Metrics (SELAM) In

More information

International Function Point Users Group References: Capers Jones: Applied Software Measurement (1997) Estimating Software Costs (1998)

International Function Point Users Group  References: Capers Jones: Applied Software Measurement (1997) Estimating Software Costs (1998) Function Point Estimation Normalized software project metric Application domain rather than technical domain Application functions and data rather than code International Function Point Users Group www.ifpug.org

More information

Resource Estimation for Objectory Projects

Resource Estimation for Objectory Projects Resource Estimation for Objectory Projects Gustav Karner Objective Systems SF AB Torshamnsgatan 39, Box 1128 164 22 Kista email: gustav@os.se September 17, 1993 Abstract In order to estimate the resources

More information

Improving the Accuracy of Function Points Counts

Improving the Accuracy of Function Points Counts The PROJECT PERFECT White Paper Collection Improving the Accuracy of Function Points Counts Abstract Amit Javadekar The Function Point (FP) Analysis model was invented by Allan Albrecht in 1979 as an alternative

More information

Evolutionary Decision Trees and Software Metrics for Module Defects Identification

Evolutionary Decision Trees and Software Metrics for Module Defects Identification World Academy of Science, Engineering and Technology 38 008 Evolutionary Decision Trees and Software Metrics for Module Defects Identification Monica Chiş Abstract Software metric is a measure of some

More information

Part 5 Appendices and Glossary

Part 5 Appendices and Glossary Part 5 Appendices and Glossary This page intentionally left blank. Part 5 Appendix A Appendix A: Functional Size Calculation Table Introduction Contents Appendix A includes a table to facilitate measuring

More information

Probabilistic Models of Software Function Point Elements

Probabilistic Models of Software Function Point Elements Probabilistic Models of Software Function Point Elements Masood Uzzafer Amity university Dubai Dubai, U.A.E. Email: muzzafer [AT] amityuniversity.ae Abstract Probabilistic models of software function point

More information

Boundaries: The Undiscovered Territory

Boundaries: The Undiscovered Territory Boundaries: The Undiscovered Territory 2009 The Problem... Many definitions although lots of similarities Individual perception can and does impact the definition of boundaries Boundary definition can

More information

Workshop 2-3: Function Point Analysis. Dietmar Pfahl

Workshop 2-3: Function Point Analysis. Dietmar Pfahl Software Economics Fall 2015 Workshop 2-3: Function Point Analysis Dietmar Pfahl (slides based on material of Marlon Dumas and (partly) on FPA Manual by David Longstreet) Function Point Analysis Function

More information

Part 1 - Process and Rules

Part 1 - Process and Rules Part 1 - Process and Rules This page intentionally left blank. Part 2 Counting Practices This page intentionally left blank. Part 3 - Examples This page intentionally left blank. Part 4 Appendices and

More information

EVOLVED. Function Points. Lee Fischman COCOMO/SCM 15 Forum Spring 2000

EVOLVED. Function Points. Lee Fischman COCOMO/SCM 15 Forum Spring 2000 EVOLVED Function Points Lee Fischman COCOMO/SCM 15 Forum Spring 2000 Galorath Incorporated 2000 1 Traditional Function Points - A Great Start At Functional Scoping Identification Input Inquiry Output Complexity

More information

1.264 Lecture 3. Time and resource estimation

1.264 Lecture 3. Time and resource estimation 1.264 Lecture 3 Time and resource estimation Next class: Read chapters 7, 8. Hand in exercise solution after class Form groups for homework. Hand in today s exercises on paper. 1 Choose system implementation

More information

E s timation of effort using F unction Points

E s timation of effort using F unction Points E s timation of effort using F unction Points -Vijay S hankar Vijay Shankar Cognizant Technology Solutions, Feb 2003. All rights reserved. You may make one attributed copy of this material for your own

More information

Early & Quick Function Point: Sizing More with Less

Early & Quick Function Point: Sizing More with Less Early & Quick Function Point: Sizing More with Less Luca Santillo, Massimiliano Conte, Roberto Meli DPO (Data ing Organization), Italy luca.santillo@dpo.it, massimiliano.conte@dpo.it, roberto.meli@dpo.it

More information

Simple Function Point! measurement fully compatible with the IFPUG method 4.x

Simple Function Point! measurement fully compatible with the IFPUG method 4.x ! A new method for functional size measurement fully compatible with the IFPUG method 4.x Roberto Meli CEO - Data Processing Organization President Association N. 1 IFPUG FP Reference Model EQ EIF ILF

More information

Workshop 2: Function Point Analysis. Marlon Dumas

Workshop 2: Function Point Analysis. Marlon Dumas Software Economics Fall 2012 Workshop 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Function Point Analysis Function point is a measure of the amount of

More information

Function Point Counting Practices Manual. Release 4.2.1

Function Point Counting Practices Manual. Release 4.2.1 Function Point Counting Practices Manual Release 4.2.1 International Function Point Users Group (IFPUG) Function Point Counting Practices Manual Release 4.2.1 Chairperson, Counting Practices Committee

More information

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University and OO OO and OO SE 3S03 - Tutorial 12 Department of Computer Science McMaster University Complexity Lorenz CK Week of Apr 04, 2016 Acknowledgments: The material of these slides is based on [1] (chapter

More information

FPA and Portfolio Counting

FPA and Portfolio Counting FPA and Portfolio Counting Size for Application Maintenance projects the easy way Christine Green CFPS EDS and the EDS logo are registered trademarks of Electronic Data Systems Corporation. EDS is an equal

More information

Improving Software Cost Estimates Using the Univariate Model

Improving Software Cost Estimates Using the Univariate Model Improving Software Cost Estimates Using the Univariate Model Brian Opaska OPS Consulting 1 Outline Background on Univariate (Linear) Method Improvement Techniques Code Count Metric Actual SLOC Analysis

More information

MiPhone Phone Usage Tracking

MiPhone Phone Usage Tracking MiPhone Phone Usage Tracking Team Scott Strong Designer Shane Miller Designer Sierra Anderson Designer Problem & Solution This project began as an effort to deter people from using their phones in class.

More information

In the hardware module, you saw the basic execution of a program Programs are written in specific languages Each language has it s strengths and

In the hardware module, you saw the basic execution of a program Programs are written in specific languages Each language has it s strengths and In the hardware module, you saw the basic execution of a program Programs are written in specific languages Each language has it s strengths and weaknesses, and own grammar and syntax We will take a high-

More information

Measurement Convertibility - From Function Points to COSMIC-FFP

Measurement Convertibility - From Function Points to COSMIC-FFP Measurement - From Function Points to Alain Abran Jean-Marc Desharnais Fatima Aziz École de Technologie Supérieure alain.abran@etsmtl.ca jean-marc.desharnais@etsmtl.ca fatima.aziz.1@ens.etsmtl.ca Abstract

More information

Functional Measure of a Real-time System

Functional Measure of a Real-time System IWSM/Mensura 2009, November 4-6, 2009 Amsterdam (Netherlands) Functional Measure of a Real-time System Jean-Marc Desharnais, Alain Abran, Pınar Efe Dikici, Mert Can İliş, İrfan Nuri Karaca Agenda Introduction

More information

Function Point Training

Function Point Training Function Point Training Instructor: David Longstreet David@SoftwareMetrics.Com www.softwaremetrics.com 816-739-4058 tel. or 816-228-8259 fax. 112 Two Day Schedule Day One - Function Points Concepts, Questions

More information

C-Programming. CSC209: Software Tools and Systems Programming. Paul Vrbik. University of Toronto Mississauga

C-Programming. CSC209: Software Tools and Systems Programming. Paul Vrbik. University of Toronto Mississauga C-Programming CSC209: Software Tools and Systems Programming Paul Vrbik University of Toronto Mississauga https://mcs.utm.utoronto.ca/~209/ Adapted from Dan Zingaro s 2015 slides. Week 2.0 1 / 19 What

More information

Seizing and sizing SOA applications with COSMIC Function Points Luca Santillo

Seizing and sizing SOA applications with COSMIC Function Points Luca Santillo Seizing and sizing SOA applications with COSMIC Function Points Luca Santillo (luca.santillo@gmail.com) Abstract Service-oriented architecture (SOA) expresses a perspective of software architecture that

More information

Chamberlin and Boyce - SEQUEL: A Structured English Query Language

Chamberlin and Boyce - SEQUEL: A Structured English Query Language Programming Languages (CS302 2007S) Chamberlin and Boyce - SEQUEL: A Structured English Query Language Comments on: Chamberlin, D. D. and Boyce, R. F. (1974). SEQUEL: A Structured English Query Language.

More information

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021 Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,

More information

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS QM 433 - Chapter 1 Database Fundamentals Version 10 th Ed Prepared by Dr Kamel Rouibah / Dept QM & IS www.cba.edu.kw/krouibah Dr K. Rouibah / dept QM & IS Chapter 1 (433) Database fundamentals 1 Objectives

More information

Premier Literacy Tools

Premier Literacy Tools Premier Literacy Tools Tutorial Guide A step-by-step guide to the most popular tools in Premier Literacy Tools. Created by: Heather Harris, Special Education Coach Intern Table of Contents Talking Word

More information

Programming. Dr Ben Dudson University of York

Programming. Dr Ben Dudson University of York Programming Dr Ben Dudson University of York Outline Last lecture covered the basics of programming and IDL This lecture will cover More advanced IDL and plotting Fortran and C++ Programming techniques

More information

The Write Stuff. Week 5: Content. Some alternatives Web sites for research Referencing Formatting Using word Exercise. Week 5: The Write Stuff

The Write Stuff. Week 5: Content. Some alternatives Web sites for research Referencing Formatting Using word Exercise. Week 5: The Write Stuff The Write Stuff Week 5: Content Some alternatives Web sites for research Referencing Formatting Using word Exercise Some tools & alternatives Online tools Google Notebook Adobe Buzzword Zoho Some tools

More information

Ms. Bhawna Sharma 1, Ms. Kavita Choudhary 2, Mr Rajendra Purohit 3 1 M.Tech. Scholar, 2 Associate professor, 3 Research Scholar

Ms. Bhawna Sharma 1, Ms. Kavita Choudhary 2, Mr Rajendra Purohit 3 1 M.Tech. Scholar, 2 Associate professor, 3 Research Scholar Function Point Analysis: Converting various design elements into Function Points Ms. Bhawna Sharma 1, Ms. Kavita Choudhary 2, Mr Rajendra Purohit 3 1 M.Tech. Scholar, 2 Associate professor, 3 Research

More information

Crash Course in Modernization. A whitepaper from mrc

Crash Course in Modernization. A whitepaper from mrc Crash Course in Modernization A whitepaper from mrc Introduction Modernization is a confusing subject for one main reason: It isn t the same across the board. Different vendors sell different forms of

More information

IFPUG 4.3 What You Need to Know!

IFPUG 4.3 What You Need to Know! DCG WEBINAR IFPUG 4.3 What You Need to Know! Sheila P. Dennis, CFPS sdennis@davidconsultinggroup.com Presentation Topics Let s Talk Function Points What Did They Do to the Counting Practices Manual (CPM)?

More information

User-Driven Usability Assessment of Internet Maps

User-Driven Usability Assessment of Internet Maps User-Driven Usability Assessment of Internet Maps Andrius Balciunas* * Andrius.Balciunas@gf.vu.lt. Vilnius University, Centre for cartography Vilnius, Lithuania. Abstract. This paper describes problematic

More information

TASKS IN THE SYSTEMS DEVELOPMENT LIFE CYCLE

TASKS IN THE SYSTEMS DEVELOPMENT LIFE CYCLE SUMMARY AND REFERENCE ACTG 313 TASKS IN THE SYSTEMS DEVELOPMENT LIFE CYCLE PREPARATION PHASE 1. Identification of the Need for a new Information System 2. Initial Feasibility Study (always flawed because

More information

(Objective-CS605 Software Engeenring-II)

(Objective-CS605 Software Engeenring-II) Which one of the following is NOT a useful indicator of software quality? Correctness Code size (Page 67) Maintainability Integrity Usability Which one of the following does not belong to a strategy for

More information

Specifying and Prototyping

Specifying and Prototyping Contents Specifying and Prototyping M. EVREN KIYMAÇ 2008639030 What is Specifying? Gathering Specifications Specifying Approach & Waterfall Model What is Prototyping? Uses of Prototypes Prototyping Process

More information

Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing.

Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing. Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing. Overview The desire to use tools to increase validation productivity with the consequent

More information

Interface Models and Function Point Calculation

Interface Models and Function Point Calculation Interface Models and Function Point Calculation Jeannie Bellows Senior Consultant jbellows@castek.com Who is Castek? Who is Castek? Global organization, headquartered in Toronto, Canada with offices in

More information

About Dean Leffingwell

About Dean Leffingwell Lean Practices for Foreword by Don Nonfunctional (System Qualities) Agile Style Reinertsen Development Series By and Ryan Shriver Agile 2010 Orlando, FL Lean Practices for Foreword by Don Reinertsen Development

More information

Slide Set 3. for ENCM 339 Fall 2017 Section 01. Steve Norman, PhD, PEng

Slide Set 3. for ENCM 339 Fall 2017 Section 01. Steve Norman, PhD, PEng Slide Set 3 for ENCM 339 Fall 2017 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary September 2017 ENCM 339 Fall 2017 Section 01

More information

Chapter 6. Design Guides

Chapter 6. Design Guides Chapter 6. Design Guides Context Table of Contents Context... 1 Objectives... 1 Introduction... 2 Standards vs Guidelines... 2 Design Guides... 2 Design Principles... 3 Learnability... 3 Flexibility...

More information

Describing Information Systems Moving Beyond UML

Describing Information Systems Moving Beyond UML Describing Information Systems Moving Beyond UML Eoin Woods Artechra eoin@artechra.com Nick Rozanski Artechra nick@artechra.com Timetable 10:00-10:10 Introductions 10:10-10:25 - Presentation: Architectural

More information

This session will provide an overview of the research resources and strategies that can be used when conducting business research.

This session will provide an overview of the research resources and strategies that can be used when conducting business research. Welcome! This session will provide an overview of the research resources and strategies that can be used when conducting business research. Many of these research tips will also be applicable to courses

More information

Software Lesson 1 Outline

Software Lesson 1 Outline Software Lesson 1 Outline 1. Software Lesson 1 Outline 2. What is Software? A Program? Data? 3. What are Instructions? 4. What is a Programming Language? 5. What is Source Code? What is a Source File?

More information

ECE Senior Design Team 1702 Project Proposal

ECE Senior Design Team 1702 Project Proposal ECE Senior Design Team 1702 Project Proposal Qualtech Systems Inc. Modeling Converter Jay Meyer (EE) jay.meyer@uconn.edu Andrew Morse (EE/CSE) andrew.morse@uconn.edu Will Salguero (EE) william.salguero@uconn.edu

More information

CS125 : Introduction to Computer Science. Lecture Notes #4 Type Checking, Input/Output, and Programming Style

CS125 : Introduction to Computer Science. Lecture Notes #4 Type Checking, Input/Output, and Programming Style CS125 : Introduction to Computer Science Lecture Notes #4 Type Checking, Input/Output, and Programming Style c 2005, 2004, 2002, 2001, 2000 Jason Zych 1 Lecture 4 : Type Checking, Input/Output, and Programming

More information

A NOTE ON COST ESTIMATION BASED ON PRIME NUMBERS

A NOTE ON COST ESTIMATION BASED ON PRIME NUMBERS International Journal of Information Technology and Knowledge Management July-December 2010, Volume 2, No. 2, pp. 241-245 A NOTE ON COST ESTIMATION BASED ON PRIME NUMBERS Surya Prakash Tripathi 1, Kavita

More information

Modification of standard Function Point complexity weights system

Modification of standard Function Point complexity weights system The Journal of Systems and Software 4 (2005) 195 206 www.elsevier.com/locate/jss Modification of standard Function Point complexity weights system Mohammed Abdullah Al-Hajri *, Abdul Azim Abdul Ghani,

More information

The data quality trends report

The data quality trends report Report The 2015 email data quality trends report How organizations today are managing and using email Table of contents: Summary...1 Research methodology...1 Key findings...2 Email collection and database

More information

SOFTWARE LAYERS AND MEASUREMENT

SOFTWARE LAYERS AND MEASUREMENT SOFTWARE LAYERS AND MEASUREMENT Jean-Marc Desharnais, Software Engineering Laboratory in Applied Metrics Denis St-Pierre, DSA Consulting Inc. Serge Oligny, Laboratoire de recherche en gestion des logiciels

More information

GET 433 Course Syllabus Spring 2017

GET 433 Course Syllabus Spring 2017 Instructor: Doug Taber Telephone: 315-558-2359 Email: pdtaber@syr.edu Office: Hinds Hall 239 Location: Hinds 013 Day: Tues / Thurs Time: 8 AM to 9:20 AM Office Hours: TBA Course Overview GET 433 Enterprise

More information

Heresies and Dogmas in Software Development

Heresies and Dogmas in Software Development Heresies and Dogmas in Software Development @deanwampler StrangeLoop 2011 Functional Programming for Java Developers Dean Wampler programmingscala.com polyglotprogramming.com /fpjava https://twitter.com/#!/stesla/status/11390744100

More information

What Does the Future Look Like for Business Continuity Professionals?

What Does the Future Look Like for Business Continuity Professionals? What Does the Future Look Like for Business Continuity Professionals? October 26, 2016 Brian Zawada, FBCI President, US Chapter of the Business Continuity Institute Agenda and Objectives Change Standards

More information

WHAT IS SHAREPOINT BRANDING AND UI DESIGN? COPYRIGHTED MATERIAL

WHAT IS SHAREPOINT BRANDING AND UI DESIGN? COPYRIGHTED MATERIAL 1 WHAT IS SHAREPOINT BRANDING AND UI DESIGN? COPYRIGHTED MATERIAL What s in this Chapter 1 Reasons for SharePoint Branding 2 Exploring Intranet, Internet, and Extranet sites 3 Branding SharePoint at Low,

More information

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.

More information

Using the Text Import Node

Using the Text Import Node Using the Text Import Node 1/4 Using the Text Import Node Contents You can use the Text Import node to import documents from a directory or the Web. See the following for examples of how to use the Text

More information

Week Two Entity Relationship Diagram. Marlon R. Evans DBM/502 3/27/17. Mark Paxton

Week Two Entity Relationship Diagram. Marlon R. Evans DBM/502 3/27/17. Mark Paxton Week Two Entity Relationship Diagram Marlon R. Evans DBM/502 3/27/17 Mark Paxton File Name: Evans WK2 - E-R Diagram.doc Microsoft Word Statistics for your paper: Total Number of Pages Found in Full Document

More information

SmarterMail v. Exchange: Admin Comparison

SmarterMail v. Exchange: Admin Comparison SmarterMail v. Exchange: Admin Comparison Help Documentation This document was auto-created from web content and is subject to change at any time. Copyright (c) 2018 SmarterTools Inc. SmarterMail and Microsoft

More information

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis Scenario-Based Analysis Scenario-Based Analysis (example) Provides a more user-oriented view perspective on the design and development of an interactive system. The defining property of a scenario is that

More information

Understanding Software Engineering

Understanding Software Engineering McBreen.book Page 3 Wednesday, August 1, 2001 10:08 PM Chapter 1 Understanding Software Engineering In order to understand software engineering, we first need to look at the projects that were reported

More information

MIS2502: Data Analytics Principles of Data Visualization. Alvin Zuyin Zheng

MIS2502: Data Analytics Principles of Data Visualization. Alvin Zuyin Zheng MIS2502: Data Analytics Principles of Data Visualization Alvin Zuyin Zheng zheng@temple.edu http://community.mis.temple.edu/zuyinzheng/ Data visualization can: provide clear understanding of patterns in

More information

Sommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof.

Sommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof. Sommerville Chapter 6 The High-Level Structure of a Software Intensive System Architectural Design Slides courtesy Prof.Mats Heimdahl 1 Fall 2 2013 Architectural Parallels Architects are the technical

More information

CS:2820 (22C:22) Object-Oriented Software Development

CS:2820 (22C:22) Object-Oriented Software Development The University of Iowa CS:2820 (22C:22) Object-Oriented Software Development! Spring 2015 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this

More information

RISC Principles. Introduction

RISC Principles. Introduction 3 RISC Principles In the last chapter, we presented many details on the processor design space as well as the CISC and RISC architectures. It is time we consolidated our discussion to give details of RISC

More information

Digital Signage Content Creation Guidelines

Digital Signage Content Creation Guidelines A NEW era of Digital Advertising 2017 Digital Signage Content Creation Guidelines DIGITAL BILLBOARD CONTENTS GUIDELINES & TIPS Introdution 01 Intro Maximize the Potential Text, graphics and backgrounds

More information

EXTERNAL INQUIRIES. Objective of Section: Definition: Rating:

EXTERNAL INQUIRIES. Objective of Section: Definition: Rating: EXTERNAL INQUIRIES 7 Objective of Section: Describe and define the concepts necessary to identify and rate External Inquiries. The exercises at the end of the section help the student demonstrate that

More information

Heresies and Dogmas in Software

Heresies and Dogmas in Software Heresies and Dogmas in Software Development @deanwampler CME Group Technology Conference 2011 Functional Programming for Java Developers Dean Wampler programmingscala.com polyglotprogramming.com/ fpjava

More information

Solving Problems Flow Control in C++ CS 16: Solving Problems with Computers I Lecture #3

Solving Problems Flow Control in C++ CS 16: Solving Problems with Computers I Lecture #3 Solving Problems Flow Control in C++ CS 16: Solving Problems with Computers I Lecture #3 Ziad Matni Dept. of Computer Science, UCSB A Word About Registration for CS16 FOR THOSE OF YOU NOT YET REGISTERED:

More information

Table of Contents EVALUATION COPY

Table of Contents EVALUATION COPY Table of Contents Introduction... 1-2 A Brief History of Python... 1-3 Python Versions... 1-4 Installing Python... 1-5 Environment Variables... 1-6 Executing Python from the Command Line... 1-7 IDLE...

More information

Multi-threading technology and the challenges of meeting performance and power consumption demands for mobile applications

Multi-threading technology and the challenges of meeting performance and power consumption demands for mobile applications Multi-threading technology and the challenges of meeting performance and power consumption demands for mobile applications September 2013 Navigating between ever-higher performance targets and strict limits

More information

Software Testing and Maintenance

Software Testing and Maintenance Software Testing and Maintenance Testing Strategies Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/ design/ implementation of the item

More information

Using Storyotypes to Split Bloated XP Stories

Using Storyotypes to Split Bloated XP Stories Using Storyotypes to Split Bloated XP Stories Gerard Meszaros ClearStream Consulting Inc., 3710 205 5 th Avenue S.W. Calgary, Alberta Canada T2P 2V7 gerard@clrstream.com Abstract. An ideal XP project is

More information

MAKING SEARCH INTELLIGENT WITH AI

MAKING SEARCH INTELLIGENT WITH AI A 5-Minute Guide MAKING SEARCH INTELLIGENT WITH AI AI: These Days, It s Just About Everywhere AI artificial intelligence that lets machines act and react like humans - has been around for a good long while

More information

Legacy Systems. Older software systems that remain vital to an organisation. Legacy systems. Legacy system replacement

Legacy Systems. Older software systems that remain vital to an organisation. Legacy systems. Legacy system replacement Legacy Systems Older software systems that remain vital to an organisation Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 1 Legacy

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

Heuristic Evaluation of Math Out of the Box

Heuristic Evaluation of Math Out of the Box Heuristic Evaluation of Math Out of the Box Evaluator #A: Joanie Hollberg Evaluator #B: Rassan Walker Evaluator #C: Alex Wang Evaluator #D: Carlos Araujo 1. Problem Math Out of The Box is a mobile application

More information

It s not about technology it s about people!

It s not about technology it s about people! It s not about technology it s about people! BCS Search Solutions 2012 Intranet Focus Ltd Martin White Managing Director, Intranet Focus Ltd. martin.white@intranetfocus.com @intranetfocus About me Chemist

More information

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:

More information

unitrends.com MYTH VS. REALITY What you need to know about Microsoft Office 365 Backup

unitrends.com MYTH VS. REALITY What you need to know about Microsoft Office 365 Backup MYTH VS. REALITY What you need to know about Microsoft Office 365 Backup Is Your Office 365 Data Fully Protected? ebook Contents Introduction /1 How data loss occurs in cloud applications Protecting Email:

More information

Measuring Complexity

Measuring Complexity Measuring Complexity outline why should we measure the complexity of a software system? what might we want to measure? complexity of the source code within a code module between code modules complexity

More information

THE CYBERSECURITY LITERACY CONFIDENCE GAP

THE CYBERSECURITY LITERACY CONFIDENCE GAP CONFIDENCE: SECURED WHITE PAPER THE CYBERSECURITY LITERACY CONFIDENCE GAP ADVANCED THREAT PROTECTION, SECURITY AND COMPLIANCE Despite the fact that most organizations are more aware of cybersecurity risks

More information

1: Introduction to Object (1)

1: Introduction to Object (1) 1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface

More information

McCa!"s Triangle of Quality

McCa!s Triangle of Quality McCa!"s Triangle of Quality Maintainability Portability Flexibility Reusability Testability Interoperability PRODUCT REVISION PRODUCT TRANSITION PRODUCT OPERATION Correctness Usability Reliability Efficiency

More information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Recap 1 to 5 Chapters 1. UML Notation 1. Use Case 2. Class Diagrams 3. Interaction or Sequence Diagrams 4. Machine or State Diagrams 5. Activity Diagrams

More information

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives,

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives, Virtualization Q&A with an industry leader Virtualization is rapidly becoming a fact of life for agency executives, as the basis for data center consolidation and cloud computing and, increasingly, as

More information

assembler Machine Code Object Files linker Executable File

assembler Machine Code Object Files linker Executable File CSCE A211 Programming Intro What is a Programming Language Assemblers, Compilers, Interpreters A compiler translates programs in high level languages into machine language that can be executed by the computer.

More information

Hello everyone, how are you enjoying the conference so far? Excellent!

Hello everyone, how are you enjoying the conference so far? Excellent! 1 Hello everyone, how are you enjoying the conference so far? Excellent! I m Andy Sutton, the e-builder User Experience Lead, and I m here to talk to you about User Experience. In this session, we re going

More information

Management of Protocol State

Management of Protocol State Management of Protocol State Ibrahim Matta December 2012 1 Introduction These notes highlight the main issues related to synchronizing the data at both sender and receiver of a protocol. For example, in

More information

Trusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout

Trusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout 1 Last update: 15 October 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 1: Issues of software quality Agenda for today 3 Introduction Some statistics

More information

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information