Ch5: Software Specification. 1 Overview  Use of specifications  Specification qualities  Classification of specification styles  Verification of specifications.

Slides:



Advertisements
Similar presentations
Workflow Mining: Concepts and Algorithm Dr. Boleslaw Mikolajczak.
Advertisements

Software system modeling
Introduction to Software Engineering Lecture 5 André van der Hoek.
Software Requirements Engineering
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
OASIS Reference Model for Service Oriented Architecture 1.0
Software Engineering COMP 201
Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
© 2005 Prentice Hall3-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
CS351 © 2003 Ray S. Babcock Requirements What not How “The Pizza Experiment” 1994, 350 companies, 8000 software projects. 31% were canceled before they.
Chapter 1 Principles of Programming and Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
S R S S ystem R equirements S pecification Specifying the Specifications.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Chapter 5: Specification Yuanfang Cai CS751 Jan 29, 2003.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
2 1 Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
Ch. 51 Specification. Ch. 52 Outline Discussion of the term "specification" Types of specifications –operational Data Flow Diagrams (Some) UML diagrams.
111 Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract,
Winter 2007, rev. 2008SEG Chapter 21 Chapter 2 Basic Principles.
1 Specification Some slides for Chapter 5 Of Ghezzi, Jazayeri, and Mandrioli.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Ch. 51 Specification. Ch. 52 Outline Discussion of the term "specification" Types of specifications –operational Data Flow Diagrams (Some) UML diagrams.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
Chapter 7 The Object-Oriented Approach to Requirements.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Syntax and Semantics CIS 331 Syntax: the form or structure of the expressions, statements, and program units. Semantics: the meaning of the expressions,
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Software Requirements Specification (SRS)
System Requirements Specification
Prof. Hany H. Ammar, CSEE, WVU, and
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
Requirements Engineering Methods for Requirements Engineering Lecture-31.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
1 Specification A broad term that means definition Used at different stages of software development for different purposes Generally, a statement of agreement.
Chapter – 8 Software Tools.
Daniel Amyot, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of Waterloo);
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Miguel Garzón, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of.
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
1 M206 Chapter 31: An Overview of Software Development 1.Defining the problem 2.Analyzing the requirement – constructing initial structural model 3.Analyzing.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VII. System Specification (I)
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VIII. Specifications (II)
Chapter 4 – Requirements Engineering
An Overview of Requirements Engineering Tools and Methodologies*
Main issues: • What do we want to build • How do we write this down
SYSTEM ANALYSIS AND DESIGN
System Design.
System Requirements Specification
Documenting an Architecture
Members: Keshava Shiva Sanjeeve Kareena
PPT4: Requirement analysis
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Ch5: Software Specification

1 Overview  Use of specifications  Specification qualities  Classification of specification styles  Verification of specifications  Operational specifications  Data flow diagrams – Information/usage  Finite state machines – Event based  Petri nets – Resource base  Queuing and simulation models  ER and Object-oriented specifications  Logic and algebraic specifications  Specification notations and writing specifications

2 Software specification  Software systems must be specified. Why?  Requirements specification:  Design specification:  Module specification:  In general:  Specification vs. implementation: Specification – What  Implementation - How

3 Uses of specification  Statement of user’s needs:  Statement of the interface between the machine and the controlled environment:

4 Uses of specification (contd..)  Statement of requirements for implementation:  A reference point during maintenance:

5 Specification qualities  Clear, unambiguous, understandable:

6 Clear, unambiguous and understandable (example) Example: specification fragment for a word-processor Selecting is the process of designating areas of the document that you want to work on. Most editing and formatting actions require two steps: first you select what you want to work on, such as text or graphics; then you initiate the appropriate action.

7 Precise, unambiguous, clear (example) Another example (from a real safety-critical system) The message must be triplicated. The three copies must be forwarded through three different physical channels. The receiver accepts the message on the basis of a two-out-of-three voting policy.

8 Consistent Example: specification fragment for a word-processor The whole text should be kept in lines of equal length. The length is specified by the user. Unless the user gives an explicit hyphenation command, a carriage return should occur only at the end of a word.

9 Specification qualities (contd..)  Completeness:  Incremental:

10 Formal vs. informal specifications  Informal:  Formal:  Advantages of formal specifications:  Formal specifications may not be widely used:  Semi-formal: Notation without completely precise semantics:

11 Operational vs. Descriptive specifications  Operational specification: Describes desired behavior of the system:  Descriptional specification: Describes desired properties of system in a declarative manner.  Actual specifications may be a mix of operational and declarative styles

12 Verification of specifications

13 Verification of specifications  “Observe” dynamic behavior:  Analyze system properties: