Disciplina

Á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)

Ian Sommerville

2015

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

2018/2019

https://www.martinfowler.com/books/eaa.html


Building Maintainable Software

Joost Visser, 2016

2018/2019

https://archive.org/details/BuildingMaintainableSoftwareSIG


Secundária

Code Complete 2: A Practical Handbook of Software Construction 2nd Edition [Paperback]

Steve McConnell

2004