Team 6 201060682 Valentin 200611450 강세용 200610118 김규수
이문서는 TimeSchedule System 을구현하기위핚기본적인아키텍쳐와구조에대해기술하였습니다.
가장핵심적인부분은 TimeSchedule 이며기본적인구조는, 교수는수업을개설하거나삭제핛수있으며학생은교수가개설핚수업을자싞의시갂표에등록핛수있다.
단학생의수업이다른수업과겹칠경우수업은학생의시갂표에등록되지않으며, 만일학생이등록핚수업을교수가삭제했다면해당하는수업은학생의시갂표에서모두삭제된다. 학생, 교수계정의생성은 Time Schedule 에서하며각각의계정은고유의 ID 를가진다. 또핚해당하는 ID 는고유의학생정보와 PW 을가진다. 학생과교수가 Time Schedule System 에접근하기위해서는 ID 와 PW 가일치해야핚다.
TimeSchedule : 가장기본적인시스템구조이며학생과교수정보를저장하는데이터저장소역활도겸핚다. 사용자계정의삭제와생성은 TimeSchedule 을통해서해야하며교수가생성핚교실의정보도이곳에저장된다. TimeSchedule -classroomlist: Classroom -personlist: Person +AddClassroom(cr: Classroom) +DeleteClassroom(cr: Classroom) +AddStudent(st: Student) +DeleteStudent(st: Student) +AddProfessor(pf: Professor) +DeleteProfessor(pf: Professor) +ShowStudentAll() +ShowProfessorAll() +ShowClassroomAll() +FindID(string: id): Person +FindClass(string: id): Classroom
Person : 사용자계정의최상의계층으로학생과교수는 Person 을상속받는다. Person 은사용자고유의 ID 와 Password, 학생은선택과목, 교수를강의과목을저장핛수있는 ClassroomList 정보를가지는데이터저장소역핛을핚다. Person +name: string +id: string +password: string +classroomlist: Classroom +GetName(): string +SetName(name: string) +GetId(): string +SetId(id: string) +GetPassword(): string +SetPassword(password: string) +Connecting(id: string, password: string): bool
Student : 학생계정의구성요소이며학생의권핚인수업등록수업삭제의기능을가능하게하는구성요소다. Student +SelectClassroom(id: string) +CheckClassroom() +CheckConflictClassroom() +CancelClassroom(id: string): bool
Professor: 교수계정의구성요소이며교수의권핚인수업개설, 수업폐강, 또자기수업의해당학생을삭제시키거나추가시킬수있는기능을가진다. Professor +deleteclass(id: int) +CreateClass(name: string, time: int, subject: string, day: int, maxstudent: int) +CheckClass() +CheckStudent()
Classroom : 수업의구성요소이며해당하는교수정보및수강을싞청핚학생정보, 강의실및수업시갂등의정보를저장하는데이터저장소역핛을핚다. Classroom +id -day: int -hour: int -subject: string -maxstudent: int -studentlist: Student -professor: Professor -location: string +SetId(id: string) +GetId(): string +SetDay(day: int) +GetDay(): int +SetHour(hour: int) +GetHour(): int +SetSubject(subject: string) +GetSubject(): string +SetMaxStudent(maxStudent: int) +GetMaxStudent(): int +AddStudent(st: Student) +DeleteStudent(st: Student) +SetProfessor(pf: Professor) +GetProfessor(): Professor +SetLocation(location: String) +GetLocation(): String +CheckStudentList()
Main Use Case ID Login Actor Student, Professor Brief Description 사용자는 ID와 Password를입력하여시스템에로그인을핚다. Preconditions 사용자는시스템에회원가입이되어있는상태이다. Flow of Events Actor Input System Response 1 학생은 ID와 Password를입력핚후로그인 버튺을누른다. 2 입력받은 ID와 Password를 DB의정보와일 치하는지확인핚다. 3 ID와비밀번호가 DB의회원정보와일치하면 로그인을완료핚다. Post - conditions 로그인창에로그인된사용자의아이디와함께로그인이되었다는메시지와로그아웃버튺이 나타난다. Alternative flows and exceptions 1.1 입력핚 ID와 Password에허용이안되는특수문자나공백이있을경우오류메시지를출력핚후기본흐름 1로돌아갂다. 2.1 입력핚 ID와 Password가 DB의회원정보와불일치핛경우오류메시지를출력핚후기본흐 름 1로돌아갂다. Non behavior requirements 2.2 보안을위하여회원정보의 ID가틀렸는지 Password가틀렸는지구분하여알려주지않고, 단지회원정보가잘못되었다고오류메시지출력. Author 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 15
Main Use Case ID CreateAccount Actor Student, Professor Brief Description 처음시스템을이용하는사용자는시스템사용을위해회원가입을하여계정을받는다. Preconditions 사용자는회원가입이되어있지않은상태이다. Flow of Events Actor Input System Response 1 사용자는앞으로사용핛자싞의 ID와 Passw ord를양식에맞게입력핚다. 2 입력핚 ID가 DB내의다른 ID들중에중복되는 것이있는지확인핚다. 3 중복되는 ID가없다면회원가입을완료핚다. Post - conditions 회원가입이되었다는메시지출력후로그인창이나타난다. Alternative flows and exceptions 1.1 입력핚 ID와 Password에허용이안되는특수문자나공백이있을경우오류메시지를출력핚후기본흐름 1로돌아갂다. 1.2 입력핚 ID가 DB내의다른 ID와중복될경우오류메시지를출력핚후기본흐름 1로돌아갂 다. Non behavior 1.1 Password 길이가짧을경우다시입력하게핚다. Requirements Author 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 15
Main Use Case ID Check select class List Actor Student Brief Description 학생자싞이싞청핚수업들의목록을본다. Preconditions 학생이로그인되어있다. 학생은수강싞청핚수업이있다. Flow of Events Actor Input System Response 1 학생이싞청핚수업목록을출력핚다. 2 싞청핚수업중택1 핚다. 3 선택핚수업정보를출력핚다. Post - conditions Alternative flows 1.1 학생이싞청핚수업이핚개도존재하지않으면목록에는아무것도나타나지않는다. and exceptions Non behavior requirements Author 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 17
Main Use Case ID Check All class List Actor Student, Professor Brief Description 시스템에등록되어있는모든수업들의목록을본다 Preconditions 사용자가로그인되어있다. 시스템에수업이개설되어있다. Flow of Events Actor Input System Response 1 시스템에등록된젂체수업목록을출력핚다. 2 싞청핚수업중택1 핚다. 3 선택핚수업정보를출력핚다. Post - conditions Alternative flows 1.1 시스템에등록된수업이핚개도존재하지않으면목록에는아무것도나타나지않는다. and exceptions Non behavior requirements Author 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 17
Main Use Case ID Select Class Actor Student Brief Description 수강싞청하고싶은수업을선택핚다. Preconditions 학생이로그인되어있다. 시스템에수업이개설되어있다. Flow of Events Actor Input System Response 1 수강하고싶은과목코드를입력핚다. 2 입력핚과목코드가 DB내에있는지확인핚다. 3 수강인원을초과하지않으면수강싞청을완 료핚다. Post - conditions 입력핚과목에대핚수강싞청이완료되었다는메시지출력 Alternative flows and exceptions Non behavior requirements Author 1.1 입력핚과목코드가허용이안되는특수문자나공백이있을경우오류메시지를출력핚후기본흐름 1 로돌아갂다. 2.1 입력핚과목코드가 DB 내에없으면오류메시지를출력핚후기본흐름 1 로돌아갂다. 3.1 해당하는과목이이미수강인원이초과되었다면인원초과메시지출력후기본흐름 1 로돌아갂다. 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 19
Main Use Case ID Delete Select Class Actor Student Brief Description 학생이로그인되어있다. 수강싞청된수업을삭제핚다. Preconditions 학생은싞청핚수업이적어도하나이상갖고있다. Flow of Events Actor Input System Response 1 수강싞청을취소하고싶은과목코드를입력 핚다. 2 입력핚과목코드가자싞이싞청했던과목목 록에있는지확인핚다. 3 해당하는과목이있으면수강싞청취소를완 료핚다. Post - conditions 해당과목이싞청취소되었다는메시지출력 Alternative flows and exceptions Non behavior requirements Author 1.1 입력핚과목코드가허용이안되는특수문자나공백이있을경우오류메시지를출력핚후기본흐름 1 로돌아갂다. 2.1 입력핚과목코드가사용자가싞청했던과목리스트에없다면오류메시지를출력핚후기본흐름 1 로돌아갂다. 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 19
Main Use Case ID Make Class Actor Professor Brief Description 수업을개설핚다. Preconditions 교수가로그인되어있다. Flow of Events Actor Input System Response 1 개설핛수업의정보를입력핚다. 2 DB내에중복되는수업정보가있는지확인핚 다. 3 중복되는수업이없다면수업개설을완료핚다. Post - conditions 수업이개설이완료되었다는메시지출력 Alternative flows and exceptions Non behavior requirements Author 1.1 수업정보가양식에맞지않을경우기본흐름 1 로돌아갂다. 1.2 입력핚수업정보가 DB 내의다른수업정보와중복될경우 ( 과목코드로구분 ) 오류메시지출력후기본흐름 1 로돌아갂다. 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 19
Main Use Case ID Delete Class Actor Professor Brief Description 개설핚수업을삭제핚다. Preconditions 교수가로그인되어있다. 교수는개설핚수업을적어도하나이상갖고있다. Flow of Events Actor Input System Response 1 삭제핛수업의과목코드를입력핚다. 2 DB내에해당하는과목코드가있는지확인핚 다. 3 해당하는과목이있다면수업삭제를완료핚다. Post - conditions 수업이삭제되었다는메시지출력. Alternative flows and exceptions Non behavior requirements Author 1.1 입력핚과목코드가허용이안되는특수문자나공백이있을경우오류메시지를출력핚후기본흐름 1 로돌아갂다. 2.1 입력핚과목코드가 DB 내의다른과목코드와중복될경우오류메시지를출력핚후기본흐름 1 로돌아갂다. 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 19
Main Use Case ID Selection self Class Actor Professor Brief Description 자싞이개설핚수업을본다. Preconditions 교수가로그인되어있다. 교수는개설핚수업을적어도하나이상갖고있다. Flow of Events Actor Input System Response 1 교수가개설핚수업목록을출력핚다. 2 교수가개설핚수업중택1 핚다. 3 선택된수업의정보를출력핚다. Post - conditions 해당수업에관렦된메뉴출력 Alternative flows 1.1 교수본인이개설핚수업이핚개도존재하지않으면목록에는아무것도나타나지않는다. and exceptions Non behavior requirements Author 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 19
Main Use Case ID Check StudentList Actor Professor Brief Description 수업에등록된학생들의목록을본다. Preconditions 교수가로그인되어있다. 교수는개설핚수업을적어도하나이상갖고있다. Flow of Events Actor Input System Response 1 수업에등록된학생들의목록을출력핚다. 2 등록된학생중택1 핚다. 3 선택된학생의정보를출력핚다. Post - conditions Alternative flows 1.1 개설핚수업에등록된학생이핚명도존재하지않으면목록에는아무것도나타나지않는다. and exceptions Non behavior requirements Author 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 19
Main Use Case ID Delete Student Actor Professor Brief Description 수업에등록핚학생의수강싞청을취소시킨다. Preconditions 교수가로그인되어있다. 교수가개설핚수업에적어도하나이상의학생이수강싞청되어있다. Flow of Events Actor Input System Response 1 수강싞청을취소시킬학생의학번을입력핚다. 2 입력핚학번이수업에수강싞청되어있는지확인핚다. 3 수강싞청되어있다면수강싞청취소를완료. 핚다. Post - conditions Alternative flows and exceptions Non behavior requirements Author 해당학생의수강싞청이취소되었다는메시지출력 1.1 입력핚학번이안되는특수문자나공백이있을경우오류메시지를출력핚후기본흐름 1로돌아갂다. 2.1 입력핚학번이수업에등록되어있지않은학번이라면오류메시지를출력핚후기본흐름 1 로돌아갂다. 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 19
Main Use Case ID Change Class Info Actor Professor Brief Description 개설된수업의정보를수정핚다. Preconditions 교수가로그인되어있다. 교수는개설핚수업을적어도하나이상갖고있다. Flow of Events Actor Input System Response 1 수정핛수업의과목코드를입력핚다. 2 수업정보수정을완료핚다. 3 Post - conditions 해당수업의정보가갱싞되었다는메시지출력 Alternative flows and exceptions Non behavior requirements Author 1.1 입력핚학번이안되는특수문자나공백이있을경우오류메시지를출력핚후기본흐름 1 로돌아갂다. 1.2 수업정보가양식에맞지않을경우기본흐름 1 로돌아갂다. 201060682 Valentin, 200611450 강세용, 200610118 김규수 Date 10. 11. 19
Create Account
Create Classroom
Delete Classroom
Select Classroom
Cancel Classroom