상세 컨텐츠

본문 제목

[객체지향개발론] 소프트웨어 프로세스 모델(RUP)

자료실/컴퓨터 공부

by 깔깔앵무 2020. 3. 27. 15:56

본문

반응형

 

저번 포스팅에 이어서 정리한다.

 

https://kkalkkalparrot.tistory.com/29

 

[객체지향개발론] 소프트웨어 프로세스 모델

이번 포스팅에서는 소프트웨어 프로세스 모델에 대해 정리하고자 한다. 소프트웨어 개발 프로세스 모델(Software Development Process Model)이란, 고성능 소프트웨어, 시스템에서 요구되는 활동, 액션, 일, 프로..

kkalkkalparrot.tistory.com

 

이번 포스팅은 RUP에 대해 정리하고자 한다.

 

 

RUP란?

 

Rational Unified Process 의 약자이며, UP라고도 한다.

 

RUP는 최신 소프트웨어 개발 접근법으로 Ratinal 사에서 제안한 객체지향 프로젝트 수행에 맞도록 개발된 UML 기반의 객체지향 방법론이다. 

 

소프트웨어 시스템을 시각화하고 명세화하여 구축하고 문서화하기 위한 산업의 표준 매커니즘이기도 하다. 

 

 

 

특징

 

1. 반복성 : 각 반복과정은 작은 Waterfall(폭포수) 모델 사이클을 지닌다.

=  요구사항 분석 -> 설계 -> 구현 및 테스트 -> 평가

 

2. 위험 중심(Risk-Driven) / 클라이언트 중심(Client-Driven) / 아키텍쳐 중심(Architecture-centric) :

아키텍쳐 중심으로 복잡한 프로젝트 운영, 시스템의 무결성을 유지하도록 프로젝트 통제를 가능하게 한다.

 

3. 사용법 중심성(Use-case-Driven) : 

개발자는 Usecase를 실현함으로서 분석, 설계, 테스트로부터 추적성, 일관성을 유지할 수 있다.

 

 

 

RUP의 구성요소

 

 

1. 작업자(Worker) : 개인이나 그룹의 행위와 책임을 의미한다.

하나 이상의 역할을 수행하는 것 외에도 특정 산출물의 소유자가 된다.

 

2. 활동(Activity) : 작업자의 역할에 따라 수행해야하는 단위 업무를 말한다.

활동은 일반적으로 몇 시간에서 며칠 정도가 소요되고, 보통 하나의 작업자에 의해 수행되며, 하나 혹은 적은 수의 산출물에 영향을 미친다.

 

3. 산출물(Artifact) : 프로세스에 의해 생성되고 수정되고 사용되는 정보의 단위를 말한다.

프로젝트에서 최종 제품을 개발하는 과정에서 생성되고 사용되는 형태를 갖는 산물이다.

작업자가 특정활동을 수행할 때 입력으로 

 

4. 공정(Discipline ; Workflows) : 프로세스를 이루기 위해서는 가치 있는 결과를 생성할 수 있게 하는 활동의 순서와 작업자간의 상호작용을 기술할 수 있어야함.

 

 

 

 

RUP의 4 단계(Phase)

 

 

1) 인식 단계(Inception) : 타당성 검토, 요구사항에 대한 전반적 이해, 범위 규정

cf) milestone(이정표) : 생명주기별 목표를 설정함

 

2) 구체화 단계(Elaboration) : 요구사항 명세화, 프로토타입 구형

cf) milestone : 생명주기별 아키텍쳐

 

3) 구축 단계(Contruction) : 설계와 구현

cf) milestone : 초기운영능력

 

4) 인도 단계(Transition) : 사용자 변화에 따른 적응 실시스템

 

참고 : https://m.blog.naver.com/PostView.nhn?blogId=jeff_hm&logNo=140060376168&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

 

 

RUP의 9 공정(Discipline / Workflows)

 

총 9가지로 이루어져 있으며, 크게 핵심 진행 웍플로우와 핵심 보조 웍플로우로 구분된다.

 

