KR20010112753A - 형상 관리 시스템 및 방법 - Google Patents

형상 관리 시스템 및 방법 Download PDF

Info

Publication number
KR20010112753A
KR20010112753A KR1020000032958A KR20000032958A KR20010112753A KR 20010112753 A KR20010112753 A KR 20010112753A KR 1020000032958 A KR1020000032958 A KR 1020000032958A KR 20000032958 A KR20000032958 A KR 20000032958A KR 20010112753 A KR20010112753 A KR 20010112753A
Authority
KR
South Korea
Prior art keywords
information
file
program
program source
field
Prior art date
Application number
KR1020000032958A
Other languages
English (en)
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 KR1020000032958A priority Critical patent/KR20010112753A/ko
Publication of KR20010112753A publication Critical patent/KR20010112753A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

프로그램 소스 파일 및 일반 다큐먼트는 물론 데이터베이스의 물리적 구조를 분석하고, 프로그램 소스와 테이블과 일반 다큐먼트의 상호 연관 관계를 제공하는 형상 관리 시스템을 제공한다.
형상 관리 시스템은 각각이 복수의 필드들을 포함하는 복수의 테이블들을 구비하는 데이터베이스와 프로그램 소스 파일을 토대로 구축되는 응용시스템의 형상을 구축하여 형상 데이터를 사용자에게 제공한다. 데이터베이스 구조 분석 수단은 상기 데이터베이스 내에 있는 테이블들 각각의 실제 명칭 및 필드 정보를 추출하며, 프로그램 언어 분석 수단은 프로그램 소스 파일을 분석하여 프로그램 소스 파일에 포함된 필드 명칭을 추출한다. 데이터 저장 수단은 복수의 테이블들 각각의 실제 명칭 및 필드 구조와 상기 프로그램 소스 파일에 포함된 호출 필드 명칭을 상기 형상 데이터로서 저장한다. 사용자 인터페이스 수단은 상기 형상 데이터를 상기 사용자의 요구에 응답하여 사용자에게 제공한다.
특정 테이블의 변경이 불가피한 경우 해당 테이블을 사용하는 프로그램을 쉽게 찾을 수 있게 해주어서 쉽게 응용시스템을 수정할 수 있게 해준다.

Description

