객체지향모델링 설계지침서 (전공설계)

2학기

1. 설계 주제

디자인 패턴을 다수 적용한 예를 찾아서 하나의 시나리오로 완성하고, 이를 프로그래밍으로 실행시켜 동작하는 예를 보인다. 단, 교재에서 패턴 설명시 사용하는 것과 유사한 주제나 내용을 다루는 경우 인정하지 않는다. (팀원 1인당 1.5개 이상)

2. 설계 내용

설계 패턴(또는 GoF 패턴)은 GRASP 패턴과 함께 설계 단계에서 적용 가능한 문제-해결책의 쌍으로 크게 생성 패턴, 구조 패턴, 행위 패턴으로 분류된다. 교재에서는 가상 팩토리, 팩토리 메소드, 싱글턴, 어댑터, 컴포지트, 데코레이터, 퍼사드, 프록시, 커맨드, 이터레이터, 옵저버, 상태, 전략, 템플리 메소드 등의 패턴을 배우며, 이를 활용하여 자바 프로그래밍 언어로 정의한 문제를 구현하여 해결한다.

3. 설계 목적

1학기에 조원이 개발한 강의실 예약 시스템 중 하나를 선택하여 디자인 패턴이 적용되는 예를 찾아봄으로써 객체지향 프로그램 개발 과정에서 빈번하게 발생하는 디자인 상의 문제점을 해결할 수 있는 능력을 배양한다.

4. 설계 구성 요소

목표/기준 설정	합 성	요구분석	구 현	시 험	평 가	결과 도출	기 타
√		√

목표/기준 설정	[계획] 주제 선정시 기본 주제(또는 자유 주제)를 바탕으로 설계 프로젝트의 최종 목표를 팀원 간의 합의에 의하여 도출하고, 프로젝트 주제에 대한 이해 및 해야 할 일을 계획할 수 있다.
요구분석	문제 정의와 작업 분해를 통하여 디자인 패턴을 적용하기 위한 요구사항을 도출할 수 있다.
제작	요구사항으로부터 문제점을 발견하고 디자인 패턴을 적용하여 설계 모델링을 한 후 실행 가능한 소스 코드를 개발할 수 있다. 단, 데이터베이스 사용은 허용하지 않는다. 자료를 영구적으로 보관해야 하는 경우 파일을 사용하여 처리해야 한다.

5. 현실적 제한 조건

경 제	환 경	사 회	윤 리	미 학	보건/안전	생산성/내구성	산업표준	기타
						√	√	√

신뢰성	프로젝트를 수행하기 위하여 객체지향 분석, 설계의 기본 요소인 클래스 표기 방법인 UML 클래스 다이어그램을 활용할 수 있어야 하며, 적절한 SW 개발 방법론과 테스팅, 형상 관리 기법을 적용할 수 있어야 한다.
원가	코딩만 수행하는 기존 프로그래밍 기법의 한계를 극복하고 보다 좋은 구조를 가지는 프로그램을 제작하여 생산성을 높인다. (bouml, git 형상관리도구 활용 측면)
기타	개발 환경은 NetBeans IDE(maven)를 사용하여야 한다.

6. 프로젝트 운영 방법

- 강의시간 이외의 시간을 이용하여 팀별로 프로젝트를 진행한다.

- 팀별 진행 상황을 파악할 수 있도록 최소한 1회 이상 주별 회의록을 작성하여야 한다.

회의록은 프로젝트 최종 발표시 제출하여야 한다.

- notion, slack 등과 같은 온라인 협업 도구를 사용하여 프로젝트 일정 관리, 할 일,
의사 소통을 해야 한다. (온라인 협업 도구에서 정리한 회의 내용을 주별 회의록에 복사)

- gihub.com 등의 서비스를 이용하여 git을 사용하여 소스 코드와 관련 산출물 모두에 대해
형상 관리를 해야 한다.

7. 팀 구성

- 팀 구성원은 4~5명 이하로 제한한다. 단, 담당 교수가 허락한 경우는 예외로 한다.

- 팀 구성시 팀원 선정은 팀원 편성 프로그램을 사용하여 임의적으로 구성한다.

- 프로젝트 주제가 결정되면 구성원별 담당 영역을 나누어 프로젝트를 수행하고 프로젝트 결과      보고서에 구성원별 수행 결과를 명시하여야 한다.

8. 진행 일정

4주 - 팀 구성

6주 - 프로젝트 계획서 제출

7주 - 프로젝트 회의록 확인

매주 - 프로젝트 중간 점검 (일부 조, 선택적)

14주 - 프로젝트 발표 및 결과보고서 제출

9. 프로젝트 평가 방법

- 프로젝트 결과보고서에는 현실적 제한조건에 언급된 요소가 모두 포함되어야 하며,

현실적 제한조건 간 관계를 쉽게 알 수 있도록 보고서에 기술하여야 한다. 이를 토대로

팀별로 평가한다.

- 또한 자신을 제외한 다른 팀원에 대한 팀 공헌도 평가를 통하여 최종 평가시 반영하도록

한다.

- 디자인 패턴 적용 개수와 완성도를 같이 평가한다.

10. 최종 제출 자료 (평가사항)

아래 기술한 자료를 프로젝트 최종 발표일에 제출하여야 하며, 또한 동일 자료를 CD ROM에 저장하여 같이  제출하여야 한다. (주의: 컴퓨터 바이러스에 감염된 자료를 제출하는 경우 감점 요인이 됨.)

- 프로젝트 계획서

- 회의록 (주별, 임시 등)

- 프로젝트 최종 보고서

- 프로젝트 발표 자료 (파워포인트로 작성하여야 하며, 지정된 시간(10~12분) 이내로 프로젝트

관련 내용을 발표하여야 함.)

- 프로젝트 관련 소스 코드 : 프로젝트 열기를 통하여 내용을 확인할 수 있어야 함.