Partilhar: WhatsApp
aulify
UC UC02837 · T. Desenv. Software

Ficha 01 · Ciclo de vida e metodologias

Requisitos, estimativa, ágil, Scrum/Kanban
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Data
Objectivos da ficha

Parte I · Requisitos

Exercício 1 · Funcional ou não-funcional (15 pts)

Classifica cada requisito:

a) "O utilizador pode recuperar a senha por email." ___

b) "O site carrega em menos de 2 segundos." ___

c) "O sistema suporta 1000 utilizadores simultâneos." ___

d) "O administrador exporta relatórios em PDF." ___

e) "Os dados pessoais são encriptados (RGPD)." ___

f) "É possível pesquisar produtos por nome." ___

a) Funcional — uma funcionalidade. b) Não-funcional — desempenho. c) Não-funcional — escalabilidade. d) Funcional — uma funcionalidade. e) Não-funcional — segurança/conformidade. f) Funcional — uma funcionalidade.

Regra: o que o sistema faz = funcional; como/qualidade = não-funcional.

Exercício 2 · User stories (15 pts)

Escreve 3 user stories no formato "Como… quero… para…" para um sistema de biblioteca escolar (papéis: aluno, bibliotecário).

  1. Como aluno, quero pesquisar livros por título ou autor para encontrar rapidamente o que preciso.

  2. Como aluno, quero ver os livros que tenho requisitados e a data de devolução para não pagar multas por atraso.

  3. Como bibliotecário, quero registar a devolução de um livro para manter o inventário actualizado.

(Outras válidas: bibliotecário adicionar novos livros; aluno reservar livro indisponível; bibliotecário ver alunos com livros em atraso.)

Exercício 3 · Critérios de aceitação (10 pts)

Para a story "Como aluno, quero fazer login para aceder à minha conta", escreve 3 critérios de aceitação.

  1. Dado um aluno com credenciais válidas, quando submete o formulário de login, então é redirecionado para o seu painel.

  2. Dado um aluno com senha errada, quando submete o login, então vê uma mensagem de erro genérica e permanece na página de login.

  3. Dado um aluno não autenticado, quando tenta aceder a /painel, então é redirecionado para o login.

(Bónus: após 5 tentativas falhadas, a conta é temporariamente bloqueada.)

Parte II · Planeamento

Exercício 4 · MoSCoW (15 pts)

Vais fazer uma app de gestão de tarefas como PAP. Classifica em Must/Should/Could/Won't:

a) Criar e listar tarefas. ___

b) Autenticação de utilizador. ___

c) Notificações push no telemóvel. ___

d) Marcar tarefa como concluída. ___

e) Integração com Google Calendar. ___

f) Tema escuro. ___

a) Must — é o núcleo do produto. b) Must — cada utilizador tem as suas tarefas. c) Could — bom ter, não essencial. d) Must — funcionalidade base de uma to-do app. e) Won't (por agora) — complexo, fora do MVP. f) Should ou Could — melhora UX mas não é crítico.

O MVP = todos os Must. Entregar isso primeiro, funcional, antes de avançar.

Exercício 5 · Estimativa (10 pts)

Um colega estima que a PAP "fica pronta em 2 semanas". Que problemas vês nesta estimativa e como melhorá-la?

Problemas: - Estimativa global sem decompor em tarefas — pouco fiável. - Não considera imprevistos (bugs, coisas que não se sabe fazer ainda). - Programadores subestimam sistematicamente. - Não distingue MVP de funcionalidades extra.

Melhorar: - Quebrar em tarefas pequenas (< 1 dia cada) e estimar cada uma. - Somar e adicionar margem (~30%). - Definir MVP e estimar só esse primeiro. - Usar marcos intermédios para validar o ritmo. - Rever a estimativa à medida que se aprende mais.

Parte III · Metodologias

Exercício 6 · Cascata vs Ágil (10 pts)

a) Dá uma vantagem e uma desvantagem da cascata.

b) Porque é que o ágil domina hoje no desenvolvimento de software?

a) Cascata: - Vantagem: simples de entender, documentação forte, bom quando requisitos são fixos. - Desvantagem: mudança é cara; problemas só aparecem no fim; nada utilizável até ao final.

b) Ágil domina porque os requisitos de software mudam quase sempre durante o projecto. Iterações curtas permitem: feedback cedo, detectar problemas depressa, adaptar a mudanças, e entregar valor incremental em vez de esperar pelo fim. Reduz risco.

Exercício 7 · Aplicar a uma PAP individual (10 pts)

Vais fazer a PAP sozinho. Scrum completo faz sentido? Que abordagem leve recomendarias e como organizá-la?

Scrum completo (Product Owner, Scrum Master, dailies, várias cerimónias) não faz sentido para 1 pessoa — é desenhado para equipas.

Recomendação: Kanban simples + iterações leves.

Mantém disciplina sem o overhead de Scrum em equipa.