@startuml "UML Project"

skinparam monochrome flase 
skinparam handwritten false 
skinparam shadowing true
skinparam StereotypeABackgroundColor true
skinparam classAttributeIconSize 0

skinparam class{
    
    BackgroundColor bab
    BorderColor Black
    ArrowColor Black
}


class Estudiante {
+ codigoEstudiantil: int 
validarCod()
}


class Materia {
+ codigoM: int 
+ tipoM: String  
+ semestre: Tsemestre
+ nombreMat : String
+ numeroCred : int
+ mallacurricular: MallaCurricular
}

Class MallaCurricular { 
+ materias : List [Materia]
mostrarMalla()
}

Class Semester {
+ materias : List [Materia.nombre]
mostrarSemester()
}


Class Electiva { 
+ nombreElect : Nelectiva
+ tipoM: String
}

Class Obligatoria {
+ nombreA: String 
+ tipoM: String
}

Class ActividadesExtra {
+ tipo: String
mostrarActividades()
}

Class Rating {
mostrarRating()
addSubject()
}



Estudiante - MallaCurricular
MallaCurricular " 1   "--- "many" Materia :  < go in 
Materia "  * " <|--- "  1..*  " Obligatoria
Materia "1..*    " <|--- "   *" Electiva
Materia "1..*    " <|--- "   *" Semester
Estudiante "1..*" --* "1  " ActividadesExtra
Materia - Rating



@enduml
