6조 강세용 김규수 valentan
. 개발준비 2. 구현과정 3. Class-Object 비교
사용언어 : JAVA 사용도구 : Eclipse, NetBeans 제작기간 : 4 일?
기존의설계도를최대한적용하여설계. StarUML의코드제너레이션으로나온코드들을최대한건들지않으려고노력했습니다. 또한시퀸스다이어그램의구조를최대한따라구현하였습니다.
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 Person #name: String #id: String #password: String #classroomlist: ArrayList<Classroom> +Person(id: String, pw: String, name: String) +GetName() +SetName(name: String) +GetId() +SetId(id: String) +GetPassword() +SetPassword(password: String) +Connecting(id: String, password: String)
Student +SelectClassroom(id: string) +CheckClassroom() +CheckConflictClassroom() +CancelClassroom(id: string): bool Student +SelectClassroom(id: string) +CheckClassroom() +CheckConflictClassroom() +CancelClassroom(id: string): bool Professor +deleteclass(id: int) +CreateClass(name: string, time: int, subject: string, day: int, maxstudent: int) +CheckClass() +CheckStudent() Professor <<create>>+professor(id: String, pw: String, name: String) +deleteclass(id: int) +CreateClass(cr: Classroom) +CheckClass() +CheckStudent()
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() -id: String -day: int -hour: int -subject: String -maxstudent: int -studentlist: Student[*] -professor: Professor -location: String -studentcount: int Classroom <<create>>+classroom(_subject: String, _hour: int, _day: int, _maxstudent: int, _location: String, _id: 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()
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 Professor +deleteclass(id: int) +CreateClass(name: string, time: int, subject: string, day: int, maxstudent: int) +CheckClass() +CheckStudent() Creat and regist Classroom +id -day: int -hour: int -subject: string -maxstudent: int -studentlist: Student -professor: Professor -location: string Regist +SelectClassroom(id: string) +CheckClassroom() +CheckConflictClassroom() +CancelClassroom(id: string): bool +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() 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
Professor <<create>>+professor(id: String, pw: String, name: String) +deleteclass(id: int) +CreateClass(cr: Classroom) +CheckClass() +CheckStudent() Person #name: String #id: String #password: String #classroomlist: ArrayList<Classroom> +Person(id: String, pw: String, name: String) +GetName() +SetName(name: String) +GetId() +SetId(id: String) +GetPassword() +SetPassword(password: String) +Connecting(id: String, password: String) Student +Student(id: String, pw: String, name: String) +SelectClassroom(cr: Classroom) +CheckClassroom() +CheckConflictClassroom() +CancelClassroom(_id: String) Create and Regist Regist Classroom -id: String -day: int -hour: int -subject: String -maxstudent: int -studentlist: Student[*] -professor: Professor -location: String -studentcount: int <<create>>+classroom(_subject: String, _hour: int, _day: int, _maxstudent: int, _location: String, _id: 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() TimeSchedule -classroomlist: ArrayList<Classroom> -personlist: ArrayList<Person> +TimeSchedule(size: int) +AddClassroom(classroom: Classroom) +DeleteClassroom(classroom: Classroom) +AddPerson(pers: Person) +DeletePerson(pers: Person) +ShowPersonAll() +ShowClassroomAll() +FindID(id: String) +FindClass(name_classroom: String, id: String)
GUI-Class 들은설계하지않았기때문에대체로 GUI-Class 들을 Modify 하는것으로최대한변동을줄였습니다.
하지만기존의시퀸스다이어그램이나, 유스케이스에신경을쓴부분은괜찮았으나, 조금신경을덜쓴부분들은많은수정이필요했습니다. 특히 Return값과 Parameter 수정부분이많았는데, 이부분은경험과연습이있어야더좋은설계가가능할것같습니다.
잘짜여진설계는코드구현을쉽게만들어줄뿐만아니라, 소프트웨어이해를좀더쉽게만들어줍니다.
인적자원관리! 인적자원관리! 인적자원관리! 인적자원관리!