반응형

어플리케이션 내부 품질이란?
어플리케이션을 구성하고 있는 소스코드에 대한 품질을 뜻한다.
ISO 9126-3에 정의되고 있는 Application Internal Quality를 말하는 것으로 흔히 내부품질 이라고 표현한다.

CAST는 변경영향분석 툴인 동시에 이러한 어플리케이션 내부 품질영역에 대한 정보를 제공해주는 툴이다.

CAST에서 제공하는 품질 척도로는 Health Factor라고 크게 5가지 영역에서 측정하게 된다.
그 다섯가지 Factor는
Performance, Changeability, Robustness, Security, Transferability
로 구성된다.

각각의 항목을 살펴보면
   Performance : 성능 - 성능에 영향을 미치는 Metrics
   Changeability : 변경용이성 - 소스코드를 쉽게 변경가능한지에 대한 Metrics
   Robustness : 견고성 - 시스템이 얼마나 견고하게 구성되어 있는지에 대한 Metircs
   Security : 보안성 - 보안에 문제를 일으킬 소지를 가지고 있는지에 대한 Metrics
   Transferability : 이식성 - 현재 코드를 기반으로 빠르게 새 시스템을 구성할수 있는지에 대한 Metrics
으로 구분된다.

각각의 Health Factor는 ISO, SEI등 국제 기관의 룰 및 공식에 따라 계산되어 지는 700~800가지의 세부 Metircs을 가지고 있으며, 이러한 항목들로 측정 및 결과를 보여주게 된다.


이러한 내용들을 바탕으로 Programmer들에게 표준 개발 가이드를 제공하게되면
Application의 생명주기가 늘어나는 효과를 볼수 있게 되는 것이다. (이건 나중에 다시 Posting 예정)

Application Quality ≠ Code Quality 인 이유?
Code Quality는 단순한 소스코드에 대한 검증을 하는 것으로 전체 어플리케이션이 가지고 있는
복잡도 및 재사용성, Coupling을 측정할 수는 없다.

개인적인 의견 :
단순히 Code Quality는 해당 소스에 대한 개발자 스스로의 검증단위로 이루어지며
해당 책임소재도 역시 개발자가 지는 몫이다.

따라서 전체 Application Quality를 측정하여 QA는 이러한 내용을 바탕으로 최종 Application에 대한 품질까지 관리하여야 한다.



내부 품질을 강화해야 하는 목적은 Programmer의 개개인의 특성에 좌우되는 시스템이 아닌
개발 표준에 따른 코딩을 할수 있도록 도와주는 것이고
QA는 이러한 표준룰을 바탕으로 단지 테스트 및 릴리즈 관리 수준을 벗어나서
"시스템 전반을 체계적 관리"를  할 수 있도록 도움을 줄 수 있는 것이다.

현재 대한민국의 Application Quality에 대한 관심 및 적용도는 외국에 비해 약 10년정도 늦게 시작되고 있다.

지금이라도 이러한 것으로 체계적으로 관리한다면 비용 및 시간적인 절약을 할 수 있을 것이다.

영향분석 그리고 CAST

CAST 2008. 8. 25. 11:08
반응형

제품 명 : CAST
성격 : 변경영향분석 툴, Application Data Governance
만든곳 : 프랑스 CAST software (社)

영향분석 툴 CAST 라는 녀석을 만난지도 어언.. 4년이 넘어섰다.

오늘은 먼저.. 왜 변경영향분석을 하는가? 에 대해서 알아보자

 변경영향분석의 필요성

    왜? 왜 변경영향분석을 하는가?
    먼저 개발환경을 돌아보자.
    예전의 몇명이 개발하던 환경, Stand-Alone으로 동작하던 환경에서
    이제는 개발환경자체도 대규모가 되고, 여러 시스템들과 유관하게 작동하고 있다.

    따라서 내가 개발하고 있지 않은 시스템의 내부구조는 절대 알수가 없으며,
    내가 개발해 놓은 시스템을 어디에서 가져다 쓰는지 또한 알 수가 없다.

    따라서 유기적으로 서로간의 궁합이 맞지 않는다면
    그 시스템은 얼마든지 에러를 내포하게 되며, 개발 기간동안 헛짓거리를 많이 하게 되는 것이다.

    내가 개발하던 공용함수를 아무 생각없이 내 프로그램에 맞게 고쳐버리면?
    그 공용함수를 쓰는 사람은.. 당황스럽게도.. 계속 에러가 날것이고..
    잘되던 부분까지 다시 손봐야 하는 상황이 발생할것이다.

    이럴경우.. 심하면.. 전체 소스를 삽질해야 하는 상황까지 발생할 것이다.

    따라서 소스코드를 수정하기 전에는 반드시 변경영향분석을 해서
    사전에 영향을 받는 코드들의 주인에게 통보를 해야 하는것이다.

    나 이거 고칠텐데.. 그쪽은 얼마나 영향을 받나요? 라고 묻는것보다
    나 이거 고칠려고 보니. 나 말고도 많은데서 불렀네.. 음..
    신규로 해야 하나? 아니면 수정을 해야 하나?
    이런 고민을 해서 판단을 해야 하는 것이다.


    그렇다면 이러한 것을 어떻게 해야 하나?

    이러한 작업을 쉽게 하기 위해 나온 솔루션이 CAST이다.
    소스를 컴파일 레벨에서 분석하여
    파일, 클래스, 함수, 변수. 등으로 분석한후
    그들 간의 Call관계를 보여주는 것이다.

   

사용자 삽입 이미지