---
# System prepended metadata

title: Untitled

---

```mermaid

sequenceDiagram
    participant UI
    participant Controller
    participant User
    participant UniversityFileSystem
    participant Student
    participant Advisor 
    participant Course
    participant Grade
    participant Transcript
    participant Lecturer
    participant Assistant
    participant CourseSection
    %% SON EDİTİ YAPARKEN Kİ YAPILACAKLAR :
    %% Createler ileride değişmesi şeklinde hazırlandı
    %% Abstract methodları ayırmak 
    %% Sistemden çıkma opsiyonunu göstermek
    %% Bütün methodlara not eklenicek ki hoca method isimlerinden tahmin etmeye çalışıp sorun çıkartmasın
    
    activate Controller

    Controller->>UniversityFileSystem: create()
    activate UniversityFileSystem 
    deactivate UniversityFileSystem 
    %% heralde
    %% LİNK OLARAK GİRİNCE DİREK TEK OLARAK GİRİOR SANIRIM 
    %% KNK CONTROLLERA STRİNG ARRAY DÖNDÜKTENS SONRA O VERİYİ PERSONA VERCEZ BİDE SANIRIM RETURN OLCAK ORDA GALİBA
    %% düzelttim
    
    activate Controller
    Controller->>UI: create()
    activate UI
    deactivate UI
    Controller->>UniversityFileSystem: loadFiles()
        activate UniversityFileSystem 
        UniversityFileSystem->>Lecturer: create()
        activate Lecturer
        deactivate Lecturer
        UniversityFileSystem->>Assistant: create()
        activate Assistant
        deactivate Assistant
        UniversityFileSystem->>Course: create(String courseCode, String courseName, int courseCredit, int courseYear, int section1, int section2, Lecturer lecturer, Assistant assistant, List<Course> preRequisite, int capacity)
        activate Course
        Course->>CourseSection: create(int dayNumber, int sectionNumber)
        activate CourseSection
        deactivate CourseSection
        deactivate Course
        UniversityFileSystem->>Grade: create(int numericalGrade)
        activate Grade
        deactivate Grade
        UniversityFileSystem->>Transcript: create(List<Course> listOfCourses, List<Grade> listOfGrades)
        activate Transcript
        deactivate Transcript
        UniversityFileSystem->>Advisor: create()
        activate Advisor
        deactivate Advisor
        UniversityFileSystem->>Student: create(String name, String lastName, String username, String password, String studentID, Transcript currentTranscript, Advisor currentAdvisor)
        activate Student
        deactivate Student
        UniversityFileSystem->>Advisor: create(String name, String lastName, String username, String password, String lecturerID, ArrayList<Student> studentList)
        activate Advisor
        deactivate Advisor
        UniversityFileSystem->>Lecturer: create(String name, String lastName, String lecturerID)
        activate Lecturer
        deactivate Lecturer
        UniversityFileSystem->>Assistant: create(String name, String lastName, String assistantID)
        activate Assistant
        deactivate Assistant
        loop forEveryCourse
            UniversityFileSystem->>Course: setLecturer(Lecturer lecturer)
            activate Course
            Course-->>UniversityFileSystem: return 
            deactivate Course
            UniversityFileSystem->>Course: setAssistant(Assistant assistant)
            activate Course
            Course-->>UniversityFileSystem: return 
            deactivate Course
            UniversityFileSystem->>Course: setPreRequisite(List<Course> preRequisite)
            activate Course
            Course-->>UniversityFileSystem: return 
            deactivate Course
        end 
        loop forEveryStudent
            UniversityFileSystem->>Student: setCurrentAdvisor(Advisor currentAdvisor)
            activate Student
            Student-->>UniversityFileSystem: return 
            deactivate Student
            UniversityFileSystem->>Student: setRegistrationWaitingCourses(List<Course> registrationWaitingCourses)
            activate Student
            Student-->>UniversityFileSystem: return 
            deactivate Student
            UniversityFileSystem->>Student: setRegistrationCompleteCourses(List<Course> registrationCompleteCourses)
            activate Student
            Student-->>UniversityFileSystem: return 
            deactivate Student
            UniversityFileSystem->>Student: setCancelWaitingCourses(List<Course> cancelWaitingCourses)
            activate Student
            Student-->>UniversityFileSystem: return 
            deactivate Student
            
            UniversityFileSystem->>Student: setCurrentAvailableCourses(List<Course> currentAvailableCourses)
            activate Student
            Student-->>UniversityFileSystem: return 
            deactivate Student
            UniversityFileSystem->>UniversityFileSystem:  updateStudentsAvailableCourses()
            activate UniversityFileSystem
            loop goingThroughEverySystemCourse
                UniversityFileSystem->>Student:checkCourseAvailability(Course course)
                activate Student
                
                Student->>Course: getType()
                activate Course
                Course-->>Student: return String
                deactivate Course
                alt ifTypeNotEqualsNT(Non Technical)
                    Student->>Course: checkYearMatching(int year)
                    activate Course
                    Course-->>Student: return boolean
                    deactivate Course
                end
                Student->>Course: checkPreRequisite(List<Course> completedCourses, List<Grade> gradeList)
                activate Course
                Course-->>Student: return boolean
                deactivate Course
                Student->>Transcript: checkPassedCourses(Course checkedCourse)
                activate Transcript
                Transcript-->>Student: return boolean
                deactivate Transcript
                Student->>Course: Course.isFull()
                activate Course
                Course-->>Student: return boolean
                deactivate Course
                Student->>UniversityFileSystem: return isAvailableCourse
                deactivate Student
                deactivate UniversityFileSystem
                end
                UniversityFileSystem->>Student: setCurrentAvailableCourses(List<Course> currentAvailableCourses)
                activate Student
                Student-->>UniversityFileSystem: return 
                deactivate Student
        end
        loop forEachCourse
            loop forEachStudent
            UniversityFileSystem->>Course: increaseStudentNumber()
            activate Course
            deactivate Course
            end
        end
        loop forEachAdvisor
            loop forEachStudentCheckIfIDMatchesInAdvisor
                UniversityFileSystem->>Student: getStudentID()
                activate Student
                deactivate Student
            end
            UniversityFileSystem->>Advisor: setStudentList(ArrayList<Student> studentList)
            activate Advisor
            deactivate Advisor
        end
        UniversityFileSystem-->>Controller:return
        deactivate UniversityFileSystem
        loop whileUserNotLoggedIn
        Controller->>UI: printConsoleListReturnSelection(String[] stringList, int errorInt)
        activate UI
        UI-->>Controller:return: int
        deactivate UI
        Controller->>UI: requestCredentials()
        activate UI
        UI-->>Controller:return:StringArray[2]
        deactivate UI
        Controller->>UniversityFileSystem: getSignedPerson(String[] userInfo, Controller currentController)
        activate UniversityFileSystem
        UniversityFileSystem-->>Controller: return User
        deactivate UniversityFileSystem
    
    Controller->>User:runUserActions()(Abstract)
    activate User
    User-->>Controller:return
    deactivate User
    Controller->>Student:startActions()
        activate Student
        loop actionsUntilExit
        Student->>Controller: printListReturnSelection(String[] stringsList, int errorInt)
        activate Controller
        loop incorrectCourseSelection
        Controller->>UI: printConsoleListReturnSelection(String[] stringsList, int errorInt)
        activate UI
        UI-->>Controller: return
        deactivate UI
        end
        Controller-->>Student:return actionNumber:int
        deactivate Controller
         Student->>Student: runUserAction()
         activate Student
       
        alt 1
        loop forAllCourseInAvailableCourses
            Student->>Course: toString()
            activate Course
            Course-->>Student: return String
            deactivate Course
            end

            Student->>Controller: printListReturnSelection(String[] availableCoursesStr, int errorInt)
            activate Controller
            loop incorrectCourseSelection
            Controller->>UI: printConsoleListReturnSelection(String[] availableCoursesStr, int errorInt)
            activate UI
            UI-->>Controller: return int
            deactivate UI
        end
        Controller-->>Student: return int
        deactivate Controller
        Student->>Controller: printListReturnSelection(String[] stringsList, int errorInt)
        activate Controller
        Controller-->>Student: return int 
        deactivate Controller
        alt 2
            Student->>Course: checkCourseSection(List<Course> registrationCompleteCourses, List<Course>          registrationWaitingCourses, List<Course> cancelWaitingCourses)
            activate Course
            loop for every course
                Course->>CourseSection: compareAvailability(CourseSection sectionToCompare)
                activate CourseSection
                CourseSection-->>Course: return boolean
                deactivate CourseSection
                end
            Course-->>Student: return String
            deactivate Course
            Student->>Course: checkTechnicalElectiveCount(List<Course> registrationCompleteCourses, List<Course> registrationWaitingCourses, List<Course> cancelWaitingCourses)
            activate Course
            Course-->>Student: return String
            deactivate Course
            Student->>Course: checkNonTechnicalElectiveCount(List<Course> registrationCompleteCourses, List<Course> registrationWaitingCourses, List<Course> cancelWaitingCourses)
            activate Course
            Course-->>Student: return String
            deactivate Course
            alt noErrorMessageReturned
                Student->>Controller: printSuccessMessage(String successMessage)
                activate Controller
                Controller->>UI: printConsoleSuccessMessage(String successMessage)
                activate UI
                UI-->>Controller: return
                deactivate UI
                Controller-->>Student: return
                deactivate Controller
            else
                Student->>Controller: printErrorMessage(String successMessage)
                activate Controller
                Controller->>UI: printConsoleErrorMessage(String successMessage)
                activate UI
                UI-->>Controller: return
                deactivate UI
                Controller-->>Student: return
                deactivate Controller
            end
            else 3
                Student->>Course: getLecturer()
                activate Course
                Course-->>Student: return Lecturer
                deactivate Course
                Student->>Lecturer: toString()
                activate Lecturer
                Lecturer-->>Student: return String
                deactivate Lecturer
                Student->>Controller: printList(String[] stringList)
                activate Controller
                Controller->>UI: printConsoleList(String[] stringList)
                activate UI
                UI-->>Controller: return
                deactivate UI
                Controller-->>Student: return
                deactivate Controller
            else 4
                Student->>Course: getAssistant()
                activate Course
                Course-->>Student: return Lecturer
                deactivate Course
                Student->>Assistant: toString()
                activate Assistant
                Assistant-->>Student: return String
                deactivate Assistant
                Student->>Controller: printList(String[] stringList)
                activate Controller
                Controller->>UI: printConsoleList(String[] stringList)
                activate UI
                UI-->>Controller: return
                deactivate UI
                Controller-->>Student: return
                deactivate Controller
            end
        else 2
            loop forAllCourseInRegisteredCourses
                Student->>Course: getCourseString()
                activate Course
                Course-->>Student: return String
                deactivate Course
            end
            Student->>Controller: printListReturnSelection(String[] RegisteredCoursesStr,  int errorInt)
            activate Controller
            loop incorrectCourseSelection
                Controller->>UI: printConsoleListReturnSelection(String[] RegisteredCoursesStr,  int errorInt)
                activate UI
                UI-->>Controller: return int
                deactivate UI
            end
            Controller-->>Student: return int
            deactivate Controller
        else 3
            loop forAllCourseInRegisterationWaitingCourses
                Student->>Course: getCourseString()
                activate Course
                Course->>Lecturer: getCourseLecturerString()
                activate Lecturer
                Lecturer-->>Course: return String
                deactivate Lecturer
                Course->>CourseSection: getCourseSectionString()
                activate CourseSection
                CourseSection-->>Course: return String
                deactivate CourseSection
                Course-->>Student: return String
                deactivate Course
            end
            Student->>Controller: printList(String[] registerationWaitingCoursesStr)
            activate Controller
            Controller->>UI: printConsoleList(String[] registerationWaitingCoursesStr)
            activate UI
            UI-->>Controller: return
            deactivate UI
            Controller-->>Student: return
            deactivate Controller
        else 4
            loop forAllCourseInCancelWaitingCourses
                Student->>Course: getCourseString()
                activate Course
                Course->>Lecturer: getCourseLecturerString()
                activate Lecturer
                Lecturer-->>Course: return String
                deactivate Lecturer
                Course->>CourseSection: getCourseSectionString()
                activate CourseSection
                CourseSection-->>Course: return String
                deactivate CourseSection
                Course-->>Student: return String
                deactivate Course
            end
            Student->>Advisor: toString()
            activate Advisor
            Advisor-->>Student: return String
            deactivate Advisor
            Student->>Controller: printList(String[] registerationWaitingCoursesStr)
            activate Controller
            Controller->>UI: printConsoleList(String[] registerationWaitingCoursesStr)
            activate UI
            UI-->>Controller: return
            deactivate UI
            Controller-->>Student: return
            deactivate Controller
        else 5
            Student->>Transcript:getTranscriptString()
            activate Transcript
            loop everyCourseInTranscript
                Transcript->>Grade: toString()
                activate Grade
                Grade-->>Transcript: return String 
                deactivate Grade
                Transcript->>Course: toString()
                activate Course
                Course-->>Transcript: return String 
                deactivate Course
            end
            Transcript-->>Student:return TranscriptString:String
            deactivate Transcript
            Student->>Controller: printList(String[] transcriptStr)
            activate Controller
            Controller->>UI: printConsoleList(String[] transcriptStr)
            activate UI
            UI-->>Controller: return
            deactivate UI
            deactivate Controller
            Controller-->>Student: return
        else 6
            Student->>Advisor:getAdvisorString()
            activate Advisor
            Advisor-->>Student:return AdvisorString:String
            deactivate Advisor
            Student->>Controller: printList(String[] advisorStr)
            activate Controller
            Controller->>UI: printConsoleList(String[] advisorStr)
            activate UI
            UI-->>Controller: return
            deactivate UI
            Controller-->>Student: return
            deactivate Controller
        else 7
            loop whileInsideMessageSection
                Student->>Controller: printListReturnSelection(String[] stringsList, int errorInt)
                activate Controller
                Controller->>UI: printConsoleListReturnSelection(String[] stringsList, int errorInt)
                activate UI
                UI-->>Controller: return int
                deactivate UI
                Controller-->>Student: return int
                deactivate Controller
                alt 1
                    loop everyMessageInRecievedMessages
                        Student->>Message: toString()
                        activate Message
                        Message-->>Student:return String
                        deactivate Message
                    end
                    Student->>Controller: printListReturnSelection(String[] stringsList, int errorInt)
                    activate Controller
                    Controller->>UI: printConsoleListReturnSelection(String[] stringsList, int errorInt)
                    activate UI
                    UI-->>Controller: return int
                    deactivate UI
                    Controller-->>Student: return int
                    deactivate Controller
                    Student->>Message: toString()
                    activate Message
                    Message-->>Student:return String
                    deactivate Message
                    Student->>Message: readMessage()
                    activate Message
                    Message-->>Student:return 
                    deactivate Message
                else 2 
                    loop everyMessageInSentMessages
                        loop everyMessageInRecievedMessages
                        Student->>Message: toString()
                        activate Message
                        Message-->>Student:return String
                        deactivate Message
                    end
                    Student->>Controller: printListReturnSelection(String[] stringsList, int errorInt)
                    activate Controller
                    Controller->>UI: printConsoleListReturnSelection(String[] stringsList, int errorInt)
                    activate UI
                    UI-->>Controller: return int
                    deactivate UI
                    Controller-->>Student: return int
                    deactivate Controller
                    Student->>Message: toString()
                    activate Message
                    Message-->>Student:return String
                    deactivate Message
                    end
                else 3
                    Student->>Controller: requestMessageString()
                    activate Controller
                    Controller->>UI: requestMessageStringFromUser()
                    activate UI
                    UI-->>Controller: return String
                    deactivate UI
                    Controller-->>Student: return String
                    deactivate Controller
                    Student->>Message: create(String title, String message, User sender, User receiver)
                    activate Message
                    deactivate Message
                    Student->>Advisor: receiveMessage(Message message)
                    activate Advisor
                    Advisor-->>Student: return
                    deactivate Advisor
                end
            end
        end
        deactivate Student
        Student-->>Controller: return
    deactivate Student
    end
    Controller->>Advisor:runUserActions()
    activate Advisor
        loop actionsUntilExit
            Advisor->>Controller:printListReturnSelection(String actionString, int errorInt)
            activate Controller
            loop IncorrectAction
                Controller-->>UI:printConsoleListReturnSelection(String actionString,  int errorInt)
                activate UI
                UI-->>Controller:return ActionNumber:int
            end
            deactivate UI
            Controller-->>Advisor:return actionNumber:int
            deactivate Controller
            alt 1
                loop forEveryStudentInAdvisor
                    Advisor->>Student: toString()
                    activate Student
                    Student-->>Advisor: return String
                end
                Advisor->>Controller:printListReturnSelection(String[] studentMenuList,  int errorInt)
                activate Controller
                loop incorrectCourseSelection
                Controller->>UI: printLUseristReturnSelection(String[] studentMenuList,  int errorInt)
                activate UI
                UI-->>Controller: return(int CourseChoice)
                deactivate UI
            end
            Controller-->>Advisor: return (int CourseChoice)
            deactivate Controller
            loop forAllCourseInAvailableCoursesOfCurrentStudent
                Advisor->>Student: getRegistrationWaitingCourses
                activate Student
                Student-->>Advisor: return Course
                deactivate Student
                Advisor->>Course: getCourseString()
                activate Course
                Course->>Lecturer: getCourseLecturerString()
                activate Lecturer
                Lecturer-->>Course: return String
                deactivate Lecturer
                Course->>CourseSection: getCourseSectionString()
                activate CourseSection
                CourseSection-->>Course: return String
                deactivate CourseSection
                Course-->>Advisor: return String
                deactivate Course
            end
            Advisor->>Controller:printListReturnSelection(String[] courseMenuList, int errorInt)
            activate Controller
            loop incorrectCourseSelection
                Controller->>UI: printConsoleListReturnSelection(String[] courseMenuList, int errorInt)
                activate UI
                UI-->>Controller: return: int
                deactivate UI
            end
            Controller-->>Advisor: return: int 
            deactivate Controller
            Advisor->>Controller:printListReturnSelection(String[] courseActionMenuList, int errorInt)
            activate Controller
            loop incorrectCourseSelection
                Controller->>UI: printConsoleListReturnSelection(String[] courseActionMenuList, int errorInt)
                activate UI
                UI-->>Controller: return: int 
                deactivate UI
            end
            Controller-->>Advisor: return: int 
            deactivate Controller
                alt registerWaitingCourse

                Advisor->>Student: removeElementFromRegistrationWaitingCourses(Course selectedCourse)
                activate Student
                Student-->>Advisor: return
                deactivate Student
                Advisor->>Student: addElementToRegistrationCompleteCourses(Course selectedCourse)
                activate Student
                Student-->>Advisor: return
                deactivate Student
                else reject
                Advisor->>Student: removeElementFromRegistrationWaitingCourses(Course selectedCourse)
                activate Student
                Student-->>Advisor: return
                deactivate Student
                Advisor->>Student: addElementToCurrentAvailableCourses(Course selectedCourse)
                activate Student
                Student-->>Advisor: return
                deactivate Student
            
                else cancelWaitingCourse

                Advisor->>Student: removeElementFromCancelWaitingCourses(Course selectedCourse)
                activate Student
                Student-->>Advisor: return
                deactivate Student
                Advisor->>Student: addElementToCurrentAvailableCourses(Course selectedCourse)
                activate Student
                Student-->>Advisor: return
                deactivate Student
                Advisor ->>Course: increaseStudentNumber()
                activate Course
                Course-->>Advisor: return
                deactivate Course

                Advisor->>Student: removeElementFromCancelWaitingCourses(Course selectedCourse)
                activate Student
                Student-->>Advisor: return
                deactivate Student
                Advisor->>Student: addElementToRegistrationCompleteCourses(Course selectedCourse)
                activate Student
                Student-->>Advisor: return
                deactivate Student
                Advisor ->>Course: decreaseStudentNumber()
                activate Course
                Course-->>Advisor: return
                deactivate Course
                end
            else isActionNumber2
                
                Advisor ->>Controller: printListReturnSelection(String[] messageMenuList, int errorCode)
                activate Controller
                loop incorrectDecision
                Controller->>UI: printConsoleListReturnSelection(String[] messageMenuList, int errorCode)
                activate UI
                UI-->>Controller: return int:
                deactivate UI
                end
                Controller-->>Advisor: return int:
                deactivate Controller

         
           
             alt 1
               loop everySentMessage
               Advisor->>Message: toString()
               activate Message
               Message-->>Advisor: return String
               deactivate Message
               end

               Advisor ->>Controller: printListReturnSelection(String[] receivedMessagesList, int errorCode)
               activate Controller
               loop incorrectDecision
               Controller->>UI: printConsoleListReturnSelection(String[] messageMenuList, int errorCode)
               activate UI
               UI-->>Controller: return int:
               deactivate UI
               end
              Controller-->>Advisor: return int:
              deactivate Controller
               Advisor->>Message: toString()
               activate Message
               Message-->>Advisor: return String
               deactivate Message
               Advisor->>Message: getMessage()
               activate Message
               Message-->>Advisor: return String
               deactivate Message
               Advisor->>Controller: printListReturnSelection(String[] messageList, int errorCode)
              activate Controller
              
              Controller->>UI: printConsoleListReturnSelection(String[] messageList, int errorCode)
              activate UI
              UI-->>Controller: return int:
              deactivate UI
              
              Controller-->>Advisor: return int:
              deactivate Controller
              Advisor->>Controller: printList(String[] messageList)
              activate Controller
              Controller->>UI: printConsoleList(String[] messageList)
              activate UI
              UI-->>Controller: return 
              deactivate UI
              Controller-->>Advisor: return 
              deactivate Controller
              opt    ifNoMessagePrintMessage
                   Advisor->>Controller: printList(String[] messageList)
              activate Controller
              Controller->>UI: printConsoleList(String[] messageList)
              activate UI
              UI-->>Controller: return 
              deactivate UI
              Controller-->>Advisor: return 
              deactivate Controller
              end
              else 2
              loop everyRecievedMessage
               Advisor->>Message: toString()
               activate Message
               Message-->>Advisor: return String
               deactivate Message
               end

               Advisor ->>Controller: printListReturnSelection(String[] receivedMessagesList, int errorCode)
               activate Controller
               loop incorrectDecision
               Controller->>UI: printConsoleListReturnSelection(String[] messageMenuList, int errorCode)
               activate UI
               UI-->>Controller: return int:
               deactivate UI
               end
              Controller-->>Advisor: return int:
              deactivate Controller
               Advisor->>Message: toString()
               activate Message
               Message-->>Advisor: return String
               deactivate Message
               Advisor->>Message: getMessage()
               activate Message
               Message-->>Advisor: return String
               deactivate Message
               Advisor->>Controller: printListReturnSelection(String[] messageList, int errorCode)
              activate Controller
              
              Controller->>UI: printConsoleListReturnSelection(String[] messageList, int errorCode)
              activate UI
              UI-->>Controller: return int:
              deactivate UI
              Advisor->>Message: readMesssage()
              activate Message
              Message-->>Advisor: return %% reddit??????????
              deactivate Message
              Controller-->>Advisor: return int:
              deactivate Controller
              Advisor->>Controller: printList(String[] messageList)
              activate Controller
              Controller->>UI: printConsoleList(String[] messageList)
              activate UI
              UI-->>Controller: return 
              deactivate UI
              Controller-->>Advisor: return 
              deactivate Controller
              opt    ifNoMessagePrintMessage
                   Advisor->>Controller: printList(String[] messageList)
              activate Controller
              Controller->>UI: printConsoleList(String[] messageList)
              activate UI
              UI-->>Controller: return 
              deactivate UI
              Controller-->>Advisor: return 
              deactivate Controller
              end
              else 3
              loop everyStudentInAdvisor
                  Advisor->>Student: toString()
                  activate Student
                  Student-->>Advisor: return
                  deactivate Student
              end
              Advisor->>Controller: printListReturnSelection(String[] messageList, int errorCode)
              activate Controller
              Controller->>UI: printConsoleListReturnSelection(String[] messageList, int errorCode)
              activate UI
              UI-->>Controller: return int
              deactivate UI
              Controller-->>Advisor: return int
              deactivate Controller
              
              Advisor->>Controller: requestMessageString()
              activate Controller
              Controller->>UI: requestMessageStringFromUser()
              activate UI
              UI-->>Controller: return String[]
              deactivate UI
              Controller-->>Advisor: return String[]
              deactivate Controller
              
              Advisor->>Message: Message(String title, String message, User sender, User receiver)
              activate Message
              deactivate Message
              
              Advisor->>Student: receiveMessage(Message message)
              activate Student
              Student-->>Advisor: return
              deactivate Student
               end       
         end  



       deactivate Advisor
   end
   
   
   

  end



    Controller->>UniversityFileSystem: saveFiles()
    activate UniversityFileSystem
    loop forEveryStudent
        UniversityFileSystem->>Student: getStudentID()
        Student-->>UniversityFileSystem: return String
        opt ifStudentIsFound
        Note right of UniversityFileSystem: Get and write all the data of Student into the file
        end
    end
    UniversityFileSystem->>Controller: return
 
    deactivate UniversityFileSystem
    deactivate Controller

