Jump to content
Fórum Script Brasil
  • 0

Resolução de Exercício.


Gustavo Ferreira

Question

Bom dia, estou com essa questão pra resolver, esta sendo um desáfio, mas preciso de ajuda.

 

 

Questão Única
Você foi contratado(a) para criar um software para gerência de projetos de desenvolvimento de
sistemas. O software irá controlar tarefas que precisam ser feitas 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 e esse fluxo deve ser respeitado. Ou seja, uma tarefa não pode pular
etapas. Logo, a ideia é automatizar o comportamento, algo que costuma ser feito manualmente.
Como ponto de partida, o cliente forneceu para você um código base tendo como tarefas a
realização das ADs do CEDERJ. Este estudo de caso serve como exemplo porque o fluxo básico de
tarefas de desenvolvimento de sistemas e tarefas do dia-a-dia são similares:
class Board {
static int BACKLOG = 0;
static int TODO = 1;
static int DOING = 2;
static int DONE = 3;
String labels[] = {"BACKLOG", "TODO", "DOING", "DONE"};
Phase phase[] = new Phase[4];
public Board() {
for (int i=0; i<4; i++)
phase[i] = new Phase();
}
public void add(Card c) {
phase[BACKLOG].adiciona(c);
}
public void prepare(Card c) {
phase[BACKLOG].remove(c);
phase[TODO].adiciona(c);
}
public void start(Card c) {
phase[TODO].remove(c);
phase[DOING].adiciona(c);
}
public void finish(Card c) {
phase[DOING].remove(c);
phase[DONE].adiciona(c);
}
public String toString() {
String saida = "";
for (int i=0; i<4; i++)
saida += labels[i] + "\n" + phase[i].toString() + "\n";
return saida;
}
}
public class AD1_2023_2 {
public static void main(String[] args) {
Board semestre2023_2 = new Board();
Card fazerAD1 = new Card("Fazer a AD1");
semestre2023_2.add(fazerAD1);
Card fazerAD2 = new Card("Fazer a AD2");
semestre2023_2.add(fazerAD2);
System.out.println(semestre2023_2);
semestre2023_2.prepare(fazerAD1);
System.out.println(semestre2023_2);
semestre2023_2.start(fazerAD1);
System.out.println(semestre2023_2);
semestre2023_2.finish(fazerAD1);
System.out.println(semestre2023_2);
}
}
A classe Board representa um quadro de controle similar à ilustração apresentada a seguir:
Além desta classe, são usadas também as classes Phase e Card. A implementação dessas duas
classes é o que o cliente lhe pediu e ele exige que sua implementação seja completamente
compatível com o código fonte fornecido.

 

 

 

 

 

package Application;

 

import Entities.Board;

import Entities.Card;

import Entities.Phase;

 

public class Program {

 

public static void main(String[] args) {

 

Board semestre2023_2 = new Board();

Card fazerAD1 = new Card("Fazer AD1");

semestre2023_2.add(fazerAD1);

Card fazerAD2 = new Card("Fazer AD2");

semestre2023_2.add(fazerAD2);

System.out.println(semestre2023_2);

semestre2023_2.prepare(fazerAD1);

System.out.println(semestre2023_2);

semestre2023_2.start(fazerAD1);

System.out.println(semestre2023_2);

semestre2023_2.finish(fazerAD1);

System.out.println(semestre2023_2);

}

 

}

 

 

 

package Entities;

 

public class Board {

 

static int BACKLOG = 0;

static int TODO = 1;

static int DOING = 2;

static int DONE = 3;

String labels[] = {"BACKLOG", "TODO" , "DOING", "DONE"};

Phase phase [] = new Phase[4];

 

 

public Board() {

 

for (int i=0; i<4; i++)

phase[i] = new Phase();

 

}

 

public void add(Card c) {

phase[BACKLOG].adiciona(c);

}

public void prepare(Card c) {

phase[BACKLOG].remove(c);

phase[TODO].adiciona(c);

}

public void start (Card c) {

phase[TODO].remove(c);

phase[DOING].adiciona(c);

 

}

public void finish(Card c) {

phase[DOING].remove(c);

phase[DONE].adiciona(c);

 

 

}

 

public String toString() {

 

String saida = "";

for (int i=0; i<4; i++)

saida +=labels[i] + "\n" + phase[i].toString() + "\n";

return saida;

 

}

 

package Entities;

 

public class Card {

 

private String title;

 

 

 

public Card(String title) {

this.title = title;

}

 

 

public String getTitle() {

 

 

return title;

}

 

@Override

public String toString() {

return title;

 

 

}

 

 

public void add(Card card) {

// TODO Auto-generated method stub

 

}

 

}

 

 

package Entities;

 

public class Phase {

 

private List<Card> cards = new ArrayList<>();

public void adiciona(Card card) {

card.add(card);

}

 

public void remove(Card c) {

}

@Override

public String toString() {

StringBuilder phaseContent = new StringBuilder();

for (Card card: cards) {

 

phaseContent.append(card.getTitle()).append("\n");

}

return phaseContent.toString();

}

}

 

 

ERRO DE EXECUÇÃO.

Exception in thread "main" java.lang.Error: Unresolved compilation problems:

List cannot be resolved to a type

ArrayList cannot be resolved to a type

List cannot be resolved to a type

 

at Entities.Phase.<init>(Phase.java:6)

at Entities.Board.<init>(Board.java:16)

at Application.Program.main(Program.java:11)

 

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.8k
×
×
  • Create New...