The document provides an introduction to software engineering. It defines software and describes its key attributes and classifications. It discusses what constitutes good software in terms of maintainability, dependability, efficiency and usability. The document also outlines different types of software and defines software engineering as a systematic approach to software analysis, design, implementation and maintenance. It compares software engineering to computer science and system engineering. Finally, it discusses the two main components of software engineering as the systems engineering approach and development engineering approach.