Elsevier

Computer Networks

Volume 42, Issue 3, 21 June 2003, Pages 285-301
Computer Networks

Introduction to the User Requirements Notation: learning by example

https://doi.org/10.1016/S1389-1286(03)00244-5Get rights and content

Abstract

Recognizing the need for a notation that would be used in the very first and often informal stages of the development cycle, the International Telecommunication Union (ITU-T) initiated a question on a User Requirements Notation (URN), which will be standardized as the Z.150 series of Recommendations. URN supports the development, description, and analysis of requirements for telecommunications systems and services, as well as for other types of complex reactive, distributed, and dynamic systems. Through a wireless telephony example, this paper gives an overview of the core elements and typical usage of the two complementary notations comprised in URN. The Goal-oriented Requirement Language (GRL) is used to describe business goals, non-functional requirements, alternatives, and rationales, whereas Use Case Map (UCM) enables the description of functional requirements as causal scenarios. This paper also briefly explores methodology elements and the complementarity between URN and the existing ITU-T languages.

Introduction

Requirements engineering has become an essential part of all development processes, especially in the area of complex reactive and distributed systems, which includes telecommunications services. However, few standardized notations and techniques can address the needs specific to visualizing and analyzing functional (behaviour) and non-functional requirements (NFRs, such as performance, cost, security, and usability). The User Requirements Notation (URN), to be published by the International Telecommunications Union (ITU-T) in 2003, pioneers work in the standardization of visual notations that address these needs [16]. URN will allow software engineers and requirements engineers to discover or specify requirements for a proposed system or an evolving system, and review such requirements for correctness and completeness. Standardization of a formally defined notation used for capturing and analyzing user requirements aims to make requirements engineering activities more rigorous and predictable and the results yielded by these activities clearer, more consistent, correct, and complete. These results should lead to a reduction of development costs, earlier delivery of products to market, and increased customer satisfaction.

URN focuses on user requirements (desired goals or functions that users or other stakeholders expect the system to achieve) but it also enables the description of their refinement as system requirements (expression of ideas to be embodied in the system or application under development). Like most notations in ITU-T’s family of languages, URN is graphical, because graphical presentations are often compact and evocative.

The URN is intended for use in requirements descriptions in specifications developed by national and international standards organizations. In ITU-T, requirements descriptions are often called Stage 1 descriptions (e.g., Q.65 [13]). The URN is also intended for use by commercial organizations developing requirements specifications for new products and product extensions; these specifications are not necessarily governed by standards.

In order to cope with the ever-increasing complexity of requirements engineering activities for emerging telecommunications services, reactive systems, and distributed systems, URN is defined to have the following capabilities [16]:

  • 1.

    capture user requirements when very little design detail is available;

  • 2.

    describe scenarios as first class entities without requiring reference to system sub-components, specific inter-component communication facilities, or sub-component states;

  • 3.

    facilitate the transition from a requirements specification to a high-level design involving the consideration of alternative architectures and the discovery of further requirements that must be vetted by the stakeholders;

  • 4.

    have dynamic refinement capability with the ability to allocate scenario responsibilities to architectural components;

  • 5.

    be applicable to the design of policy-driven negotiation protocols involving dynamic entities;

  • 6.

    facilitate detection and avoidance of undesirable interactions between services (also called features in this paper);

  • 7.

    provide insight at the requirements level that enables designers to reason about feature interactions and performance trade-offs early in the design process;

  • 8.

    provide facilities to express, analyze and deal with goals and non-functional requirements;

  • 9.

    provide facilities to express the relationship between goals and system requirements;

  • 10.

    provide facilities to capture reusable analysis and design knowledge related to know-how for addressing non-functional requirements;

  • 11.

    provide facilities to trace and transform requirements to other languages (especially ITU-T notations and UML);

  • 12.

    provide facilities to connect URN elements to external requirements objects;

  • 13.

    provide facilities to manage evolving requirements.

Since it is next to impossible to find a single notation that could satisfy all these ambitious objectives, the current proposal for URN combines two complementary notations: the Goal-oriented Requirement Language (GRL) for goals and NFRs, and Use Case Maps (UCMs) for scenarios. The nature and content of GRL and UCMs will be illustrated in 3 Goals, non-functional requirements, and GRL, 4 Scenarios, functional requirements, and use case maps, respectively. As the standard is still evolving and not yet completed, this tutorial focuses on the core notation elements that are the most stable and the most useful. More advanced concepts and notation elements may be tackled at times, but they will not be systematically covered.

In order to illustrate typical applications of the notations, we will use an example from the wireless telephony domain. Though inspired from previous work on the application of UCMs to 2.5 G and 3 G wireless standards in TIA, 3GPP, and 3GPP2 [2], [4], [12], [27], and especially from the work done by Andrade and Logrippo [6], [7], this partial example is artificial and is not a case study as such. It is meant to illustrate a variety of notation elements in a context simpler than real wireless systems and standards, which would need to address many more concerns. In order to help the readers unfamiliar with background terminology and structural concepts commonly found in wireless telephony, a brief introduction to TIA’s Wireless Intelligent Network (WIN) is given in Section 2.

