This document provides an introduction to software engineering. It discusses the emergence of software engineering as a field due to increasing complexity in software development. Key issues that drove the need for software engineering include correctness, efficiency, complexity, interfaces, reliability, flexibility, documentation, and maintainability. The document also covers quality attributes of software like correctness, dependability, user-friendliness, adequacy, and learnability. Finally, it introduces different software process models like the waterfall model, prototyping model, spiral model, and object-oriented lifecycle model.