INF5120 Modellbasert Systemutvikling Modelbased System development

Similar documents
INF5120 Modellbasert Systemutvikling Modelbased System development

INF5120 Modellbasert Systemutvikling Modelbased System development

INF5120 Modelbased System development

INF5120 Modelbased System development

KF5008 Program Design & Development. Introduction to the Module

INF5120 Modelbased System development

Change is constant. Obstacle to RE: Why requirement study? Limitation of the designers Different knowledge domains Not expertise Ubiquitous nature

A Semi-formal Evaluation of Architecture Design Based on Architecture Principles

What%the%user%asked%for% How%the%analyst%saw%it% the% vision %of%those%who%are%pushing%for%it?% e.g.,% Mee/ng%scheduling%is%too%costly%right%now %

StarGro: Building i* Metrics for Agile Methodologies

Designing Software Ecosystems. How Can Modeling Techniques Help? Mahsa H. Sadi, Eric Yu. 1 Introduction. 2 Modeling Requirements.

Stakeholders and Goals

version NDIA CMMI Conf 3.5 SE Tutorial RE - 1

Why Document the Architecture? EEC 421/521: Software Engineering. Design Process. Thinking About Design. Stakeholder Communication.

Model-Based Enterprise Information System Architectural Design with SysML

Towards an Ontology for Strategic Decision Making:

Strategy Representation Using an i* -like Notation

A MODEL BASED SYSTEMS ENGINEERING PROCESSES DEPLOYMENT FRAMEWORK

Goal Modeling Techniques for Requirements Engineering

11 Rationale and Requirements Engineering

Requirements Specification with Models

Towards a Model-Driven and Role- Configurable Methodology Suite for Enterprise and Service- Oriented Interoperability

Goal-Based Self-Contextualization

Software Development Methodologies. CSC 440: Software Engineering Slide #1

[Name] [ ID] [Contact Number]

Model-Based Development with SoaML

IEEE and Agile Process- Create Architecture Description through Agile Architecture Framework

Patterns and impact on system concerns

REQUIREMENTS ENGINEERING

Software Development Methodologies

Strategy Representation Using an i*-like Notation

INF5181: Process Improvement and Agile Methods in Systems Development

IBM WIoT CP Summit Open Labs (NO COST - not a substitute for full training courses)

October 16-17, Omni Shoreham 2500 Calvert Street NW Embassy Conference Room Washington, DC 20008

Chapter 4 Requirements Elicitation

2014 Oct.31 International Symposium on Practical Formal Approaches to Software Development. Copyright Prof. Dr. Shuichiro Yamamoto 2014

CS350 Lecture 2 Software Dev. Life Cycle. Doo-Hwan Bae

TOGAF 9.1 Phases E-H & Requirements Management

Model Based Systems Engineering The State of the Nation

Sistemi ICT per il Business Networking

Requirements Engineering. Massimo Felici Room 1402, JCMB, KB

Managing Projects of Chaotic and Unpredictable Behavior

CSEB233: Fundamentals of Software Engineering. Software Requirements Part 1 Understanding Requirements Engineering

Requirements Engineering and Software Architecture Project Description

Software Quality Engineering Courses Offered by The Westfall Team

The Essential Software Engineering Approach to Requirements Engineering

Essentials of IBM Rational Requirements Composer, v3. Module 4: Creating a use-case model

Software Quality Engineering Courses Offered by The Westfall Team

DATA-DEPENDENT IN ROLE-BASED GOAL MODELING

Agile Architecture And Design

Requirement Engineering. L3 The requirement study. Change is constant. Communication problem? People are hard to understand!

Information Technology Project Management, Sixth Edition

TERM PAPER TDT MODELLING OF INFORMATION SYSTEMS, ADVANCED COURSE. Mirna Besirovic MTDT

STATE OF AGILE ISRAEL

COMP 6481 Fall 2006 System Requirement Specifications

MTAT Software Engineering Management

Initiative Mapping Fundamentals

Non-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15

End To End Training For Your Business Analyst Career

Agile Certified Practitioner (ACP) Exam Prep Course 7 Adaptive Planning

Architecture Evaluation Methods. AISA Project Report. Version: 2.0 Author: Martin Hoffmann. Date: Status: Final

Requirements Verification and Validation

CIOReview SPARX SYSTEMS INTELLIGENTLY ARCHITECTING THE INFORMATION SILOS ENTERPRISE ARCHITECTURE SPECIAL

An Advanced Engineering Framework experimented on a R&AE Electric Vehicle case

Requirements Engineering and Software Architecture Project Description

Stakeholders and their values. GilbFest 2017

Explicitly Modelling Relationships of Risks on Business Architecture

itemis & geensys The Eclipse Modeling Platform Dr. Martin Mandischer Dr. Stephan Eberle

