wiki:SDG/software_development_process

소프트웨어 개발 지침서 (Software Development Guideline)

10. 소프트웨어 개발 프로세스 (Software Development Prcoess)

소프트웨어 개발 프로세스는 Rational Unified Process를 기반으로 삼는다.

Figure: 소프트웨어 개발 프로세스

출처: [RUP]

프로세스는 두 개의 차원으로 설명할 수 있다. 수평 축은 단계, 반복, 마일스톤으로 표현되는 시간을 나타내며, 수평 축은 워크플로우를 나타낸다. 워크플로우는 관측 가능한 값으로 결과를 생성하는 일련의 활동이다.

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.

10.1. 단계 (PHASES)

10.1.1. 도입 단계 (INCEPTION PHASES)

도입 단계에서는 제품 컨셉을 정의한다.

During the inception phase, product concepts are defined.

10.1.2. 정교화 단계 (ELABORATION PHASE)

정교화 단계의 목적은 문제 영역을 분석하고 튼튼한 구조 기반을 구축하고, 프로젝트 계획을 개발하고, 프로젝트의 가장 큰 리스크 요소를 제거하는 것이다.

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.

10.1.3. 구축 단계 (CONSTRUCTION PHASE)

구축 단계에서는 모든 구성요소와 어플리케이션 기능을 개발하고 제품에 통합하며, 모든 기능을 철저하게 검증한다.

During the construction phase, all remaining components and application features are developed and integrated into the product, and all features are thoroughly verified.

10.1.3. 이관 단계 (TRANSITION PHASE)

이관 단계의 목적은 소프트웨어 제품을 프로젝트 팀 외부의 사용자에게 이관하는 것이다.

The purpose of the transition phase is to transition the software product to a user outside of project team.

10.2. 워크플로우 (WORKFLOW)

10.2.1. 비즈니스 모델링 (BUSINESS MODELING)

비즈니스 모델은 조직에서 어떤 제품이 기획되고 어떤 비즈니스 프로세스가 지원될 필요가 있는지를 이해당사자 사이에 공통의 이해를 도모하기 위해 제품 컨셉과 비즈니스 프로세스를 기술한다.

비즈니스 모델링의 산출물은 소프트웨어 개발 계획 문서이다.

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.

The deliverable of business modeling workflow is a software development plan.

10.2.2. 비즈니스 모델링 (REQUIREMENT)

요구사항 워크플로우의 목표는 시스템이 무엇을 할 지를 기술하고, 개발자와 고객이 기술한 바에 대해 동의할 수 있게 하는 것이다.

요구사항 워크플로우의 산출물은 리스크 관리 계획 문서, 사이버 보안 점검표, 소프트웨어 요구사항 문서이다.

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.

The deliverable of requirements workflow is a risk management plan, a cyber security checklist and a software requirement specification.

10.2.3. 분석 및 설계 (ANALYSIS AND DESIGN)

분석과 설계 워크플로우의 목표는 구현 워크플로우에서 시스템을 어떻게 실현시킬 지를 보는 것이다.

분석과 설계 워크플로우의 산출물은 소프트웨어 아키텍처이다.

The goal of the Analysis and Design workflow is to show how the system will be realized in the implementation phase.

The deliverables of analysis and design workflow is a software architecture.

10.2.4. 구현 (IMPLEMENTATION)

구현 워크플로우의 목적은 다음과 같다:

  • 계층적으로 구조화된 서브시스템 구현의 관점에서 코드의 구성을 정의한다.
  • (소스 파일, 바이너리 파일, 이진 파일 등등의) 구성요소의 관점에서 클래스와 객체를 구현한다.
  • 개발된 구성요소를 소프트웨어 단위(software unit)로써 검증한다.
  • 개별적인 구현자(또는 팀)에 의해 생산된 결과를 실행가능한 시스템으로 통합한다.

