Towards a Systematic Building of Software Architecture: the TRIDENT Methodological Guide François Bodart, Anne-Marie Hennebert, Jean-Marie Leheureux, Isabelle Provot, Benoît Sacré, Jean Vanderdonckt Facultés Universitaires Notre-Dame de la Paix, Institut d'Informatique Rue Grandgagnage, 21, B-5000 Namur (Belgium) Tel : + 32- (0)81- 72 50 06 - Fax : + 32- (0)81- 72 49 67 - Telex : 59.222 Fac. Nam.B E-mail : fbodart@info.fundp.ac.be Abstract. When designers are facing the question how to build an application architecture practically, they often have to consider various arguments and factors coming from different perspectives: decomposition criteria in archi- tecture design, dialog independence in user interface (UI) design, methodology to follow in a development team. These factors are not easy to conciliate, forcing designers to make trade offs or unbalanced choices. In this paper, we discuss an architecture model, which is part of TRIDENT project, that addresses these issues. It consists of a generic architecture model for highly interactive business oriented applications. It is accompanied with a practical task-based methodology for building an architecture that automatically preserves desired criteria. Assumptions made for the architecture model, its content and the semantics of relationships are explained. The systematic approach is exemplified by a complete architecture case throughout the paper. Software Architecture Analysis Method (SAAM) is finally applied to prove the benefits of this architecture and to evaluate it with respect to relevant criteria. This paper suggest first steps towards a systematic building of a software architecture. 1 Introduction Several architecture models which are convenient for an interactive application have already been introduced [1,6,7,14,15]. Though they can be examined according to a generic metamodel [16], it is not always clear to judge the appropriateness and the quality of these models [8,9]. Up to now, gained experience shows that a multiplicity of factors is to be considered : traditional architectures coming from software engineering do not support UI design easily : architectures should provide relevant abstractions needed for configurable UI components, particularly when UI is adaptable [4]; application architectures should satisfy usual decomposition criteria : e.g., high internal cohesion, weak coupling degree, easy component reusability [1]; application architectures should meet more advanced criteria needed by interactive application development : e.g., conceptual simplicity, reuse of code, quality of resulting UI, easy maintenance [16]; in Proceedings of Eurographics Workshop on Design, Specification, Verification of Interactive Systems DSV-IS'95 (Château de Bonas, 7-9 June 1995), R. Bastide & Ph. Palanque (Eds.), Eurographics Series, 1995, pp. 237-253.