# Structure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)

Save this PDF as:

Size: px
Start display at page:

Download "Structure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)"

## Transcription

1 Stages in Teaching Formal Methods A. J. Cowling Structure of Presentation Introduction to Issues Motivation for this work. Analysis of the Role of Formal Methods Define their scope; Review their treatment in SE2004; Describe a theoretical model for the development of SE skills; Analyse the stages defined by this model. Conclusions What students need to learn about formal methods. Department of Computer Science University of Sheffield Limitations and Future Work The details of how formal methods should be taught. Motivation (1) Issues in Teaching Formal Methods It is difficult to define which methods are formal: all computing is based on computation and information, these are essentially formal concepts. Formal methods are valuable in some situations; but Successful systems are often built without them. Many formal methods are difficult to teach: they are based on mathematical concepts that are unfamiliar, and therefore the notation they use is also unfamiliar; Also, many of them operate separately from other SE methods: hence it is not clear to students how the formal methods fit in. Motivation (2) Negative Approach to These Problems Try to ignore them! This is dangerous, because: engineering must apply scientific principles, formal methods embody these scientific principles, (more so than many other aspects of SE), ignoring formal methods means ignoring these principles, which suggests that SE is not engineering. Positive Approach to These Problems Try to analyse the problems and overcome them: identify what students should be taught about formal methods, and when they should be taught them. SE2004 attempted this to some extent: more experience is now available, and a theoretical model for stages in developing SE skills. The Scope of Formal Methods (1) Possible Definition 1 Any method that is based on some formal mathematical model; But, information and computation are mathematical concepts: all methods are based on these concepts, so all methods would be classed as formal, even if abstractions hide the mathematical models, as in UML diagrams; So this definition is too general. The Scope of Formal Methods (2) Possible Definition 2 Any method that involves direct manipulation of a mathematical model; This eliminates purely diagrammatic methods; But it includes several other common methods: database normalisation (manipulates the relational model of the database structure), checking test sets for coverage (coverage criteria are defined from formal models of system structures); And these methods are not usually classed as formal; So this definition is still too general. 1

2 The Scope of Formal Methods (3) Possible Definition 3 Focus on the purposes of the models, as well as their types; Any method that involves: explicit creation of a mathematical model of a system, in order to check multiple properties of the system; Excludes single-purpose models: eg database normalisation or test set coverage. Implies that a formal method should involve: building some formal specification of a system (once its requirements have been analysed), using this specification during system development (ie design and construction); The Scope of Formal Methods (4) Implications of These definitions The differences reflect a distinction between CS & SE: definitions 1 and 2 focus on CS, definition 3 focuses on SE. Formal Methods in Computer Science Science creates models of concepts; It uses them to analyse their properties. Formal Methods in Software Engineering Engineering builds models of systems It uses them to make design decisions. The Scope of Formal Methods (5) Contrasting Roles Mathematicians prove, engineers calculate (Hoare): but, for engineers these calculations may involve proofs that required system properties will hold; Formal methods in SE must therefore support: calculating properties of systems, based on formal models of them; They therefore require both validation and verification: validation of the system models, verification of the calculations; The adopted definition captures these properties. FM in Curriculum Models (1) Formal Methods in CS2001 Defines fundamental mathematics knowledge; Defines fundamental formal concepts: information and computation; Defines some formal models for CS: finite-state automata, invariants, assertions and contracts. FM in Curriculum Models (2) Formal Methods Knowledge in SE2004 It imports fundamental material from CS2001: Mathematical and Engineering Fundamentals knowledge area, Computing Essentials knowledge area; It includes some applications of this material: state-based construction techniques, in CMP.ct.7, design by contract, in CMP.ct.5; It requires a general introduction to specification languages in MAA.rsd.3; It relates uses of formal methods to processes: formal validation of requirements, in MAA.vv.5, formal design analysis, in DES.ste.4 (optional), derivation of metrics from models, in VAV.fnd.4, applications to testing, in VAV.tst; But, it only allocates limited time to any of these. FM in Curriculum Models (3) Formal Methods in SE2004 Courses Fundamental mathematics covered in imported courses: Discrete Structures (CS105, CS106); Not tied to the introductory SE courses (SE101, SE102) but brief coverage in the alternative course (SE201); One core package introduces formal methods early: formal construction techniques in Software Construction (SE211), other applications in Software Quality Assurance (SE321) and Software Requirements Analysis (SE322); The other core package covers them later: some applications in Software Testing (SE221), these come before specification languages, which are in Formal Methods in Software Engineering (SE313). 2