구현 워크플로우의 산출물은 상세 요구사항 문서, 설계 문서, 소스 코드 및 소프트웨어 검증 계획 문서이다.

The purpose of implementation is:

  • To define the organization of the code, in terms of implementation subsystems organized in layers.
  • To implement classes and objects in terms of components (source files, binaries, executables, and others)
  • To verify the developed components as units.
  • To integrate the results produced by individual implementers (or team), into an executable system.

The deliverables of implementation workflow are detailed requirement specification, design specification, source code and software specification plan

10.2.5. 검증 (VERIFICATION & VALIDATION)

검증의 목적은 다음과 같다:

  • 객체간 인터랙션(상호작용)을 검증한다.
  • 소프트웨어의 모든 구성요소가 적절하게 통합되었는지를 검증한다.
  • 모든 요구사항이 올바르게 구현되어 있는지를 검증한다.
  • 소프트웨어를 배포하기 전에 결함을 식별하고 해결한다.

검증 워크플로우의 산출물은 software verification reports와 risk management report 및 software validation report이다.

The purpose of verification is:

  • To verify the interaction between objects
  • To verify the proper integration of all components of the software
  • To verify that all requirements have been correctly implemented
  • To identify and ensure defects are addressed prior to the deployment of the software

The deliverables of verification workflow are software verification reports, risk management report and software validation report.

10.2.6. 배포 (DEPLOYMENT)

배포 워크플로의 목적은 제품을 성공적으로 출시해서 최종 사용자에게 소프트웨어를 전달하는 것이다.

배포 워크플로우의 산출물은 설치가능한 소프트웨어와 릴리즈 노트이다.

The purpose of the deployment workflow is to successfully produce product releases, and deliver the software to its end users.

The deliverables of the deployment workflow are installable software, and release note.

10.2.7. 프로젝트 관리 (PROJECT MANAGEMENT)

소프트웨어 프로젝트 경쟁하는 목표들을 조율하고, 리스크를 관리하고 제약사항을 극복하여 성공적으로 고객과 사용자의 필요를 충족시키는 제품을 전달하는 행위이다.

프로젝트 관리의 산출물은 소프트웨어 개발 계획 문서와 프로젝트 회의록이다.

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.

The deliverables of project management workflow are Software development plan and project meeting minutes.

10.2.8. 형상 및 변경 관리 (CONFIGURATION AND CHANGE REQUEST MANAGEMENT)

형상관리와 변경요청 관리 워크플로우의 목적은 이유, 시기 그리고 누구에 의해 산출물이 변경되었는지를 추적하는 것이다.

형상관리와 변경요청 관리 워크플로우의 산출물은 형상관리 아이템들과 변경요청 사항들이다.

변경 요청 관리 워크플로우는 문제 해결 관리 프로세스를 위한 활동이다.

The purpose of the configuration and change request management workflow is to trace why, when, and by whom any deliverable was changed.

The deliverables of the configuration and change request management workflow are configuration items and change requests.

Change request management workflow are activities for the problem resolve management process.

10.2.9. 개발환경 (ENVIRONMENT)

환경 워크플로우의 목적은 소프트웨어 팀을 지원하기 위해 필요한 소프트웨어 개발 환경(프로세스와 도구)을 소프트웨어 개발 조직에게 제공하는 것이다.

환경 워크플로우의 산출물은 소프트웨어 개발 계획 문서이다.

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.

The deliverable of the environment workflow is a software development plan for a project.

10.3. 산출물 (DELIVERABLES)

소프트웨어 개발 프로세스는 프로젝트 단계별로 다음과 같은 소프트웨어 개발 문서 (또는 산출물) 권장한다:

The process recommends software development documents (or deliverables) depending on Phase like as:

Figure: 문서 구조

소프트웨어 개발 지침서 (Software Development Guideline)

Last modified 10 months ago Last modified on Jul 13, 2024 3:02:00 PM

Attachments (2)

Download all attachments as: .zip