Search results: 1
Software engineering deals mainly with the management of large-scale software projects, and not with the programming itself. This course will start with issues in advanced programming. Then we'll try to understand various aspects of software engineering, with emphasis on software lifecycle models. We'll learn about the Unified Rational Process and its use of UML, and compare it with agile methods and the development of open source software. In addition we'll consider software architectures, software testing, software evolution, software metrics, and human and social aspects of software development. We'll finish with a survey of monumental failures, and what can be done to avoid them.