In software engineering, tools and techniques are essential for many purposes. They can provide guidance to follow a certain software development process or a selected software lifecycle model. They can support various stakeholders in validating the compliance of the development results against quality criteria spanning from technical non-functional requirements to business/organizational strategies. Finally, tools and techniques may help various types of stakeholders in codifying and retrieving the knowledge necessary for decision making throughout their development journey, hence providing reasonable confidence that the resulting software systems will execute correctly, fulfill customer requirements, and cost-effectively accommodate future changes.
[1]
Michael Jackson,et al.
Four dark corners of requirements engineering
,
1997,
TSEM.
[2]
Antony Tang,et al.
Software designers, are you biased?
,
2011,
SHARK '11.
[3]
Bashar Nuseibeh,et al.
Requirements engineering: a roadmap
,
2000,
ICSE '00.
[4]
M. Lindvall,et al.
Knowledge management in software engineering
,
2002,
IEEE Software.
[5]
David Garlan,et al.
Introduction to the Special Issue on Software Architecture
,
1995,
IEEE Trans. Software Eng..
[6]
Muhammad Ali Babar,et al.
A comparative study of architecture knowledge management tools
,
2010,
J. Syst. Softw..
[7]
Mary Shaw,et al.
The golden age of software architecture
,
2006,
IEEE Software.