This curricular unit provides students with a close contact with environments, tools, and methods for software development, supporting the transition from individual projects to large-scale, and team-oriented projects. Students should learn software engineering concepts that support this main goal.
1. Software design:
Principles
Architectural styles, including Model-View-Controller (MVC)
2- Separation of Concerns
Concept
Approaches
3. Software tests
Types of tests
Error handling (including exceptions) within MVC
4. Separation between interface and implementation
Concept and approaches
Implementatino techniques
Mandatory readings:
Guerreiro, Sérgio (2015). Introdução à Engenharia de Software. FCA: Lisboa
Optional readings:
Sebenta de Desenvolvimento de Software 2009/2010 (online)
IEEE Computer Society (2014). SWEBOK® V3.0 - Guide to the Software Engineering Body of Knowledge. IEEE Computer Society Press. http://www.computer.org/web/swebok/v3-guide
Software resources:
Visual Studio Community
E-learning
Continuous assessment is privileged: 2 or 3 digital written documents (e-folios) during the semester (40%) and a
presence-based final exam (p-folio) in the end of the semester (60%). In due time, students can alternatively choose to perform one
final presence-based exam (100%).