Behavior Modeling PA116 L10. (based on Alistair Cockburn book) (c) Zdenko Staníček, Sept 2010

Similar documents
Pragmatic Use Case Writing

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

Unit 7 Data analysis and design

A Context-Driven Use Case Creation Process for Specifying Automotive Driver Assistance Systems

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

ECE-492 SENIOR ADVANCED DESIGN PROJECT

Implementing a tool to Support KAOS-Beta Process Model Using EPF

PRINCE2 Practitioner Certification Exam Training - Brochure

THE REFLECTIVE SUPERVISION TOOLKIT

Efficient Use of Space Over Time Deployment of the MoreSpace Tool

ODS Portal Share educational resources in communities Upload your educational content!

Thesis-Proposal Outline/Template

evans_pt01.qxd 7/30/2003 3:57 PM Page 1 Putting the Domain Model to Work

Cambridge NATIONALS. Creative imedia Level 1/2. UNIT R081 - Pre-Production Skills DELIVERY GUIDE

Stakeholder Debate: Wind Energy

21st Century Community Learning Center

IMPROVING SPEAKING SKILL OF THE TENTH GRADE STUDENTS OF SMK 17 AGUSTUS 1945 MUNCAR THROUGH DIRECT PRACTICE WITH THE NATIVE SPEAKER

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

Introduction to CRC Cards

An Open Framework for Integrated Qualification Management Portals

An Investigation into Team-Based Planning

Lærerne I centrum og fremtidens skole The Change Room Action research to promote professional development

Administrative Services Manager Information Guide

MULTIDISCIPLINARY TEAM COMMUNICATION THROUGH VISUAL REPRESENTATIONS

Radius STEM Readiness TM

Prince2 Foundation and Practitioner Training Exam Preparation

AQUA: An Ontology-Driven Question Answering System

On-Line Data Analytics

Senior Stenographer / Senior Typist Series (including equivalent Secretary titles)

SINGLE DOCUMENT AUTOMATIC TEXT SUMMARIZATION USING TERM FREQUENCY-INVERSE DOCUMENT FREQUENCY (TF-IDF)

Lecture 2: Quantifiers and Approximation

CEFR Overall Illustrative English Proficiency Scales

Knowledge Elicitation Tool Classification. Janet E. Burge. Artificial Intelligence Research Group. Worcester Polytechnic Institute

An NFR Pattern Approach to Dealing with Non-Functional Requirements

Author: Justyna Kowalczys Stowarzyszenie Angielski w Medycynie (PL) Feb 2015

OCR LEVEL 3 CAMBRIDGE TECHNICAL

First Grade Standards

HDR Presentation of Thesis Procedures pro-030 Version: 2.01

1 Use complex features of a word processing application to a given brief. 2 Create a complex document. 3 Collaborate on a complex document.

Inquiry Learning Methodologies and the Disposition to Energy Systems Problem Solving

URBANIZATION & COMMUNITY Sociology 420 M/W 10:00 a.m. 11:50 a.m. SRTC 162

Intensive Writing Class

Reforms for selection procedures fundamental programmes and SB grant. June 2017

Just in Time to Flip Your Classroom Nathaniel Lasry, Michael Dugdale & Elizabeth Charles

LEGO MINDSTORMS Education EV3 Coding Activities

Higher Education Review (Embedded Colleges) of Kaplan International Colleges UK Ltd

Generating Test Cases From Use Cases

Your School and You. Guide for Administrators

AUTHORITATIVE SOURCES ADULT AND COMMUNITY LEARNING LEARNING PROGRAMMES

Outreach Connect User Manual

Higher Education Review (Embedded Colleges) of Navitas UK Holdings Ltd. Hertfordshire International College

International Examinations. IGCSE English as a Second Language Teacher s book. Second edition Peter Lucantoni and Lydia Kellas

CERTIFIED PROJECT MANAGEMENT SPECIALIST (CPMS) STUDY GUIDE

TU-E2090 Research Assignment in Operations Management and Services

The completed proposal should be forwarded to the Chief Instructional Officer and the Academic Senate.

Maximizing Learning Through Course Alignment and Experience with Different Types of Knowledge

Process to Identify Minimum Passing Criteria and Objective Evidence in Support of ABET EC2000 Criteria Fulfillment

Guidelines for Project I Delivery and Assessment Department of Industrial and Mechanical Engineering Lebanese American University

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

The Indices Investigations Teacher s Notes

Telekooperation Seminar

The feasibility, delivery and cost effectiveness of drink driving interventions: A qualitative analysis of professional stakeholders

The D2L eportfolio for Teacher Candidates

Project Leadership in the Future

Litterature review of Soft Systems Methodology

What is PDE? Research Report. Paul Nichols

Grade 3: Module 1: Unit 3: Lesson 5 Jigsaw Groups and Planning for Paragraph Writing about Waiting for the Biblioburro

Intelligent Agent Technology in Command and Control Environment

Platform for the Development of Accessible Vocational Training

On the Combined Behavior of Autonomous Resource Management Agents

Constraining X-Bar: Theta Theory

Problem Solving for Success Handbook. Solve the Problem Sustain the Solution Celebrate Success

Science Fair Project Handbook

Nearing Completion of Prototype 1: Discovery

Section 3.4. Logframe Module. This module will help you understand and use the logical framework in project design and proposal writing.

Is M-learning versus E-learning or are they supporting each other?

Introduction. 1. Evidence-informed teaching Prelude

Unpacking a Standard: Making Dinner with Student Differences in Mind

IN THIS UNIT YOU LEARN HOW TO: SPEAKING 1 Work in pairs. Discuss the questions. 2 Work with a new partner. Discuss the questions.

Writing a composition

Modeling user preferences and norms in context-aware systems

An Introduction to Simio for Beginners

A Pumpkin Grows. Written by Linda D. Bullock and illustrated by Debby Fisher

Dickinson ISD ELAR Year at a Glance 3rd Grade- 1st Nine Weeks

Utilizing Soft System Methodology to Increase Productivity of Shell Fabrication Sushant Sudheer Takekar 1 Dr. D.N. Raut 2

Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

Outline for Session III

1 st Quarter (September, October, November) August/September Strand Topic Standard Notes Reading for Literature

Providing Feedback to Learners. A useful aide memoire for mentors

Individual Component Checklist L I S T E N I N G. for use with ONE task ENGLISH VERSION

Instructional Intervention/Progress Monitoring (IIPM) Model Pre/Referral Process. and. Special Education Comprehensive Evaluation.

The D2L eportfolio for Teacher Candidates

Visit us at:

PRINCE2 Foundation (2009 Edition)

CHAPTER V: CONCLUSIONS, CONTRIBUTIONS, AND FUTURE RESEARCH

The Enterprise Knowledge Portal: The Concept

YMCA SCHOOL AGE CHILD CARE PROGRAM PLAN

Situational Virtual Reference: Get Help When You Need It

Writing an essay about sports >>>CLICK HERE<<<

Transcription:

Behavior Modeling (based on Alistair Cockburn book) PA116 L10 (c) Zdenko Staníček, Sept 2010

Use Cases Philosophy Principles Recommendations Alistair Cockburn: The Use-Case is a contract for System behavior

A-composite U-composite U-composite RBS C-composite 6 Use-case 11 7 8 1 r06 Agent 14 GBS SBS 18 15 3 r04 Goal 19 Requirement Service r02 r01 5 20 r33 r22 r11 17 4r05 16 Model 12 2 r03 9 10 M-composite 13 Context

How to describe contract for system behavior? Diagram Diagram with NL descriptions NL NL constrained by several rules Artificial Language (BPML, BPMN, BPEL, ) What is the best way?

How to describe contract for system behavior NL constrained by several rules coupled with diagram, if necessary Again in a form of a model a special model, purposely not included into other models from Diam4

