UML By Examples. 0. Introduction. 2. Unified Modeling Language. Home UML. Resources



Similar documents
Karunya University Dept. of Information Technology

A UML Documentation for an Elevator System. Distributed Embedded Systems, Fall 2000 PhD Project Report

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Requirements Definition and Management Processes

Using UML Part Two Behavioral Modeling Diagrams

Tutorial - Building a Use Case Diagram

UML TUTORIALS THE USE CASE MODEL

Programming A PLC. Standard Instructions

Software Architecture Document

Designing a Home Alarm using the UML. And implementing it using C++ and VxWorks

UML Activities & Actions. Charles ANDRE - UNSA

UML TUTORIALS THE COMPONENT MODEL

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Appendix... B. The Object Constraint

(Refer Slide Time: 01:52)

Designing Real-Time and Embedded Systems with the COMET/UML method

Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle

Group 24. (Testability) Amin Ben Karroum Magnus Raaum Sibte-Haider Syed Mari Asplem Hansen. Architecture Document. Android Sosial application

How To Develop Software

PHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram.

Software Engineering. System Modeling

How To Draw A Cell Phone Into A Cellphone In Unminimal Diagram (Uml)

Communication Diagrams

Software Process Models. Xin Feng

FHIM Model Content Overview

KWIC Implemented with Pipe Filter Architectural Style

Enterprise Architecture: Practical Guide to Logical Architecture

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

How to Make a Domain Model. Tutorial

Dr. Pat Mirenda. Software Design Specification Document

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

Chapter 4 Software Lifecycle and Performance Analysis

Software Requirements Specification of A University Class Scheduler

Types of UML Diagram. UML Diagrams OOAD. Computer Engineering Sem -IV

A QUICK OVERVIEW OF THE OMNeT++ IDE

Applying 4+1 View Architecture with UML 2. White Paper

Object Oriented Programming. Risk Management

White Paper What Solutions Architects Should Know About The TOGAF ADM

KS3 Computing Group 1 Programme of Study hours per week

Embedded Real-Time Systems (TI-IRTS) State Machine Implementation

6-1. Process Modeling

Incorporating Aspects into the UML

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Programming and Software Development CTAG Alignments

PROJECT MANAGEMENT SYSTEM

UML Modelling of Automated Business Processes with a Mapping to BPEL4WS

Elevator Security. General. In This Section. Several elevator security options are available for MCE Controllers. Basic Security

Going Faster: Testing The Web Application. By Adithya N. Analysis and Testing of Web Applications Filippo Ricca and Paolo Tonella

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model

System Modeling / Class Diagra Diagr m a Week 6

Embedded Real-Time Systems (TI-IRTS) GoF State Pattern a Behavioral Pattern

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Pseudo code Tutorial and Exercises Teacher s Version

2667A - Introduction to Programming

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

BCS Certificate in Systems Modelling Techniques Syllabus

Section C. Requirements Elicitation

Visual Tutorial Basic Edition 1. Visual. Basic Edition Tutorial.

11 November

ORACLE DATA INTEGRATOR TRAINING

Source Code Translation

Umbrello UML Modeller Handbook

Ontological Identification of Patterns for Choreographing Business Workflow

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

How To Develop A Multi Agent System (Mma)

DESIGN AND DEVELOPING ONLINE IRAQI BUS RESERVATION SYSTEM BY USING UNIFIED MODELING LANGUAGE

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Course/Year W080/807 Expected Solution Subject: Software Development to Question No: 1

Implementing and Maintaining Microsoft SQL Server 2008 Integration Services

Menouer Boubekeur, Gregory Provan

Diagramming Techniques:

UML-based Test Generation and Execution

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

BPMN Business Process Modeling Notation

A Meeting Room Scheduling Problem

Using UML Part One Structural Modeling Diagrams

Flowcharting, pseudocoding, and process design

Chapter 5. Regression Testing of Web-Components

Generating Enterprise Applications from Models

System Behaviour Analysis with UML and Ptolemy. Scope and goals

Managing Variability in Software Architectures 1 Felix Bachmann*

Modeling the User Interface of Web Applications with UML

An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications

Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor

UML Tutorial: Part 1 -- Class Diagrams.

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Model Simulation in Rational Software Architect: Business Process Simulation

Creating a Semantic Web Service in 5 Easy Steps. Using SPARQLMotion in TopBraid Composer Maestro Edition

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

