About two year ago (end of ‘94), after studying the software of several Nokia Telecommunication products we identified a number of problems that, at the time, we traced to a lack of attention to software architecture. From discussions with our colleagues from Philips we learnt that the problems were not Nokia-specific, and together decided to initiate a co-operative research project in the ESPRIT framework. In order to focus the project, we chose to emphasise the role of software architecture in developing families of software-intensive products. In this paper we provide a short summary of what we, at Nokia, have learnt from the industrial case studies during the first phase of the project. We address the role of architecture in software development project and the problems caused by overly concentrating on a single description of software architecture. Since architecture can be represented only through a collection of different descriptions we also believe that a mechanism is needed to manage and relate architectural information. In the case studies we recognised a set of problems caused by the abstraction of interfaces and suggest that further research is needed ‘on structuring interfaces. Architecture is often taken as a static model not addressing the legitimate paths for software evolution. A software designer faced with the task of extending existing software must recognise what are the essential problems to be addressed in her design and what are the constraints imposed by the architecture. We address this by introducing structure into description of recurring problems and creating classification trees to facilitate selection and composition of appropriate design decisions.
[1]
Mary Shaw,et al.
An Introduction to Software Architecture
,
1993,
Advances in Software Engineering and Knowledge Engineering.
[2]
David Notkin,et al.
Software reflexion models: bridging the gap between source and high-level models
,
1995,
SIGSOFT FSE.
[3]
Robert L. Nord,et al.
Software Architecture in Industrial Applications
,
1995,
1995 17th International Conference on Software Engineering.
[4]
Ralph Johnson,et al.
design patterns elements of reusable object oriented software
,
2019
.
[5]
Raimo Kantola.
Replicated Computations in a Distributed Switching Environment
,
1994
.
[6]
Alexander L. Wolf,et al.
Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture
,
2022
.
[7]
Xiaolei Qian,et al.
Correct Architecture Refinement
,
1995,
IEEE Trans. Software Eng..
[8]
Alexander Ran,et al.
Structuring interfaces
,
1996,
ISAW '96.
[9]
Alexander Ran,et al.
Design decision trees
,
1996,
Proceedings of the 8th International Workshop on Software Specification and Design.