Description Using UML
Henrik Bærbak Christensen, Aino Corry, and Klaus Marius Hansen
Department of Computer Science, University of Aarhus
Aabogade 34, 8200 ˚rhus N, Denmark
This document presents a practical way of describing software architectures using the Uniﬁed Modeling Language. The approach is based on a “3+1” structure in which three viewpoints on the described system are used – module, component & connector, and allocation – are used to describe a solution for a set of architectural requirements.
Software architecture represents an appropriate level of abstraction for many system development activitites [Bass et al., 2003]. Consequently and correspondingly, appropriate software architectural descriptions may support,
e.g., stakeholder communication, iterative and incremental architectural design, or evaluation of architectures [Bass et al., 2003], [Clements et al., 2002b],
[Clements et al., 2002a].
This document represents a practical basis for architectural description and in doing so, we follow the IEEE recommended practice for architectural description of software-intensive systems
[Software Engineering Standards Committee, 2000].
Central to this recommended practice is the concept of a viewpoint through which the software architecture of a system is described (see Figure 1). A concrete architectural description consists of a set of views corresponding to a chosen set of viewpoints.
This document recommends the use of three viewpoints (in accordance with the recommendations of [Clements et al., 2002a]):
• A Module viewpoint concerned with how functionality of the system maps to static development units,
• a Component & Connector viewpoint concerned with the runtime mapping of functionality to components of the architecture, and
• an Allocation viewpoint concerned with how software entities are
References: [Bass et al., 2003] Bass, L., Clements, P., and Kazman, R. (2003). Software Architecture in Practice [Clements et al., 2002a] Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., and Sta↵ord, J., editors (2002a) [Clements et al., 2002b] Clements, P., Kazman, R., and Klein, M., editors (2002b) [Hofmeister et al., 1999] Hofmeister, C., Nord, R., and Soni, D., editors (1999). 11 [Larman, 2002] Larman, C [OMG, 2003] OMG (2003). Uniﬁed Modeling Language speciﬁcation 1.5. Technical Report formal/2003-03-01, Object Management Group. [Software Engineering Standards Committee, 2000] Software Engineering Standards Committee (2000). IEEE recommended practice for architectural description of software-intensive systems