• 제목/요약/키워드: Complex Event Processing

검색결과 62건 처리시간 0.018초

웹 어플리케이션의 순환복잡도 메트릭스에 관한 연구 (A Study of Cyclomatic Complexity for Web Application)

  • 안종근;유해영
    • 정보처리학회논문지D
    • /
    • 제9D권3호
    • /
    • pp.447-456
    • /
    • 2002
  • 웹 어플리케이션은 기존의 어플리케이션과는 다른 구조적인 특징을 가지고 있다. 웹 서버 상에서 실행되는 프로그램 코드인 서버측 스크립트 요소, 웹 브라우저에서 수행되는 프로그램 코드인 클라이언트측 스크립트 요소, 웹 브라우저에서 사용자가 선택하는 링크 요소 그리고 사용자의 선택을 클라이언트 스크립트로 연결시켜 주는 이벤트 요소, 이렇게 네 가지 요소들이 상호 연관되어 웹 어플리케이션을 구성한다. 기존의 어플리케이션들보다 다양한 요소들로 구성된 웹 어플리케이션에서 복잡도 측정에 기존의 모듈 또는 클래스 단위로 적용되는 복잡도 측정 방법을 그대로 적용하기 힘들다. 이에 본 논문에서는 웹 어플리케이션의 구조적인 복잡함을 반영하는 웹 어플리케이션의 순환복잡도(CCWA : Cyclomatic Complexity for Web Application) 메트릭스를 제안한다. 제안된 CCWA 도구를 개발하여, 현재 기업에서 사용중인 웹 어플리케이션에 적용하여 평가하였다. 그 결과 제안된 CCWA 도구는 각 요소들에 순환복잡도를 각각 적용했을 때에는 발견할 수 없었던 복잡도가 높은 웹 어플리케이션 파일을 발견하게 해주었다.

실시간 소프트웨어의 조절적${\cdot}$단위적 이해 방법 : ARSU(Architecture-based Software Understanding)와 SRE(Software Re/reverse-engineering Environment) (A Scalable and Modular Approach to Understanding of Real-time Software: An Architecture-based Software Understanding(ARSU) and the Software Re/reverse-engineering Environment(SRE))

  • 이문근
    • 한국정보처리학회논문지
    • /
    • 제4권12호
    • /
    • pp.3159-3174
    • /
    • 1997
  • 본 논문은 매우 방대하고 복잡한 실시간 소프트웨어를 이해하기 위한 하나의 방법론과 도구의 개발 연구에 대하여 보고한다. 대부분 본 논문의 저자에 의하여 개발된 이 방법론과 도구는 ARSU(Architecture-based Real-time Software Understanding)과 SRE(Software Re/reverse-engineering Environment)이다. 재공학과정중에 실시간 소프트웨어의 이해한다는 것은 방대한 규모와 복잡성 때문에 일반적으로 매우 어려운 일이다. 그러나 이러한 어려움을 극복하기 위하여 본 논문에서는 architecture에 근거하여 구조적 ${\cdot}$ 기능적 ${\cdot}$ 행위적 측면에서 3차원적인 이해를 가능하게 한다. 이 방법을 통하여 실시간 소프트웨어를 점진적이며 체계적으로 재${\cdot}$역공학할 수 있게 한다. 첫째, 구조적인 관점은 부모-자식간의 관계에 기초한 상하 층충적으로 이루어진 소프트웨어의 전체적 구조, 그리고 명세와 알고리즘 뷰들을 통하여 관측할 수 있다. 여기에서 구조를 구성하는 기본단위는 SWU(Software Unit)이며 이 SWU는 특정 기준에 준하여 추출된다. 이 구조는 상하 또는 그 역방향으로 소프트웨어를 항해(navigation) 할 수 있게 한다. 이는 소프트웨어에 대한 개요와 상세에 관한 정보를 분리하여 상호간에 연관성이 있게 보여준다. 구조의 어떤 단계, 즉 어떤 추상화 단계에서라도 소프트웨어에 대한 기능적 ${\cdot}$ 행위적 대한 정보를 얻을 수 있게 한다. 둘째, 기능적 뷰는 자료와 제어의 흐름, 입력과 출력, 정의와 사용, 변수와 참조 등을 보여준다. 이 뷰의 각 사항들은 소프트웨어에 대한 특정 기능 정보를 제공하여 준다. 셋째, 행위적 뷰는 상태도, IEL(interleaved event list) 등을 들 수 있다. 이 뷰는 소프트웨어에 대한 실행시 동적 성질을 보여준다. 이 뷰들 외에도 각 측면과 뷰들을 위한 기능, 접속, 주석, 코드 등의 다수의 서류들이 제공된다. 본 연구의 가장 큰 장점은 구조를 항해하면서 여러 차원의 정보를 추상화하거나 세부적으로 확장할 수 있는 기능이다. 이러한 기능들은 이러한 실시간 소프트웨어를 이해 할 수 있는 토대를 마련해 준다. 그리고 이러한 장점은 재사용 가능한 요소를 체계적으로 식별하거나 검증할 수 있게 한다.

  • PDF