Providing for project management, planning, design, building and implementation of clientspecific applications, taking responsibility for achieving contractually specified results
A set of activities that results in software products Software development may include new development, modification, reuse, re-engineering, maintenance, or any other activities that result in software products
set of programming tools that allow programmers to develop specialized computer applications and adapt them to various operating systems (usually includes an editor, linker, compiler, etc.)