Home

  About Us

  Products

  Process Models

  SE Resources

  Commentary

  Contact us

Breaking News!

A new blog ... visit OnCenter, Roger Pressman's running commentary on the world at large

A new edition ... the 6th edition of Software Engineering is available now

A first novel ... Roger Pressman's first novel is a technothriller -- The Aymara Bridge

A new training curriculum! RSP&A has partnered with QAI to develop a comprehensive Internet-based software engineering curriculum.

A redesigned Web site ... we've done a major redesign and added many new features

 
Reference Library
UML-Related Materials

This page provides access to a variety of downloadable papers that address UML related materials. The following topics are considered:

Analysis
Design Diagrams/Notation
General
Modeling
Process



Analysis

Analysis and Design with UML [PPT]
Rational Software Corporation

This PowerPoint presentation presents the following: benefits of visual modeling, history of the UML, visual modeling with UML, and the Rational Iterative Development Process.

Consistency Analysis of UML Class and Sequence Diagrams using Attributed Graph Grammars [PDF]
Aliki Tsiolakis and Hartmut Ehrig

This slide presentation covers the following topics: UML diagrams and consistency, relations between UML class and sequence diagrams and resulting consistency problems, UML class and sequence diagrams as attributed graphs and graph grammars, and algorithms for consistency analysis.

Extending UML to Support Domain Analysis [PDF] *FEE*
Maurizio Morisio, Guilherme H. Travassos and Michael E. Stark

In this paper the authors developed a domain engineering approach and supporting tools to define software product lines. The notation for this approach is an extension of UML, the process is influenced by Synthesis and FAST, and the supporting tools were built on a commercial CASE tool for UML. This paper discusses the analysis of the approach, mainly the notation and support tools.

Object Oriented Analysis and Design using the UML Version 4.2
Module 6: Architectural Analysis [PPT]

Rational Software

The objectives of this PowerPoint presentation are: understand the purpose of architectural analysis and where in the lifecycle it is performed, describe a representative architectural pattern and set of analysis mechanisms and how they affect the architecture, understand the rationale and considerations that support the architectural decisions, and understand how to read and interpret the results of architectural analysis.

UML Diagrams for Chapter 2 of Analysis Patterns [PDF]
Martin Fowler and Michael Feathers

This paper contains UML diagrams of analysis patterns for chapter 2 of Analysis Patterns by Martin Fowler.

Back to the top

Design

Component - Level Design (Procedural Design) [PPT]
Derya Birant

This PowerPoint presentation covers the following: what component-level design is, when, who, why, what are the steps, structured programming, graphical design notation (flow charts, box diagram), tabular design notation, program design language, and comparison of design notation.

Designing Real - Time Applications with the COMET/UML Method [PDF]
Hassan Gomaa

Most object-oriented analysis and design methods only address the design of sequential systems or omit the important design issues that need to be addressed when designing real-time and distributed applications. It is essential to blend object-oriented concepts with the concepts of concurrent processing in order to successfully design these applications. This paper describes some of the key aspects of the COMET method for designing real-time and distributed applications, which integrates object-oriented and concurrent processing concepts and uses the UML notation.

Is the UML Ready for Real - Time? [PDF]
Bruce Powel Douglass

This paper discusses UML, the benefits of objects, views of medium scale modeling (class and object diagrams, message sequence diagrams, and statecharts), design patterns, large-scale structuring (use case, packaging, and deployment diagram), and real time issues.

Object Oriented System Design using UML [PDF]
Author Unknown

This paper focuses on: how UML classes translate into program code, how the class diagram enables us to map the individual O-O classes and relationships onto a Relational Database, and how messages shown on a Sequence diagram define BOTH the sequence of execution of the methods AND to which classes these methods should be encapsulated with.

Unified Modeling Language for Real - Time Systems Design [PDF]
Rational Software Corporation

This paper discusses UML, a third generation object-oriented modeling language. Topics include: an object-oriented approach to modeling systems, modeling with UML diagrams, class diagram (classes, attributes, operations, relationships), use-case diagram, interaction diagrams (scenarios, sequence diagram, collaboration diagram, message synchronization), state diagram, component diagram, deployment diagram and advanced UML features.

Back to the top

Architecture

Extending Architectural Representation in UML with View Integration [PDF]
Alexander Egyed and Nenad Medvidovic

