대분류/20
정보통신
중분류/01
정보기술
소분류/02
정보기술개발
세분류/02
응용SW엔지니어링
능력단위/29
NCS학습모듈
소프트웨어개발 방법론
활용
LM2001020229_16v4
[NCS-학습모듈의 위치]
대분류
정보 통신
중분류
정보 기술
소분류
정보 기술 개발
세분류
SW아키텍처
능력단위
학습모듈명
응용SW
엔지니어링
요구사항 확인
요구사항 확인
임베디드SW
엔지니어링
데이터 입출력 구현
데이터 입출력 구현
DB엔지니어링
통합 구현
통합 구현
NW엔지니어링
정보시스템 이행
정보시스템 이행
보안엔지니어링
제품소프트웨어 패키징
제품소프트웨어 패키징
UI/UX엔지니어링
서버프로그램 구현
서버프로그램 구현
시스템SW
엔지니어링
인터페이스 구현
인터페이스 구현
빅데이터
플랫폼구축
애플리케이션 배포
애플리케이션 배포
핀테크
엔지니어링
프로그래밍 언어 활용
프로그래밍 언어 활용
데이터아키텍트
응용 SW 기초 기술 활용
응용 SW 기초 기술 활용
애플리케이션 리팩토링
애플리케이션 리팩토링
인터페이스 설계
인터페이스 설계
애플리케이션 요구사항 분석
애플리케이션 요구사항 분석
기능 모델링
기능 모델링
애플리케이션 설계
애플리케이션 설계
정적모델 설계
정적모델 설계
동적모델 설계
동적모델 설계
화면 설계
화면 설계
화면 구현
화면 구현
애플리케이션 테스트 관리
애플리케이션 테스트 관리
애플리케이션 테스트 수행
애플리케이션 테스트 수행
소프트웨어공학 활용
소프트웨어공학 활용
소프트웨어개발 방법론 활용
소프트웨어개발 방법론 활용
차 례
학습모듈의 개요
1
학습 1. 소프트웨어개발 방법론 선정하기
1-1. 응용 소프트웨어 특성 작성
3
1-2. 개발 방법론 선정
15
• 교수・학습 방법
26
• 평가
27
학습 2. 소프트웨어개발 방법론 테일러링하기
2-1. 개발 방법론 결정
30
2-2. 작성 산출물 적용
51
• 교수・학습 방법
69
• 평가
70
참고 자료
73
활용 서식
74
1
소프트웨어개발 방법론 활용 학습모듈의 개요
학습모듈의 목표
응용 소프트웨어 특성에 따라 정형화된 개발방법론을 선정하고, 프로젝트 특성에 맞도록 테일러링
하여 응용 소프트웨어 개발에 활용할 수 있다.
선수학습
애플리케이션 테스트 수행(LM2001020227_16v4), 화면 구현(2001020225_16v4), 애플리케이션 테스트
관리(2001020226_16v4), 화면 설계(2001020224_16v4)
학습모듈의 내용체계
학습
학습 내용
NCS 능력단위 요소
코드번호
요소 명칭
1. 소프트웨어개발
방법론 선정하기
1-1. 응용 소프트웨어 특성 작성
2001020229_16v4.1
소프트웨어개발
방법론 선정하기
1-2. 개발 방법론 선정
2. 소프트웨어개발
방법론테일러링하기
2-1. 개발 방법론 결정
2001020229_16v4.2
소프트웨어개발
방법론 테일러링하기
2-2. 작성 산출물 적용
핵심 용어
응용 소프트웨어 특성 작성, 개발 방법론 선정, 개발 방법론 결정, 작성 산출물 적용, 소프트웨
어개발 방법론 테일러링하기
3
학습 1 소프트웨어개발 방법론 선정하기
학습 2
소프트웨어개발 방법론 테일러링하기
1-1. 응용 소프트웨어 특성 작성
학습 목표
• 개발하여야 할 응용 소프트웨어의 특성을 파악하여 정형화된 개발 방법론 선정 기준
으로 활용할 수 있다.
필요 지식 /
상용 소프트웨어
1. 개요
응용 소프트웨어는 정부에서 2016년 9월 6일 발표한 상용 소프트웨어 백서에 의하면 상용
소프트웨어의 산업 범용 소프트웨어에 속한다.
2. 상용 소프트웨어의 분류
상용 소프트웨어는 산업 범용 소프트웨어와 산업 특화 소프트웨어로 구분된다. 산업 범용
소프트웨어는 시스템 소프트웨어, 미들웨어, 응용 소프트웨어로 구분되고, 산업 특화 소프
트웨어는 자동차 등 13개로 구분된다. 응용 소프트웨어는 산업 범용 소프트웨어이다.
3. 상용 소프트웨어의 종류
상용 소프트웨어는 국내외 시장 상황을 반영하여 소분류를 기준으로 126개로 나뉜다. 대분
류 16개(범용3·특화13) 중분류 46개(범용16·특화30) 소분류 126개(범용60·특화66)이다.
[그림 1-1] 상용 소프트웨어의 분류
4
응용 소프트웨어
1. 응용 소프트웨어의 개요
응용 소프트웨어는 특정한 업무를 처리하기 위한 목적을 가지고 작성된 프로그램과 데이
터로 구성된다. 응용 소프트웨어는 산업 범용 소프트웨어의 대분류이며, 중분류는 6개이
고, 소분류는 23개이다. 응용 소프트웨어는 응용 솔루션 및 서비스 기술이다.
2. 응용 소프트웨어의 중분류
응용 소프트웨어의 중분류는 기업용 소프트웨어, 영상 처리, CG/VR, 콘텐츠 배포, 자연어
처리, 음성 처리로 분류된다.
[그림 1-2] 응용 소프트웨어의 분류
응용 소프트웨어의 종류별 특성
1. 응용 소프트웨어의 종류
응용 소프트웨어는 기업용 소프트웨어, 영상 처리, CG/VR, 콘텐츠 배포, 자연어 처리, 음
성 처리로 분류된다. 기업용 소프트웨어는 오피스웨어, ERP, SCM, BI, CRM 등이며, 클라
우드, 모바일, 빅데이터의 기술과 융합되어 발전하고 있다.
5
분류
소프트웨어 종류
기업용 소프트웨어
오피스웨어, ERP, SCM, BI, CRM 소프트웨어 (5종)
영상 처리 소프트웨어
영상 인식과 분석, 영상 코덱과 스트리밍,
영상 저작·편집·합성 소프트웨어 (3종)
CG/VR 소프트웨어
3D 스캐닝과 프린팅, 모델링·애니메이션·랜더링,
가상 현실과 증강 현실, 홀로그램, 가상 시뮬레이션 소프트웨어 (5종)
콘텐츠 배포 소프트웨어
콘텐츠 보호, 콘텐츠 관리, 콘텐츠 유통 소프트웨어 (3종)
자연어 처리 소프트웨어
정보 검색과 질의응답, 의사 결정 지원, 언어 분석과 변환,
대화 처리 소프트웨어 (4종)
음성 처리 소프트웨어
음성 인식, 음성 합성, 음향 처리 소프트웨어 (3종)
출처: 과학기술정보통신부 보도자료 (2016. 9. 6.). “상용 소프트웨어 현재와 미래 조망” p.4.
<표 1-1> 응용 소프트웨어의 분류와 종류
1. 응용 소프트웨어의 특성
(1) 기업용 소프트웨어의 특성
기업용 소프트웨어는 오피스웨어, ERP, SCM, BI, CRM 등이다. 기업의 경영 활동을 지
원하여 업무를 수행할 수 있는 소프트웨어다.
(2) 영상 처리 소프트웨어의 특성
영상 처리 소프트웨어는 다양한 목적으로 설계된 디지털 영상을 처리한다. 영상을 저
작, 편집, 효과, 합성, 복원, 전송 및 저장 환경을 실현하는 특성이 있다.
(3) CG/VR 소프트웨어의 특성
CG/VR 소프트웨어는 시간과 공간에 흩어져 있는 각종 감지기를 통해 획득한 3D 정보
를 비전과 컴퓨터 그래픽을 통해 처리한다. 현실 정보와 가상 정보를 혼합하여 정보
확대, 초다시점, 홀로그램, 시뮬레이션 및 실감 환경을 제공하는 콘텐츠 기술이다.
(4) 콘텐츠 배포 소프트웨어의 특성
콘텐츠 배포 소프트웨어는 음악, 영상, 출판물과 같은 콘텐츠를 제작하여 유통사에게
배포한다. 최종 사용자에게 콘텐츠를 투명하고 안전하게 유통할 수 있도록 콘텐츠를
보호하고 관리할 수 있는 서비스 구조이다.
(5) 자연어 처리 소프트웨어의 특성
자연어 처리 소프트웨어는 언어에 대해 기계적으로 분석, 이해, 생성을 다루는 기술이다.
정보 검색과 질의응답, 의사 결정 지원, 언어 분석과 변환, 대화 처리의 특성을 지닌다.
(6) 음성 처리 소프트웨어의 특성
음성 처리 소프트웨어는 인간의 말을 기계적으로 분석 및 인식하는 음성 인식 기술이
다. 음성 합성 기술은 문자로부터 인간의 말을 합성하여 들려주는 기술이다. 음향 처리
기술은 입력된 음성으로부터 소음 제거, 말하는 사람의 위치 추적 등을 하는 기술이다.
6
수행 내용 / 응용 소프트웨어 특성 작성하기
재료·자료
• 상용 소프트웨어 현재와 미래 조망. 2016년 9월 6일. 과학기술정보통신부.
• 글로벌 상용 소프트웨어 백서. 2016년 9월 6일. 정보통신기술진흥센터.
기기(장비 ・ 공구)
• 컴퓨터, 빔 프로젝트, 화이트보드
• UML(Unified Modeling Language) 도구 등
안전 ・ 유의 사항
• 응용 소프트웨어 특성 작성하기는 상용 소프트웨어, 산업 범용 소프트웨어, 응용 소프트웨
어의 각각의 분류 체계에 대하여 알아야 한다.
• 응용 소프트웨어 특성에 맞는 방법론을 선정해야 하므로 개발해야할 응용 소프트웨어의
특성에 대하여 알아야 한다.
수행 순서
응용 소프트웨어 분류체계를 정리하기 위한 절차를 파악한다.
개발하여야 할 응용 소프트웨어의 특성을 파악하여 정형화된 개발 방법론 선정 기준으로
활용하기 위한 절차는 다음과 같다.
[그림 1-3] 응용 소프트웨어의 특성 작성하기 흐름도
7
산업 범용 소프트웨어와 산업 특화 소프트웨어의 분류 체계를 파악하고, 응용 소프트웨어
의 분류 체계와 종류를 파악한다.
1. 산업 범용 소프트웨어의 분류 체계를 파악한다.
산업 범용 소프트웨어는 시스템 소프트웨어, 미들웨어, 응용 소프트웨어로 구분한다. 소분
류는 시스템 소프트웨어가 20개, 미들웨어가 17개, 응용 소프트웨어가 23개로 60개이다.
(1) 시스템 소프트웨어의 분류 체계를 파악한다.
시스템 소프트웨어는 운영체계, 데이터 관리, 스토리지 소프트웨어, 소프트웨어공학 도
구, 가상화 소프트웨어, 시스템 보안 소프트웨어로 구분한다.
중분류
소분류
운영체계
임베디드와 리얼타임 운영체계, 모바일 운영체계,
PC와 서버 운영체계
데이터 관리
DBMS, 데이터 통합, 빅데이터 관리, 데이터 분석
스토리지 소프트웨어
파일 시스템, 데이터 백업, 스토리지 아카이빙
소프트웨어공학 도구
프로그래밍 언어, 시험 품질 검증, 소프트웨어개발 도구
가상화 소프트웨어
서버와 PC 하이퍼바이저, 임베디드 하이퍼바이저,
자원 가상화, 애플리케이션 가상화
시스템 보안
인증과 암호, 접근 제어, 침입 탐지 및 방어
출처: 과학기술정보통신부 보도자료(2016. 9. 6), “상용 소프트웨어 현재와 미래 조망”에서 재수정
<표 1-2> 시스템 소프트웨어 분류 체계
(2) 미들웨어의 분류 체계를 파악한다.
미들웨어는 분산 시스템 소프트웨어, IT 자원 관리, 서비스 플랫폼, 네트워크 보안 소
프트웨어로 구분한다.
중분류
소분류
분산 시스템
소프트웨어
웹 애플리케이션 서버, 연계 통합 솔루션, 실시간 데이터 처리,
분산 병렬 처리, TP 모니터
IT 자원 관리
네트워크 관리, 시스템 관리, SW 실행 관리, IT 서비스 운영
관리
서비스 플랫폼
IoT 플랫폼, 클라우드 서비스, UX/UI 프레임워크, CDN
네트워크 보안
접근 제어, 보안 통신, 침입 방지, 보안 관리
출처: 과학기술정보통신부 보도자료(2016. 9. 6), “상용 소프트웨어 현재와 미래 조망 정리”
<표 1-3> 미들웨어의 소프트웨어 분류 체계
8
(3) 응용 소프트웨어의 분류 체계를 파악한다.
응용 소프트웨어는 영상 처리, CG/VR, 콘텐츠 배포, 자연어 처리, 음성 처리, 기업용
소프트웨어로 구분한다.
중분류
소분류
영상 처리
영상 인식/분석, 영상 코덱/스트리밍, 영상 저작/편집/합성
CG/VR
3D 스캐닝/프린팅, 모델링/애니메이션/랜더링,
가상 현실/증강 현실, 홀로그램/Stereoscopic 3D, 가상 시뮬레이션
콘텐츠 배포
콘텐츠 보호, 콘텐츠 관리, 콘텐츠 유통
자연어 처리
정보 검색/질의응답, 의사 결정 지원, 언어 분석/변환, 대화 처리
음성 처리
음성 인식, 음성 합성, 음향 처리
기업용 소프트웨어
오피스웨어, ERP, SCM, BI, CRM
출처: 과학기술정보통신부 보도자료(2016. 9. 6), “상용 소프트웨어 현재와 미래 조망”에서 재수정
<표 1-4> 응용 소프트웨어의 분류 체계
2. 산업 특화 소프트웨어의 분류 체계를 파악한다.
산업 특화 소프트웨어는 자동차, 항공, 패션 의류, 조선, 건설, 농업, 의료, 국방, 게임, 공
공, 교육, 물류, 인터넷 서비스로 구분한다. 소분류는 편의 장치 SW가 1개, 안전 장치 SW
가 1개, 커넥티드 SW가 2개, 개발 검증 SW가 2개, 비행 운용 SW가 4개, 항공 시스템 SW
가 4개, 패션/의류 제조가 3개, 솔루션 매니지먼트가 2개, 조선이 3개, 건설이 4개, 스마트
원예가 4개, 스마트 축산이 3개, 스마트 유통 경영이 3개, 병원 정보시스템이 1개,
u-Health 서비스가 1개, 무기 체계가 2개, 전력 지원 체계가 1개, 게임 툴이 2개, 게임 미
들웨어가 2개, 공공 안전이 1개, 생활 안전이 2개, 산업 안전이 1개, 콘텐츠 저작 도구가
1개, 학습 관리 시스템이 1개, 서비스 플랫폼이 2개, SCM이 2개, 해운이 2개, 항만이 2개,
항공이 2개, 인터넷 서비스가 5개로 66개이다.
9
대분류
중분류
소분류
자동차
편의 장치 SW
인포테인먼트 SW 플랫폼/도구
안전 장치 SW
전장 SW 플랫폼/도구
커넥티드 SW
차량내부 통신 SW, 차량외부 통신 SW
개발 검증 SW
설계개발 SW, 시험평가 SW
항공
비행 운용 SW
임무제어 비행운용프로그램, 시현 비행운용프로그램,
비행제어 비행운용프로그램, 비행관리시스템 프로그램
항공 시스템 SW
항공표준 실시간 운영체제, 항공표준 기능지원 미들웨어,
항공소프트웨어 개발환경, 통합시험장치 SW
패션의류
패션/의류 제조
기획/디자인, 디자인 입력/출력, 3D/CAD/Visualizing
솔루션 매니지먼트
가상솔루션 매니지먼트
조선
조선
설계SW, 시뮬레이션SW, 운영SW
건설
건설
계획설계, 구조설계, 시공, U-City
농업
스마트 원예
식물병 측정, 식물병 진단, 식물공장 시스템, 식물 육종
스마트 축산
생산이력 시스템, 양돈생산•경영관리, 자동착유 시스템
스마트 유통 경영
공급사슬 관리정보, 전자상거래, 스마트 농업경영 시스템
의료
병원 정보시스템
OCS/EMR, PACS
u-Health 서비스
u-Health
국방
무기 체계
무기체계 내장형 SW, 전장관리 정보체계 SW
전력 지원 체계
M&S 체계 SW
게임
게임 툴
게임관리 툴, 게임 리소스 툴
게임 미들웨어
게임 엔진, 게임 미들웨어
공공
공공 안전
재난재해 예방 및 대처
생활 안전
범죄치안, 의료복지
산업 안전
환경 에너지
교육
콘텐츠 저작 도구
교육 콘텐츠 저작 도구
학습 관리 시스템
학습 관리 시스템
서비스 플랫폼
교육 콘텐츠 유통 플랫폼, 교육 콘텐츠 서비스
물류
SCM
Supply Chain Planning, Supply Chain Execution
해운
Container Carrier Operation System,
Bulk Carrier Operation System
항만
Terminal Operating System, Terminal Automation System
항공
Airport Information System, Airline System
인터넷
서비스
인터넷 서비스
정보 및 검색 서비스, 전자상거래, 소셜미디어, 협력 도구,
사물인터넷 서비스
출처: 과학기술정보통신부 보도자료(2016. 9. 6), “상용 소프트웨어 현재와 미래 조망”에서 재수정
<표 1-5> 산업 특화 소프트웨어의 분류 체계
10
3. 응용 소프트웨어의 분류 체계와 종류를 파악한다.
응용 소프트웨어는 산업 범용 소프트웨어의 대분류이며, 중분류와 소분류로 구분한다.
대분류
중분류
소분류
응용 소프트웨어
영상 처리
영상 인식/ 분석
영상 코덱/ 스트리밍
영상 저작/ 편집/ 합성
CG/VR
3D 스캐닝/ 프린팅
모델링/ 애니메이션/ 랜더링
가상 현실/ 증강 현실
홀로그램/ Stereoscopic 3D
가상 시뮬레이션
콘텐츠 배포
콘텐츠 보호
콘텐츠 관리
콘텐츠 유통
자연어 처리
정보 검색/ 질의응답
의사 결정 지원
언어 분석/변환
대화 처리
음성 처리
음성 인식
음성 합성
음향 처리
기업용 소프트웨어
오피스웨어
ERP
SCM
BI
CRM
출처: 과학기술정보통신부 보도자료(2016. 9. 6), “상용 소프트웨어 현재와 미래 조망”에서 재수정
<표 1-6> 응용 소프트웨어의 분류 체계와 종류
□
3
응용 소프트웨어의 종류별 기술을 정리하고, 특성을 파악하여, 정형화된 개발 방법론의 선
정 기준으로 활용한다.
1. 응용 소프트웨어의 종류별 기술을 정리한다.
응용 소프트웨어 소분류인 23개 소프트웨어에 대한 기술을 정리한다.
11
소분류
기술
영상 인식/ 분석
획득된 영상 정보를 처리하는 기술
영상 코덱/ 스트리밍
영상 부호화 및 복호화, 재생하는 기술
영상 저작/ 편집/ 합성
영상을 그리고, 다듬고, 배열하는 기술
3D 스캐닝/ 프린팅
3차원 프린터 응용 소프트웨어 기술
모델링/ 애니메이션/ 랜더링
사물 생성, 움직임, 이미지 생성 기술
가상 현실/ 증강 현실
가상과 증강 콘텐츠를 체험하는 기술
홀로그램/ Stereoscopic 3D
입체감과 현실감을 제공하는 기술
가상 시뮬레이션
가상을 현실적인 정보처럼 표현하는 기술
콘텐츠 보호
콘텐츠에 보호 조치를 가하는 기술
콘텐츠 관리
콘텐츠를 체계적으로 관리하는 기술
콘텐츠 유통
콘텐츠를 보급 및 판매 서비스 기술
정보 검색/ 질의응답
정보를 찾아내고, 질문에 답하는 기술
의사 결정 지원
컴퓨터 기반 의사를 결정하는 기술
언어 분석/변환
자동으로 번역 및 통역하는 기술
대화 처리
대화를 수행하는 데 필요한 기술
음성 인식
음성을 문자로 변환하는 기술
음성 합성
문자를 음성으로 변환하는 기술
음향 처리
소음 제거, 화자 위치 추적하는 기술
오피스웨어
기업의 업무를 지원하는 소프트웨어
ERP
신속한 의사 결정을 위한 소프트웨어
SCM
공급자를 지원하는 소프트웨어
BI
구성원에게 적시에 의사 결정을 지원
CRM
고객 특성에 기초한 마케팅 활동을 지원
출처: 정보통신기술진흥센터 (2016.9.6.), 상용 소프트웨어 백서의 응용 소프트웨어 P.2~3에서 재수정
<표 1-7> 응용 소프트웨어 소분류의 기술
2. 응용 소프트웨어의 특성을 파악한다.
(1) 영상 처리 소프트웨어의 특성을 파악한다.
영상 처리 소프트웨어의 소분류인 영상 인식과 분석, 영상 코덱과 스트리밍, 영상 저
작과 편집 및 합성하는 소프트웨어의 특성을 파악한다.
소분류
특성
영상 인식과
분석
- 2차원 디지털 정지 영상 및 동영상 형태로 획득된 일반적인 현실 세계를
인간의 시각 정보 인식/분석 능력을 모방하여 파악하고 표현하는 특성
- 영상 정보 형태로 생산하기 위해 처리하는 소프트웨어
영상 코덱과
스트리밍
- 영상 코덱은 동영상의 아날로그 신호를 디지털 신호로 변환·역 변환
하는 기술
- 영상 스트리밍은 영상 코덱으로 부호화한 정지 영상 혹은 동영상 데이
터를 전송하고 복호화하여 재생하는 방식을 지원하는 소프트웨어
영상 저작과
편집, 합성
- 동영상 데이터에 대해 새로운 데이터를 생성/수정하거나, 서로 다른 두
데이터의 공간상 배치를 자연스럽게 하는 합성하는 기술
- 동영상은 클립에 대하여 일부를 잘라 내거나 붙이고 음향 효과를 적용
하는 소프트웨어
출처: 정보통신기술진흥센터 (2016.9.6.), 상용 소프트웨어 백서의 응용 소프트웨어 P.2
<표 1-8> 영상 처리 소프트웨어의 소분류별 특성
12
(2) CG/VR 소프트웨어의 특성을 파악한다.
CG/VR 소프트웨어의 소분류인 3D스캐닝과 프린팅, 모델링/애니메이션/랜더링, 가상 현
실과 증강 현실, 홀로그램과 3D, 가상 시뮬레이션 소프트웨어의 특성을 파악한다.
소분류
특성
3D 스캐닝과
프린팅
언제 어디서나 누구나 손쉽게 다양한 3D 모델을
생성/저작/편집/출력할 수 있는 3D 프린터 응용 S/W 및 서비스
모델링/
애니메이션
컴퓨터를 이용하여 가상의 이미지를 생성하는 컴퓨터 그래픽 기술
가상현실과
증강현실
- 시각·청각·촉각 등 인간의 오감을 활용한 상호 작용을 컴퓨터를
이용하여 모방 구축한 가상현실 및 증강현실 공간 내에서,
사용자가 느끼는 공간적, 시간적, 물리적 제약을 해결함
- 현실 세계에서는 직접 경험하지 못하는 상황을 체험할 수 있는
체감형 콘텐츠를 표현하고 운용
홀로그램과
Stereoscopic 3D
- 실제 사물을 보는 것과 유사한 입체감과 현실감을 제공하는 인간
친화형 실감 영상 기술
- 양안식 3D 영상과 달리 안경 착용이 필요 없고 시각 피로와 공간
왜곡이 없는 3D 입체 영상 효과 구현
가상 시뮬레이션
- 실세계의 다양한 현상을 컴퓨터를 기반으로 해석하여 가상
현실상에서 재현하는 기술
- 다양한 조건의 실험 결과를 사전에 예측해 내는 데 활용
출처: 정보통신기술진흥센터 (2016.9.6.), 상용 소프트웨어백서의 응용 소프트웨어 P.2
<표 1-9> CG/VR 소프트웨어의 소분류별 특성
(3) 콘텐츠 배포 소프트웨어의 특성을 파악한다.
콘텐츠 배포 소프트웨어의 소분류인 콘텐츠 보호, 콘텐츠 관리, 콘텐츠 유통 소프트웨
어의 특성을 파악한다.
소분류
특성
콘텐츠 보호
- 콘텐츠의 불법 복제나 저작권 침해를 예방하기 위해 콘텐츠에 대해
취하는 보호 조치 기술
- 디지털 콘텐츠의 유통에 대비하는 목적
콘텐츠 관리
콘텐츠의 체계적인 관리를 위해 각각의 콘텐츠에 식별 가능한 코드를
부여하여 관리하는 기술
콘텐츠 유통
- 콘텐츠 유통사들이 콘텐츠를 서비스하기 위해 콘텐츠를 유통하는 기술
- 유통은 콘텐츠를 제작자로부터 소비자에게 전달하는 과정
출처: 정보통신기술진흥센터 (2016.9.6.), 상용 소프트웨어백서의 응용 소프트웨어 P.2~3
<표 1-10> 콘텐츠 배포 소프트웨어의 소분류별 특성
13
(4) 자연어 처리 소프트웨어의 특성을 파악한다.
자연어 처리 소프트웨어의 소분류인 정보 검색과 질의응답, 의사 결정 지원, 언어 분
석과 변환, 대화 처리 소프트웨어의 특성을 파악한다.
소분류
특성
정보검색과
질의응답
- 정보 검색은 정보 집합에서 사용자가 원하는 내용을 얻어내는 기술
- 질의응답은 사용자의 자연어 질문에 대하여 알맞은 답변을 제공하는 기술
의사결정
지원
- 의사결정 활동인 사업이나 조직의 계획, 운영, 관리 및 문제 해결을 지
원하기 위한 컴퓨터기반 정보처리 기술
언어분석과
변환
- 언어분석은 언어에 대한 형태소/구문/의미 등을 분석하는 기술
- 언어변환은 의사소통 문제를 해결하기 위해 원천 언어의 음성/텍스트를
목적 언어의 음성/텍스트로 자동 번역 및 통역하는 기술
대화처리
- 특정 목적을 위해서 필요한 정보를 사용자로부터 받기 위해서 사용자
와 자연스러운 대화를 수행하는 데 필요한 기술
출처: 정보통신기술진흥센터 (2016.9.6.), 상용 소프트웨어 백서의 응용 소프트웨어 P.3
<표 1-11> 자연어 처리 소프트웨어의 소분류별 특성
(5) 음성 처리 소프트웨어의 특성을 파악한다.
음성 처리 소프트웨어의 소분류인 음성 인식, 음성 합성, 음향 처리 소프트웨어의 특
성을 파악한다.
소분류
특성
음성 인식
- 인간의 음성을 문자로 변환하는 기술
- 기술의 발달로 대용량 연속 음성 인식이 가능한 일반적인 음성 인식 기
술
음성 합성
- 문자를 음성으로 변환하는 기술
- 입력 문장을 분석하는 전처리 파트인 언어 분석을 통해서 음편의 열, 인
토네이션, 길이 등의 운율 정보를 표현하는 기호로 변경하는 과정과 이
를 이용하여 음성 파형을 생성하는 기술
음향 처리
- 소음을 제거하거나 말하는 인간의 위치를 확인하는 기술
- 마이크를 배열하고 각 마이크로부터 입력된 음성으로부터 소음 제거 및
말하는 인간의 위치를 추적하는 기술
출처: 정보통신기술진흥센터 (2016.9.6.), 상용 소프트웨어 백서의 응용 소프트웨어 P.3
<표 1-12> 음성 처리 소프트웨어의 소분류별 특성
14
(6) 기업용 소프트웨어의 특성을 파악한다.
기업용 소프트웨어의 소분류인 오피스웨어, ERP, SCM, BI, CRM의 특성을 파악한다.
소분류
특성
오피스웨어
- 워드 프로세서, 프레젠테이션, 스프레드시트 등의 업무용 오피스 소프트
웨어와 그룹웨어를 포함하는 기업용 소프트웨어
ERP
- 경영 활동 프로세스들을 통합적으로 연계해서 관리하는 소프트웨어
- 기업에서 발생하는 정보들을 서로 공유하고 새로운 정보의 생성과 신속
한 의사 결정을 도와줌으로써 전사적으로 자원을 관리
SCM
- 부품업자로부터 생산자, 배포자, 고객에 이르는 물류의 흐름을 하나의 가치
사슬 관점에서 파악하고, 필요한 정보가 원활히 흐르도록 지원하는 기술
BI
- 기업에서 데이터를 수집, 정리, 분석하고 활용하여 각 조직의 구성원에게
적시에 의사 결정을 할 수 있도록 지원하는 기술
CRM
- 신규 고객을 획득하거나 기존 고객 유지 및 수익성 증대를 목적으로 고
객 관련 자료를 분석하여 고객 특성에 기초한 마케팅 활동을 지원하는
기술
출처: 정보통신기술진흥센터 (2016.9.6.), 상용 소프트웨어 백서의 응용 소프트웨어 P.3
<표 1-13> 기업용 소프트웨어의 소분류별 특성
3. 기업용 소프트웨어의 특성을 파악하여 개발 방법론의 선정 기준으로 활용한다.
응용 소프트웨어 중에서 기업용 소프트웨어의 특성만을 파악하여 정형화된 개발 방법론의
선정 기준으로 활용한다.
소분류
특성
방법론의 선정 기준
오피스웨어
업무용 오피스 소프트웨어와 그룹웨어로 워드
프로세서, 프레젠테이션, 스프레드시트 등
조직의 업무 활동을 지원
ERP
생산, 물류, 재무, 회계, 영업, 구매, 재고 관리
를 위한 소프트웨어
신속하고 정확한 의사 결정
SCM
부품 공급 사슬인 공급자, 생산자, 분배자, 소비
자의 물류를 위한 소프트웨어
부품 공급자를 지원
BI
기업의 구성원인 최고 경영자, 임원, 중간 관리
자, 실무자의 의사 결정을 위한 정보 제공
적절한 시기에 의사 결정
CRM
기존 고객 유지, 신규 고객 획득, 고객 만족을
통해 기업의 이윤 창출을 위한 소프트웨어
고객 만족 마케팅 활동
출처: 정보통신기술진흥센터 (2016.9.6.), 상용 소프트웨어 백서의 응용 소프트웨어 P.3
<표 1-14> 기업용 소프트웨어의 특성과 선정 기준
수행 tip
• 응용 소프트웨어는 산업범용 소프트웨어의 중분류에
해당한다.
15
1-2. 개발방법론 선정
학습 목표
• 정형화된 개발방법론의 특징을 고려하여 응용 소프트웨어 특성에 맞는 개발방법론을
선정할 수 있다.
필요 지식 /
소프트웨어개발 방법론
1. 개요
소프트웨어개발 방법론은 소프트웨어 개발 전 과정에 지속적으로 적용할 수 있는 방법,
절차, 기법 등 이다. 소프트웨어를 하나의 생명체로 간주하고 소프트웨어 개발의 시작부터
시스템을 사용하지 않는 과정까지의 전 과정을 형상화한 것이다. 정보시스템을 개발하는
절차와 개발 단계의 반복 현상이다. 일명 시스템 개발 주기라고도 한다.
2. 목적
소프트웨어개발 방법론은 소프트웨어를 개발함에 있어 생산성과 소프트웨어 품질을 향상
시키는데 목적이 있다. 이를 위한 방안으로 소프트웨어 공학이 등장했다. 소프트웨어 공학
에서 가장 많이 활용하는 것이 소프트웨어개발 방법론이다.
3. 종류
세대
구분
내용
1970년대
구조적 방법론
구조화 프로그래밍
1980년대
정보공학 방법론
관리 절차와 작업 기법을 체계화
1990년대
객체지향 방법론
데이터와 그 데이터에 관련되는 동작을 모두 포함
2000년대
컴포넌트 기반 방법론 컴포넌트를 조립해서 새로운 응용 프로그램을 작성
2000년대
Agile 방법론
요구사항, 설계, 구현, 테스트의 과정으로 개발
2010년대
제품 계열 방법론
특정 제품에 수용하고 싶은 공통된 기능을 정의
출처: 소프트웨어개발 방법론 https://ko.wikipedia.org에서 2017. 6.13 검색
<표 1-15> 소프트웨어개발 방법론의 종류
소프트웨어개발 방법론의 특징과 절차
1. 소프트웨어개발 방법론의 특징
(1) 구조적 방법론
구조적 방법론(Structured Programming)은 1970년대까지 가장 많이 적용되었던 소프트
웨어개발 방법론이다. 구조화 프로그래밍 또는 구조적인 프로그램 작성이라 한다. 목
적은 쉽게 이해할 수 있고 검증할 수 있는 프로그램의 부호를 생성하는 것이다.
16
(2) 정보공학 방법론
정보공학 방법론은 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방
법론이다. 소프트웨어공학의 기술 발전에 따라 활용하기 위한 개발 방법론이다. 개발
주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론이다.
(3) 객체지향 방법론
객체지향 방법론은 데이터와 그 데이터에 관련되는 동작을 모두 포함하는 방법론이다.
데이터는 실체이고, 동작은 절차, 방법, 기능을 의미한다. 객체지향 방법론은 정보시스
템과 데이터베이스를 설계하는 방법론이다.
(4) 컴포넌트 기반 방법론
컴포넌트 기반 방법론은 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운
응용 프로그램을 작성하는 방법론이다. 이때 컴포넌트는 원하는 데이터베이스와 소프트
웨어의 개발된 모듈 단위를 가리킨다. 모듈은 기능을 구현하기 위한 최소의 단위이다.
(5) 애자일(Agile) 방법론
애자일 방법론은 2000년 이후 등장하였다. 사용자의 요구사항이 빈번하게 변경됨에 따
라 새로운 방법론이 필요하게 되었다. 요구사항, 설계, 구현, 시험의 단계를 통해 개발
하는 방법론이다. 소프트웨어 개발 경험이 없는 사용자도 어느 정도 요구사항을 만들
수 있다. 애자일은 개발 과정의 어려움을 극복하기 위해 적극적으로 모색한 방법론으
로 개발자들로부터 호평을 받고 있다.
(6) 제품 계열 방법론
제품 계열 방법론은 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법
론이다. 임베디드 소프트웨어를 작성하는 데 유용한 방법론이다. 영역공학과 응용공학으
로 구분된다. 영역공학은 영역 분석, 영역 설계, 핵심 자산을 구현하는 영역이고, 응용공
학은 제품 요구 분석, 제품 설계, 제품을 구현하는 영역이다. 영역공학과 응용공학을 연
계시키기 위한 제품의 요구사항, 제품의 아키텍처, 제품의 조립 생산이 필요하다.
2. 소프트웨어개발 방법론의 절차
소프트웨어개발 방법론의 절차는 ‘소프트웨어 사업대가의 기준’에 의하면 분석, 설계,
구현, 시험의 과정이다. 분석 단계에서는 개발 준비, 시스템 요구사항 분석, 소프트웨어
요구사항 분석을 한다. 설계 단계에서는 시스템 설계, 소프트웨어 구조 설계, 소프트웨어
상세 설계를 한다. 구현 단계에서는 소프트웨어 코딩 및 단위 시험을 한다. 시험 단계에서
는 소프트웨어 통합, 소프트웨어 자격 시험, 시스템 통합, 시스템 자격 시험, 소프트웨어
설치, 소프트웨어 인수 지원을 한다.
17
절차
내용
분석
개발 준비
시스템 요구사항 분석
소프트웨어 요구사항 분석
설계
시스템 설계
소프트웨어 구조 설계
소프트웨어 상세 설계
구현
소프트웨어 코딩 및 단위 시험
시험
소프트웨어 통합
소프트웨어 자격 시험
시스템 통합
시스템 자격 시험
소프트웨어 설치
소프트웨어 인수 지원
출처: 지식경제부(2010, 2. 26) 소프트웨어 사업대가의 기준. 별표3
<표 1-16> 소프트웨어개발 방법론의 절차
□
3
소프트웨어 사업비의 종류
비용 산정 기준은 소프트웨어 사업대가의 기준을 따른다. 소프트웨어산업 진흥법의 규정
에 따라 국가 기관 등이 소프트웨어 사업의 예산 수립, 사업 발주, 계약 시의 적정한 원가
계산 업무 시 활용한다. 기준에서 구분하고 있는 비용의 종류는 다음과 같다.
종류
내용
정보 전략 계획 수립
비용
본격적인 시스템 통합 사업의 추진에 앞서 필요성 및 타당성 분석을 통
해 정보화 추진을 위한 계획을 수립하는 업무에 대한 비용
소프트웨어 개발
비용
기능 점수 방식과 투입 인력의 수와 기간에 의한 방식으로 산정
(1) 기능 점수 방식은 사용자의 기능 요구사항을 논리적 관점으로 식별하
여 소프트웨어의 규모를 측정하는 방식임. 정보 전략 계획 수립 등을
통해 측정할 수 있음.(기능 단위는 소프트웨어의 기능 규모를 표현하는
단위)
(2) 투입 인력의 수와 기간에 의한 방식은 수주자가 사업 기간 동안 실제 투
입하는 기술자 등급 및 자격 기준과 실제 투입 기간에 따라 산정하는 방
식
소프트웨어 재개발
비용
- 개발된 소프트웨어의 일부를 다시 개발하는 비용
- 업무량 또는 산정된 비용이 유지 보수의 범위를 초과하는 비용
데이터베이스 구축
비용
원시 자료를 이용자에게 유용한 정보 형태로 가공ㆍ제작하는 일련의 작
업 과정에 대한 비용
시스템 운용 환경
구축 비용
소프트웨어 개발 단계 중 시험 단계의 시스템 시험 환경과 운용 환경을
구축하는 기본 설계와 실시 설계를 구축하는 비용
소프트웨어 유지 보
수 비용
구매한 소프트웨어를 최적의 상태에서 활용ㆍ유지하기 위해 제공되는 제
품 지원, 기술 지원, 사용자 지원 등의 서비스를 제공하는 비용
출처: 지식경제부(2010, 2. 26) 소프트웨어 사업대가의 기준. 별표3
<표 1-17> 소프트웨어 사업비의 종류
18
수행 내용 / 개발 방법론 선정하기
재료·자료
• 소프트웨어개발 방법론, 2014년, 특허청
• ISO/IEC 12207 모델 (소프트웨어 개발 생명주기 프로세스)
• CMMI(Capability Maturity Model Integration) 모델
• https://ko.wikipedia.org, 소프트웨어개발 방법론, 2017. 6.13 검색
기기(장비 ・ 공구)
• 컴퓨터, 빔 프로젝트, 화이트보드
안전 ・ 유의 사항
• 구조적 방법론, 정보공학 방법론, 객체지향 방법론, 컴포넌트 기반 방법론, 애자일 방법론,
제품 계열 방법론에 절차에 대해서 알아야 한다.
• 개발 방법론 선정을 위한 계획서에 대해서 알아야 하고 평가표를 활용할 줄 알아야 한다.
수행 순서
정형화된 개발 방법론을 선정하기 위한 절차를 파악한다.
정형화된 개발 방법론의 특징을 고려하여 응용 소프트웨어 특성에 맞는 개발 방법론을 선
정하기 위한 절차는 다음과 같다.
[그림 1-4] 개발 방법론 선정하기 흐름도
19
정형화된 개발 방법론의 특징을 고려하여 선정 목표를 정하고, 개발 방법론 선정을 위한
계획을 수립한다.
1. 정형화된 개발 방법론의 특징을 고려하여 선정 목표를 설정한다.
응용 소프트웨어 개발의 목표를 달성하는데 적정한 정형화된 개발 방법론의 특징을 고려
하여 선정 목표를 설정한다. 선정 목표는 타당성과 적정성이다.
(1) 타당성은 개발 절차에 따라 설정한다.
개발 절차
타당성
개발 준비
개발 팀 구성과 테일러링 및 개발 사전 준비의 타당성 설정
분석
요구사항분석, 업무분석, 데이터분석, 아키텍처분석 등의 타당성 설정
설계
아키텍처설계, 응용설계, DB설계, 데이터전환설계 등의 타당성 설정
구현
구현 준비, 개발, 단위 시험, 구현 단계 점검의 타당성 설정
시험
시험, 시험 단계 점검의 타당성 설정
전개
리허설, 전개의 타당성 설정
인도
인수인계, 교육의 타당성 설정
출처: 특허청(2014. 12) 소프트웨어 개발 방법론
<표 1-18> 개발 절차에 따른 타당성
(2) 적정성은 개발 단계별 산출물에 따라 설정한다.
개발 단계
산출물
적정성
개발 준비
팀 구성 계획서, 방법론 테일러링 결과서
적정 여부
분석
인터뷰 계획서, 인터뷰 결과서, 요구사항 정의서,
유스케이스 명세서, 요구사항 추적표,
현행 비즈니스프로세스 정의서, 현행 비즈니스 업무흐름도,
To-Be 비즈니스프로세스 정의서, To-Be 비즈니스 업무흐름도,
현행 데이터 분석서, 현행 표준사전 정의서,
전환대상 업무 및 범위 정의서, 현행 아키텍처 분석서,
총괄 테스트 계획서, 분석단계 점검 결과서,
분석단계 점검 조치결과서
적정 여부
설계
SW아키텍처 설계서, 시스템아키텍처 설계서, 클래스 설계서,
사용자인터페이스 설계서, 컴포넌트 설계서,
인터페이스 설계서, 배치프로그램 설계서,
사용자 인터페이스 웹 구성도, 개념데이터 모델(ERD),
논리데이터 요소정의서, 물리데이터 요소정의서,
논리/물리 엔티티관계 다이어그램(ERD), 표준데이터 사전정
의서, Object 정의서, 데이터베이스 설계서,
데이터 흐름도(DFD), 데이터 검증식(BR) 정의서,
데이터 전환 계획서, 데이터 전환 매핑 정의서,
적정 여부
<표 1-19> 개발 산출물에 따른 적정성
20
2. 개발 방법론 선정을 위한 계획서를 작성한다.
개발 방법론 선정을 위한 계획서는 업무 특성의 분석, 개발 절차에 대한 타당성, 개발 산
출물에 대한 적정성, 개발 기간, 개발 조직과 인력의 구성, 개발 비용 산출과 계획 등을
작성한다.
1. 업무 특성의 분석
2. 개발 절차에 대한 타당성
3. 개발 산출물에 대한 적정성
4. 개발 기간의 분석
5. 개발 조직과 인력 구성
6. 개발 비용 산출과 계획
7. 기타 고려 사항
<표 1-20> 개발 방법론 선정 계획서 작성
□
3
선정을 위한 계획서를 기반으로 정형화된 개발 방법론의 절차를 파악하여 정성과
정량평가를 하고, 응용 소프트웨어 특성에 맞는 개발 방법론을 선정한다.
1. 정형화된 소프트웨어개발 방법론의 절차를 파악한다.
소프트웨어개발 방법론에는 구조적, 정보공학, 객체지향, 컴포넌트 기반, 애자일, 제품 계
열 방법론이 있다.
데이터 전환 프로그램 명세서, 데이터 검증 프로그램 명세서,
데이터정비 계획서, 단위테스트 케이스, 통합테스트 시나리오,
시스템 테스트 시나리오, 사용자 테스트 시나리오,
설계단계 점검 결과서, 설계단계 점검 조치결과서
구현
개발환경 구성 계획서, 프로그램 소스 단위테스트 결과서,
웹접근성 점검 보고서, 웹호환성 점검 보고서,
소스품질 검사 보고서, 보안약점 진단 결과서,
구현단계 점검 결과서, 구현단계 점검 조치결과서
적정 여부
시험
통합테스트 결과서, 사용자테스트 결과서,
시험단계 점검 결과서, 시험단계 점검 조치결과서
적정 여부
전개
전개전 리허설 계획서, 리허설 체크리스트, 리허설 결과서,
시스템 테스트 결과서(리허설), 전개 계획서,
전개 체크리스트, 전개 결과서, 시스템 테스트 결과서(전개)
적정 여부
인도
인수인계 계획서, EA정보, EA연관 정보, 운영자 매뉴얼,
사용자 매뉴얼, 기반운영 매뉴얼,
인수인계 교육 참석자 명단
적정 여부
출처: 특허청(2014. 12) 소프트웨어 개발 방법론, P.132~134
21
(1) 구조적 방법론의 절차를 파악한다.
구조적 방법론은 1970년대까지 가장 많이 적용되었던 소프트웨어개발 방법론이다. 목
적은 쉽게 이해할 수 있고 검증할 수 있는 프로그램 부호를 생성하는 것이다. 구조적
방법론의 절차는 다음과 같다.
(2) 정보공학 방법론의 절차를 파악한다.
정보공학 방법론은 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방
법론이다. 정보시스템 개발 주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론
이다. 정보공학 방법론의 절차는 다음과 같다.
출처 : 소프트웨어개발방법론, https://ko.wikipedia.org에서 2017. 6. 13. 검색 후 재구성
[그림 1-6] 정보공학 방법론의 절차
(3) 객체지향 방법론의 절차를 파악한다.
객체지향 방법론은 데이터와 그 데이터에 관련되는 동작을 모두 포함하는 방법론이다.
데이터는 실체이고, 동작은 절차, 방법, 기능을 의미한다. 객체지향 방법론의 절차는
다음과 같다.
출처 : 소프트웨어개발방법론, https://ko.wikipedia.org에서 2017. 6. 13. 검색 후 재구성
[그림 1-5] 구조적 방법론의 절차
22
(4) 컴포넌트 기반 방법론의 절차를 파악한다.
컴포넌트 기반 방법론은 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운
응용 프로그램을 작성하는 개발 방법론이다. 전통적인 코딩 방식에 의한 개발에서 발
전되어 소프트웨어 구성 단위인 모듈을 미리 파악한다. 응용 업무에 필요한 응용 소프
트웨어를 개발할 때 이 모듈을 조립함으로써 개발한다.
장점으로는 소프트웨어 개발 생산성이 높다는 점, 다른 프로그램과의 호환성 및 이식
성이 우수하다는 점, 유사한 정보 시스템을 구축할 때 재사용이 가능하다는 점, 컴포
넌트 기술을 활용하면 복잡한 정보 시스템을 신속하게 구축할 수 있다는 점, 급변하는
환경에서 표준화된 소프트웨어를 개발하여 신속한 대응을 할 수 있다는 점 등이 있다.
컴포넌트 기반 방법론의 절차는 다음과 같다.
출처 : 소프트웨어개발방법론, https://ko.wikipedia.org에서 2017. 6. 13. 검색 후 재구성
[그림 1-8] 컴포넌트 기반 방법론의 절차
출처 : 소프트웨어개발방법론, https://ko.wikipedia.org에서 2017. 6. 13. 검색 후 재구성
[그림 1-7] 객체지향 방법론의 절차
23
(5) 애자일 방법론의 절차를 파악한다.
애자일(Agile)의 사전적 의미는 ‘날렵한’, ‘민첩한’이다. 애자일 프로세스 모델은
고객의 요구사항을 바로바로 반영하고 상황에 따라 주어지는 문제를 풀어나가는 방법
론이다. 애자일 이전의 전통적인 모델인 폭포수 모델은 프로세스 중심의 방법론으로
산출물 위주이다. 폭포수 모델 방법론은 요구사항의 변화에 유연하게 대처하기 어렵다.
따라서 비교적 변화를 수용하기 쉬운 방법론이 필요하게 되었다. 이것이 익스트림 프
로그래밍(XP: eXtreme Programming), 스크럼(scrum), 크리스털(Crystal)과 같은 방법론
들이다. 애자일 방법론의 절차는 다음과 같다.
출처 : 소프트웨어개발방법론, https://ko.wikipedia.org에서 2017. 6. 13. 검색 후 재구성
[그림 1-9] 애자일 방법론의 절차
(6) 제품 계열 방법론의 절차를 파악한다.
제품 계열 기반 방법론은 제품의 요구사항과 제품의 아키텍처, 제품 조립 생산과 관련
된다. 특정 분야의 영역 지식과 핵심자산의 개선을 필요로 한다. 제품 계열 방법론의
절차는 다음과 같다.
출처 : 소프트웨어개발방법론, https://ko.wikipedia.org에서 2017. 6. 13. 검색 후 재구성
[그림 1-10] 제품 계열 방법론의 절차
24
2. 정형화된 개발 방법론을 평가하기 위한 개인별 평가표를 작성한다.
개인별 평가서는 평가대상 방법론, 개인별 직책, 근무 부서, 평가항목, 정량평가, 정성평가
결과로 구성한다.
개발 방법론 선정을 위한 개인별 평가서
평가 대상 방법론 : O O O 방법론
직책 : 부장 O O O
근무 부서 : 정보화 부서
평가 항목
정량 평가 (매우 적합하다, 매우 적합하지 않다)
정성 평가
5
4
3
2
1
전략 계획
O
공공 기관 활용
개발 준비
O
분석
O
설계
O
구현
O
시험
O
전개
O
인도
O
핵심 자산
O
실행
O
정량 평가 점수
5 × 8 + 4 × 2 = 48 점
검증된 방법론
<표 1-21> 개발 방법론 선정을 위한 개인별 평가서 예시
3. 응용 소프트웨어 특성에 맞는 정형화된 개발 방법론을 평가하여 선정한다.
(1) 정형화된 개발 방법론을 선정하기 위한 평가 회의를 한다.
소프트웨어개발 방법론인 정보공학, 컴포넌트 기반, 애자일 방법론 중에서 공공 행정
정보시스템 개발에 활용할 방법론 선정을 위한 회의를 한다.
[그림 1-11] 개발 방법론 선정을 위한 평가 회의 장면
25
(2) 평가 회의를 통해 응용 소프트웨어 개발에 활용할 방법론을 선정한다.
개발 방법론 선정을 위한 평가서
평가자 :
직책 :
근무 부서 :
평가 항목
정보공학
방법론
컴포넌트
기반 방법론
애자일
방법론
비고
전략 계획
5
4
3
개발 준비
4
5
4
분석
5
5
5
설계
5
5
5
구현
5
5
5
시험
4
5
4
전개
4
5
4
인도
4
5
4
핵심 자산
3
4
5
실행
5
5
4
정량 평가 총점
44
48
43
정성 평가 의견
신규 개발
공공 기관
범용 업무
평가 결과
-
선정
-
㈜ 평가 항목별 평가 값은 적용 가능성에 대해 최대 5점에서 1점까지 평가
<표 1-22> 개발 방법론 선정을 위한 평가서 예시
수행 tip
• 공공 행정 정보시스템 개발에 많이 활용하는 방법론
을 선정함으로써 정형화된 개발 방법론의 이해를 돕
고 학습의 효과를 높일 수 있다.
26
학습1
교수·학습 방법
교수 방법
• 산업 범용, 산업 특화, 응용 소프트웨어의 분류 체계를 상용 소프트웨어 백서를 기반으로 상세하
게 설명하고, 응용 소프트웨어의 종류별 주요 기능과 특성을 지도한다.
• 공공기관의 업무용으로 활용하고 있는 소프트웨어는 상용 소프트웨어 중에서 기업용 소프트웨어
특성과 같으므로 기업용 소프트웨어의 특성을 파악하여 개발 방법론의 선정 기준으로 지도한다.
• 정형화된 개발 방법론의 특징을 고려하여 선정 목표와 계획서 작성을 설명한다.
• 정형화된 개발 방법론의 특성을 파악하여 평가표를 지도한다.
• 응용 소프트웨어 특성에 맞는 개발 방법론을 평가 회의를 통해 선정하는 것을 지도한다.
학습 방법
• 산업 범용, 산업 특화, 응용 소프트웨어의 분류 체계를 상용 소프트웨어 백서를 기반으로 상세하
게 설명하고, 응용 소프트웨어의 종류별 주요 기능과 특성을 파악한다.
• 공공기관의 업무용으로 활용하고 있는 소프트웨어는 상용 소프트웨어 중에서 기업용 소프트웨어
특성과 같으므로 기업용 소프트웨어의 특성을 파악하여 개발 방법론의 선정 기준을 정리한다.
• 기업용 소프트웨어 특성을 파악하여 개발 방법론의 선정 기준을 파악한다.
• 정형화된 개발 방법론의 특징을 고려하여 선정 목표와 계획서 작성을 정리한다.
• 정형화된 개발 방법론의 특성을 파악하여 평가표를 파악한다.
• 응용 소프트웨어 특성에 맞는 개발 방법론을 평가 회의를 통해 선정하는 것을 파악한다.
27
학습1
평 가
평가 준거
• 평가자는 학습자가 학습 목표를 성공적으로 달성하였는지를 평가해야 한다.
• 평가자는 다음 사항을 평가해야 한다.
학습 내용
학습 목표
성취수준
상
중
하
응용 소프트웨어
작성
- 개발하여야 할 응용 소프트웨어의 특성을 파악하여 정
형화된 개발 방법론의 선정 기준으로 활용할 수 있다.
개발 방법론 선정
- 정형화된 개발 방법론의 특징을 고려하여 응용 소프
트웨어 특성에 맞는 개발 방법론을 선정할 수 있다.
평가 방법
• 문제 해결 시나리오
학습 내용
평가 항목
성취수준
상 중
하
응용
소프트웨어
특성 작성
- 산업 범용, 특화, 응용 소프트웨어의 분류 체계를 정리하
는 능력
- 응용 소프트웨어의 종류별 주요 기능과 특성을 작성하는
능력
- 기업용 소프트웨어 특성을 파악하여 개발 방법론의 선정
기준을 작성하는 능력
개발
방법론
선정
- 정형화된 개발 방법론의 특징을 고려하여 선정 목표와 계
획서를 정리하는 능력
- 개발 방법론의 특성을 파악하여 평가표를 작성하는 능력
- 응용 소프트웨어 특성에 맞는 개발 방법론을 평가 회의를
통해 선정하는 능력
28
• 사례 연구
학습 내용
평가 항목
성취수준
상
중
하
응용
소프트웨어
특성 작성
- 산업 범용, 특화, 응용 소프트웨어의 분류 체계를 정리하는
능력
- 응용 소프트웨어의 종류별 주요 기능과 특성을 작성하는
능력
- 기업용 소프트웨어 특성을 파악하여 개발 방법론의 선정
기준을 작성하는 능력
개발
방법론
선정
- 정형화된 개발 방법론의 특징을 고려하여 선정 목표와 계
획서를 정리하는 능력
- 개발 방법론의 특성을 파악하여 평가표를 작성하는 능력
- 응용 소프트웨어 특성에 맞는 개발 방법론을 평가 회의를
통해 선정하는 능력
• 구두 발표
학습 내용
평가 항목
성취수준
상
중
하
응용
소프트웨어
특성 작성
- 산업 범용, 특화, 응용 소프트웨어의 분류 체계를 정리하
는 능력
- 응용 소프트웨어의 종류별 주요 기능과 특성을 작성하는
능력
- 기업용 소프트웨어 특성을 파악하여 개발 방법론의 선정
기준을 작성하는 능력
개발
방법론
선정
- 정형화된 개발 방법론의 특징을 고려하여 선정 목표와 계
획서를 정리하는 능력
- 개발 방법론의 특성을 파악하여 평가표를 작성하는 능력
- 응용 소프트웨어 특성에 맞는 개발 방법론을 평가 회의를
통해 선정하는 능력
29
피드백
1. 문제 해결 시나리오
- ‘응용 소프트웨어 특성 작성’과 ‘개발 방법론 선정’학습 내용에 대하여 각 각 평가 항
목 관련 사항에 대한 문제 해결을 위한 시나리오를 작성하여 해결에 이르는 과정을 평가하
고, 평가 결과 일정 점수 이하인 학생들은 추가 학습 후 다시 작성하거나 선정한다.
2. 사례 연구
- ‘응용 소프트웨어 특성 작성’과 ‘개발 방법론 선정’학습 내용에 대하여 각 각 평가 항
목 관련 사항에 대한 현재 진행 중이거나 유사한 이전의 사례를 선정하여 그 성공이나 실
패 요인을 분석 적용하는 과정을 평가하고, 평가 결과 일정 점수 이하인 학생들은 추가 학
습 후 사례 연구를 다시 작성하거나 선정한다.
30
학습 1
소프트웨어개발 방법론 선정하기
학습 2 소프트웨어개발 방법론 테일러링하기
2-1. 개발방법론 결정
학습 목표
• 프로젝트의 일정, 비용, 투입 자원과 재사용 현황을 고려하여 반복 전략을 개발 방
법론에 반영할 수 있다.
• 확정된 생명 주기와 개발 방법론에 맞춰 소프트웨어 개발 단계, 활동, 작업, 절차
및 각 단계별 종결 기준을 정의할 수 있다.
필요 지식 /
프로젝트의 정의와 관리
1. 프로젝트의 정의
프로젝트는 사업의 목적에 맞게 미리 계획된 일정과 금액 범위에서 정해진 목적을 달성하
기 위한 모든 활동이다. 프로젝트는 시간이 정해져 있고, 업무마다 개발 방법이 다르며,
단계적으로 진행되는 특성이 있다.
2. 프로젝트의 관리
프로젝트 관리는 일정, 예산, 인력, 위험, 품질 관리를 한다. 앞서 선정된 개발 방법론에
프로젝트 관리 기법을 반영한다.
프로젝트 관리
주요 내용
일정관리
활동 순서, 활동 기간 산정, 일정 개발, 일정 통제
예산관리
원가 산정, 예산 편성, 원가 통제
인력관리
프로젝트 팀 편성, 자원 산정, 프로젝트 조직 정의, 프로젝트 팀 개발,
자원 통제, 프로젝트 팀 관리
위험관리
위험 식별, 위험 평가, 위험 대처, 위험 통제
품질관리
품질 계획, 품질 보증 수행, 품질 통제 수행
출처: 기술표준원(2013. 11). 프로젝트 관리기준(ISO 21500) 이행가이드. p.25.
<표 2-1> 프로젝트의 주요 내용
31
생명 주기 모델과 컴포넌트 기반 방법론
1. 생명 주기 모델
생명 주기의 구분
프로세스의 4단계
기본 생명 주기
소프트웨어 명세
지원 생명 주기
소프트웨어 개발
조직 생명 주기
소프트웨어 검토
-
소프트웨어 진화
출처: 기술표준원(2013. 11). 프로젝트 관리기준(ISO 21500) 이행가이드. p.25.
<표 2-2> 생명 주기 모델
2. 컴포넌트 기반 개발 방법론
컴포넌트 기반 개발 방법론은 공공 행정 정보시스템의 개발에 많이 활용되고 있다. 표준
프로세스는 7개 단계이다.
단계 (Phase)
활동 (Activity)
작업 (Task)
개발 준비
팀 구성 및 테일러링
사업 팀 구성
방법론 테일러링
개발 사전 준비
특허청 정보화 개발 준비
분석
요구사항 분석
요구사항 수집
요구사항 정의
유스케이스 기술
요구사항 추적
업무/데이터 분석
업무 분석
데이터 분석
아키텍처 분석
현행 아키텍처 분석
분석 단계 테스트 계획
총괄 테스트 계획
분석 단계 점검
분석 단계 산출물 점검
설계
아키텍처 설계
SW 아키텍처 설계
시스템 아키텍처 설계
애플리케이션 설계
클래스 설계
사용자 인터페이스 설계
컴포넌트 설계
인터페이스 설계
배치 프로그램 설계
사용자 웹 구성 설계
DB 설계
개념 DB 모델 설계
논리 DB 설계
물리 DB 설계
데이터 흐름도(DFD) 작성
데이터 검증식(BR) 작성
<표 2-3> 컴포넌트 기반 개발방법론의 표준 프로세스
32
데이터 전환 설계
데이터 전환/검증 계획
데이터 정비 계획
설계 단계 테스트 계획
단위 테스트 케이스 작성
통합 테스트 시나리오 작성
시스템 테스트 시나리오 작성
사용자 테스트 시나리오 작성
설계 단계 점검
설계 단계 산출물 점검
구현
구현 준비
개발 환경 구성
개발
프로그램 개발
단위 테스트
단위 테스트
구현 단계 점검
웹 표준 점검
소스 품질 검사
구현 단계 산출물 점검
시험
테스트
테스트 준비 작업
통합 테스트
사용자 테스트
시험 단계 점검
시험 단계 산출물 점검
전개
리허설
리허설 준비 작업
최종 점검 및 리허설
전개
전개 준비 작업
최종 점검 및 리허설
인도
인수인계
인수인계 계획
EA 현행화
매뉴얼 작성
산출물 현행화
산출물 인수인계
교육
교육 준비 및 교육
출처: 특허청(2014. 12) 소프트웨어 개발 방법론, P.132~134
33
수행 내용 / 개발 방법론 결정하기
재료·자료
• 프로젝트 관리기준(ISO 21500) 이행가이드(2013년 11월, 기술표준원.)
• 쉽게 배우는 소프트웨어 공학(김치수. 2015. 한빛 아카데미.)
• 소프트웨어개발 방법론(2014년, 특허청)
기기(장비 ・ 공구)
• 컴퓨터, 빔 프로젝트, 화이트보드
• UML(Unified Modeling Language) 도구 등
안전 ・ 유의 사항
• 개발 방법론에 따른 프로젝트의 투입 자원, 일정 관리, 비용 관리, 품질 관리, 위험 관리에
대해 알아야 한다.
• 생명 주기에 따른 개발 단계, 활동, 작업 절차에 대해 알아 확정된 개발 방법론으로 응용
소프트웨어를 개발하기 위한 매뉴얼을 작성해야 한다.
수행 순서
개발 방법론 결정을 위한 절차를 파악한다.
프로젝트의 일정, 비용, 투입 자원과 재사용 현황을 고려하여 반복전략을 개발 방법론에
반영하고, 확정된 생명 주기와 개발 방법론에 맞춰 소프트웨어 개발 단계, 활동, 작업, 절
차 및 각 단계별 종결 기준을 정의하는 절차는 다음과 같다.
[그림 2-1] 개발 방법론 결정하기 흐름도
34
프로젝트의 일정, 비용, 투입 자원과 재사용 현황을 개발 방법론에 반영한다.
1. 개발 방법론에 프로젝트 관리를 반영하는 방법을 참여자에게 설명한다.
프로젝트 책임자는 개발 방법론에 일정관리, 비용관리, 품질관리, 투입자원관리, 위험관리
를 반영하는 방안을 프로젝트 참여자들을 대상으로 설명한다. 개발에 참여하는 인력은 프
로젝트에 대해 충분한 이해가 필요하다.
[그림 2-2] 개발 방법론에 일정 관리 등을 반영하는 방안을 설명하는 장면
(1) 개발 방법론에 프로젝트의 일정관리를 반영한다.
개발 방법론에 프로젝트의 일정관리 활동을 반영한다. 일정관리 활동은 활동순서, 활
동 기간산정, 일정개발, 일정통제이다.
구분
일정관리 활동
활동순서
- 장래에 현실적이고 달성 가능한 프로젝트 일정을 개발할 수 있도록 일정
활동들을 적절한 선 후행 관계, 선도 및 지연을 통해 논리적으로 연결
활동기간
산정
- 활동 일정 계획을 세우고 주요 경로를 도출할 때 재고찰 필요
- 주요 경로에서 프로젝트 완료일이 요구되는 완료일보다 늦어질 경우, 주
요 경로에서 활동을 수정
일정개발
- 기간을 구성하는 상관관계를 이해한 후 논리적 순서에 따른 일정 개발
- 생명 주기에 걸친 관리 통제를 충족하는 해결안은 활동 수준에서 제시
- 공정은 설정된 목적 달성 측정치 대비 시간상 실제 진행된 사항을 평가
일정통제
- 프로젝트 공정 현황을 판단하는 초점
- 일정 차이를 판단하기 위해 승인된 일정 기준선과 비교
- 완료일 예측 및 공정에 부정적 영향을 회피하기 위한 적절한 조치
출처: 기술표준원(2013. 11). 프로젝트 관리기준(ISO 21500) 이행가이드. P.83~103,
<표 2-4> 일정 관리 활동
35
(2). 개발 방법론에 프로젝트의 비용관리를 반영한다.
개발 방법론에 프로젝트의 비용관리 활동을 반영한다. 비용관리 활동은 원가 산정, 예
산 편성, 원가 통제이다.
구분
비용관리 활동
원가산정
- 프로젝트 작업을 완료하는 데 필요한 총원가를 결정
- 프로젝트 활동을 완료하는 데 필요한 금전적 자원의 근사치를 산정
예산편성
- 작업 패키지별로 산정된 원가를 합산하여 승인된 원가 기준선을 설정
- 원가 기준선은 프로젝트 성과를 모니터링 및 통제할 수 있는 기준이 됨
원가통제
- 현 프로젝트 비용 관련 실정을 파악 후 원가 기준선과 비교하여 차이 판별
- 완료 시점 원가 추정 및 문제의 적절한 예방과 시정 조치 시행에 중점
- 비용에 불리한 영향을 끼치지 않도록 함
- 원가 기준선 변경은 모두 변경 통제에 따라 관리
출처: 기술표준원(2013. 11). 프로젝트 관리기준(ISO 21500) 이행가이드. P.106~112,
<표 2-5> 비용관리 활동
(3) 개발 방법론에 프로젝트의 품질관리를 반영한다.
개발 방법론에 프로젝트의 품질관리 활동을 반영한다. 품질관리 활동은 품질계획, 품
질 보증수행, 품질통제이다.
구분
품질관리 활동
품질계획
- 프로젝트 및 개발 결과에 대한 품질 요구사항과 표준을 식별
- 프로젝트가 품질 요구사항을 준수함을 입증할 방법을 문서화
- 프로젝트 전반에 걸쳐 품질을 관리하고 검증하는 방법에 대한 지침으로
활용
품질보중
수행
- 구현 작업 진행 단계에서 결함을 탐지함으로써 품질이 일정 수준으로 유지
- 품질 보증 수행은 생성되는 데이터를 이용하는 이행 프로세스
품질통제
- 품질관리 활동의 실행 결과를 모니터링하여 기록하고 성과를 평가
- 빈약한 프로세스 또는 제품 품질의 원인 식별과 원인을 제거할 조치 이행
- 이해관계자가 최종 인수 요건으로 명시한 요구사항을 충족하는지 검증
출처 : 기술표준원(2013. 11). 프로젝트 관리기준(ISO 21500) 이행가이드. P.106~112,
<표 2-6> 품질관리 활동
(4) 개발 방법론에 프로젝트의 투입자원관리를 반영한다.
개발 방법론에 프로젝트의 투입자원관리를 반영한다. 투입자원관리는 프로젝트 팀 편
성, 자원 산정, 프로젝트 조직 정의, 프로젝트 팀 개발, 자원 통제, 프로젝트 팀 관리이
다. 특히 프로젝트 팀 관리를 통해 팀원의 성과 추적과 피드백을 제공하여 문제를 해
결하고 변경을 조정함으로써, 프로젝트 성과를 향상시킬 수 있다. 프로젝트 관리를 위
한 조직 내에서 직무 관리자와 프로젝트 관리자 둘 다에 책임이 부여될 때 복잡한 상
36
황이 빈번히 발생한다. 이와 같은 이중 보고 체제에서 관리 효율은 프로젝트 성공의
핵심 요인이 되며, 그 책임은 대개 프로젝트 관리자에게 있는 것이 보편적이다.
구분
투입자원관리 활동
프로젝트
팀 편성
- 프로젝트 완료에 필요한 인력 자원을 획득
- 프로젝트 관리자는 프로젝트 팀원의 수급 및 방출을 결정
- 인력 자원이 여의치 않으면 추가 인력 채용 및 다른 공급자에 의뢰
- 이행 확약, 역할과 책임, 보고 및 의사소통 관련 요구사항을 수립
자원산정
- 활동 목록 중 개별 활동에 필요한 자원을 결정
- 인력, 설비, 장비, 재료, 사회 기반 시설, 도구의 포함
- 자원 속성에는 출처, 단위, 투입 시작과 끝을 포함하여 기록
- 활동 자원 산정 프로세스는 원가 산정 프로세스와 긴밀하게 연동
프로젝트
조직 정의
- 프로젝트를 효율적으로 추진하기 위해 필요한 조직 형태를 결정
- 팀 구성원이 참여하여 각자가 맡게 되는 역할과 책임 관계를 분석
- 프로젝트 관리자와 팀원, 관련 이해관계자들의 역할과 책임을 할당
프로젝트
팀 개발
- 목표로 했던 프로젝트 성과를 달성하기 위해 팀 구성원들의 역량 제고
- 팀원 간의 상호 교류와 협력을 증진, 팀원과 팀의 전체적인 역량 제고
- 팀 개발은 팀원들이 개인으로서 기여할 수 있는 능력을 향상시키는 것뿐
만 아니라, 팀으로서 기능할 수 있도록 팀의 능력을 향상시키는 것 포함
자원통제
- 프로젝트 작업 수행에 필요한 자원의 가용성과 필요한 방식으로 배정이
가능한지 여부를 점검하여 프로젝트 요구 조건을 만족
프로젝트
팀 관리
- 팀의 행동을 관찰하고, 갈등 관리, 문제 해결, 팀원의 성과를 평가
- 프로젝트 팀 관리의 결과로 '직원관리 계획서' 갱신
- 변경 요청이 제출되고, 문제가 해결되고, 조직의 성과 평가에 필요한 자
료가 제공되고, 교훈이 조직의 데이터베이스에 추가
출처: 기술표준원(2013. 11). 프로젝트 관리기준(ISO 21500) 이행가이드. P.70~90,
<표 2-7> 투입자원관리 활동
(5) 개발 방법론에 프로젝트의 위험관리를 반영한다.
개발 방법론에 프로젝트의 위험관리 활동을 반영한다. 위험관리 활동은 위험식별, 위
험평가, 위험대처, 위험통제으로 구성된다.
37
구분
위험관리 활동
위험식별
- 프로젝트에 영향을 미치는 리스크를 도출하고 리스크별 특성을 문서화
- 리스크의 사건을 예측할 수 있도록 프로젝트 팀에 제공할 현존 리스크와
관련 지식 및 역량을 문서화
위험평가
- 리스크의 발생 확률과 영향을 평가하고 종합하여 심층 분석 및 조치
- 불확실성을 줄이고 우선순위가 높은 리스크에 주력
위험대처
- 프로젝트 목표에 위협적인 요인은 경감시키고 목표 달성 기회는 증대시킬
수 있는 대안과 조치를 계획하고 실행
- 필요할 때 예산, 일정 및 프로젝트 관리 계획에 자원과 활동을 추가
위험 통제
- 지속적으로 최적화된 리스크 대응을 위해 프로젝트 생명 주기 전체에 걸
쳐 리스크에 대한 접근 방식의 효율을 개선
- 새로 발생하거나 변경되는 리스크 또는 시기가 지난 리스크 확인을 위해
프로젝트 작업을 지속적으로 모니터링
출처: 기술표준원(2013. 11). 프로젝트 관리기준(ISO 21500) 이행가이드.. P.117~130,
<표 2-8> 위험관리 활동
2. 개발 방법론에 프로젝트 관리기준을 반영한 결과를 설명하여 확정한다.
[그림 2-3] 개발 방법론에 일정관리 등을 반영한 결과를 설명하는 장면
프로젝트 책임자는 개발방법론에 일정관리, 비용관리, 품질관리, 투입자원관리, 위험관리
등의 프로젝트 관리기준을 반영한 결과를 의사 결정자들에게 설명하여 확정한다.
38
생명 주기에 맞춰 개발 단계별 작업 및 절차를 수립한다.
1. 소프트웨어 생명 주기의 주요 프로세스를 파악한다.
소프트웨어 생명 주기의 프로세스는 ISO 12207 표준이다. ISO 12207 표준은 소프트웨어개발
프로세스를 위한 프레임워크이다. 생명 주기는 기본 생명 주기, 지원 생명 주기, 조직 생명
주기로 나눈다. 소프트웨어 개발부터 서비스 종료까지의 단계이자, 활동, 작업, 절차이다.
구분
주요 프로세스
기본
생명 주기
획득 프로세스, 공급 프로세스, 개발 프로세스, 유지 보수 프로세스,
운영 프로세스
지원
생명 주기
품질 보증 프로세스, 검증 프로세스, 확인 프로세스, 활동 검토 프로세스,
감사 프로세스, 문서화 프로세스, 형상관리 프로세스, 문제해결 프로세스
조직
생명 주기
기반 구조 프로세스, 관리 프로세스, 개선 프로세스, 훈련 프로세스
출처 : 김치수(2015). 『쉽게 배우는 소프트웨어 공학』. 한빛아카데미(주).
<표 2-9> 생명 주기의 주요 프로세스
2. 소프트웨어의 개발프로세스, 개발 생명 주기, 프로세스 모델을 정리한다.
(1) 소프트웨어의 개발프로세스를 정리한다.
소프트웨어의 개발프로세스는 소프트웨어 제품을 생산하기 위한 행위들과 그 결과물
들의 집합이다. 소프트웨어 명세, 개발, 검토, 진화로 이루어진다.
개발 프로세스
내용
소프트웨어 명세
소프트웨어 기능과 소프트웨어의 운영상의 제약조건을 정의
소프트웨어 개발
명세를 만족하는 소프트웨어를 개발
소프트웨어 검토
사용자가 원하는 소프트웨어인지를 확인
소프트웨어 진화
사용자의 요구사항의 변화를 만족하도록 소프트웨어를 변경
출처: 소프트웨어개발 방법론, 파워포인트 강의 자료, 김향곤, 대구 카톨릭대학
<표 2-10> 소프트웨어의 개발프로세스
(2) 소프트웨어개발의 생명 주기를 정리한다.
소프트웨어개발의 생명 주기(Software Development Life-Cycle: SDLC)는 고객의 요구
에 의해서 소프트웨어 시스템이 탄생하고, 가동, 운용되는 가운데에 유지 보수가 반복
되고, 최종적으로 수명이 다하여 파기할 때까지의 전 공정을 체계화한 개념이다. 시스
템이 개발될 때부터 운용과 보수를 거쳐 생애를 마칠 때까지 어떠한 순서를 밟는지에
대한 작업 프로세스를 모델화한 것이다.
39
(3) 소프트웨어의 프로세스 모델을 정리한다.
소프트웨어의 프로세스 모델은 개발 조직이 해야 하는 일의 종류, 순서 및 각 단계에
서 생성되어야 하는 결과물을 정리해 놓은 것이다. 소프트웨어의 개발이 체계적이고
반복적으로 수행되기 위해 꼭 필요하다. 각 단계의 작업을 완료하고 그 다음 단계로
가기 위해서 필요한 조건을 명시해야 한다. 개발되는 소프트웨어의 종류, 요구되는 신
뢰도, 난이도, 조직의 규모 또는 문화 등에 따라 적합한 프로세스 모델이 다르다.
Waterfall model, prototyping model, spiral model이 가장 많이 알려진 프로세스 모델이
다. 우수한 프로세스 모델은 소프트웨어 개발이 좀 더 짧은 시간에, 좀 더 높은 품질
의 소프트웨어를, 좀 더 적은 비용으로 개발할 수 있도록 도와준다.
(4) 폭포수 모델의 장점과 단점을 파악한다.
폭포수 모델은 단계가 이미 정해져 있으며, 어느 한 단계에 문제가 생겨도 이전 단계
또는 전전 단계로 되돌아가는 것이 곤란한 특성이 있다. 폭포수 모델의 주된 특징은
단계적 작업(Sequential), 문서화 작업(Document-driven)이다. 단계적 작업은 각 단계별
로 요구되는 결과물이 만족스러운 수준으로 준비되었을 때, 다음 단계의 작업이 이루
어진다. 문서화 작업은 각 단계별로 요구되는 결과물의 대부분은 문서화되어야 하며,
검토 및 승인을 받아야만 다음 단계로 나아간다.
구분
내용
장점
– 소프트웨어의 개발 과정을 개념적으로 자연스럽게 표현하고 있음
– 단계별 작업 진행으로 해당 단계의 진척 관리가 쉬움
– 반드시 각 단계마다 눈에 보이는 성과물이 출력
– 유사한 개발 경험이 있는 경우 효율적이고, 품질 면에서 우수
단점
– 앞 단계로 되돌아가서 반복하는 작업이 많은 시스템 개발(사양이 애매모호
한 시스템, 신규 개발 시스템)에서는 작업 단계의 변경이 곤란한 경우가 많음
– 처음 단계에서 정밀성을 강조하다 보면 코딩이나 테스트 작업이 지연됨
– 사용자의 요구를 만족하는지는 최종적인 성과물이 완성되어야만 판명됨
출처: 김치수(2015). 『쉽게 배우는 소프트웨어 공학』. 한빛아카데미(주).
<표 2-11> 폭포수 모델의 장점과 단점
40
확정된 개발 방법론의 개발 단계별 활동목적과 작업내용 및 산출물에 대한 매뉴얼을 작성한다.
1. 개발 준비 단계에 대한 매뉴얼을 작성하여 개발 방법론으로 활용한다.
(1) 개발 준비 단계의 매뉴얼을 작성하기 전에 활동과 작업을 확인한다.
단계
활동
작업
개발 준비
사업 팀 구성 및 테일러링
사업 팀 구성
방법론 테일러링
개발 사전 준비
정보화 개발 준비
출처: 특허청(2014. 12) 소프트웨어 개발 방법론. P.10
<표 2-12> 개발 준비 단계의 활동과 작업
(2) 개발 준비 단계의 활동목적에 대한 매뉴얼을 작성한다.
(가) 사업 팀 구성 및 테일러링의 활동목적은 사업 수행 시 발생하는 이슈 사항 처
리 및 개발 방법론을 조정한다.
(나) 개발 사전 준비의 활동목적은 개발에 필요한 전산 자원 사용 신청 및 발주 기
관 표준을 숙지하여 개발 시작이 원활히 진행한다.
(3) 개발 준비 단계의 작업내용에 대한 매뉴얼을 작성한다.
(가) 사업 팀 구성은 사업 담당자가 사업 수행 시 발생하는 주요 이슈 사항을 신속
하게 처리하기 위해 사업과 관련 있는 부서를 중심으로 사업팀을 구성한다.
(나) 방법론 테일러링은 구축 사업의 규모, 기간 및 특성을 고려하여 특허청에서 발
행한 개발 방법론을 적합하게 적용하기 위해 테일러링을 수행한다.
(다) 정보화 개발 준비는 정보화 사업 수행 전에 개발에 필요한 PC, 시스템 및 DB
등 전산 자원 사용을 위한 행정 절차를 수행하고, 사업자 교육을 요청하여 숙
지한다.
(4) 개발 준비 단계의 산출물에 대한 매뉴얼을 작성한다.
(가) 사업 팀 구성 및 방법론 테일러링은 팀 구성계획서와 방법론 테일러링 결과서
의 양식을 결정하여 매뉴얼로 작성한다.
(나) 개발 사전 준비는 전산자원 사용을 신청하고, 사업자 교육 계획을 수립한다.
2. 분석 단계에 대한 매뉴얼을 작성하여 개발 방법론으로 활용한다.
(1) 분석 단계의 매뉴얼을 작성하기 전에 활동과 작업을 확인한다.
41
단계
활동
작업
분석
요구사항 분석
요구사항 수집
요구사항 정의
유스케이스 기술
요구사항 추적
업무/데이터 분석
업무 분석
데이터 분석
아키텍처 분석
현행 아키텍처 분석
분석 단계 테스트 계획
총괄 테스트 계획
분석 단계 점검
분석 단계 산출물 점검
출처: 특허청(2014. 12) 소프트웨어 개발 방법론, P.10
<표 2-13> 분석 단계의 활동과 작업
(2) 분석 단계의 활동목적에 대한 매뉴얼을 작성한다.
(가) 요구사항 분석의 활동목적은 목표 시스템 구현을 위해 요구되는 사항을 분석하
여 요구사항을 명확하게 정의하고 기술하기 위함이다.
(나) 업무 및 데이터 분석의 활동목적은 현행 업무 및 데이터를 분석하여 요구되는
비즈니스 프로세스를 정의하기 위함이다.
(다) 아키텍처 분석의 활동목적은 사업 대상 시스템의 현행 소프트웨어 및 시스템 아
키텍처를 분석하여 목표 아키텍처 설계를 위한 기초 자료로 활용하기 위함이다.
(라) 분석 단계 테스트 계획의 활동목적은 개발 결과물에 대해 결함을 찾아내고 요
구사항의 충족 여부를 테스트하기 위하여 단계별 테스트 일정, 방법 및 환경
등 전반적인 계획을 수립하기 위함이다.
(마) 분석 단계 점검의 활동목적은 분석 단계 산출물을 점검하고 미흡한 점을 사전
에 조치하기 위함이다.
(3) 분석 단계의 작업내용에 대한 매뉴얼을 작성한다.
(가) 요구사항 수집은 요구사항 업무 관련자와 인터뷰 등을 통하여 사용자의 요구사
항을 이해하며, 요구사항 정보를 수집한다.
(나) 요구사항 정의는 수집된 요구사항을 분석하고 정리하여 요구사항을 명확하게
정의하고 상세히 기술한다.
(다) 유스케이스 기술은 시스템의 기능적 요구사항을 액터와 유스케이스로 표현하고
이들의 관계에 대해 상세하게 기술한다.
(라) 요구사항 추적은 요구사항이 단계별 개발 절차를 통해 누락 없이 정확하게 구
현되고 있는지를 확인하고 추적 관리한다.
42
(마) 업무 분석은 요구사항 구현과 관련된 현행 업무 자료를 분석하고 목표 시스템
의 업무 흐름을 정의한다.
(바) 데이터 분석은 개발 대상 시스템의 현행 데이터 구조 및 데이터 표준을 분석하
고 데이터 전환 대상을 정의한다.
(사) 현행 아키텍처 분석은 사업 대상 시스템의 현행 소프트웨어 및 시스템 아키텍
처 자료를 분석한다.
(아) 총괄 테스트 계획은 개발 결과물에 대해 결함을 찾아내고 요구사항의 충족 테
스트 수행을 위해 단계별 테스트 일정, 방법 및 환경 등 전반적인 계획을 수립
한다.
(자) 분석 단계 산출물 점검은 분석 단계의 프로세스별 산출물 등을 점검하고 미흡
한 부분이 있을 경우 조치한다.
(4) 분석 단계의 산출물에 대한 매뉴얼을 작성한다.
(가) 요구사항 분석은 인터뷰계획서, 인터뷰결과서, 요구사항 정의서, 유스케이스명
세서의 양식을 결정하여 매뉴얼로 작성한다.
(나) 업무 및 데이터 분석은 비즈니스프로세스정의서, 비즈니스업무흐름도, 현행데이
터분석서, 현행표준사전정의서의 양식을 결정하여 매뉴얼로 작성한다.
(다) 아키텍처 분석은 현행아키텍처분석서의 양식을 결정하여 매뉴얼로 작성한다.
(라) 분석 단계 테스트 계획은: 총괄 테스트 계획서의 양식을 결정하여 매뉴얼로 작
성한다.
(마) 분석 단계 점검은 분석단계점검 결과서, 분석단계점검 조치결과서의의 양식을
결정하여 매뉴얼로 작성한다.
3. 설계 단계에 대한 매뉴얼을 작성하여 개발 방법론으로 활용한다.
(1) 설계 단계의 매뉴얼을 작성하기 전에 활동과 작업을 확인한다.
단계
활동
작업
설계
아키텍처 설계
SW 아키텍처 설계
시스템 아키텍처 설계
애플리케이션 설계
클래스 설계
사용자 인터페이스 설계
컴포넌트 설계
인터페이스 설계
배치 프로그램 설계
사용자 웹 구성 설계
<표 2-14> 설계 단계의 활동과 작업
43
(2) 설계 단계의 활동목적에 대한 매뉴얼을 작성한다.
(가) 아키텍처 설계의 활동목적은 개발 대상 시스템에 대한 응용 소프트웨어 구조와
시스템 환경 등 시스템의 구성 요소를 정의하기 위함이다.
(나) 애플리케이션 설계의 활동목적은 분석 단계 결과를 바탕으로 요구사항을 어떻
게 구현할 것인지를 상세하게 설계하기 위함이다.
(다) DB 설계의 활동목적은 시스템에서 지속적으로 관리되어야 하는 데이터의 저장
DB 구조를 설계하기 위함이다
(라) 데이터 전환 설계의 활동목적은 DB 설계 및 구조 변경에 따른 정합성 오류 데
이터 발생 방지 및 운영 중인 데이터의 품질 유지를 보장하기 위함이다.
(마) 설계 단계 테스트 계획의 활동목적은 구현 결과 시스템을 테스트하기 위해 총
괄 테스트 계획서를 기반으로 테스트 종류별 상세 테스트 시나리오를 작성하기
위함이다.
(바) 설계 단계 점검의 활동목적은 설계 단계 산출물을 점검하고 미흡한 점을 사전
에 조치하여 시스템 구현 시 요구사항을 누락 없이 모두 반영하기 위함이다.
(3) 설계 단계의 작업내용에 대한 매뉴얼을 작성한다.
(가) 아키텍처 설계 단계의 작업내용에 대한 매뉴얼을 작성한다.
1) SW아키텍처 설계는 개발 대상 시스템에 대한 아키텍처 패턴을 중심으로 컴포
넌트와 상호 작용하는 관계 및 가시적인 속성을 표현한다.
2) 시스템 아키텍처 설계는 목표 시스템의 하드웨어, 시스템 소프트웨어 및 네트
워크 구성과 관계를 표현하고, 아키텍처 관점에서의 시스템 성능, 보안 등 요
구사항에 대한 구현 방안을 기술한다.
3) SW아키텍처 설계는 개발 대상 시스템에 대한 아키텍처 패턴을 중심으로 컴포
넌트와 상호 작용하는 관계 및 가시적인 속성을 표현한다.
DB 설계
개념 DB 모델 설계
논리 DB 설계
물리 DB 설계
데이터 흐름도(DFD) 작성
데이터 검증식(BR) 작성
데이터 전환 설계
데이터 전환/ 검증 계획
데이터 정비 계획
설계 단계 테스트 계획
단위 테스트 케이스 작성
통합 테스트 시나리오 작성
시스템 테스트 시나리오 작성
사용자 테스트 시나리오 작성
설계 단계 점검
설계 단계 산출물 점검
출처: 특허청(2014. 12) 소프트웨어 개발 방법론, P.10~11
44
4) 시스템 아키텍처 설계는 목표 시스템의 하드웨어, 시스템 소프트웨어 및 네트
워크 구성과 관계를 표현하고, 아키텍처 관점에서의 시스템 성능, 보안 등 요
구사항에 대한 구현 방안을 기술한다.
(나) 애플리케이션 설계 단계의 작업내용에 대한 매뉴얼을 작성한다.
1) 클래스 설계는 분석 단계의 유스케이스 명세서를 바탕으로 유스케이스별 상세
업무 흐름을 시퀀스도로 표현하고, 클래스 간 관계도를 파악한다.
2) 사용자 인터페이스 설계는 시스템의 사용자 인터페이스 전체 구조와 화면의
구성요소, 기능 및 상세 처리 절차를 기술한다.
3) 컴포넌트 설계는 유스케이스 및 클래스 설계 결과를 기반으로 컴포넌트를 도
출하고 상세하게 설계한다.
4) 인터페이스 설계는 시스템 내·외부 인터페이스를 정의하고, 명세를 기술한다.
5) 배치 프로그램 설계는 배치로 수행되는 작업들에 대해 프로그램을 설계한다.
6) 사용자 웹 구성 설계는 사용자 인터페이스와 컴포넌트 간의 관계를 기술한다.
(다) DB 설계 단계의 작업내용에 대한 매뉴얼을 작성한다.
1) 개념 DB 모델 설계는업무 관점의 개략적이고 추상화된 최상위 수준의 데이터
모델을 설계한다.
2) 논리 DB 설계는 논리 DB 모델을 DB 설계 지침을 준수하여 설계한다.
3) 물리 DB 설계는 DBMS의 특성을 고려하여 DB의 물리적 구성요소를 설계한다.
4) 데이터 흐름도 작성은 시스템을 데이터 관점에서 접근하는 데이터 흐름도
(DFD)를 파악한다.
5) 데이터 검증 논리식 작성은 개념 DB 모델 설계를 위해 데이터 정확성 검증
및 데이터 품질 모니터링을 위한 데이터 검증 논리식(BR)을 파악한다.
(라) 데이터 전환 설계 단계의 작업내용에 대한 매뉴얼을 작성한다.
1) 데이터 전환 및 검증 계획은 DB 구조 변경에 따른 데이터 전환이 필요한 대
상을 분석하여 데이터 전환 및 검증 계획을 수립하고, 계획에 대한 검토 후
전환 및 검증 프로그램을 설계한다.
2) 데이터 정비 계획는 DB 재설계, 시스템 변경 및 데이터 전환을 위해 오류 데
이터 정비가 필요한 데이터에 대한 정비 계획을 수립한다.
(마) 설계 단계 테스트 계획의 작업내용에 대한 매뉴얼을 작성한다.
1) 단위 테스트 케이스 작성은 개발 시스템의 컴포넌트, 사용자 인터페이스 기능
점검을 위한 테스트 대상을 분석하고, 테스트 케이스를 파악한다.
2) 통합 테스트 시나리오 작성은 단위 테스트가 완료된 컴포넌트 및 사용자 인터
페이스들을 통합하고, 통합 이상 여부와 결함을 파악하기 위해 시나리오를 파
악한다.
45
3) 시스템 테스트 시나리오 작성은 통합 테스트가 완료된 응용 시스템을 운영 환
경에 적용하고, 시스템 결함 유무, 요구사항 충족 여부를 테스트하기 위해 시
나리오를 파악한다.
4) 사용자 테스트 시나리오 작성은 시스템의 실제 사용자가 요구사항들이 정상적
으로 반영되었는지 테스트를 수행하기 위한 시나리오를 파악한다.
(바) 설계 단계 점검의 작업내용에 대한 매뉴얼을 작성한다.
1) 설계 단계 산출물 점검은 설계 단계의 프로세스별 산출물 등을 점검하고 미흡
한 부분이 있을 경우 조치한다.
(4) 설계 단계의 산출물에 대한 매뉴얼을 작성한다.
(가) 아키텍처 설계는 소프트웨어 아키텍처 설계서, 시스템 아키텍처 설계서의 양식
을 결정하여 매뉴얼로 작성한다.
(나) 애플리케이션 설계는 클래스 설계서, 사용자인터페이스 설계서, 컴포넌트 설계
서, 인터페이스 설계서, 배치 프로그램 설계서, 사용자인터페이스 웹 구성도의
양식을 결정하여 매뉴얼로 작성한다.
(다) DB 설계는 개념데이터모델(ERD), 논리데이터요소정의서, 물리데이터요소정의서,
표준데이터사전정의서, 데이터베이스설계서, 데이터 흐름도(DFD)의 양식을 결정
하여 매뉴얼로 작성한다.
(라) 데이터 전환 설계는 데이터전환 계획서, 데이터전환 매핑정의서, 데이터전환 프
로그램명세서, 데이터검증 프로그램명세서, 데이터정비 계획서의 양식을 결정
하여 매뉴얼로 작성한다.
(마) 설계 단계 테스트 계획는 단위 테스트 케이스, 통합 테스트 시나리오, 시스템
테스트 시나리오, 사용자 테스트 시나리오를 작성하여 매뉴얼로 활용한다.
(바) 설계 단계 점검는: 설계단계점검 결과서, 설계단계점검 조치결과서의 양식을 결
정하여 매뉴얼로 작성한다.
4. 구현 단계에 대한 매뉴얼을 작성하여 개발 방법론으로 활용한다.
(1) 구현 단계의 매뉴얼을 작성하기 전에 활동과 작업을 확인한다.
단계
활동
작업
구현
구현 준비
개발 환경 구성
개발
프로그램 개발
단위 테스트
단위 테스트
구현 단계 점검
웹 표준 점검
소스 품질 검사
구현 단계 산출물 점검
출처: 특허청(2014. 12) 소프트웨어 개발 방법론, P.11
<표 2-15> 구현 단계의 활동과 작업
46
(2) 구현 단계의 활동목적에 대한 매뉴얼을 작성한다.
(가) 구현 준비의 활동목적은 설계 단계 산출물을 바탕으로 목표 시스템을 구현 시
필요한 개발 환경을 준비하기 위함이다.
(나) 개발의 활동목적은 설계 단계 산출물을 바탕으로 사용자 인터페이스, 컴포넌트,
DB를 구현하여 요구사항을 충족하는 목표 시스템을 실현하기 위함이다.
(다) 단위 테스트의 활동목적은 구현 시스템의 단위 컴포넌트, 사용자 인터페이스의
기능 오류를 찾아 안정적인 시스템을 구축하기 위함이다.
(라) 구현 단계 점검의 활동목적은 목표 시스템의 요구사항을 구현 완료한 구현 단
계 산출물을 점검하고, 미흡한 점을 사전에 조치하여 통합 테스트 수행을 준비
하기 위함이다.
(3) 구현 단계의 작업내용에 대한 매뉴얼을 작성한다.
(가) 개발 환경 구성은 목표 시스템 구현을 위해 필요한 전산 자원 등 개발 환경을
구성 한다.
(나) 프로그램 개발은 설계 단계 산출물을 바탕으로 사용자 인터페이스, 컴포넌트를
구현하여 요구사항을 충족하는 목표 시스템을 구현한다.
(다) 단위 테스트는 단위 테스트 케이스를 바탕으로 시스템의 컴포넌트 및 사용자
인터페이스의 기능을 테스트한다.
(라) 웹 표준 점검은 웹 접근성과 웹 호환성 기준에 따라 운영 체계나 브라우저에
종속적이지 않고 모든 사용자가 제약 없이 쉽게 시스템에 접근하고 이용할 수
있도록 보장하는지를 점검한다.
(4) 구현 단계의 산출물에 대한 매뉴얼을 작성한다.
(가) 구현 준비는 개발환경 구성계획서의 양식을 결정하여 매뉴얼로 작성한다.
(나) 개발은 설계단계 산출자료를 바탕으로 사용자인터페이스 컴포넌트를 구현하며
요구사항을 충족하는 목표시스템을 구현하는 프로그램 소스이다.
(다) 단위 테스트는 단위 테스트 결과서의 양식을 결정하여 매뉴얼로 작성한다.
(라) 구현 단계 산출물 점검은 웹접근성점검 보고서, 웹호환성점검 보고서, 소스품질
검사 보고서, 보안약점진단 보고서의 양식을 결정하여 매뉴얼로 작성한다.
47
5. 시험 단계에 대한 매뉴얼을 작성하여 개발 방법론으로 활용한다.
(1) 시험 단계의 매뉴얼을 작성하기 전에 활동과 작업을 확인한다.
단계
활동
작업
시험
테스트
테스트 준비 작업
통합 테스트
사용자 테스트
시험 단계 점검
시험 단계 산출물 점검
출처: 특허청(2014. 12) 소프트웨어 개발 방법론, P.12
<표 2-16> 시험 단계의 활동과 작업
(2) 시험 단계의 활동목적에 대한 매뉴얼을 작성한다.
(가) 테스트의 활동목적은 구현 완료된 시스템에 대해 요구사항이 올바르게 반영되
었는지를 통합적인 관점에서 검증하기 위함이다.
(나) 시험 단계 점검의 활동목적은 구현 완료된 시스템의 테스트 결과를 점검하고
미흡한 점을 사전에 조치하여 전개 수행을 준비하기 위함이다.
(3) 시험 단계의 작업내용에 대한 매뉴얼을 작성한다.
(가) 테스트 준비 작업은 총괄 테스트 계획에 따라 구현 완료된 시스템의 통합 테스
트를 위한 준비 작업으로, 테스트 팀 및 테스트 환경을 구성한다.
(나) 통합 테스트는 단위 테스트가 완료된 컴포넌트와 사용자 인터페이스를 통합하
여 통합 테스트를 수행한다.
(다) 사용자 테스트는 구현 완료된 시스템에 대해 사용자가 직접 테스트를 수행하여
요구사항에 맞게 구현되었는지를 검증한다.
(라) 시험 단계 산출물 점검은 시험 단계의 통합 테스트 및 사용자 테스트의 적정성
을 점검하고 미흡한 부분이 있을 경우 조치한다.
(4) 시험 단계의 산출물에 대한 매뉴얼을 작성한다.
(가) 테스트는 통합 테스트 결과서, 사용자테스트 결과서의 양식을 결정하여 매뉴얼
로 작성한다.
(나) 시험단계점검은 시험단계점검 결과서, 시험단계점검 조치결과서의 양식을 결정
하여 매뉴얼로 작성한다.
48
6. 전개 단계에 대한 매뉴얼을 작성하여 개발 방법론으로 활용한다.
(1) 전개 단계의 매뉴얼을 작성하기 전에 활동과 작업을 확인한다.
단계
활동
작업
전개
리허설
리허설 준비 작업
최종 점검 및 리허설
전개
전개 준비 작업
최종 점검 및 리허설
출처: 특허청(2014. 12) 소프트웨어 개발 방법론, P.12
<표 2-17> 전개 단계의 활동과 작업
(2) 전개 단계의 활동목적에 대한 매뉴얼을 작성한다.
(가) 리허설의 활동목적은 구현 완료된 시스템의 전개 전 운영 환경에 대한 설치 테
스트 수행을 통해 문제 발생 요소를 사전에 해소함으로써 시스템 전개를 성공
적으로 수행하기 위함이다.
(나) 전개의 활동목적은 구현 완료된 시스템을 운영 환경에 설치하기 위한 계획을
수립하고, 설치 결과를 테스트하기 위함이다.
(3) 전개 단계의 작업내용에 대한 매뉴얼을 작성한다.
(가) 리허설 준비 작업은 시스템의 전개 전 운영 환경에 설치 테스트 수행을 위한
사전 작업 절차와 일정, 위험 대책 등을 계획하고, 리허설 환경을 구성한다.
(나) 최종 점검 및 리허설은 리허설 수행 최종 점검 후 리허설 계획에 따라 구현 시
스템을 운영 환경에 리허설 테스트를 수행하고, 리허설 시 발생한 이슈 사항
및 문제점들을 조치한다.
(다) 전개 준비 작업은 시스템을 운영 환경에 안정적인 설치를 위한 전개 상세 일정
등 전개 계획을 수립하고, 전개 수행을 위해 필요한 사항을 준비한다.
(라) 최종 점검 및 리허설은 전개 수행 최종 점검 후 전개 계획에 따라 구현 시스템
을 운영 환경에 설치하고, 전개 시 발생한 이슈 사항 및 문제점들을 조치한다.
(4) 전개 단계의 산출물에 대한 매뉴얼을 작성한다.
(가) 리허설은 리허설 계획서, 리허설 체크리스트, 리허설 결과서의 양식을 결정하여
매뉴얼로 작성한다.
(나) 전개는 전개 계획서, 전개 체크리스트, 전개 결과서, 시스템테스트 결과서의 양
식을 결정하여 매뉴얼로 작성한다.
49
7. 인도 단계에 대한 매뉴얼을 작성하여 개발 방법론으로 활용한다.
(1) 인도 단계의 매뉴얼을 작성하기 전에 활동과 작업을 확인한다.
단계
활동
작업
인도
인수인계
인수인계 계획
EA 현행화
매뉴얼 작성
산출물 현행화
산출물 인수인계
교육
교육 준비 및 교육
출처: 특허청(2014. 12) 소프트웨어 개발 방법론, P.12
<표 2-18> 인도 단계의 활동과 작업
(2) 인도 단계의 활동목적에 대한 매뉴얼을 작성한다.
(가) 인수인계의 활동목적은 수행 업체가 단계별로 개발한 모든 산출물을 운영 부서
에 인수인계하기 위함이다.
(나) 교육의 활동목적은 설치 완료된 시스템에 대한 교육을 수행함으로써 사용자 및
운영자가 시스템을 사용하고 운영할 수 있는 역량을 갖추도록 하기 위함이다.
(3) 인도 단계의 작업내용에 대한 매뉴얼을 작성한다.
(가) 인수인계 계획은 사업 수행에서 구현한 시스템, 단계별 산출물을 정의하고, 인
수자, 인계자 및 인수인계 일정 등을 계획한다.
(나) EA 현행화는 사업 수행 중에 특허청 EA 정보에 변경이 발생하였을 경우, 특허
청 EA 정보로 현행화한다.
(다) 매뉴얼 작성은 시스템을 활용하는 대상별 사용자 매뉴얼, 운영자 매뉴얼 및 기
반 운영 매뉴얼을 파악한다.
(라) 산출물 현행화는 개발 진행 중 또는 전개 이후 변경된 산출물에 대해 현행화를
수행한다.
(마) 산출물 인수인계는 수행 업체는 인수인계 계획에 따라 인수 대상 산출물을 인
수자에게 인계한다.
(바) 교육 준비 및 교육은 사업 착수 단계에서 작성한 사업 수행 계획서 내의 교육
계획에 따라 사용자, 운영자에 대한 교육을 실시한다.
(4) 인도 단계의 산출물에 대한 매뉴얼을 작성한다.
(가) 인수인계는 인수인계 계획서, 사용자매뉴얼, 운영자매뉴얼, 기반운영매뉴얼을
작성한다.
(나) 교육은 교육계획서, 사용자매뉴얼, 운영자매뉴얼을 작성한다.
50
수행 tip
• 컴포넌트 개발 방법론은 단계, 활동, 작업의 3단계이
고, 작업의 결과는 산출물이다. 활동목적, 작업내용,
산출물을 이해하고 작업에 임해야 한다.
51
2-2. 작성 산출물 적용
학습 목표
• 응용 소프트웨어 개발에 사용할 표준으로 활동 및 절차 수행에 필요한 기법과 표
준, 산출물 표준 양식 및 작성 기법, 적용 도구를 정립할 수 있다.
• 테일러링된 적용 개발 방법론에 따른 작성 산출물 유형을 확정할 수 있다.
필요 지식 /
응용 소프트웨어개발 방법론의 프레임워크
1. 개요
컴포넌트기반 개발 방법론이 응용 소프트웨어개발 방법론으로 결정되었다. 컴포넌트 기반
개발 방법론의 프레임워크는 7개의 단계와 23개의 활동으로 구성되어 있다.
2. 응용 소프트웨어개발 방법론의 프레임워크
단계(Phase)
활동(Activity)
개발 준비
팀 구성 및 테일러링
개발 사전 준비
분석
요구사항 분석
업무/ 데이터 분석
아키텍처 분석
분석 단계 테스트 계획
분석 단계 점검
설계
아키텍처 설계
애플리케이션 설계
DB 설계
데이터 전환 설계
설계 단계 테스트 계획
설계 단계 점검
구현
구현 준비
개발
단위 테스트
구현 단계 점검
시험
테스트
시험 단계 점검
전개
리허설
전개
인도
인수인계
교육
출처: 특허청(2014. 12) 소프트웨어 개발 방법론에서 요약하여 제시
<표 2-19> 응용 소프트웨어개발 방법론의 프레임워크
52
□
2
테일러링을 위한 요구사항
발주 기관의 요구사항을 반영하여 응용 소프트웨어의 개발을 위한 테일러링을 한다. 발주
기관의 시스템 개발의 목적을 달성하기 위한 요구사항은 분석해야 한다.
구분
설명
요구 개수
시스템 장비 구성
요구사항
사업 수행을 위해 필요한 도입 장비 구성 요구사항을 기술
1
기능 요구사항
목표 시스템이 반드시 수행하거나 목표 시스템을 이용하여
사용자가 반드시 할 수 있어야 하는 기능(동작)에 대해 기술
43
성능 요구사항
목표 시스템이 특정 기능을 얼마나 빠르게, 멀게, 크게, 많이
수행해야 하는지에 대한 요건을 기술
8
인터페이스
요구사항
목표 시스템과 외부 세계 사이를 연결하는 시스템
인터페이스와 사용자 인터페이스에 대한 요건을 기술
4
데이터 요구사항
목표 시스템의 서비스에 필요한 DB 설계 등 데이터를
구축하기 위해 필요한 요건을 기술
3
테스트 요구사항
시스템의 기능을 테스트하고 점검하기 위한 요구사항을 기술
3
보안 요구사항
정보 자산의 기밀성과 무결성을 위해 목표 시스템의 데이터
및 기능, 운영 접근을 통제하기 위한 요건을 기술
12
품질 요구사항
목표 시스템이 가져야 하는 품질 항목, 품질 평가 대상 및
목표 값에 대한 요구사항을 기술
6
제약사항
기능, 비기능, 인터페이스, 데이터 요구사항 외에 시스템을
구축하기 위해 필요한 제약 및 요건을 기술
3
프로젝트 관리
요구사항
프로젝트 관리를 위해 필요한 요구사항으로 위험 관리, 품질
관리, 산출물 관리, 일정 관리 요구사항 등이 해당함.
13
프로젝트 지원
요구사항
프로젝트 수행 및 향후 지원을 위해 필요한 요구사항으로
표준화, 하자․유지보수, 프로젝트 팀원 요구사항 등이 해당함.
13
<표 2-20> 특정 정보시스템의 요구사항의 사례
테일러링을 위한 품질 관리
소프트웨어 개발 단계에서 품질 관리를 한다. 품질 관리는 국제 표준으로 정한다. 대표적
인 국제 표준으로 ISO 12207 표준, CMMI 모델, SPICE 모델이 있다.
1. ISO 12207 표준
ISO/IEC 12207 표준은 소프트웨어 생명 주기 프로세스이다. 소프트웨어와 관련된 조직과
사람, 소프트웨어 획득자, 공급자, 개발자, 운영자, 유지보수자, 품질보증 관리자, 사용자
등의 이해관계자들이 각자의 입장에서 수행해야 할 일을 정의하고 지속적으로 개선시키기
위한 활동이다.
53
구분
주요 프로세스
기본 공정
프로세스
획득 프로세스, 공급 프로세스, 개발 프로세스,
운영 프로세스, 유지 보수 프로세스
지원 공정
프로세스
문서화 프로세스, 품질 보증 프로세스, 형상 관리 프로세스, 검증 프로세스,
확인 프로세스, 문제 해결 프로세스, 활동 검토 프로세스, 감사 프로세스
조직 공정
프로세스
기반 구조 프로세스, 관리 프로세스, 개선 프로세스, 훈련 프로세스
출처: 소프트웨어 공학, 2016. 이형주 편저, ㈜지식과 미래, P.38~39
<표 2-21> ISO 12207 표준의 프로세스
2. CMMI 모델
CMMI(Capability Maturity Model Integration) 모델은 조직의 개발 프로세스 역량 성숙도를
평가한다. CMMI 모델에는 6종이 있다.
구분
내용
SW-CMM
소프트웨어 능력 성숙도 모델
SECM
시스템 엔지니어링 능력 모델
IPD-CMM
통합 제품 개발 능력 성숙도 모델
People-CMM
인력의 개발과 관리
SA-CMM
소프트웨어 획득
SECAM
시스템 엔지니어링 능력 심사 모델
출처: 소프트웨어 공학, 2016년 1월 15일, 이형주 편저, ㈜지식과 미래
<표 2-22> CMMI 모델의 구분
3. SPICE 모델
SPICE(Software Process Improvement and Capability dEtermination) 모델은 소프트웨어 프
로세스 평가를 위한 국제 표준을 제정하는 프로젝트이다. SPICE의 목적은 3가지로 정리할
수 있다. 개발 기관이 프로세스 개선을 위하여 스스로 평가하는 것, 기관에서 정한 요구
조건을 만족하는지 개발 조직 스스로 평가하는 것, 계약을 맺기 위하여 수탁 기관의 프로
세스를 평가하는 것이 그것이다.
SPICE은 CMM의 단점을 개선하기 위해 출현하였다.
첫째, CMM은 조직을 평가하므로 제품의 품질과는 직접적인 연관성이 없다.
둘째, CMM은 조직 전체에 대한 등급 판정이 비효율적, 비현실적이다.
셋째, CMM은 소규모 업체에서는 적용이 곤란하다.
54
수행 내용 / 작성 산출물 적용하기
재료·자료
•
소프트웨어개발 방법론, 2014년, 특허청
•
의료 정보시스템 구축 제안 요청서, 2013, 보건복지부
•
ISO/IEC 12207 모델(소프트웨어 개발 생명주기 프로세스)
•
CMMI(Capability Maturity Model Integration) 모델
•
SPICE (ISO 15504) 모델(프로세스 평가 표준)
기기(장비 ・ 공구)
•
컴퓨터, 빔 프로젝트, 화이트보드
•
UML(Unified Modeling Language) 도구 등
안전 ・ 유의 사항
•
확정된 개발 방법론에 대한 업무 내용과 표준 산출물, 테일러링할 요구사항에 대해서 알
아야 한다.
•
요구사항을 반영하여 테일러링할 때 ISO 12207 표준, CMMI 모델, SPICE 모델에 대해서 각
각 알아야 한다.
•
적용 개발 방법론에 따른 작성 산출물에 대해서 숙지하고, 적용하고자 하는 업무에 소프
트웨어개발 방법론 테일러링해야 한다.
55
수행 순서
작성 산출물 유형을 확정하는 절차를 파악한다.
[그림 2-4] 작성 산출물 확정 흐름도
응용 소프트웨어 개발에 사용할 표준으로 활동 및 절차 수행에 필요한 기법과 표준, 산출
물 표준 양식 및 작성 기법, 적용 도구를 정립하고, 테일러링된 적용 개발 방법론에 따른
작성 산출물 유형을 확정하는 순서는 다음과 같다.
응용 소프트웨어 개발에 사용할 확정된 개발방법론의 단계별 활동목적과 표준 산출물을
확정한다.
확정된 응용 소프트웨어개발 방법론은 7단계이다. 개발 준비, 분석, 설계, 구현, 시험, 전
개, 인도이다. 본 학습모듈에서는 개발 준비와 분석, 시험의 3가지만 다룬다.
1. 개발준비단계의 활동목적과 표준 산출물 및 산출물의 필수여부를 확정한다.
(1) 활동목적을 정립한다.
(가) 개발준비단계의 활동목적은 사업을 수행할 때 발생하는 사항을 처리하고 발주
기관의 개발 방법론을 조정하기 위함이다.
(나) 개발준비단계는 사업 팀 구성과 방법론 테일러링의 작업으로 이루어진다.
(2) 표준 산출물과 산출물 필수여부를 확정한다.
작업을 위한 입력물, 산출물 및 필수 여부를 확정한다.
필수는 ○, 선택은 △, 특성은 ▲으로 표시한다.
56
작업
입력물
산출물
필수 여부
대
소
사업 팀 구성
제안 요청서, 제안서,
사업 수행 계획서
팀 구성 계획서
○
○
방법론 테일러링
발주 기관 개발 방법론
방법론 테일러링 결과서
○
○
출처: 특허청(2014. 12) 소프트웨어 개발 방법론 p.23에서 요약
<표 2-23> 개발 준비 단계의 표준 산출물과 필수 여부
2. 요구사항 분석의 활동목적과 표준 산출물 및 산출물의 필수 여부를 확정한다.
(1) 활동목적을 정립한다.
(가) 요구사항분석의 활동목적은 목표 시스템 구현을 위해 요구되는 사항을 분석함
으로써 요구사항을 명확하게 정의하고 기술하기 위함이다.
(나) 요구사항분석 단계는 요구사항 수집, 요구사항 정의, 유스케이스 기술, 요구사
항 추적을 한다.
(2) 표준 산출물과 필수 여부를 정립한다.
요구사항 분석을 위한 활동의 표준 산출물과 필수 여부를 정립한다.
필수는 ○, 선택은 △, 특성은 ▲으로 표시한다.
작업
입력물
산출물
필수 여부
대
소
요구사항 수집
제안 요청서, 제안서,
사업수행 계획서
인터뷰 계획서,
인터뷰 결과서
○
○
요구사항 정의
제안서, 제안 요청서,
인터뷰 결과서
요구사항 정의서
○
○
유스케이스 기술
요구사항 정의서
유스케이스 명세서
○
○
요구사항 추적
요구사항 정의서,
유스케이스 명세서
요구사항 추적표
○
○
출처: 특허청(2014. 12) 소프트웨어 개발 방법론 p.31에서 요약
<표 2-24> 요구사항 분석 단계의 표준 산출물과 필수 여부
3. 시험단계의 활동목적과 표준 산출물 및 산출물의 필수 여부를 확정한다.
(1) 활동목적을 정립한다.
(가) 시험단계의 활동목적은 구현 완료된 시스템에 대해 요구사항이 올바르게 반영
되었는지를 통합적인 관점에서 검증하기 위함이다.
(나) 작업 내용은 테스트 준비 작업, 통합 테스트, 사용자 테스트이다.
(2) 표준 산출물과 필수 여부를 정립한다.
시험을 위한 작업의 표준 산출물과 필수 여부를 정립한다.
필수는 ○, 선택은 △, 특성은 ▲으로 표시한다.
57
작업
입력물
산출물
필수 여부
대
소
테스트 준비 작업
총괄 테스트 계획서
-
○
○
통합 테스트
통합 테스트 시나리오
통합 테스트 결과서
○
○
사용자 테스트
요구사항 정의서,
사용자 인터페이스 설계서
사용자 테스트 결과서
○
○
출처: 특허청(2014. 12) 소프트웨어 개발 방법론 p.93에서 요약하여 제시
<표 2-25> 시험 단계의 표준 산출물과 필수 여부
발주자의 요구사항을 분석하고, 품질관리 모델을 파악한다.
확정된 개발 방법론을 테일러링하려는 요구사항을 분석하고, 품질관리 모델을 파악하여
테일러링에 활용한다.
1. 확정된 개발 방법론을 테일러링하려는 요구사항을 분석한다.
테일러링하려는 정보시스템의 요구사항을 다음과 같이 확인하여 분석한다.
(1) 정보시스템의 개념 관련 요구사항을 확인한다.
예) 정보시스템은 진료 교류 정보(의뢰․ 회신서, 요약서 정보)를 저장․ 관리할 수 있는
클라우드 저장소(Repository)를 거점 단위로 개발·구축하고, 해당 정보를 단일화하여
관리․활용할 수 있도록 가상화를 통해 서비스하는 정보 통합 관리 시스템이다.
(2) 서비스의 제공 관련 요구사항을 확인한다.
예) 환자 정보가 필요한 병원과 의원의 의료인과 환자는 전국의 진료 정보 저장소를
통해 필요한 정보를 언제든지 확인하여 치료 및 건강관리에 활용할 수 있도록 서비스
를 제공한다.
(3) 프로젝트의 개요 관련 요구사항을 확인한다.
예) 본 프로젝트는 통신망을 통해 환자 및 의료인이 치료 및 건강관리에 필요한 정보
를 언제든지 확인, 이용할 수 있도록 서비스 플랫폼(SaaS)을 구축하여 의료인 및 유관
기관에서 활용할 수 있도록 서비스를 제공한다.
(4) 테일러링을 위한 요구사항
정보시스템의 목적을 달성하기 위한 요구사항은 다음과 같다.
58
요구사항 구분
필수 여부
요구사항 수
기능 요구사항 (System Function Requirement)
필수
18
인터페이스 요구사항 (System Interface Requirement)
필수
1
테스트 요구사항 (Test Requirement)
필수
2
보안 요구사항 (Security Requirement)
필수
6
품질 요구사항 (Quality Requirement)
필수
2
제약사항 (Constraint Requirement)
필수
1
프로젝트 관리 요구사항 (Project Mgnt. Requirement)
필수
2
프로젝트 지원 요구사항 (Project Support Requirement)
필수
8
출처: 보건복지부(2013), 의료 정보시스템 구축 제안 요청서
<표 2-26> 정보시스템의 요구사항 (예시)
2. 품질관리 모델을 파악하여 테일러링에 적용한다.
응용 소프트웨어 개발을 위한 테일러링에 반영하기 위해 품질관리의 표준을 파악하여 적
용한다.
(1) ISO 12207 표준을 파악하여 적용한다.
ISO 12207 표준은 소프트웨어 개발 프로세스를 정의하고 향상시키기 위한 프로세스이
다. 표준은 기본 공정, 지원 공정, 조직 공정으로 구성된다.
(가) 기본 공정을 파악하여 적용한다.
1) 공급은 서비스를 제공하는 공급자 또는 공급 조직이 수행할 활동을 정의한다.
2) 획득은 서비스를 획득하는 획득자 또는 획득 조직이 수행할 활동을 정의한다.
3) 개발은 소프트웨어를 개발하는 개발자 또는 개발 조직이 수행할 활동을 정의
한다.
[그림 2-5] ISO 12207 표준의 구성
59
4) 운영은 서비스를 제공하는 운영자 또는 운영 조직이 수행할 활동을 정의한다.
5) 유지 보수는 유지 보수를 제공하는 보수자 또는 조직이 수행할 활동을 정의한다.
(나) 지원 공정을 파악하여 적용한다.
1) 문서화는 산출되는 정보의 기록을 위한 활동을 정의한다.
2) 형상 관리는 구성 관리 활동을 정의한다.
3) 문제 해결은 문제점을 분석하고 제거하기 위한 프로세스를 정의한다.
4) 품질 보증은 객관적으로 보증하기 위한 활동을 정의한다.
5) 검증은 소프트웨어 제품을 검증하기 위한 활동을 정의한다.
6) 확인은 소프트웨어 제품을 확인하기 위한 활동을 정의한다.
7) 합동 검토는 활동의 상태 및 제품을 평가하기 위한 활동을 정의한다.
8) 감리는 요구사항에 대하여 적합성을 결정하기 위한 활동을 정의한다.
(다) 조직 공정을 파악하여 적용한다.
1) 관리는 프로젝트 관리를 포함한 기본적인 관리 활동을 정의한다.
2) 기반 구조는 프로세스의 기반 구조를 확립하기 위한 기본 활동을 정의한다.
3) 개선은 프로세스의 확립, 측정, 통제, 개선을 위하여 수행하는 활동을 정의한다.
4) 교육 훈련은 적절하게 훈련된 요원을 제공하기 위한 활동을 정의한다.
(2) CMMI 모델을 파악하여 적용한다.
CMMI는 미국 카네기멜론대학의 소프트웨어기술연구소가 제안한 통합 모델이다. CMMI
는 어떤 모델이라도 조직의 업무 목적에 맞게 수정하여 사용할 필요가 있다. CMMI 모
델은 개발을 위한 CMMI, 발주를 위한 CMMI, 서비스를 위한 CMMI 순으로 발표하였다.
CMMI의 종류로는 단계적 모델과 연속적 모델이 있다. 단계적 모델은 조직의 시스템
개발과 관리 프로세스가 평가되어 1부터 5까지의 성숙도 수준을 할당한다. 연속적 모
델은 더 세분화된 분류가 가능하며 24개의 프로세스 영역에 대해 0부터 5까지의 등급
을 부여한다.
CMMI의 프로세스 영역은 다음과 같이 프로세스 관리, 프로젝트 관리, 엔지니어링, 지
원으로 이루어진다.
(가) 프로세스 관리 영역을 파악하여 적용한다.
프로세스 관리의 영역은 조직의 프로세스 정의, 조직의 프로세스 초점, 조직의 훈
련, 조직의 프로세스 성과, 조직의 혁신과 배치로 구성된다.
(나) 프로젝트 관리 영역을 파악하여 적용한다.
프로젝트 관리의 영역은 프로젝트 계획 수립, 프로젝트 모니터링과 통제, 공급자와
의 합의 관리, 통합된 프로젝트 관리, 위험 관리, 통합된 팀 구성, 정량적인 프로젝
트 관리로 구성된다.
(다) 엔지니어링 영역을 파악하여 적용한다.
60
엔지니어링의 영역은 요구사항 관리, 요구사항 개발, 기술적 해결책, 제품 통합, 증
명, 검증으로 구성된다.
(라) 지원 영역을 파악하여 적용한다.
지원의 영역은 형상 관리, 프로세스와 제품의 품질 경영, 측정과 분석, 의사 결정과
해결책, 통합을 위한 조직의 환경, 임시 분석과 해결책으로 구성된다.
(3) SPICE 모델을 파악하여 적용한다.
SPICE(Software Process Improvement and Capability dEtermination)는 소프트웨어 프로
세스 평가를 위한 국제 표준을 제정하는 프로젝트이다. 미 국방성의 CMM과 비슷한 프
로세스 평가를 위한 모델을 제시한다. ISO 12207 소프트웨어 생명주기 프로세스를 참
고로 하며, 1995년에 ISO/IEC 155504라는 규격을 완성하였다. 프로세스 수행 능력 수준
단계는 6단계이다.
[그림 2-6] CMMI의 프로세스 영역
[그림 2-7] 프로세스 수행 능력 수준 단계
61
• 수준 0, 불안정 단계: 프로세스가 구현되지 않았거나, 프로세스가 그 목적을 달성하
지 못한 단계이다.
• 수준 1, 수행 단계: 프로세스의 목적이 전반적으로 이루어진 단계이다.
• 수준 2, 관리 단계: 정의된 자원의 한도 내에서 그 프로세스가 작업 산출물을 인도한다.
• 수준 3, 확립 단계: 소프트웨어공학 원칙에 기반하여 정의된 프로세스가 수행된다.
• 수준 4, 예측 단계: 프로세스가 목적 달성을 위해 통제되고, 양적인 측정을 통해서
일관되게 수행된다.
• 수준 5, 최적화 단계: 프로세스 수행을 최적화하고, 지속적으로 업무 목적을 만족시킨다.
□
4 테일러링된 적용 개발 방법론에 따른 산출물 유형을 확정한다.
1. 테일러링의 단계와 방법론 테일러링을 이해하고 실행한다.
(1) 테일러링의 개발 준비 단계를 이해한다.
프로젝트 개발 준비 단계에서 테일러링 작업을 실시하고 산출물을 파악한다.
단계
활동
작업
산출물
개발 준비
팀 구성 및 테일러링
사업 팀 구성
팀 구성 계획서
방법론 테일러링
방법론 테일러링 결과서
개발 사전 준비
시스템 개발 준비
-
출처: 특허청(2014. 12) 소프트웨어 개발 방법론 p.25에서 요약하여 제시
<표 2-27> 테일러링 단계
(2) 확정된 개발 방법론을 테일러링할 때의 상세 활동을 이해한다.
확정된 개발 방법론을 테일러링할 때는 시스템 구축의 규모, 기간 및 사업 특성을 고
려하여 발주 기관의 개발 방법론을 적합하게 수행한다. 수행 결과는 방법론 테일러링
결과서이다.
프로젝트 수행 회사는 발주자의 사업 담당자로부터 테일러링 요구사항을 청취하여 테
일러링을 수행하고 그 결과를 작성하여 협의하여야 한다.
순번
구분
설명
이해관계자
P1
방법론 테일러링 요청
사업 담당자에게 테일러링을 요청한다.
수행 회사
P2
테일러링 수행
정보화 부서는 사업 추진 팀에 테일러링
참여를 요청하고, 수행 업체와 방법론 테
일러링을 수행하여 적용 범위를 정한다.
정보화 부서,
수행 회사,
사업 추진 팀
P3
테일러링 결과서 작성
수행 회사는 결과를 문서로 파악한다.
수행 회사
출처: 특허청(2014. 12) 소프트웨어 개발 방법론 p.25에서 요약하여 제시
<표 2-28> 방법론 테일러링의 상세 활동
62
[그림 2-8] 발주자가 테일러링 요구사항을 설명하는 장면
(3) 개발 방법론을 테일러링할 협의체 모임을 구성한다.
테일러링의 협의체 모임 구성은 수행 회사, 정보화 부서, 사업 추진 팀을 기본으로 한
다. 만약 사업 추진 팀이 없으면 정보화 품질 관리 담당자로 구성한다. 테일러링을 할
때에는 적용 방법론의 사업 규모별 표준 프로세스를 참조한다. 사업의 특성에 따라 단
계별 절차 및 산출물에 대한 일부 변경, 생략 등 세부적인 테일러링도 가능하다.
구성원
역할
정보화 부서
개발 방법론 적용 범위 최종 결정
수행 회사
테일러링 요청 및 적용 범위 제안
사업 수행 팀
방법론 단계별 기술 지원
정보화 품질 관리 담당
개발 방법론 소개 및 테일러링 가이드
출처: 특허청(2014. 12) 소프트웨어 개발 방법론 p.25에서 요약하여 제시
<표 2-29> 테일러링 구성원 및 역할
2. 테일러링을 위한 워크숍을 하고, 작성방법과 항목설명 및 사유를 파악한다.
(1) 테일러링을 위한 워크숍을 진행한다.
프로젝트 책임자는 발주자의 테일러링 요구사항을 수렴하여 테일러링 결과를 작성하
는 워크숍을 진행한다.
63
[그림 2-9] 프로젝트 책임자가 테일러링 워크숍을 진행하는 장면
(2) 방법론 테일러링 결과서에 작성 방법과 항목 설명을 파악한다.
(가) 결과서에 작성 방법을 파악한다.
발주 기관의 개발 방법론을 기반으로 사업 특성에 맞게 조정한 결과를 기술한다.
(나) 결과서에 항목 설명을 파악한다.
발주 기관의 개발 방법론 작업 및 산출물을 사업에 적용할지 여부를 적용, 변경,
삭제 등으로 기입한다.
• 개발 단계명을 기입한다.
• 개발 활동 단계명을 기입한다.
• 개발 작업 단계명을 기입한다.
• 개발 단계별 산출물을 기입한다.
(3) 방법론 테일러링 결과서에 테일러링 사유를 파악한다.
개발 방법론 단계 및 산출물을 테일러링하여 추가, 삭제, 변경한 사유를 기입한다.
개발 방법론
적용
여부
(사업명) 방법론
테일러링
사유
단계
활동
작업
산출물
단계
활동
작업
산출물
개발
단계
팀 구성
및
테일러링
팀 구성
팀 구성
계획서
방법론
테일러링
방법론
테일러링
결과서
개발
사전 준비
개발
준비
-
출처: 특허청(2014. 12) 소프트웨어 개발 방법론 p.133에서 요약하여 제시
<표 2-30> 방법론 테일러링 결과서의 작성 양식
64
3. 방법론 테일러링 결과서를 확정한다.
개발 방법론
적용
여부
( 사업명 ) 방법론
테일러링
사유
단계
활동
작업
산출물
단계
활동
작업
산출물
개 발
준비
팀 구성
및
테일러링
사업
팀 구성
팀 구성
계획서
O
O
O
O
O
필수
방법론
테일러링
방법론 테일
러링 결과서
O
O
O
O
O
필수
개발 사전
준비
특허청
정보화
개발 준비
-
O
O
O
O
O
필수
분석
요 구 사 항
분석
요 구 사 항
수집
인터뷰
계획서
O
O
O
O
O
필수
인터뷰
결과서
O
O
O
O
O
필수
요 구 사 항
정의
요구사항
정의서
O
O
O
O
O
필수
유 스 케 이
스 기술
유스케이스
명세서
O
O
O
O
O
필수
요 구 사 항
추적
요구사항
추적표
O
O
O
O
O
필수
업무/ 데
이터 분석
업무 분석
현행 비즈니
스 프로세스
정의서
△
△
△
△
△
선택
현행 비즈니
스 업무 흐
름도
△
△
△
△
△
선택
T o - B e 비즈
니스 프로세
스 정의서
O
O
O
O
O
필수
T o - B e 비즈
니스 업무
흐름도
O
O
O
O
O
필수
데이터
분석
현행 데이터
분석서
△
△
△
△
△
선택
현행 표준사
전 정의서
△
△
△
△
△
선택
전환대상 업
무 및 범위
정의서
▲
▲
▲
▲
▲
특성
아 키 텍 처
현행 아키
현행 아키텍
▲
▲
▲
▲
▲
특성
<표 2-31> 방법론 테일러링 결과서의 작성 예시
65
분석
텍처 분석
처 분석서
분석 단계
테스트
계획
총괄
테스트
계획
총괄 테스트
계획서
O
O
O
O
O
필수
분석 단계
점검
분석 단계
산출물
점검
분석 단계
점검 결과서
O
O
O
O
O
필수
분석 단계
점검 조치
결과서
△
△
△
△
△
선택
설계
아 키 텍 처
설계
SW아키텍
처 설계
SW아키텍처
설계서
O
O
O
O
O
필수
시스템
아키텍처
설계
시스템 아키
텍처 설계서
O
O
O
O
O
필수
애 플 리 케
이션 설계
클래스
설계
클래스 설계
서
O
O
O
O
O
필수
사용자 인
터 페 이 스
설계
사용자 인터
페이스 설계
서
O
O
O
O
O
필수
컴 포 넌 트
설계
컴포넌트
설계서
O
O
O
O
O
필수
인 터 페 이
스 설계
인터페이스
설계서
▲
▲
▲
▲
▲
특성
배치 프로
그램 설계
배치 프로그
램 설계서
▲
▲
▲
▲
▲
특성
사용자 웹
구성 설계
사용자 인터
페이스 웹
구성도
△
△
△
△
△
선택
DB 설계
개념 DB
모델 설계
개념 데이터
모델(ERD)
O
O
O
O
O
필수
논리
DB 설계
논리 데이터
요소 정의서
O
O
O
O
O
필수
물리 데이터
요소 정의서
O
O
O
O
O
필수
논리/물리엔
티티 관계다
이 어 그 램
(ERD)
O
O
O
O
O
필수
표준 데이터
사전 정의서
O
O
O
O
O
필수
물리
DB 설계
Object
정의서
O
O
O
O
O
필수
데이터베이
스 설계서
O
O
O
O
O
필수
데이터 흐
데이터
▲
▲
▲
▲
▲
특성
66
름도(DFD)
작성
흐름도(DFD)
데이터 검
증 식 ( B R )
작성
데이터
검증식(BR)
정의서
▲
▲
▲
▲
▲
특성
데이터 전
환 설계
데이터
전환/검증
계획
데이터
전환 계획서
▲
▲
▲
▲
▲
특성
데이터 전환
매핑 정의서
▲
▲
▲
▲
▲
특성
데이터 전환
프로그램
명세서
▲
▲
▲
▲
▲
특성
데이터 검증
프로그램
명세서
▲
▲
▲
▲
▲
특성
데이터
정비 계획
데이터 정비
계획서
▲
▲
▲
▲
▲
특성
설계 단계
테스트 계
획
단위 테스
트 케이스
작성
단위 테스트
케이스
O
O
O
O
O
필수
통합 테스
트 시나리
오 작성
통합 테스트
시나리오
O
O
O
O
O
필수
시스템
테스트
시 나 리 오
작성
시스템
테스트
시나리오
O
O
O
O
O
필수
사용자
테스트
시 나 리 오
작성
사용자
테스트
시나리오
O
O
O
O
O
필수
설계 단계
점검
설계 단계
산출물
점검
설계 단계
점검 결과서
O
O
O
O
O
필수
설계 단계
점검 조치
결과서
△
△
△
△
△
선택
구현
구현 준비
개발 환경
구성
개발 환경
구성 계획서
O
O
O
O
O
필수
개발
프 로 그 램
개발
프로그램
소스
O
O
O
O
O
필수
단위 테스
트
단위
테스트
단위 테스트
결과서
O
O
O
O
O
필수
구현 단계
점검
웹 표준
점검
웹 접근성
점검 보고서
O
O
O
O
O
필수
웹 호환성
점검 보고서
O
O
O
O
O
필수
67
소스
품질 검사
소스 품질
검사 보고서
O
O
O
O
O
필수
보안 약점
진단 결과서
▲
▲
▲
▲
▲
특성
구현 단계
산출물
점검
구현 단계
점검 결과서
O
O
O
O
O
필수
구현 단계
점검 조치
결과서
△
△
△
△
△
선택
시험
테스트
테스트
준비 작업
-
O
O
O
O
O
필수
통합
테스트
통합 테스트
결과서
O
O
O
O
O
필수
사용자
테스트
사용자 테스
트 결과서
O
O
O
O
O
필수
시험 단계
점검
시험 단계
산출물
점검
시험 단계
점검 결과서
O
O
O
O
O
필수
시험 단계
점검 조치
결과서
△
△
△
△
△
선택
전개
리허설
리허설
준비 작업
전개 전
리허설
계획서
O
O
O
O
O
필수
최종
점검 및
리허설
리허설
체크리스트
O
O
O
O
O
필수
리허설
결과서
O
O
O
O
O
필수
시스템
테스트 결과
서(리허설)
O
O
O
O
O
필수
전개
전개 준비
작업
전개
계획서
O
O
O
O
O
필수
최종 점검
및 리허설
전개
체크리스트
O
O
O
O
O
필수
전개 결과서
O
O
O
O
O
필수
시스템
테스트
결과서(전개)
O
O
O
O
O
필수
인도
인수인계
인 수 인 계
계획
인수인계
계획서
O
O
O
O
O
필수
EA
현행화
EA정보
O
O
O
O
O
필수
EA 연관
정보
O
O
O
O
O
필수
매뉴얼
작성
운영자
매뉴얼
O
O
O
O
O
필수
68
수행 tip
• 발주 기관과 개발 회사의 방법론이 불일치하면 소프
트웨어 개발 프로젝트 관리가 어렵다.
• 발주 기관의 표준 개발 방법론을 기반으로 개발 업무
에 적용할 수 있는 방법론을 테일러링해야 한다.
사용자
매뉴얼
O
O
O
O
O
필수
기반 운영
매뉴얼
O
O
O
O
O
필수
산출물
현행화
-
O
O
O
O
O
필수
산출물
인수인계
-
O
O
O
O
O
필수
교육
교 육 준 비
및 교육
인수인계
교육 참석자
명단
O
O
O
O
O
필수
출처: 특허청(2014. 12) 소프트웨어 개발 방법론 p.132~134.
69
학습2
교수·학습 방법
교수 방법
• 프로젝트의 투입 자원, 일정, 비용과 재사용 현황을 고려하여 반복 전략을 개발 방법론에 반영하
는 방안을 설명한다.
• 생명 주기에 맞춰 개발 단계, 활동, 작업, 절차를 단계별로 설명한다.
• 확정된 개발 방법론에 맞춰 개발 단계, 활동, 작업, 절차에 대한 매뉴얼을 작성하여 결정하는
방법을 지도한다.
• 응용 소프트웨어 개발에 사용할 확정된 개발 방법론의 활동에 대한 업무 내용을 정리하고, 표준
산출물을 정립하는 방법을 설명한다.
• 확정된 개발 방법론을 테일러링하려는 요구사항을 분석하고, 요구사항을 반영한 테일러링의
품질 관리 방안을 지도한다.
• 테일러링된 적용 개발 방법론에 따른 작성 산출물 유형을 확정하는 것을 지도한다.
학습 방법
• 프로젝트의 투입 자원, 일정, 비용과 재사용 현황을 고려하여 반복 전략을 개발 방법론에 반영하
는 방안을 정리한다.
• 생명 주기에 맞춰 개발 단계, 활동, 작업, 절차를 단계별로 정리한다.
• 확정된 개발 방법론에 맞춰 개발 단계, 활동, 작업, 절차에 대한 매뉴얼을 작성하여 결정하는
방법을 파악한다.
• 응용 소프트웨어 개발에 사용할 확정된 개발 방법론의 활동에 대한 업무 내용을 정리하고, 표준
산출물을 정립하는 방법을 정리한다.
• 확정된 개발 방법론을 테일러링하려는 요구사항을 분석하고, 요구사항을 반영한 테일러링의
품질 관리 방안을 파악한다.
• 테일러링된 적용 개발 방법론에 따른 작성 산출물 유형을 확정하는 것을 파악한다.
70
학습2
평 가
평가 준거
• 평가자는 학습자가 학습 목표를 성공적으로 달성하였는지를 평가해야 한다.
• 평가자는 다음 사항을 평가해야 한다.
학습 내용
학습 목표
성취수준
상
중
하
개발 방법론
결정
- 프로젝트의 일정, 비용, 투입 자원과 재사용 현황을
고려하여 반복 전략을 개발 방법론에 반영할 수 있다.
- 확정된 생명 주기와 개발 방법론에 맞춰 소프트웨어
개발 단계, 활동, 작업, 절차 및 각 단계별 종결 기준을
정의할 수 있다.
작성 산출물
적용
- 응용 소프트웨어 개발에 사용할 표준으로 활동 및 절
차 수행에 필요한 기법과 표준, 산출물 표준 양식 및 작
성 기법, 적용 도구를 정립할 수 있다.
- 테일러링된 적용 개발 방법론에 따른 작성 산출물 유
형을 확정할 수 있다.
평가 방법
• 문제해결 시나리오
학습 내용
평가 항목
성취수준
상
중
하
개발 방법론
결정
- 프로젝트의 투입 자원, 일정, 비용과 재사용 현황을 고
려하여 반복 전략을 개발 방법론에 반영하는 방안을 정
리하는 능력
- 생명 주기에 맞춰 개발 단계, 활동, 작업, 절차를 단계별
로 정리하는 능력
- 확정된 개발 방법론에 맞춰 개발 단계, 활동, 작업, 절차
에 대한 매뉴얼을 작성하여 결정하는 방법을 작성하는
능력
작성 산출물
적용
- 응용 소프트웨어 개발에 사용할 확정된 개발 방법론의
활동에 대한 업무 내용을 정리하고, 표준 산출물을 정립
하는 방법을 정리하는 능력
- 확정된 개발 방법론을 테일러링하려는 요구사항을 분석
하고, 요구사항을 반영한 테일러링의 품질 관리 방안을
작성하는 능력
- 테일러링된 적용 개발 방법론에 따른 산출물 유형을 확
정하는 능력
71
• 사례 연구
학습 내용
평가 항목
성취수준
상
중
하
개발 방법론
결정
- 프로젝트의 투입 자원, 일정, 비용과 재사용 현황을 고
려하여 반복 전략을 개발 방법론에 반영하는 방안을 정
리하는 능력
- 생명 주기에 맞춰 개발 단계, 활동, 작업, 절차를 단계별
로 정리하는 능력
- 확정된 개발 방법론에 맞춰 개발 단계, 활동, 작업, 절차
에 대한 매뉴얼을 작성하여 결정하는 방법을 작성하는
능력
작성 산출물
적용
- 응용 소프트웨어 개발에 사용할 확정된 개발 방법론의
활동에 대한 업무 내용을 정리하고, 표준 산출물을 정립
하는 방법을 정리하는 능력
- 확정된 개발 방법론을 테일러링하려는 요구사항을 분석
하고, 요구사항을 반영한 테일러링의 품질 관리 방안을
작성하는 능력
- 테일러링된 적용 개발 방법론에 따른 산출물 유형을 확
정하는 능력
• 구두 발표
학습 내용
평가 항목
성취수준
상
중
하
개발 방법론
결정
- 프로젝트의 투입 자원, 일정, 비용과 재사용 현황을 고
려하여 반복 전략을 개발 방법론에 반영하는 방안을 정
리하는 능력
- 생명 주기에 맞춰 개발 단계, 활동, 작업, 절차를 단계별
로 정리하는 능력
- 확정된 개발 방법론에 맞춰 개발 단계, 활동, 작업, 절차
에 대한 매뉴얼을 작성하여 결정하는 방법을 작성하는
능력
작성 산출물
적용
- 응용 소프트웨어 개발에 사용할 확정된 개발 방법론의
활동에 대한 업무 내용을 정리하고, 표준 산출물을 정립
하는 방법을 정리하는 능력
- 확정된 개발 방법론을 테일러링하려는 요구사항을 분석
하고, 요구사항을 반영한 테일러링의 품질 관리 방안을
작성하는 능력
- 테일러링된 적용 개발 방법론에 따른 산출물 유형을 확
정하는 능력
72
피드백
1. 문제해결 시나리오
- ‘개발 방법론 결정’과 ‘작성 산출물 적용’은 학습 내용의 각 각 평가 항목 관련 사항
에 대한 문제 해결을 위한 시나리오를 작성하여 해결에 이르는 과정을 평가하고, 평가 결
과 일정 점수 이하인 학생들은 추가 학습 후 문제해결을 재시도하도록 한다.
2. 사례 연구
- ‘개발 방법론 결정’과 ‘작성 산출물 적용’은 학습 내용의 각 각 평가 항목 관련 사항
에 대한 현재 진행 중이거나 유사한 이전의 사례를 선정하여 그 성공이나 실패 요인을 분
석 적용하는 과정을 평가하고, 평가 결과 일정 점수 이하인 학생들은 추가 학습 후 사례연
구를 재시도하도록 한다.
73
• 김치수(2015). 『쉽게 배우는 소프트웨어 공학』. 한빛아카데미(주).
• 김향곤, 소프트웨어개발 방법론, 대구 카톨릭대학
• 기술표준원(2013. 11). 프로젝트 관리기준(ISO 21500) 이행가이드.
• 과학기술정보통신부 보도자료(2016. 9. 6). 상용 소프트웨어 현재와 미래 조망.
• 보건복지부(2013). 의료 정보시스템 구축 제안 요청서.
• 이형주 엮음(2016). 『소프트웨어 공학』. ㈜지식과미래.
• 소프트웨어개발 방법론. https://ko.wikipedia.org에서 2017. 6.13 검색.
• 지식경제부(2010.2.26.). 소프트웨어 사업대가의 기준.
• 정보통신기술진흥센터(2016. 9. 6). 글로벌 상용 소프트웨어 백서.
• 특허청(2014). 소프트웨어개발 방법론.
• 한국소프트웨어산업협회(2016). 소프트웨어 사업 대가 산정 가이드.
• CMMI (CMMI(Capability Maturity Model Integration) 모델
• ISO/ IEC 12207 모델 (소프트웨어 개발 생명주기 프로세스)
• ISO/ IEC 14598 품질 평가 프로세스
• SPICE (ISO 15504) 모델 (프로세스 평가 표준)
74
작업 포트폴리오
1. 개발 방법론 선정을 위한 개인별 평가서
개발 방법론 선정을 위한 개인별 평가서
평가 대상 방법론 : 컴포넌트 기반 방법론
직책 : 부장 O O O
근무부서 : 정보화 부서
평가 항목
정량 평가 (매우 적합하다, 매우 적합하지 않다)
정성 평가
5
4
3
2
1
전략계획
개발준비
분석
설계
구현
시험
전개
인도
핵심자산
실행
정량평가 점수
75
2. 개발 방법론 선정을 위한 평가서
개발 방법론 선정을 위한 평가서
평가자 :
직책 :
근무부서 :
평가 항목
정보공학
방법론
컴포넌트
기반 방법론
애자일
방법론
비고
전략계획
개발준비
분석
설계
구현
시험
전개
인도
핵심자산
실행
정량평가 총점
정성평가 의견
평가 결과
㈜ 평가 항목별 평가 값은 적용 가능성에 대해 최대 5점에서 1점까지 평가
76
3. 방법론 테일러링 결과서의 양식
개발 방법론
적용
여부
(사업명) 방법론
테일러링
사유
단계
활동
작업
산출물
단계
활동
작업
산출물
개발준
비
팀 구성 및
테일러링
사업 팀
구성
팀 구성 계획
서
방법론
테일러링
방법론 테일
러링 결과서
개발 사전
준비
특허청
정보화
개발준비
-
분석
요구사항분
석
요구사항
수집
인터뷰계획서
인터뷰결과서
요구사항
정의
요구사항정의
서
유스케이스
기술
유 스 케 이 스
명세서
요구사항
추적
요구사항 추
적표
업무/ 데이
터 분석
업무 분석
현행비즈니스프
로세스 정의서
현행비즈니스
업무흐름도
To-Be비즈니
스프로세스정
의서
To-Be비즈니
스업무흐름도
데이터
분석
현행데이터분
석서
현행표준사전
정의서
전환대상업무
및 범위정의서
아키텍처분
석
현행아키텍
처 분석
현행 아키텍
처 분석서
분 석 단 계
테스트계획
총괄테스트
계획
총괄테스트계
획서
분석단계점
검
분 석 단 계
산출물점검
분석단계점검
결과서
분석단계점검
조치결과서
77
설계
아키텍처설
계
SW아키텍처
설계
SW아키텍처설
계서
시스템
아 키 텍 처
설계
시스템아키텍
처설계서
애플리케이
션설계
클래스
설계
클래스설계서
사용자
인터페이스
설계
사용자인터페
이스설계서
컴 포 넌 트
설계
컴포넌트설계
서
인터페이스
설계
인터페이스설
계서
배치프로그
램 설계
배치프로그램
설계서
사용자 웹
구성 설계
사용자 인터
페이스 웹 구
성도
DB설계
개념 DB모
델 설계
개념데이터모
델(ERD)
논리
DB설계
논리데이터요
소정의서
물리데이터요
소정의서
논리/물리 엔
티티관계다이
어그램(ERD)
표준데이터사
전정의서
물리
DB설계
Object 정의서
데이터베이스
설계서
데이터흐름
도(DFD)작성
데이터흐름도
(DFD)
데이터검증
식(BR) 작성
데이터검증식
(BR) 정의서
데이터전환
설계
데이터 전
환/ 검증계
획
데이터 전환
계획서
데이터 전환
매핑 정의서
데이터 전환
프로그램 명
세서
78
데이터 검증
프로그램 명
세서
데이터 정
비계획
데 이 터 정 비
계획서
설 계 단 계
테스트계획
단위테스트
케이스작성
단 위 테 스 트
케이스
통합테스트
시나리오작
성
통 합 테 스 트
시나리오
시스템테스
트시나리오
작성
시스템테스트
시나리오
사용자테스
트시나리오
작성
사용자테스트
시나리오
설계단계점
검
설 계 단 계
산출물점검
설계단계점검
결과서
설계단계점검
조치결과서
구현
구현준비
개 발 환 경
구성
개발환경 구
성 계획서
개발
프 로 그 램
개발
프로그램소스
단위 테스
트
단위 테스
트
단 위 테 스 트
결과서
구현단계점
검
웹표준점검
웹접근성 점
검 보고서
웹호환성 점
검 보고서
소스품질검
사
소스품질 검
사 보고서
보안약점 진
단 결과서
구 현 단 계
산출물점검
구현단계점검
결과서
구현단계점검
조치결과서
시험
테스트
테스트 준
비작업
-
통합테스트
통합테스트결
과서
사용자테스
트
사용자테스트
결과서
79
시험단계점
검
시 험 단 계
산출물점검
시험단계
점검 결과서
시험단계
점검 조치결
과서
전개
리허설
리허설준비
작업
전개 전 리허
설 계획서
최 종 점 검
및 리허설
리허설
체크리스트
리허설
결과서
시스템테스트
결과서(리허설)
전개
전개준비작
업
전개 계획서
최 종 점 검
및 리허설
전개
체크리스트
전개 결과서
시스템테스트
결과서(전개)
인도
인수인계
인 수 인 계
계획
인수인계
계획서
EA 현행화
EA정보
EA연관
정보
매뉴얼 작
성
운영자
매뉴얼
사용자
매뉴얼
기반운영
매뉴얼
산출물 현
행화
-
산출물 인
수인계
-
교육
교 육 준 비
및 교육
인수인계 교
육 참석자 명
단
NCS학습모듈 개발이력
발행일
2015년 12월 31일
세분류명
응용SW엔지니어링(20010202)
개발기관
한국소프트웨어기술진흥협회, 한국직업능력개발원
집필진
강석진(이비스톰)*
검토진
김승현(경희대학교)
김보운(이화여자대학교)
엄기영(우리에프아이에스)
김홍진(LG CNS)
장온순(한국IT컨설팅)
유은희
조상욱(세종대학교)
장현섭((주)커리텍)
조성호(삼성카드)
주선태(T3Q)
진권기(이비스톰)
최재준
*표시는 대표집필자임
발행일
2017년 12월 31일
세분류명
응용SW엔지니어링(20010202)
개발기관
(사)한국정보통신기술사협회, 한국직업능력개발원
집필진
박미화(동국대학교)*
검토진
권순명(㈜씨에이에스)
김승환((주)캐롯아이)
김태형((사)한국정보통신기술사협회)
김원기(LG CNS)
양승화(라이나생명보험)
김종명(SM신용정보)
이성화(시스원)
박현기(프리랜서)
황극인(㈜코스콤)
유현주((사)한국정보통신기술사협회)
이구성(한국아이씨티(주))
이숙희(서초문화예술정보학교)
최창선(한빛디엔에스(주))
홍민표(한화S&C)
*표시는 대표집필자임
발행일
2018년 12월 31일
학습모듈명
소프트웨어개발방법론 활용(LM2001020229_16v4)
개발기관
한국직업능력개발원
소프트웨어개발방법론 활용(LM2001020229_16v4)
저작권자
교육부
연구기관
한국직업능력개발원
발행일
2018. 12. 31.
※
이 학 습 모 듈 은 자 격 기 본 법 시 행 령 (제 8조 국 가 직 무 능 력 표 준 의 활 용 )에 의 거 하 여 개 발
하 였 으 며 , NCS통합포털사이트(http://www.ncs.go.kr)에서 다운로드 할 수 있습니다.