Software Engineering

Base Knowledge

N/A

Teaching Methodologies

Not available

Learning Results

– Identify and describe the reasons why software engineering is essential;
– Identify and describe the main software development processes;
– Identify the different types of requirements and describe the main methods of developing them
– Create requirements specification documents;
– Identify and describe the main patterns of software architecture;
– Design the software architecture appropriate to a particular problem;
– Create software modeling using UML diagrams
– Identify and describe agile software development processes
– Build software tests;
– Recognize the importance of software quality.

Program

– Basic concepts of software engineering;
– Software development process;
– Agile methods of software development;
– Requirements engineering;
– Architecture and software design;
– Modeling systems with UML (Unified Modeling Language);
– Software verification and validation;
– Software quality

Internship(s)

NAO

Bibliography

Guerreiro, S. (2015). Introdução à engenharia de software. FCA.
Sommerville, I. (2011). Engenharia de software (9a edição). Addison Wesley.
Palhoto, T. (2016). Desenvolvimento ágil de software. FCA.
Borges, J. L. M., Cunha, J. F., Dias, T. G. (2015). Modelação de dados em UML – uma abordagem por
problemas. FCA.
Laboon, B. (2016). A friendly introduction to software testing (1ª edição). CreateSpace Independent
Publishing Platform.