Mudando status de tarefas, como um quadro de projetos ágeis em Java

04/02/2020

0

Considere criar um software para gerencia de projetos ágeis. O software irá controlar tarefas que precisam ser feitas num projeto e em que fases estas estão. As fases são: BACKLOG (repositório de tarefas a serem feitas), TODO (selecionadas para serem feitas num período, como em 1 semana ou 1 mês), DOING (tarefas que estão sendo executadas num dado momento), e DONE (tarefas concluídas). Observe que há um fluxo a ser seguido: BACKLOG → TODO → DOING → DONE. A idéia é automatizar este comportamento, algo que costuma ser feito manualmente em projetos ágeis.

A classe Quadro contém todas as fases. Além desta classe, são usadas também as classes Fase e Cartao, as quais precisam ser implementadas. Também, analise cuidadosamente os usos dos objetos destas classes ao longo do código. Por exemplo, os métodos adiciona(), prepara(), inicia() e encerra() realizam o fluxo descrito acima.

class Quadro {
static int BACKLOG = 0;
static int TODO = 1;
static int DOING = 2;
static int DONE = 3;
String labelFases[] = {"BACKLOG", "TODO", "DOING", "DONE"};
Fase fase[] = new Fase[4];

public Quadro() {
for (int i=0; i<4; i++)
fase[i] = new Fase();
}
public void adiciona (Cartao c) {
fase[BACKLOG].adiciona(c);
}
public void prepara (Cartao c) {
fase[BACKLOG].remove(c);
fase[TODO].adiciona(c);
}
public void inicia (Cartao c) {
fase[TODO].remove(c);
fase[DOING].adiciona(c);
}
public void encerra (Cartao c) {
fase[DOING].remove(c);
fase[DONE].adiciona(c);
}
public String toString() {
String saida = "";
for (int i=0; i<4; i++)
saida += labelFases[i] + "\n" + fase[i].toString() + "\n";
return saida;
}
}
public class QuadroGeral {
public static void main(String[] args) {
Quadro semestre2010_1 = new Quadro();
Cartao fazer1 = new Cartao("Fazer a 1");
semestre2010_1.adiciona(fazer1);
Cartao fazer2 = new Cartao("Fazer a 2");
semestre2010_1.adiciona(fazer2);
System.out.println(semestre2010_1);
semestre2010_1.prepara(fazer1);
System.out.println(semestre2010_1);
semestre2010_1.inicia(fazer1);
System.out.println(semestre2010_1);
semestre2010_1.encerra(fazer1);
System.out.println(semestre2010_1);
}
}
Mssantana

Mssantana

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar