KR100934879B1 - 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및그 기록매체 - Google Patents

유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및그 기록매체 Download PDF

Info

Publication number
KR100934879B1
KR100934879B1 KR1020070136582A KR20070136582A KR100934879B1 KR 100934879 B1 KR100934879 B1 KR 100934879B1 KR 1020070136582 A KR1020070136582 A KR 1020070136582A KR 20070136582 A KR20070136582 A KR 20070136582A KR 100934879 B1 KR100934879 B1 KR 100934879B1
Authority
KR
South Korea
Prior art keywords
service
use case
task
program
system program
Prior art date
Application number
KR1020070136582A
Other languages
English (en)
Other versions
KR20090068814A (ko
Inventor
신수미
이상필
배상진
송인석
전성진
박만희
Original Assignee
한국과학기술정보연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술정보연구원 filed Critical 한국과학기술정보연구원
Priority to KR1020070136582A priority Critical patent/KR100934879B1/ko
Publication of KR20090068814A publication Critical patent/KR20090068814A/ko
Application granted granted Critical
Publication of KR100934879B1 publication Critical patent/KR100934879B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 기존에 개발된 기능 단위의 타스크(TASK) 프로그램(PROGRAM)으로 이루어지는 유즈 케이스(USE CASE)를 이용하여 신규 목적의 시스템 프로그램을 모델링(MODELING)하는 방법 및 그 기록매체에 관한 것으로, 특히 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법에 있어서, 유즈 케이스에 포함되는 다수의 타스크가 독립된 타스크 집합이면 하나의 서비스로 매핑하는 것을 포함하는 구성과, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법에 있어서, 유즈 케이스에 포함되는 다수의 타스크 집합 중에서 일부가 중복된 타스크 집합이거나 기존 타스크 집합을 일부의 타스크로 이용하는 경우를 분리하여 각각 서비스로 분할하는 것을 포함하는 구성과, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법에 있어서, 유즈 케이스에 포함되는 다수 타스크가 복합 타스크의 집합이면 복합 서비스로 설정하는 것을 포함하는 구성을 특징으로 하여, 선택된 기능의 시스템 프로그램을 쉽고 신속하게 개발하고, 유즈 케이스를 이용하므로 비숙련공이 시스템 설계와 개발을 간편하고 빠르게 진행하는 효과가 있다.
유즈 케이스, 타스크, 시스템 프로그램,

Description

유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및 그 기록매체{MODELING METHOD OF SYSTEM PROGRAM BY USING USE CASE AND STORAGE MEDIA THEREOF}
본 발명은 기존에 개발된 기능 단위의 타스크 프로그램을 이용하여 신규 목적의 시스템 프로그램을 개발하는 것으로 특히, 각각의 타스크 그룹을 유즈 케이스로 구분하여 신규 개발 프로그램에 적용하므로 개발 시간을 단축하는 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및 그 기록매체에 관한 것이다.
인간은 태초로부터 육체로 할 수 있는 모든 기능을 작은 힘과 노력을 이용하여 최대의 작용과 효과를 얻도록 하는 많은 도구 및 장치들을 연구하고 개발 및 발전시켜 오고 있다.
일례로, 손의 기능을 돕는 망치, 톱 등의 도구와, 발의 기능을 돕는 자전거, 자동차, 비행기, 배 등의 탈것 장치와, 입의 기능을 돕는 마이크, 증폭기 등과, 귀의 기능을 돕는 통신장치 등이 개발되어 왔고, 머리의 기능을 돕는 것으로는 컴퓨 터 등이 개발 및 발전되고 있다.
상기 컴퓨터(COMPUTER)는 크게 기계장치 또는 전자회로 등으로 구성되어 이루어지는 하드웨어(HARD-WARE: H/W)와 상기 하드웨어(H/W)를 사용자가 원하는 방식으로 구동되도록 제어하고 감시하며 운용하는 소프트웨어(SOFT-WARE: S/W)로 구분된다.
상기 소프트웨어는 프로그램(PROGRAM) 이라고도 하며, 개발하는 작업자에 따라 사용하는 소프트웨어 언어가 각각 다른 것이 일반적이며 개발이 완료될 때까지 많은 시간과 비용이 소요되지만, 해당 개발 목적을 완료한 후에 다른 목적, 다른 언어를 사용하는 프로그램 등에 재사용할 수 없었다.
일례로, 초기의 프로그램들은 기계어(어셈블리어)를 이용하였고, 고급 언어인 BASIC, COBLE, FORTRAN, C 등이 등장함에 따라 프로그램을 보다 쉽고 용이하게 작성할 수 있었다. 상기와 같은 각 언어는 문제에 접근하는 방식이 각각 다르며, 특히 초기 언어들은 대형 프로그램을 개발하기에 기술적으로 복잡하고 어려운 등의 문제가 있었다. 상기 각 프로그램 언어는 컴포넌트(COMPONENT)라고 한다.
상기 프로그램은 하나의 지정된 기능을 하는 단위를 타스크(TASK) 프로그램이라 하고, 한 개 이상의 타스크 프로그램이 모여 선택된 기능의 수행을 완료하는 것이 유즈 케이스(USE CASE)이며, 유즈 케이스는 서비스(SERVICE) 프로그램이라 하고, 한 개 이상의 서비스 프로그램이 모여 대규모의 선택된 기능을 수행하는 것을 시스템(SYSTEM) 프로그램이라 한다.
이하에서 서비스 프로그램을 서비스라고 하고, 타스크 프로그램을 타스크라 하며, 시스템 프로그램을 시스템이라고 하고, 기술의 이해를 돕기 위한 경우에는 혼용하기로 한다.
종래의 기술에서는 상기와 같이 프로그램을 재사용할 수 없는 문제를 해결하기 위하여, 기계어와 같이 구조적 언어로 정의되고 분류되는 언어로 만들어진 프로그램의 경우, 제어구조, 코드블록, 순환호출 및 지역적인 변수를 지원하는 부 프로그램인 함수를 이용하여 일부의 문제를 해결하였다.
그러나 상기 종래 기술에 의한 각 언어는 데이터 보다 처리방식에 치중하여 문제를 해결하므로 직관적인 방식으로 해결하지 못하는 문제가 여전히 남아 있다.
종래의 객체 지향적으로 정의되는 언어로 만들어진 프로그램의 경우, 객체라는 직관적인 방법을 도입한 것으로, C++, JAVA, C# 등의 프로그래밍 언어가 포함된다.
상기 객체 지향적 언어로 만들어지는 프로그램의 다형성, 파동효과를 최소화하는 상속성을 배제하고, 명확하게 정의된 인터페이스를 통해 이진 형식으로 재사용하는 컴포넌트 개발 방법(COMPONENT BASED DEVELOPMENT: CBD)의 개발이 필요하다.
상기 CBD는 각 COMPONENT 프로그램의 생성, 통합 및 재사용 문제를 소프트웨어로 해결한다.
상기와 같은 종래 기술의 일례에 의한 것으로, 첨부된 도 1 에 구조적 프로그래밍 언어와 객체 지향적 프로그래밍 언어의 발전단계가 상세히 도시되어 있다.
다른 프로그램 언어를 이용하여 서로 다른 장소에서 다수의 벤더들이 각각 개발한 프로그램을 네트워크상에서 생성하고 배포하며 관리하는 것을 분산 컴포넌트 또는 분산 프로그램 또는 분산 객체(이하 분산 컴포넌트)라고 한다.
상기 분산 컴포넌트는 플랫폼(PLATFORM), 운영체제(OS), 소프트웨어 등이 상이한 분산된 환경에서 주어진 환경에 제약 없이 개별적이고 독립적으로 실행되는 것으로 객체지향적인 CORBA, COM+, EJB 등의 언어가 개발에 사용된다.
이상적인 분산 환경은 사용자가 분산 컴포넌트의 이용에 어떠한 제약도 없어 야 하고, 이러한 경우 분산 컴퓨터의 환경은 첫째, 개발에 사용되는 프로그램 언어에 관계없이 서비스를 제공하고, 둘째, 플랫폼에 독립적인 컴포넌트이며, 셋째, 이용과 유지보수가 쉽고 간단한 등의 조건을 충족해야 한다.
그러나 상기와 같은 종래 기술에 의한 것으로, CORBA, COM+, EJB 등으로 이루어지는 분산 컴포넌트는 자신의 프레임 워크(FRAME WORK)에서 독립적이지 못한 문제가 있다.
상기와 같은 분산 컴포넌트의 문제를 해소하는 것이 서비스 지향 아키텍처(SERVICE ORIENTED ARCHITECTURE: SOA) 이다.
상기 SOA는 1996년에 가트너(GARTNER) 그룹에 의하여 최초로 소개된 것으로 EBXML, 웹서비스 등의 기준이 되는 개념이다. 즉, 웹서비스는 XML 기반의 메시지를 사용하는 인터페이스의 집합이고 SOA의 개념을 실현하는 소프트웨어 컴포넌트이다.
도 2 를 참조하여 상기 SOA의 XML 기반 웹서비스로 재인식되는 배경을 설명하면, 일례로, 인터넷(INTERNET) 등의 통신 네트워크(NETWORK)에서 분산 프로그램 객체를 생성하고 배포하며 관리하는 구조와 규격의 코바(CORBA: COMMON OBJECT REQUEST BROKER ARCHITECTURE)와, 상기 네트워크에서 클라이언트(CLIENT) 프로그램 객체가 다른 컴퓨터의 서버(SERVER) 프로그램 객체에 서비스를 요청하는 프로그램 인터페이스의 디콤(DCOM: DISTRIBUTED COMPONENT OBJECT MODEL) 등에 의한 분산 객 체 개념의 기반 기술들이 다수 개발되어 적용되고 있다.
상기 코바, 디콤 등과 같은 분산 객체 기술은 기술적으로 미성숙하였고, 공개된 표준이 없었으며, 개발 업체(VENDER) 사이에서도 협력이 없어 활성화되지 못하였다.
상기와 같은 분산 객체를 XML 기반의 웹서비스(WEB SERVICE)에 적용한 것이 SOA 기술이며, 상기 SOA 기술은 소프트웨어 인프라(INFRA)를 구축하는 방법을 정의한 것이고, 상기 SOA가 적용된 웹서비스의 활성화에 의하여 그 중요성이 재인식되고 있다. 이것이 서비스 지향적 아키텍처 또는 어플리케이션(SOA : SERVICE ORIENTED ARCHITECTURE 또는 APPLICATION)이다.
그러나 지금까지 정의되고 제안된 많은 서비스 방법들은 구체적인 절차와 서비스 식별의 기준을 명확하게 제시하지 못하고 있어 실제 개발에 적용하기까지 많은 어려운 문제가 있다.
본 발명은 SOA 기반 서비스의 모델링에 있어서, 프로그램의 개발 결과로 정의하고 있는 유즈 케이스(USE CASE)를 서비스 지향적 수단의 요소로 활용하는 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및 그 기록매체를 제공하는 것이 그 목적이다.
또한, 본 발명은 프로그램 시스템을 구현하는 관점에서 서비스 구분, 서비스 아키텍처 템플레이트, 서비스 도출을 유즈 케이스 요소를 이용하는 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및 그 기록매체를 제공하는 것이 그 목적이다.
상기와 같은 목적을 달성하기 위하여 안출한 본 발명은, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법에 있어서, 유즈 케이스에 포함되는 다수의 타스크가 독립된 타스크 집합이면 하나의 서비스로 매핑하는 것을 포함하는 구성을 제시 한다.
바람직하게, 상기 독립된 타스크는 다른 유즈 케이스의 타스크 집합과 의존관계가 있거나 중복되지 않는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위하여 안출한 본 발명은, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법에 있어서, 유즈 케이스에 포함되는 다수의 타스크 집합 중에서 일부가 중복된 타스크 집합이거나 기존 타스크 집합을 일부의 타스크로 이용하는 경우를 분리하여 각각 서비스로 분할하는 것을 포함하는 구성을 제시 한다.
바람직하게, 상기 중복된 타스크는 유즈 케이스에서 독립적으로 작용하면서 다른 유즈 케이스의 타스크 집합에서 중복되어 사용되는 타스크 집합인 것을 특징으로 한다.
또한, 상기 기존 타스크는 유즈 케이스에서 독립적으로 작용하면서 기존에 개발된 타스크 집합인 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위하여 안출한 본 발명은, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법에 있어서, 유즈 케이스에 포함되는 다수 타스크가 복합 타스크의 집합이면 복합 서비스로 설정하는 것을 포함하는 구성을 제시한다.
바람직하게, 상기 복합 타스크는 유즈 케이스에 포함되는 다수의 타스크 집 합에 중복된 타스크 집합과 기존 타스크 집합과 독립된 타스크 집합 중에서 적어도 2개 이상이 포함되는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위하여 안출한 본 발명은, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법을 기록한 기록매체에 있어서, 유즈 케이스에 포함되는 다수의 타스크가 독립된 타스크 집합이면 하나의 서비스로 매핑하는 프로세스를 포함하는 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법을 기록한 기록매체를 제시한다.
상기와 같은 목적을 달성하기 위하여 안출한 본 발명은, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법을 기록한 기록매체에 있어서, 유즈 케이스에 포함되는 다수의 타스크 집합 중에서 일부가 중복된 타스크 집합이거나 기존 타스크 집합을 일부의 타스크로 이용하는 경우를 분리하여 각각 서비스로 분할하는 프로세스를 포함하는 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법을 기록한 기록매체를 제시한다.
상기와 같은 목적을 달성하기 위하여 안출한 본 발명은, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법을 기록한 기록매체에 있어서, 유즈 케이스에 포함되는 다수 타스크가 복합 타스크의 집합이면 복합 서비스로 설정하는 프로세스를 포함하는 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법을 기록한 기록매체 를 제시한다.
상기와 같은 구성의 본 발명은 유즈 케이스(USE CASE)를 서비스 지향적 수단의 요소로 활용하므로 선택된 기능의 시스템 프로그램을 쉽고 신속하게 개발하는 산업적 이용 효과가 있다.
또한, 상기와 같은 구성의 본 발명은 서비스 구분, 서비스 아키텍처 템플레이트, 서비스 도출을 유즈 케이스 요소를 이용하므로 비숙련공이 시스템 설계와 개발을 간편하고 빠르게 진행하는 사용상 편리한 효과가 있다.
이하, 상기와 같은 구성의 본 발명에 의한 것으로, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및 그 기록매체의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다.
실시 예
본 발명을 설명하기 위하여 첨부된 것으로, 도 3 은 본 발명의 일례에 의한 것으로 SOA 서비스의 논리적 설명도 이고, 도 4 는 본 발명의 일례에 의한 것으로 SOA 서비스의 종류 설명도 이며, 도 5 는 본 발명의 일례에 의한 것으로 SOA 서비스의 구성요소 설명도 이고, 도 6 은 본 발명이 설명을 위한 것으로 IBM의 SOMA 방법 설명도 이며, 도 7 은 본 발명의 설명을 위한 것으로 IBM의 SOA 아키텍처 도시도 이고, 도 8 은 본 발명의 일례에 의한 것으로 유즈 케이스의 분석 설명도 이며, 도 9 는 본 발명의 일례에 의한 것으로 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 설명도 이고, 도 10 은 본 발명의 일례에 의한 것으로 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 설명도 이며, 도 11 은 본 발명의 일례에 의한 것으로 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 설명도 이고, 도 12 는 본 발명의 일례에 의한 것으로 시스템 프로그램이 유즈 케이스로 분류된 다이어그램 설명도 이며, 도 13 은 상기 도 12에서 분류된 각 유즈 케이스를 식별하여 표시한 도시도 이고, 도 14 는 본 발명의 일례에 의한 것으로 유즈 케이스의 복합 설정방법 순서도 이다.
본 발명의 일례를 설명함에 있어서, 본 발명과 직접적으로 관련 없고, 잘 알려져 있는 기술 내용에 대하여서는 도면 도시 및 설명을 생략하므로, 본 발명의 요지를 흐리지 않고 명확하게 전달한다.
도 9 를 참조하여, 본 발명의 일례에 의한 것으로 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법을 설명하면, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법에 있어서, 상기 유즈 케이스에 포함되는 다수의 타스크가 다른 유 즈 케이스의 타스크 집합과 의존관계가 있거나 중복되지 않는 독립된 타스크 집합이면 하나의 서비스로 매핑하는 구성이다.
도 10 을 참조하여, 본 발명의 일례에 의한 것으로 유즈 케이스(USE CASE)를 이용한 시스템 프로그램의 모델링(MODELING) 방법을 설명하면, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법에 있어서, 상기 유즈 케이스에 포함되는 다수의 타스크(TASK) 집합 중에서 일부가 상기 유즈 케이스에서 독립적으로 작용하면서 다른 유즈 케이스의 타스크 집합에서 중복되어 사용되는 중복된 타스크 집합이거나, 상기 유즈 케이스에서 독립적으로 작용하면서 기존에 개발된 기존 타스크 집합을 일부의 타스크(TASK)로 이용하는 경우를 분리하여 각각 서비스로 분할하는 구성이다.
도 11 을 참조하여, 본 발명의 일례에 의한 것으로 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법을 설명하면, 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법에 있어서, 상기 유즈 케이스에 포함되는 다수 타스크가 상기 유즈 케이스에 포함되는 다수의 타스크 집합에 일부가 중복된 타스크 집합이고 다른 일부는 기존 타스크 집합이며 다른 일부는 독립된 타스크 집합인 복합 타스크의 집합이면 복합 서비스로 설정하는 구성이다.
본 발명이 적용되는 SOA는 표준화된 방법으로 모든 환경에서 필요로 하는 서 비스 프로그램을 호출하여 이용할 수 있어야 되고, 상기 서비스를 호출하는 메커니즘은 널리 채택된 표준에 근거하는 플랫폼 독립적인 특성을 필요로 한다. 상기 서비스는 하나 이상의 타스크(TASK)로 이루어진다.
또한, 호출된 서비스를 이용하는 경우 내부 데이터 자료의 포맷 구조나 정보에 대하여 사전에 알고 있어야 할 필요가 없는 약 결합 방식인 동시에, 호출된 다수 서비스의 정의와 위치 정보를 단일한 저장소에 저장하고 클라이언트들은 저장소에 있는 정보를 통해 위치에 관계없이 등록 및 호출하는 위치 투명성이 지원되는 방식이다.
도 3 을 참조하여 SOA 서비스를 논리적으로 설명하면, 서비스 인터페이스(INTERFACE)와 서비스 구현(IMPLEMENTATION)으로 구성된다.
상기 SOA 서비스는 일반적으로 소프트웨어에서 구현된 비지니스 함수이며, 잘 구성된 인터페이스를 통해 외부로 노출된다. 상기 서비스 인터페이스는 서비스 요청자가 호출하는 연산들이며, 서비스 명세는 서비스 요청자가 호출하는 모든 인터페이스이다. 즉, 서비스를 외부에 노출시키고, 서비스 요청자가 호출하는 연산자를 이용하는 서비스의 인터페이스와 소프트웨어로 구현되는 비지니스 함수, 인터페이스로 외부에 노출되는 서비스 구현(IMPLEMENTATION) 등이 포함되는 것을 SOA 라고 하며, 상기 SOA 서비스는 모든 프로그램과의 인터페이스를 가능하게 한다.
도 4 를 참조하여 SOA 서비스의 종류를 설명하면, 이용방법에 따라 단순(SIMPLE) 서비스와 복합(COMPOSITE) 서비스로 구분된다.
상기 복합서비스는 단순서비스를 조합하여 특정 비지니스 프로세스를 운용하도록 구성된 서비스 이다. 일례로, 단순서비스는 서비스 'A', 또는 서비스 '가' 또는 서비스 '1' 등으로 이루어지지만, 복합서비스는 서비스 ‘A’와 서비스 ‘가’와 서비스 ‘1’이 포함되어 복합적으로 구성된다.
도 5 를 참조하여 SOA 서비스의 구성요소를 설명하면, 서비스 제공자(PROVIDER)에 의해 제공되는 하나 이상의 서비스를 이용하는 서비스 요청자(CLIENT)와, 서비스 요청자가 호출시 상기 서비스 요청자가 입력하는 값을 가공하여 해당 결과를 제공하고, 서비스 제공자 또는 다른 서비스 제공자의 서비스를 이용하는 서비스 사용자가 되는 서비스 제공자(PROVIDER)와, 서비스에 대한 기술 정보(DESCRIPTION)를 저장 및 검색하도록 한다.
상기 서비스 제공자가 제공하는 서비스를 등록하고 서비스 요청자가 원하는 서비스를 검색하여 호출하도록 하는 서비스 레지스트리(REGISTRY)가 포함된다. 상기 서비스 제공자와 서비스 요청자 사이는 바인드(BIND) 관계이고, 상기 서비스 요청자와 서비스 레지스트리 사이는 파인드(FIND) 관계이며, 상기 서비스 제공자와 서비스 레지스트리 사이는 퍼블리시(PUBLISH) 관계가 된다.
일반적으로 대규모 IT(INFORMATION TECHNOLOGY) 시스템을 구축한 기업체의 고민은 많은 비용이 소요되었으나 제한적인 사람들이 제한적인 목적으로 사용하고 있다는 것이다. 보안등이 요청되는 특별한 정보를 제외한 일반적인 정보는 해당 조직의 구성원 모두가 함께 공유하는 것이 정보의 효율적인 운용 측면에서 유리하다.
일례로, 조직 구성원들의 성과를 적극 관리하기 위하여, 해당 신원정보를 일부 활용하는 CIM(CORPORATE INCENTIVE MANAGEMENT) 시스템을 도입하는 경우, 상기 CIM 시스템 도입을 위하여 비용을 지불하고, 신원정보 시스템과의 연동을 위하여 별도의 커넥터 프로그램을 개발하여야 한다. 즉, CIM 시스템 도입과 커넥터 프로그램의 개발을 위하여 많은 비용이 소요되고 이러한 과정이 반복된다.
본 발명의 SOA는 이러한 경우에 적은 비용으로 간단하게 해결하는 것으로, 상기 직원정보 시스템을 외부에 제공할 수 있는 서비스로 변환 정의하고, 즉, WSDL(WEB SERVICE DESCRIPTION LANGUAGE)와 같은 표준의 XML로 인터페이스 시키며, 상기 WSDL 인터페이스로 입력되는 신호를 상기의 직원정보 시스템과 연동시키기 위한 개발만 하면 된다. 이러한 개발 부분은 JSP/SERVLET 또는 ASP와 같은 웹 애플리케이션을 이용하여 용이하게 해결한다.
상기 WSDL은 시스템이 제공하는 서비스를 표준화된 방법으로 비교적 자세히 설명하므로, 상기 표준만 이해하면 용이하게 이용할 수 있다.
상기 SOA에서의 WEB SERVICE 이용은 연동을 간편하게 하고 비용을 최소로 하기 위한 것으로, 일례로, J2EE, NET, CORBA 등과 같은 프로그램을 이용하는 경우, 즉, 모든 인터페이스를 JAVA 인터페이스로 개발하고, RMI(REMOTE METHOD INVOCATION)로 연동시키면 새로운 시스템 프로그램을 개발하는 경우 JAVA와의 통신을 위하여 개발을 다시 하여야 한다.
상기 SOA를 지원하는 것으로 IBM 사에서 개발한 SOMA(SERVICE ORIENTED MODELING AND ARCHITECTURE)는 서비스의 식별(IDENTIFICATION), 명세(SPECIFICATION), 실현(REALIZATION)의 3 단계를 제안하고 있다.
도 6 을 참조하여, IBM의 SOMA 방법을 설명하면, 비지니스 도메인(BUSINESS DOMAIN)을 기능 중심으로 하여 탑다운(TOP-DOWN) 방식으로 서브시스템을 분해하고, 이미 가지고 있는 시스템을 분석하여 비지니스 프로세스에서 수용 가능한 기능의 서비스를 바탐업(BOTTOM-UP) 방식으로 식별하며, 상기 탑다운과 바탐업 방식으로 식별되지 않는 다른 서비스를 찾아내는 목표 서비스 모델링을 수행한다.
상기와 같은 방식에서 상위의 비지니스 프로세스(BUSINESS PROCESS) 기능은 큰 크기(LARGE-GRAINED)의 서비스(SERVICE)로 식별되고, 작은 크기(SMALLER-GRAINED)의 서비스는 기존에 존재하는 기능을 중심으로 식별한다. 즉, 도메인 디컴포지션(DOMAIN DECOMPOSITION)과 목표 서비스 모델링(GOAL SERVICE MODELING)과 현존 시스템 분석(EXISTING SYSTEM ANALYSIS) 등으로 식별(IDENTIFICATION)한다.
상기와 같이 식별한 후는 서브 시스템의 분석(SUBSYSTEM ANALYSIS)에 의한 컴포넌트 순서 규격화(COMPONENT FLOW SPECIFICATION), 컴포넌트의 규격화(COMPONENT SPECIFICATION)에 의한 정보 규격화(INFORMATION SPECIFICATION), 서비스 규격화(SERVICE SPECIFICATION)에 의한 서비스 순서 규격화(SERVICE FLOW SPECIFICATION) 및 메시지와 이벤트 규격화(MESSAGE & EVENT SPECIFICATION)로 규격화 또는 명세화(SPECIFICATION) 한다.
상기와 같이 규격화 또는 명세화 처리 후에 서비스 실현의 결정(SERVICE REALIZATION DECISION)을 통하여 각 컴포넌트에 서비스를 배치(ALLOCATION)하고, 컴포넌트를 계층화(LAYER) 한다.
즉, 외부 비지니스 협력자나 사용자가 사용하는 기능을 외부로 끌어내어 아답터(ADAPTORS)와 래퍼(RAPPERS)의 개발을 결정한다.
상기 래퍼(WRAPPERS)는 기존의 프로그램을 SOA에서 이용할 수 있도록 포장하 는 개념의 프로그램이고, 아답터(ADAPTERS)는 각각의 프로그램이 정합(MATCHING) 상태로 서로의 데이터 정보(INFORMATION)를 주고받을 수 있도록 하는 프로그램이다.
상기 서비스의 정의나 식별은 서비스 집합의 논리적 구성을 나타내는 서비스 아키텍처에 따라 달라지므로, 서비스 아키텍처의 수립은 서비스 식별을 위하여 중요한 요소이며, IBM에서 제공하는 아키텍처로는 PSVAUI(PROVIDES A SERVICE-ORIENTED VIEW ON APPLICATIONS & THE UNDERLYING INFRASTRUCTURE)가 있다. 상기 아키텍처는 인프라스트럭처 서비스로부터 비지니스 이노베이션(BUSINESS INNOVATION) 및 옵티미제이션 서비스(OPTIMIZATION SERVICE)까지 9 가지의 서비스로 구분되고, 각 서비스는 ESB(ENTERPRISE SERVICE BUS)를 통하여 통신하며, 첨부된 도 7 과 같이 IBM의 SOA 아키텍처(ARCHITECTURE)가 도시된다.
상기와 같은 서비스 아키텍처 또는 서비스 모델링 방법은 구체적이지 못하고, 각 벤더의 솔루션과 밀접히 연관되는 등의 이유에 의하여 서비스의 구분과 각 레이어(LAYER)의 역할 공통점을 찾기 어렵고, 이를 해결하기 위하여서는 특정 서비스 제품을 고려한 개발이 필요하다.
상기 서비스의 모델링을 위하여서는 서비스 집합의 논리적 구성을 나타내는 서비스 아키텍처의 정의와 구분이 필요하고, 본 발명에서는 어플리케이 션(APPLICATION) 아키텍처와 컴포넌트(COMPONENT) 아키텍처로 제한하여 정의한다. 서비스 아키텍처는 비지니스 프로세스 로직에 따라 컴포넌트 서비스 또는 컴포지션 서비스를 조합하는 비지니스 서비스 레이어와 SOA의 핵심 개념인 컴포넌트 서비스를 제공하는 컴포넌트 서비스 레이어 및 각 레이어에 인프라스트럭처를 제공하는 인프라 서비스 레이어의 3 개로 구성한다.
상기 서비스는 아키텍처의 레이어를 구분하여 고려하고, 아키텍처의 3 개 레이어 중에서 식별과 개발 대상이 되는 서비스는 비지니스 서비스 레이어(BUSINESS SERVICE LAYER)와 컴포넌트 서비스 레이어(COMPONENT SERVICE LAYER)에 놓이는 서비스로 각각 컴포지션 서비스(COMPOSITION SERVICE)와 컴포넌트 서비스(COMPONENT SERVICE)로 구분한다.
즉, 비지니스 서비스 레이어에 놓이는 서비스로 다수 컴포넌트 서비스의 기능을 비지니스 프로세스(PROCESS) 로직(LOGIC)에 따라 통합한 서비스인 컴포지션 서비스라 정의하고, 컴포넌트 서비스 레이어에는 인지할 수 있는 비지니스 기능 또는 활동에 상응하는 단위 서비스인 컴포넌트 서비스라고 하며, 구현 형태에 따라 신규로 작성되는 서비스와, 내 외부에 존재하는 웹서비스(WEB SERVICE)를 사용하는 서비스와, 웹서비스 인터페이스를 제공하지 않는 경우 아답터 기술을 사용하는 랩핑된 서비스의 3 가지 형태로 구분된다.
본 발명에 의한 것으로, 다수의 시스템 프로그램에 적용된 결과로 서비스 모델링(MODELING)하는 방법을 설명하면, UML(UNIFIED MODELING LANGUAGE)로 정의되는 다수의 유즈 케이스(USE CASE)는 사용자와 시스템의 상호작용을 표현하며, 사용자와 시스템 사이에서 상호 작용해야하는 기능과 특성을 이용한다. 즉, 유즈 케이스는 반드시 구현되어야 되는 시스템의 목표이고, 이를 이용하여 서비스의 식별이 용이하다.
도 8 을 참조하여 유즈 케이스의 분석을 설명하면, 시스템 프로그램의 개발 요구(REQUIREMENT) 또는 요청이 있는 경우, 시스템 구성에 필요한 유즈 케이스를 모델링(MODELING)하고, 유즈 케이스를 규격화(SPECIFICATION) 하며, 유즈 케이스를 분석(ANALYSIS)하여 시스템 프로그램을 개발(DESIGN)한다.
이때, 유즈 케이스의 분석은 다수의 유즈 케이스 분석을 동시에 진행한다.
상기의 유즈 케이스 분석은 1:1 매핑(MAPPING) 방법과, 분할(SEPARATE) 방법과 복합(COMPOSITION) 방법이 있다.
도 9 를 참조하여 본 발명의 일례에 의한 것으로 1:1 매핑 방법을 설명하면, 하나의 유즈 케이스로 하나의 서비스를 개발하는 방법이다.
상기 1:1 매핑 방법은 집합을 구성하는 다수의 타스크(110)가 하나의 유즈 케이스(100)를 구성하며 서로 의존관계 또는 중복되지 않고 독립적인 경우에 하나의 서비스로 구분한다. 즉, 하나의 유즈 케이스(100)를 하나의 서비스 프로그램(120)으로 매핑(MAPPING)하는 방식이다.
도 10 을 참조하여 본 발명의 다른 일례에 의한 것으로, 분할 방법을 설명하면, 하나의 유즈 케이스(100)가 다수의 타스크(110) 집합으로 구성되고, 각 타스크(110)의 집합이 서로 독립적으로 작용하면서 일부의 기능이 중복되거나 기존에 이용되는 기능의 타스크(110) 집합이면 각각의 해당 타스크(110) 집합을 분리하여 하나 이상의 서비스 프로그램(120)으로 구성하는 방식이다.
상기 도 10의 상부에 도시된 상태는 유즈 케이스(100)를 구성하는 다수의 타스크(100) 중에서 일부 타스크(110) 집합이 기존에 사용되는 타스크(110)의 집합이면 분리된 서비스 프로그램으로 구성하고, 나머지 타스크(110)의 집합을 별도로 분리된 서비스 프로그램(120)으로 구성한다. 즉, 하나의 유즈 케이스(100)를 작은 서비스 프로그램(120) 단위로 나누는 방식이다.
도 11 을 참조하여 본 발명의 또 다른 일례에 의한 것으로, 복합 방법을 설명하면, 하나의 유즈 케이스(100)에 포함되는 다수의 타스크(110)가 중복되거나 기존 타스크(110) 집합이거나 독립된 타스크 집합이면, 각각을 서비스 프로그램(120)으로 구성하고, 각각의 서비스 프로그램(120)을 하나의 복합 서비스 프로그램(130)으로 설정하는 구성 방식이다.
도 12 를 참조하여 본 발명의 일례에 의한 것으로 시스템 프로그램이 유즈 케이스로 분류된 다이어그램을 설명하면, 논문검증, 논문 성과검색, 특허검증, 과제별 성과조회, 과제검색, 논문 성과조회, 특허성과검색, 특허성과조회, 인력정보조회 등과 같은 유즈 케이스로 분류되고 있음을 보여준다.
도 13 은 상기 도 12에서 분류된 각 유즈 케이스를 식별하여 표로 도시한 것으로, 9 개로 식별됨이 확인된다.
상기 도 13 을 상세히 설명하면, 논문검증 유즈 케이스는 논문 검증 서비스 프로그램으로 1:1 매핑되고, 특허검증 유즈 케이스는 특허 검증 서비스로 1:1 매핑되며, 과제별 성과조회 유즈 케이스는 논문 성과조회 서비스와 특허 성과조회 서비스를 복합한 설정이다.
또한, 과제검색 유즈 케이스는 과제검색서비스로 1:1 매핑되며, 논문 성과검색 유즈 케이스는 논문 성과검색 서비스로 1:1 매핑되고, 논문 성과조회 유즈 케이스는 논문 성과조회 서비스로 1:1 매핑됨이 도시되어 있다.
또한, 특허성과검색 유즈 케이스는 특허성과검색서비스로, 특허성과조회 유즈 케이스는 특허성과조회서비스로, 인력정보조회 유즈 케이스는 인력조회서비스로 각각 1:1 매핑된다.
상기 과제별 성과조회 유즈 케이스가 논문 성과조회 서비스와 특허성과조회서비스로 복합 설정되는 과정을 첨부된 도 14를 참조하여 설명한다.
도 14 를 참조하여 본 발명의 일례에 의한 것으로 유즈 케이스의 복합 설정 방법을 설명하면, 과제별 성과조회 유즈 케이스를 선택하고(S100), 선택된 과제별 성과조회 유즈 케이스의 정보를 표시한다(S110). 상기 표시되는 정보는 타스크 정보이다.
상기 표시된 유즈 케이스의 정보가 논문 정보 인지를 확인하고(S120), 논문 정보이면 논문 정보 또는 논문 성과조회 서비스로 표시하며(S130), 논문정보가 아닌 경우는 특허 정보 인지를 확인하고(S140), 특허정보이면 특허정보 또는 특허성과조회 서비스로 표시한다(S150).
상기와 같은 구성의 본 발명은 시스템 프로그램을 개발하는데 있어서, 기존에 개발된 프로그램을 유즈 케이스로 분류하여 재사용하므로 프로그램의 개발에 소요되는 시간을 줄이고, 빠르게 개발을 완료하는 등의 장점이 있다.
본 발명을 일례로 설명하였으나, 반드시 이러한 일례에 국한되는 것이 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있 다. 따라서 본 발명에 개시된 일례들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 일례에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
도 1 은 종래 기술에 의한 것으로 구조적 프로그래밍 언어와 객체 지향적 프로그래밍 언어의 발전단계 상세 도시도,
도 2 는 일반적인 SOA의 XML 기반 웹서비스로 재인식되는 배경 설명도,
도 3 은 본 발명의 일례에 의한 것으로 SOA 서비스의 논리적 설명도,
도 4 는 본 발명의 일례에 의한 것으로 SOA 서비스의 종류 설명도,
도 5 는 본 발명의 일례에 의한 것으로 SOA 서비스의 구성요소 설명도,
도 6 은 본 발명이 설명을 위한 것으로 IBM의 SOMA 방법 설명도,
도 7 은 본 발명의 설명을 위한 것으로 IBM의 SOA 아키텍처 도시도,
도 8 은 본 발명의 일례에 의한 것으로 유즈 케이스의 분석 설명도,
도 9 는 본 발명의 일례에 의한 것으로 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 설명도,
도 10 은 본 발명의 일례에 의한 것으로 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 설명도,
도 11 은 본 발명의 일례에 의한 것으로 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 설명도,
도 12 는 본 발명의 일례에 의한 것으로 시스템 프로그램이 유즈 케이스로 분류된 다이어그램 설명도,
도 13 은 상기 도 12에서 분류된 각 유즈 케이스를 식별하여 표시한 도시도,
도 14 는 본 발명의 일례에 의한 것으로 유즈 케이스의 복합 설정방법 순서 도.
** 도면의 주요 부분에 대한 부호 설명 **
100 : 유즈 케이스 110 : 타스크
120 : 서비스 프로그램 130 : 복합 서비스 프로그램

Claims (10)

  1. 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법에 있어서,
    상기 유즈 케이스에 포함되는 다수의 타스크가, 다른 유즈 케이스의 타스크 집합과 의존관계가 있거나 중복되지 않는 독립된 타스크 집합이면 하나의 독립 서비스로 매핑하고,
    상기 유즈 케이스에 포함되는 일부의 타스크가, 상기 유즈 케이스에서 독립적으로 작용하면서 다른 유즈 케이스의 타스크 집합에서 중복되어 사용되는 타스크 집합이거나, 상기 유즈 케이스에서 독립적으로 작용하면서 기존에 개발된 타스크 집합을 일부의 타스크로 이용하는 경우를 분리하여 각각 분할 서비스로 매핑하며,
    상기 유즈 케이스에 포함되는 다수의 타스크가, 상기 유즈 케이스에 포함되는 다수의 타스크 집합에 중복된 타스크 집합과 기존 타스크 집합과 독립된 타스크 집합 중에서 적어도 2개 이상이 포함되는 복합 타스크의 집합이면 복합 서비스로 매핑하는 것을 포함하는 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제1항의 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법에 관한 프로세스를 기록한, 컴퓨터로 읽을 수 있는 기록매체.
  9. 삭제
  10. 삭제
KR1020070136582A 2007-12-24 2007-12-24 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및그 기록매체 KR100934879B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070136582A KR100934879B1 (ko) 2007-12-24 2007-12-24 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및그 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070136582A KR100934879B1 (ko) 2007-12-24 2007-12-24 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및그 기록매체

Publications (2)

Publication Number Publication Date
KR20090068814A KR20090068814A (ko) 2009-06-29
KR100934879B1 true KR100934879B1 (ko) 2010-01-06

Family

ID=40996149

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070136582A KR100934879B1 (ko) 2007-12-24 2007-12-24 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및그 기록매체

Country Status (1)

Country Link
KR (1) KR100934879B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020046446A (ko) * 2000-12-14 2002-06-21 오길록 객체 관계와 객체 이용 정보를 이용한 소프트웨어컴포넌트 식별 장치 및 그 방법
KR100426312B1 (ko) * 2001-12-28 2004-04-08 한국전자통신연구원 컴포넌트 기반 소프트웨어 개발 시스템의 컴포넌트식별장치 및 그 방법과 이에 관련된 프로그램의 기록매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020046446A (ko) * 2000-12-14 2002-06-21 오길록 객체 관계와 객체 이용 정보를 이용한 소프트웨어컴포넌트 식별 장치 및 그 방법
KR100426312B1 (ko) * 2001-12-28 2004-04-08 한국전자통신연구원 컴포넌트 기반 소프트웨어 개발 시스템의 컴포넌트식별장치 및 그 방법과 이에 관련된 프로그램의 기록매체

Also Published As

Publication number Publication date
KR20090068814A (ko) 2009-06-29

Similar Documents

Publication Publication Date Title
Rademacher et al. Differences between model-driven development of service-oriented and microservice architecture
US9501267B2 (en) Generating a service component architecture (SCA) module with service oriented architecture (SOA) model elements
US20020147606A1 (en) Application development method
US8495559B2 (en) Extracting platform independent models from composite applications
Petrasch Model-based engineering for microservice architectures using Enterprise Integration Patterns for inter-service communication
US20060036687A1 (en) Computer implemented method and system for running a plurality of business processes
AU4754600A (en) System and method for the visual customization of business object interfaces
Inverardi et al. Deadlock-free software architectures for com/dcom applications
Sorgalla et al. Applying model-driven engineering to stimulate the adoption of devops processes in small and medium-sized development organizations: the case for microservice architecture
CN112256406B (zh) 作业流程平台化调度方法
US9836282B2 (en) Separation of concerns between information technology services models
Lewis et al. Smart: Analyzing the reuse potential of legacy components in a service-oriented architecture environment
JP4671337B2 (ja) Webサービスのアクセス制御システム
Sangwan et al. Integrating a software architecture-centric method into object-oriented analysis and design
Chiang Wrapping legacy systems for use in heterogeneous computing environments
KR100934879B1 (ko) 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및그 기록매체
US20110106803A1 (en) Computer method and system providing access to data of a target system
Tere et al. Design patterns for successful service oriented architecture implementation
Tripathi et al. Change management in semantic business processes modeling
EP1628256A1 (en) A computer implemented method and system for running a plurality of business processes
Alodib An approach to automating the integration of the access control policies for web services
Bagheri et al. Toward an elastic service based framework for Enterprise Application Integration
Leotta et al. Building VECM-based Systems with a Model Driven Approach: an Experience Report.
Schlegel An interactive process meta model for runtime user interface generation and adaptation
Yu et al. Role-centric RESTful services description and composition for e-business applications

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121011

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131004

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee