Functional Modeling – Requirement Patterns (Problem Frames)

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Advertisements

MIS 2000 Class 20 System Development Process Updated 2014.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Chapter 4.
Systems Analysis and Design 9th Edition
Introduction To System Analysis and Design
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Lecture 13 Revision IMS Systems Analysis and Design.
Requirements Analysis Concepts & Principles
Software Requirements
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
SE 555 – Software Requirements & Specifications Introduction
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
2Object-Oriented Analysis and Design with the Unified Process Events and Use Cases  Use case  Activity the system carries out  Entry point into the.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: IEEE Standard, Daniel Amyot.
Test Design Techniques
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Chapter 2 Database System Concepts and Architecture
Chapter 6: The Traditional Approach to Requirements
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Introduction To System Analysis and design
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Data and Process Modeling
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
Requirements Analysis
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
An Introduction to Software Architecture
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Problem Analysis and Structure Models and Frames.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher with material from: K.E. Wiegers, D. Leffingwell & D. Widrig,
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
SOFTWARE DESIGN.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
10 Software Architecture CSCU 411 Software Engineering.
Conceptual Modelling – Behaviour
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
1 Introduction to Software Engineering Lecture 1.
The Systems Development Life Cycle
Illustrations and Answers for TDT4252 exam, June
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 6 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 6 The Traditional Approach to Requirements.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Dr.Basem Alkazemi
Modelling Class T07 Conceptual Modelling – Behaviour References: –Conceptual Modeling of Information Systems (Chapters 11, 12, 13 and 14)
Systems Analysis and Design in a Changing World, Fourth Edition
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Systems Analysis and Design 8th Edition
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
Problems and Frames III Recap and More Concepts. Definition “A problem frame is a kind of pattern. It define an intuitively identifiable problem in terms.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Daniel Amyot, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of Waterloo);
Miguel Garzón, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Systems Analysis and Design in a Changing World, Fourth Edition
Classifications of Software Requirements
Chapter 2 Database System Concepts and Architecture
An Introduction to Software Architecture
Presentation transcript:

Functional Modeling – Requirement Patterns (Problem Frames) SEG3101 (Fall 2010) Functional Modeling – Requirement Patterns (Problem Frames) Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher with material from: K.E. Wiegers, D. Leffingwell & D. Widrig, M. Jackson, I.K. Bray, B. Selic, Volere, Telelogic, D. Damian, S. Somé 2008, and D. Amyot 2008-2009

Table of Contents Generalities about modeling during requirements engineering Problem Frames Sub-domain types and typical patterns (Problem Frames) For each pattern, Problem Frame diagram and Kovits table Multi-frame patterns The section on Problem Frames is based on the information in the book by Bray (Section 4.5)

Modeling in requirements engineering (1) “Analysis” in the context of requirements engineering has to deal with the analysis of the problems in the problem domain, and how they could be solved by a proposed new organization of the problem domain (the problem domain to- be), normally including a new “system” to be developed. It is not only analysing the “old system” – therefore it is sometimes called Problem Domain Analysis (PDOA). The development of the new organization of the problem domain is sometimes called “external design” or e-design. This activity then normally leads to the development of the specification of the new “system” (the system-to-be). Both of these activities assume that enough illicitation activities have been performed in order to obtain all pertinent information about the existing problem domain and the possible solutions to the problems. How can models help ?