The main advantages of representing other types of views in UML are 1) a common data model and 2) a common set of tools that can be used to manipulate that model. However, attempts at representing additional views in UML usually fall short of their full integration with existing views. Integration extends representation by also describing interactions among multiple views, thus capturing the inter-view relationships. Those inter-view relationships are essential to enable automated identification of consistency and conformance mismatches. This work describes a view integration framework and demonstrates how an architecture description language, which was previously only represented in UML, can now be fully integrated into UML.

Round - Trip Software Engineering using UML: From Architecture to Design and Back [PDF]
Nenad Medvidovic, Alexander Egyed and David S. Rosenblum

The paper assesses UML's suitability for modeling architectural concepts and provides a framework for identifying and resolving mismatches within and across different UML views, both at the same level of abstraction and across levels of abstraction. Finally, the paper briefly discusses the author's current tool support for round-trip software engineering.

UML Component Diagrams and Software Architecture - Experiences from the WREN Project [PDF]
Chris Lüer and David S. Rosenblum

In the course of building Wren, a component-based development environment, the authors encountered several difficulties when they tried to use UML component diagrams for modeling software architectures. One, the semantic interpretation of interfaces and dependencies is not clear in all cases. Two, component diagrams lack the expressive power to model unmet requirements.

Using UML for Architectural Design of SDL Systems [PDF]
Jacqueline Floch

This paper has clarified and extended UML solutions for describing system software structures and the deployment of software components on a hardware platform. This work has focused on the transition from a SDL specification to a concrete system. The architectural design concepts are introduced, the SOON notation is presented, the implementation concepts defined in UML are described and these concepts are presented together with the UML extension mechanisms. UML shortcomings and achievements in the Telelogic Tau tools are also discussed.

Using UML in Architecture - Level Modifiability Analysis [PDF]
Nico Lassing, Daan Rijsenbrij and Hans van Vliet

In this scenario-based method for software architecture-level modifiability analysis of business information systems, the authors use architectural views to determine and express the effect of change scenarios. They distinguish four architectural views. They used the Unified Modeling Language (UML) notation to formalize the information captured in these views. This paper reports on the experience the authors gained in this process.

Back to the top

Diagrams/Notation

A Diagrammatic Tool for Representing User Interaction in UML [PDF]
Patrícia Vilain, Daniel Schwabe and Clarisse Sieckenius de Souza

Use cases are easily understood by users since they are essentially textual descriptions, but lack the precision and the conciseness accomplished by the other diagrammatic tools of UML. Besides, there is no systematic method that helps the designer to obtain such UML diagrams from a set of use cases. In this paper the authors present a diagrammatic tool to represent the users/system interaction called user interaction diagram (UID). UIDs have proven to be a valuable tool to gather requirements since they describe the exchange of information between the system and the user in a high level of abstraction, without considering specific user interface aspects and design details as in other UML diagrams. The authors show how UIDs can be incorporated into the requirements and analysis workflows of the Unified Process for software development.

Exploit the Power of UML
Accelerate Software Development [PDF]

GDPro

This UML poster shows artifacts created and maintained at GDPro. UML diagrams are provided for class, generalization, multiplicities, association, interfaces, parameterized class, activity diagrams, package diagrams, use case diagram, sequence diagram, state diagram, collaboration diagram, and concurrent states.

CS 494
Object - Oriented Analysis & Design
UML Class Models [PDF]

T. Horton

This slide presentation covers the following topics: how class models are used, class model perspectives, attributes and operations of classes, associations, generalization and inheritance, and aggregation and composition.

OMG Unified Modeling Language Specification
Version 1.4 [PDF]

Computer Associates International Inc., Electronic Data Systems Corporation, Hewlett-Packard Company, IBM Corporation, I-Logix, IntelliCorp, Microsoft Corporation, Object Management Group, Oracle Corporation, Ptech Inc., Rational Software Corporation, Reich Technologies, Softeam, Taskon A/S, and Unisys Corporation

This book on UML contains the following chapters: primary artifacts of UML, motivation, goals, and scope of UML, past, present and future of UML, UML semantics, foundation, behavioral elements, general mechanisms, UML notation guide (background and diagram elements), model management, general extension mechanisms, static structure diagrams, use case diagrams, interaction diagrams, collaboration diagrams, statechart diagrams, activity diagrams, implementation diagrams, UML example profiles, UML model interchange, and object constraint language specification.

Semantic Analysis and Consistency Checking of UML Sequence Diagrams [PDF]
Aliki Tsiolakis

