CS 501: Software Engineering Fall 1999

Slides:



Advertisements
Similar presentations
Etter/Ingber Engineering Problem Solving with C Fundamental Concepts Chapter 4 Modular Programming with Functions.
Advertisements

© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn 2.4 The Z Notation [Reference: M. Spivey: The Z Notation, Prentice Hall]
Software Requirements
CSCI3170 Introduction to Database Systems
CS 501: Software Engineering Fall 2000 Lecture 10 Formal Specification.
1 SWE 513: Software Engineering Requirements II. 2 Details in Requirements Requirements must be specific Examples -- university admissions system Requests.
1 Programming for Engineers in Python Autumn Lecture 5: Object Oriented Programming.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 12 Requirements IV.
SWE Introduction to Software Engineering
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 8 Requirements I.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 8 Requirements II.
Schema Operators. State We can use the language of schemas to describe the state of a system, and operations upon it. Different aspects of the state --
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 10 Requirements 4.
Schemas. Nature of a schema: scope of names in a Z specification Names that are not confined inside schemas. Need to declare and called as global declaration.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
Promotion. Promotion is a structuring technique that may be used whenever the state of a system contains multiple, indexed instances of the same component.
The Schema Calculus. Schemas A notation specifying both system states and operations One way: S = [ declarations | predicate ] Means: The state components.
Software Requirements
Schema Operators. State We can use the language of schemas to describe the state of a system, and operations upon it. Different aspects of the state --
School of Technology 1 Z: Operations on Schemas David Lightfoot based on work of Andrew Simpson.
Software Engineering Chapter 6 Software requirements
CS 501: Software Engineering Fall 2000 Lecture 12 Object-Oriented Design II.
CS 501: Software Engineering Fall 2000 Lecture 6 (a) Requirements Analysis (continued) (b) Requirements Specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Web Database Design Session 6 and 7 Matakuliah: Web Database Tahun: 2008.
CS 4310: Software Engineering Lecture 3 Requirements and Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
CSCI3170 Introduction to Database Systems
Logic Specification and Z Schema 3K04 McMaster. Basic Logic Operators Logical negation ( ¬ ) Logical conjunction ( Λ or & ) Logical disjunction ( V or.
Adaptive Processes © Adaptive Processes Simpler, Faster, Better Software Requirements.
Formal Methods and Models
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 10 Techniques for Requirements Definition and Specification II.
Model-Based Specification CIS 376 Bruce R. Maxim UM-Dearborn.
1 CMPT 275 Software Engineering Requirements Gathering Activity Janice Regan,
17 May 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Formal.
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
Course: Software Engineering ©Alessandra RussoUnit 2: States and Operations, slide number 1 States and Operations This unit aims to:  Define: State schemas.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Math – What is a Function? 1. 2 input output function.
ECSE Software Engineering 1I HO 4 © HY 2012 Lecture 4 Formal Methods A Library System Specification (Continued) From Specification to Design.
Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.
Disjunctive Normal Form CS 270: Math Foundation of CS Jeremy Johnson.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
SWE 513: Software Engineering
Software Engineering Chapter 6 Software requirements Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
CS 501: Software Engineering Fall 1999 Lecture 4 (a) Documentation (b) Requirements Analysis.
1 Specification A broad term that means definition Used at different stages of software development for different purposes Generally, a statement of agreement.
Proposal 12: Contents Metaphor –Briefly explains the metaphor that I have chose, and why I think it is a good one to use. Interface Design –Lists the objects.
CS 501: Software Engineering Fall 1999 Lecture 5 (a) Requirements Analysis (continued) (b) Requirements Specification.
1 Software Requirements Descriptions and specifications of a system.
Lecture Five The Project 1. Wen Yu BNUZ LIMS Description Design a simple Library Information Management System (LIMS) for an university The system includes.
Software Testing CS II: Data Structures & Abstraction
Chapter 1 Connections to Algebra Review
Types and Characteristics of Requirements
User-Written Functions
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Presentation on Software Requirements Submitted by
Input Space Partition Testing CS 4501 / 6501 Software Testing
(State) Model-Based Approaches II Software Specification Lecture 36
SNS College of Engineering Coimbatore
Component Based Software Engineering
CS 501: Software Engineering Fall 1999
Propositional Calculus: Boolean Functions and Expressions
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
Identifying functions and using function notation
Introduction To software engineering
Section 1.1 Functions and Change
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

CS 501: Software Engineering Fall 1999 Lecture 8 Formal Specification II

Administration Assignment 2: Instructions for submitting Assignment 2

Schemas Schema:  The basic unit of formal specification.  Describes admissible states and operations of a system.

LibSys: An Example of Z Library system:  Stock of books  Registered users.  Each copy of a book has a unique identifier.  Some books on loan; other books on shelves available for loan.  Maximum number of books that any user may have on loan.

LibSys: Operations  Issue a copy of a book to a reader.  Reader return a book.  Add a copy to the stock.  Remove a copy from the stock.  Inquire which books are on loan to a reader.  Inquire which readers has a particular copy of a book.  Register a new reader.  Cancel a reader's registration.

LibSys Level of Detail: Assume given sets: Copy, Book, Reader Global constant: maxloans

Domain and Range ran m X dom m Y y x m : X Y dom m = { x  X :  y  Y  x y} ran m = { y  Y :  x  X  x y}

LibSys: Schema for Abstract States Library stock : Copy Book issued : Copy Reader shelved : F Copy readers: F Reader shelved  dom issued = dom stock shelved  dom issued = Ø ran issued  readers r : readers • #(issued  {r}) maxloans <

Schema Inclusion LibDB stock : Copy Book readers: F Reader LibLoans issued : Copy Reader shelved : F Copy r : Reader • #(issued  {r}) maxloans shelved  dom issued = Ø <

Schema Inclusion (continued) Library LibDB LibLoans dom stock = shelved  dom issued ran issued  readers

Schemas Describing Operations Naming conventions for objects: Before: plain variables, e.g., r After: with appended dash, e.g., r' Input: with appended ?, e.g., r? Output: with appended !, e.g., r!

Operation: Issue a Book  Inputs: copy c?, reader r?  Copy must be shelved initially: c?  shelved  Reader must be registered: r?  readers  Reader must have less than maximum number of books on loan: #(issued  {r?}) < maxloans  Copy must be recorded as issued to the reader: issued' = issued  {c? r?}  The stock and the set of registered readers are unchanged: stock' = stock; readers' = readers

Operation: Issue a Book stock, stock' : Copy Book issued, issued' : Copy Reader shelved, shelved': F Copy readers, readers' : F Reader c?: Copy; r? :Reader [See next slide]

Operation: Issue a Book (continued) [See previous slide] shelved  dom issued = dom stock shelved'  dom issued' = dom stock' shelved  dom issued = Ø; shelved'  dom issued' = Ø ran issued  readers; ran issued'  readers' r : readers  #(issued  {r}) maxloans r : readers'  #(issued'  {r}) maxloans c?  shelved; r?  readers; #(issued  {r?}) < maxloans issued' = issued  {c? r?} stock' = stock; readers' = readers < <

Schema Decoration Issue Library Library' c? : Copy; r? : Reader c?  shelved; r?  readers #(issued  {r?}) < maxloans issued' = issued  {c? r?} stock' = stock; readers' = readers

Schema Decoration Issue Library c? : Copy; r? : Reader c?  shelved; r?  readers #(issued  {r?}) < maxloans issued' = issued  {c? r?} stock' = stock; readers' = readers

The Schema Calculus Schema inclusion Schema decoration Schema disjunction: AddCopy AddKnownTitle  AddNewTitle Schema conjunction: AddCopy EnterNewCopy  AddCopyAdmin Schema negation Schema composition = ^ = ^

Requirements Definition and Analysis System and Software design Implementation and Unit Testing Integration and System Testing Operation and Maintenance

The Requirements Process Feasibility Study Requirements Analysis Requirements Definition Requirements Specification Feasibility Report System Models Definition of Requirements Requirements Document Specification of Requirements