본문 바로가기

리뷰 이야기

IBM Rational Software의 소개 두번째 - 7가지 기능과 요구사항 및 분석 솔루션 / 설계 및 개발 솔루션

# IBM Rational Software 소개 두번째!

 안녕하세요, 까만거북이입니다.

 저번 글에 이어서 IBM Rational Software에 대해 소개하고자 합니다. 계속 소개하고는 있지만, 개발자 혹은 개발사에서 일하고 있지 않으시다면, 어려운 내용들이 있을 것 같네요. 그래도 보다 가볍게 소개하는 방향으로 글을 끄적거리겠습니다. :)





# IBM Rational Software의 7가지 기능

 컴퓨터공학의 소프트웨어 공학이라는 학문에는 학부생들도 열심히 외우는(...) 소프트웨어 개발 단계가 있지요. 요구사항 / 설계 / 개발 / 시험 / 유지보수 / 형상 관리 / 품질 관리 정도로 나뉩니다.[각주:1]

 IBM Rational Software에서는 이에 맞추어 아래와 같은 7가지 기능을 가지고 있습니다.

1. 요구 사항 및 분석

 -  요구 사항 및 분석 기능에서는 클라이언트 혹은 프로젝트의 요구 사항을 정의하고, 이를 관리하며, 동시에 이력 관리 기능을 제공하며, 최종 목표인 비즈니스 프로세스에 적합하게 조정합니다.

2. 설계 및 개발

 -  당연히 설계 / 모델링 / 개발 단계에 초점을 맞춥니다.

3. 소프트웨어 품질

 -  개발에서 생산까지 기능성 / 신뢰성 / 컴플라이언스 / 보안 / 성능을 보장하는 것에 초점을 맞추고.

4. 프로세스 및 포트폴리오 관리

 -  개발 도중 틀어질 수 있는 비즈니스의 목표와 우수 사례들, 프로젝트 자체의 조화를 맞춰 생산성과 예측 가능성을 향상시킵니다.

5. 소프트웨어 형상, 변경 및 배포 관리

6. 웹 사이트 보안 및 컴플라이언스

7. Rational for System z



# IBM Rational Software의 '요구사항 및 분석' 솔루션 - Rational DOORS / Rational Requirements Composer

 오늘 포스팅에서는 IBM Rational Software의 요구사항 및 분석 솔루션과 설계 및 개발 솔루션을 참고해보려고 합니다.

 아시다시피 프로젝트를 진행하는 것에 있어 요구 사항을 완벽하게 해두지 않고, 뒤늦게 에러를 발견해 수정하려고 하면, 그것만큼 열받는 비용이 많이 드는 상황이 또 없습니다. 실제로 연구에 따르면, 요구 사항 분석 단계에서 에러를 발견해서 수정하는 비용보다 약 200배 넘게 소요된다고 하니.. IBM을 믿고 따르라는 통계?

IBM Rational Software의 Rational DOORS는 그러한 요구 사항의 함정을 해결하기 위한 솔루션입니다. 시스템 혹은 소프트웨어 프로젝트가 복잡하면 복잡할 수록 요구 사항 또한 복잡해질 수 밖에 없고, 프로젝트 인원이 많으면, 그에 따른 소통이 원할하지 않을 수 있게 되죠. 사실 대부분의 개발사에서는 이를 워드 문서나 엑셀, 파워포인트 수준에서 그치고 있고, 그 때문에 개발자들이 요구 사항을 분석하는 것조차도 시간이 많이 소요됩니다.

 Rational DOORS는 이를 해결하기 위해 트리 형태 즉, 계층적으로 요구 사항을 나열할 수 있고, 더불어 제목과 설명, 그림 등으로 요구사항을 표현할 수 있습니다. 또한, 요구 사항 분석과 추적성의 안전성을 확인하기 위한 필터링 기능까지 탑재하고 있지요. 만약, 이를 워드 문서로 해결한다면, 사람의 손으로 하나하나 테이블을 구성해 체크하고 있어야할 노릇입니다.

IBM Rational Software - Rational DOORS 스크린샷