A-composite U-composite U-composite RBS C-composite 6 Use-case 11 7 8 1 r06 Agent 14 GBS SBS 18 15 3 r04 Goal 19 Requirement Service r02 r01 5 20 r33 r22 r11 17 4r05 16 Model 12 2 r03 9 10 M-composite 13 Context

Key questions of Use Case writing according to Alistair Cockburn Scope What is really the system under discussion (SuD)? Primary Actor Who has the goal? Level How high- or low-level is the goal?

Summary definitions (A. Cockburn) Use Case: a contract for the behavior of the SuD Actor: anyone or anything with behavior Stakeholder: someone or something with a vested interest in the behavior of the system under discussion (SuD) Primary actor: the stakeholder who or which initiates an interaction with the SuD to achieve a goal

A-composite U-composite U-composite RBS C-composite 6 Use-case 11 7 8 1 r06 Agent 14 GBS SBS 18 15 3 r04 Goal 19 Requirement Service r02 r01 5 20 r33 r22 r11 17 4r05 16 Model 12 2 r03 9 10 M-composite 13 Context

Summary definitions (cont.) (A. Cockburn) Scope: identifies the system that we are discussing. Preconditions: what must be true before the use case runs Guarantees: what must be true after the use case runs

A-composite U-composite U-composite RBS C-composite 6 Use-case 11 7 8 1 r06 Agent 14 GBS SBS 18 15 3 r04 Goal 19 Requirement Service r02 r01 5 20 r33 r22 r11 17 4r05 16 Model 12 2 r03 9 10 M-composite 13 Context

Summary definitions (cont.) (A. Cockburn) Main success scenario: a case in which nothing goes wrong Extensions: what can happen differently during that scenario Numbers in the extensions refer to the step numbers in the main success scenario at which each different situation is detected (e.g. steps 4a and 4b indicate two different conditions that can show up at step 4) When a use case references another use case, the referenced use case is underlined

A-composite U-composite U-composite RBS C-composite 6 Use-case 11 7 8 1 r06 Agent 14 GBS SBS 18 15 3 r04 Goal 19 Requirement Service r02 r01 5 20 r33 r22 r11 17 4r05 16 Model 12 2 r03 9 10 M-composite 13 Context

Use Case Template (A. Cockburn) <the name (the goal as a short active verb phrase)> Context of Use: <a longer statement of the goal, if needed, its normal occurrence conditions> Scope: <design scope, what system is being considered black-box under design> Level: <one of: summary, user-goal, subfunction> Primary Actor: <a role name, if needed, with description> Stakeholders and Interests: <list of stakeholders and key interests in the use case> Preconditions: <state of the world> Minimal Guarantees: <how the interests are protected under all exits>

Use Case Template (cont.) Success Guarantees: <the state of the world if goal succeeds> Trigger: <what starts the use case, may be time event> Main Success Scenario: <put here the steps of the scenario from trigger to goal delivery and any cleanup after> <step#><action description> Extensions: <put here the extensions, each referring to the step of the main scenario> <step altered><condition>: <action or sub use case> Related Information: <whatever your project needs for additional information>

Readings Alistair Cockburn: Writing Effective Use Cases there you will find lot of examples and explanations

A-composite U-composite U-composite RBS C-composite 6 Use-case Actors 11 Behavior 7 8 1 r06 Agent 14 GBS SBS 18 15 3 r04 Goal 19 Requirement Service r02 r01 5 20 r33 r22 r11 17 4r05 16 Model 12 2 r03 Interests 9 10 M-composite 13 Interests Context

Actors=Agents and Stakeholders A Stakeholder has interests An Actor or generally an Agent has behaviors The Primary Actor (the Agent from its perspective the Use Case is described) is also a Stakeholder

4 3 Agent1 1 Behavior Interest 2 Stakeholder Primary Agent Organization Internal Agent External Agent Technology Component Offstage Agent Person Supporting Agent SUD 5 Subsystem 6 Object 7