형상 관리 시스템 및 방법{Configuration Management System and Method}
본 발명은 컴퓨터 소프트웨어의 분석 및 유지에 관한 것이다. 특히, 본 발명은 컴퓨터 소프트웨어의 형상을 분석, 유지 및 갱신하기 위한 형상 관리 시스템 및 형상 관리 방법에 관한 것이다.
통상적으로 응용시스템 내지 응용프로그램은 업무분석 단계, 설계 단계 및 개발 단계의 과정을 통해 완성된다. 그런데, 응용시스템을 개발하는 프로젝트에서는 다음과 같은 어려움이 나타날 수 있다. 먼저, 업무분석 단계에서 파악한 업무현상과 설계 단계에서 반영된 업무현상간에 차이가 발생할 수 있고, 또한 설계 단계에서의 설계도 내용이 개발단계에서 변경되어 설계 내용의 수정이 불가피한 경우가 많다. 특히, 일정상의 문제로 변경된 업무내용을 설계도에 미처 반영하지 못한 상태에서 프로그램에만 반영하여 진행함으로써 다른 개발자에게 변경 내역을 통보하지 못하게 되는 경우도 많다.
이러한 경우, 변경 내용은 관련 프로그램에 영향을 미처 에러가 발생할 수 있는데, 이때 에러 원인을 찾지 못하여 많은 시간을 낭비하게 된다. 아울러, 프로그램이 완성되기 전 또는 통합테스트 이전에 개발자가 변경되는 경우, 후에 참여하는 개발자는 설계도와 종전 개발자가 개발한 프로그램 소스만으로는 프로그램의 전체 내용을 이해하는데 어려움을 겪게 된다.
또한, 단위 프로그램을 개발하고 테스트하는 과정에서는 문제되지 않았던 사항들이 단위 시스템을 테스트하는 과정에서 심각한 문제로 드러날 수 있고, 단위 시스템 테스트 단계에서 전혀 문제가 되지 않는 사항들이 통합 시험 단계에서 심각한 문제로 등장하기도 한다. 이러한 문제점은 사용되는 용어가 표준화되지 않거나함수 및 테이블에 대한 참조가 잘못된 데서 비롯되는 경우가 대부분이다. 시스템에 대한 전체적인 통합 모델이 파악하는데 어려움이 있을 경우 이러한 문제점은 해결하는데 상당한 시간을 요하게 된다.
한편, 응용시스템 운영과정에서도 이와 유사한 문제점이 발생할 수 있다. 먼저, 규모가 큰 프로젝트는 개발자와 운영자가 서로 달라 운영자는 시스템의 구조와 내용을 정확히 알지 못하므로 운영하는데 어려움이 많게 된다. 특히, 개발자가 시스템 개발 시에 적용한 설계사상과 프로그램의 내용이 서로 다른 경우가 많아, 설계도만을 믿고 시스템을 변경하는데 어려움이 있을 수 있다. 또한, 업무환경의 변화로 특정 테이블이나 필드의 구조의 변경이 불가피한 경우 관련 테이블과 필드를 파악하는데 큰 어려움을 겪게 되며, 테이블이나 필드 또는 함수가 수정되는 경우 관련 프로그램 전부를 모두 파악해서 수정하는 것이 곤란해진다.
이처럼 시스템 개발 또는 운영 과정에서 발생되는 문제점은 규모가 큰 프로젝트일수록, 그리고 개발기간이 길고 참여자가 많은 프로젝트일수록 심각한 문제로 등장한다. 이러한 문제점을 부분적으로 해결하기 위하여 형상 관리 시스템이 사용되고 있다. 형상 관리 시스템은 시스템 전체에 대한 통합 모델을 제공하여 시스템 개발자 또는 운영자가 용이하게 프로그램을 개발 또는 운영할 수 있게 해준다. 종래의 형상 관리 시스템은 일반적으로 케이스 도구(CASE Tool)로 응용시스템을 모델링하여 프로그램의 생성, 분석, 역공학 및 문서화를 지원한다.
그런데, 종래의 형상 관리 시스템은 프로그램 소스만을 분석할 뿐이며, 데이터베이스의 각 테이블 및 필드를 분석하는 시스템은 아직 없다. 테이블 및 필드에대한 파악이 시스템 개발 및 운영에 있어서 프로그램을 이해하는데 가장 어려움을 겪게 되는 부분임을 고려할 때, 이와 같이 테이블 및 필드에 대한 분석을 수행하지 못하는 형상 관리 시스템은 프로그램 개발 및 운영을 충분히 지원하기 어렵게 된다. 경우에 따라, 이와 같은 형상 관리 시스템은 프로젝트 진행 과정에서 발생하는 산출물을 관리하거나 프로그램 소스 파일의 버전을 관리하는데에만 한정적으로 사용될 수도 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 프로그램 소스 파일 및 일반 다큐먼트는 물론 데이터베이스의 물리적 구조를 분석하고, 프로그램 소스와 테이블과 일반 다큐먼트의 상호 연관 관계를 제공하는 형상 관리 시스템과 형상 관리 방법을 제공하는 것을 그 기술적 과제로 한다.
도 1은 본 발명에 의한 형상 관리 시스템을 구현하기 위한 컴퓨터 시스템의 일 예를 보여주는 도면.
도 2는 본 발명에 따른 형상 구축 및 갱신 과정을 보여주는 상태 천이도.
도 3은 본 발명에 의한 형상 관리 시스템의 일 실시예의 블록도.
도 4는 형상 관리 시스템이 사용자에게 제공하는 정보를 예시하는 도면.
도 5는 도 3에 도시된 파일 분석기에 의해 파일 식별 기호를 부여하는 과정을 설명하기 위한 도면.
도 6은 사용자 인터페이스 화면의 일 예를 보여주는 도면.
도 7은 매트릭스 방식 업무 상관도 체계 표시 화면의 일 예를 보여주는 도면.
도 8은 프로그램 정의 화면의 일 예를 보여주는 도면.
도 9는 테이블 정의 화면의 일 예를 보여주는 도면.
도 10은 특정 테이블을 사용하는 프로그램 목록 조회 화면의 일 예를 보여주는 도면.
도 11은 특정 필드를 사용하는 프로그램 목록 조회 화면의 일 예를 보여주는 도면.
도 12는 표준 용어 사전 관리 화면의 일 예를 보여주는 도면.
도 13은 미등록 용어 검색 결과 표시 화면의 일 예를 보여주는 도면.
도 14는 문서관리 기본 화면의 일 예를 보여주는 도면.
도 15는 형상 정보 일치성 체크 결과 표시화면의 일 예를 보여주는 도면.
도 16a 및 도 16b는 도 3에 도시된 데이터베이스 구조 분석기의 분석 과정을 보여주는 흐름도.
도 17은 도 3에 도시된 프로그램 언어 분석기의 분석 과정을 보여주는 흐름도.
도 18은 도 17에 도시된 파일 목록 입력 단계를 보다 상세하게 보여주는 흐름도.
도 19는 도 17에 도시된 개별 소스 파일 분석 단계를 보다 상세하게 보여주는 흐름도.
도 20은 도 19에 도시된 토큰 얻기 단계를 보다 상세하게 보여주는 흐름도.
도 21은 도 19에 도시된 SQL 스크립트 분석 단계를 보다 상세하게 보여주는 흐름도.
도 22a 내지 도 22d는 도 3에 도시된 파일 분석기의 파일 리스트 처리 과정을 보여주는 흐름도.
상기 기술적 과제를 달성하기 위한 본 발명의 형상 관리 시스템은 각각이 복수의 필드들을 포함하는 복수의 테이블들을 구비하는 데이터베이스와 프로그램 소스 파일을 토대로 구축되는 응용시스템의 형상을 구축하여 형상 데이터를 사용자에게 제공한다. 데이터베이스 구조 분석 수단은 상기 데이터베이스 내에 있는 테이블들 각각의 실제 명칭 및 필드 정보를 추출하며, 프로그램 언어 분석 수단은 프로그램 소스 파일을 분석하여 프로그램 소스 파일에 포함된 필드 명칭을 추출한다. 데이터 저장 수단은 복수의 테이블들 각각의 실제 명칭 및 필드 구조와 상기 프로그램 소스 파일에 포함된 호출 필드 명칭을 상기 형상 데이터로서 저장한다. 사용자 인터페이스 수단은 상기 형상 데이터를 상기 사용자의 요구에 응답하여 사용자에게 제공한다.
바람직한 실시예에 있어서, 형상 관리 시스템은 프로그램 언어 분석 수단에 의해 추출된 프로그램 소스 파일 내의 호출 테이블 및 호출 필드 명칭과, 데이터베이스 구조 분석 수단에 의해 추출된 테이블들 및 필드들의 실제 명칭간의 비일치 정보를 추출하기 위한 일치성 점검 수단을 더 포함한다. 상기 응용시스템은 상기 프로그램 소스 파일을 복수 개 포함하고 이들 복수의 프로그램 소스 파일 각각은 적어도 하나의 오브젝트 및 변수를 포함할 수 있다. 이러한 경우, 프로그램 언어 분석 수단은 프로그램 소스 파일들 각각에 포함된 오브젝트 및 상기 변수에 대한 명칭들을 추출하고, 일치성 점검 수단은 오브젝트 명칭 및 변수 명칭들 중 대응하는 명칭들간의 비일치 정보를 추출하는 것이 바람직하다.
한편, 본 발명의 형상 관리 방법은 각각이 복수의 필드들을 포함하는 복수의 테이블들을 구비하는 데이터베이스와 복수의 프로그램 소스 파일들을 토대로 구축되는 응용시스템의 형상을 추출하여 상기 응용시스템의 개발 및 운영에 참고할 수 있게 해준다. 형상 관리 방법에 있어서는, 먼저 데이터베이스 내에 있는 복수의 테이블들 각각의 실제 명칭 및 필드 정보를 추출한다. 그다음, 복수의 프로그램 소스 파일들을 분석하여 프로그램 소스 파일들에 포함된 호출 필드들을 추출한다. 복수의 테이블들 각각의 실제 명칭 및 필드 구조와 프로그램 소스 파일들에 포함된 호출 필드 정보는 형상 데이터로서 소정의 저장 수단에 저장된다.
본 발명에 있어서, 사용자 인터페이스 수단은 필드들 각각에 대해서 각 필드를 호출하는 소스 파일의 종류를 표시하는 기능을 구비한다. 따라서, 어떤 프로그램 내에서 특정 필드를 수정하거나 데이터베이스의 필드 명칭을 수정하는 경우 그 필드를 사용하는 프로그램들의 정보를 전부 정확히 알려준다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 보다 구체적으로 설명한다.
도 1은 본 발명에 의한 형상 관리 시스템을 구현하기 위한 컴퓨터 시스템의 일 예를 보여준다. 도 1의 예에서, 형상 관리 서버(10)는 프로그래밍 정보 서버(12)와 복수의 클라이언트 컴퓨터(14a-14n)가 연결된 인트러넷에 접속되어, 프로그래밍 정보 서버(12)로부터 응용프로그램 정보를 받아들여 형상을 구축/수정하고 형상 정보를 클라이언트 컴퓨터(14a-14n)에 제공한다. 프로그래밍 정보 서버(12)는 개인용 컴퓨터(PC) 또는 워크스테이션이 될 수도 있고, 미니 컴퓨터나 메인 프레임이 될 수도 있다. 아울러, 도 1의 예가 변형된 예에 있어서는 형상 관리 서버(10)가 프로그래밍 정보 서버(12)에 일체화되어 구현될 수도 있다.
바람직한 실시예에 있어서, 본 발명의 형상 관리 시스템은 형상 관리 서버(10) 상에서 실행되는 프로그램에 의해 구현된다. 형상 관리 서버(10)로는 일반적인 PC 서버급 컴퓨터가 사용될 수 있으며, 그 운영체계로는 윈도즈엔티(WindowsNT: 마이크로소프트사의 등록상표일 수 있음)를 사용하는 것이 바람직하다. 또한, 형상 관리 서버(10)에는 형상 정보 관리를 위해 데이터베이스관리시스템(DBMS)이 설치되는데, 바람직한 실시예에서 상기 DBMS로는 예컨대 MS SQL 서버 6.x 또는 오라클 7.x를와 같은 RDBMS를 사용하여 구현될 수 있다. 형상관리 서버(10) 상에서 구현되는 형상 관리 프로그램은 예컨대 파워빌더(Power Builder)와 같은 언어에 의해 작성되는데, 프로그래밍 언어 또는 툴이 이에 한정되지 않음은 물론이다.
도 2는 본 발명의 형상 관리 시스템에서의 형상 구축 및 갱신 과정을 보여준다. 형상 관리 시스템은 프로그래밍 정보 서버(12)로부터 데이터베이스(40) 및 프로그램 소스 파일(42)과, 프로그램 설계서 또는 설명서와 같은 다큐먼트 파일(44)을 분석하고 응용시스템의 형상을 구축한다. 응용시스템 형상은 각 프로젝트 별로 구축될 수 있다.
응용시스템 개발 단계에서 또는 운영 단계에서 시스템 변경 요인이 발생하면, 클라이언트 컴퓨터(14a-14n) 사용자는 형상 정보로부터 변경될 프로그램에 대한 정보를 추출하고, 이 정보를 사용하여 해당 프로그램의 소스 및 다큐먼트와 함께 타 프로그램의 소스, 데이터베이스 등을 수정하게 된다. 여기서, 변경될 프로그램에 대한 정보라 함은, 어떤 프로그램을 수정하고자 하는 경우 해당 프로그램을 호출하는 프로그램과, 해당 프로그램에서 수정하는 테이블 및/또는 필드를 호출하거나 참조하는 타 프로그램 또는 데이터베이스 등에 관한 정보를 말한다. 그리고, 프로그램이 수정될 때마다 수정된 프로그램 정보를 토대로 형상이 갱신될 수 있다.
도 3은 본 발명에 의한 형상 관리 시스템(50)의 일 실시예를 보여준다. 형상 관리 시스템(50)은 데이터베이스 구조 분석기(52), 프로그램 언어 분석기(54), 파일 분석기(56), 형상 관리 데이터베이스(58), 일치성 점검기(59) 및 사용자 인터페이스(60)를 포함한다.
데이터베이스 구조 분석기(52), 프로그램 언어 분석기(54) 및 파일 분석기(56)는 파싱(Parsing)에 의해 각각 응용시스템의 데이터베이스(40), 소스 파일들(42) 및 프로그램 설계서 또는 설명서와 같은 다큐먼트 파일(44)을 분석한다. 형상 관리 데이터베이스(58)는 데이터베이스 구조 분석기(52), 프로그램 언어 분석기(54) 및 파일 분석기(56)에 의해 추출된 형상 정보와, 사용자가 입력하는 여타의 정보를 저장한다. 일치성 점검기(59)는 구축된 형상 정보와 응용시스템 데이터베이스의 물리적 정보간의 비일치 정보를 자동으로 추출한다. 사용자 인터페이스(60)는 형상 관리 서버(10) 사용자에 대하여 형상 구축 및 갱신에 필요한 입출력 화면을 제공한다. 또한, 사용자 인터페이스(60)는 클라이언트 컴퓨터(14a-14n) 사용자의 요구에 응답하여 형상 정보를 제공한다.
데이터베이스 구조 분석기(52)는 역공학을 통해 응용시스템의 데이터베이스(40)로부터 테이블 목록과, 각 테이블의 필드 구조와, Primary, Foreign Key 등 개체 관계 정보 및 인덱스와, 상관관계를 추출한다. 프로그램 언어 분석기(54)는 응용시스템의 소스 파일들(42)로부터 응용시스템에 포함되는 함수 또는 오브젝트들에 대한 정보와, 각 소스 파일에 포함된 변수 및 상수와, 각 소스 파일에서 사용하는 테이블 및 필드에 대한 정보를 추출한다. 파일 분석기(56)는 다큐먼트 파일(44)을 분석하여, 각 다큐먼트의 파일 식별 기호를 확인하거나 재부여하고, 각 다큐먼트에 언급되어 있는 프로그램 소스 파일 및 데이터베이스 정보를 추출한다. 아울러, 파일 분석기(56)는 프로그램 설계서, 설명서, 회의록 등의 다큐먼트 파일을 각 단위 업무에 링크시켜서, 나중에 사용자가 형상 정보에서 직접관련 문서들을 호출하여 실행할 수 있게 해준다.
도 4는 형상 관리 시스템이 사용자에게 제공하는 정보를 예시하고 있다. 먼저, 형상 관리 시스템은 각 프로젝트에 대한 업무 체계 및 프로그램 구성 체계(90)에 대한 정보를 제공한다. 프로젝트에 대한 업무 체계는 대분류, 중분류 및 소분류로 분류되며, 각 소분류는 복수의 업무를 포함하게 된다. 여기서, 각 업무는 복수의 프로그램 소스 파일로 코딩될 수 있는데, 형상 관리 시스템은 각 프로그램 소스 파일이 사용하는 오브젝트, 테이블 및 필드를 제시한다.
또한, 형상 관리 시스템은 데이터베이스의 구성 체계(92), 프로젝트 관련 용어 사전(94) 및 파일 관리 체계(96)에 대한 정보를 사용자에게 제공한다. 데이터베이스 구성 체계(92)는 테이블들의 종류, 각 테이블별 필드 구조와, 인덱스 및 상관관계를 포함한다. 또한, 용어 사전 정보(94)는 각 표준용어들에 대한 설명 및 관련 용어, 동의어 및 사용어에 대한 정보를 포함한다. 파일 관리 체계(96)는 프로그램 설계서 또는 설명서 등의 다큐먼트 파일에 대한 리스트와, 각 파일의 응용프로그램과의 관련도에 대한 설명을 포함한다. 이와 같은 파일 리스트 및 프로그램 관련성 정보를 제시할 수 있도록, 도 3에 도시된 파일 분석기(56)는 각 파일에 대한 파일 식별 번호 부여 작업을 지원한다.
도 5는 도 3에 도시된 파일 분석기(56)에 의해 파일 식별 기호를 부여하는 과정을 설명하기 위한 도면이다. 형상 관리 시스템은 파일들이 저장된 디렉토리에 대한 정보, 파일 패턴 정보 및 식별 기호(ID) 부여 정보를 패턴 데이터베이스(62)에 축적, 저장하고, 이 정보들을 기준으로 하여 파일 식별 기호를 부여한다. 상기패턴 데이터베이스(62)에 저장되는 패턴 정보들은 사용자에 의해 설정된다. 즉, 사용자는 디렉토리 정보, 파일 패턴 정보 및 ID 부여 정보를 입력하여 파일 식별 기호 부여를 위한 기준 정보를 설정할 수 있는데, 이 기준 패턴 정보는 수정 또는 삭제 될 수 있다(제70 내지 제74단계).
사용자가 도 5의 화면에서 "문서관리" 버튼을 누르면, 파일 분석기(56)는 사용자가 지정하는 디렉토리 내에 있는 파일들에 대해 기준 정보를 토대로 자동으로 파일 식별 번호를 부여한다(제82단계). 만약 기준 정보만으로 파일 식별 번호를 부여하기가 어려운 경우, 파일 분석기(56)는 사용자 인터페이스(60)를 통해 "식별 번호 부여 불가" 메시지를 사용자에게 제시한다. 이러한 경우, 사용자는 해당 파일에 대해 수동으로 파일 식별 번호를 부여할 수 있는데(제84단계), 이때, ID 부여 정보를 추가하여 기준 정보를 보강할 수도 있다. 제82 또는 제84단계에서 각각 자동 또는 수동으로 부여된 파일 식별 번호는 형상 관리 데이터베이스(58)에 저장된다. 한편, 본 발명의 다른 실시예에 있어서, 상기 패턴 데이터베이스(62)는 형상 관리 데이터베이스(58)에 포함될 수도 있다.
사용자 인터페이스 화면의 일 예가 도 6에 도시되어 있다. 화면 상단에는 기능 선택을 위한 복수의 버튼이 배치되어 있는데, 도 6의 예에서 기능 선택 버튼은 "업무분류체계", "프로그램 정의", "테이블 정의", "용어사전", "미정용어 검색", "문서관리", "체크" 및 "종료" 버튼을 포함한다.
"업무분류체계" 버튼은 응용시스템 개발에 관한 프로젝트를 등록 관리할 수 있게 해주며, 업무기능분해에 따른 업무체계를 대분류, 중분류, 소분류 및 단위업무로 분류하여 관리할 수 있게 해준다. 또한, "업무분류체계" 버튼은 업무 상관도를 지정 관리할 수 있게 해주고, 업무 상관도 체계를 트리(Tree) 형태의 매트릭스 방식으로 조회할 수 있게 해준다. 매트릭스 방식의 업무 상관도 체계가 도 7에 도시되어 있다. 도 7의 화면에는 시스템의 전체적인 모습을 한 눈에 볼 수 있도록 시스템 구성 내역이 최상위 업무 대분류부터 최하위 필드에 이르기까지 업무대분류-중분류-소분류-단위업무-프로그램-오브젝트-테이블-필드의 트리 구조로 표현된다.
"프로그램 정의" 버튼은 사용자가 프로그램 마스터를 구축하고 형상을 관리할 수 있게 해준다. "프로그램 정의" 버튼을 눌렀을 때 표시되는 프로그램 정의 화면의 일 예가 도 8에 도시되어 있다. 도 8의 화면에서 사용자는 단위업무별 사용 프로그램을 등록할 수 있는데, 이때 업무의 특성에 따라 하나의 프로그램이 복수의 업무에 중복하여 등록할 수도 있다. 또한, 사용자는 프로그램별 함수와 사용 테이블 및 필드를 조회할 수 있으며, 특정 테이블 또는 필드를 사용하는 프로그램 목록을 조회할 수도 있다. 아울러, 설계도 등 관련 문서를 등록하거나 조회할 수도 있다.
"테이블 정의" 버튼은 사용자가 테이블 마스터를 구축하고 관리할 수 있게 해준다. "테이블 정의" 버튼을 눌렀을 때 표시되는 테이블 정의 화면의 일 예가 도 9에 도시되어 있다. 도 9의 화면에서 사용자는 테이블 정보를 구축하고 사용 필드 정보를 정의하거나 수정할 수 있다. 여기서 필드 정보는 필드 ID, 필드명, 필드 타입, 키 필드 여부, 인덱스 정보 및 작성일/수정일 정보를 포함한다. 또한,사용자는 특정 필드 사용 프로그램 목록을 조회하거나 필드 상관 관계를 정의할 수 있으며, 관련 설계도 문서를 관리할 수도 있다. 특정 테이블 및 특정 필드를 사용하는 프로그램 목록 조회 화면의 일 예가 도 10 및 도 11에 도시되어 있다. 한편, 본 발명의 형상 관리 시스템은 시스템에 구축된 정보를 이용하여 관련 테이블에 대한 SQL 스크립트문을 자동으로 생성하는 기능도 제공하며, 구축된 형상 정보를 CASE 도구로 전송하여 CASE 도구에서 별도 작업이 없이도 모델링을 할 수 있도록 해준다.
"용어사전" 버튼은 표준 용어 등록 및 검색 기능을 제공한다. "용어사전" 버튼을 눌렀을 때 표시되는 표준 용어 사전 관리 화면의 일 예가 도 12에 도시되어 있다. 도 12의 화면 상에서 사용자는 새 용어를 등록하거나 등록된 표준 용어를 수정하거나 삭제할 수 있다. 이처럼 표준 용어를 등록 관리함에 따라 응용시스템 개발 또는 운영 단계에서 동일한 의미의 다른 용어를 사용하는데서 발생하는 혼동과 이로 인한 오류를 사전에 철저히 예방할 수 있게 된다. "미정용어 검색" 버튼은 표준 용어 사전에 등록되지 않고 사용되는 용어를 자동 검색하여 찾아준다. 이러한 미정 용어로는 대상 업무분류체계에 등록된 용어와, 프로그램 개요나 루틴 설명 등 프로그램 관련 정보와, 테이블 관련 정보 또는 필드 관련 정보에 등록된 용어를 포함한다. 미등록 용어 검색 결과 표시 화면의 일 예가 도 13에 도시되어 있다.
"문서관리" 버튼은 프로젝트 관련 문서를 종합적으로 관리할 수 있게 해준다. "문서관리" 버튼을 눌렀을 때 표시되는 문서관리 기본 화면의 일 예가 도 14에 도시되어 있다. 본 발명의 시스템에서 관리할 수 있는 문서들로는 예컨대 설계도 및 각종 산출문서, 프로그램 소스, 테이블 기술서, 개발 관련 회의록, 사용자 매뉴얼, 운영자 매뉴얼 등을 들 수 있다. 이와 같은 문서들은 프로젝트 및 작성자 단위로 관리가 되며, 문서 종류별로 검색이 가능하다. 도 14의 화면에서 특정 문서를 선택하는 경우 해당 문서의 편집 프로그램이 자동으로 수행된다.
"체크" 버튼은 도 3의 일치성 점검기(59)를 구동하여, 일치성 점검기(59)가 구축된 형상 정보와 응용시스템 데이터베이스의 물리적 정보 간의 비일치 정보를 자동으로 추출하도록 하게 된다. 이때, 데이터베이스의 검색 대상 범위를 임의로 선정할 수도 있다. "체크" 버튼을 눌렀을 때 표시되는 형상 정보 일치성 체크 결과 표시화면의 일 예가 도 15에 도시되어 있다. 사용자는 일치성 체크 결과를 파일로 저장하거나 인쇄하여 프로그램 소스 또는 테이블을 수정하는데 사용할 수 있다.
이하, 도 3에 도시된 데이터베이스 구조 분석기(52), 프로그램 언어 분석기(54) 및 파일 분석기(56)의 분석 동작을 설명한다.
도 16a 및 도 16b는 데이터베이스 구조 분석기(52)의 데이터베이스 분석 과정을 보여준다. 데이터베이스 분석 과정은 크게 볼 때 데이터베이스에 접속하는 과정(제100 내지 제110단계)과, 테이블 분석 과정(제112 내지 제128단계)과, 필드 분석 과정(제130 내지 146단계)을 포함한다. 본 발명의 형상 관리 시스템은 도시된 과정을 통해 데이터베이스의 테이블들의 명칭과, 각 테이블 내에 있는 필드의 명칭 및 속성을 검출하여 형상 관리 데이터베이스(58)에 저장한다. 특히, 형상 관리 데이터베이스(58)에 저장된 응용시스템 데이터베이스 정보가 충분히 최근 정보로 갱신될 수 있도록, 도 16a 및 도 16b의 분석 절차는 수시로 수행되는 것이 바람직하다.
데이터베이스 분석을 하고자 하는 경우, 데이터베이스 구조 분석기(52)는 먼저 분석하고자 하는 데이터베이스의 접속 정보를 읽는다(제100단계). 접속 정보는 분석 시에 사용자가 입력할 수도 있고 미리 저장되어 있을 수도 있다. 제102단계에서는 획득된 접속 정보를 토대로 해당 데이터베이스에 대한 접속을 시도한다. 만약 성공적으로 접속이 이루어지면(제104단계) 제108단계 이후의 과정을 통해 데이터베이스 분석이 시작된다. 그렇지만, 접속이 실패한 경우 사용자에게 접속 정보 재입력을 요구하게 된다. 만약 사용자가 접속 정보를 재입력하면 다시 제102단계를 반복하여 접속을 시도하게 되지만, 사용자가 접속 정보를 재입력하지 않는 경우에는 분석 작업이 종료된다. 제104단계에서 접속에 성공하면, 테이블 목록을 초기화한 후 데이터베이스에 저장된 정보를 읽게 된다(제108 및 110단계).
테이블 분석 과정을 살펴보면, 먼저 신규 테이블을 검색하고(제112단계), 신규 테이블이 존재하는 경우 테이블 목록에 신규 테이블을 추가한다(제114단계). 다음에는 삭제된 테이블이 있는지 검색하고(제116단계), 삭제된 테이블이 존재하는 경우 테이블 목록에 삭제된 테이블을 제거한다(제118단계). 그다음, 테이블 지리 리스트를 초기화한 후(제120단계), 미처리 테이블이 존재하는지 판단한다(제122단계). 제122단계에서 미처리 테이블이 존재하는 것으로 판단되는 경우, 테이블 상세 정보를 읽고 읽어진 테이블 정보를 저장한 후 테이블 지리를 세팅하게된다(제124 내지 제128단계). 그리고 제130 내지 146단계에 도시된 필드 분석 과정을 시도한다. 한편, 모든 테이블에 대해서 테이블 정보 확보와 필드 분석이 완료되어 제122단계에서 미처리 테이블이 존재하지 않는 것으로 판단되는 경우에는, 데이터베이스 분석 작업이 종료된다.
필드 분석 과정을 살펴보면, 먼저 신규 필드를 검색하고(제130단계), 신규 필드가 존재하는 경우 필드 목록에 신규 필드를 추가한다(제132단계). 다음에는 삭제된 필드가 있는지 검색하고(제134단계), 삭제된 필드가 존재하는 경우 필드 목록에 삭제된 필드를 제거한다(제136단계). 그다음, 필드 지리 리스트를 초기화한 후(제138단계), 미처리 필드가 존재하는지 판단한다(제140단계). 제140단계에서 미처리 필드가 존재하는 것으로 판단되는 경우, 필드 속성 등 필드 상세 정보를 읽고 읽어진 필드 정보를 저장한 후 필드 지리를 세팅하게 된다(제142 내지 제146단계). 모든 필드에 대해서 필드 정보 확보와 필드 분석이 완료되어 제140단계에서 미처리 필드가 존재하지 않는 것으로 판단되는 경우에는, 다시 제122단계가 수행되어 다른 미처리 테이블이 존재하는지를 판단하게 되고 모든 테이블이 처리될 때까지 유사한 절차가 반복되어 수행된다.
도 17은 도 3에 도시된 프로그램 언어 분석기(54)의 프로그램 소스 파일 분석 과정을 보여준다. 먼저 프로그램 소스 파일 리스트를 초기화한 후(제200단계), 사용자로부터 분석 대상 파일 목록을 입력받는다(제210단계). 제210단계에서 분석 대상 파일들이 특정되면, 각각의 소스 파일에 대해 분석을 수행한다(제220단계). 각 소스 파일에 대한 분석이 완료될 때마다 모든 소스 파일에 대해 분석이 완료되었는지를 판단하고(제250단계), 모든 소스 파일에 대해 분석이 완료될 때까지 분석 작업을 계속한다. 소스 파일들에 대한 분석이 완료되면, 분석된 데이터를 형상 관리 데이터베이스(58)에 저장한다.
도 18은 도 17에 도시된 파일 목록 입력 단계(제210단계)를 보다 상세하게 보여준다. 사용자는 그래픽 유저 인터페이스(GUI) 방식으로 대화상자를 통해 분석 대상 파일을 지정하는데, 이에 앞서 소스 파일 작성에 사용된 프로그래밍 언어를 특정하기 위해 확장자를 지정할 수도 있다(제212단계). 확장자 지정을 완료한 후, 화면 상에 표시되는 "파일 지정" 버튼을 누르면, 대화상자 표시를 위한 함수가 호출되어 실행됨으로써 화면상에 대화상자가 표시된다. 사용자는 대화상자 내에서 파일을 선택하여 목록에 넣을 수 있다(제216 및 제218단계). 파일 선택을 마치고 "완료" 버튼을 누르면, 선택된 파일들에 대한 분석이 시작된다. 이때, 사용자는 파일 선택을 하지 않은 상태에서 "완료" 버튼을 누를 수도 있는데, 이러한 경우 소스 파일 분석 작업은 종료되거나 이전 화면으로 복귀된다.
도 19는 도 17에 도시된 개별 소스 파일 분석 단계(제220단계)를 보다 상세하게 보여준다. 먼저, 프로그램 언어 분석기(54)는 분석 대상 소스 파일들을 순차적으로 스캐닝하면서 토큰 얻기를 시작한다. 여기서, 토큰이라 함은 프로그램 소스 파일 내에서 다른 것과 구분되는 문자열을 의미한다. 토큰은 문자 또는 숫자로 이루어진 단어와, 각종 특수문자열을 포함한다. 본 발명에 의한 형상 관리 시스템에서 프로그램 언어 분석기(54)가 수행하는 작업은 단순히 구문 분석에 그치고 컴파일링을 하는 것이 아니기 때문에, 컴파일링 수준으로 상세하게 소스 파일을 분석하는 것은 아니며 이보다 개략적으로 이루어진다. 특히, 프로그램 언어 분석기(54)에 의해 탐색되는 명령어는 대략 다음 세 가지 범주 중 하나에 해당한다.
(1) 영역 정의용 명령어: 해당 문자열 다음에 나타나는 영역이 변수 정의부인지, 프로그램 실행 루틴인지, 아니면 정의부의 끝을 나타내는지를 의미하는 명령어.
(2) 치환용 명령어: 미리 정의된 명령어는 아니지만, 이제부터 어떠한 역할을 할 것이라는 것을 정의하는 명령어. 즉 Identify 명령어를 나타냄.
(3) 개략적 분석에서 무시되는 명령어: 실제 프로그래밍 언어에서는 특정 기능을 수행하여 컴파일링 시에는 고려가 되지만, 본 발명의 분석기에서는 무시되는 명령어. 주로 수치 연산에 관련된 명령어들이 이에 포함됨.
또한, 본 발명의 프로그램 언어 분석기(54)는 프로그래밍 언어에서 정의된 함수들은 대부분 무시하고, 몇가지 특수한 함수들만을 분석 대상으로 한다. 여기서, 특수한 함수란 Create, Read, Write, Update, Delete와 같은 데이터베이스 관련 함수와, 프로그램 제어와 관련된 함수를 포함한다. 바람직한 실시예에서, 프로그램 언어 분석기(54)는 2 차례에 걸쳐 소스 파일을 분석한다. 즉, 먼저 소스 파일을 읽어서 오브젝트 명칭만을 찾아낸 다음, 소스 파일을 다시 읽어서 실제 상세 파일 내용을 분석한다.
도 20은 도 19에 도시된 토큰 얻기 단계(제222단계)를 보다 상세하게 보여준다. 토큰을 얻기 위하여 프로그램 언어 분석기(54)는 소스 파일을 앞에서부터 스캐닝하여 문자 얻기를 시도하고 공백 문자가 나타날 때까지 획득된 문자를 이전의 문자열에 덧붙여서 문자열을 확장해간다. 구체적으로 설명하면, 하나의 문자 단위로 문자 얻기를 시도하면서(제261단계), 해당 문자가 공백 문자인지를 판단한다(제262단계). 만약 얻어진 문자가 공백 문자가 아니라면, 해당 문자가 숫자인지를 판단한다(제264단계). 얻어진 문자가 숫자라고 제264단계에서 판단되면, 해당 문자를 이전까지 누적된 문자열에 추가한다(제266단계). 한편, 얻어진 문자가 숫자가 아니라고 제264단계에서 판단되면, 해당 문자가 특수문자인지를 판단한다(제268단계). 얻어진 문자가 특수문자라고 제268단계에서 판단되면, 해당 문자를 특수문자처리한다(제270단계). 한편, 얻어진 문자가 특수문자가 아니라고 제268단계에서 판단되면, 해당 문자가 불필요한 문자인지를 판단한다(제272단계). 만약 얻어진 문자가 불필요한 문자가 아니라고 제272단계에서 판단되면, 해당 문자를 이전까지 누적된 문자열에 추가한다. 그렇지만, 만약 얻어진 문자가 불필요한 문자라고 제272단계에서 판단되면, 해당 문자는 무시되고 다음 문자에 대해 분석을 계속하게 된다. 만약 분석 과정에서 공백 문자가 발견되면, 이때까지 누적된 문자열을 원래의 루틴에 되돌려주어 문자열 확장을 종료하고, 상기 루틴의 지시에 따라 다음 문자열을 탐색하게 된다.
다시 도 19를 참조하면, 제222단계에서 토큰 얻기를 시도한 결과 토큰이 존재하면, 해당 토큰이 데이터베이스에 미리 확보되어 저장되어 있는 종류에 속하는 것인지를 판단한다(제224단계). 만약 토큰이 저장된 것과 동일하다면, 현재의 상태 즉 해당 파일 내에 해당 문자열이 존재함을 형상 관리 데이터베이스(58)에 저장하여 설정하게 된다(제228단계). 한편, 토큰이 저장된 것과 동일하지 않다고 판단되면, 해당 토큰이 오브젝트인지를 판단한다(제230단계). 만약 해당 토큰이 오브젝트가 아니라면, 현재의 상태를 형상 관리 데이터베이스(58)에 저장하여 설정한다(제232단계).
제230단계에서 토큰이 오브젝트라고 판단되면, 해당 문자열이 다른 오브젝트 내부에 있는지를 판단한다(제234단계). 만약 오브젝트가 다른 오브젝트 내부에 있는 것으로 판단되면, 호출 관계를 추가한다(제236단계). 한편, 제234단계에서 해당 오브젝트가 다른 오브젝트 내부에서 호출되는 것이 아니라고 판단되면, 해당 오브젝트가 데이터베이스(DB) 오브젝트인지를 판단한다(제238단계). 만약 오브젝트가 DB 오브젝트인 것으로 판단되면, DB 사용 정보를 추가한다(제240단계). 한편, 제238단계에서 오브젝트가 DB 오브젝트가 아닌 것으로 판단되면, 해당 오브젝트가 SQL 스크립트인지 여부를 판단한다(제242단계). 만약 해당 오브젝트가 SQL 스크립트인 경우에는 SQL 스크립트 분석을 수행하게 되지만(제244단계), 해당 오브젝트가 SQL 스크립트가 아닌 경우에는 해당 문자열이 무시된다.
도 21은 도 19에 도시된 SQL 스크립트 분석 단계(제244단계)를 보다 상세하게 보여준다. 먼저, 테이블 및 필드 리스트를 초기화한 후(제280단계), 해당 토큰이 미리 확보되어 저장되어 있는 종류에 속하는 것인지를 판단한다(제282단계). 만약 토큰이 저장된 것과 동일하다면, 현재의 상태를 형상 관리 데이터베이스(58)에 저장한다(제284단계). 한편, 제282단계에서 토큰이 저장된 것과 동일하지 않다고 판단되면, 해당 토큰이 테이블 명칭인지 여부를 판단한다(제286단계). 해당 토큰이 테이블 명칭인 경우에는, 해당 토큰을 테이블 리스트에 추가한다(제288단계). 만약 제286단계에서 해당 토큰이 테이블 명칭이 아닌 것으로 판단되는 경우에는, 해당 토큰이 필드 명칭인지 여부를 판단한다(제290단계). 해당 토큰이 필드 명칭인 경우에는, 해당 토큰을 필드 리스트에 추가한다(제292단계). 그렇지만 제290단계에서 해당 토큰이 필드 명칭이 아닌 것으로 판단되는 경우에는, 해당 토큰이 무시된다.
도 22는 도 3에 도시된 파일 분석기(56)의 파일 리스트 처리 과정을 보여준다. 먼저 파일 분석기(56)는 패턴 데이터베이스(62)에 기존에 등록되어 저장된 디렉토리, 파일 패턴, ID 부여 패턴, 문서 목록 정보가 있는지를 파악하고, 이러한 정보가 있는 경우 읽어들인다.
파일 분석 초기 과정에서 사용자는 분석 대상 디렉토리를 선택할 수 있다. 만약 사용자가 분석 대상 디렉토리를 선택하지 않는 경우에는 기존에 선택된 디렉토리만이 재분석된다. 만약 사용자가 분석 대상 디렉토리를 선택할 것을 지정하는 경우(제302단계), 먼저 사용자는 원하는 디렉토리를 입력하게 된다(제304단계). 사용자가 디렉토리를 입력하면, 파일 분석기(56)는 해당 디렉토리가 기존 선택 정보에 존재하는지 여부를 판단하고(제306단계), 또한 해당 디렉토리가 실제로 존재하는지를 판단한다(제308단계). 만약 해당 디렉토리가 존재한다면, 파일 분석기(56)는 해당 디렉토리를 분석 대상에 포함시키게 된다(제310단계). 사용자는 복수의 디렉토리를 선택할 수 있는데, 디렉토리 선택이 완료될 때까지 제304 내지 제310단계가 반복적으로 실행된다(제312단계).
디렉토리 선택이 완료된 후, 사용자는 새로운 파일 패턴을 추가할 수 있다. 만약 사용자가 새로운 파일 패턴을 추가하지 않는 경우에는 기존에 설정된 파일 패턴을 갖는 파일들만이 분석된다. 만약 사용자가 패일 패턴을 추가할 것을 지정하는 경우(제314단계), 먼저 사용자는 패일 패턴을 입력하게 된다(제316단계). 사용자가 패일 패턴을 입력하면, 파일 분석기(56)는 해당 패턴이 기존에 저장된 파일 패턴 정보에 존재하는지 여부를 판단한다(제318단계). 만약 해당 패턴이 기존 패턴 정보에 존재하지 않는다면, 파일 분석기(56)는 새로 입력된 패턴을 파일 패턴 정보에 포함시키게 된다(제310단계). 사용자는 복수의 패턴 패턴을 선택할 수 있는데, 패턴 입력이 완료될 때까지 제316 내지 제320단계가 반복적으로 실행된다(제322단계).
파일 패턴 입력이 완료된 후, 사용자는 새로운 ID 부여 패턴을 추가할 수 있다. 만약 사용자가 새로운 ID 부여 패턴 기준 데이터를 추가하지 않는 경우에는 기존에 설정된 ID 부여 패턴 기준들만을 사용하여 분석이 이루어진다. 만약 사용자가 ID 부여 패턴 분석 기준을 추가할 것을 지정하는 경우(제324단계), 먼저 사용자는 ID 부여 방식을 입력하게 된다(제326단계). 사용자가 ID 부여 방식을 입력하면, 파일 분석기(56)는 해당 방식이 기존에 저장된 ID 부여 패턴 정보에 존재하는지 여부를 판단한다(제328단계). 만약 해당 방식이 기존 정보에 존재하지 않는다면, 파일 분석기(56)는 사용자로 하여금 구체적인 ID 부여 조건을 입력할 수 있게 해준다. 한편, 제328단계에서 해당 방식이 기존 정보에 존재하거나 기존 정보와 저촉되는 것으로 판단되는 경우에는, 파일 분석기(56)는 사용자에게 기존 정보를수정할 것인지를 질의한다(제329단계). 사용자가 기존 정보를 수정하기를 원하는 경우에 파일 분석기(56)는 사용자로 하여금 구체적인 ID 부여 조건을 입력할 수 있게 해주지만, 사용자가 기존 정보 수정을 원하지 않는 경우에는 새로운 ID 부여 방식을 입력할 수 있게 해준다.
제330단계에서 사용자가 ID 부여 조건을 입력하면, 파일 분석기(56)는 입력된 ID 부여 조건이 기존의 파일 패턴 정보에 존재하는지 여부를 판단한다(제332단계). 만약 입력된 ID 부여 조건이 기존의 파일 패턴 정보에 존재하지 않는다면, 파일 분석기(56)는 입력된 ID 부여 조건에 디렉토리 조건이 포함되어 있는지 여부를 판단한다(제334단계). 만약 입력된 ID 부여 조건에 디렉토리 조건이 포함되어 있지 않다면, 해당 ID 부여 조건을 파일 패턴 정보에 저장한다(제338단계). 그렇지만 제334단계에서 해당 ID 부여 조건에 디렉토리 조건이 포함되어 있다고 판단되는 경우에는, 입력된 디렉토리 조건이 파일 패턴 정보의 디렉토리 조건에 포함되어 있는지를 판단하여, 입력된 디렉토리 조건이 파일 패턴 정보의 디렉토리 조건에 포함되어 있는 경우에만 해당 ID 부여 조건을 파일 패턴 정보에 저장한다. 사용자는 복수의 ID 부여 패턴을 입력할 수 있는데, 데이터 입력이 완료될 때까지 제326 내지 제338단계가 반복적으로 실행된다(제340단계).
분석 대상이 되는 디렉토리와 파일 패턴 및 ID 부여 패턴 입력이 완료되면, 파일 분석기(56)는 처리용 디렉토리 목록을 작성하게 된다(제342단계). 미처리 디렉토리 목록이 존재하는지 여부를 판단한 후(제344단계), 미처리 목록이 존재하는 경우에는 제346 내지 제360단계가 실행된다. 먼저 제346단계에서 작업 디렉토리를설정한 후, 작업 디렉토리 내에 있는 파일 목록을 검색하여 처리용 파일 목록을 작성하게 된다(제348 및 제350단계). 다음에는 미처리 파일 목록이 존재하는지를 판단한다(제352단계). 만약 미처리 파일 목록이 존재하는 경우에는 기존 자료에 존재하는지를 판단하여(제354단계), 기존 자료에 존재하는 경우에는 처리용 파일 목록에 설정하고(제356단계) 기존 자료에 존재하지 않는 경우에는 기존 자료에 추가한 후 처리용 파일 목록에 설정한다(제358단계). 미처리된 파일을 제354 내지 제358단계에 따라 처리용 파일 목록에 설정한 후에는 다시 미처리 파일 목록이 존재하는지를 판단한다(제352단계). 만약 미처리 파일 목록이 존재하지 않는 경우에는, 삭제된 파일 목록에서 제거한 후(제360단계) 제344단계의 판단 작업을 다시 실행한다.
한편, 제344단계에서 미처리 목록이 존재하지 않는다고 판단되는 경우에는, 삭제된 디렉토리 목록에서 제거한 후 ID가 미부여된 파일 목록을 추출한다(제364 및 제366단계). 그리고 처리용 파일 목록을 작성한 후 미처리 목록을 초기화한다(제368 및 제370단계). 그리고 미처리 파일 목록이 존재하는지 여부를 판단한다(제372단계). 만약 미처리 파일 목록이 존재하는 경우에는, ID 부여 조건이 존재하는지를 판단한다(제374단계). 만약 ID부여 조건이 존재하지 않는다면, 미처리 목록에 저장한 후 처리 리스트에 설정하고(제376 및 제378단계) 제372 단계의 판단 작업을 다시 실행한다. 한편, 제374단계에서 ID부여 조건이 존재하는 것으로 판단되는 경우에는, 해당 파일에 ID를 부여한 후 기존 목록에 저장한 다음(제380 및 제382단계) 처리 리스트에 설정하게 된다(제380단계).
한편, 제372단계에서 미처리 파일 목록이 존재하지 않는 것으로 판단되는 경우에는, 미처리 목록이 존재하는지를 다시 판단한다(제384단계). 만약 미처리 목록이 존재한다면, 수작업으로 ID를 부여할 것인지 여부를 사용자에게 질의하게 된다(제386단계). 만약 사용자가 수작업에 의한 ID 부여를 희망한다면, 사용자에게 ID를 입력하게 한 후(제388단계) 입력된 ID가 기존 ID 목록에 있는지를 판단한다(제390단계). 만약 입력된 ID가 기존 ID 목록에 존재한다면 사용자의 선택에 따라 ID를 재입력할 수 있다(제392단계). 한편, 제390단계에서 입력된 ID가 기존 ID 목록에 존재하지 않는다면, 입력된 ID를 기존 목록에 저장한다(제396단계). 만약 제386단계에서 사용자가 수작업에 의한 ID 부여를 원하지 않거나, 제396단계에서 저장이 완료되거나, 또는 제392단계에서 사용자가 재입력을 희망하지 않는 경우에는 미처리 목록에 설정한 후 다시 제384단계로 진행한다. 한편, 제384단계에서 미처리 목록이 존재하지 않는 것으로 판단되는 경우에는, 제398단계에서 ID가 부여되지 않은 파일 목록을 출력한 후 종료한다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
상술한 바와 같이, 본 발명은 응용시스템 개발을 지원하고 개발된 응용시스템의 유지보수 및 변경관리를 종합적으로 지원하며, 상위 레벨의 업무기능분해(Function Decomposition)와 관리는 물론 최하위 레벨의 프로그램과 테이블 및 속성까지 관리할 수 있게 해준다. 이에 따라, 예컨대 특정 테이블의 변경이 불가피한 경우 해당 테이블을 사용하는 프로그램을 쉽게 찾을 수 있게 해주어서 관련 설계도를 일일이 찾아서 육안으로 확인하거나 모든 프로그램 소스를 확인할 필요 없이 쉽게 응용시스템을 수정할 수 있게 해준다. 특히 특정한 필드의 삭제나 타입 변경시 관련 테이블은 물론 프로그램까지 알려주므로 타 시스템이나 프로그램에 미치는 영향을 사전에 철저히 배제할 수 있게 된다. 따라서, 데이터베이스와 프로그램 소스 및 문서들 간에 일치성(Concurrency)이 유지할 수 있고, 업무 생산성을 높여서 시스템 개발 및 개선을 위한 시간과 비용을 절감시킬 수 있게 된다.

