Modeling Issues Modeling Enterprises. Modeling

Similar documents
REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE

Security Risk Management Domain Model

Lecture 7: Requirements Modeling III. Formal Methods in RE

Introduction to Formal Methods

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Darshan Institute of Engineering & Technology for Diploma Studies

Techniques for the unambiguous specification of software

XIV. The Requirements Specification Document (RSD)

Model-based Transition from Requirements to High-level Software Design

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.

Natural Language Specification

Modelling in Enterprise Architecture. MSc Business Information Systems

Requirements Engineering. Version October 2016

Requirements Validation and Negotiation

Foundations of Software Engineering

Requirement Analysis

Software specification and modelling. Requirements engineering

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

Recommended Practice for Software Requirements Specifications (IEEE)

Formal Structural Requirements. Functional Requirements: Why Formal? Revisiting SADT. A Formalization of RML/Telos. A Survey of Formal Methods

Ch 4: Requirements Engineering. What are requirements?

Unit 1 Introduction to Software Engineering

Intro to Modelling and UML

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Lecture 5: Requirements Specifications

A Collaborative User-centered Approach to Fine-tune Geospatial

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18

Lecture 6: Requirements Engineering

Introduction to Interactive Systems. Overview. What Is an Interactive System? SMD158 Interactive Systems Spring 2005

Human Error Taxonomy

Chapter 4 Objectives

Methods for requirements engineering

Lecture 4: Goals and Scenarios. System context. Usage facet. IT system facet. Core activities. Negotiation. Requirements artefacts

Introduction to Modeling

Adaptability Evaluation at Software Architecture Level

Using FDAF to bridge the gap between enterprise and software architectures for security

What is a Data Model?

Extension and integration of i* models with ontologies

Software Architecture and Design I

Unit Wise Questions. Unit-1 Concepts

Requirements Validation and Negotiation


A Comparative Analysis of Architecture Frameworks

Capturing Contextual Variability in i* Models

Reusability of Requirements Ontologies. By Rania Alghamdi

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.

COSC 3351 Software Design. Software Design Methodology. Edgar Gabriel. Spring Outline

Variability Implementation Techniques for Platforms and Services (Interim)

What is Software Architecture

Software Architecture in Action. Flavio Oquendo, Jair C Leite, Thais Batista

Chapter 6 Architectural Design. Chapter 6 Architectural design

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT

MONIKA HEINER.

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Architectural Blueprint

OMG Systems Modeling Language Tutorial May, 2012

SOFTWARE ARCHITECTURES UNIT I INTRODUCTION AND ARCHITECTURAL DRIVERS

Quality Software Requirements By J. Chris Gibson

A Software Safety Argument Pattern Catalogue

Requirements Engineering Process

The Zachman Framework

UNIT-I Introduction of Object Oriented Modeling

Requirements Engineering

Ontology-based Architecture Documentation Approach

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Standards for Writing Requirements and Specifications. Drs. Schesser & Simone BME 496 Capstone II

Comparative Study of Software Quality Attributes in Perspective of Usability with Generalized Classification

Chapter 2 Overview of the Design Methodology

SE 1: Software Requirements Specification and Analysis

SC32 WG2 Metadata Standards Tutorial

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it

Semantic Web. Ontology Pattern. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau

AADL Requirements Annex Review

Semantics-Based Integration of Embedded Systems Models

UNIT II Requirements Analysis and Specification & Software Design

Presenter: Dong hyun Park

Chapter 1 Introduction

System Name Software Architecture Description

A Goal-Oriented Approach for Optimizing Non-Functional Requirements in Web Applications

Requirements Validation and Negotiation (cont d)

Components Based Design and Development. Unit 3: Software Design Quick Overview

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Framework for Improvement in Cleanroom Software Engineering Thesis Submitted in the partial fulfillment of requirements for the award of the degree

Applying UML to System Engineering Some Lessons Learned Murray Cantor Principal Consultant

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches

