1.팀구성
2.기획단계
- 기획단계에서는 미리 정해놓은 기술분야에 부합되도록 주제를 정합니다.
- 컴퓨터공학과 심화전공트랙별 프로젝트 요건 페이지를 보고, 개발범위에 맞게 기획하여야 합니다.
- 최신기술동향과 사회적이슈(예, GPT4.0, Bard, 자율주행, NFT 등)를 고려하고 많은 벤치마킹으로 주제를 정합니다.
- 주제는 아래와 같은 예시를 참고하여, 비슷한 방식(~~기술을 이용한 ~~~서비스개발)으로 명칭을 정합니다.
- 단, 서비스개발(백엔드, 프런트엔드 개발)은 분야를 막론하고 공동으로 개발되어야 합니다.
- 예시1) 상단메뉴(Portfolio) 페이지를 참조하세요. (프로젝트 상세내용을 펼쳐서 보세요)
- 예시2) 웹기반 머신러닝기술을 이용한 예약가 자동구매 쇼핑서비스개발
- 예시3) IoT와 AI기술을 이용한 음성인식 경매시스템 개발
- 예시4) 블록체인 기반의 IoT 청과물 운송시스템 개발
- 예시5) 실시간 공유기술를 이용한 모바일 여행보조 서비스 개발
- 샘플1: "0팀-제안서v1.0-이름1-이름2-이름3-이름4.pptx"
- 샘플2: "1팀-제안서v1.0-이름1-이름2-이름3-이름4.pptx"
- 샘플3: "2팀-제안서v1.0-이름1-이름2-이름3-이름4.pptx"
3.설계단계
- 설계단계의 산출물은 "요구분석 및 설계서"입니다.
- 설계는 구현과 테스트시 발생할 오류를 원천차단하기 위해, 최대한 상세히, 분량도 200페이지이상 작성합니다.
- 설계서의 목차는 기술분야에 따라서 다르므로 ,각 기술분야에 맞는 목차대로 작성하세요.
- 설계서는 학과표준 템플릿(양식)을 다운로드받아, 작성한후, 아래파일명으로 제출합니다.
- 산출물(AI트랙용): "0팀-설계서v1.0-AI트랙-홍길동-김길동-박길동-홍길동.hwp"
- 산출물(AIoT트랙용): "0팀-설계서v1.0-AIoT트랙-홍길동-김길동-박길동-홍길동.hwp"
- 프로젝트 개요
- 요구사항정의 데이터분석/AI기술고찰, AI학습모델요구사항, 서비스요구사항
- 데이터분석 데이터수집, 특징분석/특징추출, 필터링, 데이터셋 생성
- AI학습설계 모델파이프라인설계, 파라메터설정, 모델생성/성능평가
- 화면설계 사용자메뉴구성, 사용자 화면설계(웹,모바일), 관리자메뉴구성, 관리자화면설계(웹)
- 기능설계 사용자기능설계(UML), 관리자기능설계(UML, AI학습모델 업데이트관리)
- API설계 REST API정의, API상세설계
- 데이터설계 ERD, DB테이블명세서(학습결과DB포함), 로그파일설계, 오류코드설계
- 성능시험지표 예측/분석정확도(ROC 등), 서비스기능/성능등 성능평가지표
- 개발환경설정 환경사양/버전(HW,OS,프레임워크,IDE), 소스디렉터리구조/파일명리스트
- 프로젝트 개요
- 요구사항정의 디바이스요구사항, (사용자,관리자) 기능요구사항, AI요구사항
- IoT 디바이스설계 보드/센서규격, 회로도설계, 하우징(외관)규격/설계
- 센서데이터분석 센서데이터수집, 특징분석/특징추출, 필터링, 데이터세트 생성,학습모델생성
- 화면설계 사용자메뉴구성, 사용자 화면설계(웹,모바일), 관리자메뉴구성, 관리자화면설계(웹)
- 기능설계 사용자기능설계(UML), 관리자기능설계(UML, AI학습모델 업데이트 배포관리)
- API설계 BLE프로토콜 설계, REST API정의, REST API상세설계
- 데이터설계 ERD, DB테이블명세서, 로그파일설계, 오류코드설계
- 성능시험지표 서비스기능/성능등 목표결과제시
- 개발환경설정 환경사양/버전(HW,OS,프레임워크,IDE), 소스디렉터리구조/파일명리스트
- 프로젝트 개요
- 요구사항정의
- 인프라스트럭쳐 설계 클라우드프로바이더(AWS,Azure,Google Cloud) 선정
- 화면설계 사용자메뉴구성, 사용자 화면설계(웹,모바일), 관리자메뉴구성, 관리자화면설계(웹)
- 기능설계 사용자기능설계(UML), 관리자기능설계(UML),컨테이너내의 구성
- API설계 각 컨테이너별 API, REST API정의, API상세설계
- 데이터설계 ERD, 테이블명세서, 로그설계, 오류코드설계
- 성능시험지표 서비스기능/성능등 목표결과제시
- 서비스패킹 및 배포방안 설계 컨테이너(도커)설계, 오케스트레이션(쿠버네티스)정의, 배포방안
데이터분석/AI분야
AIoT분야
클라우드 분야
리소스(서비스,DB,네트워크 등)정의, 마이크로서비스아키텍쳐설계
4.구현단계
- 먼저, 구현진도표 작성방법(
)에 따라 작성하여 제출한 후, 팀장이 구현진도표의 일정을 체크하고 관리합니다.
- 구현은 개발환경에 맞도록 구현하되, 반드시 학과 프로젝트서버(ceprj.gachon.ac.kr)에 포팅하여야 합니다.
- 개발은 모든팀원이 github을 사용하여 팀원간 협업코딩을 하며, v0.3, v0.5, v0.9, v1.0 마다 학과서버에 모든소스를 통합합니다.
- 진도점검은 v0.5, v0.9에 하며, 반드시 학과서버에 통합한 후에 시연하여야 합니다.
- 다만, 클라우드를 이용하여 개발한 서비스의 경우, 컨테이너(Docker)에서 운용할 경우에는 서비스이용이 가능하도록 유지합니다.
- 백엔드 개발프레임워크는 Java/Spring 또는 Node/express를 사용하며, DB는 MariaDB 을 사용합니다.
- 학과서버를 팀별로 사용할 수 있도록, (리눅스 팀계정/암호), (DB계정/암호),(팀전용포트)를 제공합니다.
- 다만, DB명과 테이블명은 팀마다 각각 다르게 생성하여 데이터를 저장할 수 있습니다.
- 학과 프로젝트서버는 랙타입(4U)서버로써, a5000 AI용 고성능 GPU가 탑재된 Rocky Linux OS환경입니다.
- 학과 프로젝트서버는 프로젝트 수업중에 자세한 안내방법을 공지합니다.
- 산출물: 구현진도표
, 프로그램소스코드, DB 데이터백업파일(팀명-dbbackup.sql)
5.시험단계
- 시험단계는 기능시험과 성능시험을 수행하고 그 시험결과서를 작성합니다.
- 기능시험은 동작이 설계한 대로 되는지를 확인하는 과정입니다. (예, 회원가입시 입력한 정보가 정확히 DB에 저장되는지를 확인).
- 또한, 비정상적인 경우도 시험해야 합니다. (예, 회원가입시, 허용길이보다 훨씬 길 문자열을 입력했을때 어떻게 동작되는지 등)
- 성능시험은 설계서에서 정의한 성능시험지표로 시험하되, 동작과정에서의 응답시간, 처리시간, 소요시간이 적당한지를 확인하는 과정입니다.
(예, 성능평가지표가 로그인 응답시간이 1초이내어어야 한다면, 그것을 만족하는지를 확인) - 산출물: 시험결과서(완료보고서에 포함시킴)
6.완료단계
- 완료단계에서는 완료보고서를 작성합니다.
- 완료보고서는 운영환경, 운영메뉴얼, 프로그램참조메뉴얼, 데이터참조메뉴얼, 개발후기로 구분하여 작성합니다.
- 운영환경은 개발한 프로그램이 정상적으로 수행되려면 필요한 모듈, 라이브러리, 설정파일, 설정내용, 테스트용 계정 등을 설명합니다.
- 운영메뉴얼은개발한 프로그램의 실행절차, 종료절차, 예상되는 장애목록, 장애시 조치사항을 설명합니다.
- 프로그램참조메뉴얼은 개발한 프로그램의 디렉터리 구조, 파일목록, 각 파일의 기능을 설명합니다.
- 데이터참조메뉴얼은 프로그램을 실행하는데 필요한 주요데이터 파일, 파일용도, 파일포맷, 데이터수집방법, 데이터처리방법을 설명합니다.
- 시연동영상을 5분짜리로 편집하여 제출합니다.
- 산출물: 완료보고서(doc), 시연동영상(mp4), 작품프로필 1장(pptx), 각 단계별 모든 산출물