CSER Logo

Home

Links

People

Publications

Goal-oriented Software Development

While the software development process is mainly concerned with adding functional features, other processes focus on improving software quality. For example, software refactoring [2] enhances the quality of a software systems code (e.g., by improving understandability), while software optimization enhances the quality of the product itself (e.g, by improving performance). But there is often a trade-off between understandability and performance and other software qualities.

Our goal-driven software development process is an iterative process, based on softgoal interdependency graphs as introduced by the NFR framework[1], to select proper transformations quantitatively. As a case study, the proposed development process was applied throughout the restructuring project described in [4].

References

1
L. Chung, B. A. Nixon, E. Yu, and J. Mylopoulos. Non-Functional Requirements in Software Engineering. Kluwer Academic Publishing, 1999.

2
Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.

3
L. Tahvildari and K. Kontogiannis Requirements-Driven Software Re-engineering Framework. WCRE’01, 2001, pp. 71--80.

4
Y. Yu, J. Mylopoulos, E. Yu, and J.C. Leite. and L.   Liu and E. H. D’Hollander Software refactoring guided by multiple soft-goals. REFACE’03, 2003.