Rédaction du diagramme de classes #8

Closed
opened 2 years ago by pierre.ferreira · 1 comments
Owner
There is no content yet.
pierre.ferreira added the Conception label 2 years ago
baptiste.marcel was assigned by pierre.ferreira 2 years ago
pierre.ferreira self-assigned this 2 years ago
thomas.chazot2 was assigned by pierre.ferreira 2 years ago
pierre.ferreira added this to the Kanban project 2 years ago
Poster
Owner
classDiagram

    PersonNetwork <-- NetworkGenerator

    
    
    class NetworkGenerator{
        GenerateNetwork(nbPers) : PersonNetwork
    }

    class PersonNetwork{
    }

    class Person{
        id : int
        nom : string
        age : int
    }
    Person "*" <-- PersonNetwork
    Person "*" <-- Person
    
    class enumSport{
        FOOT,
        BASEBALL,
        BASKET,
        TENNIS,
        BOWLING,
        AUCUN
    }
    enumSport "*" <-- Person
    <<enum>> enumSport

    class enumColor{
        BLANC,
        NOIR,
        BLOND,
        ROUX,
        BRUN
    }
    <<enum>> enumColor

    enumColor <-- Person

    class EnumExtender{
        ColorToString(lang)
        ColorToHexa()
        SportToString(lang)
        SportToIcon()
    }
    <<enum>> EnumExtender

    enumColor <-- EnumExtender
    enumSport <-- EnumExtender

    class EdgesCreator{
        CreateAllEdge(PersonNetwork, Person, Indice[])
    }

    Person <-- EdgesCreator
    PersonNetwork <-- EdgesCreator

    class IndiceChooser{
        ChooseInices(Person, Indice[], nbPlayer) : Indice[]
    }

    Person <--IndiceChooser

    class Indice{
        id : int
        ToString(lang) : string
    }
    <<abstract>> Indice

    Indice <-- EdgesCreator
    Indice <-- IndiceChooser
    Indice <-- IndiceEdgesCreatorFactory
    Indice <-- IndiceEdgesCreator
    Indice <-- IndiceTesterFactory

    class ColorIndice{
        colors : Color[]
    }

    class AgeIndice{
        min : int
        max : int
    }
    ColorIndice <|-- Indice
    AgeIndice <|-- Indice

    class EdgesIndice{
    }
    <<abstract>> EdgesIndice
    EdgesIndice <|-- Indice

    class NbEdgesIndice{
        nbNeighbors : int
    }
    NbEdgesIndice <|-- EdgesIndice

    class IndiceTesterFactory{
        create(Indice) : IndiceTester
    }
    
    class IndiceTester{
        Works(Person) : bool
    }
    <<interface>> EdgesIndice

    IndiceTester <-- IndiceTesterFactory

    class AgeIndiceTester{
        AgeIndice
    }

    class ColorIndiceTester{
        ColorIndice
    }

    class NbEdgesIndiceTester{
        NbEdgesIndice
    }

    IndiceTester <|-- AgeIndiceTester
    IndiceTester <|-- ColorIndiceTester
    IndiceTester <|-- NbEdgesIndiceTester

    class IndiceEdgesCreatorFactory{
        create(Indice) : IndiceEdges
    }

    Indice <-- IndiceEdgesCreatorFactory

    class IndiceEdgesCreator{
        createWorkingEdges(PersonNetwork, Person, Indice[])
    }
    IndiceEdgesCreator <-- IndiceEdgesCreatorFactory
    Person <-- IndiceEdgesCreator
    PersonNetwork <-- IndiceEdgesCreator

    class ColorEdgesIndiceCreator{
        ColorIndice
    }
    
    class NbEdgesIndiceCreator{
        NbEdges
    }

    IndiceEdgesCreator <|-- ColorEdgesIndiceCreator
    IndiceEdgesCreator <|-- NbEdgesIndiceCreator
    
```mermaid classDiagram PersonNetwork <-- NetworkGenerator class NetworkGenerator{ GenerateNetwork(nbPers) : PersonNetwork } class PersonNetwork{ } class Person{ id : int nom : string age : int } Person "*" <-- PersonNetwork Person "*" <-- Person class enumSport{ FOOT, BASEBALL, BASKET, TENNIS, BOWLING, AUCUN } enumSport "*" <-- Person <<enum>> enumSport class enumColor{ BLANC, NOIR, BLOND, ROUX, BRUN } <<enum>> enumColor enumColor <-- Person class EnumExtender{ ColorToString(lang) ColorToHexa() SportToString(lang) SportToIcon() } <<enum>> EnumExtender enumColor <-- EnumExtender enumSport <-- EnumExtender class EdgesCreator{ CreateAllEdge(PersonNetwork, Person, Indice[]) } Person <-- EdgesCreator PersonNetwork <-- EdgesCreator class IndiceChooser{ ChooseInices(Person, Indice[], nbPlayer) : Indice[] } Person <--IndiceChooser class Indice{ id : int ToString(lang) : string } <<abstract>> Indice Indice <-- EdgesCreator Indice <-- IndiceChooser Indice <-- IndiceEdgesCreatorFactory Indice <-- IndiceEdgesCreator Indice <-- IndiceTesterFactory class ColorIndice{ colors : Color[] } class AgeIndice{ min : int max : int } ColorIndice <|-- Indice AgeIndice <|-- Indice class EdgesIndice{ } <<abstract>> EdgesIndice EdgesIndice <|-- Indice class NbEdgesIndice{ nbNeighbors : int } NbEdgesIndice <|-- EdgesIndice class IndiceTesterFactory{ create(Indice) : IndiceTester } class IndiceTester{ Works(Person) : bool } <<interface>> EdgesIndice IndiceTester <-- IndiceTesterFactory class AgeIndiceTester{ AgeIndice } class ColorIndiceTester{ ColorIndice } class NbEdgesIndiceTester{ NbEdgesIndice } IndiceTester <|-- AgeIndiceTester IndiceTester <|-- ColorIndiceTester IndiceTester <|-- NbEdgesIndiceTester class IndiceEdgesCreatorFactory{ create(Indice) : IndiceEdges } Indice <-- IndiceEdgesCreatorFactory class IndiceEdgesCreator{ createWorkingEdges(PersonNetwork, Person, Indice[]) } IndiceEdgesCreator <-- IndiceEdgesCreatorFactory Person <-- IndiceEdgesCreator PersonNetwork <-- IndiceEdgesCreator class ColorEdgesIndiceCreator{ ColorIndice } class NbEdgesIndiceCreator{ NbEdges } IndiceEdgesCreator <|-- ColorEdgesIndiceCreator IndiceEdgesCreator <|-- NbEdgesIndiceCreator ```
pierre.ferreira modified the project from Kanban to Sprint 2 2 years ago
pierre.ferreira closed this issue 2 years ago
Sign in to join this conversation.
Loading…
There is no content yet.