3 Developing Knowledge & Skills (1) A Theoretical Framework Developed through reflection on the curriculum at Sheffield and particularly on its key structural feature; Curriculum based on a sequence of major projects: one per academic year, each focuses on developing a complete software system; These projects form the spine of the curriculum: other courses are fitted in round them, and provide the necessary knowledge and skills. Developing Knowledge & Skills (2) Framework Structure Based on two characteristics of the system developed: What issues need to be considered in the development: initially, just functional correctness and basic usability, later on, quality requirements as well; Scale and size of the systems: simple programs, performing single functions, set of functions, using persistent storage, larger scale systems. Developing Knowledge & Skills (3) Four Stages of the Framework Stage 0: basic programming; Stage 1: Software Development: covering a full life cycle, just concerned with functional correctness and basic usability, essential to all computing programmes, not just SE ones; Stage 2: Software Engineering: covers meeting quality requirements as well, scale of systems constrained by the limits of a degree programme; Stage 3: professional scale software engineering: the eventual goal, but beyond the scope of this paper. Formal Methods in Programming A Clash of Definitions Programming focuses on the construction stage; Formal methods should be applicable at multiple stages; Hence, their application to programming is very limited. The Role of Formal Methods in Programming Formal methods should not be ignored completely; Single programs still need to be specified; Fundamental concepts such as invariants can be applied; Even though SE2004 does not require this. FM in Software Development (1) Focus of Software Development Functional correctness and basic usability; In principle, formal methods should be applicable to these; But, their formal models must be validated: against the requirements for the system, which is also a key to ensuring usability, but neither can contribute much to the other; In practice, therefore, the role of formal methods can only be in helping to ensure functional correctness. FM in Software Development (2) Achieving Functional Correctness This involves three issues: How can requirements for systems be specified? How can these specifications then be used in development? to ensure the systems conform to their requirements; How can the specifications then be validated? the process will be independent of the kinds of models. Specifying Requirements Involves two stages: requirements elicitation, and requirements modelling, where the set of models forms the specification; Properties of the set of models: must define the required behaviour precisely, so that conformance can be determined unambiguously. 3

4 Modelling Requirements (1) Basic UML Diagrams Class diagram: identifies required external structure of persistent data; Use case diagrams: identify required functions; Possibly activity diagrams: identify constraints on the order of function invocation. Limitations of These Models They do not define the required behaviour of functions; In particular, they do not define how functions: need to use the persistent data, or must change the persistent data. Modelling Requirements (2) Additional Models Needed to define the behaviour precisely; Can identify two groups: those that stay within the scope of UML, and those that use other models. Further UML Models State machine diagrams can describe: steps in carrying out a function, or how functions change the state of objects; Collaboration diagrams can describe: sequences of interactions between users and the system, in the form of system sequence diagrams; OCL annotations can define aspects of behaviour. Modelling Requirements (3) Other Models Structured text, as story cards or structured use cases; Formal specifications in some suitable language. Evaluation of the Additional Models System sequence diagrams, or similar state machines: illustrate the interactions, but do not define their effects; State machines for classes: usually produced during the design stage, hence not usually part of the requirements specification, but should be validated against a specification; Structured text models: inherently imprecise; Hence, none of these achieve the goals; Formal methods are needed. Modelling Requirements (4) Ensuring Functional Correctness Design stage models should be verified against the specification: state machine models of functions or classes, detailed sequence diagram models, methods for doing these may be advanced material; Testing during the construction stage: test cases must be consistent with the specification, test sets should cover the specification, measuring coverage may be advanced material; Informal specifications may not be adequate; Formal specifications should be: precise enough to make these checks unambiguous, complete enough to allow all of them. Formal Methods and SE2004 (1) The Need for Formal Methods Required to describe dynamic behaviour precisely: in particular, to define how functions affect persistent data; Required for designing and testing systems: to verify designs, to ensure correctness of implementations; Required pedagogically to encourage good practice: avoid students believing that formal methods are unnecessary. The Structure of SE2004 Introductory course sequences lead to core courses; Introductory course sequences cover software development: not a precise equivalence, but is implied by the descriptions of SE200 and SE201; Introductory courses do not require any formal methods; So SE2004 does not meet the need for formal methods. Formal Methods and SE2004 (2) The Software Engineering Stage Corresponds to the SE2004 core course sequences; These are where formal methods are covered: although some key topics are not core knowledge. Consistency with the Framework Programming stage: Some formal methods can be used, but SE2004 does not require them; Software Development stage: formal methods are needed, but SE2004 does not require them; Software Engineering stage: SE2004 is more-or-less consistent. 4

