Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently in real machines.
A quality Focus:
· Main principle of Software Engineering is Quality Focus.
· An engineering approach must have a focus on quality.
· Total Quality Management (TQM), Six Sigma, ISO 9001, ISO 9000-3, CAPABILITY MATURITY MODEL (CMM), CMMI & similar approaches encourages a continuous process improvement culture
Process:
· It is a foundation of Software Engineering
· It is the glue the holds the technology layers
· It defines a framework with activities for effective delivery of software engineering technology
Methods:
· It provides technical how-to’s for building software
· It encompasses many tasks including communication, requirement analysis, design modeling, program construction, testing and support
Tools:
· Software Engineering Tools allows automation of activities which helps to perform systematic activities. A system for the support of software development, called computer-aided software engineering (CASE). Examples: Testing Tools, Bug/Issue Tracking Tools etc…
· Computer-aided software engineering (CASE) is the scientific application of a set of tools and methods to a software system which is meant to result in high-quality, defect-free, and maintainable software products
· CASE tools automate many of the activities involved in various life cycle phases