Modeling in requirements engineering: Example A Problem statement: A large building is used by a government department as workplace for its employees. There are offices, one large meeting place, and a cafeteria. The employees often have to meet other employees and therefore have to move around the building. The building only has stairs to move between floors. The problem is that the stairs are often overcrowded and people (in 2010) are tired of walking stairs up and down. Some budget for renovating the building is available. Proposed solution: Install one of the following systems: Lifts Escalators Paternosters (see http://en.wikipedia.org/wiki/Paternoster ) The development of the specification of the system-to-be implies a design (external design) decision: which kind of system should be selected. Possible criteria: performance, user interface For evaluating performance, one may establish a performance model of the problem domain (including the selected type of system), taking into account the structure of the building, and the capacity of the load in normal and peak hours (lunch time, or end of a large meeting).

Modeling in requirements engineering: Example B This is a continuation of Example A. Let us assume that the renovation included a set of elevators. And assume that the elevator hardware has already been selected. However, the behavior of the elevator control software must be determined in order to satisfy certain requirements. These requirements are (see book by Bray for more details): Certain requirements of the hardware (e.g. do not go from fast down movement to fast up) Certain user requirements (e.g. a lift should arrive when one pushes the button at a given floor) Proposed specification (see book by Bray for more details): The system specification includes a state machine model showing in which order commands are sent to the motor of a lift in response to inputs from buttons – this is a model of the system-to-be.

Modeling in requirements engineering – different types (1) One can distinguish different types of models: Structural models: define (essentially static) structure of the problem domain as-is, or the problem domain to-be (including the system-to-be) system-to-be including its interfaces and possibly some major components – but note: avoid internal design Behavioral models: define the dynamic behavior of the system-to-be – it is defined as a black box – behavior is defined by the interactions at the interfaces and their possible order of execution Note: The system-to-be is an “open system” that communicates with its environment Note: The problem domain can often be considered as a “closed system”, that is, a system that does not communicate with its environment. Therefore the behavior must be defined in terms of the interactions between the different components (entities) within the domain.

Modeling in requirements engineering – different types (2) The Behavioral models can be classified into Definition of example behaviors - possible techniques: Use cases Use case maps or UML Activity diagrams Sequence diagrams Definition of complete behavior (for a certain aspect) State machines UML Activity diagrams Performance models: The complete behavior models can be extended to include performance characteristics – thus providing the possibility of evaluating the expected performance of the system-to-be

Problem Domain Analysis (PDOA) using Problem Frames Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Problem Domain Analysis (PDOA) using Problem Frames The importance of considering the whole problem domain during requirements analaysis was stressed by Michael Jackson, who developed the Problem Frame approach to PDOA (1995, 2000) “A problem frame is a kind of pattern. It defines an intuitively identifiable problem in terms of its context and the characteristics of its domains, interfaces and requirements. Domain and interface characteristics are based on a classification of phenomena.”1 [1] Jackson, M.A., “Problem Frames”, Addison-Wesley, 2000, p.76

Problem Frames Idea: categorize and characterize patterns of problems (called “Problem Frames”) Useful for describing and understanding the problem domain For each pattern, some guidelines are given about how to develop requirements for this type of situation Basically, the idea is similar to the idea of design patterns Proposed methodology: given a problem, find the appropriate pattern and then develop requirements according to the guidelines for that pattern. Rationale: Some methods work well for certain classes of problems

Requirements patterns The following Problem Frames have been identified by Jackson (there may be more) : Information Continuous display Requested reports Control Required behaviour Commanded behaviour Workpiece Transformation Connection Each Problem Frame is characterized by a diagram that involves a certain number of sub-domains of the problem domain, the system- to-be (a special sub-domain), relations between these sub-domains and requirements (that may reference sub-domains)

Example: Information Frame Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Example: Information Frame An information system exists in order to provide information about some part of the problem domain. Developing software is building a machine … … to meet a customer’s needs (the requirements). … to solve a problem in a given domain (a part of the world) … information system the “machine” reports information function real world Requirements may constrain (impose upon) a sub-domain Relationships (interactions) between sub-domains (connection not explicit – shared phenomena) Requirements may reference (refer to) a sub-domain

Problem Frames - generalities Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Problem Frames - generalities One problem - one “machine” (agent that is part of the system-to-be) The machine is a general purpose computer specialized by software The machine may be distributed One real computer may support many “machines” Problem decomposition may result in many sub-problems and therefore many machines – the we have a multi-frame problem. The machine and the problem domain interact at an interface of shared phenomena (events, states, etc.) The customer’s requirement is for some effect (or property or behavior) in the problem domain Requirements add a constraint to the sub-domains’ intrinsic properties or behaviors

Types of sub-domains Different types of sub-domains are distinguished Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Types of sub-domains Different types of sub-domains are distinguished Only certain types are allowed as sub-domains in a given pattern:

Information Frame - version (b) Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Information Frame - version (b) Pattern (a) - continuous display: automatically provide information about some part of reality See above. Same as below but without the requests domain Pattern (b) - requested reports: provide information about some part of reality upon request requests (user) information system reports information function real world

Guideline for Information Frame (called Kovitz Table) Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Guideline for Information Frame (called Kovitz Table)

Workpiece Problem Frame Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Workpiece Problem Frame Pattern: perform directed operations upon objects that exist only within the system e.g., creating and editing documents, UML models, programs, other documents inclusion workpiece (document) workpiece system source of commands (user) operation effects

Transformation Pattern Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Transformation Pattern Example: program that produces a credit card statement, given a file of transactions Pattern: transform given input data to produce new output data according to some predefined rules transaction file credit card statement program statement file statement production rules output data trans- formation system input data mapping rules

Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Connection Pattern Resembles the transformation frame but there is a crucial difference Transformation system generates new data from old Connection system just moves (logical) data from A to B The requirements will concern the acceptable delays and distortions that the system may introduce destination connection system source requirements

Control Pattern, version (a) – Required Behavior Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Control Pattern, version (a) – Required Behavior Example: system that controls the various programs of a washing machine Pattern: control some part of reality according to defined rules program sequencer washing machine washing rules control system controlled domain required behavior

Control Pattern, version (b) – Commanded Behavior Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Control Pattern, version (b) – Commanded Behavior Pattern: control some part of reality according to operator commands Examples: engine management system, process control... control system controlled domain required behavior source of commands (user)

Information Problem – a multi-frame problem Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Information Problem – a multi-frame problem For an information system, it is the real world’s data that is significant An information system will often contain a model of the real world data – but note that there are then two models of the real world during the development of the requirements: the real world (model) and the model of the real world in the information system. They may vary in structure and value! requests (user) information system reports information function update mechanism real world

Example of a Multi-Frame Problem Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Example of a Multi-Frame Problem The example of the previous slide can be seen as a multi- frame problem. The update mechanism represents a connection pattern. The problem must be partitioned and (overlapping) frames fitted to the recognizable parts information system requests (user) update mechanism reports information function update rules real world

Frame-Based Guidelines (Kovitz Tables) Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Frame-Based Guidelines (Kovitz Tables) The classification into problem frames helps with the development process by Providing specific guidance for each type of problem Decomposing complex problems in a logical way Problem frames are used to characterise the problem The problem frame approach concentrates on the problem context, that is, the whole problem domain – not only the immediate context of the system-to-be, sometimes called the “solution system context” It also models the relationships between sub-domains Kovitz tables are used to determine what aspects need to be further investigated and documented Depending on the type of problem frame, identifies the aspects to be documented (to be illicitated) Suggest modelling techniques For more details, see book by Bray