Lecture 8 Requirements Engineering

Requirements. Requirements. Types of Requirement. What Is a Requirement?

Vocabulary-Driven Enterprise Architecture Development Guidelines for DoDAF AV-2: Design and Development of the Integrated Dictionary

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

Requirements Modelling and Software Systems Implementation Using Formal Languages

SE 2730 Final Review

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

Lecture 9 Requirements Engineering II

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

Specification-based Testing

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

Reading assignment: Reviews and Inspections

HCI in the software process

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

UNIVERSITY OF CALGARY. Requirements Engineering for Software Product Lines. By Chethana Kuloor

Transcription:

Modeling Issues Modeling Enterprises SE502: Software Requirements Engineering Modeling Modeling can guide elicitation: It can help you figure out what questions to ask It can help to surface hidden requirements i.e. does it help you ask the right questions? Modeling can provide a measure of progress: Completeness of the models -> completeness of the elicitation (?) i.e. if we ve filled in all the pieces of the models, are we done? Modeling can help to uncover problems Inconsistency in the models can reveal interesting things e.g. conflicting or infeasible requirements e.g. confusion over terminology, scope, etc e.g. disagreements between stakeholders Modeling can help us check our understanding Reason over the model to understand its consequences Does it have the properties we expect? Animate the model to help us visualize/validate the requirements SE502: Software Requirements Engineering 2 1

Choice of Modeling Notation natural language extremely expressive and flexible useful for elicitation, and to annotate models for readability poor at capturing key relationships semi-formal notation captures structure and some semantics UML fits in here can perform (some) reasoning, consistency checking, animation, etc. E.g. diagrams, tables, structured English, etc. mostly visual - for rapid communication with a variety of stakeholders formal notation precise semantics, extensive reasoning possible Underlying mathematical model (e.g. set theory, FSMs, etc) very detailed models (may be more detailed than we need) RE formalisms are for conceptual modeling, hence differ from most computer science formalisms Source: Adapted from Loucopoulos & Karakostas, 1995, p72-73 SE502: Software Requirements Engineering 3 Properties of Modeling Notations Implementation Independence does not model data representation, internal organization, etc. Abstraction extracts essential aspects e.g. things not subject to frequent change Formality unambiguous syntax rich semantic theory Constructability can construct pieces of the model to handle complexity and size construction should facilitate communication Ease of analysis ability to analyze for ambiguity, incompleteness, inconsistency Traceability ability to cross-reference elements ability to link to design, implementation, etc. Executability can animate the model, to compare it to reality Minimality No redundancy of concepts in the modeling scheme i.e. no extraneous choices of how to represent something Source: Adapted from Loucopoulos & Karakostas, 1995, p77 SE502: Software Requirements Engineering 4 2

Modeling Principles Facilitate Modification and Reuse Experienced analysts reuse their past experience they reuse components (of the models they have built in the past) they reuse structure (of the models they have built in the past) Smart analysts plan for the future they create components in their models that might be reusable they structure their models to make them easy to modify Helpful ideas: Abstraction strip away detail to concentrate on the important things Decomposition (Partitioning) Partition a problem into independent pieces, to study separately Viewpoints (Projection) Separate different concerns (views) and describe them separately Modularization Choose structures that are stable over time, to localize change Patterns Structure of a model that is known to occur in many different applications SE502: Software Requirements Engineering 5 Modeling Principle 1: Partitioning Partitioning captures aggregation/part-of relationship Example: goal is to develop a spacecraft partition the problem into parts: guidance and navigation; data handling; command and control; environmental control; instrumentation; etc Note: this is not a design, it is a problem decomposition actual design might have any number of components, with no relation to these sub-problems However, the choice of problem decomposition will probably be reflected in the design SE502: Software Requirements Engineering 6 3

