Graphify / images /cd3.svg
ZahirJS's picture
Upload 52 files
da43f5e verified
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: %3 Pages: 1 -->
<svg width="1786pt" height="1820pt"
viewBox="0.00 0.00 1786.00 1820.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(36 1784)">
<title>%3</title>
<polygon fill="white" stroke="transparent" points="-36,36 -36,-1784 1750,-1784 1750,36 -36,36"/>
<!-- Student -->
<g id="node1" class="node">
<title>Student</title>
<path fill="#e8e8e8" stroke="transparent" d="M1081.5,-1514C1081.5,-1514 1319.5,-1514 1319.5,-1514 1325.5,-1514 1331.5,-1520 1331.5,-1526 1331.5,-1526 1331.5,-1732 1331.5,-1732 1331.5,-1738 1325.5,-1744 1319.5,-1744 1319.5,-1744 1081.5,-1744 1081.5,-1744 1075.5,-1744 1069.5,-1738 1069.5,-1732 1069.5,-1732 1069.5,-1526 1069.5,-1526 1069.5,-1520 1075.5,-1514 1081.5,-1514"/>
<polygon fill="#bebebe" stroke="transparent" points="1070.5,-1721 1070.5,-1743 1330.5,-1743 1330.5,-1721 1070.5,-1721"/>
<text text-anchor="start" x="1179.5" y="-1730.2" font-family="Arial" font-weight="bold" font-size="11.00">Student</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1070.5,-1711 1070.5,-1721 1330.5,-1721 1330.5,-1711 1070.5,-1711"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1070.5,-1689 1070.5,-1711 1330.5,-1711 1330.5,-1689 1070.5,-1689"/>
<text text-anchor="start" x="1075.5" y="-1697.2" font-family="Arial" font-size="11.00">&#45; studentId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1070.5,-1667 1070.5,-1689 1330.5,-1689 1330.5,-1667 1070.5,-1667"/>
<text text-anchor="start" x="1075.5" y="-1675.2" font-family="Arial" font-size="11.00">+ username : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1070.5,-1645 1070.5,-1667 1330.5,-1667 1330.5,-1645 1070.5,-1645"/>
<text text-anchor="start" x="1075.5" y="-1653.2" font-family="Arial" font-size="11.00">+ email : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1070.5,-1623 1070.5,-1645 1330.5,-1645 1330.5,-1623 1070.5,-1623"/>
<text text-anchor="start" x="1075.5" y="-1631.2" font-family="Arial" font-size="11.00">+ enrollmentDate : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1070.5,-1601 1070.5,-1623 1330.5,-1623 1330.5,-1601 1070.5,-1601"/>
<text text-anchor="start" x="1075.5" y="-1609.2" font-family="Arial" font-size="11.00">+ currentLevel : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1070.5,-1591 1070.5,-1601 1330.5,-1601 1330.5,-1591 1070.5,-1591"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1070.5,-1581 1070.5,-1591 1330.5,-1591 1330.5,-1581 1070.5,-1581"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1070.5,-1559 1070.5,-1581 1330.5,-1581 1330.5,-1559 1070.5,-1559"/>
<text text-anchor="start" x="1075.5" y="-1567.2" font-family="Arial" font-size="11.00">+ Student(username: String, email: String) : Student</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1070.5,-1537 1070.5,-1559 1330.5,-1559 1330.5,-1537 1070.5,-1537"/>
<text text-anchor="start" x="1075.5" y="-1545.2" font-family="Arial" font-size="11.00">+ enrollCourse(courseId: String) : boolean</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1070.5,-1515 1070.5,-1537 1330.5,-1537 1330.5,-1515 1070.5,-1515"/>
<text text-anchor="start" x="1075.5" y="-1523.2" font-family="Arial" font-size="11.00">+ updateProgress(lessonId: String) : void</text>
<polygon fill="black" stroke="black" points="1069.5,-1721 1069.5,-1721 1331.5,-1721 1331.5,-1721 1069.5,-1721"/>
<polygon fill="black" stroke="black" points="1069.5,-1591 1069.5,-1591 1331.5,-1591 1331.5,-1591 1069.5,-1591"/>
<path fill="none" stroke="black" d="M1081.5,-1514C1081.5,-1514 1319.5,-1514 1319.5,-1514 1325.5,-1514 1331.5,-1520 1331.5,-1526 1331.5,-1526 1331.5,-1732 1331.5,-1732 1331.5,-1738 1325.5,-1744 1319.5,-1744 1319.5,-1744 1081.5,-1744 1081.5,-1744 1075.5,-1744 1069.5,-1738 1069.5,-1732 1069.5,-1732 1069.5,-1526 1069.5,-1526 1069.5,-1520 1075.5,-1514 1081.5,-1514"/>
</g>
<!-- CourseEnrollment -->
<g id="node2" class="node">
<title>CourseEnrollment</title>
<path fill="#e8e8e8" stroke="transparent" d="M268,-1212C268,-1212 617,-1212 617,-1212 623,-1212 629,-1218 629,-1224 629,-1224 629,-1408 629,-1408 629,-1414 623,-1420 617,-1420 617,-1420 268,-1420 268,-1420 262,-1420 256,-1414 256,-1408 256,-1408 256,-1224 256,-1224 256,-1218 262,-1212 268,-1212"/>
<polygon fill="#bebebe" stroke="transparent" points="257.5,-1397 257.5,-1419 628.5,-1419 628.5,-1397 257.5,-1397"/>
<text text-anchor="start" x="394.5" y="-1406.2" font-family="Arial" font-weight="bold" font-size="11.00">CourseEnrollment</text>
<polygon fill="#e8e8e8" stroke="transparent" points="257.5,-1387 257.5,-1397 628.5,-1397 628.5,-1387 257.5,-1387"/>
<polygon fill="#e8e8e8" stroke="transparent" points="257.5,-1365 257.5,-1387 628.5,-1387 628.5,-1365 257.5,-1365"/>
<text text-anchor="start" x="262.5" y="-1373.2" font-family="Arial" font-size="11.00">&#45; enrollmentId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="257.5,-1343 257.5,-1365 628.5,-1365 628.5,-1343 257.5,-1343"/>
<text text-anchor="start" x="262.5" y="-1351.2" font-family="Arial" font-size="11.00">+ studentId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="257.5,-1321 257.5,-1343 628.5,-1343 628.5,-1321 257.5,-1321"/>
<text text-anchor="start" x="262.5" y="-1329.2" font-family="Arial" font-size="11.00">+ courseId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="257.5,-1299 257.5,-1321 628.5,-1321 628.5,-1299 257.5,-1299"/>
<text text-anchor="start" x="262.5" y="-1307.2" font-family="Arial" font-size="11.00">+ enrollmentDate : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="257.5,-1277 257.5,-1299 628.5,-1299 628.5,-1277 257.5,-1277"/>
<text text-anchor="start" x="262.5" y="-1285.2" font-family="Arial" font-size="11.00">+ progress : double</text>
<polygon fill="#e8e8e8" stroke="transparent" points="257.5,-1267 257.5,-1277 628.5,-1277 628.5,-1267 257.5,-1267"/>
<polygon fill="#e8e8e8" stroke="transparent" points="257.5,-1257 257.5,-1267 628.5,-1267 628.5,-1257 257.5,-1257"/>
<polygon fill="#e8e8e8" stroke="transparent" points="257.5,-1235 257.5,-1257 628.5,-1257 628.5,-1235 257.5,-1235"/>
<text text-anchor="start" x="262.5" y="-1243.2" font-family="Arial" font-size="11.00">+ CourseEnrollment(studentId: String, courseId: String) : CourseEnrollment</text>
<polygon fill="#e8e8e8" stroke="transparent" points="257.5,-1213 257.5,-1235 628.5,-1235 628.5,-1213 257.5,-1213"/>
<text text-anchor="start" x="262.5" y="-1221.2" font-family="Arial" font-size="11.00">+ calculateProgress() : double</text>
<polygon fill="black" stroke="black" points="256.5,-1397 256.5,-1397 629.5,-1397 629.5,-1397 256.5,-1397"/>
<polygon fill="black" stroke="black" points="256.5,-1267 256.5,-1267 629.5,-1267 629.5,-1267 256.5,-1267"/>
<path fill="none" stroke="black" d="M268,-1212C268,-1212 617,-1212 617,-1212 623,-1212 629,-1218 629,-1224 629,-1224 629,-1408 629,-1408 629,-1414 623,-1420 617,-1420 617,-1420 268,-1420 268,-1420 262,-1420 256,-1414 256,-1408 256,-1408 256,-1224 256,-1224 256,-1218 262,-1212 268,-1212"/>
</g>
<!-- Student&#45;&gt;CourseEnrollment -->
<g id="edge1" class="edge">
<title>Student&#45;&gt;CourseEnrollment</title>
<path fill="none" stroke="#4a4a4a" d="M1061.47,-1589C842.64,-1589 442.5,-1589 442.5,-1589 442.5,-1589 442.5,-1434.29 442.5,-1434.29"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="446,-1434.29 442.5,-1424.29 439,-1434.29 446,-1434.29"/>
<text text-anchor="middle" x="440.5" y="-1427.09" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1058.47" y="-1591.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- WatchProgress -->
<g id="node7" class="node">
<title>WatchProgress</title>
<path fill="#e8e8e8" stroke="transparent" d="M1168.5,-15C1168.5,-15 1484.5,-15 1484.5,-15 1490.5,-15 1496.5,-21 1496.5,-27 1496.5,-27 1496.5,-189 1496.5,-189 1496.5,-195 1490.5,-201 1484.5,-201 1484.5,-201 1168.5,-201 1168.5,-201 1162.5,-201 1156.5,-195 1156.5,-189 1156.5,-189 1156.5,-27 1156.5,-27 1156.5,-21 1162.5,-15 1168.5,-15"/>
<polygon fill="#bebebe" stroke="transparent" points="1157.5,-178 1157.5,-200 1495.5,-200 1495.5,-178 1157.5,-178"/>
<text text-anchor="start" x="1286" y="-187.2" font-family="Arial" font-weight="bold" font-size="11.00">WatchProgress</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-168 1157.5,-178 1495.5,-178 1495.5,-168 1157.5,-168"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-146 1157.5,-168 1495.5,-168 1495.5,-146 1157.5,-146"/>
<text text-anchor="start" x="1162.5" y="-154.2" font-family="Arial" font-size="11.00">&#45; progressId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-124 1157.5,-146 1495.5,-146 1495.5,-124 1157.5,-124"/>
<text text-anchor="start" x="1162.5" y="-132.2" font-family="Arial" font-size="11.00">+ studentId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-102 1157.5,-124 1495.5,-124 1495.5,-102 1157.5,-102"/>
<text text-anchor="start" x="1162.5" y="-110.2" font-family="Arial" font-size="11.00">+ videoId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-80 1157.5,-102 1495.5,-102 1495.5,-80 1157.5,-80"/>
<text text-anchor="start" x="1162.5" y="-88.2" font-family="Arial" font-size="11.00">+ watchedMinutes : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-70 1157.5,-80 1495.5,-80 1495.5,-70 1157.5,-70"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-60 1157.5,-70 1495.5,-70 1495.5,-60 1157.5,-60"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-38 1157.5,-60 1495.5,-60 1495.5,-38 1157.5,-38"/>
<text text-anchor="start" x="1162.5" y="-46.2" font-family="Arial" font-size="11.00">+ WatchProgress(studentId: String, videoId: String) : WatchProgress</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1157.5,-16 1157.5,-38 1495.5,-38 1495.5,-16 1157.5,-16"/>
<text text-anchor="start" x="1162.5" y="-24.2" font-family="Arial" font-size="11.00">+ updateProgress(minutes: int) : void</text>
<polygon fill="black" stroke="black" points="1156.5,-178 1156.5,-178 1496.5,-178 1496.5,-178 1156.5,-178"/>
<polygon fill="black" stroke="black" points="1156.5,-70 1156.5,-70 1496.5,-70 1496.5,-70 1156.5,-70"/>
<path fill="none" stroke="black" d="M1168.5,-15C1168.5,-15 1484.5,-15 1484.5,-15 1490.5,-15 1496.5,-21 1496.5,-27 1496.5,-27 1496.5,-189 1496.5,-189 1496.5,-195 1490.5,-201 1484.5,-201 1484.5,-201 1168.5,-201 1168.5,-201 1162.5,-201 1156.5,-195 1156.5,-189 1156.5,-189 1156.5,-27 1156.5,-27 1156.5,-21 1162.5,-15 1168.5,-15"/>
</g>
<!-- Student&#45;&gt;WatchProgress -->
<g id="edge6" class="edge">
<title>Student&#45;&gt;WatchProgress</title>
<path fill="none" stroke="#4a4a4a" d="M1339.67,-1589C1366.27,-1589 1386,-1589 1386,-1589 1386,-1589 1386,-215.17 1386,-215.17"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1389.5,-215.17 1386,-205.17 1382.5,-215.17 1389.5,-215.17"/>
<text text-anchor="middle" x="1384" y="-207.97" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1342.67" y="-1591.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- QuizAttempt -->
<g id="node10" class="node">
<title>QuizAttempt</title>
<path fill="#e8e8e8" stroke="transparent" d="M20,-4C20,-4 301,-4 301,-4 307,-4 313,-10 313,-16 313,-16 313,-200 313,-200 313,-206 307,-212 301,-212 301,-212 20,-212 20,-212 14,-212 8,-206 8,-200 8,-200 8,-16 8,-16 8,-10 14,-4 20,-4"/>
<polygon fill="#bebebe" stroke="transparent" points="9.5,-189 9.5,-211 312.5,-211 312.5,-189 9.5,-189"/>
<text text-anchor="start" x="128" y="-198.2" font-family="Arial" font-weight="bold" font-size="11.00">QuizAttempt</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-179 9.5,-189 312.5,-189 312.5,-179 9.5,-179"/>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-157 9.5,-179 312.5,-179 312.5,-157 9.5,-157"/>
<text text-anchor="start" x="14.5" y="-165.2" font-family="Arial" font-size="11.00">&#45; attemptId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-135 9.5,-157 312.5,-157 312.5,-135 9.5,-135"/>
<text text-anchor="start" x="14.5" y="-143.2" font-family="Arial" font-size="11.00">+ studentId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-113 9.5,-135 312.5,-135 312.5,-113 9.5,-113"/>
<text text-anchor="start" x="14.5" y="-121.2" font-family="Arial" font-size="11.00">+ quizId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-91 9.5,-113 312.5,-113 312.5,-91 9.5,-91"/>
<text text-anchor="start" x="14.5" y="-99.2" font-family="Arial" font-size="11.00">+ score : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-69 9.5,-91 312.5,-91 312.5,-69 9.5,-69"/>
<text text-anchor="start" x="14.5" y="-77.2" font-family="Arial" font-size="11.00">+ attemptDate : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-59 9.5,-69 312.5,-69 312.5,-59 9.5,-59"/>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-49 9.5,-59 312.5,-59 312.5,-49 9.5,-49"/>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-27 9.5,-49 312.5,-49 312.5,-27 9.5,-27"/>
<text text-anchor="start" x="14.5" y="-35.2" font-family="Arial" font-size="11.00">+ QuizAttempt(studentId: String, quizId: String) : QuizAttempt</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-5 9.5,-27 312.5,-27 312.5,-5 9.5,-5"/>
<text text-anchor="start" x="14.5" y="-13.2" font-family="Arial" font-size="11.00">+ submitAnswer(questionId: String, answer: String) : void</text>
<polygon fill="black" stroke="black" points="8.5,-189 8.5,-189 313.5,-189 313.5,-189 8.5,-189"/>
<polygon fill="black" stroke="black" points="8.5,-59 8.5,-59 313.5,-59 313.5,-59 8.5,-59"/>
<path fill="none" stroke="black" d="M20,-4C20,-4 301,-4 301,-4 307,-4 313,-10 313,-16 313,-16 313,-200 313,-200 313,-206 307,-212 301,-212 301,-212 20,-212 20,-212 14,-212 8,-206 8,-200 8,-200 8,-16 8,-16 8,-10 14,-4 20,-4"/>
</g>
<!-- Student&#45;&gt;QuizAttempt -->
<g id="edge10" class="edge">
<title>Student&#45;&gt;QuizAttempt</title>
<path fill="none" stroke="#4a4a4a" d="M1061.42,-1668C770.41,-1668 124,-1668 124,-1668 124,-1668 124,-226.15 124,-226.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="127.5,-226.15 124,-216.15 120.5,-226.15 127.5,-226.15"/>
<text text-anchor="middle" x="122" y="-218.95" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1058.42" y="-1670.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Certificate -->
<g id="node13" class="node">
<title>Certificate</title>
<path fill="#e8e8e8" stroke="transparent" d="M1064,-1212C1064,-1212 1337,-1212 1337,-1212 1343,-1212 1349,-1218 1349,-1224 1349,-1224 1349,-1408 1349,-1408 1349,-1414 1343,-1420 1337,-1420 1337,-1420 1064,-1420 1064,-1420 1058,-1420 1052,-1414 1052,-1408 1052,-1408 1052,-1224 1052,-1224 1052,-1218 1058,-1212 1064,-1212"/>
<polygon fill="#bebebe" stroke="transparent" points="1053.5,-1397 1053.5,-1419 1348.5,-1419 1348.5,-1397 1053.5,-1397"/>
<text text-anchor="start" x="1173.5" y="-1406.2" font-family="Arial" font-weight="bold" font-size="11.00">Certificate</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1053.5,-1387 1053.5,-1397 1348.5,-1397 1348.5,-1387 1053.5,-1387"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1053.5,-1365 1053.5,-1387 1348.5,-1387 1348.5,-1365 1053.5,-1365"/>
<text text-anchor="start" x="1058.5" y="-1373.2" font-family="Arial" font-size="11.00">&#45; certificateId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1053.5,-1343 1053.5,-1365 1348.5,-1365 1348.5,-1343 1053.5,-1343"/>
<text text-anchor="start" x="1058.5" y="-1351.2" font-family="Arial" font-size="11.00">+ studentId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1053.5,-1321 1053.5,-1343 1348.5,-1343 1348.5,-1321 1053.5,-1321"/>
<text text-anchor="start" x="1058.5" y="-1329.2" font-family="Arial" font-size="11.00">+ courseId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1053.5,-1299 1053.5,-1321 1348.5,-1321 1348.5,-1299 1053.5,-1299"/>
<text text-anchor="start" x="1058.5" y="-1307.2" font-family="Arial" font-size="11.00">+ issueDate : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1053.5,-1277 1053.5,-1299 1348.5,-1299 1348.5,-1277 1053.5,-1277"/>
<text text-anchor="start" x="1058.5" y="-1285.2" font-family="Arial" font-size="11.00">+ grade : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1053.5,-1267 1053.5,-1277 1348.5,-1277 1348.5,-1267 1053.5,-1267"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1053.5,-1257 1053.5,-1267 1348.5,-1267 1348.5,-1257 1053.5,-1257"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1053.5,-1235 1053.5,-1257 1348.5,-1257 1348.5,-1235 1053.5,-1235"/>
<text text-anchor="start" x="1058.5" y="-1243.2" font-family="Arial" font-size="11.00">+ Certificate(studentId: String, courseId: String) : Certificate</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1053.5,-1213 1053.5,-1235 1348.5,-1235 1348.5,-1213 1053.5,-1213"/>
<text text-anchor="start" x="1058.5" y="-1221.2" font-family="Arial" font-size="11.00">+ generatePDF() : String</text>
<polygon fill="black" stroke="black" points="1052.5,-1397 1052.5,-1397 1349.5,-1397 1349.5,-1397 1052.5,-1397"/>
<polygon fill="black" stroke="black" points="1052.5,-1267 1052.5,-1267 1349.5,-1267 1349.5,-1267 1052.5,-1267"/>
<path fill="none" stroke="black" d="M1064,-1212C1064,-1212 1337,-1212 1337,-1212 1343,-1212 1349,-1218 1349,-1224 1349,-1224 1349,-1408 1349,-1408 1349,-1414 1343,-1420 1337,-1420 1337,-1420 1064,-1420 1064,-1420 1058,-1420 1052,-1414 1052,-1408 1052,-1408 1052,-1224 1052,-1224 1052,-1218 1058,-1212 1064,-1212"/>
</g>
<!-- Student&#45;&gt;Certificate -->
<g id="edge14" class="edge">
<title>Student&#45;&gt;Certificate</title>
<path fill="none" stroke="#4a4a4a" d="M1200.5,-1509.78C1200.5,-1509.78 1200.5,-1434.11 1200.5,-1434.11"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1204,-1434.11 1200.5,-1424.11 1197,-1434.11 1204,-1434.11"/>
<text text-anchor="middle" x="1198.5" y="-1426.91" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1197.5" y="-1502.58" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Payment -->
<g id="node14" class="node">
<title>Payment</title>
<path fill="#e8e8e8" stroke="transparent" d="M1435,-1212C1435,-1212 1694,-1212 1694,-1212 1700,-1212 1706,-1218 1706,-1224 1706,-1224 1706,-1408 1706,-1408 1706,-1414 1700,-1420 1694,-1420 1694,-1420 1435,-1420 1435,-1420 1429,-1420 1423,-1414 1423,-1408 1423,-1408 1423,-1224 1423,-1224 1423,-1218 1429,-1212 1435,-1212"/>
<polygon fill="#bebebe" stroke="transparent" points="1424.5,-1397 1424.5,-1419 1705.5,-1419 1705.5,-1397 1424.5,-1397"/>
<text text-anchor="start" x="1542" y="-1406.2" font-family="Arial" font-weight="bold" font-size="11.00">Payment</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1424.5,-1387 1424.5,-1397 1705.5,-1397 1705.5,-1387 1424.5,-1387"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1424.5,-1365 1424.5,-1387 1705.5,-1387 1705.5,-1365 1424.5,-1365"/>
<text text-anchor="start" x="1429.5" y="-1373.2" font-family="Arial" font-size="11.00">&#45; paymentId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1424.5,-1343 1424.5,-1365 1705.5,-1365 1705.5,-1343 1424.5,-1343"/>
<text text-anchor="start" x="1429.5" y="-1351.2" font-family="Arial" font-size="11.00">+ studentId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1424.5,-1321 1424.5,-1343 1705.5,-1343 1705.5,-1321 1424.5,-1321"/>
<text text-anchor="start" x="1429.5" y="-1329.2" font-family="Arial" font-size="11.00">+ courseId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1424.5,-1299 1424.5,-1321 1705.5,-1321 1705.5,-1299 1424.5,-1299"/>
<text text-anchor="start" x="1429.5" y="-1307.2" font-family="Arial" font-size="11.00">+ amount : double</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1424.5,-1277 1424.5,-1299 1705.5,-1299 1705.5,-1277 1424.5,-1277"/>
<text text-anchor="start" x="1429.5" y="-1285.2" font-family="Arial" font-size="11.00">+ paymentDate : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1424.5,-1267 1424.5,-1277 1705.5,-1277 1705.5,-1267 1424.5,-1267"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1424.5,-1257 1424.5,-1267 1705.5,-1267 1705.5,-1257 1424.5,-1257"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1424.5,-1235 1424.5,-1257 1705.5,-1257 1705.5,-1235 1424.5,-1235"/>
<text text-anchor="start" x="1429.5" y="-1243.2" font-family="Arial" font-size="11.00">+ Payment(studentId: String, amount: double) : Payment</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1424.5,-1213 1424.5,-1235 1705.5,-1235 1705.5,-1213 1424.5,-1213"/>
<text text-anchor="start" x="1429.5" y="-1221.2" font-family="Arial" font-size="11.00">+ processPayment() : boolean</text>
<polygon fill="black" stroke="black" points="1423.5,-1397 1423.5,-1397 1706.5,-1397 1706.5,-1397 1423.5,-1397"/>
<polygon fill="black" stroke="black" points="1423.5,-1267 1423.5,-1267 1706.5,-1267 1706.5,-1267 1423.5,-1267"/>
<path fill="none" stroke="black" d="M1435,-1212C1435,-1212 1694,-1212 1694,-1212 1700,-1212 1706,-1218 1706,-1224 1706,-1224 1706,-1408 1706,-1408 1706,-1414 1700,-1420 1694,-1420 1694,-1420 1435,-1420 1435,-1420 1429,-1420 1423,-1414 1423,-1408 1423,-1408 1423,-1224 1423,-1224 1423,-1218 1429,-1212 1435,-1212"/>
</g>
<!-- Student&#45;&gt;Payment -->
<g id="edge15" class="edge">
<title>Student&#45;&gt;Payment</title>
<path fill="none" stroke="#4a4a4a" d="M1339.67,-1668C1442.43,-1668 1564.5,-1668 1564.5,-1668 1564.5,-1668 1564.5,-1434 1564.5,-1434"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1568,-1434 1564.5,-1424 1561,-1434 1568,-1434"/>
<text text-anchor="middle" x="1562.5" y="-1426.8" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1342.67" y="-1670.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Course -->
<g id="node3" class="node">
<title>Course</title>
<path fill="#e8e8e8" stroke="transparent" d="M759.5,-910C759.5,-910 917.5,-910 917.5,-910 923.5,-910 929.5,-916 929.5,-922 929.5,-922 929.5,-1106 929.5,-1106 929.5,-1112 923.5,-1118 917.5,-1118 917.5,-1118 759.5,-1118 759.5,-1118 753.5,-1118 747.5,-1112 747.5,-1106 747.5,-1106 747.5,-922 747.5,-922 747.5,-916 753.5,-910 759.5,-910"/>
<polygon fill="#bebebe" stroke="transparent" points="748.5,-1095 748.5,-1117 928.5,-1117 928.5,-1095 748.5,-1095"/>
<text text-anchor="start" x="819" y="-1104.2" font-family="Arial" font-weight="bold" font-size="11.00">Course</text>
<polygon fill="#e8e8e8" stroke="transparent" points="748.5,-1085 748.5,-1095 928.5,-1095 928.5,-1085 748.5,-1085"/>
<polygon fill="#e8e8e8" stroke="transparent" points="748.5,-1063 748.5,-1085 928.5,-1085 928.5,-1063 748.5,-1063"/>
<text text-anchor="start" x="753.5" y="-1071.2" font-family="Arial" font-size="11.00">&#45; courseId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="748.5,-1041 748.5,-1063 928.5,-1063 928.5,-1041 748.5,-1041"/>
<text text-anchor="start" x="753.5" y="-1049.2" font-family="Arial" font-size="11.00">+ title : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="748.5,-1019 748.5,-1041 928.5,-1041 928.5,-1019 748.5,-1019"/>
<text text-anchor="start" x="753.5" y="-1027.2" font-family="Arial" font-size="11.00">+ description : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="748.5,-997 748.5,-1019 928.5,-1019 928.5,-997 748.5,-997"/>
<text text-anchor="start" x="753.5" y="-1005.2" font-family="Arial" font-size="11.00">+ difficulty : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="748.5,-975 748.5,-997 928.5,-997 928.5,-975 748.5,-975"/>
<text text-anchor="start" x="753.5" y="-983.2" font-family="Arial" font-size="11.00">+ duration : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="748.5,-965 748.5,-975 928.5,-975 928.5,-965 748.5,-965"/>
<polygon fill="#e8e8e8" stroke="transparent" points="748.5,-955 748.5,-965 928.5,-965 928.5,-955 748.5,-955"/>
<polygon fill="#e8e8e8" stroke="transparent" points="748.5,-933 748.5,-955 928.5,-955 928.5,-933 748.5,-933"/>
<text text-anchor="start" x="753.5" y="-941.2" font-family="Arial" font-size="11.00">+ Course(title: String) : Course</text>
<polygon fill="#e8e8e8" stroke="transparent" points="748.5,-911 748.5,-933 928.5,-933 928.5,-911 748.5,-911"/>
<text text-anchor="start" x="753.5" y="-919.2" font-family="Arial" font-size="11.00">+ addLesson(lesson: Lesson) : void</text>
<polygon fill="black" stroke="black" points="747.5,-1095 747.5,-1095 929.5,-1095 929.5,-1095 747.5,-1095"/>
<polygon fill="black" stroke="black" points="747.5,-965 747.5,-965 929.5,-965 929.5,-965 747.5,-965"/>
<path fill="none" stroke="black" d="M759.5,-910C759.5,-910 917.5,-910 917.5,-910 923.5,-910 929.5,-916 929.5,-922 929.5,-922 929.5,-1106 929.5,-1106 929.5,-1112 923.5,-1118 917.5,-1118 917.5,-1118 759.5,-1118 759.5,-1118 753.5,-1118 747.5,-1112 747.5,-1106 747.5,-1106 747.5,-922 747.5,-922 747.5,-916 753.5,-910 759.5,-910"/>
</g>
<!-- CourseEnrollment&#45;&gt;Course -->
<g id="edge2" class="edge">
<title>CourseEnrollment&#45;&gt;Course</title>
<path fill="none" stroke="#4a4a4a" d="M637.02,-1213C723.23,-1213 805.5,-1213 805.5,-1213 805.5,-1213 805.5,-1132.24 805.5,-1132.24"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="809,-1132.24 805.5,-1122.24 802,-1132.24 809,-1132.24"/>
<text text-anchor="middle" x="802.5" y="-1125.04" font-family="Arial" font-size="9.00">1</text>
<text text-anchor="middle" x="639.02" y="-1215.8" font-family="Arial" font-size="9.00">*</text>
</g>
<!-- Lesson -->
<g id="node5" class="node">
<title>Lesson</title>
<path fill="#e8e8e8" stroke="transparent" d="M743.5,-608C743.5,-608 933.5,-608 933.5,-608 939.5,-608 945.5,-614 945.5,-620 945.5,-620 945.5,-804 945.5,-804 945.5,-810 939.5,-816 933.5,-816 933.5,-816 743.5,-816 743.5,-816 737.5,-816 731.5,-810 731.5,-804 731.5,-804 731.5,-620 731.5,-620 731.5,-614 737.5,-608 743.5,-608"/>
<polygon fill="#bebebe" stroke="transparent" points="732.5,-793 732.5,-815 944.5,-815 944.5,-793 732.5,-793"/>
<text text-anchor="start" x="819" y="-802.2" font-family="Arial" font-weight="bold" font-size="11.00">Lesson</text>
<polygon fill="#e8e8e8" stroke="transparent" points="732.5,-783 732.5,-793 944.5,-793 944.5,-783 732.5,-783"/>
<polygon fill="#e8e8e8" stroke="transparent" points="732.5,-761 732.5,-783 944.5,-783 944.5,-761 732.5,-761"/>
<text text-anchor="start" x="737.5" y="-769.2" font-family="Arial" font-size="11.00">&#45; lessonId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="732.5,-739 732.5,-761 944.5,-761 944.5,-739 732.5,-739"/>
<text text-anchor="start" x="737.5" y="-747.2" font-family="Arial" font-size="11.00">+ title : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="732.5,-717 732.5,-739 944.5,-739 944.5,-717 732.5,-717"/>
<text text-anchor="start" x="737.5" y="-725.2" font-family="Arial" font-size="11.00">+ courseId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="732.5,-695 732.5,-717 944.5,-717 944.5,-695 732.5,-695"/>
<text text-anchor="start" x="737.5" y="-703.2" font-family="Arial" font-size="11.00">+ duration : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="732.5,-673 732.5,-695 944.5,-695 944.5,-673 732.5,-673"/>
<text text-anchor="start" x="737.5" y="-681.2" font-family="Arial" font-size="11.00">+ order : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="732.5,-663 732.5,-673 944.5,-673 944.5,-663 732.5,-663"/>
<polygon fill="#e8e8e8" stroke="transparent" points="732.5,-653 732.5,-663 944.5,-663 944.5,-653 732.5,-653"/>
<polygon fill="#e8e8e8" stroke="transparent" points="732.5,-631 732.5,-653 944.5,-653 944.5,-631 732.5,-631"/>
<text text-anchor="start" x="737.5" y="-639.2" font-family="Arial" font-size="11.00">+ Lesson(title: String) : Lesson</text>
<polygon fill="#e8e8e8" stroke="transparent" points="732.5,-609 732.5,-631 944.5,-631 944.5,-609 732.5,-609"/>
<text text-anchor="start" x="737.5" y="-617.2" font-family="Arial" font-size="11.00">+ markCompleted(studentId: String) : void</text>
<polygon fill="black" stroke="black" points="731.5,-793 731.5,-793 945.5,-793 945.5,-793 731.5,-793"/>
<polygon fill="black" stroke="black" points="731.5,-663 731.5,-663 945.5,-663 945.5,-663 731.5,-663"/>
<path fill="none" stroke="black" d="M743.5,-608C743.5,-608 933.5,-608 933.5,-608 939.5,-608 945.5,-614 945.5,-620 945.5,-620 945.5,-804 945.5,-804 945.5,-810 939.5,-816 933.5,-816 933.5,-816 743.5,-816 743.5,-816 737.5,-816 731.5,-810 731.5,-804 731.5,-804 731.5,-620 731.5,-620 731.5,-614 737.5,-608 743.5,-608"/>
</g>
<!-- Course&#45;&gt;Lesson -->
<g id="edge4" class="edge">
<title>Course&#45;&gt;Lesson</title>
<path fill="none" stroke="#4a4a4a" d="M838.5,-893.82C838.5,-893.82 838.5,-830.18 838.5,-830.18"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="838.5,-832.18 834.5,-826.18 838.5,-820.18 842.5,-826.18 838.5,-832.18"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="835,-895.82 838.5,-905.82 842,-895.82 835,-895.82"/>
<text text-anchor="middle" x="836.5" y="-898.62" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="835.5" y="-822.98" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Discussion -->
<g id="node11" class="node">
<title>Discussion</title>
<path fill="#e8e8e8" stroke="transparent" d="M1053,-619C1053,-619 1290,-619 1290,-619 1296,-619 1302,-625 1302,-631 1302,-631 1302,-793 1302,-793 1302,-799 1296,-805 1290,-805 1290,-805 1053,-805 1053,-805 1047,-805 1041,-799 1041,-793 1041,-793 1041,-631 1041,-631 1041,-625 1047,-619 1053,-619"/>
<polygon fill="#bebebe" stroke="transparent" points="1042.5,-782 1042.5,-804 1301.5,-804 1301.5,-782 1042.5,-782"/>
<text text-anchor="start" x="1142.5" y="-791.2" font-family="Arial" font-weight="bold" font-size="11.00">Discussion</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1042.5,-772 1042.5,-782 1301.5,-782 1301.5,-772 1042.5,-772"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1042.5,-750 1042.5,-772 1301.5,-772 1301.5,-750 1042.5,-750"/>
<text text-anchor="start" x="1047.5" y="-758.2" font-family="Arial" font-size="11.00">&#45; discussionId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1042.5,-728 1042.5,-750 1301.5,-750 1301.5,-728 1042.5,-728"/>
<text text-anchor="start" x="1047.5" y="-736.2" font-family="Arial" font-size="11.00">+ courseId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1042.5,-706 1042.5,-728 1301.5,-728 1301.5,-706 1042.5,-706"/>
<text text-anchor="start" x="1047.5" y="-714.2" font-family="Arial" font-size="11.00">+ title : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1042.5,-684 1042.5,-706 1301.5,-706 1301.5,-684 1042.5,-684"/>
<text text-anchor="start" x="1047.5" y="-692.2" font-family="Arial" font-size="11.00">+ createdDate : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1042.5,-674 1042.5,-684 1301.5,-684 1301.5,-674 1042.5,-674"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1042.5,-664 1042.5,-674 1301.5,-674 1301.5,-664 1042.5,-664"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1042.5,-642 1042.5,-664 1301.5,-664 1301.5,-642 1042.5,-642"/>
<text text-anchor="start" x="1047.5" y="-650.2" font-family="Arial" font-size="11.00">+ Discussion(title: String) : Discussion</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1042.5,-620 1042.5,-642 1301.5,-642 1301.5,-620 1042.5,-620"/>
<text text-anchor="start" x="1047.5" y="-628.2" font-family="Arial" font-size="11.00">+ addPost(studentId: String, message: String) : void</text>
<polygon fill="black" stroke="black" points="1041.5,-782 1041.5,-782 1302.5,-782 1302.5,-782 1041.5,-782"/>
<polygon fill="black" stroke="black" points="1041.5,-674 1041.5,-674 1302.5,-674 1302.5,-674 1041.5,-674"/>
<path fill="none" stroke="black" d="M1053,-619C1053,-619 1290,-619 1290,-619 1296,-619 1302,-625 1302,-631 1302,-631 1302,-793 1302,-793 1302,-799 1296,-805 1290,-805 1290,-805 1053,-805 1053,-805 1047,-805 1041,-799 1041,-793 1041,-793 1041,-631 1041,-631 1041,-625 1047,-619 1053,-619"/>
</g>
<!-- Course&#45;&gt;Discussion -->
<g id="edge12" class="edge">
<title>Course&#45;&gt;Discussion</title>
<path fill="none" stroke="#4a4a4a" d="M949.62,-1014C949.62,-1014 1038.5,-1014 1038.5,-1014 1038.5,-1014 1038.5,-819.22 1038.5,-819.22"/>
<polygon fill="none" stroke="#4a4a4a" points="949.62,-1014 943.62,-1018 937.62,-1014 943.62,-1010 949.62,-1014"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1042,-819.22 1038.5,-809.22 1035,-819.22 1042,-819.22"/>
<text text-anchor="middle" x="1036.5" y="-812.02" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="940.62" y="-1016.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Instructor -->
<g id="node4" class="node">
<title>Instructor</title>
<path fill="#e8e8e8" stroke="transparent" d="M715.5,-1223C715.5,-1223 965.5,-1223 965.5,-1223 971.5,-1223 977.5,-1229 977.5,-1235 977.5,-1235 977.5,-1397 977.5,-1397 977.5,-1403 971.5,-1409 965.5,-1409 965.5,-1409 715.5,-1409 715.5,-1409 709.5,-1409 703.5,-1403 703.5,-1397 703.5,-1397 703.5,-1235 703.5,-1235 703.5,-1229 709.5,-1223 715.5,-1223"/>
<polygon fill="#bebebe" stroke="transparent" points="704.5,-1386 704.5,-1408 976.5,-1408 976.5,-1386 704.5,-1386"/>
<text text-anchor="start" x="814.5" y="-1395.2" font-family="Arial" font-weight="bold" font-size="11.00">Instructor</text>
<polygon fill="#e8e8e8" stroke="transparent" points="704.5,-1376 704.5,-1386 976.5,-1386 976.5,-1376 704.5,-1376"/>
<polygon fill="#e8e8e8" stroke="transparent" points="704.5,-1354 704.5,-1376 976.5,-1376 976.5,-1354 704.5,-1354"/>
<text text-anchor="start" x="709.5" y="-1362.2" font-family="Arial" font-size="11.00">&#45; instructorId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="704.5,-1332 704.5,-1354 976.5,-1354 976.5,-1332 704.5,-1332"/>
<text text-anchor="start" x="709.5" y="-1340.2" font-family="Arial" font-size="11.00">+ name : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="704.5,-1310 704.5,-1332 976.5,-1332 976.5,-1310 704.5,-1310"/>
<text text-anchor="start" x="709.5" y="-1318.2" font-family="Arial" font-size="11.00">+ expertise : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="704.5,-1288 704.5,-1310 976.5,-1310 976.5,-1288 704.5,-1288"/>
<text text-anchor="start" x="709.5" y="-1296.2" font-family="Arial" font-size="11.00">+ rating : double</text>
<polygon fill="#e8e8e8" stroke="transparent" points="704.5,-1278 704.5,-1288 976.5,-1288 976.5,-1278 704.5,-1278"/>
<polygon fill="#e8e8e8" stroke="transparent" points="704.5,-1268 704.5,-1278 976.5,-1278 976.5,-1268 704.5,-1268"/>
<polygon fill="#e8e8e8" stroke="transparent" points="704.5,-1246 704.5,-1268 976.5,-1268 976.5,-1246 704.5,-1246"/>
<text text-anchor="start" x="709.5" y="-1254.2" font-family="Arial" font-size="11.00">+ Instructor(name: String, expertise: String) : Instructor</text>
<polygon fill="#e8e8e8" stroke="transparent" points="704.5,-1224 704.5,-1246 976.5,-1246 976.5,-1224 704.5,-1224"/>
<text text-anchor="start" x="709.5" y="-1232.2" font-family="Arial" font-size="11.00">+ createCourse(title: String) : Course</text>
<polygon fill="black" stroke="black" points="703.5,-1386 703.5,-1386 977.5,-1386 977.5,-1386 703.5,-1386"/>
<polygon fill="black" stroke="black" points="703.5,-1278 703.5,-1278 977.5,-1278 977.5,-1278 703.5,-1278"/>
<path fill="none" stroke="black" d="M715.5,-1223C715.5,-1223 965.5,-1223 965.5,-1223 971.5,-1223 977.5,-1229 977.5,-1235 977.5,-1235 977.5,-1397 977.5,-1397 977.5,-1403 971.5,-1409 965.5,-1409 965.5,-1409 715.5,-1409 715.5,-1409 709.5,-1409 703.5,-1403 703.5,-1397 703.5,-1397 703.5,-1235 703.5,-1235 703.5,-1229 709.5,-1223 715.5,-1223"/>
</g>
<!-- Instructor&#45;&gt;Course -->
<g id="edge3" class="edge">
<title>Instructor&#45;&gt;Course</title>
<path fill="none" stroke="#4a4a4a" d="M871.5,-1218.78C871.5,-1218.78 871.5,-1132.03 871.5,-1132.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="875,-1132.03 871.5,-1122.03 868,-1132.03 875,-1132.03"/>
<text text-anchor="middle" x="869.5" y="-1124.83" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="868.5" y="-1211.58" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- VideoContent -->
<g id="node6" class="node">
<title>VideoContent</title>
<path fill="#e8e8e8" stroke="transparent" d="M688,-317C688,-317 989,-317 989,-317 995,-317 1001,-323 1001,-329 1001,-329 1001,-491 1001,-491 1001,-497 995,-503 989,-503 989,-503 688,-503 688,-503 682,-503 676,-497 676,-491 676,-491 676,-329 676,-329 676,-323 682,-317 688,-317"/>
<polygon fill="#bebebe" stroke="transparent" points="677.5,-480 677.5,-502 1000.5,-502 1000.5,-480 677.5,-480"/>
<text text-anchor="start" x="802.5" y="-489.2" font-family="Arial" font-weight="bold" font-size="11.00">VideoContent</text>
<polygon fill="#e8e8e8" stroke="transparent" points="677.5,-470 677.5,-480 1000.5,-480 1000.5,-470 677.5,-470"/>
<polygon fill="#e8e8e8" stroke="transparent" points="677.5,-448 677.5,-470 1000.5,-470 1000.5,-448 677.5,-448"/>
<text text-anchor="start" x="682.5" y="-456.2" font-family="Arial" font-size="11.00">&#45; videoId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="677.5,-426 677.5,-448 1000.5,-448 1000.5,-426 677.5,-426"/>
<text text-anchor="start" x="682.5" y="-434.2" font-family="Arial" font-size="11.00">+ lessonId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="677.5,-404 677.5,-426 1000.5,-426 1000.5,-404 677.5,-404"/>
<text text-anchor="start" x="682.5" y="-412.2" font-family="Arial" font-size="11.00">+ videoUrl : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="677.5,-382 677.5,-404 1000.5,-404 1000.5,-382 677.5,-382"/>
<text text-anchor="start" x="682.5" y="-390.2" font-family="Arial" font-size="11.00">+ duration : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="677.5,-372 677.5,-382 1000.5,-382 1000.5,-372 677.5,-372"/>
<polygon fill="#e8e8e8" stroke="transparent" points="677.5,-362 677.5,-372 1000.5,-372 1000.5,-362 677.5,-362"/>
<polygon fill="#e8e8e8" stroke="transparent" points="677.5,-340 677.5,-362 1000.5,-362 1000.5,-340 677.5,-340"/>
<text text-anchor="start" x="682.5" y="-348.2" font-family="Arial" font-size="11.00">+ VideoContent(lessonId: String, videoUrl: String) : VideoContent</text>
<polygon fill="#e8e8e8" stroke="transparent" points="677.5,-318 677.5,-340 1000.5,-340 1000.5,-318 677.5,-318"/>
<text text-anchor="start" x="682.5" y="-326.2" font-family="Arial" font-size="11.00">+ play() : void</text>
<polygon fill="black" stroke="black" points="676.5,-480 676.5,-480 1001.5,-480 1001.5,-480 676.5,-480"/>
<polygon fill="black" stroke="black" points="676.5,-372 676.5,-372 1001.5,-372 1001.5,-372 676.5,-372"/>
<path fill="none" stroke="black" d="M688,-317C688,-317 989,-317 989,-317 995,-317 1001,-323 1001,-329 1001,-329 1001,-491 1001,-491 1001,-497 995,-503 989,-503 989,-503 688,-503 688,-503 682,-503 676,-497 676,-491 676,-491 676,-329 676,-329 676,-323 682,-317 688,-317"/>
</g>
<!-- Lesson&#45;&gt;VideoContent -->
<g id="edge5" class="edge">
<title>Lesson&#45;&gt;VideoContent</title>
<path fill="none" stroke="#4a4a4a" d="M838.5,-603.82C838.5,-603.82 838.5,-517.38 838.5,-517.38"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="842,-517.38 838.5,-507.38 835,-517.38 842,-517.38"/>
<text text-anchor="middle" x="836.5" y="-510.18" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="835.5" y="-596.62" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Quiz -->
<g id="node8" class="node">
<title>Quiz</title>
<path fill="#e8e8e8" stroke="transparent" d="M405.5,-317C405.5,-317 589.5,-317 589.5,-317 595.5,-317 601.5,-323 601.5,-329 601.5,-329 601.5,-491 601.5,-491 601.5,-497 595.5,-503 589.5,-503 589.5,-503 405.5,-503 405.5,-503 399.5,-503 393.5,-497 393.5,-491 393.5,-491 393.5,-329 393.5,-329 393.5,-323 399.5,-317 405.5,-317"/>
<polygon fill="#bebebe" stroke="transparent" points="394.5,-480 394.5,-502 600.5,-502 600.5,-480 394.5,-480"/>
<text text-anchor="start" x="485.5" y="-489.2" font-family="Arial" font-weight="bold" font-size="11.00">Quiz</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-470 394.5,-480 600.5,-480 600.5,-470 394.5,-470"/>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-448 394.5,-470 600.5,-470 600.5,-448 394.5,-448"/>
<text text-anchor="start" x="399.5" y="-456.2" font-family="Arial" font-size="11.00">&#45; quizId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-426 394.5,-448 600.5,-448 600.5,-426 394.5,-426"/>
<text text-anchor="start" x="399.5" y="-434.2" font-family="Arial" font-size="11.00">+ lessonId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-404 394.5,-426 600.5,-426 600.5,-404 394.5,-404"/>
<text text-anchor="start" x="399.5" y="-412.2" font-family="Arial" font-size="11.00">+ title : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-382 394.5,-404 600.5,-404 600.5,-382 394.5,-382"/>
<text text-anchor="start" x="399.5" y="-390.2" font-family="Arial" font-size="11.00">+ passingScore : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-372 394.5,-382 600.5,-382 600.5,-372 394.5,-372"/>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-362 394.5,-372 600.5,-372 600.5,-362 394.5,-362"/>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-340 394.5,-362 600.5,-362 600.5,-340 394.5,-340"/>
<text text-anchor="start" x="399.5" y="-348.2" font-family="Arial" font-size="11.00">+ Quiz(title: String) : Quiz</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-318 394.5,-340 600.5,-340 600.5,-318 394.5,-318"/>
<text text-anchor="start" x="399.5" y="-326.2" font-family="Arial" font-size="11.00">+ addQuestion(question: Question) : void</text>
<polygon fill="black" stroke="black" points="393.5,-480 393.5,-480 601.5,-480 601.5,-480 393.5,-480"/>
<polygon fill="black" stroke="black" points="393.5,-372 393.5,-372 601.5,-372 601.5,-372 393.5,-372"/>
<path fill="none" stroke="black" d="M405.5,-317C405.5,-317 589.5,-317 589.5,-317 595.5,-317 601.5,-323 601.5,-329 601.5,-329 601.5,-491 601.5,-491 601.5,-497 595.5,-503 589.5,-503 589.5,-503 405.5,-503 405.5,-503 399.5,-503 393.5,-497 393.5,-491 393.5,-491 393.5,-329 393.5,-329 393.5,-323 399.5,-317 405.5,-317"/>
</g>
<!-- Lesson&#45;&gt;Quiz -->
<g id="edge8" class="edge">
<title>Lesson&#45;&gt;Quiz</title>
<path fill="none" stroke="#4a4a4a" d="M723.05,-712C624.13,-712 497.5,-712 497.5,-712 497.5,-712 497.5,-517.22 497.5,-517.22"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="501,-517.22 497.5,-507.22 494,-517.22 501,-517.22"/>
<text text-anchor="middle" x="495.5" y="-510.02" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="720.05" y="-714.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- VideoContent&#45;&gt;WatchProgress -->
<g id="edge7" class="edge">
<title>VideoContent&#45;&gt;WatchProgress</title>
<path fill="none" stroke="#4a4a4a" d="M838.5,-312.78C838.5,-224.5 838.5,-108 838.5,-108 838.5,-108 1138.25,-108 1138.25,-108"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1138.25,-111.5 1148.25,-108 1138.25,-104.5 1138.25,-111.5"/>
<text text-anchor="middle" x="1146.25" y="-110.8" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="835.5" y="-305.58" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Question -->
<g id="node9" class="node">
<title>Question</title>
<path fill="#e8e8e8" stroke="transparent" d="M400,-15C400,-15 595,-15 595,-15 601,-15 607,-21 607,-27 607,-27 607,-189 607,-189 607,-195 601,-201 595,-201 595,-201 400,-201 400,-201 394,-201 388,-195 388,-189 388,-189 388,-27 388,-27 388,-21 394,-15 400,-15"/>
<polygon fill="#bebebe" stroke="transparent" points="389.5,-178 389.5,-200 606.5,-200 606.5,-178 389.5,-178"/>
<text text-anchor="start" x="474" y="-187.2" font-family="Arial" font-weight="bold" font-size="11.00">Question</text>
<polygon fill="#e8e8e8" stroke="transparent" points="389.5,-168 389.5,-178 606.5,-178 606.5,-168 389.5,-168"/>
<polygon fill="#e8e8e8" stroke="transparent" points="389.5,-146 389.5,-168 606.5,-168 606.5,-146 389.5,-146"/>
<text text-anchor="start" x="394.5" y="-154.2" font-family="Arial" font-size="11.00">&#45; questionId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="389.5,-124 389.5,-146 606.5,-146 606.5,-124 389.5,-124"/>
<text text-anchor="start" x="394.5" y="-132.2" font-family="Arial" font-size="11.00">+ quizId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="389.5,-102 389.5,-124 606.5,-124 606.5,-102 389.5,-102"/>
<text text-anchor="start" x="394.5" y="-110.2" font-family="Arial" font-size="11.00">+ questionText : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="389.5,-80 389.5,-102 606.5,-102 606.5,-80 389.5,-80"/>
<text text-anchor="start" x="394.5" y="-88.2" font-family="Arial" font-size="11.00">+ questionType : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="389.5,-70 389.5,-80 606.5,-80 606.5,-70 389.5,-70"/>
<polygon fill="#e8e8e8" stroke="transparent" points="389.5,-60 389.5,-70 606.5,-70 606.5,-60 389.5,-60"/>
<polygon fill="#e8e8e8" stroke="transparent" points="389.5,-38 389.5,-60 606.5,-60 606.5,-38 389.5,-38"/>
<text text-anchor="start" x="394.5" y="-46.2" font-family="Arial" font-size="11.00">+ Question(questionText: String) : Question</text>
<polygon fill="#e8e8e8" stroke="transparent" points="389.5,-16 389.5,-38 606.5,-38 606.5,-16 389.5,-16"/>
<text text-anchor="start" x="394.5" y="-24.2" font-family="Arial" font-size="11.00">+ addOption(option: String) : void</text>
<polygon fill="black" stroke="black" points="388.5,-178 388.5,-178 607.5,-178 607.5,-178 388.5,-178"/>
<polygon fill="black" stroke="black" points="388.5,-70 388.5,-70 607.5,-70 607.5,-70 388.5,-70"/>
<path fill="none" stroke="black" d="M400,-15C400,-15 595,-15 595,-15 601,-15 607,-21 607,-27 607,-27 607,-189 607,-189 607,-195 601,-201 595,-201 595,-201 400,-201 400,-201 394,-201 388,-195 388,-189 388,-189 388,-27 388,-27 388,-21 394,-15 400,-15"/>
</g>
<!-- Quiz&#45;&gt;Question -->
<g id="edge9" class="edge">
<title>Quiz&#45;&gt;Question</title>
<path fill="none" stroke="#4a4a4a" d="M534.83,-300.78C534.83,-300.78 534.83,-215.03 534.83,-215.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="534.83,-217.03 530.83,-211.03 534.83,-205.03 538.83,-211.03 534.83,-217.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="531.33,-302.78 534.83,-312.78 538.33,-302.78 531.33,-302.78"/>
<text text-anchor="middle" x="532.83" y="-305.58" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="531.83" y="-207.83" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Quiz&#45;&gt;QuizAttempt -->
<g id="edge11" class="edge">
<title>Quiz&#45;&gt;QuizAttempt</title>
<path fill="none" stroke="#4a4a4a" d="M460.17,-312.93C460.17,-261.97 460.17,-210 460.17,-210 460.17,-210 331.3,-210 331.3,-210"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="331.3,-206.5 321.3,-210 331.3,-213.5 331.3,-206.5"/>
<text text-anchor="middle" x="323.3" y="-212.8" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="457.17" y="-305.73" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Post -->
<g id="node12" class="node">
<title>Post</title>
<path fill="#e8e8e8" stroke="transparent" d="M1087.5,-306C1087.5,-306 1295.5,-306 1295.5,-306 1301.5,-306 1307.5,-312 1307.5,-318 1307.5,-318 1307.5,-502 1307.5,-502 1307.5,-508 1301.5,-514 1295.5,-514 1295.5,-514 1087.5,-514 1087.5,-514 1081.5,-514 1075.5,-508 1075.5,-502 1075.5,-502 1075.5,-318 1075.5,-318 1075.5,-312 1081.5,-306 1087.5,-306"/>
<polygon fill="#bebebe" stroke="transparent" points="1076.5,-491 1076.5,-513 1306.5,-513 1306.5,-491 1076.5,-491"/>
<text text-anchor="start" x="1179" y="-500.2" font-family="Arial" font-weight="bold" font-size="11.00">Post</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1076.5,-481 1076.5,-491 1306.5,-491 1306.5,-481 1076.5,-481"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1076.5,-459 1076.5,-481 1306.5,-481 1306.5,-459 1076.5,-459"/>
<text text-anchor="start" x="1081.5" y="-467.2" font-family="Arial" font-size="11.00">&#45; postId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1076.5,-437 1076.5,-459 1306.5,-459 1306.5,-437 1076.5,-437"/>
<text text-anchor="start" x="1081.5" y="-445.2" font-family="Arial" font-size="11.00">+ discussionId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1076.5,-415 1076.5,-437 1306.5,-437 1306.5,-415 1076.5,-415"/>
<text text-anchor="start" x="1081.5" y="-423.2" font-family="Arial" font-size="11.00">+ authorId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1076.5,-393 1076.5,-415 1306.5,-415 1306.5,-393 1076.5,-393"/>
<text text-anchor="start" x="1081.5" y="-401.2" font-family="Arial" font-size="11.00">+ content : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1076.5,-371 1076.5,-393 1306.5,-393 1306.5,-371 1076.5,-371"/>
<text text-anchor="start" x="1081.5" y="-379.2" font-family="Arial" font-size="11.00">+ postDate : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1076.5,-361 1076.5,-371 1306.5,-371 1306.5,-361 1076.5,-361"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1076.5,-351 1076.5,-361 1306.5,-361 1306.5,-351 1076.5,-351"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1076.5,-329 1076.5,-351 1306.5,-351 1306.5,-329 1076.5,-329"/>
<text text-anchor="start" x="1081.5" y="-337.2" font-family="Arial" font-size="11.00">+ Post(authorId: String, content: String) : Post</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1076.5,-307 1076.5,-329 1306.5,-329 1306.5,-307 1076.5,-307"/>
<text text-anchor="start" x="1081.5" y="-315.2" font-family="Arial" font-size="11.00">+ reply(replyContent: String) : void</text>
<polygon fill="black" stroke="black" points="1075.5,-491 1075.5,-491 1307.5,-491 1307.5,-491 1075.5,-491"/>
<polygon fill="black" stroke="black" points="1075.5,-361 1075.5,-361 1307.5,-361 1307.5,-361 1075.5,-361"/>
<path fill="none" stroke="black" d="M1087.5,-306C1087.5,-306 1295.5,-306 1295.5,-306 1301.5,-306 1307.5,-312 1307.5,-318 1307.5,-318 1307.5,-502 1307.5,-502 1307.5,-508 1301.5,-514 1295.5,-514 1295.5,-514 1087.5,-514 1087.5,-514 1081.5,-514 1075.5,-508 1075.5,-502 1075.5,-502 1075.5,-318 1075.5,-318 1075.5,-312 1081.5,-306 1087.5,-306"/>
</g>
<!-- Discussion&#45;&gt;Post -->
<g id="edge13" class="edge">
<title>Discussion&#45;&gt;Post</title>
<path fill="none" stroke="#4a4a4a" d="M1188.75,-602.78C1188.75,-602.78 1188.75,-528.03 1188.75,-528.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1188.75,-530.03 1184.75,-524.03 1188.75,-518.03 1192.75,-524.03 1188.75,-530.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1185.25,-604.78 1188.75,-614.78 1192.25,-604.78 1185.25,-604.78"/>
<text text-anchor="middle" x="1186.75" y="-607.58" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1185.75" y="-520.83" font-family="Arial" font-size="9.00">1</text>
</g>
</g>
</svg>