Author :
Bril, Reinder J. ; Postma, André ; Krikhaar, René L.
Abstract :
Software architecture plays a vital role in the development (and hence maintenance) of large complex systems with a long lifetime. It is therefore required that the software architecture is also maintained, i.e. sufficiently documented, clearly communicated, and explicitly controlled. In our experience, these requirements cannot be met without appropriate support. Commercial-off-the-shelf support for architectural maintenance is still scarcely available, if at all, implying the need to develop appropriate proprietary means. In this paper, we briefly report upon an overall approach taken within three organizations within Philips that develop professional systems. We extensively describe the experience gained with the embedding of architectural support in these three organizations. We focus on architectural support in the area of software architecture recovery, visualization, analysis, and verification. In our experience, the support must be carried by a number of elements of software development, and all of these elements have to go through a change process to ensure sustainable embedding. We distinguish four of these elements, i.e. process, organization, software development environment, and humans, and present our experience in terms of those elements.
Keywords :
industries; program verification; software architecture; software development management; software maintenance; software tools; systems analysis; architectural maintenance; architectural support; commercial-off-the-shelf; industrial computing; professional systems; software architecture; software development; software maintenance; software recovery; software verification; software visualization; systems analysis; Biomedical imaging; Business communication; Consumer electronics; Context; Humans; Medical control systems; Programming; Software architecture; Software development management; Visualization;