June 30, 2007
Conference Paper

UML Profiles for Design Decisions and Non-Functional Requirements

Abstract

A software architecture is composed of a collection of design decisions. Each design decision helps or hinders certain Non-Functional Requirements (NFR). Current software architecture views focus on expressing components and connectors in the system. Design decisions and their relationships with non-functional requirements are often captured in separate design documentation, not explicitly expressed in any views. This disassociation makes architecture comprehension and architecture evolution harder. In this paper, we propose a UML profile for modeling design decisions and an associated UML profile for modeling non-functional requirements in a generic way. The two UML profiles treat design decisions and nonfunctional requirements as first-class elements. Modeled design decisions always refer to existing architectural elements and thus maintain traceability between the two. We provide a mechanism for checking consistency over this traceability. An exemplar is given as

Revised: February 6, 2009 | Published: June 30, 2007

Citation

Zhu L., and I. Gorton. 2007. UML Profiles for Design Decisions and Non-Functional Requirements. In 2nd International Workshop on SHAring and Reusing architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI 2007). Washington, District Of Columbia:IEEE Computer Society. PNNL-SA-54913.