UNIT-II CHAPTER-4 SOFTWARE REQUIREMENT DEFINITION

Slides:



Advertisements
Similar presentations
Specifying Languages Our aim is to be able to specify languages for use in the computer. The sketch of the FSA is easy for us to understand, but difficult.
Advertisements

Specifying Languages Our aim is to be able to specify languages for use in the computer. The sketch of an FSA is easy for us to understand, but difficult.
Modeling Main issues: What do we want to build How do we write this down.
Semantics Static semantics Dynamic semantics attribute grammars
ICE1341 Programming Languages Spring 2005 Lecture #6 Lecture #6 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
ISBN Chapter 3 Describing Syntax and Semantics.
CS 355 – Programming Languages
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Capturing the requirements
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
Describing Syntax and Semantics
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
The Software Development Life Cycle: An Overview
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Winter 2007SEG2101 Chapter 71 Chapter 7 Introduction to Languages and Compiler.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Chapter 7 System models.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Introduction to Software Engineering Lecture 1.
Chapter 5: Sequences, Mathematical Induction, and Recursion 5.9 General Recursive Definitions and Structural Induction 1 Erickson.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
ISBN Chapter 3 Describing Semantics.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Semantics In Text: Chapter 3.
Formal Methods.
Mathematical Preliminaries
8-1 Compilers Compiler A program that translates a high-level language program into machine code High-level languages provide a richer set of instructions.
Specifying Languages Our aim is to be able to specify languages for use in the computer. The sketch of an FSA is easy for us to understand, but difficult.
1 / 48 Formal a Language Theory and Describing Semantics Principles of Programming Languages 4.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Programming Languages and Design Lecture 2 Syntax Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
CMSC 345 Fall 2000 Requirements Expression. How To Express Requirements Often performed best by working top- down Express general attributes of system.
Discrete Mathematics Lecture # 22 Recursion.  First of all instead of giving the definition of Recursion we give you an example, you already know the.
Overview of Previous Lesson(s) Over View  A token is a pair consisting of a token name and an optional attribute value.  A pattern is a description.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Copyright © 2011 Pearson Education Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall & Kendall Global Edition 9.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Analysis Classes Unit 5.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 6 The Traditional Approach to Requirements.
Main issues: • What do we want to build • How do we write this down
Data Dictionaries ER Diagram.
Abstract descriptions of systems whose requirements are being analysed
Specifying Languages Our aim is to be able to specify languages for use in the computer. The sketch of the FSA is easy for us to understand, but difficult.
Dynamic Modeling Lecture # 37.
Department of Computer Science Abdul Wali Khan University Mardan
Software Design Methodologies and Testing
From Use Cases to Implementation
Presentation transcript:

UNIT-II CHAPTER-4 SOFTWARE REQUIREMENT DEFINITION SOFTWARE ENGINEERING UNIT-II CHAPTER-4 SOFTWARE REQUIREMENT DEFINITION

Already we discussed in class room. 2.FORMAL SPECIFICATION TECHNIQUES 1. SOFTWARE REQUIREMENTS SPECIFICATION (SESSION 1 – SESSION 12) Already we discussed in class room. 2.FORMAL SPECIFICATION TECHNIQUES 2.1 RELATIONAL NOTATION 2.2 STATE-ORIENTED NOTATIONS 3. LANGUAGES AND PROCESSORS FOR REQUIREMENT SPECIFICATION 3.1 PSL/PSA(Problem Statement Language/Analyzer) 3.2 RSL/REVS(Requirement Statement Language/Requirement Engineer Validation System) 3.3 SADT(Structured Analysis and Design Technique) 3.4 SSA(structured System Analysis) 3.5 Gist

It is based on the concerts of entities and attributes. 2.Formal Specifications Techniques This techniques used for mathematical equation. In this techniques we have two notations. 2.1. Relational Notations It is based on the concerts of entities and attributes. Entities are named elements and attributes are relations of entities. In this we have 2.1.1 Implicit Equation 2.1.2 Recurrence Equation 2.1.3 Algebraic Axioms 2.1.4 Regular Expressions