Software Development Methodologies

Chapter 1. Contents. What is Software Engineering 9/9/13. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

INF5120 Model based System Development INF5120 BMM and BPMN Modelbased System development. Lecture 2: Arne-Jørgen Berre

Being Agile at a Small Agency How to Apply Agile Principles in a Not-So-Iterative Environment

The Three Dimensions of Requirements Engineering: 20 Years Later

Leassons Learned EisMan project

Model-Driven Service Engineering with SoaML

Oi Requirements Communication in New Product Development

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Watson Internet of Things. Agile Development Why requirements matter

Agile Software Architecture how much is enough?

2013 Rational Software Open Labs

BABOK V3 Perspectives: What are they?

Requirements Engineering in Agile Development. Presented by: Rafi Alam

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

An Extension of Business Process Model and Notation for Security Risk Management

Mixing Systems Engineering and Enterprise Modelling principles to formalize a SE processes deployment approach in industry

Dyson our Agile journey

Chapter 4 Document Driven Approach for Agile Methodology

Requirements elicitation: Finding the Voice of the Customer

L2 The requirement study. Requirement Engineering. Fang Chen

8/30/2010. Lecture 1. Topics covered. Functional and non-functional requirements The software requirements document Requirements specification

An Experience-Based Approach for Integrating Architecture and Requirements Engineering #

Chapter 1. What is Software Engineering. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

Transforming Business Needs into Business Value. Path to Agility May 2013

An Agile Method for Model-Driven Requirements Engineering

A CACI Distinction: Model-Driven Design and Implementation (MDDI)

Product Requirements. Requirements. Get it Right ASAP. Why Requirements are Difficult. Levels of S/W Requirements. Types of S/W Requirements

Information Technology Project Management, Eighth Edition. Note: See the text itself for full citations.

A Detailed Analysis of Enterprise Architecture, Process Modeling, and Simulation Tools

A Guide to the Business Analysis Body of Knowledge (BABOK Guide), Version 2.0 Skillport

SOA MDA and SoaML Introduction

Transcription:

INF5120 Modellbasert Systemutvikling Modelbased System development Lecture 6: 17.02.2014 Arne-Jørgen Berre arneb@ifi.uio.no or Arne.J.Berre@sintef.no 1

Content Oblig 1 details Goal Modeling, BMM, and Non Functional requirements Requirements Modeling BMM Business Motivation Model Goal Modeling - KAOS Gilb - PLanguage Non functional requirements, ISO etc. Agile Scrum, Kanban, Lean Startup 2

Requirements Engineering 3

RE Framework from K. Pohl s book 4

Goal Modeling approaches With input from Prof. Dr. Shihong Huang shihong@fau.edu Florida Atlantic University

Goal Model A goal model is a conceptual model that documents goals, their decomposition into sub-goals, and existing goal dependencies Common goal modeling language include different dialects: AND/OR trees The Goal-oriented Requirements Language (GRL) [GRL 2009] i* [Yu 1993] KAOS [Van Lamsweerde 2009] Shihong Huang 6 Florida

RE-Tools (with StarUML) The NFR Framework for non-functional requirements (NFRs) modeling The i* Framework for agent-oriented modeling KAOS for formal goals modeling Problem Frames for business and system requirements and specifications modeling UML for object-oriented modeling http://www.utdallas.edu/~supakkul/tools/re-tools/ Shihong Huang 7 Florida

Shihong Huang 8 Florida

i*(i-star) Framework Comprehensive approach for documenting and analyzing goals and goal dependencies i* is based on the idea that an actor depends on other actors in order to achieve its goals In i*, the actors and their dependencies are documented in the strategic dependency model In addition, the goals, tasks, etc. of each actor are documented using the strategic rational model Shihong Huang 9 Florida

i*(i-star) Based on the modeling language GRL AND/OR trees for documenting goal decompositions GRL provides modeling constructs for quality aspects Basic concepts Objects Dependencies Relationships, which is further subdivided into Dependencies links Shihong Huang 10 Florida

Notation of the modeling constructs in the i* framework Shihong Huang 11 Florida

StarUML with RE module Shihong Huang 12 Florida

RE Modules Goal modeling itropos KAOS System Problem Frame NFR Framework Problem Interdependency Graph Shihong Huang 13 Florida

KAOS KAOS modeling language is part of the KAOS framework for eliciting, specifying, and analyzing goals, requirements, scenarios, and responsibilities assignments Framework with six complementary views or sub-models Goal model Obstacle model Object model Agent model Operation model Behaviour model All sub-models are interrelated via traceability links Shihong Huang 14 Florida

KAOS - Keep All Objectives Satisfied http://www.info.ucl.ac.be/~avl/reqeng.html Shihong Huang 15 Florida

