Software engineering process. Literature on UML. Modeling as a Design Technique. Use-case modelling. UML - Unified Modeling Language

Similar documents
Noun-Verb Decomposition

AWRI Refrigeration Demand Calculator

Route List Configuration

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

Environmental Monitoring for Optimized Production in Wineries

6.2.2 Coffee machine example in Uppaal

Barista at a Glance BASIS International Ltd.

Ideas for group discussion / exercises - Section 3 Applying food hygiene principles to the coffee chain

Biocides IT training Helsinki - 27 September 2017 IUCLID 6

Olea Head and Neck DCE VPMC-14290A

Structures of Life. Investigation 1: Origin of Seeds. Big Question: 3 rd Science Notebook. Name:

Cafeteria Ordering System, Release 1.0

Table of Contents. Toast Inc. 2

Resident manager. The ticket to success set up for future of Dining in senior care

+ = Power up your Smart Cup while pressing the corresponding button to reach different program modes. Heat Exchange fill/tank Drain Page:

Subject Area: High School French State-Funded Course: French III

Cut Rite V9 MDF Door Library

Route List Setup. About Route List Setup

Biocides IT training Vienna - 4 December 2017 IUCLID 6

IT tool training. Biocides Day. 25 th of October :30-11:15 IUCLID 11:30-13:00 SPC Editor 14:00-16:00 R4BP 3

Melitta bar-cube. The perfect spot for coffee and chocolate. Melitta SystemService

Developing a CRC Model. CSC207 Fall 2015

Algorithms. How data is processed. Popescu

Activity 10. Coffee Break. Introduction. Equipment Required. Collecting the Data

Given a realistic scenario depicting a new site install, the learner will be able to install and setup the brewer for retail turnover without error.

Release Letter. Trufa

Olea Tumor Basic VPMC-13988A

For Beer with Character

Fromage Frais and Quark Market in Portugal: Market Profile to 2019

TEST PROJECT. Server Side B. Submitted by: WorldSkills International Manuel Schaffner CH. Competition Time: 3 hours. Assessment Browser: Google Chrome

TRUSTED RELIABLE QUALITY

TRUSTED RELIABLE QUALITY

Virginia Western Community College HRI 225 Menu Planning & Dining Room Service

Given a realistic scenario depicting a new site install, the learner will be able to install and setup the brewer for retail turnover without error.

NVIVO 10 WORKSHOP. Hui Bian Office for Faculty Excellence BY HUI BIAN

PRODUCTION SOFTWARE FOR WINEMAKERS. Wine Operations and Laboratory Analyses

Directions for Menu Worksheet. General Information:

Roux Bot Home Cooker. UC Santa Cruz, Baskin Engineering Senior Design Project 2015

SERVICE MANUAL ESPRESSO COFFEE BREWER UNITS

Fromage Frais and Quark (Dairy and Soy Food) Market in Australia - Outlook to 2020: Market Size, Growth and Forecast Analytics

Asynchronous Circuit Design

openlca case study: Conventional vs Organic Viticulture

Table Reservations Quick Reference Guide

Managing Multiple Ontologies in Protégé

The Biocidal Products Regulation in the Automotive Supply Chain

Dining Room Theory

Certificate III in Hospitality. Patisserie THH31602

1. Continuing the development and validation of mobile sensors. 3. Identifying and establishing variable rate management field trials

