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).