Putting Non-Functional Requirements into Software Architecture (original) (raw)

This paper presents an approach for incorporating non-functional information of software systems into software architectures. To do so, components present two distinguished slots: their non-functional specification, where non-functional requirements on components are placed, and their non-functional behaviour with respect to these requirements. Also, connector protocols may describe which non-functional aspects are relevant to component connections. We propose a notation to describe non-functionality in a systematic manner, and we use it to analyse two particular aspects of the meeting scheduler case study, user interaction and performance. 1. Introduction Software systems are characterised both by their functionality (what the system does) and by their nonfunctionality or quality (how the system behaves with respect to some observable attributes like performance, reusability, reliability, etc.). Both aspects are relevant to software development but, traditionally, much more w...