ConwayLife Sprint1

Introduction

Goal: Realizzazione in Java del GAME OF LIFE DI CONWAY limitatamente al requisito R1.

Requirements

R1  Realizzare una versione in Java del gioco Life di Conway, come gioco zero-player. 
    Il gioco consiste nell’introdurre una Griglia di Celle il cui stato (cella ‘viva’ o cella ‘morta’) 
    evolve come stabilito dallle regole di ConwayLife

R2  L’utente umano deve poter:
     - specificare la configurazione iniziale della griglia del gioco	
     - vedere l’evoluzione del gioco in forma opportuna 
        (si veda Problema della vista del gioco )
     - fermare e far ripartire l’evoluzione del gioco
     - pulire (a gioco fermo) la configurazione della griglia del gioco

Requirement analysis

A partire dal requisito R1 si individuano le entità logiche che compongono il dominio del problema quali Cell, Grid e Life.
Ci poniamo una domanda fondamentale: cosa intende il committente per Cell, Grid e Life?
Cosa intende il committente per Cell?
Per l'entità Cell formalizzo il seguente modello.
Cell è atomica, ha un proprio stato interno (viva o morta) e ha la possibilità di modificarlo (da viva a morta e viceversa). Per definire, invece, il comportamento attesso da una cella realizzo il seguente TestPlan.
Cosa intende il committente per Grid?
Per Grid formalizzo il seguente modello.
L'entità Grid è composta da Cell. E' un'entitò a due dimensioni, quali colonne e righe.
Quindi, l'entità Grid ha la possibilità di restituire le proprie dimensioni e una cella che la compone. Inoltre può settare lo stato di una cella, ottere il suo valore e resettare la Grid impostando tutte le celle di cui è composto a morte.
Per esprimere i requisiti che le interfacce non sono in grado di esprimere, sviluppo il seguente TestPlan.
Cosa intende il committente per Life?
Il committente non ha idea di cosa sia Life, ma mi informa che è la logica del gioca (contiene le regole). Per Life, quindi, formalizzo il seguente modello.
Per esprimere i requisiti che le interfacce non sono in grado di esprimere, sviluppo il seguente TestPlan.

Problem analysis

Test plans

Project

Testing

Deployment

Maintenance



By Meriem Laaouaj email: meriem.laaouaj@studio.unibo.it, img GIT repo: https://github.com/merilaaouaj/IngegneriaSistemiSoftware