Claims (7)

  1. 각각이 복수의 필드들을 포함하는 복수의 테이블들을 구비하는 데이터베이스와 프로그램 소스 파일을 토대로 구축되는 응용시스템의 형상을 구축하여 형상 데이터를 사용자에게 제공하는 형상 관리 시스템으로서,
    상기 데이터베이스 내에 있는 상기 복수의 테이블들 각각의 실제 명칭 및 필드 정보를 추출하기 위한 데이터베이스 구조 분석 수단;
    상기 프로그램 소스 파일을 분석하여 상기 프로그램 소스 파일에 포함된 서용 필드 명칭을 추출하기 위한 프로그램 언어 분석 수단;
    상기 복수의 테이블들 각각의 실제 명칭 및 필드 구조와 상기 프로그램 소스 파일에 포함된 상기 호출 필드 정보를 상기 형상 데이터로서 저장하기 위한 데이터 저장 수단; 및
    상기 형상 데이터를 상기 사용자에게 제공하기 위한 사용자 인터페이스 수단;
    을 포함하는 형상 관리 시스템.
  2. 제1항에 있어서,
    상기 프로그램 언어 분석 수단에 의해 추출된 상기 프로그램 소스 파일 내의 호출 테이블 및 호출 필드 명칭과, 상기 데이터베이스 구조 분석 수단에 의해 추출된 상기 복수의 테이블들 및 필드들의 실제 명칭간의 비일치 정보를 추출하기 위한일치성 점검 수단;
    을 더 포함하는 형상 관리 시스템.
  3. 제2항에 있어서, 상기 응용시스템은 상기 프로그램 소스 파일을 복수 개 포함하고 상기 복수의 프로그램 소스 파일들 각각은 적어도 하나의 오브젝트 및 변수를 포함하며,
    상기 프로그램 언어 분석 수단은 상기 복수의 프로그램 소스 파일들 각각에 포함된 상기 오브젝트 및 상기 변수에 대한 명칭들을 추출하고,
    상기 일치성 점검 수단은 상기 오브젝트 명칭들 및 상기 변수 명칭들 중 대응하는 명칭들간의 비일치 정보를 추출하는 형상 관리 시스템.
  4. 제1항에 있어서,
    상기 데이터베이스 및 상기 프로그램 소스 파일에 관한 다큐먼트를 분석하여, 상기 다큐먼트에 포함된 상기 테이블 및 상기 필드 각각에 대한 참조 테이블명 및 참조 필드명을 추출하기 위한 파일 분석 수단;
    을 더 포함하는 형상 관리 시스템.
  5. 제1항에 있어서, 상기 응용시스템은 상기 프로그램 소스 파일을 복수 개 포함하며,
    상기 사용자 인터페이스 수단은, 상기 필드들 각각에 대해서, 상기 복수의프로그램 소스 파일들 중 각 필드를 호출하는 소스 파일의 종류를 표시하는 기능을 구비하는 형상 관리 시스템.
  6. 각각이 복수의 필드들을 포함하는 복수의 테이블들을 구비하는 데이터베이스와 복수의 프로그램 소스 파일들을 토대로 구축되는 응용시스템의 형상을 추출하여 상기 응용시스템의 개발 및 운영에 참고하기 위한 형상 관리 방법으로서,
    상기 데이터베이스 내에 있는 상기 복수의 테이블들 각각의 실제 명칭 및 필드 정보를 추출하는 단계;
    상기 복수의 프로그램 소스 파일들을 분석하여 상기 프로그램 소스 파일들에 포함된 호출 필드 명칭을 추출하는 단계; 및
    상기 복수의 테이블들 각각의 실제 명칭 및 필드 구조와 상기 프로그램 소스 파일들에 포함된 상기 호출 필드 정보를 상기 형상 데이터로서 소정의 저장 수단에 저장하는 단계;
    를 포함하는 형상 관리 방법.
  7. 제6항에 있어서, 상기 복수의 프로그램 소스 파일들 각각은 적어도 하나의 오브젝트 및 변수를 포함하며,
    상기 방법은
    상기 프로그램 소스 파일 내의 호출 테이블 및 호출 필드 명칭과, 상기 복수의 테이블들 및 필드들의 실제 명칭간의 비일치 정보를 추출하고, 상기 오브젝트명칭 및 상기 변수 명칭 중 대응하는 명칭간의 비일치 정보를 추출하여, 상기 비일치 정보를 사용자의 요구에 응답하여 제공하는 단계;
    를 더 포함하는 형상 관리 방법.