Shihong Huang 16 Florida

Shihong Huang 17 Florida

Constructs for goal modeling in KAOS Objects Behavioural goal Softgoal Agent Relationships AND-decomposition Alternative decomposition Potential Conflict Responsibility assignment Shihong Huang 18 Florida

Basic constructs of the KAOS framework for modeling goals and assigning responsibilities for goals to agents Shihong Huang 19 Florida

KAOS - Goal In KAOS, a goal is either a behavioral goal or a softgoal, and Is defined as a prescriptive statement of intent that the system should satisfy through the cooperation of its agents Characterize: Behavioral goals Softgoals, and agents Shihong Huang 20 Florida

KAOS Object: Behavioral goals Behavioral goal: Set of admissible system behaviors Can be defined in a clean-cut manner, i.e., one can verify whether the system satisfies a behavior goal or not Example: The train doors shall remain closed while the train is moving Two types of behavior goals Achieve goal: the defined property must eventually hold Maintain goal: the defined property must always hold (possibly under some condition) Shihong Huang 21 Florida

KAOS Object: Softgoals Document preferences among alternative system behaviors Like in i*, softgoal has no clear cut criterion for satisfaction Hence, softgoals are expected to be satisfied within acceptable limits rather than absolutely Example: the system shall minimize the traveling time Shihong Huang 22 Florida

KAOS Object: Agent While i* focuses primarily on agents within organization structures Agent in KAOS related to users and components of software-intensive systems An agent is defined as an active system component with a specific role for satisfying a goal (e.g. user) An agent can be a human agent, a device (e.g., a sensor or actuator), or a software component Shihong Huang 23 Florida

KAOS - Relationships AND-decomposition: Relates a super-goal to a set of sub- goals The super-goal is satisfied if all sub-goals are satisfied Alternative decomposition (OR-decomposition) Assignment of multiple AND-decompositions to the super-goal Each alternative is a set of AND-decompositions (may be only one) The super-goal is satisfied if one of the alternatives (one ANDdecomposition assigned to the super-goal) is satisfied

KAOS - Relationships Potential Conflict One goal may prevent satisfying another goal This link does not correspond to the conflict dependency, which documents that when one goal is satisfied, the other goal cannot be satisfied Responsibility assignment (relation of goals to agents) Means that the agent is responsible for satisfying the goal Only terminal goals (goals that cannot be refined) can be assigned to an agent Alternative responsibility assignments can be defined, i.e., a goal can be related to multiple agents using a responsibility assignment relationship Shihong Huang 25 Florida

Modeling goals in KAOS The goal (sub-) model documents goals softgoals, and their dependencies, i.e., AND-decompositions Alternative decompositions, and Potential conflicts Shihong Huang 26 Florida

Example of a goal model in KAOS Decomposition of the goal avoid traffic jams Conflict link Contribute to two softgoals AND- Decomposed into two goals OR- Decomposed into two goals Shihong Huang 27 Florida

Modeling goals in KAOS Goal sub-model Documents goals, softgoals and their dependencies Agent sub-model Defines agents Responsibilities Link goal sub-model with agent sub-model Shihong Huang 28 Florida

Modeling Responsibility Assignments in KAOS Are used to interrelate goals defined in the goal sub-model and agents defined in the agent sub-model Shihong Huang 29 Florida

Example of responsibility assignment in KAOS Goal Agent Responsibility Assignment link Florida Atlantic University Shihong Huang 30

Deciding Which Goal Modeling Language to Use Extended AND/OR graphs Document goals and dependencies, but no agents Cannot be used to model actors and relationships between actors i* framework Primarily targeted at actors and their goals within organization and organization structures Main focus: the system environment Sophisticated modeling language in terms of actors, dependencies between actors, and rationale structures of the individual actors Requires some training before use Shihong Huang 31 Florida

Deciding Which Goal Modeling Language to Use KAOS Targets on agents that are system users or components of software systems The basic concepts for defining goals in KAOS framework are very similar to extended AND/OR goal graphs Support conflicts and softgoals Five other supplementary models, also for hardware components thus support interrelating goal models with data, functional, and behavior modeles Very suitable for embedded systems Requires some training before use Shihong Huang 32 Florida

Hint: Choosing a goal modeling language Use extended AND/OR graphs if your main focus is the documentation of goals, their decompositions, and their dependencies Use i* models if you aim to document and analyze the relationships between different actors in an organization using an agent-oriented modeling paradigm Use KAOS models if you aim to document the intended properties of the hardware and software components of a software-intensive paradigm and if you aim to relate the defined goals with solution-oriented requirements models Shihong Huang 33 Florida

References Klaus Pohl, Requirements Engineering Fundamentals, Principles, and Techniques, Springer 2010 Axel van Lamsweerde Requirements Engineering from System Goals to UML Models to Software Specifications, Wiley 2011 Shihong Huang 34 Florida

