< 무인 도서 대여기 >
1. 메뉴 뷰어: 학생증 인식 대기 상태. (사용자에게 정보입력을 요구함)
1) 객체
<1> class BookReadManager (control 클래스)
<2> class Run(메인 메소드가 있는 클래스)
2)데이터
a) 학생정보
b) 도서정보
3)메소드
<1> class BookReadManager (control 클래스)
a) Print() (대기 화면 출력, 도서 요구 화면 출력, 대여 완료 화면 출력) - 학생증 리더기가 리턴한 학생정보를 받으면, 도서 요구 화면을 출력한다, 도서리더기가 리턴한 도서정보를 받으면 대여완료 화면을 출력한다.
b) start() (입력받은 정보에 따라 그에 맞는 메소드를 실행 시킨다) - 도서리더기 인스턴스(GetStudentInfo), 학생증 리더기 인스턴스(GetBookInfo) 생성 및 메소드 실행.
<2> class Run(메인 메소드가 있는 클래스)
a) main() - class BookReadManager의 start메소드를 실행한다.
2. 학생증 리더기: 학생증의 정보를 읽는다.
1)객체
<1> class GetStudentInfo(사용자 학생증 입력정보)
2)데이터
a) 학생정보
b) 서버에 저장 되어 있는 학생정보
3)메소드
a) getInfo(): 사용자가 입력한 학생증의 정보를 읽는다.
b) stuSearch(): 학생증의 정보를 읽고 해당 학생의 정보를 서버에서 찾고 입력받은 학생 정보와 같은지 비교한다. 같으면 학생정보 리턴한다.
c) stuInfo(): 해당 학생이 도서 대여정지가 되어있는지 확인 후 대여가능하면 학생정보를 반환한다.
3.도서 리더기: 해당 도서의 바코드 정보를 읽는다.
1)객체
<1> class GetBookInfo
2)데이터
a) 입력받은 도서정보
b) 서버에 저장되어 있는 도서정보
3)메소드
a) getBookInfo(): 도서의 정보를 읽고 데이터 저장한다.
b) bookSearch(): 도서의 정보를 읽고 해당 도서의 정보를 서버에서 찾는다. (if구문)그리고 대여 가능여부를 살핀다.
c) bookInfo()
대여 가능하다면 해당 도서의 정보를 대여중으로 바꾸면서 도서정보 리턴 및 메소드 종료한다.
<시나리오>
0) class Run 메소드에서 class BookReadManager의 인스턴스 생성 및 start메소드를 실행한다.
1) class BookReadManager의 start메소드에서 class BookReadManager의 print()메소드를 계속 실행시켜(while(true)) 대기화면 출력이 계속 진행 되게 한다.
2) 사용자가 학생증 정보를 입력하면 print()메소드는 실행 중지(break;)되고 class GetStudentInfo의 getInfo()가 실행되어 입력받은 정보가 해당 데이터 변수에 저장된다.
3) class GetStudentInfo의 search 메소드가 실행되어 입력받은 정보와 서버에 저장 되어 있는 학생정보와 비교하여 같으면 학생정보를 반환한다.
4) 해당 학생 정보를 stuInfo()가 반환 받으면 해당 학생의 대여 가능 여부를 판단한 후 가능하면 해당 학생의 정보를 반환한다.
5) class BookReadManager에 있는 print()메소드가 학생정보를 받으면 도서 화면을 출력한다.
6) 사용자가 도서정보를 입력하면 print()메소드는 실행 중지(break;)되고 class GetBookInfo의 getBookInfo()가 실행되어 입력받은 정보가 해당 데이터 변수에 저장된다.
7) class GetBookInfo의 bookSearch()메소드가 실행되어 입력받은 도서 정보와 서버에 저장 되어있는 도서정보와 비교하여 같으면 도서정보를 반환한다.
8) 해당 도서 정보를 bookInfo()메소드가 반환 받으면 해당 도서의 대여 가능 여부를 판단한 후 가능하면 해당 도서의 정보를 대여중으로 바꾸고 도서 정보를 반환한다.
9) print()메소드가 도서정보를 입력 받으면 대여 완료 정보와 도서정보를 보여주는 화면을 출력한다.
10) 사용자가 완료 버튼을 누르면 지금까지 빌린 도서목록과 반납날짜를 보여주는 화면을 출력한다.
11) 사용자가 종료 버튼을 누르면 다시 대기화면을 출력한다.
'IT Trend' 카테고리의 다른 글
EchoServer 분석소스 (0) | 2016.12.12 |
---|---|
EchoClient 분석소스 (0) | 2016.12.12 |
Chat 서비스 분석 (0) | 2016.12.12 |
에코 서비스 분석 (0) | 2016.12.12 |
객체란 무엇인가? (0) | 2016.10.10 |