오늘 일정
1: 프로젝트시 유의점
2: 요구사항 정의서 작성 및 보완
3: 검토
4. 메뉴구조도 작성 및 보완
5: 개발환경구성시 유의점
6: 메뉴구조도 검토
7: erd 또는 화면정의서 작성 및 보완
8: erd 또는 화면 정의서 작성 및 보완
- 빨리 끝내놓으면 다시 고칠 수 있고, 보완할 수 있다
프로젝트 수행 기본 절차
분석
설계 (1주)
- 테이블정의서
- erd
- 줄일건 줄여서 쓰도록
- 화면구성을 ppt말고 차라리 jsp로 만들어라
구현 (4주)
테스트 (1주)
- ㄱㄱㄱㄴㄴㄴ 테스트하면안됨
- 2주 3주전에 끝나야 제대로 테스트할 수 있음
배포
- 원래는 사용자, 운영자 매뉴얼, 프로젝트 안내서를 써야함
- 운영자매뉴얼: 배포했으니 기동하고 하는 방법, 장애조치에 관한 내용
프로젝트 수행시 신입사원 역할
- 분석때 분석만하고, 설계때 설계만하고, 구현때 구현만하면 망한다
분석
- 담당업무 분석: 해당 업무 담당자라는 사실을 인지
- 사용자 유형 분석: 외부/내부사용자, 관리자, 운영자등 파악
- 분석산출물 작성: 가이드에 따른 산출물 작성
- 구현기술습득: 프로젝트 수행간 사용되는 기술 스스로 학습
설계
- 담당업무 설계: 구현할 화면과 클래스에 대한 정의
- 설계산출물작성: 가이드에 따른 산출물 작성
- 구현기술습득: 관련 샘플 프로그램 수시로 작성
- 설계기간에 설계에만 치중하면 구현 1주차에 헤메게 되어있음
구현
- 담당업무 구현: 일별 진행 일정과 보고 일정을 분리해서 진행
- 단위테스트 실시: 해당 프로그램 구현 후 꼭 테스트 진행할 것
테스트
- 테스트만 하면서 문제점 고치는 기간
- 통합테스트실시: 업무흐름에 딸느 데이터 진행확인
- 통합테스트결과 반영 오류 및 개선사항 반영
배포
- 시스템안정화: 오류 및 개선사항 반영
- 잘하는 사람에게 한시간 짜리 일.. 테스트때 이미 준비를 마쳤기때문
실무프로젝트 실시간 교육생 자세
- 적극적인 수행자 입장이 될 것
- 전과정을 직접 경험할 수 있도록 할 것
- 지금 위치한 공간은 개발원이 아니고 회사라고 인식할 것
- 원하는 결과를 묻지 말고, 그 결과를 만들어 낼 것
- 지금까지 배운 내용을 기반으로 각자 1개 모듈 이상 개발할 것
- 지금 잘 만들어둬야 나중에 회사에서도 쓸 수 있음
- 질문방법
- x : 이거뭐에요? 어떻게해요?
- o : 이렇게 했는데 좋은 방법인가요, 어느 사이트를 참고해야할까요,
실무프로젝트 구성 방안
- 형상관리툴 (svn, git)사용
- 팀별 문서서버 운영
- 현장에서 많이 쓰는 기술 적용 고려
- 기본구성: mybatis, 전자정부, log4j 등
- 필수구성: excel 다운/업로드, jquery, tree구조 조직도
- model2 구현 (spring mvc)
- 고급기술 활용도 고려
- 일부 서비스 모바일 화면제공
- 화면관련 오픈API
- SOA기술을 통한 데이터 통신
- 텍스트/XML 파일 파싱 및 생성
- 오픈소스 활용기술 (APACHE COMMONS) 라이브러리 활용
- 파일생성 간단
- 텍스트파일 작성하기 위해 2줄이면 끝난다?
효율적인 개발일정
- 3H: 프로그램(CRUD 한 세트) 개발
- 2H: 테스트 및 보완
- 2H: 다음프로그램 SQL준비
- 1H: 퇴근준비 및 미비점보완
- 저녁시간: 개발기술습득
레이어 기반 구현
- jsp: 화면ㅍ시에 관한 기술만 구현
- controller: 조건에 따른 서비스 및 jsp 선택
- service: 트랜잭션 보장 단위로 구현 (예: 본문저장과 첨부파일저장)
- dao: db를 대상으로 등록, 조회, 수정, 삭제 단위 기능만 구현
- db
조언
산출물
- vo,컨트롤러,jsp만 만들면 액션타서넘길수있음 프로그램목록 산출물도 만들수있음?
- 메뉴구조도
- 간략하게 줄여라, 기존것은 요구사항추적도와 메뉴구조도가 섞여있다
- 기존것에는 '수정,삭제'라고 있는데 그런건 메뉴로 있을 게 아니다
- kised.or.kr
- 1depth: 알림마당
- 2depth: 공지사항, 사업공고, 입찰공고
- 메뉴가 depth가 깊어봤자 못찾아들어감 통상3depth에서 끝남
- 탑메뉴 있고, 탑메뉴 선택해서나오는게 중간메뉴,
- 서식을 화면ID와 요구사항ID빼고 권한으로 수정해라, 메뉴ID같은건 빼라
- 요구사항정의서
- id와 공백 신경써라, 내용 토씨하나 서술하는게아님
우리팀 조언
제안요청서
- 나라장터에서
시스템
이라고 검색하면 제안요청서가 나옴
COMMON-IO

DB
- 오라클 data dictionary 사용
- 코멘트 달아놓거나 하면 쿼리로 코드 뽑아낼 수 있음
업무분배
DB
- 관리자기능부터 DB
- 기본틀을 1-2명이 잡아라
- 한번에 완성될 수 없음 계속 수정이 필요하니 글
화면단
- 부트스트랩준비
- JSP로 화면정의서
- DB했던사람은 분량을 조금 적게주고
개발환경 구축
- c드라이브-3.8.0-아파치톰캣/이클립스/워크스페이스
- sql-mapper-config.xml: camlecase설정으로 vo와 컬럼매핑가능
- Data Source Explorer 쓸 줄알면 편해짐
프로젝트만들기
- new - other - eGovFrame - egov Web Project
메서드
- 매개변수 String하지말고 무조건 vo로해라 나중에 매개변수가 추가될수 있으니
- 모든데이터는 VO에 담아 넘긴다
중복등록방지
- 게시판 등록시 f5 계속 넣었을 때 어떡할래 => 방지방법알려주실것
기타
- 맥 드라이브 m2?mvc?mvm? 아마존에서 구매후 젠더로 연결?
앞으로의 일정
전체일정



다음주일정
- 기본개발셋팅, 설계부분 검토하실 것
- 늦어도 다음주까지 설계 및 쉬운 기능 한번씩해봐야함