5 Conclusions The Need to Study Formal Methods Even simple introductory processes must include them: to define basic functional behaviour, and in particular how functions affect persistent data, to give a basis for ensuring functional correctness; They must be introduced early in the curriculum: some elements are needed in the introductory courses, which is earlier than SE2004 recommends. The End Thanks for your attention!! Any Questions? Further Questions Which elements of formal methods must come early? Requirements for the methods have been defined, but: how do different methods support these requirements? how should formal and diagrammatic methods be balanced? These need further analysis. 5

### The Role of Modelling in Teaching Formal Methods for Software Engineering

The Role of Modelling in Teaching Formal Methods for Software Engineering A. J. Cowling Department of Computer Science University of Sheffield Sheffield, England A.Cowling@dcs.shef.ac.uk Abstract. This

### Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions

### Introducing Formal Methods. Software Engineering and Formal Methods

Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended

### Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective

Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT

### Design by Contract beyond class modelling

Design by Contract beyond class modelling Introduction Design by Contract (DbC) or Programming by Contract is an approach to designing software. It says that designers should define precise and verifiable

### CSE4213 Lecture Notes

CSE4213 Lecture Notes Introduction to B Tools Computer Science and Software Engineering Monash University 20070226 / Lecture 1 ajh 1/15 1 Outline 2 3 4 5 ajh 2/15 In this course we will be introducing

### Software Requirements 1

Software Requirements 1 Requirements are descriptions of the services that a software system must provide and the constraints under which it must operate Requirements can range from high-level abstract

### A Framework for the Semantics of Behavioral Contracts

A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK ashley.mcneile@metamaxim.com Abstract. Contracts have proved a powerful concept

### Software Requirements

Software Engineering Software Requirements Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce the concepts of user and system requirements To describe functional and

### 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

### Bottom-Line Management

pci Bottom-Line BOTTOM-LINE BUSINESS ANALYSIS THE ONLY 4 LEVEL INTEGRATED CURRICULUM TAKING PEOPLE FROM BEGINNER TO EXPERT 1. Business Analyst Foundations 2. High Quality Business Requirements 3. Use Cases

### Software Requirements Specification

1 of 7 17.04.98 13:32 Software Requirements Specification The sub-sections : 1. What is a Software Requirements Specification 2. Why is a Software Requirement Specification Required 3. What is Contained

### A Comparison of Computer Science and Software Engineering Programmes in English Universities

A Comparison of Computer Science and Software Engineering Programmes in English Universities Farid Meziane and Sunil Vadera School of Computing, Science and Engineering University of Salford, Salford M5

### Writing in the Computer Science Major

Writing in the Computer Science Major Table of Contents Introduction... 2 Statement of Purpose... 2 Revision History... 2 Writing Tasks in Computer Science... 3 Documentation... 3 Planning to Program:

### An Agile Formal Development Methodology

An Agile Formal Development Methodology George Eleftherakis 1 and Anthony J. Cowling 2 1 Computer Science Department City Liberal Studies Affiliated College of the University of Sheffield 13 Tsimiski Str.,

### Software Process for QA

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

### SysML vs. UML 2: A Detailed Comparison. Pascal Roques MoDELS 11 Tutorial October 16th, 2011

SysML vs. UML 2: A Detailed Comparison Pascal Roques MoDELS 11 Tutorial October 16th, 2011 The Speaker: Pascal Roques Senior Consultant & Trainer, > 20 years experience in modeling SADT, OMT, UML, SysML

### TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express

### Measurement Information Model

mcgarry02.qxd 9/7/01 1:27 PM Page 13 2 Information Model This chapter describes one of the fundamental measurement concepts of Practical Software, the Information Model. The Information Model provides

### Specification and Analysis of Contracts Lecture 1 Introduction

Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.

### Higher National Unit Specification. General information for centres. Database Design Fundamentals. Unit code: DV6E 34

Higher National Unit Specification General information for centres Unit title: Database Design Fundamentals Unit code: DV6E 34 Unit purpose: This Unit is designed to provide the candidate with the skills

### Software Engineering Transfer Degree

www.capspace.org (01/17/2015) Software Engineering Transfer Degree This program of study is designed for associate-degree students intending to transfer into baccalaureate programs awarding software engineering

### PRACTICE BOOK COMPUTER SCIENCE TEST. Graduate Record Examinations. This practice book contains. Become familiar with. Visit GRE Online at www.gre.

This book is provided FREE with test registration by the Graduate Record Examinations Board. Graduate Record Examinations This practice book contains one actual full-length GRE Computer Science Test test-taking

### What Is School Mathematics?

What Is School Mathematics? Lisbon, Portugal January 30, 2010 H. Wu *I am grateful to Alexandra Alves-Rodrigues for her many contributions that helped shape this document. The German conductor Herbert

### Home Assignment 4 OCL

Home Assignment 4 OCL This home assignment is about writing formal specifications using the Object Constraint Language. You will exercise formulating conditions/invariants on domain models that go beyond

### Software Development: The Waterfall Model

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

### Requirements engineering

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

### imtech Curriculum Presentation

imtech Curriculum Presentation Effective from Batch 2015 Onwards April, 2015 Course Structure Every course has a fixed number of credits associated with it (e.g., 4 credits) One has to earn 200 credits

### 3 Extending the Refinement Calculus

Building BSP Programs Using the Refinement Calculus D.B. Skillicorn? Department of Computing and Information Science Queen s University, Kingston, Canada skill@qucis.queensu.ca Abstract. We extend the

### Advanced Higher Mathematics Course Specification (C747 77)

Advanced Higher Mathematics Course Specification (C747 77) Valid from August 2015 This edition: April 2015, version 1.1 This specification may be reproduced in whole or in part for educational purposes

### Quality Management. Lecture 12 Software quality management

Quality Management Lecture 12 Software quality management doc.dr.sc. Marko Jurčević prof.dr.sc. Roman Malarić University of Zagreb Faculty of Electrical Engineering and Computing Department of Fundamentals

### Computer Science Information Sheet for entry in 2016. What is Computer Science?

Computer Science Information Sheet for entry in 2016 What is Computer Science? Computer Science is about understanding computer systems and networks at a deep level. Computers and the programs they run

### Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary

Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata

CS4507 Advanced Software Engineering Lecturer: Adrian O Riordan Office: Room G.71 WGB Email: a.oriordan cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs4507.html CS4507 Overview 5 Credit course

### Mathematical Reasoning in Software Engineering Education. Peter B. Henderson Butler University

Mathematical Reasoning in Software Engineering Education Peter B. Henderson Butler University Introduction Engineering is a bridge between science and mathematics, and the technological needs of mankind.

### Software Project Management Plan (SPMP)

Software Project Management Plan (SPMP) The basic template to be used is derived from IEEE Std 1058-1998, IEEE Standard for Software Project Management Plans. The following is a template for the SPMP.

### SESSION 3 AUDIT PLANNING

SESSION 3 AUDIT PLANNING Learning Objectives: identify and explain the need for planning an audit identify and describe the contents of the overall audit strategy and the audit plan explain the difference

### Formal Verification of Software

Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification

### Teaching Requirements through Interdisciplinary Projects

Teaching Requirements through Interdisciplinary Projects Deepti Suri, Eric Durant Department of Electrical Engineering and Computer Science Milwaukee School of Engineering 1025 North Broadway Milwaukee,

### Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for

### COMPUTER SCIENCE STUDENTS NEED ADEQUATE MATHEMATICAL BACKGROUND

