[IBM Rational Software]IBM 래쇼날 솔루션의 7가지 기능
요구사항 및 분석|설계 및 개발
오늘은 지난 포스팅에 이어서 IBM Rational Solution의 7가지 기능 중 '요구사항 및 분석'과 '설계 및 개발' 을 살펴보도록 하겠습니다.
관련글 :
2014/05/22 - [컴퓨터공학] - IBM Rational Software란? | IBM 래쇼날 솔루션 | 소프트웨어 공학
먼저 IBM Rational Solution의 7가지는 다음과 같습니다.
1) 요구 사항 및 분석
2) 설계 및 개발
3) 소프트웨어 품질
4) 프로세스 및 포트폴리오 관리
5) 소프트웨어 형상, 변경 및 배포 관리
6) 웹 사이트 보안 및 컴플라이언스
7) Rational for System z
이 순서가 곧 전 포스팅에서 간단하게 다룬 소프트웨어를 개발하는 프로세스가 되겠죠. IBM Rational Software를 이용하여 더욱 편리하고 효율적인 소프트웨어 개발을 할 수 있는 거구요.
각 문항을 간단하게 살펴보면
* 통합 요구사항 관리 : 요구사항을 정의하고 관리하며, 이력관리 기능을 제공하고 비즈니스 프로세스에 적합하게 조정합니다.
* 설계 및 구축 : 뛰어난 소프트웨어와 시스템을 설계, 모델링, 개발하여 제공합니다.
* 소프트웨어 품질 : 소프트웨어의 개발 및 생산에 이르기까지 기능성, 신뢰성, 컴플라이언스, 보안 및 성능을 보장합니다.
* 형상, 변경 및 배포 관리 : 소프트웨어 형상, 변경 및 배포 관리 제품은 소프트웨어 라이프 사이클 전반에 걸쳐 자산관리, 변경 내용 추적 및 워크 플로우 관리를 통해 변경 내용을 효과적으로 관리할 수 있는 유연성과 기능을 제공합니다.
* 프로세스 및 포트폴리오 관리 : 비즈니스 목표, 우수사례, 프로젝트의 조화를 구현하여 생산성과 예측가능성을 향상시킵니다.
* 웹 사이트 보안 및 컴플라이언스 : 애플리케이션 및 컨텐츠 분석을 자동으로 수행하여 취약성 분석, 컴플라이언스 요구사항 평가, 온라인 시스템의 정확성 및 신뢰성 개선 등을 지원합니다.
이 7가지 중 오늘은 1) 요구 사항 및 분석, 2) 설계 및 개발에 대해서 좀 더 자세히 알아보도록 하겠습니다.
1. 요구 사항 및 분석
일단 소프트웨어를 개발을 하려면 고객(사용자)이 필요한 소프트웨어의 기능, 성능을 개발자가 받아서 면밀히 분석을 해야지 앞으로 설계하고 구현하기가 쉬워집니다. 요구사항을 잘못 분석하고 관리를 잘 하지 못하면 나중에 발견된 에러를 수정하는데 드는 비용과 소요되는 시간이 분석단계에서 드는 비용보다 200배, 비용은 40% 이상이 소요된다고 합니다. 그만큼 요구 사항을 분석하는 단계가 가장 중요한 단계라고 할 수 있겠죠.
[Rational DOORS]
그런데 고객(사용자)의 요구사항은 변할 수 밖에 없습니다. 그리고 그 변동은 전체 프로젝트에 영향을 끼치게 되고 자원, 시간 및 예산이 추가적으로 발생할 수 있습니다. 그러나 어쩔 수 없지요. 고객이 원하는 요구조건 대로 해 줄수 밖에요.
하지만, IBM Rational 소프트웨어는 요구사항이 변경될 때마다 효율적이게 관리를 해주어 생산성을 향상시키는데 도움을 줍니다. 그리고 변경사항이 생길 때 그 변경사항이 끼치는 영향을 측정하여 이로 인한 비용 및 위험요소를 최소화 시켜줍니다. 개발자로서는 꽤나 반가운 기술이겠죠?
요즘은 소프트웨어를 개발할 때 혼자 하는 것이 아닌 대부분 협업을 통해서 하는데 IBM Rational DOORS에서는 협업 시스템을 제공하여 개발자들끼리의 불필요한 재작업을 감소시켜 주면서 요구사항 관리 목표를 달성할 수 있도록 해 줍니다. 마지막에는 고객(사용자)이 제시한 요구사항이 모두 올바르게 반영이 되었는지 까지 확인시켜주는 똑똑한 IBM Rational Software 입니다. 게다가 중요한 정보가 누락되거나 변경사항을 모르고 지나치게 되는 경우도 소프트웨어에서 방지를 해 주니 개발자는 더 안심하고 개발을 할 수 있겠습니다.
성공적인 요구사항 관리는 개발자가 이해하기 쉽고, 필요한 정보를 쉽게 검색할 수 있도록 요구사항을 문서화 하는 것으로 시작됩니다. Rational DOORS에서는 요구사항을 문맥으로 표현할 수 있기 때문에 각 요구사항을 훨씬 더 이해하기 쉽게 해주며, 정보의 구조를 트리구조로 나타내 주는 뷰도 있습니다.
[Rational Requirements Composer]
점점 하드웨어도 고성능 평준화가 되어가고 있고 그에 맞는 비즈니스 목표도 상향되고 있습니다. 하드웨어의 발전 속도를 소프트웨어가 따라가지 못하고 그것은 기업의 가장 큰 고민거리 입니다. 소프트웨어 개발은 혼자 하는 것이 아닌 여러사람이 협업을 통해 하게 되는데 팀들이 여러 곳으로 분산이 되어 있어 협업환경을 구축하기 어려움도 있습니다.
IBM Rational Requirements Composer는 제품 및 서비스 개발 팀을 협업 플랫폼을 기반으로 통합하여 단순하고 강력한 기법 및 프로세스를 통해서 요구사항을 수집, 편성 및 분석을 해줌으로써 개발팀 간의 솔루션에 대한 합의점에 도달하는 것을 지원해주는 솔루션 입니다. 하나의 공통적인 요건 정보 공유 장소를 제공하여 개발자들이 그곳에 모여 다양한 비즈니스, 사용자 및 시스템 측면의 고려사항을 조율한 솔루션을 반복적으로 개선하여 개발팀이 개발 수명 주기 전반에서 제품 품질 향상, 시장 출시 기간 단축을 통해 이상적인 솔루션을 제공할 수 있습니다.
특히, IBM Rational Requirements Composer 소프트웨어는 팀 구성원들이 집중적으로 검토를 해야 하는 새로운 개발 모델, 의견 또는 요건에 대한 정보를 실시간으로 볼 수 있어서 소프트웨어 개발 과정에서 유용하게 사용됩니다.
또한 요구사항, 개발 모델 등의 업데이트된 정보를 특정 프로젝트 및 사용자 보기로 검토할 수 있어서 더욱 현재 달성해야 할 목표에 집중을 할 수가 있습니다. 업데이트 되기 전의 이력도 모두 보존되므로 개발팀이 필요할 경우 이전 개발 모델, 정보를 쉽게 얻을 수 있습니다.
2. 설계 및 개발
IBM Rational은 아키텍쳐, 설계 모델링, 구축, 모델 중심적인 개발, ARAD(Architected Rapid Application Development), 컴포넌트 테스트, 런타임 분석 등을 위한 툴을 갖추고 있습니다. 개발자들은 이 툴을 이용하여 최고의 생산성을 발휘하여 개발을 할 수 있는데요, 이 툴을 이용하여 비즈니스 애플리케이션, 임베디드 시스템 및 소프트웨어 제품을 구축하는 개발 팀을 지원하는 완벽한 IBM Rational Software 개발 플랫폼의 핵심 요소 입니다.
고객들은 최신 기술이 들어있는 최첨단 제품을 요구하고, 개발자는 고객의 요구에 맞도록 최신 기술이 들어있는 고품질 제품을 신속하게 개발해서 제공해야 합니다. 고객은 빨리빨리 달라고 외치고, 그러다 보니 개발 주기는 단축되고, 최신 기술이 들어가니 개발하는데는 복잡하고, 자원은 한정되어 있고 협업을 해야 하는데 개발 팀은 멀리 떨어져 있어서 같이 개발을 하기 힘들고... 여러가지 문제가 겹쳐서 개발 환경에는 늘 어려움이 있습니다.
[Rational Rhapsody]
이러한 개발 환경의 문제들은 IBM Rational Developer 개발 환경을 통하여 해결할 수 있습니다. 소프트웨어 개발 프로세스를 자동화 하고, 자산을 재이용 할 수 있게 해준다던지, 팀 협업을 최적화 하여 개발 초기에 결함 및 설계 오류를 발견하게 해주어 수정하는데 드는 비용을 줄여줍니다.
결함을 최대한 초기에 발견 하는 것이 중요하기 때문에 IBM Rational Rhapsody 에서 제공하는 Add-on을 이용하여 고도로 자동화된 테스트 환경과 테스트 결과를 모니터링 하기 위한 UML 다이어그램, 테스트 커버리지에 관한 보고서 자동생성 등이 제공됩니다.
또한 설계된 것이 요구사항을 충분히 충족하는데 유용한 통합 요구사항 모델링이 가능하며, 외부에서 작성된 코드를 모델링 환경에 자체적으로 통합을 시킬 수 있습니다. 기존에 있는 코드를 다이어그램으로 볼 수 있는 시각화 기능은 더 코드를 쉽게 보고 이해할 수 있도록 도와줍니다.
소프트웨어 개발을 하는데 있어서 협업은 필수적이며 프로젝트를 원활하게 진행하는데 중요한 역할을 합니다. Rational Rhapsody Developer 환경은 팀의 협력을 유지시켜 주는데 중요한 협업 기능을 제공해 줍니다.
여러 개발자가 동시에 개발을 하기 위한 것을 IBM Rational Team Concert 소프트웨어와 통합으로 실시간 협업을 가능하게 해 줍니다.
[Rational Software Architect Standard Edition]
IBM Rational Software Architect Standard Edition은 점점 복잡해지는 프로젝트와 대단위가 되는 팀의 협업을 효과적으로 지원하여 소프트웨어를 개발을 위해 효과적으로 지원을 합니다.
점점 소프트웨어를 개발할 때 프로젝트 규모가 커지고, 새로운 기술을 도입하고, 과거에 사용했던 것을 재사용 하는 방식이 늘어 가면서 기존의 방법으로는 어려움이 있습니다.
이러한 모든 과정을 자동화하여 좀 더 효율적이게 할 수 있도록 도와주는 플랫폼이 IBM Rational Software Architect Standard Edition 입니다.
이 아키텍쳐는 솔루션 요구사항에 관한 협업을 제공하며, 프로젝트의 규모, 복잡성, 리스크의 분석과 관리를 해주고 지금 하고 있는 프로젝트의 아키텍쳐가 일관적인지, 아니면 적합한지에 대하여 관리를 해주고 마지막으로는 프로젝트의 산출물을 빠르고 효과적으로 관리해주는 역할을 합니다.
소프트웨어를 만들 때 설계 및 구현에서 고객의 요구사항을 만족시키는 안정적인 프로그램 완성도 중요하지만, 시간에 맞게, 비용을 적절하게 사용했는지도 중요하기 때문에 적절한 솔루션을 사용하는 것은 매우 중요합니다.
IBM Rational Software Architect Standard Edition 솔루션을 적용하면 높은 수준의 솔루션을 신속하게 개발함과 동시에 개발 비용도 절약할 수 있고 빠르게 문제점을 파악할 수 있기 때문에 유지보수 비용에서도 절감 효과를 가져올 수 있습니다.
결론적으로...
일단 소프트웨어를 설계할 때 가장 중요한 단계인 고객의 요구사항 분석과 설계 및 개발 단계에서부터 잘못되면 전체 프로젝트에 큰 영향을 끼치게 되죠. 개발 도중에 문제점을 찾게 되면 최악의 상황에는 프로젝트를 다 엎어버리고 새로 시작해야 하는 경우도 있으니까요.
IBM Rational Software는 이러한 문제점을 적절한 아키텍쳐와 솔루션을 통해 자동화 해서 개발자도 더 편리하고 효율적이게 개발을 할 수 있고, 고객 또한 요구사항이 변경이 되거나 추가가 되었을 때 좀 더 편리하고 정확하게 개발자-고객의 커뮤니케이션을 이루게 해주는 솔루션이라고 생각됩니다.
개발자 입장에서는 점점 고도화 되는 기술들과 대규모의 프로젝트를 혼자 할 수 없으니 협업이 필요하며, 꼼꼼히 신경써야 하는 부분 (고객의 요구사항 이라던지)을 자동으로 찾아주고 관리해주니 개발자는 적합한 솔루션을 사용하면 개발하는 입장에서는 참 좋을것 같아요.
고객 입장에서는 좀더 빠르고 정확하게, 편리하게 요구사항을 알릴 수 있고, 빠르게 요구사항을 변경할수록 그만큼 전체 프로젝트에 끼치는 영향 (비용, 시간)도 절약을 할 수 있으니 고객 입장에서도 적절한 솔루션을 사용하는 것이 개발자-고객이 서로 win win 할수 있는 IBM Rational Solution 이네요.
아래 링크를 클릭하면 더욱 상세한 정보와 상담도 받을 수 있다고 하니 관심이 있으신 분들께서는 아래 링크를 클릭해 주세요.
관련 링크 :
http://www-01.ibm.com/software/kr/rational/company/index.html
'컴퓨터공학' 카테고리의 다른 글
[IBM Rational Software] IBM 래쇼날 솔루션 실제 적용 사례 (0) | 2014.08.08 |
---|---|
[IBM Rational Software] IBM 래쇼날 솔루션 | 소프트웨어 형상, 변경 및 배포 관리 | Rational for System z (0) | 2014.07.30 |
[IBM Rational Software] IBM 래쇼날 솔루션 | 프로세스 및 포트폴리오 관리 | 웹 사이트 보안 및 컴플라이언스 (0) | 2014.07.15 |
[IBM Rational Software] IBM 래쇼날 솔루션 | 소프트웨어 품질 | 안정성 및 성능 향상 (0) | 2014.06.27 |
IBM Rational Software란? | IBM 래쇼날 솔루션 | 소프트웨어 공학 (0) | 2014.05.22 |
[정보보호개론] 방화벽 (Firewall) | 역할 | 구분 | 방화벽 구조 | VPN (0) | 2014.05.09 |
Heartbleed bug란? 하트블리드 버그 | OpenSSL | 보안 위험 (0) | 2014.04.19 |
[디지털 시스템] Draw a circuit of synchronous counter, employing 74161 chip (0) | 2014.01.09 |
[디지털 시스템] draw a circuit of synchronous counter, employing 4 JK FFs (0) | 2014.01.09 |
네트워크 엔지니어 (0) | 2013.01.17 |