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 | | |
| 6 | 제조자는 개발 진행에 맞춰 다음과 같은 내용을 업데이트해야 한다. |
| 7 | 1. 프로젝트 개요 |
| 8 | 1. 참여자 및 책임과 권한 |
| 9 | 1. 위험 관리 |
| 10 | 1. 사이버보안 |
| 11 | 1. 사용적합성 |
| 12 | 1. 소프트웨어 개발 프로세스 (시스템 통합, 검증 및 밸리데이션 포함) |
| 13 | 1. 소프트웨어 개발 문서 (추적성 포함) |
| 14 | 1. 소프트웨어 개발 일정 (마일스톤 포함) |
| 15 | 1. 소프트웨어 형상 관리 (SOUP 형상관리 아이템 및 개발 지원 소프트웨어 포함) |
| 16 | 1. 소프트웨어 변경 관리 (SOUP 형상관리 아이템 및 개발 지원 소프트웨어 포함) |
| 17 | 1. 소프트웨어 문제 해결 관리 |
| 18 | 1. 소프트웨어 개발 환경 |
| 19 | 1. 소프트웨어 개발 표준, 방법, 도구 포함 |
| 20 | 1. 일반적인 소프트웨어 결함의 식별 및 회피 방법과 근거 |