Object Modeling with UML



Similar documents
The main concepts for object approaches and UML

The Business Process Model

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

Business Modeling with UML

Analysis vs. Design: What s the Difference?

Menouer Boubekeur, Gregory Provan

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

Using UML Part One Structural Modeling Diagrams

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

Information systems modelling UML and service description languages

10 Deadly Sins of Software Estimation.

UML FOR OBJECTIVE-C. Excel Software

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

Incorporating Aspects into the UML

UML TUTORIALS THE USE CASE MODEL

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

Hardware Verification with the Unified Modeling Language and Vera

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

A UML Introduction Tutorial

2. Analysis, Design and Implementation

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

A technical discussion on modeling with UML 06/11/03 Entity Relationship Modeling with UML

What is a metamodel: the OMG s metamodeling infrastructure

Using Use Cases for requirements capture. Pete McBreen McBreen.Consulting

Programming Language Constructs as Basis for Software Architectures

UML other structural. diagrams. (Implementation Diagrams UML 1.5) Università di Padova. Facoltà di Scienze MM.FF.NN. Informatica - anno

Towards an Integration of Business Process Modeling and Object-Oriented Software Development

Umbrello UML Modeller Handbook

Software Project Management and UML

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

A Formal Design of Online Ticketing System

Execution of A Requirement Model in Software Development

A Rational Software Whitepaper

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

11 November

Modeling the User Interface of Web Applications with UML

MANAGEMENT S ROLE 1/16/ Copyright 2001, Net Objectives

All you need are models Anneke Kleppe, Klasse Objecten

UML Design and Auto-Generated Code: Issues and Practical Solutions

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Modeling Web Applications Using Java And XML Related Technologies

Role-based Authorization Constraints Specification Using Object Constraint Language

Chap 1. Introduction to Software Architecture

Dr. Jana Koehler IBM Zurich Research Laboratory

Rose Data Modeler (logical)

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Multidimensional Modeling with UML Package Diagrams

Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6

Business Process Management Initiative - BPMN and the BPCNOM Style

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

&$:,&206Ã.QRZOHGJHÃ$FTXLVLWLRQÃ&RPSRQHQW. Interface 4. &$:,&206Ã&RQILJXUDWLRQÃ6HUYHU &$:,&206Ã%DFNHQG Interface 2 'LVWULEXWHG 3UREOHPÃ6ROYLQJ

Modelling with Papyrus: Domain-Specific Modelling Languages using UML Profiles

Getting Started With UML Class Modeling. An Oracle White Paper May 2007

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

UML Activity Diagrams: Versatile Roadmaps for Understanding System Behavior

The Online Grade Book A Case Study in Learning about Object-Oriented Database Technology

Jos Warmer, Independent

How to Make a Domain Model. Tutorial

UML Tutorial: Part 1 -- Class Diagrams.

Using UML Part Two Behavioral Modeling Diagrams

Rational Software White Paper

The Fast Guide to Model Driven Architecture

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

Section C. Requirements Elicitation

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

Object-oriented design methodologies

Journal of Internet Banking and Commerce

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

Rose/Architect: a tool to visualize architecture

Experiences with ALM tools in Software Engineering course

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Embedded Systems in UML

UML Tutorial. Table of Contents. 1. Introduction Problem Proposed Solution Assumptions Dependencies

Universiti Teknologi MARA. Requirement Analysis Using UML Approach for Research Management System (RMS)

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

Software Requirements Specification of A University Class Scheduler

Software Component Specification Using Design by Contract

Applying MDA in Developing Intermediary Service for Data Retrieval

Introduction to Software Engineering (ESE : Einführung in SE)

The Software Lifecycle. Software Lifecycles

10 Deadly Sins of Software Estimation

Software Development Methodologies

A Software Development Process Model Integrating Business Object Technology and UML. Axel Korthaus and Stefan Kuhlins

Structural Design Patterns Used in Data Structures Implementation

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Design by Contract beyond class modelling

INTRODUCTION TO BUSINESS PROCESS MODELING NOTATION BPMN 1.2 AND BPMN 2.0

An Approach towards Automation of Requirements Analysis

TDDC88 Lab 2 Unified Modeling Language (UML)

Transcription:

Object Modeling with UML Steve Tockey Construx Software Builders 14715 Bel-Red Rd #100 Bellevue, WA 98007 stevet@construx.com www.construx.com

Intro (14-Jan-01) Page 1-2

Section Outline Goals of This Tutorial Outline of This Seminar Why Have Software Models, Anyway? Understanding Software Methods The History of UML Generic UML Facilities For More UML Information... Intro (14-Jan-01) Page 1-3

Goals of This Tutorial To have you understand a practical and useful distinction between analysis and design Give you a tour of a subset of UML in the context of this definition of analysis and design To give you a set of references so that you can get more information about UML after this tutorial is over Intro (14-Jan-01) Page 1-4

Outline of This Tutorial Analysis vs. Design: What s the Difference? UML Meets Analysis - Use Case Diagrams - Class Diagrams - Collaboration Diagrams - State Diagrams, Actions, and Activities Moving into Design Tutorial Summary Intro (14-Jan-01) Page 1-5

Why Have Software Models, Anyway? A study by the US General Accounting Office showed a 4% probability of success in delivering software, at cost and on schedule, that actually met customer needs [complete reference unknown] A 1975 study showed that a majority of software errors in delivered systems are not coding related - Instead, they are a direct result of missing, conflicting, mis-understood, or mis-interpreted requirements [Boehm75] In other words, the code did exactly what the programmer wanted. The trouble was, customer wanted something else Intro (14-Jan-01) Page 1-6

[Boehm75] Barry W. Boehm, Software Design and Structuring, in Practical Strategies for Developing Large Software Systems, Ellis Horowitz ed., Addison-Wesley, 1975 Intro (14-Jan-01) Page 1-7

Why Have Software Models, Anyway? (cont) The focus of software methods is on blueprints that help us build it right the first time "The overriding concern... is not to achieve success, but to avoid failure." [DeMarco79] Industry studies also show that about 80% of the total software lifecycle cost is maintenance (i.e., post-delivery) - Properly maintained, these same blueprints can significantly reduce software maintenance costs by answering the maintainer s key questions: * What is this piece of the software for? * Why does it look the way it does? Intro (14-Jan-01) Page 1-8

[DeMarco79] Tom DeMarco, Structured Analysis and System Specification, Yourdon Press, 1979 (p9) Intro (14-Jan-01) Page 1-9

Understanding Software Methods In general, modeling methods can be described in four separate dimensions - Concepts - Rules - Notations - Process(es) Concepts - The aspects of a system that can be captured in that kind of model What kinds of things about the world can be modelled? Rules - The criteria for determining whether or not a given model is well-formed How do you know that a model is meaningful? Notations - The graphical and textual forms for rendering models How do you write the model down so that others can read it? Process(es) Intro (14-Jan-01) Page 1-10

- The ordered steps that lead you to completion How do you get from a blank sheet of paper to a finished model? Intro (14-Jan-01) Page 1-11

Understanding Software Methods (cont) What are the concepts and rules in this example? Income Calculate Gross Income Gross Income Compute Taxable Income Tax Tables Allowable Deductions Taxable Income Amount Due Proposed Deductions Sum Allowable Deductions Total Allowed Deductions Find Tax Liability Tax Liability Compute Payment Witholdings What are the notations in the example? What are the process(es) What about the following model? Income Calculate Gross Income Gross Income Compute Taxable Income Tax Tables Allowable Deductions Taxable Income Amount Due Proposed Deductions Sum Allowable Deductions Total Allowed Deductions Find Tax Liability Tax Liability Compute Payment Witholdings Intro (14-Jan-01) Page 1-12

Understanding Software Methods (more) Why is any of this important? - The concepts and rules frame your ability to model - Notations give you a means to share the model with others * But the same concepts can often be expressed with different notations - Different process(es) work better in different situations * There is no one-size-fits-all process So what does this have to do with UML? - UML has a defined set of concepts - UML has a defined set of rules - UML has a defined notation - UML does not have any defined process(es) Intro (14-Jan-01) Page 1-13