COMPUTER SCIENCE STUDENTS NEED ADEQUATE MATHEMATICAL BACKGROUND Hasmik GHARIBYAN PAULSON Computer Science Department, California Polytechnic State University, 1 Grand Avenue, San Luis Obispo, CA 93407,

### Fundamental Computer Science Concepts Sequence TCSU CSCI SEQ A

Fundamental Computer Science Concepts Sequence TCSU CSCI SEQ A A. Description Introduction to the discipline of computer science; covers the material traditionally found in courses that introduce problem

### Lecture 9: Requirements Modelling

A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview

### The Software Lifecycle. Software Lifecycles

The Software Lifecycle Examining the phases of large-scale software development projects Jeff Stephenson Software Lifecycles Software Engineering vs. Programming What you have done for our past assignments

### TEACHING OBJECT ORIENTED PROGRAMMING AT THE INTRODUCTORY LEVEL. Mehmet C. OKUR *

149 TEACHING OBJECT ORIENTED PROGRAMMING AT THE INTRODUCTORY LEVEL Mehmet C. OKUR * ABSTRACT Teaching object oriented programming has become a rapidly expanding preference at various educational environments.

### 1. Programme title and designation Advanced Software Engineering

PROGRAMME APPROVAL FORM SECTION 1 THE PROGRAMME SPECIFICATION 1. Programme title and designation Advanced Software Engineering 2. Final award Award Title Credit Value MSc Advanced Software Engineering

### Communication Diagrams

Communication Diagrams Massimo Felici Realizing Use cases in the Design Model 1 Slide 1: Realizing Use cases in the Design Model Use-case driven design is a key theme in a variety of software processes

### Model Checking based Software Verification

Model Checking based Software Verification 18.5-2006 Keijo Heljanko Keijo.Heljanko@tkk.fi Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24

### 1. Software Engineering Overview

1. Overview 1. Overview...1 1.1 Total programme structure...1 1.2 Topics covered in module...2 1.3 Examples of SW eng. practice in some industrial sectors...4 1.3.1 European Space Agency (ESA), software

### Discrete Mathematics: Solutions to Homework (12%) For each of the following sets, determine whether {2} is an element of that set.

