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  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, to select proper transformations
As a case study, the proposed development process was applied
throughout the restructuring project described in .
- L. Chung, B. A. Nixon, E. Yu, and
Non-Functional Requirements in Software Engineering.
Kluwer Academic Publishing, 1999.
- Martin Fowler, Kent Beck, John Brant, William Opdyke,
and Don Roberts.
Refactoring: Improving the Design of Existing Code.
- L. Tahvildari and K. Kontogiannis Requirements-Driven
Software Re-engineering Framework.
WCRE’01, 2001, pp. 71--80.
- Y. Yu, J. Mylopoulos, E. Yu, and
and L. Liu and E. H. D’Hollander
Software refactoring guided by multiple soft-goals.