Software Engineering Chapter 10 Formal Specification Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.

Slides:



Advertisements
Similar presentations
Formal Specifications
Advertisements

Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
Software Engineering Introduction to Flowcharts Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Formal Specification - Techniques for the unambiguous specification of software Objectives: To explain why formal specification techniques help discover.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 1 Object-Oriented.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
1 درس مهندسي نيازمندي استاد دكتر عبداله زاده دانشجو خيرالنسا مرچانت Meaning of Requirement.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Operational Semantics.
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
The meaning of requirements Vahid Jalali October 2007 Amirkabir university of technology, Department of computer engineering and information technology,
The Islamic University of Gaza Faculty of Engineering Numerical Analysis ECIV 3306 Introduction.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 91 Formal Specification l Techniques for the unambiguous specification of software.
Computing Fundamentals 2 Overview Lecturer: Patrick Browne Room [KA] , Lab [KA] Based on Chapter 19. A Logical approach to Discrete Math.
Software Engineering Chapter 6 Software requirements
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 10 Slide 1 Formal Specification.
MCA –Software Engineering Kantipur City College. Topics include  Formal Methods Concept  Formal Specification Language Test plan creation Test-case.
Unit 8 Combinational Circuit Design and Simulation Using Gates Ku-Yaw Chang Assistant Professor, Department of Computer Science.
Unit 11 Latches and Flip-Flops Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Critical Systems Specification 3 Formal Specification.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Formal Specification.
Unit 12 Registers and Counters Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh.
Unit 11 Latches and Flip-Flops Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh.
BACHELOR OF ARTS IN ECONOMICS Econ 114 – MATHEMATICAL ECONOMICS Pangasinan State University Social Science Department CHAPTER 1 INTRODUCTION TO MATHEMATICAL.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Compositional IS Development Framework Application Domain Application Domain Pre-existing components, legacy systems Extended for CD (ontologies) OAD Methods.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Formal Specification l Techniques for the unambiguous specification of software.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
©Ian Sommerville 2000Software Engineering, Chapter 10 Slide 1 Chapter 10 Formal Specification.
Computer Science School of Computing Clemson University Introduction to Formal Specification Murali Sitaraman Clemson University.
Chapter Five An Introduction to Design Patterns Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Chapter 9 Formal Specifications.
Software Engineering Chapter 16 User Interface Design Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
WXGE6103 Software Engineering Process and Practice Formal Specification.
Lecture 7: Requirements Engineering
Chapter Two The UML – Unified Modeling Language Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
Unit 13 Analysis of Clocked Sequential Circuits Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
Chapter 18 The Observer Pattern Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh.
(SRS) SOFTWARE REQUIREMENT SPECIFICATION(SRS) 1. Topics to be discussed.. What is an SRS? Purpose of an SRS Who reads the SRS? Who writes the SRS? Characteristics.
SWEN 5130Requirements Engineering Algebraic Specification Slide 1 Algebraic Specification u Specifying abstract types in terms of relationships between.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
Chapter 21 Design Patterns Reviewed from the New Perspective of Object-Oriented Design Ku-Yaw Chang Assistant Professor, Department.
Menu Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
Software Engineering Chapter 6 Software requirements Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
©Ian Sommerville 2000Software Engineering, Chapter 10 Slide 1 Chapter 10 Formal Specification.
Chapter Eight Expanding Our Horizons Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering.
Chapter Ten The Bridge Pattern Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh.
Software Engineering Lecture 10: System Engineering.
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
1 Sections 3.1 – 3.2a Basic Syntax and Semantics Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
IS301 – Software Engineering V:
Formal Specification.
Chapter 12 User Interface Design
Formal Specifications
Model Base Validation Techniques for Software
Department of Computer Science Abdul Wali Khan University Mardan
Requirements Document
Algebraic Specification Software Specification Lecture 34
Presentation transcript:

Software Engineering Chapter 10 Formal Specification Ku-Yaw Chang Assistant Professor Department of Computer Science and Information Engineering Da-Yeh University

2Ku-Yaw ChangFormal Sepcification Objectives Understand why formal specification techniques help discover problems in system requirements; Understand the use of algebraic techniques of formal specification to define interface specifications; Understand how formal, model-based formal techniques are used for behavioral specfication.

3Ku-Yaw ChangFormal Sepcification Preamble Traditional engineering disciplines Mathematical analysis Mathematical analysis A routine part of the process of developing and validating a product design Software engineering has not followed the same path Formal methods are not widely used Formal methods are not widely used

4Ku-Yaw ChangFormal Sepcification Preamble Formal methods Mathematical representation of software Mathematical representation of software Expressed in a language whose vocabulary, syntax and semantics are formally defined Expressed in a language whose vocabulary, syntax and semantics are formally defined Most software developments do not use formal methods Successful software engineering Successful software engineering Market changes Market changes Quality vs. time to market Limited scope of formal methods Limited scope of formal methods Limited scalability of formal methods Limited scalability of formal methods

5Ku-Yaw ChangFormal Sepcification Contents 10.1 Formal specification in the software process 10.2 Sub-system interface specification 10.3 Behavioral specification

6Ku-Yaw ChangFormal Sepcification Formal Specification Formal specification After system requirements After system requirements Before detailed system design Before detailed system design A tight feedback loop between A tight feedback loop between the detailed requirements specification the formal specification One of the main benefits Ability to uncover problems and ambiguities in the system requirements Ability to uncover problems and ambiguities in the system requirements

7Ku-Yaw ChangFormal Sepcification Specification and Design

8Ku-Yaw ChangFormal Sepcification Formal Specification in the Software Process

9Ku-Yaw ChangFormal Sepcification Software Development Costs with Formal Specification

10Ku-Yaw ChangFormal Sepcification Formal Specification Two fundamental approaches An algebraic approach An algebraic approach In terms of operations and their relationships A model-based approach A model-based approach A model is built using mathematical constructs

11Ku-Yaw ChangFormal Sepcification Formal Specification Different languages

12Ku-Yaw ChangFormal Sepcification Contents 10.1 Formal specification in the software process 10.2 Sub-system interface specification 10.3 Behavioral specification

13Ku-Yaw ChangFormal Sepcification Sub-system Interface Specification A large system Be decomposed into sub-systems Be decomposed into sub-systems Sub-systems make use of other sub-systems Define sub-system interfaces An essential part of the specification process An essential part of the specification process Sub-systems can be designed and implemented independently Sub-systems can be designed and implemented independently Clear and unambiguous sub-system interface specifications Clear and unambiguous sub-system interface specifications

14Ku-Yaw ChangFormal Sepcification Sub-system Interface Objects

15Ku-Yaw ChangFormal Sepcification Structure of an Object Specification Introduction Defines the sort (the type name) and declares other specifications that are used. Defines the sort (the type name) and declares other specifications that are used.Description Informally describes the operations on the type. Informally describes the operations on the type.Signature Defines the syntax of the operations in the interface and their parameters. Defines the syntax of the operations in the interface and their parameters.Axioms Defines the operation semantics by defining axioms which characterize behavior. Defines the operation semantics by defining axioms which characterize behavior.

16Ku-Yaw ChangFormal Sepcification The Structure of an Algebraic Specification

17Ku-Yaw ChangFormal Sepcification A Simple List Specification

18Ku-Yaw ChangFormal Sepcification Contents 10.1 Formal specification in the software process 10.2 Sub-system interface specification 10.3 Behavioral specification

The End