Disciplina
Engenharia de Software
Área
Área Científica de Metodologia e Tecnologias da Programação > Engenharia da Programação
Activa nos planos curriculares
LEIC-T 2021 > LEIC-T 2021 > 1º Ciclo > Área Principal > Engenharia de Software
GENI > GENI > 1º Ciclo > Área Principal > Percursos > Fundamentos para Engenharia Informática e de Computadores > Engenharia de Software
LETI 2021 > LETI 2021 > 1º Ciclo > Área Principal > Engenharia de Software
LEIC-A 2021 > LEIC-A 2021 > 1º Ciclo > Área Principal > Engenharia de Software
MEIC-T 2006 > MEIC-T 2006 > 2º Ciclo > Áreas de Especialização Complementares > Fundamentos de Engenharia Informática > Engenharia de Software
MEIC-A 2006 > MEIC-A 2006 > 2º Ciclo > Área de Especialização Complementar > Fundamentos de Engenharia Informática > Engenharia de Software
LERC 2006 > LERC 2006 > 1º Ciclo > Ciências da Engenharia Informática > Engenharia de Software
LEIC-A 2006 > LEIC-A 2006 > 1º Ciclo > Ciências da Engenharia Informática > Engenharia de Software
LEIC-T 2006 > LEIC-T 2006 > 1º Ciclo > Ciências da Engenharia Informática > Engenharia de Software
Nível
A avaliação da unidade curricular de Engenharia de Software é composta pelos seguintes elementos: - Um Projeto (P) realizado em avaliação contínua, por grupos de 6 elementos, com entregas semanais ao longo do semestre: 50% da nota final, nota mínima 8.0 valores em 20; - Um Exames (E) teórico-prático: 50% da nota final, nota mínima de 9.0 valores em 20. 50% de do exame é sobre a matéria teórica e 50% sobre a componente de projeto. A nota final é calculada de acordo com a fórmula: - NotaFinal = 0.5 x E + 0.5 x P - se E < 9.0 então RE - se P < 8.0 então RE - se NotaFinal < 9.5 então RE A componente prática não é guardada de um ano para o outro de acordo com as recomendações da área MTP.
Tipo
Não Estruturante
Regime
Semestral
Carga Horária
1º Semestre
2.0 h/semana
1.5 h/semana
119.0 h/semestre
Objectivos
Familiarizar-se com os métodos de engenharia e gestão necessários ao desenvolvimento de sistemas de software complexos e/ou em larga escala, de forma economicamente eficaz e com elevada qualidade. Em particular, nesta UC procura-se transmitir o roteiro do desenvolvimento de software, desde o levantamento de requisitos até à manutenção de programas. Integrar os conhecimentos adquiridos noutras disciplinas no contexto mais alargado do processo de desenvolvimento de software. Motivar para o desenvolvimento de software como uma engenharia, que integra os aspectos tecnológicas da computação com os factores sociais e humanos da construção de produtos. No final da UC, os estudantes deverão ser capazes de: - descrever os princípios, conceitos e práticas da engenharia de software e do ciclo de vida do software; - conhecer e saber aplicar as técnicas e ferramentas necessárias para executar e gerir as várias actividades do processo de desenvolvimento de software de qualidade.
Programa
Introdução à Engenharia de Software. Desenho de Software. Escrita de Programas. Processo de Desenvolvimento. Engenharia de Requisitos. Gestão de Projecto. Verificação e Validação. Evolução de Software.
Metodologia de avaliação
A avaliação da unidade curricular de Engenharia de Software é composta pelos seguintes elementos: - Um Projeto (P) realizado em avaliação contínua, por grupos de 6 elementos, com entregas semanais ao longo do semestre: 50% da nota final, nota mínima 8.0 valores em 20; - Um Exames (E) teórico-prático: 50% da nota final, nota mínima de 9.0 valores em 20. 50% de do exame é sobre a matéria teórica e 50% sobre a componente de projeto. A nota final é calculada de acordo com a fórmula: - NotaFinal = 0.5 x E + 0.5 x P - se E < 9.0 então RE - se P < 8.0 então RE - se NotaFinal < 9.5 então RE A componente prática não é guardada de um ano para o outro de acordo com as recomendações da área MTP.
Pré-requisitos
Domínio de uma linguagem de programação, de preferência uma linguagem de programação com objectos.
Componente Laboratorial
A componente laboratorial tem como objetivo desenvolver as competências de desenho e implementação duma aplicação web como um trabalho de equipa. A componente laboratorial é ainda dedicada à aplicação prática e aprofundamento dos conceitos e técnicas apresentados nas aulas teóricas, através de exercícios mais focados bem como no âmbito do trabalho prático da disciplina.
Princípios Éticos
Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.
Componente de Programação e Computação
No curso onde esta UC é oferecida estão asseguradas as componentes de Computação e Programação de acordo com o MEPP 2122.
Componente de Competências Transversais
Nesta disciplina exercita-se a capacidade do trabalho em equipa (capacidades intrapessoais) e da capacidade de explicar o trabalho (capacidades interpessoais) que foi realizado pelo grupo. São ainda avaliadas capacidades de pensamento invovador e crítico (e.g., estratégias de resolução de problemas e pensamento crítico). Estas capacidades são avaliadas na componente de projeto que cada grupo de 6 alunos tem que realizar.
Bibliografia
Principal
Software Engineering: International Version (10 Edition)
Pearson: http://iansommerville.com/software-engineering-book/
Patterns of Enterprise Application Architecture
Martin Fowler (with Dave Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and Randy Stafford), 2002
https://www.martinfowler.com/books/eaa.html
Building Maintainable Software
https://archive.org/details/BuildingMaintainableSoftwareSIG
Secundária
Code Complete 2: A Practical Handbook of Software Construction 2nd Edition [Paperback]