From requirements to specification Specification is a refinement of requirements Can be included together as Software Requirements Specifications (SRS)

Slides:



Advertisements
Similar presentations
Use Case Diagrams Damian Gordon.
Advertisements

Interaction Modeling for Testing We would generate the test cases based on our understanding of the interactions that may happen. The source is, again,
Use Case & Use Case Diagram
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
CS3773 Software Engineering Lecture 03 UML Use Cases.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Interaction Diagrams Activity Diagram State Machine Diagram
ECE 331 – Digital System Design
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Systems Analysis and Design in a Changing World, 6th Edition
Real-Time System Requirements & Design Specs Shaw - Chapters 3 & 4 Homework #2: 3.3.1, 3.4.1, Add Error states to Fig 4.1 Lecture 4/17.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Chapter 5: Specification Yuanfang Cai CS751 Jan 29, 2003.
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
Business Analysis and Essential Competencies
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
From requirements to specification Specification is a refinement of requirements Can be included together as Software Requirements Specifications (SRS)
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
Winter 2007, rev. 2008SEG Chapter 21 Chapter 2 Basic Principles.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Modeling as a Design Technique Chapter 2 Part 1: Modeling Concepts Object-Oriented Modeling and Design Byung-Hyun Ha
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
States.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
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)
Auburn University COMP 2710 Software Construction Use Case Analysis – Examples and Exercises Dr. Xiao Qin Auburn University.
Structured Analysis Methods and Tools
Requirements Specification
CompSci 280 S Introduction to Software Development
Systems Analysis and Design in a Changing World, Fourth Edition
Analysis Classes Unit 5.
Modeling for Testing Interactions
Using Use Case Diagrams
An Overview of Requirements Engineering Tools and Methodologies*
Requirements Techniques, cont.
DFD(Data Flow Diagram)
Paul Ammann & Jeff Offutt
Use Case Modeling - II Lecture # 27.
ATM OO Design and Implementation Case Study
Recall The Team Skills Refining the Use cases
Building System Models for RE
Dynamic Modeling of Banking System Case Study - I
Object-Oriented Static Modeling of the Banking System - I
Dynamic Modeling of Banking System Case Study - II
Model-Based Testing Model the system
SSA(D) vs OOAD M. Pickard CSC 513.
State Machine Diagrams
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
Unified Modeling Language
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Paul Ammann & Jeff Offutt
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Dynamic Modeling Lecture # 37.
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Real-Time Structured Analysis and Design Technique (RSTAD)
Uml diagrams In ooad.
Chapter 14. Activity Modeling for Transformational Systems
Presentation transcript:

From requirements to specification Specification is a refinement of requirements Can be included together as Software Requirements Specifications (SRS) Elaborate on the WHAT? the software system is supposed to do – As opposed to HOW it will do it – Should not be very constraining – Leave the details to the design

Software modeling Modeling techniques – visual, executable, general, readable, ….. Modeling – Behavior: Finite state machine (FSM), Petri net (PN), Sequence diagram, Activity diagram, and other UML diagrams – Data: Entity relationship diagram (ERD) – Process: Data flow diagram (DFD), Decision table, decision tree

The Finite State Machine Model (FSM) Used to describe: – State-based behavior of a process within a software systems. – Whole system as one process. FSM is used when the number of states the process can be in is small, and the next state of a process is determined by its current state and the inputs applied to the process. Typically, the process behavior is be described by the next process state and the output the process delivers after accepting an input.

Algebraic definition of an FSM

Properties of an FSM model Completeness Determinism Fully connected Strongly connected Minimal Can be verified

Complete FSM An FSM is said to be complete or completely specified, if and only if, at each state, there exists a transition for each input i   I. In other words, the FSM should react to every input at every state, and this reaction should be captured and specified in the model.

Complete FSM To produce a robust software system, it is desirable to specify what to do when both valid (good) and invalid (bad or unexpected) inputs are applied at each state of the system. Specification completeness would allow the implementation of a robust process, a process capable of dealing with both correct and wrong inputs.

Deterministic FSM An FSM is said to be deterministic, if and only if, at any state, the reaction to an input is unique and unambiguously determined. Uniqueness means that for the same input at the same state, the FSM should move to the same next state and delivers the same output, any time it executes.

Example Describe the FSM in both the algebraic and tabular forms. Can you describe in English what does this FSM specify? Add the necessary transitions and states to the FSM diagram. Is the FSM complete and deterministic? why? if incomplete, can you suggest a modification to complete it.

Limitations of the FSM Conditional behavior specification Time specification Data manipulation specification Concurrency specification The Extended FSM – EFSM

Timing and Timeout Specification We want to specify that if at a state S no input is present within t time units, a transition should take place and an output should be delivered. – This situation would occur in many real-time processes, and in user-oriented interfaces and systems. We would like to have certain delayed transitions, in which a time delay is specified instead of an input symbol. Presence of an input symbol or time delay is mutually exclusive.

Conditional Transitions To specify that, at a given state S, in addition to the availability of an input symbol, certain predicate(s) should evaluate to True – Predicated or conditional transitions. – Transition takes place only if the predicate evaluates to true. Modified definition: EFSM is said to be deterministic, if at the same state, for the same input and the same predicate, the same transition (next state and output) must occur.

Is this deterministic?

Variable Manipulation If at given state of the FSM, the reaction to the next input symbol must change a certain variable value needed in future transitions (i.e., in a predicate evaluation). For example, in a user interface driven process, at the logon state, the reaction to a bad login input may depend on the number of times a bad login input was performed earlier. – A variable holding a counter of the number of bad logins is needed.

Concurrency Specification Due to its inherently sequential nature, a basic finite state machine cannot model concurrent behaviors that may be needed to describe complex concurrent applications. Extensions to the FSM were added in the UML statechart diagram to model concurrent execution by specifying concurrent substates.

Example Suppose that at any state (except the initial idle state) if we do not receive an input within 10 time units, we want the system to be blocked for 5 time units and then move to the locked state again. Add the necessary transitions and states to the FSM diagram.

Example Partial behavior of ATM: – “First the user inserts the bank card in the ATM’s card reader. – Then, the ATM expects the user to enter the PIN within 20 seconds, otherwise the ATM will beep and eject the card. – If the PIN is valid, the user is allowed to proceed with a choice of banking transactions. – Otherwise if the PIN is invalid, the user can retry for a maximum of two more trials. – After 3 wrong trials, the card is confiscated by the ATM, and the user has to contact the main branch.”