Apresentação da disciplina
Laboratório de Engenharia de Software Tiago Massoni
Projeto
Projeto para dispositivo móvel
Plataforma Android, de preferência (ios, ou multiplataforma são permitidos)
avaliação por sprint (iteração) Um projeto piloto
Dois releases
Uma apresentação final
Entrega de Requisitos (30%) Gerência + testes (40%)
Qualidade da entrega (30%)
Em cada avaliação
Entrega de Requisitos (30%) Gerência + testes (40%)
Qualidade da entrega (30%)
Em cada avaliação
Primeiro estágio: sprints (100%) Segundo estágio: sprints (100%)
Terceiro estágio: sprints (50%) + apresentação (50%)
Notas
SCRUM
Vem do rugby
Estratégia em um jogo onde jogadores colocam uma bola quase perdida novamente em jogo através de trabalho em equipe
projetos com equipes pequenas e requisitos instáveis ou desconhecidos
apropriado para a disciplina
Calculadora para celular
Kick-off (início)
Sprints de 1 semana
Primeiro release: 2 semanas
!
sprint 1: 4/12 - 11/12 sprint 2: 12/12 - 18/12
Team
Product owner Tiago Massoni Scrum master Einstein
!
Developers Turing
Einstein Tiririca
Backlog do produto
Requisito Prioridade Story Sprint Sistema
deve fazer contas
básicas
Alta
Visor e botões 1 Multiplicação 1
Divisão 1
Soma 2
Subtração 2
Sistema deve fazer contas
avançadas Média
Raiz quadrada 2
Potência 2
Backlog do produto
Requisito Prioridade Story Sprint Sistema
deve fazer contas
básicas
Alta
Visor e botões 1 Multiplicação 1
Divisão 1
Soma 2
Subtração 2
Sistema deve fazer contas
avançadas Média
Raiz quadrada 2
Potência 2
Itens que podem ser finalizados dentro de uma sprint
Documento de requisitos
Sistema deve fazer contas básicas: o usuário deve digitar (com o teclado virtual ou QWERT) o primeiro número, colocar o sinal da operação (soma,
multiplicação, divisão ou subtração), o segundo número e o sinal de igual.
sprint backlog
1.
o que
será entregueRequisito Story
Sistema deve fazer contas básicas
Visor e botões Multiplicação Divisão
2.
como
será entregueStory Responsável Atividade Estimativa (h)
Visor e botões Einstein
Estudar android 12
Criar tela 2
Testar eventos 4
total 18
Multiplicação Turing
Estudar android ...
Criar tela ...
Realizar testes
de operação ...
Divisão Tiririca ... ...
Total 36
sprint
backlog
Sprint Backlog
screencasts
Reuniões "diárias"
rápidas, usando chat, 2x por semana
dia 12/12!
SM: o que foi feito?!
...!
SM: o que vocês farão para amanhã?!
...!
SM: impedimentos?
Backlog da sprint
Story Responsável Atividade Estimativa
(h)
Tempo real
Visor e
botões Einstein
Estudar android 12 16
Criar tela 2 2
Testar eventos 4
total 18
Multiplicação Turing
Estudar android ...
Criar tela ...
Realizar testes de
operação ...
Divisão Tiririca ... ...
Sprint Burndown
Publicado em: Revista MundoPM, Edição 14, Abril-Maio Data de publicação: 16 de maio de 2007
Indicação de atraso
Publicado em: Revista MundoPM, Edição 14, Abril-Maio Data de publicação: 16 de maio de 2007
Indicação de ótimo progresso
Publicado em: Revista MundoPM, Edição 14, Abril-Maio Data de publicação: 16 de maio de 2007
bug reports
qualidade de código
Reunião de revisão do sprint (com P.O.)
Item Responsável Atividade Estimativa
(h) Tempo real
Visor e
botões Einstein
Estudar android 12 16
Criar tela 2 2
Testar eventos 4 2
total 18 20
Multiplicação Turing
Estudar android 10 10
Criar tela 5 2
Realizar testes de
operação 8 6
Divisão Tiririca ... ... ...
Planejamento do próximo sprint
Backlog do produto
Requisito Prioridade Story Sprint Sistema
deve fazer contas
básicas
Alta
Visor e botões 1 Multiplicação 1
Divisão 1
Soma 2
Subtração 2
Sistema deve fazer contas
avançadas Média
Raiz quadrada 2
Potência 2
Planejamento do próximo sprint...
To do
Todas as equipes enviam por e- mail
!
• nomes de integrantes do grupo
• link para um site do projeto
modelo no site
Apresentação da disciplina
Laboratório de Engenharia de Software Tiago Massoni
Android
framework: apps para dispositivos móveis
!
sistema operacional + middleware + apps básicas (browser, agenda, etc.)
!
baseado em Linux
!
API Java
Arquitetura
exemplo
public class CallingActivity extends Activity {!
! !
public void onCreate(Bundle savedInstanceState) {!
super.onCreate(savedInstanceState);!
setContentView(R.layout.callingactivity);...!
!
Button books =
(Button)findViewById(R.id.SelectBooks);!
books.setOnClickListener(new OnClickListener( {
! !
public void onClick(View v){!
Intent bookIntent= new Intent();