URN does not impose any process or methodology on its users. However, elements of typical processes and relations to other languages are explored in Section 5, followed by our conclusions. As a convenience to the reader, Appendix A provides a summary of the main notation elements found in GRL and UCM.

Section snippets

WIN concepts and terminology

Our URN examples will be presented in the context of the Wireless Intelligent Network standard, which has been developed to drive Intelligent Network capability into ANSI-41-based wireless networks [27]. WIN separates call processing intelligence and feature functionality from network switches, includes mobility management functions, and offers a diversity of enhanced services to subscribers. WIN was developed in multiple phases and covered various features from call screening to flexible

Goals, non-functional requirements, and GRL

In software development practice, many non-functional requirements (NFRs) are stated only informally, making them difficult to analyze, specify and enforce during software development and to get validated by customers and users once the system has been built. Goal-oriented modelling, which aims to address such issues, has been used in the requirements engineering community for a number of years. A goal is an objective or concern used to discover and evaluate functional and non-functional

Scenarios, functional requirements, and use case maps

A functional requirement is a requirement defining functions of the system under development. Modelling functional requirements of complex systems often implies an early emphasis on behavioural aspects, often captured in the form of use cases and scenarios. In a recent survey [3], it was observed that few scenario notations can offer capabilities such as those enumerated in Section 1 (1–7 in particular). Many notations are variants of MSCs and focus on messages and inter-component interactions.

Methodology elements

The upcoming URN standard will not impose any development process. However, several methodology elements will be proposed in a companion document (Z.153), and some of the most typical ones are discussed in this section.

The first problem requirements engineers and designers are faced with when using URN is where to start. For new systems, one can start by identifying and analyzing system objectives and tentative corse-grained requirements (functional and non-functional). Evaluations of GRL

Conclusions

This paper gives an overview of the core URN concepts and notation elements, illustrated with examples from the wireless telephony domain. URN supports the discovery and analysis of requirements at multiple levels. It targets early phases of the development of complex reactive, distributed and dynamic systems, but is also applicable to many other domains, both in industrial setting and in standardization organizations. URN helps bridging the gap between informal and formal concepts, and between

Acknowledgements

The author is indebted to Rossana Andrade, Gunter Mussbacher, and the members of the URN Focus Group for all their contributions. A special thank goes to Ognian Kabranov, Misbah Islam, Rossana Andrade, Don Cameron, and anonymous reviewers for comments on an earlier version of this paper. This work was supported financially by Nortel Networks, NSERC, and the University of Ottawa, Canada.

Daniel Amyot is Assistant Professor at the School of Engineering and Information Technology, University of Ottawa. He was previously Senior Researcher for Mitel Networks. He has been working extensively with Use Case Maps for the past ten years and is now ITU-T Rapporteur for the User Requirements Notation (Study Group 17, Question 18). Daniel has a Ph.D. (Specification and Validation of Telecommunications Systems with Use Case Maps and LOTOS) and a M.Sc. from the University of Ottawa (2001 and

References (29)

  • D. Amyot et al.

    Use case maps and LOTOS for the prototyping and validation of a mobile group call system

    Computer Communication

    (2000)
  • D. Amyot, Specification and validation of telecommunications systems with Use Case Maps and LOTOS, Ph.D. thesis, SITE,...
  • D. Amyot, R. Andrade, Description of wireless intelligent network services with Use Case Maps, SBRC’99, 17th Simpósio...
  • D. Amyot, A. Eberlein, An evaluation of scenario notations and construction approaches for telecommunication systems...
  • D. Amyot, G. Mussbacher, On the extension of UML with Use Case Maps Concepts, in: ≪UML≫2000, 3rd International...
  • R. Andrade, Capture, reuse, and validation of requirements and analysis patterns for mobile systems, Ph.D. thesis,...
  • R. Andrade, L. Logrippo, Reusability at the early development stages of the mobile wireless communication systems, in:...
  • H. de Bruin, H. van Vliet, Scenario-based generation and evaluation of software architectures, in: Generative and...
  • R.J.A. Buhr et al.

    Use Case Maps for Object-Oriented Systems

    (1996)
  • R.J.A. Buhr

    Use Case Maps as architectural entities for complex systems

    IEEE Transactions on Software Engineering

    (1998)
  • L. Chung et al.

    Non-Functional Requirements in Software Engineering

    (2000)
  • R. Guan, From requirements to scenarios through specifications: a translation procedure from Use Case Maps to LOTOS,...
  • ITU-T, Recommendation Q.65, The unified functional methodology for the characterization of services and network...
  • ITU-T, Recommendation Z.100, Specification and Description Language (SDL), Geneva,...
  • Cited by (0)

    Daniel Amyot is Assistant Professor at the School of Engineering and Information Technology, University of Ottawa. He was previously Senior Researcher for Mitel Networks. He has been working extensively with Use Case Maps for the past ten years and is now ITU-T Rapporteur for the User Requirements Notation (Study Group 17, Question 18). Daniel has a Ph.D. (Specification and Validation of Telecommunications Systems with Use Case Maps and LOTOS) and a M.Sc. from the University of Ottawa (2001 and 1994), as well as a B.Sc. from Laval University (1992). His research interests include scenario-based software engineering, requirements engineering, and feature interactions.

    View full text