the systematic application of scientific and technological knowledge, methods, and experience to the design, implementation, testing, and documentation of software. methodologies, techniques and tools.
the application of scientific knowledge to the development and maintenance of software systems
- serves as guide posts in research  - it is the fundamental core of a research paper