detail R33 supervisor author collaborator learner composite R11 GBS R22 Goal reaching establishing framework follower establisher establishing flow framework fulfilling Action organizer Agent flow -organizer Flow member flow -member covering R01 focusing R02 Activity

Behavior and Interactions as composite Goal-oriented Behavior consists of Responsibilities, Goals, and Actions The Private Actions we write are those that forward or protect the interests of Stakeholders. Interactions connect the Actors=Agents. Several Agents can participate in an Interaction. Interactions decompose into Use Cases, Scenarios, and Simple Messages.

5 11 8 7 Behavior 6 Agent Resposibility 9 Goal 10 Action 1 2 3 12 Stakeholder Private Action Interaction 4 Interest Validation State Change Set of sequences - Use Case Sequence - Scenario Simple Message 13 14

detail R33 supervisor author collaborator learner composite R11 GBS R22 Goal reaching establishing framework follower establisher establishing flow framework fulfilling Action organizer Agent flow -organizer Flow member flow -member covering R01 focusing R02 Activity

20 19 r05 r04 r03 r06 r02 r01 M-composite A-composite U-composite C-composite GBS RBS SBS r33 r22 r11 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Model Agent Service Goal Context Use-case Requirement U-composite Interests Interests Behavior Actors BehavioralE lements DO NOT FORGET!!!

The Writing Process (A. Cockburn) 1. Name the system scope and boundaries. Track changes to this initial context diagram with the in/out list. 2. Brainstorm and list the primary actors. Find every human and non-human primary actor, over the life of the system. 3. Brainstorm and exhaustively list user goals for the system. The initial Actor-Goal List is now available. 4. Capture the outermost summary use cases to see who really cares. Check for an outermost use case for each primary actor.

The Writing Process (cont.) (A. Cockburn) 5. Reconsider and revise the summary use cases. Add, subtract, or merge goals. Double-check for time-based triggers and other events at the system boundary. 6. Select one use case to expand. Consider writing a narrative to learn the material. 7. Capture stakeholders and interests, preconditions and guarantees. The system will ensure the preconditions and guarantee the interests. 8. Write the main success scenario. Use steps 3 9 to meet all interests and guarantees.

The Writing Process (cont.) (A. Cockburn) 9. Brainstorm and exhaustively list the extension conditions. Include all that the system can detect and must handle. 10. Write the extension-handling steps. Each will end back in the MSS, at a separate success exit, or in failure. 11. Extract complex flows to sub use cases; merge trivial sub use cases. Extracting a sub use case is easy, but it adds cost to the project. 12. Readjust the set: add, subtract, merge, as needed. Check for readability, completeness, and meeting stakeholders interests.

Reminders (A. Cockburn) Write something readable! Work breadth-first: from lower precision to higher precision Precision level 1: Primary actor s name and goal Precision level 2: The use case brief, or the main success scenario Precision level 3: The extension conditions Precision level 4: The extension handling steps

For each step: Reminders (cont.) (A. Cockburn) Show a goal succeeding Capture the actor s intention (not the user interface details) Have an actor pass information, validate a condition, or update state Write between-step commentary to indicate step sequencing (or lack of) Ask why to find a next-higher level goal

Reminders (cont.) (Z. Stanicek) For data description: Precision level 1: Names of entity sorts involved Precision level 2: Definitions of entity sorts Precision level 3: The conceptual model Precision level 4: Descriptive attributes Think in systematic top-down manner E.g. using Diam4 Diam1

Connection 01 Object Category Operation R2 02 P R1 03 Rule R3 04 R4 manif2ci base manif2context ci2category ci2item r4 r2 r3 r1 Manifestation CI-connection Context Item Category R S D O detail R33 GBS R22 R02 establishing framework composite R11 establisher R01 fulfilling learner covering follower establishing flow framework reaching member flow -member flow -organizer collaborator supervisor author organizer focusing Goal Flow Agent Activity Action 20 19 r05 r04 r03 r06 r02 r01 M-composite A-composite U-composite C-composite GBS RBS SBS r33 r22 r11 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Model Agent Service Goal Context Use-case Requirement