Trovare relazioni tra oggetti [chiuso]

-5

Descrizione

È una domanda successiva di scrittura di casi d'uso .

Prendendo dai nomi definiti nella mia user story e requisito ho trovato i seguenti candidati come classi:

  1. utente
  2. Domanda
  3. Sessione
  4. Tentativo / UserAnswer
  5. Risultato
  6. Categoria / argomenti
  7. Suggerimento

Penso che la seguente relazione resti tra questi oggetti:

  • Sessione utente (o2m)
  • Utente (o2m) tentativi
  • Domanda utente (m2m)
  • Domanda (m2o) Categoria
  • Domanda (m2m) Tentativo
  • Domanda (o2m) Suggerimento
  • Tentativo (o2o) Punteggio
  • Sessione (m2m) Domanda

Domande

  1. Devo dichiarare il tipo di raccolta per ogni oggetto come Users , Questions , Sessions e Attempts ?

  2. Come identificare la relazione tra oggetto e classe di oggetti sopra definita? e chi è il proprietario della relazione?

  3. È una buona idea trovare i comportamenti dopo aver trovato le relazioni tra oggetti?

  4. Sono sul livello corretto dell'astrazione? o manca qualche lezione?

posta CodeYogi 28.11.2017 - 13:46
fonte

1 risposta

2
  • annuncio 1: non se il tuo linguaggio di programmazione ti fornisce raccolte generiche che puoi utilizzare per qualsiasi delle tue classi

  • annuncio 2: si analizza la descrizione del caso d'uso e si vede come questi oggetti sono correlati. Sembra che tu l'abbia già fatto, quindi hai davvero una domanda qui? "Proprietà" non è importante a quel livello di astrazione, non dovresti preoccupartene prima di iniziare ad implementare alcuni casi d'uso nel codice. Quindi è abbastanza presto per decidere se, ad esempio, un utente ha bisogno di una collezione di sessioni, o ogni sessione ha bisogno di un riferimento al suo utente, o entrambi.

  • annuncio 3: è IMHO un'idea migliore per iniziare presto con un po 'di codice e implementare una prima piccola funzione o picco, quindi scoprirai quali sono i comportamenti di cui gli oggetti hanno bisogno.

  • annuncio 4: dopo la modifica finale, l'elenco sembra abbastanza completo. Ma questo è un esempio inventato da te, quindi solo tu sai se è completo "sufficiente".

Come raccomandazione generale: non analizzare in modo eccessivo questo caso, meglio iniziare ad entrare nel ciclo "analizza un po '- attua un po' - prova un piccolo refattore". Questo ti porta probabilmente molto più feedback sul tuo design di qualsiasi cosa possiamo dirti qui.

    
risposta data 28.11.2017 - 14:29
fonte