KR1020000032958A 2000-06-15 2000-06-15 형상 관리 시스템 및 방법 KR20010112753A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000032958A KR20010112753A (ko) 2000-06-15 2000-06-15 형상 관리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000032958A KR20010112753A (ko) 2000-06-15 2000-06-15 형상 관리 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20010112753A true KR20010112753A (ko) 2001-12-22

Family

ID=19672015

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000032958A KR20010112753A (ko) 2000-06-15 2000-06-15 형상 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20010112753A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100419018B1 (ko) * 2002-02-18 2004-02-14 삼성전자주식회사 엑스엠엘을 이용한 화면 정보 관리 방법
KR100976420B1 (ko) * 2010-02-05 2010-08-17 장준용 형상관리 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960018924A (ko) * 1994-11-24 1996-06-17 양승택 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법
JPH1185491A (ja) * 1997-09-02 1999-03-30 Fujitsu Ltd 複数ドキュメントの自動生成システム
JP2000020298A (ja) * 1998-06-29 2000-01-21 Hitachi Ltd ソフトウェア開発支援装置
KR20000017982A (ko) * 1999-12-31 2000-04-06 최진열 데이터 모델 검증 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960018924A (ko) * 1994-11-24 1996-06-17 양승택 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법
JPH1185491A (ja) * 1997-09-02 1999-03-30 Fujitsu Ltd 複数ドキュメントの自動生成システム
JP2000020298A (ja) * 1998-06-29 2000-01-21 Hitachi Ltd ソフトウェア開発支援装置
KR20000017982A (ko) * 1999-12-31 2000-04-06 최진열 데이터 모델 검증 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100419018B1 (ko) * 2002-02-18 2004-02-14 삼성전자주식회사 엑스엠엘을 이용한 화면 정보 관리 방법
KR100976420B1 (ko) * 2010-02-05 2010-08-17 장준용 형상관리 시스템 및 방법