Published by: PIONEER RESEARCH & DEVELOPMENT GROUP ( 1

TREATED ARTICLES NEW GUIDANCE AND REGULATION BIOCIDE SYMPOSIUM 2015 LJUBLJANA MAY DR. PIET BLANCQUAERT

The Future of the Confectionery Market in South Africa to 2019

Missing value imputation in SAS: an intro to Proc MI and MIANALYZE

OPERATING MANUAL. Sample PRO 100 Series. Electric Heating. Applies to Versions: SPE1*, SPE2, SPE4, SPE6

Background & Literature Review The Research Main Results Conclusions & Managerial Implications

Napa County Planning Commission Board Agenda Letter

RDA Training Booklet -- Veve (Upd 03/2014)

Knowledge Representation

Step 1: Prepare To Use the System

Flexible Imputation of Missing Data

Decision making with incomplete information Some new developments. Rudolf Vetschera University of Vienna. Tamkang University May 15, 2017

Mini Project 3: Fermentation, Due Monday, October 29. For this Mini Project, please make sure you hand in the following, and only the following:

The new standard for tabletop coffee machines

Vineyard Cash Flows Tremain Hatch

LEVEL 1 CERTIFICATE PROGRAM CURRICULUM. COMPETENCIES Knowledge, Skills and Explanations of the BGA Barista Level 1 (CB1) Designation

LiveTiles CSP Partner Program Guide. Version: 1.0

Break down K cups. Faculty collection

S700. Innovation Becomes an Invitation.

Master planning in semiconductor manufacturing exercise

NEEDS ASSESSMENT. Overview of Inputs Required for Apple Juice Production in Montezuma County

Innovations for a better world. Ingredient Handling For bakeries and other food processing facilities

APPENDIX PROPER USE GUIDELINES INGREDIENT BRANDING

DISCOVER THE POWER OF SIMPLICITY

STUDY REGARDING THE RATIONALE OF COFFEE CONSUMPTION ACCORDING TO GENDER AND AGE GROUPS

Notes on the Philadelphia Fed s Real-Time Data Set for Macroeconomists (RTDSM) Capacity Utilization. Last Updated: December 21, 2016

Appendix 2. Food Safety Plan Worksheets

Lesson 41: Designing a very wide-angle lens

North America Ethyl Acetate Industry Outlook to Market Size, Company Share, Price Trends, Capacity Forecasts of All Active and Planned Plants

AGREEMENT n LLP-LDV-TOI-10-IT-538 UNITS FRAMEWORK ABOUT THE MAITRE QUALIFICATION

Directions for Menu Worksheet ***Updated 9/2/2014 for SY *** General Information:

Roaster/Production Operative. Coffee for The People by The Coffee People. Our Values: The Role:

Requirements Engineering

Training Guide For Servers In Restaurant Powerpoint

Demand, Supply and Market Equilibrium. Lecture 4 Shahid Iqbal

Introduction to Management Science Midterm Exam October 29, 2002

Sustainable Coffee Challenge FAQ

Work Sample (Minimum) for 10-K Integration Assignment MAN and for suppliers of raw materials and services that the Company relies on.

Réseau Vinicole Européen R&D d'excellence

Tamanend Wine Consulting

This qualification has been reviewed. The last date to meet the requirements is 31 December 2015.

What do Calls to Restaurants Signify?

Aulika Top HSC High speed cappuccino. Saeco Vending & Professional

STA Module 6 The Normal Distribution

STA Module 6 The Normal Distribution. Learning Objectives. Examples of Normal Curves

The Roles of Social Media and Expert Reviews in the Market for High-End Goods: An Example Using Bordeaux and California Wines

IKAWA App V1 For USE WITH IKAWA COFFEE ROASTER. IKAWA Ltd. Unit 2 at 5 Durham Yard Bethnal Green London E2 6QF United Kingdom

Lesson 41: Designing a very wide-angle lens

STACKING CUPS STEM CATEGORY TOPIC OVERVIEW STEM LESSON FOCUS OBJECTIVES MATERIALS. Math. Linear Equations

INSTRUCTION MANUAL FOR BUILT-IN OVENS

In-store baking oven HELIOS. Traditional baking on a stone slab

Pizza Ontology. a review of core concepts for building a pizza ontology

Transcription:

Software engineering process UML - Unified Modeling Language Support, Management, Tools, Methods, Techniques, Resources Requirements analysis Acceptance Operation & Maintenance Christoph Kessler, IDA, Linköpings universitet Most slides by courtesy of Kristian Sandahl System design Program design System Unit & integration Coding Modeling as a Design Technique Literature on UML Testing a physical entity before building it Communication with customers Visualization Reduction of complexity Models supplement natural language Models support understanding, design, documentation Creating a model forces you to take necessary design decisions UML is now the standard notation for modeling software. Official standard documents by OMG: www.omg.org, www.uml.org Current version is UML 2.0 (2004/2005) OMG documents: UML Infrastructure, UML Superstructure Books: Pfleeger: Software Engineering 3rd ed., 2005 (mostly Chapter 6) Rumbaugh, Jacobson, Booch: The Unified Modeling Language Reference Manual, Second Edition, Addison-Wesley 2005 Blaha, Rumbaugh: Object-Oriented Modeling and Design with UML, Second Edition, Prentice-Hall, 2005. Stevens, Pooley: Using UML: Software Engineering with Objects and Components, 2nd edition. Addison-Wesley, 2006 And many others UML: Different diagram types for different views of software Modeling (logical) structure of software: Static view: Class diagram Design view: Structure diagram, collaboration diagr., component d. Use case view: Use case diagram Modeling behavior of software: Activity view: Activity diagram State machine view: State machine diagram Interaction view: Sequence diagram, communication diagram Modeling physical structure of software Deployment view: Deployment diagram Modeling the model, and extending UML itself Model management view: Package Diagram Profiles A use-case is: Use-case modelling a particular form or pattern or exemplar of usage, a scenario that begins with some user of the system initiating some transaction of sequence of interrelated events. Jacobson, m fl 992: Object-oriented software engineering. Addison-Wesley

Use-case diagram Use-case diagram for the coffee machine Actor: a user of the system in a particular role. Can be human or system. CoffeeDrinker Detail of use-case Buy a cup of coffee A CoffeeDrinker approaches the machine with her cup and a coin of SEK 5. She places the cup on the shelf just under the pipe. She then inserts the coin, and presses the button for coffee to get coffee according to default settings. Optionally she might use other buttons to adjust the strength and decide to add sugar and/or whitener. The machine processes the coffee and rings a bell when it is ready. The CoffeeDrinker takes her cup from the shelf. CoffeeDrinker System boundary TeaDrinker Buy a cup of coffee Get coin in return Pour hot water CoffeeMachine Clean the Machine Add substances Collect coins Brew a can of coffee Service Relations between use-cases Identifying classes: noun analysis Service Stereotype: extended classification of meaning Please, keep keepas as simple as as possible. Clean the machine Collect coins <<extend>> <<include>> <<include>> Add change Open machine Reuse Separating scenarious (often conditional) A CoffeeDrinker approaches the machine with her cup and a coin of SEK 5. She places the cup on the shelf just under the pipe. She then inserts the coin, and presses the button for coffee to get coffee according to default settings. Optionally, she might use other buttons to adjust the strength and decide to add sugar and/or whitener. The machine processes the coffee and rings a bell when it is ready. The CoffeeDrinker takes her cup from the shelf. machine real noun handled by the system cup unit for beverage coin detail of user and machine shelf detail of machine pipe detail of machine button handled by the system sugar detail of coffee whitener detail of coffee cup of coffee handled by the system indicator not discovered The single class model Associations between classes name: String numberofcoins() : Integer buy ( c : ) name attribute operations multiplicity A multiplicity can be: an exact number a range of numbers unspecified number denoted by *

Extended class model Revised class model Generalisation Class model with navigability Class model with inheritance and abstract classes pay( c: coin ) Abstract class (cannot be instantiated, only extended/specialized) Generalisation IndividualCustomer getcup() getcan() pay() method is is inherited from Class model with aggregation More relations between classes Aggregation: part-of relationship Machine Interface CoinHandler Brewer Topic Encylopedia Board Copy..* row:{,2,..8} column:{,2,..8} Link aggregation..* composition Volume is a copy of..* {xor}..* is a copy of Square Book Journal Stronger form of aggregation: Composite has sole responsibility for managing its parts, e.g. allocation / deallocation qualified constraint

The coffee machine class model Classes and objects Classes: byus 0.. Interface CoinHandler Brewer makes machine Even Evensmall models models take takespace. You You need need good gooddrawing tools tools and and a large largesheet. makes Objects: Kristian: c: c: Reasoning about an arbitrary object Sequence diagram Like this: a: the: : : Interface Message...or simply like this: insertcoin : : machineready pressbutton(b) Life line of object time Sequence diagram with several objects Communication diagram : : Interface : CoinHandler : Brewer : insertcoin 6: pressbutton(b) 5: litindicators 9: : : Interface 7: makeorder(o) 8: A {C-A < 5s} insertcoin litindicators transport coinaccepted warmup 4: coinaccepted 2: transport 3: warmup : CoinHandler : Brewer pressbutton(b) makeorder(o) Shows message flows with sequence numbers C Similar information as sequence diagram

For class CoinHandler: state checking State machine diagram event, causing transition message falsecoin()/returncoin(self) insertcoin()/checkcoin(self) this object action, reaction to the event Can formally describe protocols start state marker idle Activity Diagram Graph brew coffee Nodes are activities (actions) Method invocations, operations, sending / receiving messages, handling events, creating / accessing / modifying / deleting objects, variables Data flow by input and output parameter pins Edges are control flow transitions To some degree dual to the state diagram Might be refined to a low-level specification; cf. control flow graph (~ compiler IR) A Petri Net Interpretation by moving tokens along edges Models concurrency by multiple tokens for current state Fork / join for synchronization Models real-world workflows Activity diagram Other features initial node decision brew coffee add sugar/whitener fork insert coin coin accepted? [yes] pour coffee [no] add hot water to adjust strength join final node Comments Constraints in OCL (Object Constraint Language) Profiles: Collections of stereotypes for specific domains, e.g. Realtime-profile for UML Customize (specialize) UML elements, e.g. s Can introduce own symbols MOF (Meta-Object Facility): UML is specified in UML Powerful mechanism for extending UML by adding new language elements UML Summary UML the standard for modeling software Modeling before/during design, precedes coding Different diagrams for different views Model a software system only partially, focus on a certain aspect and/or part at a time Problem: Maintaining consistency across diagrams Tools Trend towards more detailed modeling Stepwise refinement executable UML : UML 2 is almost a programming language UML is customizable and extendible: Profiles, MOF Trend towards automatized partial generation of models and code from models (MDA model-driven architecture) Homework Exercise Draw a class diagram for the following scenario: A customer, characterized by his/her name and phone number, may purchase reservations of tickets for a performance of a show. A reservation of tickets, annotated with the reservation date, can be either a reservation by subscription, in which case it is characterized by a subscription series number, or an individual reservation. A subscription series comprehends at least 3 and at most 6 tickets; an individual reservation at most one ticket. Every ticket is part of a subscription series or an individual reservation, but not both. Customers may have many reservations, but each reservation is owned by exactly one customer. Tickets may be available or not, and one may sell or exchange them. A ticket is associated with one specific seat in a specific performance, given by date and time, of a show, which is characterized by its name. A show may have several performances.