언어 자료구조 알고리즘/프로그래밍 실습

[라이브러리 실습] 응용 종류에 종속적이지 않은 라이브러리 만들기

언제나휴일 2017. 12. 21. 14:45
반응형

[라이브러리 실습] 응용 종류에 종속적이지 않은 라이브러리 만들기


 

관련 NCS 능력단위

인터페이스 구현 (2001020212_16v4 )

 

관련 능력단위 요소

인터페이스 기능 구현하기

인터페이스 구현 검증하기

 

요구 사항

- 상품 관리 라이브러리를 제작하라.

상품 관리 라이브러리

[그림 1] 상품 관리 라이브러리 컴포넌트 다이어그램

- 제작한 상품 관리 라이브러리를 참조하여 콘솔 응용 프로그램을 작성하라.

상품 관리 라이브러리를 참조하여 콘솔 응용 프로그램

[그림 2] 상품 관리 프로그램 컴포넌트 다이어그램(콘솔 응용)


- 제작한 상품 관리 라이브러리를 참조하여 WinForm 응용 프로그램을 작성하라.

 상품 관리 라이브러리를 참조하여 WinForm 응용 프로그램

[그림 3] 상품 관리 프로그램 컴포넌트 다이어그램(WinForm 응용)


 

* 두 종류의 응용에서 최종 사용자가 사용할 수 있는 기능은 다음과 같다.

상품 추가, 상품 제거, 입고, 출고, 상품 검색, 상품 전체 보기

상품 관리 프로그램 Usecase 다이어그램

[그림 4] Usecase 다이어그램


 

- 상품 형식에는 상품 ID, 상품 이름, 보유 개수, 단가를 멤버 필드로 갖고 있다. 이 중에 상품 ID는 주요 키이다.

- 상품 생성자에서 상품 ID, 상품 이름, 보유 개수, 단가를 입력 인자로 전달받는다.

- 상품 형식에는 각 멤버 필드의 값을 가져오기 할 수 있는 속성의 get 블록을 제공한다.

- 상품 형식에는 보유 개수를 설정할 수 있는 속성의 set 블록을 제공한다.

[그림 5] 상품 클래스 다이어그램

[그림 5] 상품 클래스 다이어그램



- 상품 관리자 형식에는 상품 ID를 키로 하고 상품을 값으로 하는 사전 개체를 멤버 필드로 갖는다.

- 상품 관리자 형식에는 추가할 상품 정보를 입력인자로 전달받아 상품을 추가하는 메서드를 제공한다. 만약 이미 같은 상품 ID를 갖는 상품 정보가 있을 때는 추가하지 않는다.

- 상품 관리자 형식에는 삭제할 상품 ID를 입력인자로 전달받아 상품을 제거하는 메서드를 제공하다.

- 상품 관리자 형식에는 상품 입고 메서드를 제공한다.

- 상품 관리자 형식에는 상품 출고 메서드를 제공한다.

- 상품 관리자 형식에는 상품 검색 메서드를 제공한다.

- 상품 관리자 형식에는 전체 상품 조회 메서드를 제공한다.

[그림 6] 상품 관리자 클래스 다이어그램

[그림 6] 상품 관리자 클래스 다이어그램


InProduct와 OutProduct 메서드의 rcnt 인자는 입출고 후에 상품 개수를 의미합니다.

OutProduct 메서드의 cnt인자는 출고 요청 개수인데 만약 현재 보유 개수가 3개이고 요청 개수가 10개이면 호출한 곳에서 실제 출고 개수가 3이라는 것을 알 수 있어야 하기 때문에 ref 인자로 정의함


참고 자료: PLib의 XML 출력 파일

PLib.xml


반응형