Introduction to Software Engineering Principles

Aug 23, 2024

Software Engineering Lecture Notes

Definition of Software Engineering

  • 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

  1. Gathering User Needs and Expectations: Collecting requirements and expectations from users.
  2. Transformation 1 - Analysis: Developing the problem statement based on user needs.
  3. Transformation 2 - Design: Creating a detailed design from the problem statement.
  4. 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.