| 1 | [.. 소프트웨어 개발 지침서 (Software Development Guideline)] |
| 2 | |
| 3 | = 10. 소프트웨어 개발 프로세스 (Software Development Process) = |
| 4 | 소프트웨어 개발 프로세스는 Rational Unified Process를 기반으로 삼는다. |
| 5 | |
| 6 | Figure: 소프트웨어 개발 프로세스[[BR]] |
| 7 | [[Image(rational_unified_process.png)]] |
| 8 | [[BR]] |
| 9 | 출처: [RUP] |
| 10 | |
| 11 | The process can be described in two dimensions ? the horizontal axis represents time expressed in phases, iterations, and milestones. The vertical axis represents workflows. A workflow is a sequence of activities that produces a result of observable value. |
| 12 | |
| 13 | 프로세스는 두 개의 차원으로 설명할 수 있다. 수평 축은 단계, 반복, 마일스톤으로 표현되는 시간을 나타내며, 수평 축은 워크플로우를 나타낸다. 워크플로우는 관측 가능한 값으로 결과를 생성하는 일련의 활동이다. |
| 14 | |
| 15 | == 10.1. 단계 (PHASES) == |
| 16 | |
| 17 | === 10.1.1. 도입 단계 (INCEPTION PHASES) === |
| 18 | During the inception phase, product concepts are defined. |
| 19 | |
| 20 | 도입 단계에서는 제품 컨셉을 정의한다. |
| 21 | |
| 22 | === 10.1.2. 정교화 단계 (ELABORATION PHASE) === |
| 23 | The purpose of the elaboration phase is to analyze the problem domain, establish a sound architectural foundation, develop the project plan, and eliminate the highest risk elements of the projects. |
| 24 | |
| 25 | 정교화 단계의 목적은 문제 영역을 분석하고 튼튼한 구조 기반을 구축하고, 프로젝트 계획을 개발하고, 프로젝트의 가장 큰 리스크 요소를 제거하는 것이다. |
| 26 | |
| 27 | === 10.1.3. 구축 단계 (CONSTRUCTION PHASE) === |
| 28 | During the construction phase, all remaining components and application features are developed and integrated into the product, and all features are thoroughly verified. |
| 29 | |
| 30 | 구축 단계에서는 모든 구성요소와 어플리케이션 기능을 개발하고 제품에 통합하며, 모든 기능을 철저하게 검증한다. |
| 31 | |
| 32 | === 10.1.3. 이관 단계 (TRANSITION PHASE) === |
| 33 | The purpose of the transition phase is to transition the software product to a user outside of project team. |
| 34 | |
| 35 | 이관 단계의 목적은 소프트웨어 제품을 프로젝트 팀 외부의 사용자에게 이관하는 것이다. |
| 36 | |
| 37 | == 10.2. 워크플로우 (WORKFLOW) == |
| 38 | |
| 39 | === 10.2.1. 비즈니스 모델링 (BUSINESS MODELING) === |
| 40 | Business model describes product concept and business process to assure a common understanding among all stakeholders of what product is planned and what business process needs to supported in the organization. |
| 41 | |
| 42 | 비즈니스 모델은 조직에서 어떤 제품이 기획되고 어떤 비즈니스 프로세스가 지원될 필요가 있는지를 이해당사자 사이에 공통의 이해를 도모하기 위해 제품 컨셉과 비즈니스 프로세스를 기술한다. |
| 43 | |
| 44 | The deliverable of business modeling workflow is a software development plan. |
| 45 | |
| 46 | 비즈니스 모델링의 산출물은 소프트웨어 개발 계획 문서이다. |
| 47 | |
| 48 | === 10.2.2. 비즈니스 모델링 (REQUIREMENT) === |
| 49 | The goal of the Requirements workflow is to describe what the system should do and allows the developers and the customer (product manager?) to agree on that description. |
| 50 | |
| 51 | 요구사항 워크플로우의 목표는 시스템이 무엇을 할 지를 기술하고, 개발자와 고객이 기술한 바에 대해 동의할 수 있게 하는 것이다. |
| 52 | |
| 53 | The deliverable of requirements workflow is a risk management plan, a cyber security checklist and a software requirement specification. |
| 54 | |
| 55 | 요구사항 워크플로우의 산출물은 리스크 관리 계획 문서, 사이버 보안 점검표, 소프트웨어 요구사항 문서이다. |
| 56 | |
| 57 | === 10.2.3. 분석 및 설계 (ANALYSIS AND DESIGN) === |
| 58 | The goal of the Analysis and Design workflow is to show how the system will be realized in the implementation phase. |
| 59 | |
| 60 | 분석과 설계 워크플로우의 목표는 구현 워크플로우에서 시스템을 어떻게 실현시킬 지를 보는 것이다. |
| 61 | |
| 62 | The deliverables of analysis and design workflow is a software architecture. |
| 63 | 분석과 설계 워크플로우의 산출물은 소프트웨어 아키텍처이다. |
| 64 | |
| 65 | === 10.2.4. 구현 (IMPLEMENTATION) === |
| 66 | The purpose of implementation is: |
| 67 | - To define the organization of the code, in terms of implementation subsystems organized in layers. |
| 68 | - To implement classes and objects in terms of components (source files, binaries, executables, and others) |
| 69 | - To verify the developed components as units. |
| 70 | - To integrate the results produced by individual implementers (or team), into an executable system. |
| 71 | |
| 72 | 구현 워크플로우의 목적은 다음과 같다: |
| 73 | - 계층적으로 구조화된 서브시스템 구현의 관점에서 코드의 구성을 정의한다. |
| 74 | - (소스 파일, 바이너리 파일, 이진 파일 등등의) 구성요소의 관점에서 클래스와 객체를 구현한다. |
| 75 | - 개발된 구성요소를 소프트웨어 단위(software unit)로써 검증한다. |
| 76 | - 개별적인 구현자(또는 팀)에 의해 생산된 결과를 실행가능한 시스템으로 통합한다. |
| 77 | |
| 78 | The deliverables of implementation workflow are detailed requirement specification, design specification, source code and software specification plan |
| 79 | |
| 80 | 구현 워크플로우의 산출물은 상세 요구사항 문서, 설계 문서, 소스 코드 및 소프트웨어 검증 계획 문서이다. |
| 81 | |
| 82 | === 10.2.5. 검증 (VERIFICATION & VALIDATION) === |
| 83 | The purpose of verification is: |
| 84 | - To verify the interaction between objects |
| 85 | - To verify the proper integration of all components of the software |
| 86 | - To verify that all requirements have been correctly implemented |
| 87 | - To identify and ensure defects are addressed prior to the deployment of the software |
| 88 | |
| 89 | 검증의 목적은 다음과 같다: |
| 90 | - 객체간 인터랙션(상호작용)을 검증한다. |
| 91 | - 소프트웨어의 모든 구성요소가 적절하게 통합되었는지를 검증한다. |
| 92 | - 모든 요구사항이 올바르게 구현되어 있는지를 검증한다. |
| 93 | - 소프트웨어를 배포하기 전에 결함을 식별하고 해결한다. |
| 94 | |
| 95 | The deliverables of verification workflow are software verification reports, risk management report and software validation report. |
| 96 | |
| 97 | 검증 워크플로우의 산출물은 software verification reports와 risk management report 및 software validation report이다. |
| 98 | |
| 99 | === 10.2.6. 배포 (DEPLOYMENT) === |
| 100 | The purpose of the deployment workflow is to successfully produce product releases, and deliver the software to its end users. |
| 101 | |
| 102 | 배포 워크플로의 목적은 제품을 성공적으로 출시해서 최종 사용자에게 소프트웨어를 전달하는 것이다. |
| 103 | |
| 104 | The deliverables of the deployment workflow are installable software, and release note. |
| 105 | |
| 106 | 배포 워크플로우의 산출물은 설치가능한 소프트웨어와 릴리즈 노트이다. |
| 107 | |
| 108 | === 10.2.7. 프로젝트 관리 (PROJECT MANAGEMENT) === |
| 109 | Software Project Management is the art of balancing competing objectives, managing risk, and overcoming constraints to deliver, successfully, a product in which meets the needs of customers and the users. |
| 110 | |
| 111 | 소프트웨어 프로젝트 경쟁하는 목표들을 조율하고, 리스크를 관리하고 제약사항을 극복하여 성공적으로 고객과 사용자의 필요를 충족시키는 제품을 전달하는 행위이다. |
| 112 | |
| 113 | The deliverables of project management workflow are Software development plan and project meeting minutes. |
| 114 | |
| 115 | 프로젝트 관리의 산출물은 소프트웨어 개발 계획 문서와 프로젝트 회의록이다. |
| 116 | |
| 117 | === 10.2.8. 형상 및 변경 관리 (CONFIGURATION AND CHANGE REQUEST MANAGEMENT) === |
| 118 | The purpose of the configuration and change request management workflow is to trace why, when, and by whom any deliverable was changed. |
| 119 | |
| 120 | 형상관리와 변경요청 관리 워크플로우의 목적은 이유, 시기 그리고 누구에 의해 산출물이 변경되었는지를 추적하는 것이다. |
| 121 | |
| 122 | The deliverables of the configuration and change request management workflow are configuration items and change requests. |
| 123 | |
| 124 | 형상관리와 변경요청 관리 워크플로우의 산출물은 형상관리 아이템들과 변경요청 사항들이다. |
| 125 | |
| 126 | Change request management workflow are activities for the problem resolve management process. |
| 127 | |
| 128 | 변경 요청 관리 워크플로우는 문제 해결 관리 프로세스를 위한 활동이다. |
| 129 | |
| 130 | === 10.2.9. 개발환경 (ENVIRONMENT) === |
| 131 | The purpose of the environment workflow is to provide the software development organization with the software development environment ? both processes and tools ? that are needed to support the development team. |
| 132 | |
| 133 | 환경 워크플로우의 목적은 소프트웨어 팀을 지원하기 위해 필요한 소프트웨어 개발 환경(프로세스와 도구)을 소프트웨어 개발 조직에게 제공하는 것이다. |
| 134 | |
| 135 | The deliverable of the environment workflow is a software development plan for a project. |
| 136 | |
| 137 | 환경 워크플로우의 산출물은 소프트웨어 개발 계획 문서이다. |
| 138 | |
| 139 | === 10.3. 산출물 === |
| 140 | The process recommends software development documents (or deliverables) depending on Phase like as: |
| 141 | 소프트웨어 개발 프로세스는 프로젝트 단계별로 다음과 같은 소프트웨어 개발 문서 (또는 산출물) 권장한다:[[BR]] |
| 142 | |
| 143 | Figure: 문서 구조[[BR]] |
| 144 | [[Image(document_tree.png)]] |
| 145 | [[BR]] |
| 146 | |
| 147 | |
| 148 | |
| 149 | == == |
| 150 | [.. 소프트웨어 개발 지침서 (Software Development Guideline)] |
| 151 | |
| 152 | |