-
Apresentação
Apresentação
A unidade curricular apresenta os fundamentos de engenharia de software, em que os conceitos são explicados, integrados e relacionados com o intuito de facilitar a comunicação entre empresas e os seus intervenientes (programadores, gestores, analistas de negócio, entre outros). Em paralelo, exibe uma perspectiva prática que permite concretizar estes conceitos na realidade industrial, à qual é exigida a disponibilização de produtos de software eficazes e eficientes. Nas aulas teóricas são estudadas detalhadamente todas as etapas do processo de desenvolvimento de software, sob a perspectiva clássica e ágil. Na aulas práticas, os conceitos são colocados no contexto de problemas reais com a utilização e experimentação de CASE que apoiam o trabalho do engenheiro de software. Ao longo do semestre, os estudantes elaboram um Plano de projeto a descrever um trabalho para o qual já realizaram uma especificação de requisitos na unidade curricular de Análise e Desenho de Sistemas.
-
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 Processos de Desenvolvimento de Software Ágeis Gestão de Processos de Software Engenharia de Requisitos de Software Desenho Lógico e Físico de Software Codificação de Software Verificação e Validação de Software Manutenção de Software Desafios da Engenharia de Software Parte prática: O Plano de Projeto HyperText Transfer Protocol (HTTP) JavaScript Document Object Model (DOM) Diagramas de estados da UML Diagramas de sequência e colaboração da UML Diagramas de componentes e distribuição da UML Complexidade Ciclomática Testes Unitários Tópicos complementares de engenharia de software
-
Objetivos
Objetivos
Conhecer os vários processos de desenvolvimento de software (clássicos e ágeis) Saber realizar o planeamento de um projeto de software (na perspetiva teórica e prática) Saber documentar todos os artefactos resultantes de cada etapa de ciclo de desenvolvimento de software Obter uma panorâmica das principais arquiteturas de desenho de software Conhecer e aplicar as boas práticas de codificação Obter os fundamentos da realização e documentação de testes Conhecer as principais ações de manutenção e ferramentas associadas Obter prática de utilização de ferramentas CASE para suporte às diversas etapas do ciclo de desenvolvimento de software
-
Metodologias de ensino e avaliação
Metodologias de ensino e avaliação
Desenvolvimento e documentação do processo de software com base em projectos (Project Based Learning) envolvendo outras UCs (Bases de Dados e Programação Web).
-
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
-
Horário de Atendimento
Horário de Atendimento
-
Mobilidade
Mobilidade
Não