2. 이미지 출처 : naver.com
안정현
안정현
☟
안정현 DA설계 공모대전
안정현 Spring@MVC 프로젝트
3. 인물 정보
안정현 IT산업의 유망주
출생
취미 독서, 축구, 영화보기
신체
사이트
1989년 1월 25일
1급 비밀
페이스북
블로그
GitHub
www.facebook.com/jesuschrist.ahn
itnmis.wordpress.com
github.com/ITnMIS
IT분야 외 기타 능력치 (만렙 = 10)
주말농장 운영(2012~) : 농업 레벨 8
마라톤 10km (42분) :
달리기 레벨 8
철학, 경제, 문학,소설 책
등 보유 : 책 수집 레벨 7
필리핀대학 교육 봉사 한 달 :
생존용 따갈로어 레벨 1
2003년 용인시장배 중등부 준우수
2007년~ 풋살모임 F.C비엔또 활동 중
2007년~ 학과 축구 소모임 F.CKU 활동 중
2012년 축구 소모임 회장
: 축구 레벨 10+@
MR.A
HN
안정안현정현
이미지 출처 : naver.com
4. 이미지 출처 : naver.com
안정현
안정현
안정현 DA설계 ☟
공모대전
안정현 Spring@MVC 프로젝트
5. 프로젝트 팀
고려MIS
맴버
수상명
이상근, 김지훈, 안정현, 차태욱, 이의선
학생부 우수상
팀훈 치느님만 있다면, 밤샘 쯤이야
대상 프로젝트
주제 교육관리 시스템 구축을 위한 데이터 아키텍쳐 설계
주최 한국데이터베이스진흥원
내용 한국데이터베이스진흥원에서 출제한 요구사항(A4용지 8장 분량)을
토대로‘요구사항 분석서’, ‘데이터 표준화 정의서’, ‘논리 모델링’을 작
성 하여 제출
사용한 툴 엔코아 - DA#
참고저서 업무데이터 모델링 - 김기창 저
데이터아키텍쳐 전문가 가이드 - KDB(한국데이터베이스진흥원)
안정현 안정현 DA 설계 공모대전
9. URQ001
강사 및
관리직원 관리
URQ002
과목 소개
정보 관리
URQ003
과정 개설
계획 관리
URQ004
회원 정보
관리
URQ005
수강 신청
관리
URQ006
출결 관리
URQ007
수료증 관리
URQ008
강의 평가
관리
URQ009
게시판
관리
URQ010
모임방
요구사항 분류 및 정의
10. [요구사항 정의서] 작성 - (예:URQ001)
URQ001
강사 및
관리직원 관리
1. 강사 및 관리직원들에 대한 체계적인 관리가 필요하다. 강사는 강의를 전담하고, 관리직원들은 강사와 개설과정
의 관리, 수강관리 및 교육센터 운영 등의 업무와 교육센터 운영을 위한 홈페이지 관리 업무를 한다.
2. 한 명의 강사는 여러 개의 과목을 강의할 수 있고, 하나의 과목을 강의하는 강사는 여러 명이 있을 수 있는 데, 하
나의 교육센터 내에서도 과목별로 여러 명의 강사가 개설 일정에 따라 교대로 강의를 할 수 있다. 강사나 관리직원
들 중에는 타 지역의 교육센터로 근무지를 이동하는 경우도 있다.
3. 각 교육센터는 센터장의 책임 하에 운영되고 있으며, 강사나 관리직원의 채용도 센터장의 권한에 속한다.
4. 강사와 관리직원은 동일한 직급 체계를 적용한다.
5. 근무 중 관리직원이 강사로 선발되거나 강사가 관리직원으로 직무를 변경하는 경우도 있다. 직무가 바뀌더라도
새로운 직무수행자로서 해당 직원에 대한 정보를 다시 입력하는 일이 없어야한다. 이와 같은 직원들의 직무 변경사
항과 이에 따른 근무 내용들이 입사 때부터 체계적으로 관리되고, 근무지 이동이 발생하더라도 과거의 이력이 원활
하게 연결되어야만 직원들에 대한 업무‧업적평가가 제대로 이루어질 수 있기 때문에 강사 및 관리직원에 대한 정보
를 통합 관리해야 한다.
6. 강사나 관리직원은 한글성명, 영문성명, 주민등록번호, 성별 등의 기본정보와 함께 주민등록지주소, 거주지주소,
집전화번호, 핸드폰번호, 비상연락전화번호(본인 연결이 가능한 2차 연락전화번호), 이메일 등 연락처정보를 관리
하며, 매월 강사료나 급여를 지급하기 위한 계좌정보로서 은행코드, 계좌번호, 예금주명등을 관리한다.
7. 각 직원이 어느 센터에서 채용되었는지를 알아야 하기 때문에 채용센터에 대한 정보와 입사일자를 관리해야하
며, 이와 함께 현재 근무하고 있는 센터, 과거에 근무했던 센터들의 정보와 그 근무기간등을 관리해야 한다.
8. 수강생들이 수강신청을 할 때 참조할 수 있도록 강사 프로필 정보를 제공하기 위해 프로젝트나 강의 등에 대한
경력사항, 담당과목, 보유자격증 등에 대한 정보와 프로필용 사진을 관리해야한다.
9. 강사나 관리직원을 따로 구분하지 않고 직원번호를 부여하여 관리한다.
11. [데이터 표준화 정의서] - 데이터 표준화 원칙 정의
항목 내용
공통원칙
1. 관용화된 용어를 우선하여 사용한다.
2. 영문명(물리명) 전환시, 발음식은 지양한다.
3. 일반적인 명명규칙 시 띄어쓰기는 하지 않는다.
4. 한글명에 대해서는 복수의 영문명을 허용하지 않는다.(동음이의어 불가)
5. 영문명에 대해서는 복수의 한글명을 허용한다.(이음동의어 허용)
6. 슈퍼타입에 속한 서브타입들을 구분하기 위해 '~구분'이라는 용어를 사용한다.
표준용어
1. '~일자', '~일' 등 날짜를 의미하는 용어는 접미어 '~일자'로 통일하여 사용한다.
2. 유효기간은 적용시작일자와 적용종료일자를 통해 표현한다.
3. 용어는 띄어쓰기를 허용하지 않는다.
4. 용어의 길이는 한글의 경우 15자 이하, 영문의 경우 24자 이하로 제한한다.
5. 단독 인조식별자로서의 ID, 일련번호 등은 접미어 '~코드'로 통일한다. 단, 요구사항에 명확히 정의
된 구성원번호, 개설과정번호, 회원번호, 모임방게시판번호는 예외로 한다.
6. User의 Action에 의해서 증가하는 식별자는 일련번호를 사용한다.
7. 영문약어의 경우 5자 이내로 제한한다.
8. '~명', '~이름' 등 명칭을 의미하는 용어는 '~명'로 통일하여 사용하고, 성명(사람의 이름)은 '한글성
명'과 '영문성명'으로 구분한다.
9. '핸드폰번호' 와 '휴대폰번호'는 휴대전화번호로 통일한다.
11. '수강생'과 '수강자'는 '수강생'으로 통일한다.
12. '주소'는 실제로 거주하고 있는 '거주지 주소'와 주민등록증 상에 기재된 '주민등록지주소'로 나뉜
다.
표준코드
1. 코드성 속성은 맨 뒤에 '코드'을 붙인다. 예) 상태코드, 결과코드
2. 코드는 알파벳과 문자열을 조합하여 일정한 길이로 구성한다.
3. 코드 속성에는 기본적으로 6자리 문자열인 코드 도메인을 지정한다.
4. 코드는 전체 모델내에서 유일하게 정의한다.
표준도메인
1. 표준도메인은 기본적으로 Number, String, Datetime으로 정의한다
2. 금액 도메인은 (7,0),(7,2)로 정의한다.
3. 표준 도메인은 대표 속성을 기준으로 정의한다.
4. 상세 도메인의 구별이 필요한 경우는 별도의 원칙으로 정의한다.
17. 간트 차트
항목
6월
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
요구사항
분석
표준정의서
작성
모델링
검증
항목
7월
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
요구사항
분석
표준정의서
작성
모델링
검증
항목
8월
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
요구사항
분석
표준정의서
작성
모델링
검증
요구사항분석 및 작성 주간
요구사항분석 및 작성 주간
표준정의서 작성 주간
논리모델 작성 주간
논리모델 작성 주간
검증 주간
: 합숙
18.
19. 이미지 출처 : naver.com
안정현
안정현
안정현 DA설계 공모대전
안정현 Spring@MVC 프로젝트
☟
20. 안정현 안정현 Spring@MVC 프로젝트
프로젝트 팀
HYB(Health, Youth, Beauty)
맴버 강성민, 하세준, 이민주, 안정현
팀훈 우리에게 봄(Spring)은 언제 오는가?
대상 프로젝트
구현영상 http://youtu.be/uSMaM_8gNH0
GitHub github.com/ITnMIS/SpringProject/
주제 헬스장 포털 싸이트
내용 최근 건강, 다이어트, 외적의 멋 등의 이유로 많은 사람들
이 헬스장을 찾습니다. 헬스에대한 수요 급증으로 몇년사
이에 지역별 많은 헬스장이 등장했으며 고객유치를위해 전
단지, 웹 홍보등 다양한 노력을 하고 있습니다. 그러나 대
부분 헬스장의 개별적 홍보로 소비자 입장에서 자신이 원
하는 가격, 장비, 시간 등을 한번에 확인 할 수 없어 불편하
며 사업자는 지역에 많은 경쟁자들과 경쟁하기위해 웹사이
트를 별도로 구축해야하기때문에 고객을 유치하고 유지하
기위해 더 많은 노력이 요구됩니다. 고객과 헬스장의 연결
고리 역할을 하는 ‘무엇’이 필요하다 생각하고 프로젝트를
진행하였습니다.
헬스장 사업자에게 홍보와 고객 유치 및 관리
를 고객에게는 헬스장 정보 및 건강관련 컨탠
츠를 제공하는 헬스포털싸이트
[메인 페이지]
21. 프로젝트 개발 순서
I. 핵심 개발 영역 선정
II. 필요 기능 선정
III. DB 모델링 및 구현
IV. 프로젝트 개발 스팩 선정
V. 기능 및 UI 구현
VI. 프로젝트 마무리
25. 프로젝트 개발스펙 선정
SPRING 3.1 ibatis
HTML5
CSS3
JQuery
JSTL
MySQL
26. 소스: https://github.com/ITnMIS/
SpringProject
Dispatcher Validation
View
HandlerMapping Controller
Service
DAO
Model
ApplicationContext
DB
ORM
프로젝트 흐름도
ModelAndView ViewResolver
Request
Response
37. 느낀점
✦ 프로젝트 시간, 범위의 중요성
개발관련 PM경험의 부재로 프로젝트의 범위, 구성원 별 업무 분담, 시간 조절 실패
✦ 표준화의 중요성
데이터, 객체, 속성 명, 값 등의 표준화가 이뤄지지 않아 프로젝트 지연 및 의사소통의 어려움 발생
✦ 논리와 물리모델의 간극
논리 설계와 다르게 물리 설계 시 성능, 개발의 편의성 등을 고려하게 됨
• FK 속성 없이 개발 진행
• 정규화된 모델을 역정규화
✦ JUnit? Spring MVC Test? SPOCK?
학부시절 간단하게 접한 코딩들 보다 복잡하고 길어진 코딩들로 다양한 오류를 접함
• 프로젝트 진행 기간 동안 디버깅 시간이 70%정도를 차지할 정도로 많은 시간을 소비
• 테스트 기반 프로그래밍의 중요성 인식
38. 느낀점
✦ Git 의 필요성
naver의 n드라이브에 [공통], [개인] 폴더를 zip이나 war 형식으로 파일 공유
• 실수로 다른 파일이 업로드 될 수 있으며 타인이나 공통 폴더에 올려 프로젝트가 꼬임
• 잦은 수정으로 폴더에 많은 파일이 쌓임.
• 작은 소스 변경에도 프로젝트 전체를 올리는 경우가 발생
• 업데이트 상태에 따른 부가적인 설명이 어려움
✦ HTML, CSS, JAVASCRIPT . . .
프런트 부분은 쉬울 것이라 생각하고 혼자하겠다고 선포 그러나,
• 크로스 브라우징 실패 : [Crome], [Firefox], [Safari]에서만 정상 작동 [Internet Explorer]에서 깨
짐 현상 발생
• CSS와 Jquery의 표준화가 되지않아 중복코드, 브라우져 성능 저하
• 디자인, 프런트엔드 개발자들의 위엄을 느낄 수 있었으며, “사용자 입장에서 생각하는 것”과 “생각
을 구현한다는 것”은 절대 쉬운 일이 아님을 깨달음