Branch of Engineering: Focuses on developing software using well-tested and proven engineering principles and procedures.
Fridge Bow Definition: Software engineering is the establishment and use of sound engineering principles, methods, and tools to produce high-quality, reliable software that works efficiently on real machines.
IEEE Definition: Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.
Emphasis on the entire software lifecycle including development, operations, and maintenance.
Understanding Software and Engineering
Software
Definition: More than just program code; it includes:
Executable code that solves computational problems.
Collection of executable programming codes, libraries, and associated documentation.
Software Product: Software developed for a specific purpose, utilizing various executable codes and libraries.
Engineering
Definition: Developing products using defined scientific principles, methods, and procedures.
Software Development Process Phases
Gathering User Needs and Expectations: Collecting requirements and expectations from users.
Transformation 1 - Analysis: Developing the problem statement based on user needs.
Transformation 2 - Design: Creating a detailed design from the problem statement.
Transformation 3 - Implementation: Implementing the designed software into a product.
Summary
Software engineering involves the application of scientific principles and methods to create efficient and reliable software products.
The outcome of software engineering is a high-quality software product that meets user requirements.