CIS 771: Software Specifications. Lecture 1: Course Overview
|
|
|
- Roland Watkins
- 9 years ago
- Views:
Transcription
1 CIS 771: Software Specifications Lecture 1: Course Overview Copyright 2001, Matt Dwyer, John Hatcliff, and Rod Howell. The syllabus and all lectures for this course are copyrighted materials and may not be used in other course settings outside of Kansas State University in their current form or modified form without the express written permission of one of the copyright holders. During this course, students are prohibited from selling notes to or being paid for taking notes by any person or commercial firm without the express written permission of one of the copyright holders. Software is... one of the most complex man made artifacts I believe the [spreadsheet product] I m working on now is far more complex than a 747 (jumbo jet airliner) -- Chris Peters (Microsoft, 1992) It s different [from other engineering disciplines] in that we take on novel tasks every time. The number of times [civil engineers] make mistakes is very small. And at first you think, what s wrong with us? It s because it s like we re building the first skyscraper every time. -- Bill Gates (Microsoft, 1992) CIS Course Overview 2 1
2 Software is... one of the most complex man made artifacts Microsoft Word is Microsoft NT 1 million lines of code 16 million lines of code Even pacemakers have 100 thousand lines of code but perhaps software complexity shouldn t even be measured in terms of lines of code, but instead, in terms of number of states CIS Course Overview 3 States >> SLOC The size of a system is sometimes more accurately expressed using a semantic point of view the number of different states a system can reach an integer has 4.2 billion possible values an object with 2 ints and a boolean field has 40 thousand quadrillion values How about Windows NT? CIS Course Overview 4 2
3 Software is critical to the conduct of modern life. Process Control (oil, gas, water, ) Transportation (air traffic control, ) Health Care (patient monitoring, device control ) Finance (automatic trading, bank security ) Defense (intelligence, weapons control, ) Manufacturing (precision milling, assembly, ) Failing software costs money and lives! CIS Course Overview 5 Failing Software Costs Money Thousands of dollars for each minute of factory down-time Huge losses of monetary and intellectual investment Rocket boost failure (e.g., Arianne 5) Business failures associated with buggy software (Ashton-Tate dbase) CIS Course Overview 6 3
4 Failing Software Costs Lives Potential problems are obvious: Software used to control nuclear power plants Air-traffic control systems Spacecraft launch vehicle control. A well-known and tragic example Therac-25 radiation machine failures CIS Course Overview 7 Software is... becoming the dominant component of society s infrastructure. In the future Everything will be monitored/controlled networked watches, clothes, autonomous vehicles, intelligent highways, virtual X rather than physical X These systems may not have manual backup no workarounds for y2k-like problems Failures will be very costly and dangerous CIS Course Overview 8 4
5 Priorities are changing From: Bill Gates Sent: Tuesday, January 15, :22 PM To: Microsoft and Subsidiaries: All FTE Subject: Trustworthy computing Trustworthy Computing is computing that is as available, reliable and secure as electricity, water services and telephony. In the past, we've made our software and services more compelling for users by adding new features and functionality We've done a terrific job at that, but all those great features won't matter unless customers trust our software. So now, when we face a choice between adding features and resolving security issues, we need to choose security. These principles should apply at every stage of the development cycle of every kind of software we create Bill CIS Course Overview 9 Software is... what you ll be building after graduation. You ll be developing systems in in the context we just mentioned Given the importance of software you may be regulated, licensed you may be liable for errors your job may depend on your ability to produce reliable systems CIS Course Overview 10 5
6 Software Development Cycle Requirements Analysis Design Code and Unit Test Subsystem Test System Test CIS Course Overview 11 Rigorous/Iterative Development Requirements Planning Design Implementation Evaluation Testing Deployment CIS Course Overview 12 6
7 Current Software Development Methods Are Insufficient Testing samples execution behavior, misses some Systematic Inspections don t scale very well, although they are thorough Rigorous development processes helping but most organizations don t apply them Formal methods are becoming more popular CIS Course Overview 13 A Formal Specification is The expression in some formal language and at some level of abstraction of a collection of properties that some system should satisfy [van Lamsweerde] Formal language syntax can be mechanically checked for correctness Abstraction above the level of source code (e.g., C is a formal language) many useful levels of abstraction CIS Course Overview 14 7
8 A Formal Specification is The expression in some formal language and at some level of abstraction of a collection of properties that some system should satisfy [van Lamsweerde] Properties often expressed in some logic, but not necessarily must have a well-defined semantics to be useful Satisfaction generally, should be able to tell if system satisfies the specification ideally (but not usually), satisfaction is decided mechanically CIS Course Overview 15 Beware! The notion of formality is often misunderstood (formal vs. rigorous) The definition of formal method varies (see Jacky p. 5) The effectiveness of formal methods is highly debated The application of formal methods in industry is spotty CIS Course Overview 16 8
9 Why Use Formal Methods? A number of reasons (see [van Lamsweerde]) Forces you to think about issues in a systematic way Leads to better design Earlier detection of inconsistencies and flaws A precise reference to see if requirements are satisfied Gives direction to latter development phases (leading to coding) Provide a basis for reuse via specification matching Precise documentation within a team of developers CIS Course Overview 17 Formal Methods: Our Perspective Specifications should not be write-only Too often, specs are not consulted after initial writing Specifications should be leveragable in multiple ways At the very least, checked for syntactic well-formedness Used to generate test cases Used as input for specs coming later in the development Semantically analyzable If my system satisfies a spec, can a tool automatically infer that it satisfies some additional properties or invariants We are mainly interested in strong formal methods -- formal methods with tool-supported semantic analysis CIS Course Overview 18 9
10 Iterative Artifact Development Specification Artifact/Information Evaluation CIS Course Overview 19 Possible Development Cycle Requirements Design Code CIS Course Overview 20 10
11 In this course... You will study 3 specification languages Alloy: high-level semantic design UML/Statecharts/OCL: code structure and simple behavioral properties ESC/Java: a code-level spec language for specifying Pre/post conditions, invariants, simple data constraints You will use tools for each language to check syntax, simulate, and verify semantic properties properties You will apply each one of these language/tool approaches to a realistic software problem CIS Course Overview 21 Formal Methods in Cycle Requirements Alloy Alloy, UML/OCL Design ESC/Java Code CIS Course Overview 22 11
12 Alloy object model describes set of configurations each has a value for each set relation an odd instance Daniel Jackson s family An Alloy model Name mum! name daniel Man wife Person wife Woman An instance of the above Alloy model?? mum claudia mum! judy judy From Daniel Jackson mum tim wife emily mum CIS Course Overview 23 Alloy Textual Constraints Syntax Example Constraints formulas e1 in e2 e1 = e2 subset equality all v: S F F true when any atom in S substituted for v expressions all exprs denote sets e1 + e2 e1 & e2 e. r navigation e. +r From Daniel Jackson union intersection transitive closure no incest all p: Person p.wife.mum!= p.mum nobody s her own (grand)mother no p: Woman p in p.+mum our family some daniel, tim: Person daniel.mum = tim.mum && daniel.wife.mum = tim.wife.mum CIS Course Overview 24 12
13 UML, OCL, and USE Unified Modeling Language Class diagrams describe structure of object model Object Constraint Language Enrich class diagrams constrain field values and associations UML-based Specification Environment Define object models Generate model instances Check for constraint violations CIS Course Overview 25 Class Diagram with Constraints Student public int ID; public int gpa; 0..* teaches 0..* Faculty public int ID; Undergraduate Graduate advisor/advisee 0..* 0..* committee CIS Course Overview 26 13
14 USE Specification model Academia class Student attributes ID : Integer gpa : Integer End class Undergraduate < Student class Graduate < Student class Faculty attributes ID : Integer End association teaches between Student[*] Faculty[*] End association advisor between Graduate[*] Faculty[1] end association committee between Graduate[*] Faculty[3-5] end constraints context Student inv gpabound: self.gpa >= 0 & self.gpa <= 4 inv uniqueid: Student.allInstances->forAll( s1, s2 s1!=s1 implies s1.id!= s2.id) context Graduate inv advoncommittee: self.committee->includesall( self.advisee) CIS Course Overview 27 Extended Static Checking Specifications of behavior in terms of code Java fields, methods, parameters Trades off expressiveness for automation Halting is undecideable in general Lots of properties can be checked in a reasonable amount of time Introduce specifications as ESC annotations into the code base CIS Course Overview 28 14
15 ESC/Java class Bag { /*@ non_null */ int[] a; int n; //@ invariant 0 <= n && //@ n <= a.length; //@ requires input!= null; Bag(int[] input) { n = input.length; a = new int[n]; System.arraycopy(input, 0, a, 0, n); } } //@ requires n >= 1; int extractmin() { int m = Integer.MAX_VALUE; int mindex = 0; for (int i = 0; i < n; i++) { if (a[i] < m) { mindex = i; m = a[i]; } } n--; a[mindex] = a[n]; return m; } CIS Course Overview 29 Summary Software is becoming pervasive and very complex Current development techniques are inadequate Formal methods are not a panacea, but we believe they will be necessary We will learn to use several different formal methods each for different development stages We will emphasize strong formal methods because they are leveragable in multiple ways, and thus more likely to be used in practice. CIS Course Overview 30 15
16 Acknowledgements The quotes on slide 2 are from The Way of Z, by Jonathan Jacky, Cambridge University Press, The definition of formal specification on slide 11 and 12 is taken from Formal Specification: a Roadmap, by Axel van Lamsweerde, in Future of Software Engineering (Limerick, Ireland). June, ACM Press. Slides 17 and 18 showing Alloy examples are adapted from Daniel Jackson s slides used in a talk given at Kansas State in Spring The JML examples are taken from the examples distributed with ESC/Java. CIS Course Overview 31 16
Rigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 5 Disclaimer. These notes are derived from notes originally developed by Joseph Kiniry, Gary Leavens, Erik Poll,
Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007
Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 The Java Type System By now, you have seen a fair amount of Java. Time to study in more depth the foundations of the language,
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
Rigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 1 Important Facts Office Hours: Thu 3-4pm, or by appointment Office: CIWW 407 Course web site: http://cs.nyu.edu/wies/teaching/rsd-13
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
Requirements for Software Deployment Languages and Schema
Requirements for Software Deployment Languages and Schema Richard S. Hall, Dennis Heimbigner, Alexander L. Wolf Software Engineering Research Laboratory Department of Computer Science University of Colorado
Appendix... B. The Object Constraint
UML 2.0 in a Nutshell Appendix B. The Object Constraint Pub Date: June 2005 Language The Object Constraint Language 2.0 (OCL) is an addition to the UML 2.0 specification that provides you with a way to
Execution of A Requirement Model in Software Development
Execution of A Requirement Model in Software Development Wuwei Shen, Mohsen Guizani and Zijiang Yang Dept of Computer Science, Western Michigan University {wwshen,mguizani,zijiang}@cs.wmich.edu Kevin Compton
Testing, Debugging, and Verification
Testing, Debugging, and Verification Testing, Part II Moa Johansson 10 November 2014 TDV: Testing /GU 141110 1 / 42 Admin Make sure you are registered for the course. Otherwise your marks cannot be recorded.
Requirements / Use Case Specification
Object - Oriented Programming & Design Part IX - UML Use Case Diagrams CSCI 4448 - Spring 2002 Requirements / Use Case Specification Your way of echoing to the customer what you heard him/her say he/she
Rigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical
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: [email protected] Dr. Dennis K. Peters Faculty of Engineering
Rigorous Software Engineering Hoare Logic and Design by Contracts
Rigorous Software Engineering Hoare Logic and Design by Contracts Simão Melo de Sousa RELEASE (UBI), LIACC (Porto) Computer Science Department University of Beira Interior, Portugal 2010-2011 S. Melo de
Enhance Production in 6 Steps Using Preventive Maintenance
Enhance Production in 6 Steps Using Preventive Maintenance 1 Enhance Production in 6 Steps Using Preventive Maintenance Preventive Maintenance (PM) is 30% less expensive than reactive approaches Using
A methodology for secure software design
A methodology for secure software design Eduardo B. Fernandez Dept. of Computer Science and Eng. Florida Atlantic University Boca Raton, FL 33431 [email protected] 1. Introduction A good percentage of the
The Course. http://www.cse.unsw.edu.au/~cs3153/
The Course http://www.cse.unsw.edu.au/~cs3153/ Lecturers Dr Peter Höfner NICTA L5 building Prof Rob van Glabbeek NICTA L5 building Dr Ralf Huuck NICTA ATP building 2 Plan/Schedule (1) Where and When Tuesday,
Model Driven Security: Foundations, Tools, and Practice
Model Driven Security: Foundations, Tools, and Practice David Basin, Manuel Clavel, and ETH Zurich, IMDEA Software Institute Thursday 1st, 2011 Outline I 1 Models Analysis. Types. 2 The Object Constraint
Debugging. Common Semantic Errors ESE112. Java Library. It is highly unlikely that you will write code that will work on the first go
Debugging ESE112 Java Programming: API, Psuedo-Code, Scope It is highly unlikely that you will write code that will work on the first go Bugs or errors Syntax Fixable if you learn to read compiler error
Using Alloy and UML/OCL to Specify Run-Time Configuration Management: A Case Study
Using Alloy and UML/OCL to Specify Run-Time Configuration Management: A Case Study Geri Georg Agilent Laboratories, Agilent Technologies, 4380 Zeigler Road, Fort Collins, Colorado 80525 [email protected]
Formal Verification and Linear-time Model Checking
Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging
Software Model Checking: Theory and Practice
Software Model Checking: Theory and Practice Lecture: Specification Checking - LTL Model Checking Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
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
User experience storyboards: Building better UIs with RUP, UML, and use cases
Copyright Rational Software 2003 http://www.therationaledge.com/content/nov_03/f_usability_jh.jsp User experience storyboards: Building better UIs with RUP, UML, and use cases by Jim Heumann Requirements
Enterprise Application Development Using UML, Java Technology and XML
Enterprise Application Development Using UML, Java Technology and XML Will Howery CTO Passage Software LLC 1 Introduction Effective management and modeling of enterprise applications Web and business-to-business
TouchDevelop App Development on Mobile Devices
TouchDevelop App Development on Mobile Devices Nikolai Tillmann, Michal Moskal, Jonathan de Halleux, Manuel Fahndrich, Sebastian Burckhardt Microsoft Research One Microsoft Way Redmond WA, USA {nikolait,micmo,jhalleux,maf,sburckha}@microsoft.com
Semantic Analysis: Types and Type Checking
Semantic Analysis Semantic Analysis: Types and Type Checking CS 471 October 10, 2007 Source code Lexical Analysis tokens Syntactic Analysis AST Semantic Analysis AST Intermediate Code Gen lexical errors
A comparison of BON and Hodge-Mock. oriented software development methodologies
A comparison of BON and Hodge-Mock software development methodologies December 2012 Abbas Naderi Afooshteh ([email protected]) 91211054 Sharif University of Technology 1. Introduction This whitepaper intends
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:
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
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)
Squashing the Bugs: Tools for Building Better Software
Squashing the Bugs: Tools for Building Better Software Stephen Freund Williams College The Blue Screen of Death (BSOD) USS Yorktown Smart Ship 27 Pentium-based PCs Windows NT 4.0 September 21, 1997: data
Model Driven Business Architecture. Pete Rivett CTO, Adaptive [email protected]
Model Driven Business Architecture Pete Rivett CTO, Adaptive [email protected] Copyright Adaptive Ltd. 2001 Outline What is business architecture? User needs Information needs (metamodels) Use of
Datacenter Management Optimization with Microsoft System Center
Datacenter Management Optimization with Microsoft System Center Disclaimer and Copyright Notice The information contained in this document represents the current view of Microsoft Corporation on the issues
Managing Successful Software Development Projects Mike Thibado 12/28/05
Managing Successful Software Development Projects Mike Thibado 12/28/05 Copyright 2006, Ambient Consulting Table of Contents EXECUTIVE OVERVIEW...3 STATEMENT OF WORK DOCUMENT...4 REQUIREMENTS CHANGE PROCEDURE...5
Functional Programming. Functional Programming Languages. Chapter 14. Introduction
Functional Programming Languages Chapter 14 Introduction Functional programming paradigm History Features and concepts Examples: Lisp ML 1 2 Functional Programming Functional Programming Languages The
Four strategies to help move beyond lean and build a competitive advantage
Discrete Manufacturing Four strategies to help move beyond lean and build a competitive advantage For companies that make complex, configurable products, lean manufacturing principles have become an integral
Title: Topic 3 Software process models (Topic03 Slide 1).
Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski
Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method
Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming
22C:22 (CS:2820) Object-Oriented Software Development
The University of Iowa 22C:22 (CS:2820) Object-Oriented Software Development Fall 2012 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this complexity
1. What are Data Structures? Introduction to Data Structures. 2. What will we Study? CITS2200 Data Structures and Algorithms
1 What are ata Structures? ata Structures and lgorithms ata structures are software artifacts that allow data to be stored, organized and accessed Topic 1 They are more high-level than computer memory
An Automated Development Process for Interlocking Software that. Cuts Costs and Provides Improved Methods for Checking Quality.
An Automated Development Process for Interlocking Software that Cuts Costs and Provides Improved Methods for Checking Quality and Safety Authors: Claes Malmnäs Prover Technology Rosenlundsgatan 54 118
Formally speaking: How to apply OCL
Page 1 of 6 Copyright IBM Corporation 2004 http://www-106.ibm.com/developerworks/rational/library/5390.html Search for: within All of dw Use + - ( ) " " Search help IBM home Products & services Support
Construct by Contract: Construct by Contract: An Approach for Developing Reliable Software
Construct by Contract: Construct by Contract: An Approach for Developing Reliable Software Juan Jose Mendoza Santana Dissertation 2013 Erasmus Mundus MSc in Dependable Software Systems Department of Computer
Data Modeling Basics
Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy
Relational Databases
Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute
CMSC 435: Software Engineering Course overview. Topics covered today
CMSC 435: Software Engineering Course overview CMSC 435-1 Topics covered today Course requirements FAQs about software engineering Professional and ethical responsibility CMSC 435-2 Course Objectives To
The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)
The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling
From Workflow Design Patterns to Logical Specifications
AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 1 http://dx.doi.org/10.7494/automat.2013.17.1.59 Rados³aw Klimek* From Workflow Design Patterns to Logical Specifications 1. Introduction Formal methods in software
.NET and J2EE Intro to Software Engineering
.NET and J2EE Intro to Software Engineering David Talby This Lecture.NET Platform The Framework CLR and C# J2EE Platform And Web Services Introduction to Software Engineering The Software Crisis Methodologies
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
Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville
Introduction to Software Engineering Adopted from Software Engineering, by Ian Sommerville To discuss the factors that led to software failures and the phenomenon of the Software Crisis ; To introduce
Software Code Quality Checking (SCQC) No Clearance for This Secret: Information Assurance is MORE Than Security
Software Code Quality Checking (SCQC) No Clearance for This Secret: Information Assurance is MORE Than Security Nominee International Security Executives (ISE ) Information Security Project of the Year
Ensure Merge Accuracy in Continuous Integration Development Environments
Ensure Merge Accuracy in Continuous Integration Development Environments 2 Defect Challenges in Continuous Integration Development Modern software development is rapidly moving to incremental development
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
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
Compiler I: Syntax Analysis Human Thought
Course map Compiler I: Syntax Analysis Human Thought Abstract design Chapters 9, 12 H.L. Language & Operating Sys. Compiler Chapters 10-11 Virtual Machine Software hierarchy Translator Chapters 7-8 Assembly
Software Engineering. What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software engineering and to explain its importance To set out the answers
Lecture 1. Basic Concepts of Set Theory, Functions and Relations
September 7, 2005 p. 1 Lecture 1. Basic Concepts of Set Theory, Functions and Relations 0. Preliminaries...1 1. Basic Concepts of Set Theory...1 1.1. Sets and elements...1 1.2. Specification of sets...2
Model Checking based Software Verification
Model Checking based Software Verification 18.5-2006 Keijo Heljanko [email protected] Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24
Mastering Microsoft Project 2013
Course 55054: Mastering Microsoft Project 2013 Page 1 of 9 Mastering Microsoft Project 2013 Course 55054: 2 days; Instructor-Led Introduction This two-day, instructor-led course is intended for individuals
Getting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW
UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW John C. Knight, Jane C. Prey, & Wm. A. Wulf Department of Computer Science University of Virginia Charlottesville, VA 22903
An Introduction to Software Engineering
An Introduction to Software Engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance To set out the
An Introduction to Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1
An Introduction to Software Engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance To set out the
SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki
SE464/CS446/ECE452 Software Life-Cycle and Process Models Instructor: Krzysztof Czarnecki 1 Some of these slides are based on: Lecture slides by Ian Summerville accompanying his classic textbook software
Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...
Software Engineering Introduction... Columbus set sail for India. He ended up in the Bahamas... The economies of ALL developed nations are dependent on software More and more systems are software controlled
Continuous integration for databases using
Continuous integration for databases using Red Wie Sie Gate die tools Microsoft SQL An overview Continuous integration for databases using Red Gate tools An overview Contents Why continuous integration?
Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled
Static Analysis 15-654: Analysis of Software Artifacts Jonathan Aldrich 1 Find the Bug! Source: Engler et al., Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, OSDI
Federated, Generic Configuration Management for Engineering Data
Federated, Generic Configuration Management for Engineering Data Dr. Rainer Romatka Boeing GPDIS_2013.ppt 1 Presentation Outline I Summary Introduction Configuration Management Overview CM System Requirements
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
What makes a good process?
Rob Davis Everyone wants a good process. Our businesses would be more profitable if we had them. But do we know what a good process is? Would we recognized one if we saw it? And how do we ensure we can
Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal [email protected]
Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal [email protected] Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC
Lecture 3 Topics on Requirements Engineering
Lecture 3 Topics on Requirements Engineering Some material taken from the Tropos project at U of T Copyright Yijun Yu, 2005 Course information Let s vote Course Project/Final Exam 50-50 or 60-40? Midterm/Final
Semantic Errors in SQL Queries: A Quite Complete List
Semantic Errors in SQL Queries: A Quite Complete List Christian Goldberg, Stefan Brass Martin-Luther-Universität Halle-Wittenberg {goldberg,brass}@informatik.uni-halle.de Abstract We investigate classes
Advanced Software Engineering ( -Formal specification, verification, transformation, and application-
Advanced Software Engineering ( -Formal specification, verification, transformation, and application- Shaoying Liu Faculty of Computer and Information Sciences Hosei Univeresity, Tokyo, Japan Email: [email protected]
Chapter 13 Configuration Management
Chapter 13 Configuration Management Using UML, Patterns, and Java Object-Oriented Software Engineering Outline of the Lecture Purpose of Software Configuration Management (SCM)! Motivation: Why software
Interface Design Rules
Interface Design Rules HCI Lecture 10 David Aspinall Informatics, University of Edinburgh 23rd October 2007 Outline Principles and Guidelines Learnability Flexibility Robustness Other Guidelines Golden
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
ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS
ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS Hasni Neji and Ridha Bouallegue Innov COM Lab, Higher School of Communications of Tunis, Sup Com University of Carthage, Tunis, Tunisia. Email: [email protected];
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
IV. The (Extended) Entity-Relationship Model
IV. The (Extended) Entity-Relationship Model The Extended Entity-Relationship (EER) Model Entities, Relationships and Attributes Cardinalities, Identifiers and Generalization Documentation of EER Diagrams
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications Khusbu Bubna RC Junit concrete test cases suitable for execution on the implementation. The remainder
Introduction to Software Engineering
What is Software Engineering Introduction to Software Engineering Prof. Lyle N. Long [email protected] http://www.personal.psu.edu/lnl Sources of Material What is software? Software Engineering, 7 th Edition,
A Software Engineering Senior Design Project Inherited From a Partially Implemented Software Engineering Class Project
Session F4D A Software Engineering Senior Design Project Inherited From a Partially Implemented Software Engineering Class Project Pearl Brazier, Alejandro Garcia, Abel Vaca University of Texas Pan American,