Discrete Mathematics: Solutions to Homework 2 1. (12%) For each of the following sets, determine whether {2} is an element of that set. (a) {x R x is an integer greater than 1} (b) {x R x is the square

### Automated Theorem Proving - summary of lecture 1

Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of

### A UML 2 Profile for Business Process Modelling *

A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University

### Chapter 4 Software Lifecycle and Performance Analysis

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

### output: communications management plan

Q1. (50 MARKS) A. List the nine PMBOK knowledge areas and give a one sentence description of the purpose of each knowledge area along with at least one output (document etc.) and its purpose. 1.Project

### Mathematics SL subject outline

Diploma Programme Mathematics SL subject outline First examinations 2014 This document explains the major features of the course, and outlines the syllabus and assessment requirements. More detailed information

### In this chapter, curriculum is defined so that readers can have a shared

01-Squires.qxd 8/19/2004 6:25 PM Page 3 1 Curriculum, Instruction, Assessment, and Standards In this chapter, curriculum is defined so that readers can have a shared understanding of this key term. Next,

### 4.1 Domain Analysis. Object-Oriented Software Engineering Practical Software Development using UML and Java

4.1 Domain Analysis Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 4: Developing The process by which a software engineer learns about the domain to better

### UML TUTORIALS THE COMPONENT MODEL

UML TUTORIALS THE COMPONENT MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 The component model illustrates the software components that will be used to build the system. These may be built up

### Lecture 3 Software Development Processes

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

### Examination SUBJECT. Version:

SUBJET Version: 1 Which of the following statements best describes Business nalysis? Business nalysis provides the reasoning for initiating a project. Business nalysis is the strategic part of the project

### Combining Services and Semantics on the Web

Combining Services and Semantics on the Web Katia Sycara, Massimo Paolucci and Naveen Srinivasan Software Agents Lab Carnegie Mellon University Pittsburgh, PA Mark Burstein Human-Centered Systems Group

### Agile Model-Based Systems Engineering (ambse)

Agile Model-Based Systems Engineering (ambse) Bruce Powel Douglass, Ph.D. Chief Evangelist, Global Technology Ambassador IBM Rational Bruce.Douglass@us.ibm.com Twitter: @BruceDouglass Yahoo: tech.groups.yahoo.com/group/rt-uml/

### Achieving ISO 9001 Certification for an XP Company

Achieving ISO 9001 Certification for an XP Company Graham Wright Development Team Coach Workshare 20 Fashion Street London, E1 6PX (44) 020 7539 1361 graham.wright@workshare.com Abstract It is generally

### Five High Order Thinking Skills

Five High Order Introduction The high technology like computers and calculators has profoundly changed the world of mathematics education. It is not only what aspects of mathematics are essential for learning,

### UML Models. Lecture 10, Part 1: Verification and Validation. UML Models [2] Non-UML models. Verification and Validation.

UML Models Lecture 10, Part 1: and Jennifer Campbell CSC340 - Winter 2007 Activity diagrams capture business processes involving concurrency and synchronization good for analyzing dependencies between

### In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data.

MATHEMATICS: THE LEVEL DESCRIPTIONS In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data. Attainment target

### Instructional Design Framework CSE: Unit 1 Lesson 1

Instructional Design Framework Stage 1 Stage 2 Stage 3 If the desired end result is for learners to then you need evidence of the learners ability to then the learning events need to. Stage 1 Desired Results

### A Classification of Model Checking-based Verification Approaches for Software Models

A Classification of Model Checking-based Verification Approaches for Software Models Petra Brosch, Sebastian Gabmeyer, Martina Seidl Sebastian Gabmeyer Business Informatics Group Institute of Software

### SC207 Software Engineering. Review Report: Producing More Reliable Software

SC207 Software Engineering Review Report: Producing More Reliable Software Guo Zaiyi (SA1) Lecturer: Dr. Edmond C. Prakash School of Computer Engineering Nanyang Technological University Abstract This

### Insurance Contract Boundaries - Proposal to replace the guaranteed insurability criteria

Insurance Contract Boundaries - Proposal to replace the guaranteed insurability criteria Background The IASB s Discussion Paper Preliminary Views on Insurance Contracts (the Discussion Paper) addressed

### The Model Checker SPIN

The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(

### Criteria for Accrediting Computer Science Programs Effective for Evaluations during the 2004-2005 Accreditation Cycle

Criteria for Accrediting Computer Science Programs Effective for Evaluations during the 2004-2005 Accreditation Cycle I. Objectives and Assessments The program has documented, measurable objectives, including

### 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

### Human-Automation Interaction Design and Evaluation Tools. Michael Feary, PhD

Human-Automation Interaction Design and Evaluation Tools Michael Feary, PhD Outline Human Automation interaction Research Challenges Research Approach Understanding Work domain analysis Visualization Prediction

### Software Specification and Testing

Software Specification and Testing Using UML and OCL Jonathan Milley Faculty of Engineering and Applied Science MUN St. John s, Newfoundland Email: jmilley@engr.mun.ca Dr. Dennis K. Peters Faculty of Engineering

### Project Management Process

Project Management Process Description... 1 STAGE/STEP/TASK SUMMARY LIST... 2 Project Initiation 2 Project Control 4 Project Closure 5 Project Initiation... 7 Step 01: Project Kick Off 10 Step 02: Project

### Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011

Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions

### Figure 4.0 CPMS Architecture

CHAPTER-4 SYSTEM DESIGN System architecture of our project can be explained by using following diagram. Figure 4.0 CPMS Architecture Basically our system is divided in to two parts 1]. Web Role 2]. Worker

### Datavetenskapligt Program (kandidat) Computer Science Programme (master)

Datavetenskapligt Program (kandidat) Computer Science Programme (master) Wolfgang Ahrendt Director Datavetenskap (BSc), Computer Science (MSc) D&IT Göteborg University, 30/01/2009 Part I D&IT: Computer

### Revised Version of Chapter 23. We learned long ago how to solve linear congruences. ax c (mod m)

Chapter 23 Squares Modulo p Revised Version of Chapter 23 We learned long ago how to solve linear congruences ax c (mod m) (see Chapter 8). It s now time to take the plunge and move on to quadratic equations.

### UML-based Test Generation and Execution

UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA jeanhartmann@siemens.com ABSTRACT

### NODAL ANALYSIS. Circuits Nodal Analysis 1 M H Miller

NODAL ANALYSIS A branch of an electric circuit is a connection between two points in the circuit. In general a simple wire connection, i.e., a 'short-circuit', is not considered a branch since it is known

Bundesverband des Deutschen Groß- und Außenhandels March 2007 Position of leading German business organisations on Commission staff working document European Credit system for Vocational Education and

### STUDENT OUTCOMES ASSESSMENT PLAN (SOAP)

MS PROGRAM IN C OMPUTER SCIENCE DEPARTMENT OF C OMPUTER SCIENCE College of Science and Mathematics STUDENT OUTCOMES ASSESSMENT PLAN (SOAP) I. Mission Statement The mission of the Department of Computer

### MAP-I Programa Doutoral em Informática. Rigorous Software Development

MAP-I Programa Doutoral em Informática Rigorous Software Development Unidade Curricular em Teoria e Fundamentos Theory and Foundations (UCTF) DI-UM, DCC-FCUP May, 2012 Abstract This text presents a UCTF

### Legal view of digital evidence

Chapter 2 Legal view of digital evidence Before developing a model or a theory, it is important to understand the requirements of the domain in which the model or the theory is going to be used. The ultimate

### Verification of Good Design Style of UML Models

Verification of Good Design Style of UML Models Bogumiła Hnatkowska 1 1 Institute of Applied Informatics, Wrocław University of Technology, Wybrzeże Wyspiańskiego 27, 50-370 Wrocław, Poland Bogumila.Hnatkowska@pwr.wroc.pl

### So You Want To Be a Requirements Analyst? 1

So You Want To Be a Requirements Analyst? 1 Karl E. Wiegers Process Impact www.processimpact.com Be it explicitly or not, someone always performs the role of requirements analyst on a software project.

### Sofware Requirements Engineeing

Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable

### Software Engineering Reference Framework

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

### TEACHING SOFTWARE ENGINEERING THROUGH COLLABORATIVE METHODS

TEACHING SOFTWARE ENGINEERING THROUGH COLLABORATIVE METHODS Dr. Alan R. Peslak, Penn State University, arp14@psu.edu ABSTRACT Engineering of Complex Software Systems (IST 412) is a senior level software

### Rigorous. Development. Software. Program Verification. & Springer. An Introduction to. Jorge Sousa Pinto. Jose Bacelar Almeida Maria Joao Frade

Jose Bacelar Almeida Maria Joao Frade Jorge Sousa Pinto Simao Melo de Sousa Rigorous Software Development An Introduction to Program Verification & Springer Contents 1 Introduction 1 1.1 A Formal Approach

### Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

### 24 Uses of Turing Machines

Formal Language and Automata Theory: CS2004 24 Uses of Turing Machines 24 Introduction We have previously covered the application of Turing Machine as a recognizer and decider In this lecture we will discuss

### Requirement Traceability in Topcased with the Requirements Interchange Format (RIF/ReqIF)

Requirement Traceability in Topcased with the Requirements Interchange Format (RIF/ReqIF) 1 Overview Submission for First Topcased Days Toulouse 2011 Andreas Graf, Michael Jastram One important step of

### MONROE TOWNSHIP PUBLIC SCHOOLS WILLIAMSTOWN, NEW JERSEY. Computer Animation. Grade 8

MONROE TOWNSHIP PUBLIC SCHOOLS WILLIAMSTOWN, NEW JERSEY Williamstown Middle School Computer Animation Grade 8 September 2010 Written by: Marilyn Kurz Supervisor of Curriculum and Instruction Lesley McGiboney

### INF5140: Specification and Verification of Parallel Systems

Motivation INF5140: Specification and Verification of Parallel Systems Lecture 1 Introduction: Formal Methods Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2009 Outline

### A NEW DISCIPLINE FOR WEB SYSTEM & REQUIREMENTS ENGINEERING FOR DEVELOPMENT OF WEB APPLICATION

A NEW DISCIPLINE FOR WEB SYSTEM & REQUIREMENTS ENGINEERING FOR DEVELOPMENT OF WEB APPLICATION Mrs. Swati Santosh Jamble Assistant Professor ATSS, College of Business Studies and Computer Application, Chinchwad