Example: Fibonacci Series F(0) = 0 F(l)=l 2.1.1 Implicit Equation Implicit equations specify the properties of a solution without stating a solution method. Matrix inversion is specified as follows M x M ' = I + E Matrix inversion has the property that the original matrix (M) multiplied by its inverse (M1 ) yield an identify matrix, I denotes the identify matrix and E specifies allowable computational errors 2.1.2 Recurrence Relations Its consists of an initial part called basis and one or more recursive parts Example: Fibonacci Series F(0) = 0 F(l)=l F(N) = F(N-1) + F(N-2) for N>1

It is used to specify the properties of abstract data types 2.1.3 Algebraic Axioms It is used to specify the properties of abstract data types Example: Stack ( Stk is of type STACK, itm is of type ITEM) l. EMPTY(NEW) = true 2. EMPTY(PUSH(Stk,itm)) = false . 3. POP(NEW) = error 4. TOP(NEW) = error 5. POP(PUSH(stk,itm)) = stk 6. TOP(PUSH(stk,itm)) = item

The rules for forming regular expressions are as follows. Axioms: The basis symbols in the alphabet of interest form regular expressions. Alternation: If Rl and R2 are regular expressions, then (R1/R2) is a regular expression. Composition: If Rl and R2 are regular expressions, then (R1.R2) is a RE Closure: If Rl is a regular expressions, then (Rl)* is a regular expression. Completeness: Nothing else is a regular expression. Example: (a(b/c)) denotes {ab,ac}

2. 2 STATE ORIENTED NOTATION 2. 2. 1 Decision Table 2. 2 2.2 STATE ORIENTED NOTATION 2.2.1 Decision Table 2.2.2 Events Tables 2.2.3 Transition Tables 2.2.4 Finite State Mechanisms 2.2.5 Petri Nets 2.2.1 Decision tables Decision tables are widely used in data processing application. A decision table is segmented into four quadrants, condition state, condition entry, action states and action entry Example:

2.2.2 Event tables specify actions to be taken when events occur under different set of conditions. Event tables are viewed as two- dimensional tables or of higher dimension. Example: 2.2.3 Transition Table Transition Tables are used to specify changes in the state of a system as a function of next state Current State Current Input INPUT A B S0 S0 S1 S1 S1 S0 (next state)

2 .2.4 Finite State Mechanisms: utilize data flow diagrams in which the data streams are specified using regular expressions and the actions in the processing nodes are specified using transition labels.

2.2.5 Petri Net It represent the technique and systematic methods have been developed for synthesizing and analysing petri nets. Petri nets were invented to overcome the limitations of finite state mechanisms in specifying parallelism.

3.1 PSL/PSA(Problem Statement Language/Analyzer) 3. LANGUAGES AND PROCESSORS FOR REQUIREMENT SPECIFICATION 3.1 PSL/PSA(Problem Statement Language/Analyzer) Originally developed for data processing applications. Widely used in other applications. In PSL, system descriptions can be divided into eight major aspects: System input/output flow. System structure Data structure Data derivation System size and volume System dynamics System properties Project management

Real time process control systems Major Components are 3.2 RSL/REVS(Requirement Statement Language/Requirement Engineer Validation System) Real time process control systems Major Components are 1.A translator for RSL. 2.A centralized database, the abstract semantic model(ASSM) 3.A set of automated tools for processing information in ASSM. 3.3 SADT(Structured Analysis and Design Technique) Interconnection structure of any large, complex system. Not restricted to software systems.

Two similar versions of SSA are 3.4 SSA(Structured System Analysis) Two similar versions of SSA are Gane and Sarson version used in data processing applications that have data base requirements. DeMarco version suited to data flow analysis of software systems. 3.5 Gist Object-oriented specification and design. Refinement of specifications into source code.

THANK YOU