From Stakeholder Goals to High-Variability Software Design
Yijun Yu, John Mylopoulos, Alexei Lapouchnian, Sotirios Liaskos, Julio C.S.P · 2005
Software requirements consist of functionalities and qualities to be accommodated during design. Through goal-oriented requirements engineering, stakeholder goals are analyzed into a model that defines a space of alternative functionalities that can fulfill these goals. We adopt this framework and propose a decision-making process to gen-erate a generic software design that can accommodate the full space of alternative functionalities each of which can fulfill stakeholder goals. Specifically, we present a process for generating three complementary design views from a goal model: a feature model, a set of statecharts and a com-ponent/connector architecture. The process is supported by heuristic rules that guide the design. We demonstrate the process through a case study of an open-source email sys-tem. 1