Software Engineering in Practice
Course Description
- Software Requirements
- Software Design
- Software Construction.
- Software Testing
- Software Maintenance
- Software Configuration Management
- Software Engineering Management
- Software Engineering Process
- Software Engineering Models and Methods
- Software Quality
- Software Engineering Professional Practice
- Software Engineering Economics
Learning Outcomes
The objective of the course is to allow students to read, understand, and evaluate a system’s software elements (code, structure, architecture). Having followed this course, students should be able to intelligently decide on how existing systems will be maintained, setup design and evolution strategies for legacy code, and prescribe the use of refactoring for dealing with architectural mismatches and low-quality code. An innovative aspect of the course involves the use of Open Source Software (OSS) in course examples and exercises. Through the study of OSS students will be able to see how non-trivial applications like the Apache Web server, the Postgres Relational Database Management System, the Jakarta Java servlet container and the Cocoon framework are structured.