하지만, 요구 사항 분석 단계에서 가장 중요한 이슈는 바로 요구 사항이 '변한다'는 사실입니다. 요구 사항 변경이 변화 그 자체에서 끝나는 것이 아니라, 프로젝트 전반에 걸쳐 자원, 시간, 예산 등의 초과를 일으킨다는 점이 문제겠지요. 따라서 변경에 대한 내용을 관리해야만 합니다.

 Rational DOORS에서는 변경 관리 기능이 내장되어 있으며, 따라서 요구사항이 변경되었을 때, 링크된 요구 사항, 설계, 테스트 모두에 시각적으로 표시를 해줍니다. 참 쉽죠?

 이어서 Rational Requirements Composer는 프로젝트 개발 요건 정의의 능률화를 목표로 합니다. 즉, 커뮤니케이션의 효율성을 위해 존재하며, 요건을 정의하는데 유용한 정보망을 잡아내고 연결할 수 있습니다. 요구사항 분석 단계의 효과적인 커뮤니케이션 솔루션이라고 생각하면 되겠네요.


# IBM Rational Software의 '설계 및 개발' 솔루션 - Rational Rhapsody / Rational Software Architect Standard Edition / Rational Application Developer for WebSphere Software

 소프트웨어, 프로젝트 개발에서 가장 중요한 것은 요구 사항 분석이라고 생각하고 있어 앞선 설명이 길었네요. 하지만, 더불어 실질적인 결과를 만들어내는 과정은 바로 설계와 개발 과정입니다.

 IBM Rational Software에서는 이 설계 및 개발 과정을 위해 Rational Rhapsody 솔루션과 Rational Software Architect Standard Edition을 제공하고 있는데요.

IBM Rational Software - Rational Rhapsody Developer 스크린샷

요구사항을 해결하기 위해 설계한 결과물과 그것을 개발 과정에 연결하는 것은 꽤 어려운 일입니다.

 먼저, Rational Rhapsody에서는 UML, SysML 모델링으로 시스템 엔지니어링과 소프트웨어 개발을 일치시킵니다. 나아가 구조적 혹은 행위적 뷰를 포함해 C나 C++, Java, Ada 애플리케이션을 생성해버리지요. 개발에 이어지기 위해 모델 실행을 통해 모델 레벨의 디버깅을 제공하고, 상태 차트를 강조할 뿐만 아니라 실행 중에 런타임 시퀀스 다이어그램을 생성합니다. 후덜덜한 개발 용어들..

 어려운 말은 그만두고, 간단하게 Rational Rhapsody Developer 환경은 모델과 코드의 동기화를 유지하면서 개발자들이 모델 또는 코드 레벨에서 소프트웨어를 개발할 수 있게해서 생산성 향상에 도움을 줍니다. 이 말로 설명하기 참 어려운 상황이란..

 따라서 이를 통해 요구사항의 시각화로 팀의 협업을 촉진시킬 수 있고, 애플리케이션 생성 기능으로 생산성 또한 향상시킬 수 있습니다. 또, 생각하고 있다시피 이 쯤이면, 개발 수명 초기 단계에서 결함이나 설계 오류 또한 파악할 수 있지요.

 Rational Software Architect Standard Edition은 추상화와, 자동화 등의 빠른 애플리케이션 개발을 지원하기 위한 솔루션입니다. 당연히 Eclipse 플랫폼에 녹아있고, 자동화 기법으로 신속한 개발과 비용 절감이 가능해집니다.

 이어서 Rational Application Developer for WebSphere Software는 SOA와 웹 서비스 구축에 필요한 도구를 제공하는 솔루션입니다. 웹 개발 기간을 단축시키고, Web 2.0 기능과의 통합으로 개발 효율성과 팀의 생산성 향상을 도모할 수 있지요. 



# 마무으리

 이렇게 오늘도 IBM의 Rational Software의 기능과 솔루션에 대해 알아보았습니다.

 사실 소프트웨어 개발사, 개발자가 아닌 다음에는 이해하기 쉽지 않은 솔루션들입니다. 학부생이라면, 만날 요구사항이니, 설계, 개발이니 하는 이야기들만 들어보았지 실질적으로 접하기 어려운 내용들이기도 하지요.

 그만큼 IT 세상은 점점 더 복잡해져가고, 요구사항 또한 어려워지고 있습니다. 무언가 개발하는 학습 자체는 쉬워졌지만, 그만큼 세상이 원하는 것은 많아지고, 공돌이들이 할 일은 더 많아지는 이 느낌.. 아마 IBM과 같은 IT 솔루션을 제공하는 업체가 없다면, 이마저도 쉽지 않을 것입니다.

 IBM Rational Software의 소개는 아래 공식 링크를 참고하시고, 이만 글을 줄입니다. 다음 글에서는 소프트웨어 품질 솔루션과 프로세스 및 포트폴리오 관리 솔루션들에 대해 알아보아요~



포스팅 끝.
2014년 5월 30일.


  1. 참조: 소프트웨어 공학 - 위키백과, 우리 모두의 백과사전 [http://goo.gl/QRxxn4] [본문으로]