• The practical application of computer
science, management, and other sciences to the analysis, design, construction, and maintenance of software and
its associated documentation.
• Anengineering science that applies the
concepts of analysis, design, coding,
testing, documentation, and management to the successful completion of
large, custom-built computer programs under time and budget constraints.
• The systematic application of methods, tools, and techniques that achieve
astated requirement or objective for an
effective and efficient software system