KAOS support Tool: http://www.utdallas.edu/~supakkul/tools/re-tools/ Reading: http://www.info.ucl.ac.be/~avl/reqeng.html Shihong Huang 35 Florida

INF5120 specification of goals Functional goals Goals in User stories Goals in Use cases Non functional requirements 36

ISO standards, 250xx 37

ISO 25010 38

Targets of Quality Models 39

Quality in Use 40

Product Quality 41

Quality Measures 42

Measurements 43

Tom and Kai Gilb 44

Quantifying All Quality Requirements https://www.dropbox.com/sh/w05apx9s1qbfpsz/ikq78czlfv www.gilb.com See Downloads TeDX Trondheim http://www.gilb.com/blogpost143-quantify-the-un-quantifiable-tom-gilb-at-tedxtrondheim

Multiple Required Performance and Cost Attributes are the basis for architecture selection and evaluation Stakeholder A s Financial Budget Stakeholder B s Financial Budget Resource > 0% Performance > > [Operator] [Management] Usability Reliability Elapse Time Effort 0% > > >! 100% Function 100% > > > > > > Security Environment Innovation Cost Reduction Client Accounts

47

Scale and Meter, Past and Goal 48

Structuring concepts Business Model 1 1 1..* * in context of Vision for change 1 1 1 Scoping Statement 1 1 0..1 context for Context Business Model 1 1 1 1 Context statement Risk analysis Goal model Community model 1 1 BMM 1..* 1..* Business Process & Roles Model Business Resource Model 1 refines refined by 1 1 refines refined by 1 BPMN Work analysis Refinement

BMM Business Motivation Model (OMG) 2007 standard from OMG, based on input from the Business Rules Community http://www.omg.org/technology/documents/br_pm_spec_catalog.htm Example of a relevant metamodel, with a domain specific language, and editor support with EMF/GMF.

What BMM Offers Standardizes common Business terms and Business relationships Provide a open medium for communicating Business Plans Provides a bridge for relating the WHAT and the WHY to the HOW: Business Processes Business Rules Organizational Structure

BMM (Metamodel)

BMM overview executed by Services Architecture/ Community

BMM modeling

Concrete Syntax No mandated syntax. Which is best? Textual Syntax EU-Fly is vulnerable to direct competition from low-cost airlines on many of its single-sector routes.revenue from business travel is critical Structured Syntax Graphical Syntax

Graphical Syntax Option Concepts, e.g. Influencer Relationships, e.g. judges Implemented in Eclipse, using GMF (Graphical Modeling Framework)

Example

BMM in Cameo EA 58

Manifesto for Agile Software Development Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan http://agilemanifesto.org/ 59

Agile tool support Scrum etc. ALM Application Lifecycle Mgmt. JIRA Agile Symphonical Trello Rally GitHub. Integration. 60

JIRA Agile https://www.atlassian.com/software/jira/agile 61

Symphonical (Research park, IFI, Oslo) www.symphonical.com 62

63

Trello - www.trello.com 64

Rally - http://www.rallydev.com/ 65

http://theleanstartup.com/ 66

Lean startup process 67

Minimum Viable Product (MVP) A Minimum Viable Product has just those features that allow the product to be deployed, and no more. The product is typically deployed to a subset of possible customers, such as early adopters that are thought to be more forgiving, more likely to give feedback, and able to grasp a product vision from an early prototype or marketing information. It is a strategy targeted at avoiding building products that customers do not want, that seeks to maximize the information learned about the customer per dollar spent. "The minimum viable product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort." The definition's use of the words maximum and minimum means it is decidedly not formulaic. It requires judgment to figure out, for any given context, what MVP makes sense 68

MVP 69

Cohort analysis Cohort analysis is a subset of behavioral analytics that takes the data from a given ecommerce platform, web application, or online game and rather than looking at all users as one unit, it breaks them into related groups for analysis. These related groups, which usually share common characteristics or experiences within a defined timespan, are called cohorts. [citation needed] Cohort analysis allows a company to see patterns clearly across the lifecycle of a customer [/user], rather than slicing across all customers blindly without accounting for the natural cycle that a customer undergoes. [1] By seeing these patterns of time, a company can adapt and tailor its service to those specific cohorts. While cohort analysis is sometimes associated with a cohort study, they are different and should not be viewed as one in the same. Cohort analysis has come to describe specifically the analysis of cohorts in regards to big data and business analytics, while a cohort study is a more general umbrella term that describes a type of study in which data is broken down into similar groups. 70

Next lecture, February 24 th Model driven development of Web applications - using WebRatio and IFML WebRatio: http://www.webratio.com/ IFML: http://www.ifml.org/ 71