Desenvolvimento de Software de Larga Escala
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Engenharia de Software |
Ocorrência: 2022/2023 - 1S
Ciclos de Estudo/Cursos
Língua de trabalho
Português - Suitable for English-speaking students
Objetivos
A unidade curricular tem como objectivo principal desenvolver nos estudantes as seguintes competências:
- Aplicação de um processo ágil a todo o ciclo de vida de um sistema de software real de complexidade e escala média-elevada.
- Utilização de práticas de desenvolvimento ágil.
- Utilização de ferramentas para automação e suporte às práticas usadas durante todo o seu ciclo de vida, desde os requisitos até à utilização.
- Utilização de infraestruturas e serviços de software de grande escala, para desenvolvimento e instalação de soluções com forte integração de componentes e aplicações.
- Desenvolvimento de trabalho colaborativo integrando diversos intervenientes (equipa, clientes, especialistas externos), promovendo negociação e decisões partilhadas sobre o projeto.
- Consolidação dos conhecimentos e competências anteriormente adquiridos em diversas disciplinas relacionadas com desenvolvimento de software, em especial: Engenharia de Software, Bases de Dados e Interfaces com o Utilizador.
Resultados de aprendizagem e competências
Os estudantes serão capazes de definir e aplicar um processo de desenvolvimento de um sistema de software de média-larga escala, utilizando práticas ágeis, ferramentas tipicas de desenvolvimento de software, num ambiente multi-equipa.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Engenharia de software.
Programa
- Introdução aos processos de desenvolvimento de software de larga escala e complexidade média-elevada.
- Revisão sobre métodos e práticas ágeis mais populares para sistemas de software de larga escala (p.e. Scrum/LeSS, Kanban e XP).
- Estudo e experimentação de ferramentas de desenvolvimento de software para automação e suporte às práticas usadas durante todo o seu ciclo de vida, desde os requisitos até à utilização.
- Estudo de arquiteturas, infraestruturas e serviços de software de grande escala, para desenvolvimento e instalação de soluções com forte integração de componentes e aplicações.
- Práticas de trabalho em equipa integrando diversos intervenientes (equipa, clientes, especialistas externos).
- Seminários em tópicos e tendências de maior atualidade, em termos de investigação ou prática, na academia ou indústria, incluindo: Agile at Large, DevOps, Agile Quality, Microservices.
Bibliografia Obrigatória
Larman, C., & Vodde, B.; Large-scale scrum: More with LeSS, Addison-Wesley Professional, 2016
Métodos de ensino e atividades de aprendizagem
As aulas teóricas serão usadas para a exposição dos processos de desenvolvimento de software, ferramentas e tecnologias adotadas na unidade curricular.
As aulas de laboratório serão usadas para o acompanhamento e desenvolvimento de projetos, através do uso dos sistemas, linguagens e ferramentas escolhidos para a implementação do sistema.
O projeto é organizado em iterações, cada uma com entregas de artefatos concretos.
Tipo de Avaliação: Avaliação distribuída sem exame final
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Designação |
Peso (%) |
Participação presencial |
10,00 |
Trabalho escrito |
30,00 |
Trabalho laboratorial |
60,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Elaboração de projeto |
90,00 |
Elaboração de relatório/dissertação/tese |
20,00 |
Frequência das aulas |
26,00 |
Trabalho laboratorial |
26,00 |
Total: |
162,00 |
Obtenção de frequência
É exigida uma nota mínima de 40% a qualquer dos itens de avaliação discriminados na fórmula de cálculo da classificação final.
Fórmula de cálculo da classificação final
A classificação é baseada na avaliação contínua de diversas atividades do processo e artefactos produzidos, ao longo de várias iterações:
- Desenvolvimento do projeto (Sprint 0) - 15%;
- Desenvolvimento do projeto (Sprints 1-4) - 45%;
- Resultados finais do projeto - 30%
- Avaliação contínua do desempenho individual - 10%
Nota: Estudantes com classificações finais iguais ou superiores a 19 valores podem também ser sujeitos à avaliação adicional de uma prova oral ou de um trabalho escrito com uma reflexão crítica individual sobre o projeto.
Provas e trabalhos especiais
As provas e trabalhos em épocas especiais (fim de curso, etc) são abrangidos pelos mesmos métodos de avaliação. Os mesmos devem contactar os docentes para definir o trabalho especial, com base na disponibilidade, prazos e tópicos da unidade curricular.
Avaliação especial (TE, DA, ...)
Alunos de regimes especiais (incluindo trabalhadores-estudantes e militares) são abrangidos pelos mesmos métodos de avaliação. Os mesmos devem contactar os docentes no início do semestre para os notificar do seu regime especial, e estabelecer como integrar os grupos de trabalho associados aos projectos em curso na unidade curricular.
Melhoria de classificação
Melhorias de classificação envolverão um trabalho adicional, contendo todas as parcelas atrás referidas, e uma prova oral adicional; melhorias de classificação pedidas no ano lectivo seguinte envolverão a realização de todos os trabalhos previstos para os alunos desse ano lectivo.
Observações
-