In a UML model, different aspects of a system are covered by different types of diagrams and this bears the risk that an overall system specification becomes inconsistent or incomplete. Hence, it is important to provide means to check the consistency and completeness of a UML model. This problem is addressed in this report by integrating the information specified in class and statechart diagrams into sequence diagrams. The information is represented as constraints attached to certain locations of the object lifelines in the sequence diagram and this allows the identification of gaps and contradictions in the specifications. Furthermore, dependencies between the sequence diagrams of a model can be investigated based on the previous results and represented in use case diagrams.

Back to the top

General

A Classification of Stereotypes for Object - Oriented Modeling Languages [PDF]
Stefan Berner, Martin Glinz and Stefan Joos

In this paper, the authors define a framework that classifies stereotypes according to their expressive power. They identify specific properties and typical applications for stereotypes in each of their four categories and illustrate them with examples. For each category, the authors discuss strengths and weaknesses of stereotypes and present a preliminary set of stereotype design guidelines.

COMO: A UML - Based Component Development Methodology [PDF] *FEE*
Sang Duck Lee, Young Jong Yang, Eun Sook Cho, Soo Dong Kim and Sung Yul Rhew

In this paper, the authors propose a practical object oriented component development methodology (COMO) that can be utilized in developing software components. COMO extends Unified Modeling Language (UML) and Rational's Unified process with semantics related to component development. Since COMO provides systematic process and comprehend instruction for each development task, the authors believe it can be effectively used in modeling and implementing software components.

Enterprise Modeling using Class and Instance Models [PDF]
Rakesh Agarwal, Giorgio Bruno and Marco Torchiano

This paper focuses on instance models, which are models of actual systems and as such they are made up of instances, and discusses the relationships between instance models and class models. A large number of applications, ranging from generic data modeling to enterprise modeling, require instance models. The importance of hierarchical composition is emphasized: its meaning and implications are discussed in both contexts. A novel approach for building templates out of aggregates of instances is also presented. A case study concerning enterprise modeling shows the application of the approach.

From Architecture to Design: Overview of UML [PDF]
Author Unknown

This slide presentation outlines the following: what is UML, history, diagrams, overview, and extensibility of UML.

Introduction to Object Oriented Design and Unified Modeling Language (UML) [PPT]
Petraq Papajorgii

The objectives of this PowerPoint presentation are: to introduce the basic principles of object oriented paradigm, introduce the basic concepts of UML notations associated with object oriented concepts, and to present some of the basis UML modeling approaches.

On the Extension of UML with Use Case Maps Concepts [PDF]
Daniel Amyot and Gunter Mussbacher

This paper presents how UCM concepts could be used to extend the semantics and notations of UML for the modeling of complex reactive systems. Adding a "UCM view" to the existing UML views can help bridging the gap separating requirements and use cases from more detailed views (e.g. expressed with interaction diagrams and statechart diagrams). Examples from telecommunications systems are given and a corresponding design trajectory is also suggested.

Problems and Deficiencies of UML as a Requirements Specification Language [PDF]
Martin Glinz

In recent years, UML has become a standard language for modeling software requirements and design. In this paper the authors investigate the suitability of UML as a semiformal requirements specification language. Using the Teleservices and Remote Medical Care (TRMCS) case study as an example, they identify and demonstrate various problems and deficiencies of UML, particularly concerning use case models and system decomposition. The authors also investigate whether and how the deficiencies can be overcome and how potential alternatives could look.

UML: A Standard Unified Modeling Language [DOC]
Author Unknown

These UML notes present UML, static modeling in UML, other methodologies for OO-analysis and design, what is the UML standard, implicit methodology, role of UML, UML notation-classes, and UML notation-class and object diagrams.

Use Case Maps
Quick Tutorial
Version 1.0 [PDF]

Daniel Amyot

This tutorial contains six parts. The first part introduces the tutorial. The second part discusses the aims of use case maps. The third part focuses on basic UCM path notation. The fourth part presents an overview of UCM component notation. The fifth part discusses advanced UCM path notation. The sixth part focuses on using UCMs.

Back to the top

Modeling

Advanced Modeling with UML [PPT]
Karin Palmkvist, Bran Selic, Jos Warmer and Nathan Dykman

This PowerPoint presentation contains three parts. Part 1 covers model management, part 2 covers extension mechanisms and profiles and part 3 covers the Object Constraint Language (OCL).

Agent Oriented Analysis using MESSAGE/UML [PDF]
Giovanni Caire, Francisco Leal, Paulo Chainho, Richard Evans, Francisco Garijo, Jorge Gomez, Juan Pavon, Paul Kearney, Jamie Stark and Philippe Massonet

This paper presents the MESSAGE/UML methodology which covers MAS analysis and design and extends UML. This methodology is illustrated by an analysis case study.

