Software development lifecycle covering process models, agile methods, requirements engineering, design, testing, and project management.