Integration and Configuration (Reuse-Oriented Approach)
통합 및 구성 모델 (재사용 지향법)
- 기존에 존재하던 Component나 Application들을 개발중인 System에 Integration하여 개발하는 방식을 의미한다.
(즉, 재사용에 초점을 맞춘 프로세스 모델이다.)
- 라이브러리나 오픈소스를 차용하는 경우가 이에 해당된다.
* 본 포스트는 Software Process Model (소프트웨어 프로세스 모델) (URL)의 하위 문서이다.
Integration and Configuration Model Phases (통합 및 구성 모델의 단계)
- Plan-Driven Model 혹은 Agile에 속하는 모델로,
재사용할 Component들을 사전에 미리 파악해 놓은 경우는 Plan-Driven Model에 속하는 경우이며,
그때그때 필요한 Component를 차용하는 경우는 Agile에 속하는 경우이다.
- 오늘날, Reuse는 불가피한 절차로 인식되므로, 통합 및 구성 방법은 Standard라 볼 수 있다.
Types of Reusable Software (재사용 가능한 소프트웨어의 유형)
Types | Description |
Stand-Alone Application Systems (단독으로 동작하는 응용 프로그램) |
- 특정 환경에서 동작하도록 Configure할 수 있기 때문에 재사용하기에 용이하다. ex) 쇼핑몰 회원관리 시스템 |
Collections of Objects (오브젝트 컬렉션) |
- Component Framework를 Package로 통합한 것을 의미하며, 재사용을 위해 개발된 것이다. ex) .NET, Java EE |
Web Services (웹 서비스) |
- Remote Invocation을 위해 개발된 Standard API를 의미한다. (개발자가 API를 Reuse하는 것이다.) ex) SOAP, REST |
Advantages of Integration and Configuration (통합 및 구성 방법의 장점)
Advantages | Description |
개발해야 하는 소프트웨어의 총량이 감소한다. | - 이미 검증된 Software를 재사용하기 때문에 개발시 발생하는 Risk와 Cost가 감소한다. |
빠른 Delivery와 Deployment가 가능하다. | - Delivery는 Release와 동의어로, 시장 혹은 고객에 소프트웨어를 출시하는 것을 의미한다. - Deployment(배포)는 Software를 사용자들이 사용할 수 있게 하는 모든 행동을 내포하는 용어로, 설치 프로그램을 만들거나, 사용법 작성, 베타 테스트 등이 Deployment에 해당된다. |
Drawback of Integration and Configuration (통합 및 구성 방법의 한계)
Drawbacks | Description |
요구사항의 일부가 미이행될 수 있다. | - 기존 Software를 재사용함으로써 개발 Risk는 낮추는 대신, Customization하지 못하는 등의 이유로 요구사항 중 일부가 미충족 될 수 있다. |
재사용할 소프트웨어를 자체적으로 버전업 할 수 없다. | - 재사용할 소프트웨어는 우리 통제하에 있지않기 때문이다. |
Reference: Software Engineering 10th Edition
(Ian Sommerville 저, Pearson, 2016)