Introduction to the process for designing, building and maintaining large software systems and well as managing a software development capability. Topics include lifecycles and their main activities (planning, requirements, analysis and specification, design), maintenance, documentation, software metrics and estimation, software project management, staffing, directing and control, estimating, scheduling, monitoring, risk management, and use of tools (incl. configuration management).