-
Apresentação
Apresentação
A unidade curricular apresenta os fundamentos da Engenharia de Software, estruturando os conceitos de forma integrada para promover uma comunicação eficaz entre organizações e os seus diferentes intervenientes. Paralelamente, adota uma perspetiva prática orientada para a aplicação em contexto industrial. Nas aulas teóricas são abordadas as principais etapas do processo de desenvolvimento de software, segundo abordagens clássicas e ágeis. Nas aulas práticas, os conceitos são aplicados a problemas próximos da realidade profissional, com recurso a ferramentas CASE. Ao longo do semestre, os estudantes elaboram um Plano de Projeto relativo a um sistema previamente especificado na unidade curricular de Análise e Desenho de Sistemas e, no final, produzem um Relatório de Projeto que documenta o trabalho desenvolvido.
-
Disciplina do curso
Disciplina do curso
-
Grau | Semestres | ECTS
Grau | Semestres | ECTS
Licenciado | Semestral | 6
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
2 | Obrigatório | Português
-
Código
Código
ULP452-7341
-
Pré-requisitos e co-requisitos
Pré-requisitos e co-requisitos
Não aplicável
-
Estágio Profissional
Estágio Profissional
Não
-
Conteúdos Programáticos
Conteúdos Programáticos
Parte teórica: Introdução à Engenharia de Software Processos de desenvolvimento de software (clássicos e ágeis) Gestão de processos de software Engenharia de requisitos Desenho lógico e físico de software Codificação Verificação e validação Manutenção de software Desafios atuais da Engenharia de Software Parte prática: Elaboração do Plano de Projeto Modelação com UML (diagramas de estados, sequência, colaboração, componentes e distribuição) Document Object Model (DOM) Relatório de Projeto Complexidade ciclomática Testes unitários Tópicos complementares entre as seguintes áreas: Práticas de desenvolvimento, qualidade e testes Arquiteturas, ferramentas e infraestruturas de suporte ao desenvolvimento Fundamentos formais e tendências emergentes.
-
Objetivos
Objetivos
Conhecer os principais processos de desenvolvimento de software, incluindo abordagens clássicas e ágeis. Ser capaz de planear um projeto de software, articulando fundamentos teóricos e aplicação prática. Saber documentar os artefactos produzidos em cada etapa do ciclo de desenvolvimento de software. Compreender as principais arquiteturas de desenho de software. Conhecer e aplicar boas práticas de codificação. Adquirir fundamentos sobre a conceção, execução e documentação de testes. Identificar as principais atividades de manutenção e as ferramentas de suporte associadas. Desenvolver competências na utilização de ferramentas CASE para apoiar as diferentes fases do ciclo de desenvolvimento de software.
-
Metodologias de ensino
Metodologias de ensino
Desenvolvimento e documentação do processo de software com base em projetos (Project-Based Learning), integrando conteúdos de outras unidades curriculares (Bases de Dados e Programação Web), e apresentação de temas complementares de interesse particular pelos estudantes.
-
Bibliografia principal
Bibliografia principal
Sommerville, Ian, Boston - Software Engineering, 10th edition, Boston, Pearson, 2016 Maxin, Bruce; Pressman, Roger - Software Engineering: A Practitioner's Approach, 9th edition, McGraw Hill, 2019 Guerreiro, Sérgio - Introdução à Engenharia de Software, FCA, 2015
-
Avaliação
Avaliação
Descrição dos instrumentos de avaliação (individuais e de grupo) ¿ testes, trabalhos práticos, relatórios, projetos... respetivas datas de entrega/apresentação... e ponderação na nota final.
Exemplo:
Descrição
Data limite
Ponderação
Teste de avaliação
dd-mm-yyyy
30%
Portfolio
dd-mm-yyyy
40%
(...)
Adicionalmente poderão ser incluídas informações gerais, como por exemplo, referência ao tipo de acompanhamento a prestar ao estudante na realização dos trabalhos; referências bibliográficas e websites úteis; indicações para a redação de trabalho escrito...
-
Mobilidade
Mobilidade
Não





