Transcript 슬라이드 제목 없음
S/W 개발 방법론 - 마르미 2003. 7. 14. 김진삼 042-860-5995 [email protected] ETRI 1 순서 1. 개요 2. 관련 표준 3. 마르미 개발방법론 4. 마르미-III 개발방법론 5. 공정 비교 6. 요약 2 1. 개요 Project Software Development Process 용어 3 Project Project - People performing Processes to produce Product Perform People Responsible For Process Project Produces Product [Three Amigos, Unified Process] 4 Software Development Process Perform People Process Project Responsible For Produces Product Performs Role 1 1 0..* Activity 0..* 0..* Uses IsResponsibleFor input 0..* Produces 0..* WorkProduct 0..* output [OMG, SPEM] 5 용어 process A sequence of steps performed for a given purpose; for example, the software development process. [IEEE Std 610.12-1990] A set of interrelated activities, which transform inputs into outputs. [ISO 12207] software process The process or set of processes used by an organization or project to plan, manage, execute, monitor, control and improve its software related activities.[ISO 15504] software development methodology an integrated set of software engineering methods, policies, procedures, rules, standards, techniques, tools, languages, and other methodologies for analyzing, designing, implementing, and testing software. [Thayer & Thayer Project Management 1997] 6 2. 관련 표준 ISO 12207 ISO 15504 OMG SPEM 7 ISO 12207 Standard for Software Life Cycle Processes Three Categories of Process ● ● ● Primary Processes Supporting Processes Organizational Processes Process Refinement ● ● Process Activity Task Activity Task 8 ISO 12207 Primary Processes Software retirement Management Maintenance review.acceptance Modification implementation Problem and modification analysis Process implementation User support System operation Operational testing Process implementation Software acceptance support Software installation System qualification testing System integration Software qualification testing Software integration Software coding and testing Software detailed design Software architectural design Software requirement analysis System design Systems requirement analysis Process implementation Maintenance Task Process Operation Acquisition Primary Processes Development Supply Initiation Request for proposal preparation Contract preparation and update Supplier monitoring Acceptance and completion Activity Initiation Preparation Contract Planning Execution and control Review and evaluation Delivery and completion 9 ISO 12207 Operational Processes Problem resolution Process implementation Problem Resolution Process implementation Documentation Design and development Production Audit Maintenance Audit Process implementation Process implementation Technical review Project management review Configuration identification Joint Review Process implementation Supporting Processes Configuration Management Configuration status accounting Configuration evaluation Release management and delivery Validation Validation Process implementation Process implementation Verification Verification Process implementation Quality Product assurance Assurance Process assurance Assurance of quality systems 10 ISO12207 Management Processes Initiation and scope definition Planning Training Training Management Execution and control Training material development Review and evaluation Process implementation Closure Organizational Processes Process improvement Process assessment Process establishment Improvement Infrastructure Process implementation Establish of the infrastructure Maintenance of the infrastructure 11 ISO 15504 SPICE – Software Process Improvement and Capability dEtermination Process identifies changes to is examined by identifies capability and risks of Process Assessment leads to Process Improvement leads to motivates Capability Determination 12 ISO 15504 – Reference Model CAPABILITY Continuous Improvement Process Change Process Control Process Measurement Process Resource Process Definition Work Product Management Performance Management Process Performance Level 5 : Optimizing Process Level 4 : Predictable Process Level 3 : Established Process Level 2 : Managed Process Level 1 : Performed Process PROCESS 13 ISO 15504 – Process Category Primary life cycle processes ● ● Customer-Supplier Process Category (CUS) Engineering Process Category (ENG) Supporting life cycle processes ● Support Process Category (SUP) Organizational life cycle processes ● ● Management Process Category (MAN) Organization Process Category (ORG) 14 Customer-Supplier Process Category CUS Processes CUS.1 Acquisition Process Process Type basic CUS.1.1 Acquisition Preparation Process component CUS.1.2 Supplier Selection Process component CUS.1.3 Supplier Monitoring Process component CUS.1.4 Customer Acceptance Process component CUS.2 Supply Process basic CUS.3 Requirements Elicitation Process new CUS.4 Operation Process extended CUS.4.1 Operational Use Process extended component CUS.4.2 Customer Support Process extended component 15 Engineering Process Category ENG Processes ENG.1 Development Process Process Type basic ENG.1.1 System Requirements Analysis and Design process component ENG.1.2 Software Requirements Analysis Process component ENG.1.3 Software Design Process component ENG.1.4 Software Construction Process component ENG.1.5 Software Integration Process component ENG.1.6 Software Testing process component ENG.1.7 System Integration and Testing Process component ENG.2 System and Software Maintenance Process basic 16 Support Process Category SUP Processes SUP.1 Documentation Process Process Type extended SUP.2 Configuration Process basic SUP.3 Quality Assurance Process basic SUP.4 Verification Process basic SUP.5 Validation Process basic SUP.6 Joint Review Process basic SUP.7. Audit Process basic SUP.8. Problem Resolution Process basic 17 Management Process Category MAN Processes Process Type MAN.1 Management Process basic MAN.2 Project Management Process new MAN.3 Quality Management Process new MAN.4 Risk Management Process new 18 Organization Process Category ORG Processes Process Type ORG.1 Organizational Process new ORG.2 Improvement Process basic ORG.2.1 Process Establishment Process component ORG.2.2 Process Assessment Process component ORG.2.3 Process Improvement Process component ORG.3 Human Resource Management Process extended ORG.4 Infrastructure Process basic ORG.5 Measurement Process new ORG.6 Reuse Process new 19 OMG SPEM Software Process Engineering Metamodel Specification ● ● ● ● Metamodel for defining lifecycle processes and their components Extends the unified modeling language(UML) with process specific stereotypes Designed to accommodate a large range of existing processes Many existing processes are used to provide examples in the standard Scope ● ● Metamodel for defining process and their component – the actual enactment of processes is not in the scope of this model Defining the minimal set of process modeling elements necessary to describe any software development process without adding specific models or constraints for any specific area or discipline, such as project management or analysis 20 Levels of Modeling 21 SPEM – Process Structure 0..n +parentwork 0..n WorkDefinition +subwork Activity +activity 0..n WorkProduct 1 0..n +activity +step Step 0..n +workproduct 0..1 +responsibleRole ProcessRole 0..1 +assistant 22 SPEM – Process Component Process ● A stand alone, complete, end-to-end process Discipline ● ● Partitions activities into common themes Defines the conceptual order of activities which generates a work product or apply a technique ProcessComponent Process Discipline 23 SPEM - Process Lifecycle Phase ● Has a major milestone as exist criteria Lifecycle ● Sequence of phases that achieve a specific goal Iteration ● A subset of phase with minor milestone WorkDefinition Iteration Phase Lifecycle +governingLifecycle 0..1 0..n Process +governedProcesses 24 3. 마르미 개발방법론 개발 배경 어원 및 종류 메타 모형 구성 보급 활성화 정책 25 개발 배경 개발방법론의 필요성 ● ● ● ● ● 체계적인 시스템 개발 및 관리의 필요 프로젝트 구성원의 효율적인 역할 할당 동일한 의사소통 수단의 필요 기술 축적 및 유지보수의 어려움 최신 정보 기술의 반영 필요 자체 기술 개발에 따른 기술 예속 방지 ● ● 국내 개발진에 의한 기술 확보 및 축적 개발 현장에서 활용되고 있는 경험적 지식의 체계화 마르미 개발방법론 원칙 ● ● 구체적인 개발 및 관리 절차 제시 실용적인 개발 기법 및 지침 제공 26 어원 및 종류 어원 ● ● 마름질 – 자신의 옷에 적합한 옷을 만들기 위해 재단하다. 마르미 (MaRMI - Magic and Robust Methodology Integrated) : 국내에서 단편적으로 널리 사용되고 있지만 종합적으로는(즉 방 법론으로서는) 체계적인 구성을 갖추고 있지 못한 개념, 방법, 기 법, 절차 및 경험적 지식을 쉽고 편리하게 사용할 수 있도록 재구 성하여 ‘우리의 옷’(개발 여건)에 보다 적합하도록 만들어진 시스 템 개발방법론 종류 ● ● ● 마르미-I : 정보공학 및 구조적 방법 기반 개발방법론 마르미-II : UML 기반 객체지향 시스템 개발방법론 마르미-III : 컴포넌트 기반 개발방법론 27 메타 모형 (1/2) 단계 Phase 미니프로젝트 Mini-Project 역할 Role 활동 Activity 기법 Technique 작업 Task 산출물 WorkProduct 도구 Tool 절차 Procedure 28 메타 모형 (2/2) 단계(Phase) ● 방법론 구성 작업 단위의 최상위 수준으로 활동의 구조적 집합 활동(Activity) ● ● 논리적 연결성이 있는 작업의 구조적 집합 모든 활동에는 점검 사항을 제시 작업(Task) ● ● 개발자가 수행하는 최소 단위의 일로 하나 이상의 절차로 구성 단일 목표를 성취하기 위한 과정으로 프로젝트 계획 수립의 기본 단위 절차(Procedure) ● 방법론 계층의 최하위 수준으로 작업을 수행하기 위한 순서 미니프로젝트(Mini-Project) ● 활동의 한 유형으로 제한된 시간 내에 사용 가능한 시스템을 생성 기법(Technique) ● 전문적인 절차와 개념, 기술을 사용하여 작업을 완수할 수 있는 수행 방법 도구(Tool) ● 작업을 효율적으로 수행하기 위한 수단 역할(Role) ● 프로젝트 내에서 작업을 수행하는 조직 또는 사람 산출물(WorkProduct) ● 작업의 수행결과로 생성되는 문서나 제품 29 구성 마르미 • 개요서 • 전자매뉴얼 마르미 • 절차서 미니프로젝트 Mini-Project 역할 Role 단계 Phase 마르미 • 기법서 활동 Activity 기법 Technique 작업 Task 산출물 WorkProduct 절차 Procedure 마르미 지원도구 • 튜토리얼 • 사용자지침서 도구 Tool 마르미 • 양식정의서 30 절차서 - 단계 단계구성도 목적 활동구조 주요 기법 주요 산출물 주요 입력물 요구사항 분석 타 단계와의 관계 아키텍처 프로토타이핑 아키텍처 정의 주요 성공요인 유스케이스 모형 정제 A0102 소프트웨어아키텍처 정의 A0202 팀의 UI 설계 설계 전략 정의 객체 모형 작성 A0104 A0204 A0106 비즈니스 컴포넌트 설계 A0206 아키텍처 프로토타입 계획 A0302 역할 아키텍처 프로토타입 개발 A0304 테스트 및 전환 계획 테스트 계획 전환 계획 A0402 A0404 아키텍처 프로토타입 평가 A0306 시스템 아키텍처 정의 A0208 컴포넌트 획득 데이터 모형 작성 A0210 A0212 31 절차서 - 활동 활동구성도 목적 아키텍처 정의 작업 구조 주요 기법 소프트웨어아키텍처 정의 A0202 주요 산출물 설계 전략 정의 주요 입력물 A0204 비즈니스 컴포넌트 설계 A0206 타 활동과의 관계 점검 사항 시스템 아키텍처 정의 A0208 컴포넌트 획득 데이터 모형 작성 A0210 A0212 32 절차서 - 작업 비전기술서 요구사항기술서 유스케이스모형기술서 객체모형기술서 시스템아키텍처정의서(초기) 개요 절차구성도 절차 설명 사용 기법 아키텍처 요구사항 정의 아키텍처 설계자 입력물/산출물 지침 대안 아키텍처 정의 품질 시나리오 도출 팀의 역할 대안 아키텍처 평가 업무전문가 최종 아키텍처 결정 소프트웨어 아키텍처 상세설계 요구분석가 소프트웨어아키텍처정의서 33 작업 단위 번호 단계 DD DD 작업 번호 활동 번호 단계 식별 문자 P (프로젝트 시작) C (프로젝트 진행) E (프로젝트 종료) R (요구 획득) A (아키텍처) D (점진적 개발) T (인도) 예) P0000 – 프로젝트시작 단계 A0200 – 아키텍처 단계/아키텍처정의 활동 D0604 – 점진적개발 단계/컴포넌트테스트 활동/컴포넌트테스트수행 작업 34 기법서 검토 회의 정의 시스템 개발과정에서 작성된 산출물들을 관련자들이 함께 검토함 으로서, 산출물의 완성도를 높이고, 참여자 간의 공통 인식을 증진 시키기 위한 기법이다. 목적 • 참석자들간의 정보의 교환 및 공유 • 문제의 발견 또는 정의(문제해결을 위한 공동의 노력) •… 예제 정의 목적 예제 구성 요소 적용 지침 고려 사항 관련 작업 기법 결과물 … 관련 작업 기법 결과물 35 양식정의서 검토의견서 검토 대상 유스케이스 모형 검토자 요구검토자 작성자 조준성 산출물 유스케이스 다이어그램 유스케이스 시나리오 작성일 02/03/30 검토 의견 다음과 같은 사항에 대하여 검토가 필요합니다. - 유스케이스의 복잡도/ 크기가 서로 많이 차이가 남 근거/관련 내용 방법론이 제시하는 기법에 따르면, 유스케이스의 크기 가 일정하도록 하는 것이 좋 다고 지적하고 있으나, 현재 는 그렇지 못합니다. 해결 방안 유스케이스의 재검토 예제 정의 항목 설명 입력물 관련 작업 지침 및 고려사항 36 보급 활성화 정책 추진 배경 ● ● ETRI와 한국소프트웨어산업협회(KOSA), 마르미 개발방법론 확 산 보급을 위한 협력 협정 체결(2001, 10) 국내 S/W산업의 품질 향상을 통한 국제 경쟁력 확보 및 대외 신 인도 향상을 위한 마르미 개발방법론 보급 활성화 추진(2002. 10.) 추진 내용 ● ● ● ● 공공기관, 대학(원), 정보시스템 감리기관에는 무상 공급 KOSA 및 한국소프트웨어컴포넌트컨소시엄(KCSC) 회원사 착수 기본료 대폭 감면 제품 매출이 아닌 용역 매출의 경우 매출정률사용료 면제 마르미 개발방법론 교육 정례화(6회/년) 37 4. 마르미-III 개발방법론 특징 공정 38 특징(1/2) 모형 표기법으로 UML 사용 Use case 중심 개발 ● ● ● 사용자 요구사항 분석의 중심 기법 컴포넌트 식별 시 고려 점진적 개발 단위 산업계 표준 플랫폼 명세 기반 ● ● Enterprise JavaBeans (EJB) COM+ (.NET) 아키텍처 중심 ● ● ● 시스템 품질을 고려한 재사용성의 증대 개발 초기에 견고한 아키텍처 정의 마르미-III의 시스템 아키텍처 – 비즈니스 컴포넌트 아키텍처 – 소프트웨어 아키텍처 39 특징(2/2) 점진적 개발 ● 미니프로젝트(Time Box) – 소규모팀, 엄격한 개발 일정 – 1개 이상 컴포넌트 개발 – 순차적/병행적 진행 ● ● 요구 획득 개발자의 지속적 동기 부여 위험관리 ● ● ● 아키 텍처 점진적 개발 프로젝트 위험최소화 고객중심의 변경 관리 – 사용자 참여 검증 ● 종료 프로젝트 진행 시작 미니 프로젝트 인도 [공정 개념도] UI/아키텍처 프로토타이핑 초기에 위험의 규명 / 평가 / 해결 방안 마련 체계적이고 지속적인 위험 관리 마르미, 마르미-II와 일관성 유지 ● ● 기존 마르미, 마르미-II 사용자의 적응성 제고 방법론 메타모형, 관리 및 지원 활동과 같은 공통 부분 활용 40 공정 프 로 젝 트 시 작 요 구 획 득 Plan Requirement 아 키 텍 처 점 진 적 개 발 Architecture Development 인 도 프 로 젝 트 종 료 Transfer End 프로젝트 진행 Control 관리 공정 개발 공정 41 프로젝트시작 단계 프로젝트 준비 프로젝트 기안 P0102 프로젝트 제안 요청 P0104 프로젝트 제안 P0106 프로젝트 제안 선정 P0108 프로젝트 계약 프로젝트 계획 프로젝트 확정 P0202 프로젝트 계획수립 P0204 품질관리 정의 수행방안 P0206 프로젝트 승인 획득 P0208 P0110 목적 ● ● 프로젝트 수행에 대한 승인을 확보하고, 시스템 구축을 위한 체계 적인 준비 작업을 수행하고, 필요 시 프로젝트 용역계약을 체결한 다. 정보시스템 구축 계약 내역에 따라 프로젝트를 확정하고 상세한 수행계획을 수립한다. 42 프로젝트시작 단계 – 산출물 연관도 제안업체정보 프로젝트기안서 프로젝트 아이디어 제안요청계획서 프로젝트제안서 프로젝트개요서 제안요청업체목록 프로젝트제안계획서 프로젝트수행전략기술서 제안평가기준 제안요약서 프로젝트예산내역서 제안요청서 제안평가계획서 프로젝트계약조건내역서 제안서접수목록 프로젝트계약서 품질관리계획서 품질보증전략기술서 제안평가서 프로젝트정의서 품질관리절차서 품질관리팀운영계획서 프로젝트 진행 제안평가팀운영계획서 프로젝트 승인문서 프로젝트수행계획서 프로젝트착수보고서 문서관리절차서 프로젝트수행계획서 형상관리절차서 품질관리계획서 43 프로젝트 진행 단계 단계 준비 단계 착수 프로젝트 환경 준비 작업계획 수립 단계 통제 C0102 C0104 C0106 미니프로젝트반복계획수립 C0108 프로젝트 팀 교육 프로젝트 작업 할당 단계 점검 C0202 미니프로젝트 내부 검토 C0302 프로젝트 참여자 동기부여 C0204 미니프로젝트 합동 검토 C0304 프로젝트 진행 추적 미니프로젝트 평가 품질관리 수행 C0206 C0208 단계 내부 검토 단계 합동 검토 C0110 단계 평가 C0306 C0308 C0310 C0312 목적 ● 개발 프로세스의 각 단계 착수를 준비하고 프로젝트 진행 관리 및 품질 관리를 수행한다. 44 프로젝트 진행 단계 – 산출물 연관도 단계 산출물 프로젝트수행계획서 착수문서 품질보증계획서 프로젝트개발환경정의서 교육훈련보고서 단계평가서 내부검토의견서 합동검토의견서 단계작업계획서 미니프로젝트수행계획서 단계평가결과서 프로젝트수정계획서 프로젝트현안목록 미니프로젝트수행결과서 작업지시서 위험분석서 품질관리수행결과서 사전품질점검목록 품질점검결과서 수행능력평가서 프로젝트 종료 프로젝트진척보고서 품질관리작업지시서 형상관리목록 45 요구획득 단계 요구사항 이해 요구사항 정의 개발 전략 수립 시스템 비전 개발 R0102 유스케이스 모형 작성 R0202 초기 시스템 아키텍처 정의 R0302 요구사항 수집 R0104 개념 모형 작성 재사용 컴포넌트 조사 업무 모형 작성 R0106 UI 프로토타이핑 R0206 R0204 R0304 목적 ● ● ● 시스템 비전을 기반으로 요구사항을 수집하고, 경우에 따라서는 시스템 의 배경에 대한 명확한 이해를 획득하기 위해 업무 모형을 작성한다. 유스케이스 및 개념 모형의 작성을 통해 시스템의 범위를 명확히 하고 UI 프로토타이핑을 통해 사용자와 함께 검증한다. 요구사항, 유스케이스 및 개념 모형을 기반으로 시스템 아키텍처(초안) 을 정의하고 재사용 가능한 컴포넌트를 조사한다. 46 요구획득 단계 - 산출물 연관도 사용자요구수집서 사용자정의서 현행시스템분석서 설문분석서 수집자료정의서 비전기술서 요구사항기술서 시스템아키텍처정의서(초기) 업무유스케이스모형기술서 컴포넌트 라이브러리 재사용컴포넌트후보목록 유스케이스모형기술서 개념모형기술서 UI 프로토타입 47 아키텍처 단계 요구사항 분석 아키텍처 정의 아키텍처 프로토타이핑 테스트 및 전환 계획 유스케이스 모형 정제 A0102 소프트웨어아키텍처 정의 A0202 아키텍처 프로토타입 계획 A0302 테스트 계획 UI 설계 설계 전략 정의 아키텍처 프로토타입 개발 A0304 전환 계획 객체 모형 작성 A0104 A0204 A0106 비즈니스 컴포넌트 설계 A0206 A0402 A0404 아키텍처 프로토타입 평가 A0306 시스템 아키텍처 정의 A0208 컴포넌트 획득 데이터 모형 작성 A0210 A0212 목적 ● ● 유스케이스 구조화와 시스템 객체 모형 통하여 요구사항 분석한다. 비즈니스 중심의 컴포넌트 아키텍처와 구현 중심의 소프트웨어 아키텍 처를 정의한다. 48 아키텍처 단계 - 산출물 연관도 시스템아키텍처정의서(초기) 업무유스케이스모형기술서 프로젝트계획서 유스케이스 분석 유스케이스모형기술서 UI설계서 아키텍처단계작업계획서 UI흐름정의서 화면정의서 아키텍처 정의 소프트웨어아키텍처정의서 아키텍처 프로토타이핑 아키텍처프로토타이핑 수행계획서 메커니즘기술서 데이터모형설계서 컴포넌트명세서 컴포넌트인터페이스정의서 보고서정의서 컴포넌트구현코드, 테스트결과보고서 검토의견서, 표준프레임워크컴포넌트, 시스템아키텍처정의서(확정) 컴포넌트협력도 (collaboration D) 객체모형기술서 컴포넌트순서도 (Sequence D) 시스템아키텍처정의서 테스트 및 전환계획 테스트계획서 시스템전환계획서 아키텍처단계평가서 49 점진적 개발 단계(J2EE) 미니프로젝트 요구사항 및 아키텍처 정제 요구사항 정제 아키텍처 정제 D0102 D0104 컴포넌트 기본 설계 클래스 구조 설계 D0202 상호작용 설계 D0204 가변성 설계 D0206 패턴 적용 설계 D0208 데이터베이스설계 D0210 컴포넌트 상세 설계 UI 상세 설계 D0302 패키지 정의 D0304 EJB 매핑 정의 D0306 컴포넌트 테스트 컴포넌트 및 시스템 구현 서버컴포넌트 구현 D0402 EJB 메시지 매핑 D0308 UI구현 D0404 지속성 설계 D0310 데이터 전환 준비 트랜잭션 설계 D0312 보안 설계 D0314 배치 설계 DB 구축 D0406 D0408 지침서 개발 컴포넌트 테스트 준비 D0602 컴포넌트 테스트 수행 D0604 컴포넌트 테스트 평가 D0606 통합 테스트 시스템 테스트 D0316 사용자 지침서 개발 D0502 온라인 도움말 작성 D0504 통합 테스트 준비 D0702 통합 테스트 수행 D0704 통합 테스트 평가 D0706 시스템 테스트 준비 D0802 시스템 테스트 수행 D0804 시스템 테스트 평가 D0806 50 점진적 개발 단계(.NET) 미니프로젝트 요구사항 및 아키텍처 정제 컴포넌트 상세 설계 UI 상세 설계 요구사항 정제 D0102 D0302 네임 스페이스 정의 D0304 아키텍처 정제 D0104 컴포넌트 기본 설계 컴포넌트 테스트 컴포넌트 및 시스템 구현 서버컴포넌트 구현 D0402 COM+ 어플리케이션 설계 D0306 UI구현 D0404 서비스 컴포넌트 설계 데이터 전환 준비 DB 구축 D0406 D0408 컴포넌트 테스트 준비 D0602 컴포넌트 테스트 수행 D0604 컴포넌트 테스트 평가 D0606 D0308 클래스 구조 설계 D0202 배치설계 상호작용 설계 D0204 가변성 설계 D0206 패턴 적용 설계 D0208 D0310 지침서 개발 통합 테스트 시스템 테스트 데이터베이스설계 D0210 사용자 지침서 개발 D0502 온라인 도움말 작성 D0504 통합 테스트 준비 D0702 통합 테스트 수행 D0704 통합 테스트 평가 D0706 시스템 테스트 준비 D0802 시스템 테스트 수행 D0804 시스템 테스트 평가 D0806 51 점진적 개발 단계 유스케이스 정제 ● ● 유스케이스 정제(구현 관점) 일련의 미니프로젝트 수행을 통하여 시스템 구축 컴포넌트 기본 설계 ● ● 컴포넌트 내부 및 DB 설계 가변성, 패턴적용 설계 컴포넌트 상세 설계 ● 운영 플랫폼을 고려한 컴포넌트(UI 포함) 상세 설계 컴포넌트 및 시스템 구현 ● 컴포넌트 구현 단위테스트 시스템 테스트 MP 3 MP 2 MP 1 52 점진적 개발단계 - 산출물 연관도 유스케이스모형기술서 객체모형기술서 메커니즘기술서 시스템아키텍처정의서 데이터모형기술서 컴포넌트 기본 설계 컴포넌트설계서 - 컴포넌트 내부 클래스도 - 내부 순서도/협력도 컴포넌트 상세 설계 UI상세설계서 패키지정의서(웹,서버) 트랜잭션설계서 자바빈즈목록 가변성설계서 웹페이지목록 설계패턴기술서 웹컨트롤러목록 데이터베이스설계서 배포정의서(웹) 웹구현클래스모형기술서 컴포넌트상세설계서 구현클래스모형기술서 EJB 정의서 SQL정의서 보안정의서 배치정의서(서버) 컴포넌트 구현 컴포넌트/통합 테스트 테스트설계서 서버 컴포넌트 테스트수행보고서 UI 컴포넌트 시스템 테스트 테스트설계서 테스트결과보고서 테스트 수행보고서 사용자지침서 테스트결과보고서 온라인도움말(코드) 데이터베이스 전환프로그램 53 인도 단계 사용자 교육 교육 준비 T0102 교육 실시 T0104 시스템 설치 비상대책 수립 T0202 운영자원 설치 T0204 데이터 전환 T0206 응용 시스템 설치 T0208 인수 테스트 인수 테스트 준비 T0302 시스템 인도 인수 테스트 수행 T0304 시스템 관찰 T0402 인수 테스트 평가 T0306 사용자 승인 및 인도 T0404 목적 ● ● 개발된 결과물을 컴포넌트 리포지토리, 또는 운영될 사용자 환경에 설 치한다. 기존에 운영되고 있는 리포지토리나 시스템이 있을 경우 신규 시스템으로 전환하여 원활한 운영이 가능하도록 한다. 개발된 컴포넌트 또는 시스템에 대하여 사용자 요구사항과의 일치 여 부에 대하여 최종 승인을 얻고 프로젝트의 모든 전달물을 사용자에게 전달/인계한다. 54 인도단계 - 산출물 연관도 시스템테스트설계서 사용자 교육 비상대책방안정의서 인수 테스트 수행 사용자교육계획서 인수테스트설계서 교재 인수테스트수행보고서 사용자교육보고서 인수테스트결과보고서 시스템설치보고서 플랫폼설치보고서 데이터전환보고서 인도 단계 평가서 시스템관찰보고서 응용시스템설치보고서 현행시스템백업목록표 55 프로젝트 종료 단계 프로젝트 완료 프로젝트 운영지원 프로젝트 완료보고 준비 E0102 결과물 인계 E0104 운영계획 수립 운영 준비 E0202 E0204 프로젝트 자원 릴리즈 E0106 목적 ● ● ● 프로젝트 결과를 평가하고 종료보고 한다. 인원, 시설 등 프로젝트 자원을 재배치한다 유지보수 계획을 수립하고 운영계약을 체결하여 운영환경으로 자연스럽게 전환시킨다 56 프로젝트 종료단계 – 산출물 연관도 이전 단계 산출물 인식한 교훈 프로젝트 완료보고서 프로젝트 결과문서 프로젝트 자원반환방안 품질관리수행결과서 단계평가서 운영계획서 운영계약서 프로젝트현안목록 운영 프로젝트 조직 57 5. 공정 비교 기본 생명주기 공정 지원 생명주기 공정 조직 생명주기 공정 관련 용어 58 기본 생명주기 공정 IS O 12207 5.1 5.2 5.3 12207 P r o c e s s e s and activities Acquis ition proces s Supply proces s Development proces s IS O 15504 CUS.1 CUS.2 15504 P r o c e s s e s Acquis ition proces s Supply proces s CUS.3 Requirements elicitation proces s ENG.1 Development proces s CUS.2 Supply proces s Ty pe bas ic bas ic new bas ic bas ic 5.4 Operation proces s CUS.4 Operation proces s bas ic 5.5 Maintenance proces s ENG.2 Sy s tem and s oftware maintenance proces s bas ic 마르미-III 마르미-III 단계 및 활동 P0100 프로젝트 준비 P0200 프로젝트 계획 C0300 단계 점검 T0300 인수테스트 및 시스템 관찰 E0100 프로젝트 완료 P0100 프로젝트 준비 P0200 프로젝트 계획 C0300 단계 점검 E0100 프로젝트 완료 T0000 인도 R0100 요구사항 이해 R0200 요구사항 정의 R0000 요구획득 A0000 아키텍처 D0000 점진적 개발 C0200 단계 통제 T0300 인수테스트 및 시스템 관찰 E0200 프로젝트 운영지원 A0400 테스트 및 전환 계획 D0400 컴포넌트 및 시스템 구현 T0200 시스템 설치 지원 수준 F F F F P P • 지원 수준 : F (전반적 지원), P (부분적 지원), N (지원하지 않음) 59 지원 생명주기 공정 IS O 12207 12207 P r o c e s s e s and activities IS O 15504 15504 P r o c e s s e s Ty pe 6.1 Documentation proces s SUP.1 Documentation proces s 6.2 Configuration management proces s SUP.2 Configuration management proces s bas ic 6.3 Quality proces s SUP.3 Quality proces s bas ic 6.4 V erification proces s SUP.4 V erification proces s as s urance as s urance ext. bas ic 6.5 V alidation proces s SUP.5 V alidation proces s bas ic 6.6 Joint review proces s SUP.6 Joint review proces s bas ic 6.7 Audit proces s SUP.7 Audit proces s bas ic 6.8 Problem proces s SUP.8 Problem proces s bas ic res olution res olution 마르미-III 마르미-III 단계 및 활동 P0200 프로젝트 계획 C0200 단계 통제 P0200 프로젝트 계획 C0200 단계 통제 P0200 프로젝트 계획 C0200 단계 통제 C0300 단계 점검 C0300 단계 점검 A0400 테스트 및 전환 계획 D0700 통합 테스트 D0800 시스템 테스트 C0300 단계 점검 지원 수준 F F F F F N P0200 프로젝트 계획 C0100 단계 준비 C0300 단계 점검 F 60 조직 생명주기 공정 IS O 12207 7.1 12207 P r o c e s s e s and activities Management proces s IS O 15504 15504 P r o c e s s e s Ty pe MAN.1 Management proces s bas ic MAN.2 Project management proces s new MAN.3 Quality management proces s new MAN.4 Ris k management proces s new ORG.1 Organizational alignment proces s new 7.2 Infras tructure proces s ORG.4 Infras tructure proces s bas ic 7.3 Improvement proces s ORG.2 Improvement proces s bas ic 7.4 Training proces s ORG.3 Human res ource management proces s ext. ORG.5 Meas urement proces s new ORG.6 Reus e proces s new 마르미-III 마르미-III 단계 및 활동 P0000 프로젝트 시작 C0000 프로젝트 진행 E0000 프로젝트 종료 P0000 프로젝트 시작 C0000 프로젝트 진행 E0000 프로젝트 종료 P0200 프로젝트 계획 C0200 단계 통제 P0200 프로젝트 계획 C0100 단계 준비 C0300 단계 점검 R0100 요구사항 이해 C0200 단계 통제 C0100 단계 준비 C0100 단계 준비 C0300 단계 점검 C0100 단계 준비 C0200 단계 통제 C0300 단계 점검 R0300 개발 전략 수립 A0200 아키텍처 정의 지원 수준 F F F F F F P F P P 61 관련 용어 SPEM RUP OPEN IEEE 1074 ISO/IEC 12207 PMBOK 마르미 Role Staff 역할 Activity Task Task 작업 절차 WorkProduct Product Product Deliverable 산출물 Discipline Activity Activity group Process Activity 활동 Lifecycle Process Lifecycle process Lifecycle process Lifecycle model Phase Phase Phase Phase Iteration Iteration Guidance Guidelines ToolMentors Templates ProcessRole Role Role Activity Step Activity Step Task Subtask WorkProduct Artifacts Discipline 공정 프로세스 Phase 단계 반복 미니프로젝트 Techniques Techniques 기법 지침 양식 [OMG, SPEM] 62 6. 요약 소프트웨어 프로세스 관련 표준 ● ● ● ISO 12207 – 소프트웨어 생명주기 프로세스 ISO 15504 – 소프트웨어 프로세스 심사 모형 OMG SPEM – 소프트웨어 프로세스 메타 모형 마르미 개발방법론 ● ● 소프트웨어 프로세스 관련 표준 지원 구체적이고 실용적인 개발방법론 – – – – 구체적인 개발 및 관리 절차 실용적인 기법 및 지침 산출물 양식 및 작성 지침 적용 사례 63