From Non-Functional Requirements to Design through Patterns
Design patterns aid in documenting and communicating proven design solutions to recurring problems. They describe not only how to solve design problems, but also why a solution is chosen over others and what trade-offs are made. Non-functional requirements (NFRs) are pervasive in descriptions of design patterns. They play a crucial role in understanding the problem being addressed, the trade-offs discussed, and the design solution proposed. However, since design patterns are mostly expressed as informal text, the structure of the design reasoning is not systematically organised. This paper proposes a systematic treatment of NFRs in descriptions of patterns and when applying patterns during design. The approach organises, analyses and refines non-functional requirements, and provides guidance and reasoning support when applying patterns during the design of a software system. Three design patterns taken from the literature are used to illustrate this approach.
Key words:Architectural properties – Design patterns – Non-functional requirements – Process-oriented – Quality attributes – Quality requirements – Rationale – Requirements – Satisfying – Softgoal
Unable to display preview. Download preview PDF.
© Springer-Verlag London Limited 2001