FJ11 Exercicio 4.12

Eu imagino o quanto deve ser chato para os usuários mais experientes verem tópicos repetitivos.

Dito isso, esse exercício pede para, primeiramente, fazer um diagrama de classes em UML, conversando com um amigo que é programador Java experiente, ele me recomendou Enterprise Architect, que eu achei um pouco demais para mim. O Astah é semelhante? É indicado para “novatos”?

Quanto ao exercício em si, ainda não tenho dúvidas porque queria começar o diagrama antes.

Obrigado a todos desde já!

Acho que o grau de dificuldade de ambos é o mesmo.

O mais importante do UML não é a ferramenta em si que você vai usar, e sim a habilidade de desenhar esses diagramas com lápis e papel.

Se o problema for bem simples, esboçá-lo primeiro (não precisa pôr todos os atributos e operações possíveis logo de cara - é por isso que falei “lápis e papel”, não “caneta e papel”) é primordial.

Eu tenho um colega aqui que se recusa a ficar desenhando todos esses diagramas no computador - ele prefere desenhá-los diretamente no papel e escaneá-los para ficarem junto com a documentação e os programas.
Ele disse que "os diagramas o documentador que os desenhe a partir do meu desenho:) " - mas a gente acha que isso foi uma evolução em relação ao que havia antes - não havia nem documentos nem diagramas.

entanglement, muito obrigado pela sua rápida resposta!

Pois é, entendo perfeitamente o que quer dizer. Eu comecei essa empreitada “Aprender Java o mais rápido possível” para tentar fazer um sistema para minha empresa, nesse tempo fiz diversas tentativas de diagramas, fluxogramas pelo caminho, com lápis, caneta, tudo que imaginar. Pra você ter uma idéia, em casa nem lápis eu encontro, mas vou comprar amanhã então.

O que adianta ter uma ferramenta e não saber usar? A vantagem que eu vejo no meu caso, é que ela me ajudaria a organizar melhor talvez, não sei.

Sobre o Astah, ele faz diagramas em UML? Preciso da versão paga ou a gratuita já serve? Apesar de pesquisar sobre ele, não entendi muito bem.

Lembrando que o enterprise architect é pago e o astah não.
E se for para fazer um exercício você não vai precisar de rastreabilidade e outras loucuras do ea.
Usa o astah mesmo.

lele_vader, obrigado também pela rápida resposta!

Eu tava na dúvida se o Astah fazia diagramas UML ou não.

Vou experimentá-lo e qualquer dúvida posto aqui.

Após brincar com o Astah, consegui modelar meu objeto, mas to apanhando pra fazer o método demite, eu tenho certeza que tem a ver com a variável estaNaEmpresa mas não sei como fazer.

Segue abaixo meu objeto e minha classe main:

[code]class Funcionario {
String nome;
String departamento;
String dataentrada;
String rg;
double salario;
boolean estaNaEmpresa;

void bonifica(double aumento) {
    this.salario += aumento;
}

double calculaGanhoAnual() {
     return this.salario * 12;
}

void demite() {
    this.estaNaEmpresa = true;
}

}

class Banco {
public static void main(String args[]) {

    Funcionario empregado = new Funcionario();

    empregado.nome = "Ernesto";
    empregado.departamento = "Gerencia";
    empregado.dataentrada = "10/02/1993";
    empregado.rg = "47.380.321-8";
    empregado.salario = 2500;
    empregado.estaNaEmpresa;

    System.out.println("Nome do Funcionario: " + empregado.nome);
    System.out.println("Departamento: " + empregado.departamento);
    System.out.println("Data de entrada: " + empregado.dataentrada);
    System.out.println("RG: " + empregado.rg);
    System.out.println("Salario inicial: " + empregado.salario);

    if (empregado.estaNaEmpresa) {
        System.out.println("Situação: Empregado");
    } else {
        System.out.println("Situação: Demitido");
    }

    empregado.bonifica(340);

    System.out.println("Salario após aumento: " + empregado.salario);

    System.out.println("Ganho anual: " + empregado.calculaGanhoAnual());

    empregado.demite();

}

}[/code]

Resolvi essa parte: Inicializei estaNaEmpresa com true na classe main, troquei true por false no método demite e coloquei empregado.demite(); antes do if, acho que tá de acordo com o enunciado.