Modeling Principle 2: Abstraction Abstraction A way of finding similarities between concepts by ignoring some details Focuses on the general/specific relationship between phenomena Classification groups entities with a similar role as members of a single class Generalization expresses similarities between different classes in an is_a association Example: requirement is to handle faults on the spacecraft might group different faults into fault classes based on location: instrumentation fault, communication fault, processor fault, etc based on symptoms: no response from device; incorrect response; self-test failure; etc... Source: Adapted from Davis, 1990, p48 and Loucopoulos & Karakostas, 1995, p78 SE502: Software Requirements Engineering 7 Modeling Principle 3: Projection Projection: separates aspects of the model into multiple viewpoints similar to projections used by architects for buildings Example: Need to model the requirements for a spacecraft Model separately: safety commandability fault tolerance timing and sequencing Etc Note: Projection and Partitioning are similar: Partitioning defines a part of relationship Projection defines a view of relationship Partitioning assumes a the parts are relatively independent Source: Adapted from Davis, 1990, p48-51 SE502: Software Requirements Engineering 8 4

Survey of Modeling Techniques Modeling Enterprises Goals & objectives Organizational structure Tasks & dependencies Agents, roles, intentionality Organization Modeling: i*, SSM, ISAC Goal Modeling: KAOS, CREWS Modeling Information & Behaviour Information Structure Behavioral views Scenarios and Use Cases State machine models Information flow Timing/Sequencing requirements Modeling System Qualities (NFRs) All the ilities : Usability, reliability, evolvability, safety, security, performance, interoperability, Information Modeling: E-R, Class Diagrams Structured Analysis: SADT, SSADM, JSD Object Oriented Analysis: OOA, OOSE, OMT, UML Formal Methods: SCR, RSML, Z, Larch, VDM Quality Tradeoffs: QFD, win-win, AHP, Specific NFRs: Timed Petri nets (performance) Task models (usability) Probabilistic MTTF (reliability) SE502: Software Requirements Engineering 9 Summary Modeling plays a central role in RE Allows us to study a problem systematically Allows us to test our understanding Many choices for modeling notation Properties Principles All models are inaccurate (to some extent) Use successive approximation but know when to stop perfecting the model Every model is created for a purpose The purpose is not usually expressed in the model So every model needs an explanation SE502: Software Requirements Engineering 10 5

GOAL ORIENTATED MODELING SE502: Software Requirements Engineering 11 Motivation Facilitate common understanding of the system Support requirements elicitation with goals Identify and evaluate alternative realizations Detect irrelevant requirements Justification of requirements with rationales Proof of completeness for requirements specifications Goals have greater stability than requirements SE502: Software Requirements Engineering 12 6

The Term Goal An intention with regard to the objectives, properties or use of the system SE502: Software Requirements Engineering 13 AND/OR Goal Decomposition AND-decomposition of a goal: decomposition of a goal G into a set of sub-goals G1,, Gn n>1 Goal G is satisfied if and only if all sub-goals are satisfied OR-decomposition of a goal: decomposition of a goal into a set of sub-goals G1,, Gn n >1 Goal G is satisfied if one of sub-goals is satisfied SE502: Software Requirements Engineering 14 7

Goal Dependencies Requires -dependency G1 requires G2 if the satisfaction of G2 is a prerequisite for satisfying G1 Support -dependency G1 supports G2 if the satisfaction of G1 contributes positively to satisfying G2 Obstruction dependency G1 obstructs G2 if satisfying of G1 hide the satisfaction of G2 Conflict dependency A conflict between G1 and G2 exists if satisfying G1 excludes satisfying G2 and vice-versa Goal equivalence Satisfying G1 leads to the satisfaction of the G2 and vice-versa SE502: Software Requirements Engineering 15 DOCUMENTING GOALS A Template for Documenting Goals Possible: goal documentation using unstructured natural language Better: using templates with attributes Unique identifiers for goals Management attributes References to the context Specific goal attributes Possibility to include additional information SE502: Software Requirements Engineering 16 8