Similar Documents

Publication Publication Date Title
US6651240B1 (en) Object-oriented software development support apparatus and development support method
US5898872A (en) Software reconfiguration engine
US6003039A (en) Data repository with user accessible and modifiable reuse criteria
US7269580B2 (en) Application integration system and method using intelligent agents for integrating information access over extended networks
Tryon et al. The BC TRY computer system of cluster and factor analysis
US6571247B1 (en) Object oriented technology analysis and design supporting method
US5909688A (en) Information management system
US5933634A (en) Mock-up method and mock-up control system for displaying pseudo operation
JPH09212352A (ja) プログラム開発支援システム
US5375237A (en) Computerized method of creating a convenient dictionary representing data structures for use by a plurality of program products
US20050005239A1 (en) System and method for automatic insertion of cross references in a document
US5651101A (en) Knowledge base system for setting attribute value derivation data independently from attribute value derivation procedure and shared data management apparatus for selectively locking attribute
KR19980702170A (ko) 통신네트워크 데이터베이스 구축 방법 및 장치
JPH0683598A (ja) ジョブフロー仕様書自動作成方法
US7707211B2 (en) Information management system and method
Halpin et al. Database modeling with Microsoft® Visio for enterprise architects
US5781905A (en) Program generating method combining data item part with database manipulation part
Su et al. Transformation of data traversals and operations in application programs to account for semantic changes of databases
KR20010112753A (ko) 형상 관리 시스템 및 방법
Tucherman et al. The chris consultant—a tool for database design and rapid prototyping
KR20060102188A (ko) 표준 데이터 관리 시스템
Fiorini et al. Process reuse architecture
EP0990983A1 (en) Automation of the design recovery and forward engineering of legacy applications
JP3516843B2 (ja) データベースアクセス方法
AU760395B2 (en) Program reproducing method and device, and medium on which program for program reproduction recording

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application