핵심 진행 웍플로우(Core Process Workflow)

 

비스니스 모델링 웍플로우(Business Modeling) : 

조직의 구조와 기능을 이해.

고객과 최종 사용자, 개발자들이 조직에 대한 이해를 공유함.

조직을 지원하기 위해 필요한 요구사항을 추출.

 

 

요구사항 웍플로우(Requirements) :

시스템이 무엇을 해야 하는가에 대한 고객과 사용자의 동의 획득

개발자에게 시스템의 요구사항에 대해 충분히 이해할 수 있게 함.

시스템의 기능(functionality)을 정의

반복의 계획과 기술적인 내역(technical contents)을 위한 기초 제공

시스템을 개발하는 데 필요한 시간과 비용을 측정하기 위한 기초 제공

시스템의 사용자 인터페이스(UI) 정의

 

 

분석 & 설계 웍플로우(Analysis & Design) : 

요구사항으로부터 시스템을 구현하는 방법을 기술하는 사양(specification)을 추출

요구사항을 이해하고 최적의 구현 전략을 선택함으로써 요구사항을 시스템 설계로 변환

성능, 안정성, 확장성, 테스트 가능성 등에 대해 고려함

 

 

구현 웍플로우(Implementation) : 

계층화된 서브시스템의 관점에서 코드의 체계를 정의

컴포넌트로 클래스와 객체를 구현하는 단계

개발된 컴포넌트(재사용 단위)의 단위 테스트

개발된 컴포넌트를 하나의 실행 가능한 시스템으로 통합함.

 

 

테스트 웍플로우(Test) : 

객체와 컴포넌트 간의 상호작용을 검증함

소프트웨어를 구성하는 모든 컴포넌트가 올바르게 통합되었는가 검증

모든 요구사항이 올바르게 구형되었는가 검증

소프트웨어가 배포되기 전에 결함을 인식하게 해결함.

 

 

cf) 컴포넌트 : 소프트웨어 개발에 있어서 재사용되는 모든 단위

(ex. 재사용되는 문서, 재사용 모델, 재사용 테이블, 재사용 코드, 재사용 라이브러리 등)

 

 

배포 웍플로우(Deployment) :

소프트웨어의 완성된 외부용 릴리즈를 생산 및 조립
소프트웨어의 포장,유통,설치
사용자와 또는 영업사원의 교육,지원
베타 테스트의 계획과 수행
기존의 소프트웨어 혹은 데이터의 마이그레이션
공식적인 인수(Formal Acceptance)

 

 

코어 서포트 웍플로우(Core Surpporting Workflow)

 

프로젝트 관리 웍플로우(Project Management) :

소프트웨어의 비중이 높은 프로젝트의 관리를 위한 프레임웍 제공
프로젝트를 계획하고, 인원 구성을 하고, 실행하고, 모니터링하는 데 사용할 수 있는 지침(guideline) 제공
위험요소의 관리를 위한 프레임웍 제공
비즈니스 모델링 웍플로우
조직의 구조와 기능을 이해
고객과 최종 사용자, 개발자들이 조직에 대한 이해를 공유
조직을 지원하기위해 필요한 요구사항의 추출

 

 

형상 및 변경 관리 웍플로우(Configuration & Change Management) :

프로젝트 진행과정에서 변화하는 프로젝트 자산의 무결성을 추적 유지
중요한 프로젝트 산출물에 대한 상태정보를 제공
주요 산출물의 변경에 관련된 평가기준을 수집

 

 

 환경 웍플로우(Environment) :

도구 선정과 획득
Toolsmithing : 도구를 조직에 맞게 커스터마이즈하고 필요에 따라 추가로 도구를 개발하는 것을 말한다.
프로세스 구성(Process Configuration)
프로세스 개선(Process Improvement)
교육(Training)
프로세스를 지원하기 위한 기술 서비스 : IT(Information Technology) 하부구조, 사용자 계정 관리, 백업

 

 

 

 

 

참고 : https://unius.tistory.com/entry/RUPRational-Unified-Process

반응형

관련글 더보기