Seven Rules for Documenting Goals 1. Document goals concisely (but not to briefly) 2. Use the active voice 3. Document stakeholder's intention precisely 4. Decompose high-level goals 5. Clearly define the value of the goal 6. Document rationales for a goal 7. Avoid unnecessary restrictions; try to weaken existing restrictions Apply these rules already during requirements elicitation to avoid the elicitation of inappropriate requirements! SE502: Software Requirements Engineering 17 Goal Modeling Languages and Methods Model-based goal documentation helps understanding and communicating goals complements template-based documentation (each technique provides a different level of abstraction) Common goal modeling languages include Goaloriented Requirements Language (GRL), i* and KAOS Goal modeling method consists of language, rules, guidelines and management practices Common goal modeling methods include Goal-Based Requirements Analysis Method (GBRAM), Goal-Driven Change method (GDC), the i* framework, the KAOS framework, the Non-Functional Requirements (NFR) framework SE502: Software Requirements Engineering 18 9

Documenting Goals Using AND/OR Trees and AND/OR Graphs AND/OR trees Consist of nodes representing goal decompositions Hierarchical, each node has exactly one super-goal Graphical notation indicates type of decomposition (AND/OR) AND/OR graphs Some sub-goals contribute to the satisfaction of more than one super goal AND/OR graphs are acyclic SE502: Software Requirements Engineering 19 Notation of AND/OR goal trees SE502: Software Requirements Engineering 20 10

Example of goal modeling using AND/OR trees SE502: Software Requirements Engineering 21 Example of a goal model documented using an AND/OR graph SE502: Software Requirements Engineering 22 11

Example of goal modeling with extended AND/OR graphs SE502: Software Requirements Engineering 23 i* (i-star) Based on the modeling language GRL AND/OR trees for documenting goal decompositions Modeling constructs for quality aspects Basic concepts Objects Dependencies Relationships SE502: Software Requirements Engineering 24 12

i* (i-star) (cont d) Objects Actor: person or system having a relationship to the system to be developed Goal: describes state in the world the actor would like to achieve Task: particular way of doing something, typically consists of a number of steps (or subtasks) Resource: physical or informational entity the actor needs to achieve a goal or perform a task Softgoal: condition in the world the actor would like to achieved that is not sharply defined, typically a quality attribute of another element SE502: Software Requirements Engineering 25 i* (i-star) (cont d) Dependencies between actors in i* Goal dependency: actor depends on another actor to achieve a goal Task dependency: actor depends on another actor to perform a task Resource dependency: actor depends on availability of a resource provided by another actor Softgoal dependency: actor depends on another actor to perform a task that leads to the achievement of a softgoal SE502: Software Requirements Engineering 26 13

i* (i-star) (cont d) Relationships between Objects in i* Means-end link: documents which elements (softgoals, tasks and/or resources) contribute to achieving a goal Contribution link: documents positive or negative influence on softgoals by tasks or other softgoals Task decomposition link: documents the essential elements (sub-tasks) of a task SE502: Software Requirements Engineering 27 i* (i-star) (cont d) Two kinds of goal models Strategic Dependency Model (SDM) Documents dependencies between actors Documents on which tasks, goals, softgoals and resources they depend Strategic Rationale Model (SRM) Details each actor by defining the actor s internal structure Provides rationales for the external dependencies SE502: Software Requirements Engineering 28 14

Notation of the modeling constructs in the i* framework SE502: Software Requirements Engineering 29 Means-end links in the i* framework SE502: Software Requirements Engineering 30 15

Contribution links in the i* framework SE502: Software Requirements Engineering 31 Task decomposition links in the i* framework SE502: Software Requirements Engineering 32 16

Example of a strategic dependency model in i* SE502: Software Requirements Engineering 33 Example of a strategic rationale model in i* SE502: Software Requirements Engineering 34 17