Contratti delle operazioni (UC1) - GioeleCicchini/TankWar GitHub Wiki

CO1: iniziaNuovaStrategia#

Operazione iniziaNuovaStrategia()

Riferimenti casi d'uso: Creare Strategia

Precondizioni none

Postcondizioni:

  • è stata creata un'istanza s di Strategia (creazione di istanza).
  • s è stata associata con il Player (associazione formata).
  • s.isComplete è stata inizializzata a FALSE (modifica di attributo).
  • La lista s.componenti è stata inizializzata vuota (modifica di attributo)
  • è stata creata un'istanza cd (Condizione di Default) di ICondizione (creazione di istanza)
  • cd è stata associata alla Strategia s (associazione formata)

CO2: scegliCondizione#

Operazione scegliCondizione(string idTypeCond, boolean vera, List Valori)

Riferimenti casi d'uso: Creare Strategia

Precondizioni è in corso l'ideazione di una strategia

Postcondizioni:

  • è stata creata un'istanza c di Condizione (creazione di istanza).
  • c è stata associata ad s nella giusta sequenza (associazione formata).

CO3: scegliCondizioneAnnidata#

Operazione scegliCondizioneAnnidata(string idTypeCond, string idCondPadre, boolean vera, List Valori)

Riferimenti casi d'uso: Creare Strategia

Precondizioni è in corso l'ideazione di una strategia

Postcondizioni:

  • è stata creata un'istanza c di Condizione (creazione di istanza).
  • c è stata associata all'istanza della Condizione padre.

CO4: associaAzione#

Operazione associaAzione(string idTypeAz, string idCond, List Valori)

Riferimenti casi d'uso: Creare Strategia

Precondizioni è in corso l'ideazione di una strategia

PostCondizioni:

  • è stata creata un'istanza a di Azione (creazione di istanza).
  • a è stata associata ad c (associazione formata).

CO5: scegliAzioneDefault#

Operazione scegliAzioneDefault(string idTypeAz, List Valori)

Riferimenti casi d'uso: Creare Strategia

Precondizioni è in corso l'ideazione di una strategia

PostCondizioni:

  • è stata creata un'istanza a di Azione (creazione di istanza).
  • è stata creata un'istanza cv di Condizione (sempre vera) (creazione di istanza).
  • a è stata associata ad cv (associazione formata).

CO6: rimuoviComponente#

Operazione rimuoviComponente(string id)

Riferimenti casi d'uso: Creare Strategia

Precondizioni è in corso l'ideazione di una strategia

PostCondizioni:

  • è stata rimossa l'istanza c di IStrategiaComponent dalla Strategia attuale

CO7: inserisciNomeStrategia#

Operazione inserisciNomeStrategia(string nomeStrategia)

Riferimenti casi d'uso: Creare Strategia

Precondizioni è in corso l'ideazione di una strategia

PostCondizioni:

  • s.nome è diventato nomeStrategia (modifica di attributo).

CO8: terminaStrategia#

Operazione terminaStrategia()

Riferimenti casi d'uso: Creare Strategia

Precondizioni è in corso l'ideazione di una strategia

PostCondizioni:

  • s.isComplete è diventato TRUE (modifica di attributo).