System administrators are end-users too. And as end-users, they develop tools, create web pages, write command-line scripts, use spreadsheets, and repurpose existing tools. In sho...
Eser Kandogan, Paul P. Maglio, Eben M. Haber, John...
Capturing the technical knowledge, contextual information, and rationale surrounding the design decisions underpinning system architectures can greatly improve the software develo...
Traditional component models and frameworks simplified software system development by enabling developers to break software systems into independent pieces with well-defined interf...
The use of modern programming paradigms and technologies, such as object orientation, inheritance, polymorphism and aspect orientation, facilitate a number of important software e...
Michael Desmond, Margaret-Anne D. Storey, Chris Ex...
Producing usable documentation has always been a tedious task, and even communicating important knowledge about a system among collaborators is difficult. This paper describes an ...