Object Oriented Design

JOURNAL OF OBJECT TECHNOLOGY

LEADing Practice: Artifact Description: Business, Information & Data Object Modelling. Relating Objects

Outbreak questionnaires and data entry using the new EpiData modules

A UML Introduction Tutorial

Programming Logic controllers

Chapter 4: Design Principles I: Correctness and Robustness

An Automated Model Based Approach to Test Web Application Using Ontology

Standard Languages for Developing Multimodal Applications

Transcription:

1 of 7 09/01/2008 7:57 UML By Examples Home UML Resources Table of Contents 1 Elevator Problem 2 Unified Modeling Language 3 Analysis 3.1 Use Case Dagram 3.2 Class Diagram 3.3 State Diagram 4 Design 4.1 Sequence Diagram 4.2 Collaboration Diagram 5 Detail Design 5.1 Detail Class Diagram 5.2 Detail Opreation Description 5.3 Pseud-Code 6. Acknowledgement 0. Introduction The aim of this tutorial is to show how to use UML in "real" software development environment. 1. Elevator Problem A product is to be installed to control elevators in a building with m floors. The problem concerns the logic required to move elevators between floors according to the following constraints: Each elevator has a set of m buttons, one for each floor. These illuminate when pressed and cause the elevator to visit the corresponding floor. The illumination is canceled when the elevator visits the corresponding floor. Each floor, except the first floor and top floor has two buttons, one to request and up-elevator and one to request a down-elevator. These buttons illuminate when pressed. The illumination is canceled when an elevator visits the floor and then moves in the desired direction. When an elevator has no requests, it remains at its current floor with its doors closed. 2. Unified Modeling Language UML is a modeling language that only specifies semantics and notation but no process is currently defined. Thus, we decided to do the analysis as follows;

2 of 7 09/01/2008 7:57 Use Case Diagram Class Diagram Sequence Diagram Collabration Diagram State Diagram 3. Analysis 3.1. Use case diagram Use case description: A generalized description of how a system will be used. Provides an overview of the intended functionality of the system. Understandable by laymen as well as professionals. Use Case Diagram: Elevator basic scenario that can be extracted from Use Case Diagram: Passenger pressed floor button Elevator system detects floor button pressed Elevator moves to the floor Elevator doors open Passenger gets in and presses elevator button Elevator doors closes Elevator moves to required floor Elevator doors open Passenger gets out Elevator doors closes 3.2. Class Diagram Class diagrams show the static structure of the object, their internal structure, and their relationships.

3 of 7 09/01/2008 7:57 Class diagram: 3.3. State diagram A state diagram shows the sequences of states an object goes through during it's life cycle in response to stimuli, together with its responses and actions. 4. Design The design phase should produce the detailed class diagrams, collaboration diagrams, sequence diagrams, state diagrams, and activity diagram. However, the elevator problem is too simple for an activity diagram. Thus, we are not using an activity diagram for the elevator problem. 4.1. Sequence Diagram A sequence diagram and collaboration diagram conveys similar information but expressed in different ways. A Sequence diagram shows the explicit sequence of messages suitable for modeling a real-time system, whereas a collobration diagram shows the relationships between objects. Sequence Diagrams:

4 of 7 09/01/2008 7:57 Sequence Diagram for Serving Elevator Button Sequence Diagram for Serving Door Button 4.2. Collaboration diagram Describes the set of interactions between classes or types Shows the relationships among objects

5 of 7 09/01/2008 7:57 Collabration diagrams: Collabration Digaram for Serving Elevator Button Collabration Digaram for Serving Door Button 5. Detail Design 5.1. Detail Class Diagram

6 of 7 09/01/2008 7:57 5.2. Detail Operation Description Module Name Module Type Input Argument Output Argument Error Message File Access File Change Method Invoke elevator::stop Narative Elevator_Control::Elevator_control_loop Method button::illuminate, button::cancel_illumination, door::open, door::close, elevator::move, 5.3. Pseudo-Code void elevator_control (void) { while a button has been pressed if button not on { button::illuminate; update request list; } else if elevator is moving up { if there is no request to stop at floor f Elevator::move one floor up; else }

7 of 7 09/01/2008 7:57 6. Acknowledgement This example was developed for topic in software engineering in Vanderbilt University by myself and my best friends: Helen Xioa Valeria Amburge Parvathi RajaGopal