Upload
delbert-woo
View
1.079
Download
3
Embed Size (px)
Citation preview
node.js 를 활용한 개발과 문서화 자동화 방법 연구 실 사례 발표 (1/3)
前 前 前 : OKJSP MySQL to CUBRID 팀원前 前 : 비투엔컨설팅 DA,AA,TA,EA 아키텍트
前 : Glue1 Communications 대표
現 : CUBRID 컨설팅 팀 컨설턴트現 : GliDer Wiki 팀 Social Q&A 서비스 기획자
現 : OKJSP DB 운영자
後 : Open Your Dream 대표後 後 : 행복한 백수 겸 한량
後 後 後 : OKJSP 운영진
본 문서는 OKJSP 소모임용으로 작성 되었음발표 사례 및 소스코드의 저작권은 프로젝트중 발생 된 부분이며 저작권은 전직장인 비투엔 컨설팅과고객사에 귀속됨 . 그 중 일부분은 프로젝트 외에 개인적으로 작성하였음
단 , 소스코드 이외의 아이디어 ( 저작권없음 ) 발표자료 등은본인에게 귀속 되었으나 Creative Commons Licence 에 따름 .
저작자 표시 (Attribution; by) 저작물을 사용할 때에 원저작자를 꼭 표기해야 한다 .
비영리 (Noncommercial; nc) 저작물을 영리 목적으로 사용할 수 없다 .
웃긴다 메추리
당신의 직업은 ?
• Software Engineer• Software Architect• Software Modeler• Software Programmer• Software Developer• Coder
• And ?http://blog.utest.com/whats-the-difference-between-testers-and-developers/2013/03/
배경 ? 결과 ?
S/W 를 만드는 Maker 로 문서를 만들다 . 죽을 뻔 한적도 있고 문서가 중요하다고 하지만
문서 보다 중요한 게 뭔지 깨닫고 그에 대한 실천 방안을 연구 중임
문서 보다 중요한 건 ?만들면 끝나는 건지 ? 누군가의 이야기
S/W Maker 는 임산부와 같습니다 . 죽을 것 같이 애 낳고 죽을 것 같이 키워야 하겠습니까 ?만들었음 잘 크게 키워 줘야죠 .
물도 주고 밥도 주고 이용도 하고…
제일 중요한 건 ?
• 바로 태도 (Attitude) 와 자세 ( Mind)
• Why?• Coder 는 Code 로 말하고 Code 로 대화
하고 Code 를 남긴다 .
• 마지막으로 Code 로 먹고 산다 .
Code 와 S/W 공학• 방법론의 분류
SW공학
SW공학개념
개요 SW위기
SW프로세스모델
폭포수모델프로토타이핑나선형모델점증적모델4GT 모델
SW개발방법론
객체지향
SW재사용
구조적방법론정보공학방법론객체지향방법론CBD방법론
개념
UML
추상화캡슐화상속성다형성정보은닉ViewDiagramRUP
componentCBD재공학역공학
SW프로젝트
프로젝트관리
계획수립
SW프로젝트추정
프로젝트정의 , ,유일성 한시적 점진적상세화
통합관리범위관리일정관리원가관리품질관리인력관리의사소통관리위험관리구매외주관리형상관리
프로젝트계획서제안프로세스
양적추정방식
양과질을고려한방식
변경관리
제안서
PPD,PPE,OCC
Initiation,SP,SD,SV,SCC
AD,AS,ADE,SD,SC
RP,CE,CB,CC
QP,QA,QC
OP,SA,TD
CP,ID,PR,AC
RMP,RI,QRA,QRA,RRP,RC
PP,SP,S,SS,CA,CC
LOCCOCOMO
FP
SW개발
분석
설계
개발
테스트
유지보수
추상화
단계적정제Devide&Conquer
델파이기법
데이터모델링
기능모델링
행위모델링
ERD
DFDDD
제어모델링이벤트모델링
모듈화
FAN- IN/OUT
결합도응집도
CASE Tool단계별목적별
Black box,White boxStub,Driver
SLASLM
ITILOutsourcing
SW품질
제품품질
프로세스품질
ISO9126ISO9000
ISO12207
CMM
CMMiSW- CMMSE- CMMP- CMM
IPD- CMMSA- CMM
SPICE
FTR
ReviewWaikthrough
Inspection신뢰도
감리감리보고서
SW이슈SW산업육성방안SI사업평가제
그렇다면 Code 와 문서는 ?
• 가능한 최대한 문서를 적게 만드는 게 좋다 .
하지만 , 방법론에서 제시하는 문서는 복잡한 프로세스와 산출물 , 샘플 , 가이드 , 체크리스트 등이 존재한다 . 그리고 품질 관리가 쪼아 댄고 감리가 지랄한다 .• Why? • Coding 하기 어렵게 계속 쓰잘데기 없는 걸
만들어야 하는 거지 ?
1. 소프트웨어 발전과정
2. 소프트웨어 위기 1) 하드웨어 기술의 급속한 발전 , 범용컴퓨터의 광범위한 보급 , S/W 엔지니어 위기 - 하드웨어 기술은 소프트웨어 개발 능력의 발전속도보다 휠씬 빠름 - 새로운 S/W 를 요구하는 시장의 수요를 감당할 수 없음 - 기존 정보기술로 개발된 S/W 의 유지보수가 어려워짐 - 무어의 법칙 : 마이크로칩에 저장할 수 있는 데이터량 / 속도가 매 18 개월마다 두 배씩 증가 한다는 법칙 깨질 정도로 빨라지고 있음 2) S/W 분야의 인건비 상승 , 우수한 S/W 의 부족 , S/W 생산성에 대한 위기의식 3) S/W 위기 도래 - 개발 예산초과 , 개발일정 지연 , 생산성 저하 , 품질 저하
1 세대 2 세대 3 세대 4 세대- 일괄처리- 주문형 S/W
- 멀티유저- 멀티프로그램- 실시간처리-DB 사용- 제품화 S/W
- 분산시스템- 내장된 “지능”- 저가의 H/W
- 고객중심- 마이크로프로세서 출현
- 강력한 DeskTop
- 객체지향기술- 전문가 시스템- 인공지능망- 병렬컴퓨팅-N/W 컴퓨터
다시 소프트웨어 공학으로…
4) S/W 위기의 원인 - S/W 특성에 대한 이해의 부족 - S/W 프로그래밍에만 치중하고 관리의 부재
무형 (intangible) : 사실은 집 짖는 일과 동일하나 형체가 없음 진화 (evolution) : 유기체와 같이 변하므로 효과적인 관리필요 비소멸성 : bathtub curve, 교환 불가 (patch pgm 으로 해결 ) 제조가 아닌 개발 (developed / not manufactured)
Failure Curve for S/W
Failu
re rate
Time
Change
Ideal curve
소프트웨어의 특성
. 소프트웨어공학 특성
Coder 는 잉여력을 이용하여 공부해야 하는가 ?
• 돈 많이 벌려면 그래야지• 그래야 소고기 사먹겠지• 소고기 사먹으면 또 공부 해야 겠지• 그래야 소고기 사먹겠지• 안 하면 닭고기 먹어야지• 그래도 안 하면 치킨집 열어야지 .
S/W 미래는 ?
• 생활 밀착형 지식 플랫폼으로 확장• 1 차 산업 혁명 자본을 시작으로 자생에서 협력으로 발전 분업으로 시작• 2 차 산업 혁명 증기기관 발명• 3 차 산업 혁명• 3D Printer 와 S/W 발명Makers
다음은 ? Next Plan
• Node.js 기술에 대하여• 개발 (coding) 과 문서화에 대한 생각의
변화• 개발 (coding) 방법의 변화 (Change) Model 기반 패턴 주도 개발법
오늘의 주제는• 기술 S/W 기술이 변화 하고 있다 .• 변화 생각이 변하면 행동이 변하고 사람이 변한다 .• 사람 우리는 이 세상에서 가장 창의적인 사람들이고 Cre-ative 를 위해선 놀아야 한다 . 일 하지 말고 놀자 . 놀면 된다 .
가합인족• 자강불식 후덕재물• http://hellodd.com/news/article.html?no=33270
• 중국 최고의 명문 대는 ?
시연• https://www.facebook.com/quark.woo• http://nodejs.org/• https://github.com/yui• http://yui.github.io/yuidoc/
1. Run
2. Process
3. Result( 프로그램 목록 )
4. API Documentation
• SQL, PL/SQL .xml (ibatis or mybatis)• Javadoc• Miplatform or Xplatform (X-internet)
5. API Documentaion(1/2)
5. API Documentaion(2/2)
6. 주석 달기
• http://yui.github.io/yuidoc/syntax/index.html
별첨 1. Node js 설치
별첨 2. Yuidoc 설치• Installation and
Usage• Download and install
Node.js• Run npm -g install
yuidocjs.• Run yuidoc . at the
top of your JS source tree.
YUI Doc 사용법: http://yui.github.io/yuidoc/args/index.html