The History of UML Object-oriented design first appeared in about 1984 Object-oriented analysis first appeared in about 1987 Since then, a number of competing approaches have emerged (Booch, Rumbaugh, Shlaer-Mellor,...) - Most of these approaches share many common features - Most of these approaches have arbitrary differences The Object Management Group (OMG) started an effort in June, 1995 to agree on a common approach to modeling object-oriented systems - UML 1.1, formally adopted by the OMG on November 19, 1997 - UML 1.2, editorial revision - UML 1.3, minor updates based on user comment - UML 1.4, TBD - UML 2.0, substantial internal restructuring Intro (14-Jan-01) Page 1-14

Generic UML Facilities Notes - A graphical symbol containing textual information (possibly including embedded images) * UML s comment * Can be attached to a model element by a dashed line This is an example of a note Stereotypes - A way to specify a usage distinction - Can either use <<stereotype name>> or a special icon Serial Port <<hardware>> Bus Address Ready Read Write Types vs. instances - Use the same icon, but underline the name Intro (14-Jan-01) Page 1-15

Bank Account Balance Status Open Deposit Examine Balance Withdraw Close Account 000295: Bank Account Intro (14-Jan-01) Page 1-16

Generic UML Facilities (cont) Constraints - Semantic relationships among model elements that specify conditions and propositions that must be maintained as true - No defined UML constraint language, although OCL is part of the UML definition { Employee.Salary < Employee.Boss.Salary } Tagged Values - General properties attached to model elements { author = Joe, status = tested } Packages - A way to break models into more manageable chunks - The dashed-line-with-arrow means a dependency exists between the packages - Use PackageName::ElementName to refer to a model element in a different package Intro (14-Jan-01) Page 1-17

Fancy Accounting System Business Logic User Interface Persistent Store Intro (14-Jan-01) Page 1-18

For More UML Information... http://www.omg.org/technology/documents/formal/ unified_modeling_language.htm Craig Larman, Applying UML and Patterns: An Introduction to Objectoriented Analysis and Design, Prentice-Hall, 1997 Martin Fowler with Kendall Scott, UML Distilled: Applying the Standard Object Modeling Language, Addison-Wesley, 1997 Hans-Erik Eriksson and Magnus Penker, UML Toolkit, Wiley, 1997 James Odell and Martin Fowler, Advanced Object-oriented Analysis and Design using UML, SIGS Books, 1998 Pierre-Alain Muller, Instant UML, Wrox Press, 1997 James Martin and Jim Odell, Object-oriented Methods: A Foundation: UML Edition, Prentice-Hall, 1997 Bruce Powell Douglass, Real-time UML: Developing Efficient Objects for Embedded Systems, Addison-Wesley, 1998 Paul Harmon and Mark Watson, Understanding UML: The Developer s Guide: With a Web-based Application in Java, Morgan Kaufman, 1997 Putnam Texel and Charles Williams, Use Cases Combined with Booch/OMT/UML: Process and Products, Prentice-Hall, 1997 Magnus Penker and Hans-Erik Eriksson, Business Modeling with UML: Business Patterns and Business Objects, Wiley, 1999 Intro (14-Jan-01) Page 1-19

Intro (14-Jan-01) Page 1-20

For More UML Information... (cont) R J Pooley and Perdita Stevens, Component Based Software Engineering with UML, Addison Wesley, 1998 Jos Warmer and Anneke Kleppe, The Object Constraint Language: Precise Modeling with UML, Addison-Wesley, 1998 Desmond D Souza and Alan Wills, Objects, Components and Frameworks with UML: The Catalysis Approach, Addison-Wesley, 1998 Ari Jaaksi et al, Tried and True Object Development: Industry-proven Approaches with UML, SIGS Books, 1998 Sinan Si Alhir, UML In a Nutshell, O Reilly & Associates, 1998 http://www.rational.com OTUG@rational.com ADTF@omg.org UML-RTF@omg.org Intro (14-Jan-01) Page 1-21

Key Points Methods result in blueprints for software systems These blueprints are extremely valuable during maintenance - Where about 80% of the lifecycle cost really is In general, modeling methods can be described in four separate dimensions - Concepts - Rules - Notations - Process(es) UML only defines Concepts, Rules, and Notations - Process is not part of the existing UML definition UML is a joint effort sponsored by the OMG There are a number of generic UML facilities - Notes - Stereotypes - Types vs. Instances - Constraints - Packages There are plenty of resources for finding more UML information Intro (14-Jan-01) Page 1-22