yunusemreshahbaz / CE-316

1 stars 0 forks source link

UML Class diagrams #5

Open DogukanTaskiran opened 5 months ago

DogukanTaskiran commented 5 months ago
classDiagram
    class Main {
        +project: Project
        +configuration: Configuration
        +assignment: Assignment
        +zip: Zip
        +output: Output
        +createNewProject()
        +loadProject(projectPath)
        +saveProject()
        +projectResults()
    }

    class Output {
        -compareResults: List<Result>
        +compareOutputs(studentOutput, expectedOutput)
        +generateCompareReport()
    }

    class Configuration {
        -configurations: List<Configuration>
        +createConfiguration(language, compilerPath, runCommand, arguments)
        +editConfiguration(configurationId, newAttributes)
        +removeConfiguration(configurationId)
        +importConfigurations(configPath)
        +exportConfigurations(exportPath)
    }

    class Project {
        -projectName: string
        -projectDirectory: string
        -configurations: List<Configuration>
        -assignments: List<Assignment>
        +createAssignment(assignmentDetails)
        +removeAssignment(assignmentId)
        +importConfigurations(configPath)
        +exportConfigurations(exportPath)
    }

    class Zip {
        -zipDirectory: string
        +extractZip(zipPath)
        +getStudentId(fileName)
    }

    class Assignment {
        -currentConfiguration: Configuration
        -sourceCode
        +processAssignment(assignmentId)
        -compileCode(sourceCode, configuration)
        -runExecutable(executablePath, arguments)
        -compareOutputs(studentOutput, expectedOutput)
        +runAssignments()
    }

    class Student {
        -studentId: string
        -studentName: string
        -studentGrade: float
        +getStudentID()
        +getStudentName()
        +getStudentGrade()
    }

    Main --> Output
    Main --> Zip
    Main --> Assignment
    Main --> Configuration
    Main --> Project

    Student --> Zip
    Zip --> Assignment

    Assignment --* Project

    Configuration --* Project
    Configuration --* Assignment
DogukanTaskiran commented 5 months ago

Changed between meeting 2 and 3.