This document provides an overview of software engineering, including:
- Different types of software like system software, business software, embedded software, and more
- Essential attributes of good software like maintainability, dependability, usability, and reliability
- The roles of software engineers in capturing business needs to specify system blueprints for programmers
- Why software engineering is difficult because it involves both the software and problem domains
- Common jobs in software engineering like systems analyst, programmer, project manager, and tester
- Important skills for software engineers like communication, feedback, analysis, and project management
- The phased process of software development including requirements, design, construction, testing, and maintenance
- Different software development methodologies