An Axiomatic Formalization of UML Models [PDF]
Toshiaki Aoki, Takaaki Tateishi and Takuya Katayama

As quality of analysis models determines that of succeeding design and implementation phases, formalization of the analysis phase is very important. In this paper, the authors propose a formal approach to analysis phase, consisting of (1)formal analysis models, (2)unification of the models, (3)an axiom system for consistency verification and (4)verification environment.

Modeling Legacy Architecture with UML [PDF]
Jeroen van Tyn

This slide presentation on modeling non-OO software architecture using UML and Rose includes the following topics: overview of legacy system, situation, management charter, stakeholder requests, challenges, existing source constructs, various modeling approaches, and a modified 4+1 view of architecture.

Software Design
Static Modeling using the Unified Modeling Language (UML)
And
Dynamic Modeling using the Unified Modeling Language (UML) [PDF]

Drexel University

This slide presentation has two parts. The first part covers the following: classes, class operations, depicting classes, class responsibilities, relationships, interfaces, parameterized class, enumeration, exceptions, packages, component diagram, and deployment diagram. The second part contains: use case, state machine, sequence diagram, collaboration diagram, and activity diagram.

Structure and Patterns in Software Design and the Unified Modelling Language (UML) [PDF]
Theodore Norvell

This slide presentation presents the following: structure, module relationships, UML, where UML fits in the software lifecycle, diagrams of UML, class relationships, sequence diagrams, collaboration diagrams, state diagrams, patterns of OO design, and structure patterns and structuralism.

The Modeling Pyramid: From Design to Production [PDF]
Tim R. Norton

This paper discusses the Modeling Pyramid which is used to connect the different layers, from design through development, together. Once connected, each step of the process relates to the previous and next step. Also each step is connected to the overall business process model.

Back to the top

Process

A Comparison of RUP® and XP [PDF]
John Smith

This paper compares RUP with Extreme Programming (XP) by nature and style as a process description, underlying structure, assumptions and presentation. Potential targets and the consequences of their use are also compared.

Customizing UML for Component Design [PDF]
Marc Born and Olaf Kath

This slide presentation outlines the following: motivation, general approach, concept space definitions, notation, an example, structural specifications, configuration specification, implementation specification, interaction rules, deployment specifications, code generation aspects, and implementation issues.

Dinosaur Meets Archaeopteryx?
Seven Theses on Rational's Unified Process (RUP) [PDF]

Wolfgang Hesse

This position paper summarizes some critical arguments on the Rational Unified Process (RUP). In particular, claims advertising the RUP e.g. to be iterative and architecture-centric - are discussed and its core concepts like phase, iteration, workflow and milestone are investigated. It is argued that their definitions and relationships to each other lack clear structure and are too complex and overloaded for practical use. Major sources of these problems are the adherence of the RUP authors to a phase-oriented process structure, their underestimation of the software architecture and of powerful structuring principles like recursion and orthogonality.

Rational Unified Process
Best Practices for Software Development Teams [PDF]

Rational Software Corporation

This paper provides an overview of the Rational Unified Process™. The process overview, phases and iterations - the time dimension, static structure of the process, core workflows, rational unified process - the product, and integration with tools are discussed.

Rational Unified Process Project Management Workflow [PDF]
Michael Fourman

This slide presentation outlines the following: purpose of project management, iterative process, project plan, two-level plans, phase plans, iteration plans, project risk, risk control, risk acceptance, metrics, and project management workflow.

Software Process Engineering Management
The Unified Process Model (UPM) [PDF]

IBM, Rational Software, SofTeam, Unisys, Nihon Unisys Ltd., Alcatel and Q-Labs (ex-Objectif Technologies)

This document presents the Unified Process Model (UPM) which describes concrete software development processes or a family of related process. Contents include: introduction, mapping to RFP requirements, conceptual model, package structure, basic elements, process structure, names, guidance, process components, process lifecycle, explanation of enactment, management of process assets, and UPM, UML and MOF.

The Estimation of Effort Based on Use Cases [PDF]
John Smith

This paper discusses a framework where use cases at any level are used to form an effort estimate. Contents include: the problem, other work, avoiding function decomposition, system considerations, assumptions about structure and size, and effort estimation.

The Ten Essentials of RUP
The Essence of an Effective Development Process [PDF]

Leslee Probasco

This paper presents a list of ten essentials of RUP that will serve as a starting point to determine elements needed for any project. Each item is discussed and explained why it is part of the list.

Back to the top