A Engenharia de Software ensina o desenho, escrita de código e testes, e manutenção de programas que têm um propósito de resolver problemas complexos com soluções eficientes e seguras. Todas as unidades curriculares anteriores tem um maior foco na sintaxe e técnicas de programação enquanto nesta unidade curricular os alunos aprendem as técnicas de de desenhar e desenvolver software de uma forma eficiente, legível, modular e escalável.
Esta unidade curricular é essencial para desenvolver as capacidades de desenho e programação que os alunos vão enfrentar no mercado de trabalho.
Semestral
CP1. Introdução à Engenharia de Software;
CP2. Modelos e processos desenvolvimento de software;
Modelos Clássicos: Cascata (contexto histórico)
Modelos Ágeis: Agile (framework de Scrum)
CP3. Modelação de sistemas;
Análise de requisitos
Diagrama de domínio
Diagrama de conceitos
Casos de uso
CP4. Desenho da arquitectura;
Análise
Desenho
Avaliação
Evolução
CP5. Desenho e implementação;
Padrões UML
Princípios de desenvolvimento orientado a objectos: S.O.L.I.D, KISS, entre outros.
CP6. Verificação e validação;
Conhecer os diferentes tipos de testes
Aplicação de testes unitários
CP7. Segurança e Confiabilidade
CP8. Integração Contínua
Vantagens
Ferramentas e tecnologias
OA1. Compreender os métodos, técnicas e ferramentas para o completo desenvolvimento de um sistema de software, desde a sua conceção até à sua entrega e manutenção.
OA2. Saber planear, gerir, avaliar e garantir a qualidade do desenvolvimento de projetos de software utilizando os princípios da Engenharia de Software.
Obrigatório
A metodologia de ensino inclui o método expositivo (ME1) para apresentar os conteúdos necessários, o demonstrativo (ME2) para ilustrar a sua aplicação a casos práticos e o ativo (ME3) para resolução de exercícios em sala de aula, com e sem recurso ao computador.
A avaliação de conhecimentos é feita por avaliação contínua ou por prova escrita de exame final. A avaliação contínua inclui a realização de dois testes escritos com uma ponderação de 21,25% cada e um de grupo (42,5%) e a participação ativa nas aulas (10%). A assiduidade será um elemento adicional
de avaliação com uma ponderação de 5%.
Ao longo do semestre são disponibilizados Quizes após as aulas (acerca do tópico dado) ou com grupo de perguntas referentes a tópicos da matéria dada como forma dos alunos irem aferindo o seu conhecimento das matérias já lecionadas.
Português
Não
Sommerville, I. (2015). Software Engineering. (10th ed.). Addison-Wesley. ISBN-13: 978-0133943030