KR20010002571A - 컴퓨터 시스템의 제조에 사용하기 위한 장치 - Google Patents

컴퓨터 시스템의 제조에 사용하기 위한 장치 Download PDF

Info

Publication number
KR20010002571A
KR20010002571A KR1019990022437A KR19990022437A KR20010002571A KR 20010002571 A KR20010002571 A KR 20010002571A KR 1019990022437 A KR1019990022437 A KR 1019990022437A KR 19990022437 A KR19990022437 A KR 19990022437A KR 20010002571 A KR20010002571 A KR 20010002571A
Authority
KR
South Korea
Prior art keywords
family
component
computer system
test
steps
Prior art date
Application number
KR1019990022437A
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 KR1019990022437A priority Critical patent/KR20010002571A/ko
Publication of KR20010002571A publication Critical patent/KR20010002571A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B33/00Constructional parts, details or accessories not provided for in the other groups of this subclass
    • G11B33/12Disposition of constructional parts in the apparatus, e.g. of power supply, of modules
    • G11B33/121Disposition of constructional parts in the apparatus, e.g. of power supply, of modules the apparatus comprising a single recording/reproducing device
    • G11B33/122Arrangements for providing electrical connections, e.g. connectors, cables, switches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00014Time or data compression or expansion the compressed signal being an audio signal
    • G11B2020/00057MPEG-1 or MPEG-2 audio layer III [MP3]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10833Copying or moving data from one record carrier to another
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2545CDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

컴퓨터 시스템의 제조에 사용될 장치는 스텝 표와 구성요소 표를 포함하고 있다. 스텝 표는 주어진 현장에서 제조되고 있는 모든 컴퓨터 시스템의 모든 구성요소에 대한 실질적으로 모든 소프트웨어 설치 및/또는 테스트 스텝을 포함한다. 구성요소 표는 그 현장에서 제조되고 있는 모든 컴퓨터 시스템 내에 포함되는 실질적으로 모든 구성요소를 포함한다. 장치는 또한 스텝 의존성 표 및 스텝 파라메타 표를 포함한다. 스텝 의존성 표는 그 스텝에 해당하는 것이 아닌 컴퓨터 시스템 내의 구성요소의 존재와 양립할 수 없는 스텝 표의 스텝들을 식별한다. 스텝 파라메타 표는 파라메타를 요구하는 스텝 표의 스텝들을 식별한다.

Description

컴퓨터 시스템의 제조에 사용하기 위한 장치 {Apparatus for use in the manufacture of a computer system}
본 발명은 컴퓨터 시스템의 제조에 사용하기 위한 장치에 관한 것이다.
본 출원은 리차드 디. 암버어그, 로저 더블유. 우옹 및 마이클 에이. 브런드리지를 발명자로 하여 1998년 7월 16일 출원된 "주문제작 컴퓨터 시스템을 위한 소프트웨어 설치 및 테스트"란 명칭의 동시 계류중인 한국 특허출원 제 1998-28796 호와 관련이 있다.
본 출원은 리차드 디. 암버어그, 로저 더블유. 우옹 및 마이클 에이. 브런드리지를 발명자로 하여 1998년 7월 16일 출원된 "주문제작 컴퓨터 시스템을 위한 소프트웨어 설치 및 테스트"란 명칭의 동시 계류중인 한국 특허출원 제 1998-28797 호와 관련이 있다.
본 출원은 리차드 디. 암버어그, 로저 더블유. 우옹 및 마이클 에이. 브런드리지를 발명자로 하여 1998년 7월 16일 출원된 "주문제작 컴퓨터 시스템을 위한 소프트웨어 설치 및 테스트를 용이하게 하기 위한 데이터베이스"란 명칭의 동시 계류중인 한국 특허 출원 제 1998-28798 호와 관련이 있다.
이들 계류중인 출원은 본 명세서에 그 전체가 참고로 통합되어 있고 그 출원들은 본원의 출원인에게 양도되었다.
일반적인 퍼스널 컴퓨터 시스템 그리고 특히 IBM 호환성 퍼스널 컴퓨터 시스템은 사회 각 분야에 계산력을 제공하기 위해 널리 사용되게 되었다. 퍼스널 컴퓨터 시스템은 보통 시스템 프로세서 및 연관된 휘발성 및 비휘발성 메모리, 디스플레이 모니터, 키보드, 하나 또는 그 이상의 디스켓 드라이브, 고정 디스크 기억장치 및 선택적으로는 프린터를 가진 시스템 유닛을 포함하는 데스크 탑, 바닥 설치, 또는 휴대용 마이크로컴퓨터로 정의될 수 있다.
컴퓨터 시스템이 사업 고객 또는 개인 고객에게 출하되기 전에 소프트웨어를 설치하고 그것에 대한 테스트를 행하는 것은 이미 알려져 있다. 소프트웨어 설치 및 테스트의 목적은 기업 또는 개인에게 착오없이 또한 바로 작동될 수 있도록 배달될 수 있는 유용하고 신뢰성 있는 컴퓨터 시스템을 효율적으로 생산하기 위한 것이다. 일반적으로, 테스트는 컴퓨터 시스템의 하드웨어 및 소프트웨어 부분에서 일어나는 오류를 검출하고 분석한다. 컴퓨터 시스템 하드웨어 테스트들의 일부 목록에는 프로세서, 메모리, 디스크 기억장치, 오디오장치, 그래픽 치, 키보드, 마우스 및 프린터와 같은 하드웨어 구성요소들을 진단하는 것이 포함된다. 소프트웨어 설치에는 가끔 소망하는 소프트웨어의 패키지를 컴퓨터 시스템에 로드하고, 컴퓨터를 위한 적당한 환경변수들을 준비하고, 로드된 소프트웨어를 위한 적당한 초기화 파일을 준비하는 것이 포함된다. 소프트웨어 테스트에는 흔히 소망하는 소프트웨어 버전이 컴퓨터 시스템에 설치되었는지 또한 적당한 드라이브가 컴퓨터 시스템에 존재하는 지를 확실하게 하는 것이 포함된다.
제조하는 동안 컴퓨터 시스템이 고객에게 출하되기 전에 고정된 절차를 수행함에 의해 소프트웨어를 설치하고 컴퓨터 시스템을 테스트하는 것이 당해 산업 분야에서는 알려져 있다. 예를 들면, 특정 유형의 컴퓨터 시스템에 대한 특정의 진단 테스트방법을 수용하는 디스켓이 만들어진다. 그 디스켓은 소프트웨어 설치 및 진단 과정을 지시하는 길고 가끔은 복잡한 배치파일을 포함한다. 그 디스켓은 다시 구입되는 컴퓨터 시스템에 대한 테스트를 행하기 위한 모든 실행가능 파일을 포함한다.
제조되는 각 컴퓨터 시스템에는 이 디스켓의 각 복사물이 제공된다. 이들 디스켓은 제조공정 중 공장 작업장 둘레 여기 저기로 제조되는 컴퓨터 시스템에 동행하고 배치 파일에 고유한 순서에 따라 각 컴퓨터 시스템에 대해 테스트가 행해진다. 공정에 수정을 가할 필요가 있으면, 이에 대응하여 배치코드로부터 일부를 더하거나 제거하여 배치파일을 수정한다. 그렇게 배치파일을 수정하면 제조되는 각 후속 컴퓨터 시스템의 테스트 파라메타(테스트를 행하는 순서를 포함하여)도 대응적으로 변화가 생기는데, 그 이유는 각 컴퓨터 시스템은 같은 배치파일 진단절차를 공유하고 있기 때문이다.
이런 종류의 진단 조치는 출하 전 컴퓨터 시스템의 신뢰성을 증가시키는데 어느 정도의 유용성을 보였지만, 아직 개선할 여지는 많다. 예컨대 테스트가 계속하여 복잡하고 철저해짐에 따라, 진단 테스트의 배치파일 및 실행가능 파일은 흔히 디스켓의 기억 용량을 초과하게 된다. 또한 다른 컴퓨터 시스템 또는 컴퓨터 시스템 패밀리에 대한 테스트를 수정하지는 않고 단일의 주문제작 컴퓨터 시스템 또는 특정 컴퓨터 시스템 패밀리에 대해서만 테스트 및 소프트웨어 설치 절차를 개별화(주문화)하는 것은 어렵거나 불가능하다. 더욱이, 다른 컴퓨터 시스템 또는 컴퓨터 시스템 패밀리에 대한 주문을 수정하지는 않고 단일의 주문 제조 컴퓨터 시스템 또는 특정 컴퓨터 시스템 패밀리의 소프트웨어 설치 및 테스트의 주문을 수정하는 것은 어렵거나 불가능하다. 끝으로, 그때의 배치파일 구조가 가끔 복잡성이 있어 제조자가 문제점 추적을 한다거나 또는 테스트 및 소프트웨어 설치절차를 신속하고 효율적으로 유지하기가 곤란해진다.
따라서 요구되는 것은 선행 기술에 개선을 제공할 수 있는 컴퓨터 시스템의 제조에 사용될 장치를 제공하는 것이다.
도 1은 소프트웨어 설치 및 테스트를 보여주는 개략도이고,
도 2는 다른 실시예에 의한 소프트웨어 설치 및 테스트를 보여주는 개략도이고,
도 3A는 본 발명에 따라 컴퓨터 주문을 시스템 기술어 레코드로 변환하는 흐름도이고,
도 3B는 예시적 컴퓨터 주문, 기본 조립 레코드(BAR) 파일 및 시스템 기술어 레코드의 일부를 보여주고,
도 4는 스텝 순서를 작성 및 제공하기 위한 흐름도이고,
도 5A는 도 5B 및 5C 사이의 관계의 개략적 예시도이고,
도 5B는 스텝 순서를 작성하기 위한 보다 상세한 흐름도의 제 1 부분이고,
도 5C는 스텝 순서를 작성하기 위한 보다 상세한 흐름도의 제 2 부분이고,
도 6은 데이터베이스의 구조를 보여주고,
도 7은 스텝 파일의 일부의 예이고,
도 8 내지 13은 스텝 순서를 실행하기 위한 프로그램의 작동의 흐름도이다.
본 발명의 한 실시예에 따르면, 주어진 지점에서 제조되고 있는 모든 컴퓨터 시스템의 모든 구성요소에 대한 실질적으로 모든 소프트웨어 설치 및/또는 테스트 스텝을 포함하는 스텝 표, 그 지점에서 제조되고 있는 모든 컴퓨터 시스템 내에 포함되는 실질적으로 모든 구성요소를 포함하는 구성요소 표, 및 그 스텝들에 해당하는 것이 아닌 컴퓨터 시스템 내의 구성요소의 존재와 양립할 수 없는 스텝 표의 스텝들을 식별하는 스텝 의존성 표를 포함하고 있는 컴퓨터 시스템의 제조에 사용될 장치가 제공된다.
본 발명의 다른 실시예에서는, 주어진 지점에서 제조되고 있는 모든 컴퓨터 시스템의 모든 구성요소에 대한 실질적으로 모든 소프트웨어 설치 및/또는 테스트 스텝을 포함하는 스텝표, 그 지점에서 제조되고 있는 모든 컴퓨터 시스템 내에 포함되는 실질적으로 모든 구성요소를 포함하는 구성요소 표, 및 파라메타를 요구하는 스텝 표의 스텝들을 식별하는 스텝 파라메타표를 포함하고 있는 컴퓨터 시스템의 제조에 사용될 장치가 제공된다.
바람직한 실시에서, 컴퓨터 시스템은 컴퓨터 시스템의 패밀리의 하나에 해당하고, 장치는 추가로 패밀리-스텝 관계표, 패밀리-구성요소 관계표, 및 구성요소-스텝 관계표를 포함한다. 패밀리-스텝 관계표는 소프트웨어 설치 및/또는 테스트 스텝들의 집합과 컴퓨터 시스템의 각 패밀리 사이의 관계를 확인한다. 패밀리-구성요소 관계표는 컴퓨터 시스템의 패밀리와 구성요소들의 집합 사이의 관계를 확인한다. 구성요소-스텝 관계표는 한 구성요소와 그 대응 구성요소에 적합한 소프트웨어 설치 및/또는 테스트 스텝 사이의 관계를 확인한다.
한 실시예에 의한 장치는 주문제작 컴퓨터 시스템의 즉각적인 문제점 추적 및 개별화를 허용하는 효과적인 소프트웨어 설치 및 컴퓨터 테스트를 제공한다. 이 장치의 모듈형 설계는 유리하게도 테스트 시스템의 기본적 유지보수 및 새로운 컴퓨터 시스템 및 패밀리를 위한 신속한 스텝의 형성을 허용한다.
이하에서 본 발명의 바람직한 실시예가 도면을 참조하여 설명된다. 다음 설명은 예시를 위한 것으로 한정적인 것으로 해석해서는 안 될 것이다. 도면에 있어서는, 같거나 유사한 요소들은 같은 부재 번호로 표시될 것이다. 설명에서는, 모듈은 명령 또는 명령의 집합으로 정의된다.
도 1은 컴퓨터 시스템 제조 장소에 있어 소프트웨어 설치 및 테스트 시스템(90)의 개략도이다. 작동에 있어서는, 주문제작 타겟 컴퓨터 시스템(160)을 구입하기 위해 주문(92)을 행한다. 타겟 시스템(160)은 복수개의 하드웨어 및 소프트웨어를 포함하도록 제조될 것이다. 예컨대 타겟 시스템(160)은 어떤 브랜드의 하드 드라이브, 특정 유형의 모니터, 특정 브랜드의 프로세서 및 특정 버전의 운영체제를 포함할 것이다. 타겟 시스템(160)이 고객에게 출하되기 전에, 복수개의 구성요소가 설치되고 테스트된다. 그런 소프트웨어 설치 및 테스트로 인해 받자마자 바로 작동될 수 있는 신뢰성 있는 실용 컴퓨터 시스템이 유리하게도 보장된다.
상이한 패밀리의 컴퓨터 시스템 및 상이한 개별적 컴퓨터 구성요소는 상이한 소프트웨어 설치 및 테스트 스텝을 필요로 하기 때문에, 타겟 시스템(160)에 대해 어떤 테스트를 할 필요가 있고 그들 테스트를 어떤 순서로 수행해야만 효과적인 소프트웨어 설치 및 테스트과정을 달성하겠는가를 결정할 필요가 있다. 스텝 메이커(140)는 타겟 시스템(160)에 소프트웨어 설치 및 테스트 스텝이 순차로 행해지게 하도록 구성된 컴퓨터 시스템이다. 소프트웨어 설치 및/또는 테스트 스텝을 순차로 시행하기 위해, 스텝 메이커(140), 보다 상세하게는 스텝 메이커(140)에 있는 시퀀싱 프로그램(204)은 먼저 기술어 파일(96)로부터 복수개의 구성요소 기술어를 판독한다. 기술어 파일(96)은 소망하는 구성요소들을 가진 소망하는 컴퓨터 시스템에 해당하는 주문(92)을 변환 모듈(94)을 통해 컴퓨터 판독 가능 양식으로 변환함에 의해 제공된다.
구성요소 기술어는 그 구성요소들이 주문(92)에 의해 정해지는 타겟 시스템(160)의 구성요소들에 대한 컴퓨터가 판독 가능한 기술(설명)이다. 바람직한 실시예에서는, 구성요소 기술어는, 타겟 시스템(160)에 설치될, 구성요소들, 곧 하드웨어 및/또는 소프트웨어 구성요소들의 목록을 포함하는 컴퓨터 판독 가능 파일인 시스템 기술어 레코드로 호칭되는 기술어 파일에 포함되어 있다. 복수개의 구성요소 기술어를 판독한 후, 시퀀싱 프로그램(204)은 네트워크 접속(110)를 통해 데이터베이스(100)로부터 구성요소 기술어에 해당하는 복수개의 소프트웨어 설치 및/또는 테스트 스텝을 검색한다. 네트워크 접속(110)는 논리 영역 망, 인트라넷 또는 인터넷과 같은 당해 분야에서 주지되어 있는 어떤 네트워크 접속일 수도 있다. 데이터베이스(100)에 포함된 정보는 화살표(130)로 표시된 수정을 통해 갱신될 수 있다.
타겟 시스템(160)에 적합한 소프트웨어 설치 및/또는 테스트 스텝을 검색한 후, 시퀀싱 프로그램(204)은 각 스텝에 해당하는 순서 번호에 따라 소정의 순서로 스텝들을 시퀀싱 한다. 타겟 시스템(160)에 요구되는 스텝들을 시퀀싱 한 후, 시퀀싱 프로그램(204)은 스텝 디스크(150)에 일련의 출력 파일을 기록해 보낸다. 도 1에 도시된 실시예에 있어서는, 출력 파일은 타겟 시스템(160)에 대해 적당한 소프트웨어 설치 및/또는 테스트 스텝을 실시하기에 적합한 명령 행을 포함하는 텍스트 파일들을 포함한다. 실행은 각 스텝에 해당하는 순서 번호에 따른 소정의 순서로 행해진다. 스텝 디스크(150)는 공장 작업장에서 타겟 시스템(160)에 동행하며 거기에서 테스트는 직접 스텝 디스크(150)로부터 행해지거나 또는 네트워크 접속(180)을 통해 타겟 시스템(160)에 연결된 파일 서버(190)로부터 행해진다. 바람직하게는 네트워크 접속(180)는 타겟 컴퓨터 시스템의 대응하는 네트워크 포트 내에 끼워지는 일반적 네트워크 장치이다. 소프트웨어 설치 및 테스트 스텝을 수행한 후, 설치 및 테스트의 결과는 네트워크 접속(180)을 통해 파일 서버(190)에 도루 기록된다.
도 2는 본 발명의 다른 실시예에 의한 소프트웨어 설치 및 테스트 시스템(192)의 개략도이다. 고객은 주문 구조의 타겟 컴퓨터 시스템을 구입하기 위해 주문(92)을 행한다. 타겟 시스템(160)은 하드웨어 및/또는 소프트웨어 구성요소들을 포함할 수 있는 복수개의 구성요소들을 포함하도록 제조된다. 타겟 시스템(160)이 고객에게 출하되기 전에, 복수개의 구성요소들이 설치되고 테스트된다. 그런 설치 및 테스트는 유리하게도 고객에 의해 수령되는 대로 동작 준비가 되어 있는 신뢰성 있고 실용성 있는 컴퓨터 시스템을 보장하게 한다.
소프트웨어 설치 및 테스트 스텝을 시퀀싱 하기 위해 시퀀싱 프로그램(204)은 기술어 파일(96)로부터 복수개의 구성요소 기술어를 판독한다. 주문(92)은 변환 모듈(94)을 통해 기술어 파일(96)로 변환된다. 구성요소 기술어는 타겟 시스템(160)의 구성요소들의 컴퓨터 판독 가능 기술어이다. 바람직한 실시예에서는, 구성요소 기술어는 시스템 기술어 레코드라 호칭되는 기술어 파일에 수용되고, 컴퓨터 판독 가능 파일은 타겟 시스템(160)에 설치될 하드웨어 및 소프트웨어의 각 구성요소의 목록을 포함한다. 시스템 기술어 레코드는 파일 서버(202)에 직접 기억될 수도 있다. 시퀀싱 프로그램(204)은 데이터베이스(100)로부터 구성요소 기술어에 해당하는 복수개의 소프트웨어 설치 및/또는 테스트 스텝을 검색한다. 타겟 시스템(160)에 대한 적당한 소프트웨어 설치 및/또는 테스트 스텝을 검색한 후, 시퀀싱 프로그램(204)은 네트워크 접속(195 및 180)을 통해 소정된 순서로 타겟 시스템(160)에 소프트웨어 설치 및 테스트 스텝을 실행할 것을 지시한다. 바람직하게는 네트워크 접속(200)는 타겟 시스템(160)의 대응 포트에 삽입된 일반적 네트워크 장치이다. 네트워크(195)는 당해 분야에서 주지된 임의의 통신 접속부일 수 있다. 소프트웨어 설치 및/또는 테스트 스텝을 실행한 후, 설치 및 테스트의 결과는 네트워크 접속(200)을 넘어 파일 서버(202)에 기록되거나 또는 적당한 데이터베이스 내에 기억된다. 예시로부터 명백한 것처럼, 도 1의 별도의 스텝 메이커 컴퓨터 시스템은 필요하지 않다. 추가적으로, 스텝 디스크(150)도 필요하지 않다. 타겟 시스템(160)을 부팅하도록 구성된 부팅 디스크(220)만이 공장 작업장 위에서 타겟 시스템(160)을 동행할 필요가 있다.
소프트웨어 설치 및 테스트 스텝을 일반적으로 설명했기 때문에, 이제는 도 1 및 2에 도시된 시스템의 작동을 보다 상세히 설명한다.
도 3A는 컴퓨터 시스템에 대한 주문이 컴퓨터 판독 가능 시스템 기술어 레코드로 변환되는 바람직한 과정을 표시한다. 보다 상세하게는, 항목(300)에서는 타겟 컴퓨터 시스템에 대해 주문이 접수된다. 이 주문은 다양한 양식 중의 하나로 되어 있을 수 있다. 예컨대 상이한 주문 배달 기구와 마찬가지로 상이한 주문 양식도 가능하다. 예를 들면, 타겟 시스템에 대한 주문은 전화, 우편, 또는 컴퓨터 네트워크(예컨대 인터넷을 통해)를 통해 행해질 수 있다. 주문하는 수단 또는 양식과는 상관없이, 주문은 고객이 구입하기 원하는 타겟 컴퓨터 시스템의 유형 그리고 아마 고객이 타겟 컴퓨터 시스템에 포함시키기를 원하는 특정 구성요소의 목록을 포함한다. 주문이 접수된 후, 제어는 전송 모듈(310)로 이행되어, 타겟 컴퓨터 시스템 주문은 컴퓨터 네트워크를 통해 타겟 컴퓨터 시스템을 제조하는 제조 시스템(도시안됨)에 전송된다. 타겟 컴퓨터 시스템 주문은 또한 소프트웨어 설치 및 테스트 시스템에도 제공되어 거기에서는 그 주문은 모듈(320)에서 변환 프로그램에 이송된다. 모듈(310)에서 사용된 컴퓨터 네트워크는 당해 분야에서 주지되어 있는 어떤 유형일 수도 있다.
변환 프로그램은 타겟 컴퓨터 시스템 주문을 제조 공정에 유용한 레코드로 변환한다. 보다 상세하게는 변환 프로그램은 컴퓨터 주문을 먼저 모듈(330)에서 바아(BAR) 파일로 호칭되는 레코드로 변환한다. 바람직하게는, BAR 파일은 제조되고 있는 특정 타겟 컴퓨터 시스템을 식별하는 유일한 식별자를 포함하고 있다. BAR 파일은 또한 타겟 시스템에 포함시키려 하는 하드웨어 및 소프트웨어를 포함하는 상세한 구성요소 목록을 포함한다. 그 위에 BAR 파일은 각 구성요소를 위한 제조자 특정 부품 번호 또는 기타 유용한 식별자를 포함하는 것이 바람직하다. 끝으로, BAR 파일은 이름, 주소 및 전화 번호와 같은 고객 특정정보를 포함할 수 있다.
모듈(330)에서 BAR 파일을 작성한 후, 모듈(340)에서는 시스템 기술어 레코드가 작성된다. 이 바람직한 실시예에서는 시스템 기술어 레코드는 타겟 컴퓨터 시스템에 포함될 하드웨어 및 소프트웨어 구성요소를 기술하는 컴퓨터 판독 가능 파일이다. 바람직한 실시예에서는, 시스템 기술어 레코드는 하드웨어 태그, 소프트웨어 태그, 정보 태그 및 주석을 포함하는 포맷으로 된 타겟 시스템의 구성요소의 목록을 포함한다. 하드웨어 태그는 그 태그에 따르는 정보는 하드웨어 구성요소에 관한 것임을 시퀀싱 프로그램(204)에 확인시켜 준다. 유사하게, 소프트웨어 태그는 그 태그의 정보가 소프트웨어 구성요소에 관한 것으로 확인해 준다. 정보 태그는 일반적 정보가 후속한다는 것을 나타낸다. 주석은 시퀀싱 프로그램(204)에 의해 간과된 여러 설명이 시스템 기술어 레코드에 포함될 수 있게 한다. 시스템 기술어 레코드는 사람이 판독 가능하고 또한 이해하기 쉬운 텍스트 파일인 것이 바람직하다. 그런 파일은 유리하게도 설치 및 테스트 과정의 용이한 문제점 추적 및 보수를 가능하게 한다. 시스템 기술어 레코드는 표지(token)들의 유일 조합에 해당하는 어떤 유일 식별자들의 목록일 수 있다. 예를들면, 시스템 기술어 레코드는 부품 번호의 목록일 수 있다.
도 3B는 예시적 타겟 컴퓨터 시스템 주문(350), 대응하는 BAR 파일(360) 및 대응하는 시스템 기술어 레코드(370)를 표시한다. 타겟 컴퓨터 시스템 주문(350)은 컴퓨터 패밀리의 이름, 이 예에서는 패밀리 "X"를 갖는다. 또한 타겟 컴퓨터 시스템 주문(350)에는 펜티엄(Pentium) 프로세서, 하드 드라이브 및 모니터를 포함하는 3 개의 전형적 구성요소가 포함된다. BAR 파일(360)은 도 3A의 모듈(320)에 표시된 것과 같은 변환 프로그램을 통해 타겟 컴퓨터 시스템 주문(350)을 실행함으로써 얻어진다. BAR 파일(360)은 패밀리 X 내 특정 타겟 컴퓨터 시스템에 대한 유일 식별자를 포함한다. BAR 파일(360)은 또한 타겟 컴퓨터 시스템 주문에 수록된 구성요소들의 각각에 대한 제조자 특정 부품번호를 포함한다. 그리고, BAR 파일(360)은 각 구성요소의 소망되는 양 및 타겟 컴퓨터 시스템에 포함될 각 구성요소의 텍스트 설명을 표시하는 식별자를 포함한다. 시스템(90)은 시스템 기술어 레코드(370)를 작성하기 위해 BAR 파일(360)을 사용한다.
예시된 것처럼, 시스템 기술어 레코드(370)는 패밀리 X 내 특정 컴퓨터 시스템에 대한 유일 식별자도 포함한다. 그 위에, 시스템 기술어 레코드(370)는 적당한 태그, 여기서는 프로세서, 하드 디스크 및 모니터가 모두 소프트웨어가 아닌 하드웨어 구성요소임을 나타내는 태그를 포함한다. 시스템 기술어 레코드(370)는 그들 구성요소를 텍스트 설명에 기술한다. 추가하여, 전형적 시스템 기술어 레코드(370)는 어떤 소프트웨어가 패밀리 X에 속하는 타겟 컴퓨터 시스템에 설치 또는 테스트되어야 한다는 것을 표시하는 소프트웨어 태그를 포함한다. 예컨대 소프트웨어 태그는 펜티엄 프로세서에 적합한 어떤 운영체제가 패밀리 X에 속하는 타겟 컴퓨터 시스템의 하드 드라이브에 항상 설치된다는 것을 표시할 것이다.
도 4에는 소프트웨어 설치 및 테스트 스텝을 시퀀싱 하기 위한 바람직한 일반적 방법이 표시되어 있다. 모듈(400)에는, 타겟 컴퓨터 시스템의 유일 식별자가 타겟 컴퓨터 시스템(160)을 위해 발생된다. 도 1에 표시된 실시예서에는, 스텝 메이커 컴퓨터 시스템(140)에 앉아 있는 사용자는 유일 식별자(예컨대 추적 코드 역할을 하는 BAR 식별자)를 스텝 메이커(140)의 시퀀싱 프로그램에 제공한다. 다른 방법으로는, 도 2의 실시예에서, 타겟 컴퓨터 시스템 주문이 접수된 뒤, 유일 식별자가 시퀀싱 프로그램 내에 읽어 넣어진다.
모듈(410)에는, BAR 식별자에 해당하는 시스템 기술어 레코드가 위치된다. 도 1의 실시예에서는, 네트워크 접속(110) 또는 네트워크 접속(195)이 시스템 기술어 레코드의 위치를 찾는다. 모듈(420)에서는, 찾아진 시스템 기술어 레코드가 시퀀싱 프로그램(204)에 제공된다. 도 1의 실시예에서는, 시퀀싱 프로그램이 스텝 메이커 컴퓨터 시스템(140)에 존재하는 한편 도 2의 실시예에서는 시퀀싱 프로그램이 파일 서버(202)에 있다. 시퀀싱 프로그램(204)은 타겟 컴퓨터 시스템(160)을 위해 소프트웨어 설치 및 테스트 스텝을 시퀀싱 하기 위해 데이터베이스(100)(도 1 및 2의)와 협동 작용한다.
일단 특정 타겟 컴퓨터 시스템에 적합한 소프트웨어 설치 및 테스트 스텝이 시퀀싱 되면, 시퀀싱 프로그램(204)은 모듈(430)에 표시된 것과 같은 출력 파일을 생성한다.
도 1에 표시된 실시예에서는, 스텝 디스크에 기입된 출력 파일(도 1 참조)은 스텝 파일 및 Setenv.bat 파일이다. 스텝 파일은 주문되는 타겟 컴퓨터 시스템에 대한 소프트웨어 설치 및 테스트 스텝을 실시하기 위한 적합한 명령 행의 목록을 포함하는 ASCⅡ 텍스트 파일이다. 바람직한 실시예에서는, 스텝 파일은 또한 순환될 수 있는 명령들을 포함한다. 보다 상세하게는, 스텝 파일은 명령이 일정 회수 반복될 수 있게 또는 일정한 시간 길이 동안 반복되게 한다. 그런 형식은 유리하게도 소프트웨어 설치 및 테스트 스텝이 계산된 소정 방식으로 반복되게 한다. Setenv.bat 파일은 타겟 컴퓨터 시스템에 대한 환경 변수들을 설정한다. 스텝 파일 및 Setenv.bat 파일은 타겟 컴퓨터 시스템에 대한 설치 및 테스트 스텝을 실시하기 위한 적당한 명령 행의 목록을 포함하는 ASCⅡ 텍스트 스크립트 파일이다. 스텝 파일은, 각각 제조의 각 기간에 대한 스텝들, 예컨대 타겟 컴퓨터 시스템의 제조의 신속 테스트(Qt), 확장 테스트1(ET1), 확장 테스트2(ET2), 소프트웨어 설치(SI) 및 최종 테스트(Ft) 스텝을 가진 다수의 개별적 서브 파일들로 세분된다.
한편 도 2의 실시예에서는, 출력 파일은 도 1에 도시된 것과 같은 스텝 디스크에 기입되지는 않는다. 그 대신 출력 파일은 파일 서버(202) 또는 파일 서버(190)에 상주하여, 그들 파일은 타겟 컴퓨터 시스템(160)에 대해 소프트웨어 설치 및/또는 테스트 스텝의 실시를 지시하는데 사용된다.
도 5A 내지 5C는 도 1 및 2에 표시된 시퀀싱 프로그램(204)의 작동에 관한 보다 상세한 흐름도이다.
결정 모듈(500)은 주문의 소스를 결정한다. 우선은, 좌측 부분만을 생각하자. 필요하면 모듈(502)은 하나 또는 그 이상의 패치를 시스템 기술어 레코드에 가한다. 바람직한 실시예에서는, 이 패치는 모듈 형의 것으로, 특정 타겟 컴퓨터 시스템, 특정 컴퓨터 시스템 패밀리 또는 특정 구성요소를 위해 패치가 만들어질 수 있다. 예컨대 제조자가 어떤 날짜에 어떤 컴퓨터 시스템 패밀리에 대해 한 하드 드라이브의 브랜드를 다른 브랜드의 것으로 교체하고 싶으면, 교체될 하드 드라이브를 포함하는 모든 시스템 기술어 레코드를 수정하여 모듈(502)에서 교체를 행할 패치가 형성될 수 있다.
그런 다음, 모듈(504)은 타겟 컴퓨터 시스템(160)에 대응하는 (패치된) 시스템 기술어 레코드를 시퀀싱 프로그램(204)에 입력한다. 모듈(506)에서는, 시스템 기술어 레코드로부터 구성요소 기술어가 읽어진다. 각 구성요소 기술어는 타겟 컴퓨터 시스템의 하드웨어 또는 소프트웨어의 각 구성요소를 설명하고 있다.
도 3B로 되돌아가서, 모듈(370)에 있어 펜티엄 프로세서를 포함하는 시스템 기술어 레코드의 행은 예시적 구성요소 기술어이다. 모듈(508)에서, 시퀀싱 프로그램(204)은 각각 복수개의 타겟 컴퓨터 시스템 구성요소에 해당되는 복수개의 파생 객체를 예시하고 있다. 바람직한 실시예에 있어, 이들 파생객체는 타겟 컴퓨터 시스템(160)에 실행될 필요가 있는 소프트웨어 설치 및 테스트 스텝에 관한 정보(데이터베이스(100)로부터 얻어진)를 기억하는데 사용된다. 따라서 모듈(510)에서는 각 유도 물체는 타겟 컴퓨터 시스템(160)의 각 구성요소와 관련 지어져 있다.
이제, 모듈(500)의 우측 부분을 참고하라. 이 경우에는 주문은 고객에 의해 재료 목록(Bill of Material)의 형태로 레코드로서 데이터베이스에 직접 기억되며, 그런 레코드는 타겟 컴퓨터 시스템(160)에 관한 구성요소 기술어를 포함한다. 모듈(502)에 상당하는 모듈(512)은 재료 목록에 편차(패치)를 적용하고, 한편 모듈(514)은 시퀀싱 프로그램(204)이 사용하도록 저장하고 있는 데이터베이스로부터 재료 목록을 판독한다.
모듈(516)에서는, 타겟 컴퓨터 시스템(160)의 각 구성요소와 연관져 있는 소프트웨어 및 테스트 스텝이 데이터베이스(100)로부터 검색되고 적당한 유도 물체에 기억된다. 도 1의 실시예에서는, 스텝들이 네트워크 접속(110)로부터 검색되는 한편, 도 2의 실시예에서는 스텝들이 직접 파일 서버(202)로부터 검색된다. 어떻게 스텝들이 바람직한 실시예에서 데이터베이스(100)로부터 검색되는가를 설명하기 위해서는 그 데이터베이스의 바람직한 구조의 설명을 필요로 한다.
도 6은 데이터베이스(100)의 설계를 보여준다. 데이터베이스(100)는 소프트웨어 및/또는 테스트 스텝의 순서를 소정된 순서로 컴퓨터 시스템 패밀리들과 관련시킨다. 또한 데이터베이스(100)는 컴퓨터 시스템의 구성요소들을 관련 지우도록 구성되어 있다. 더욱이 데이터베이스(100)는 소프트웨어 및/또는 테스트 스텝을 컴퓨터 시스템의 구성요소들과 관련시킨다.
데이터베이스(100)는 바람직하게는 관계적 데이터베이스이다. 데이터베이스(100)는 각각 상기한 관련을 형성하기에 적합한 속성을 포함하고 있는 수개의 표를 포함하고 있다.
데이터베이스(100)는 스텝 표(102), 패밀리 표(104), 패밀리 스텝 순서 표(106), 구성요소 표(108), 패밀리 구성요소 표(112), 구성요소 스텝 표(114), 스텝 의존 표(116), 스텝 파라메타 표(118), 구성요소 등급 표(120), 구성요소 클래스속성 표(122) 및 조작자 메시지 표(124)를 포함한다. 바람직한 실시예에서는 각 표는 속성들의 목록을 포함하는데 주요 속성들이 일차 키로서의 역할을 한다.
스텝 표(102)는 모든 컴퓨터 패밀리의 가능한 모든 구성요소에 대한 모든 소프트웨어 설치 및 테스트 스텝을 포함한다. 바람직한 구조에서는, 스텝 표(102)는 StepID, Name, Command, CommandType, AfterActionType, MaxInstance, ClassID 및 DepMask(의존성 표)를 포함하는 속성을 갖는다. StepID는 각 소프트웨어 설치 또는 테스트 스텝에 대한 유일 식별 번호이다. Name은 스텝을 설명하는 명칭을 지정하는 문자열이다. Command는 타겟 시스템(160)(도 1 및 2에 표시된)에 대해 소프트웨어 설치 또는 테스트 스텝을 수행하기 위한 실행 가능한 명령 행을 지정하는 문자열이다. AterActionType은 소프트웨어 설치 또는 테스트 스텝이 실행된 후 정지 또는 재 부팅이 필요한지를 결정하는 식별자이다. MaxInstance는 스텝이 실행될 수 있는 최대 허용 회수를 나타내는 식별자이다. ClassID는 소프트웨어 설치 또는 테스트 스텝과 관련되어 있는 구성요소(예컨대 하드 드라이브, CD 롬 드라이브 등)의 어떤 유형 또는 등급을 식별한다. 끝으로, DepMask는 특정 스텝이 스텝 의존성 및/또는 스텝 파라메타를 갖는지에 관한 정보를 기록하고 스텝 의존성 표(116) 및/또는 스텝 파라메타 표(118)가 입력되어야 할 것인지를 결정한다.
패밀리 표(104)는 속성 FamilyID에 규정된 식별 정수에 의해 컴퓨터 시스템의 각 패밀리를 식별한다. 또한 패밀리 표에는 패밀리의 명칭을 식별하는 문자열이 포함된다. 패밀리 스텝 순서 표(106)는 스텝 표(102)와 패밀리 표(104) 사이의 관계를 포함하는 관계 표이다. 패밀리 스텝 순서 표(106)는 컴퓨터 시스템의 특정 패밀리(패밀리 표(104)로부터)에 대한 속성 패밀리 ID에 규정된 패밀리 식별 정수, 그 패밀리에 적합한 스텝들의 특정 집단을 확인하는 속성 스텝 ID(스텝 표(102)로부터의)에 규정된 스텝 식별 정수 및 순서 번호를 포함한다. 순서 번호는 특정 패밀리와 관련된 스텝이 수행될 소정 순서를 표시하는 속성 스텝 순서 번호 내에 포함되어 있다. 테스트엔지니어는 특정 타겟 시스템을 위해 가장 효과적으로 선정된 순서로 각 제조 스텝 내에서 유일한 순서 번호를 할당한다. 순서 번호를 지정하는 다른 방법도 사용될 수 있음을 이해해야 할 것이다. 끝으로, 패밀리 스텝 순서 표(106)는 스텝 ID를 포함한다. 스텝 ID는 어느 제조 스텝에서 그 스텝이 실행될 것인가를 지정한다. 예컨대 스텝 ID는 상기한 5개의 컴퓨터 시스템 제조 스텝: 즉 신속 테스트(Qt), 확장테스트1(Et1), 확장테스트2(Et2), 소프트웨어 설치(SI) 및 최종 테스트 중의 한 스텝에 해당하도록 선택된 정수이다.
구성요소 표(108)는 제조되는 컴퓨터 시스템 내에 포함되는 모든 가능한 구성요소들을 포함한다. 이 표의 속성들은 각 구성요소에 식별자를 할당하는 구성요소 ID, 각 구성요소에 문자열 명칭을 할당하는 기술어 및 구성요소의 유형(예컨대 하드 드라이브, CD 롬 드라이브)을 언급하는 등급 ID이다.
패밀리 구성요소 표(112)는 컴퓨터 시스템의 각 패밀리 및 그 패밀리에 포함될 수 있는 구성요소들의 집합 사이의 관계를 포함하는 관계 표이다. 패밀리 구성요소 표(112)의 속성에는 속성 패밀리 ID(패밀리 표(104)로부터의)에 규정된 컴퓨터 패밀리 식별 정수 및 속성 구성요소 ID(구성요소 표(108)로부터의)에 규정된 구성요소 식별 정수가 포함된다.
구성요소 스텝 표(114)는 각 구성요소와 그 구성요소에 적합한 소프트웨어 설치 및 테스트 스텝의 집단 사이의 관계를 포함하는 관계 표이다. 구성요소 스텝 표(114)의 속성은 속성 구성요소 ID(구성요소 표(108)로부터의)에 규정된 구성요소 식별 정수 및 속성 스텝 ID(스텝 표(102)로부터의)에 규정된 스텝 식별 정수를 포함한다.
스텝 의존성 표(116)는 가능한 상충성(충돌가능성)에 관한 데이터를 포함한다. 어떤 테스트들은 구성요소들의 어떤 등급, 특정 구성요소들 자체 또는 어떤 제조자로부터의 구성요소들과 상충할 수 있다. 예를 들면, 조립될 타겟 컴퓨터 시스템(160)은 브랜드 A의 하드 드라이브 및 브랜드 B의 CD 롬을 포함할 것이다. 브랜드 A 하드 드라이브는 보통 테스트 C가 행해질 것을 요구할 것이지만 이 테스트 C는 CD 롬 드라이브 B와 양립성이 없을 수 있는 것과 같은, 그런 모든 의존성은 스텝 의존성 표(116)에 기록된다. 이 표에 있어서는, 스텝 ID는 의존성을 가진 스텝을 식별하고, 유형 ID는 그 의존성이 구성요소의 등급에 관계된 것인지 또는 특정 구성요소에 관계된 것이지 하는 것을 나타내고, 객체 ID는 유형 ID의 상태에 따라 등급 ID이거나 또는 구성요소 ID이고, DepType ID는, 특정 스텝이, 상충성이 일어날 때, 유지될 것인지 또는 제거되어야 할 것이지를 표시한다.
스텝 파라메타 표(118)는 어떤 스텝이 필요로 할 파라메타를 확인하는 것으로, 예컨대 어떤 스텝은 특정 길이의 시간동안 진행될 필요가 있거나 또는 특정 반복 회수만큼 진행될 필요가 있을 것이다. 표(118)에서는, 스텝 ID는 유일적으로 특정 설치 또는 테스트 스텝을 확인한다. 파라메타 ID는 그 스텝과 관련된 각 파라메타를 확인하는데, 특정 스텝과 관련하여 둘 이상의 파라메타가 있을 수 있고 각 변수는 그 자체의 파라메타 ID를 가질 것이다. 예컨대, 다른 브랜드의 하드 드라이브의 경우 같은 테스트이면서 다른 파라메타로서 테스트될 수 있을 것이다. 데이터 유형은 각 파라메타에 포함될 데이터의 유형을 식별한다. 위의 예에서, 데이터 유형은 데이터가 백분율로 표시될 것인가 또는 하드 드라이브 ID 코드에 따를 것이지를 규정한다. 내용은 "printf"와 같은 명령과 관련된 C 프로그래밍 언어에서 사용되는 것과 같은 명령 행 스위치이다. 예컨대 내용은 백분율이 이 파라메타에 대해 적당하다는 것을 나타내기 위해 "-%d"일 수 있다. 스텝 순서 번호 및 등급 ID는 이미 상기한 바와 같다.
스텝 파라메타 표(118)는 특정 스텝과 연관된 파라메타의 유형과 수만을 기억하지만 그들 파라메타의 값을 실제로 기억하지는 않는다. 그래서 나중에 설명될 스텝 파일의 형성 중 표(118)는 파라메타 값을 스텝 파일의 명령 행 내에 삽입하지 않는다. 그와는 달리 이 표는 명령 행을 형성 가능하게 하는데 필요한 모든 명세를 포함한다. 파라메타의 값을 계산하여 그것을 실행 중 스텝 파일 명령 행 내에 삽입하는 것은 시퀀싱 프로그램(204)이다. 시퀀싱 프로그램은 기술어 레코드에 포함되어 있는 정보를 기준으로 계산을 수행한다.
스텝 파라메타 표(118)를 갖는 이점은 스텝들과 영구적으로 연관된 파라메타를 가질 필요를 없앰으로써 보다 큰 융통성을 허용하는 것이다. 그래서 표(118)는 기사가 스텝 표(102)를 편집할 필요 없이 파라메타를 용이하게 수정할 수 있게 한다.
구성요소 등급 표(120)는 모든 등급의 구성요소(등급 ID), 예컨대 하드 드라이브, CD 롬 등 및 그들 등급의 간단한 설명(등급 명칭, 설명)의 단순한 목록이다.
구성요소 등급 속성 표(122)는 모든 등급 및 각 등급에 관련된 모든 속성을 수록하고 있다. 속성 ID는 메모리 크기, 동작 속도, 제조자 등과 같은 각 상이한 속성 유형에 할당된 코드인 한편 속성 명칭은 기사의 편의를 위한 보다 설명적인 속성의 명칭이다. 데이터 유형은 특정 속성을 표시하는데 사용된 데이터 유형의 표시이다. 예컨대 속성이 제조자의 명칭인 경우에는 그것은 문자열일수 있고 또는 그것은 속성이 메모리 크기인 경우에는 정수일 수 있다.
구성요소 등급 표(120) 및 구성요소 등급 속성 표(122)는 시퀀싱 프로그램(204)에 의해 활발하게 사용되지 않고 주로 개발 기사에 의해 사용된다. 이들 표는 속성의 어떤 실제의 값을 포함하지는 않는다.
끝으로, 조작자 메시지 표(124)는 수행되는 테스트 및 테스트되는 구성요소에 따라 테스트 조작자를 위한 다수의 메시지를 기억하고 있다. 예컨대 테이프 드라이브를 테스트하기 전 테이프를 투입하라고 조작자에게 일깨우는 프롬프트가 발행될 수 있다.
도 3B에 도시되어 있는 예시적 타겟 컴퓨터 시스템은 상기한 데이터베이스 설계가 소프트웨어 설치 및 테스트 스텝을 검색하는데 어떻게 이용되는가를 예시하는데 이용될 것이다. 패밀리 X를 식별하는 시스템 기술어 레코드에 있는 컴퓨터 패밀리 레코드는 패밀리 표(104)에 있는 패밀리 X에 해당하는 패밀리 ID와 연관되어 있다. 구성요소 표(108)는 타겟 컴퓨터 시스템 주문에 수록된 타겟 컴퓨터 시스템의 구성요소들이 합법적인가를 점검하는데 사용된다. 환언하면, 시퀀싱 프로그램 및 데이터베이스는 도 3B의 시스템 기술어 레코드에 포함된 프로세서, 하드 드라이브, 모니터 및 소프트웨어가 구성요소 표(108)에 구성요소 ID에 의해 규정된 대응 항목 및 대응 번호를 갖고 있는지를 판정한다. 구성요소가 합법적이지 않으면(즉 시스템 기술어 레코드에 있는 구성요소가 구성요소표(108)에 포함되어 있지 않으면), 에러 플래그가 올려진다. 패밀리 구성요소 표(112)는 구성요소 표(108) 및 패밀리 표(104)로부터의 매핑을 포함하는 관계 표이다. 패밀리 구성요소 표(112)는 패밀리 X에 속하는 타겟 컴퓨터 시스템에 포함될 수 있는 모든 합법적 구성요소를 포함한다. 그래서 패밀리 구성요소 표(112)는 타겟 시스템의 모든 구성요소가 합법적인지를 점검하는데 사용될 수 있다. 환언하면, 시퀀싱 프로그램 및 데이터베이스는 도 3B의 시스템 기술어 레코드에 포함된 프로세서, 하드 드라이브, 모니터 및 소프트웨어가 패밀리 구성요소 표(112)에서 대응 관계를 갖고 있는지를 판정한다. 구성요소가 합법적이지 않으면 (즉 시스템 기술어 레코드에 있는 패밀리 X에 속하는 타겟 시스템에 포함될 수 없으면), 에러 플래그가 올려진다.
관계적 패밀리 스텝 순서 표(106)에는, 스텝 표(102)와 패밀리 표(104)로부터의 매핑이 있다(상주한다). 패밀리 스텝 순서 표(106)는 패밀리 X에 속하는 타겟 컴퓨터 시스템에 대해 합법적으로 실행될 수 있는 모든 소프트웨어 설치 및 테스트 스텝을 포함한다. 더욱이, 순서 및 스텝 번호가 각 소프트웨어 설치 및 테스트 스텝과 연관되어 있는 것은 이 패밀리 스텝 순서 표(106) 내이다. 그들 순서 및 스텝 번호는 스텝이 컴퓨터 시스템의 특정 패밀리를 위해 실행될 적당한 순서를 나타낸다. 따라서, 패밀리 스텝 순서 표(106)는 패밀리 X 타겟 컴퓨터 시스템에 실행될 스텝의 목록 및 스텝이 실행될 소정의 순서를 표시하는 순서 및 스텝 번호를 포함한다.
구성요소 스텝 표(114)는 구성요소 표(108) 및 스텝 표(102)로부터의 매핑을 포함하는 관계 표이다. 구성요소 스텝 표(114)는 타겟 컴퓨터 시스템의 프로세서, 하드 드라이브, 모니터 및 소프트웨어에 대해 실행될 소프트웨어 설치 및 테스트 스텝을 포함한다.
타겟 시스템에 포함될 각 구성요소와 관련된 소프트웨어 설치 및 테스트 스텝을 검색하는 것에는, 타겟 컴퓨터 시스템(160)의 구성요소에 대해 실행될 중간 집합 목록 스텝을 얻기 위해 패밀리 구성요소 표(112) 및 구성요소 스텝 표(114)에 대한 결합 명령을 수행하는 것이 포함된다.
결합 명령으로, 도 3B에 표시된 시스템 기술어 레코드에 수록된 프로세서, 하드 드라이브, 모니터 및 소프트웨어에 실행될 스텝들의 목록이 얻어진다. 그런 뒤 패밀리 구성요소 표(112)와 구성요소 스텝 표(114)의 결합물의 결과는 패밀리 X에 대한 모든 스텝을 포함하는 패밀리 스텝 순서 표(106)와 결합된다. 이 합동 명령의 결과는 순서 번호와 스텝 번호의 형태로 된 시퀀싱 정보를 포함하고, 순서 번호는 특정 스텝 별로 유일한 것이다. 그래서 패밀리 구성요소 표(112), 구성요소 스텝 표(114) 및 패밀리 스텝 순서 표(106)의 3 표를 결합하면, 적당한 소프트웨어 설치 및 테스트 스텝 및 타겟 컴퓨터 시스템(160)에 소프트웨어를 설치 및/또는 테스트하기 위한 순서 및 스텝 번호의 형태의 시퀀싱 정보가 얻어진다.
제 1 결합 명령(패밀리 구성요소 표(112)와 구성요소 스텝 표(114)의 결합)의 결과가 공집합이면, 에러 조건이 제기되는데, 그 이유는 공집합은 타겟 시스템에 포함될 구성요소가 시스템 기술어 레코드에 수록된 패밀리에 속하지 않는다는 것을 암시하기 때문이다. 이것의 한 예를 예시한다. 시스템 기술어 레코드가 타겟 컴퓨터 시스템이 패밀리 Y에 속한다는 것을 올바르게 나타낸다고 생각하자. 그러나 시스템 기술어 레코드는, 패밀리 X에 있는 타겟 시스템에만 속하는 하드 드라이브(하드 드라이브 Z)가 패밀리 Y에 있는 타겟 시스템에 포함되어야 한다고 잘못 표시한다고 가정하자. 그 경우에는, 구성요소 스텝 표(114)는 하드 드라이브(Z)와 연관된 스텝을 포함한다. 패밀리 구성요소 표(112)는 패밀리 Y와 연관된 구성요소들을 포함한다. 그래서 구성요소 스텝 표(114)를 패밀리 구성요소 표(112)와 결합하면 공집합이 생성되는데, 그 이유는 하드 드라이브(Z)는 패밀리 Y와 관련된 구성요소가 아니기 때문이다(그 대신에 그것은 단지 패밀리 X와 연관되어 있다). 상기 예로부터 명백한 것처럼, 데이터베이스의 바람직한 설계는 유리하게도, 어떤 패밀리의 타겟 시스템이 그 패밀리에 적합한 구성요소들만을 포함한다는 것을 사람들이 확신할 수 있게 해준다.
다시 도 5A 및 5C에 돌아가서, 타겟 시스템에 포함될 구성요소와 연관된 스텝이 검색된 후, 시퀀싱 프로그램(204)의 모듈(518)은 각 스텝 마다 그 스텝에 대한 DepMask를 조사함으로써 스텝 의존성이 있는지 하는 것을 판정한다. 그렇다면, 모듈(520)은 스텝 의존성 표(116)로부터 의존성을 판독하고 모듈(522)은 DepType ID에 따라 의존성을 해결한다.
다음, 모듈(524)은 다시 그 스텝에 대한 DepMask를 조사함으로써 스텝이 파라메타를 요구하는지를 결정한다. 그런 경우에는, 모듈(526)은 스텝 파라메타 표(118)로부터 파라메타를 판독하고 모듈(528)은 파라메타의 실제 값을 계산하여 그 스텝의 명령 행 내에 삽입한다.
이제 모듈(530)은 시스템 기술어 레코드를 판독하고 타겟 시스템에 포함될 명령에 대응하는 환경 파일을 작성함에 의해 타겟 컴퓨터 시스템에 대한 환경 변수를 준비한다. 예컨대, 도 3 B에 도시된 시스템 기술어 레코드가 판독되고 "cpu=pentium로 설정하라"와 같은 환경 변수가 시스템 기술어 레코드의 프로세서 하드웨어 구성요소에 대응하여 작성될 수도 있을 것이다.
모듈(532)에서는, 상기한 3 표 결합에 의해 검색되고 해결된 의존성 및 부가된 파라메타를 가진, 복수개의 검색된 소프트웨어 설치 및 테스트 스텝은 소정된 순서로 시퀀싱 된다. 이 시퀀싱은 스텝 순서를 제공하기 위해 각 순서 번호 및 스텝 번호에 따른다. 시퀀싱 자체는 당해 분야에 주지된 많은 소팅 알고리즘 중의 하나를 사용하여 수행된다.
모듈(534)에서는, 시퀀싱 프로그램(204)은 앞에서 언급된 스텝 파일 및 Setenv.bat 파일을 출력한다. 스텝 파일은 타겟 컴퓨터 시스템의 제조의 신속 테스트(Qt), 확장 테스트1(ET1), 확장 테스트2(ET2), 소프트웨어 설치(SI) 및 최종 테스트(Ft) 중 각각 실행될 스텝을 포함하는 다수의 서브 파일로 세분된다.
표시된 바와 같이, 도 2의 실시예의 경우에는 모듈(534)은 그대로인 채의 또는 데이터베이스에 있는 출력 파일을 파일 서버(202)에 저장시킨다. 파일 서버(202)에 기입된 출력 파일은 타겟 컴퓨터 시스템(160)에 대한 소프트웨어 설치 및 테스트 스텝의 실행을 지시하는데 사용될 수 있다.
모듈(536)에서는, 스텝 순서는 필요에 따라 스텝 순서 패치를 사용함으로써 수정된다. 바람직한 실시예에서는, 이 패치는 모듈형으로서, 특정 타겟 컴퓨터 시스템, 컴퓨터 시스템의 특정 패밀리 또는 특정 구성요소에 따라 패치가 형성될 수 있다. 예컨대 제조자가 어떤 날짜에 어떤 구성요소에 대해 어떤 한 테스트 스텝을 다른 것보다 먼저 실행하고 싶으면, 순서가 수정될 스텝을 포함하는 모든 스텝 순서를 수정하고 따라서 모듈(536)에서의 실행 순서를 수정할 패치가 형성될 수 있다. 패칭 다음에는, 모듈(538)은 수정된 파일을 그대로 또는 데이터베이스에 넣은 상태로 저장을 위해 파일 서버(202)에 출력한다.
끝으로, 모듈(540)은 도 1, 디스켓(150)에 기입하는 옵션을 준다. 디스켓이 요구되면, 직접 디스켓에 기입하는 대신, 모듈(542)은 메모리 내에 "가상 디스켓"을 형성하고 그런 다음 모듈(544)은 전체 가상 디스켓을 한 번의 작업으로 물리적(실제) 디스켓에 기입하는데, 이렇게 하면 플로피 디스크 드라이브에 기입하는 작동 회수가 감소되기 때문에 프로그램의 전체 작업이 촉진된다.
가상 디스켓은, 각각 물리적 디스켓 위의 물리적 섹터 크기의 크기에 상당하는 메모리 블록의 어레이를 할당함에 의해 물리적 디스켓에 상당하는 메모리를 형성하는 다음 프로그램에 의해 형성된다. 파일 시스템은 FAT12(PC-DOS, MS-DOS, 윈도우즈 95 및 윈도우즈 NT 운영체제에서 사용되는)이다. 첫째 섹터는 디스켓의 부팅 섹터이다. 클러스터란 섹터 조합의 논리적 집결/단위이다. 이 수는 일단 파일 시스템이 초기화되면 고정된다. 예컨대 한 클러스터 크기는 2 섹터이다. 파일 시스템은 섹터가 아니라 오직 클러스터에 의한 할당만을 허용한다. 이 경우 최소 파일은 적어도 1 클러스터(또는 2 섹터)를 소비할 것이다.
시작
메모리 블록의 어레이를 형성한다. 메모리 블록의 수는 파일 시스템이 주어졌을 때 디스켓 위의 물리적 섹터의 수와 같다.
모든 메모리 블록 내용을 영으로 초기화한다.
부트 섹터의 외부 영상만을 복사함으로써 부트 섹터를 초기화 한다. 이 외부 영상은 파일에 저장된다.
FAT 표를 초기화 한다. (파일 시스템에 의해 디스켓 위에 잘 획정된 섹터).
파일 기입 조작이 요구되면.
파일을 판독한다.
요구되는 클러스터를 할당한다.
에러이면, 충분한 공간이 없기 때문에 에러를 가진 기능을 존재시킨다.
할당된 클러스터에 대해 디렉토리 및 FAT 표를 갱신한다.
클러스터에 판독된 내용을 기입한다.
파일 삭제 조작이 요구되면.
주어진 파일에 대한 할당 클러스터를 자유롭게 한다.
해제된 클러스터에 대해 디렉토리 및 FAT 표를 갱신한다.
물리적 디스켓 기입 조작이 요구되면.
디스켓으로부터 부트 섹터의 네 번째 바이트에 기억된 디스켓 사용 계수를 구한다.
그 계수가 >= 최대 계수이면, 에러 이유를 표시하기 위해 에러 코드를 보고한다.
계수가 <최대 계수이면, 계수를 1 만큼 증분시킨다.
계수값을 가상 디스켓 위 부트 섹터의 세 번째 바이트에 기입한다.
메모리 블록을 가상 디스켓으로부터 물리적 디스켓에 기입하고, 데이터를 가진 메모리 블록이 더 이상 잔존하지 않으면 중지한다.
종료.
다시 도 1 및 2로 돌아가, 화살표(130)는 데이터베이스(100)에 수정을 행할 수 있다는 것을 표시한다. 예컨대 컴퓨터 시스템의 새 패밀리가 형성되면, 거기에 따라 데이터베이스(100)를 수정할 수 있다. 보다 상세하게는 새 패밀리는 패밀리 표(104)의 패밀리 ID에서 새로운 패밀리 식별자가 할당되고 새 패밀리의 명칭이 패밀리 표(104)의 명칭 속성에 할당된다. 소프트웨어 설치 및 테스트 스텝의 목록이 패밀리 스텝 순서 표(106)에 부가되는데, 이들 스텝은 새 컴퓨터 시스템 패밀리에 어느 스텝이 또한 어떤 소정 순서로 실행될 필요가 있는가를 표시한다. 컴퓨터 시스템의 새 패밀리가 기존의 패밀리와 몇 가지 유사성을 공유하면, 패밀리 스텝 순서 표(106)에 있는 기존 패밀리에 대한 항목들은 새 패밀리에 대한 항목들을 생성하기 위해 수정될 가능성이 높다. 컴퓨터 시스템의 새 패밀리에 대해 어떤 새 스텝이 형성될 필요가 있으면, 이들 스텝이 스텝 표(102)에 부가된다. 그와 비슷하게 어떤 새 구성요소가 컴퓨터 시스템의 새 패밀리에 부수되면, 그들 구성요소가 구성요소 표(108)에 부가된다. 구성요소 스텝 표(114)는 컴퓨터 시스템의 새 패밀리의 각 구성요소를 소프트웨어 설치 및 테스트에 적합한 스텝과 관련시키기 위해 갱신된다. 새 패밀리가 데이터베이스에 이미 존재하는 구성요소만을 사용하면, 이 표는 수정될 필요가 없다. 패밀리 구성요소 표(112)는 새 패밀리에 포함될 허용된 구성요소의 목록이 데이터베이스에 있도록 갱신된다. 특히, 새 컴퓨터 시스템의 SysID를 각 허용된 구성요소의 구성요소 ID(ComID)와 관련시킬 필요가 있을 것이다. 다시, 이것은, 컴퓨터 시스템의 묵은 패밀리의 기존 항목을 복사하고 그런 뒤 수정함으로써 수행될 수 있다.
바람직한 실시예에 따라 데이터베이스를 구성할 때에는 어떤 중요한 이점이 얻어진다는 것을 이해해야 할 것이다. 특히, 데이터베이스의 모듈 설계는 유리하게도 컴퓨터 시스템의 새 패밀리를 위한 소프트웨어 설치 및 테스트 스텝의 용이한 설정을 허용한다. 부가적으로, 컴퓨터 시스템의 특정 패밀리를 위한 또는 특정 구성요소를 위한 소프트웨어 설치 및 테스트 스텝은 다른 소프트웨어 설치 및 테스트 스텝와는 독립적으로 수정될 수 있다.
타겟 시스템(160)에 스텝 순서를 실행할 때에는 주의를 해야 할 것이다. 소프트웨어 설치 및 테스트 스텝는, 타겟 컴퓨터 시스템에 대응하는 스텝 순서를 판독하고, 해석하고, 실행하는 프로그램을 사용하여 타겟 컴퓨터 시스템(160)에 실행된다. 바람직한 실시예에서는, 이 프로그램은 RunStep(실행 스텝)로 호칭되고 도 1의 실시예에서 스텝 디스크(150) 및 도 2의 실시예에서는 파일 서버(202)에 위치한다.
도 7은 어떤 소프트웨어 설치 및 테스트 스텝이 실행 완료되기 전 스텝 파일에 포함된 스텝 순서의 일부를 보여준다. 상기와 같이, 스텝 순서는 주문 구조 타겟 컴퓨터 시스템의 소프트웨어 설치를 위한 및/또는 테스트하기 위한 명령을 포함한다. 부가적으로, 스텝 파일에 있는 스텝 순서는 일정한 반복 회수만큼 또는 일정한 시간 길이 만큼 명령이 반복될 수 있게 한다. 또한 스텝 파일은 RunStep 프로그램에 의해 무시된 주석을 포함할 것이다. 스텝 파일에서는, 마크 800이 스텝 순서의 필드를 분리하는데 사용되고 있다. 명령은 예컨대 메모리를 테스트하고 소형 컴퓨터 시스템 인터페이스(SCSI) 장치를 테스트하기 위한 명령을 포함한다. 도면으로부터 알 수 있는 것처럼, 각 명령은 특정 테스트 환경에 적합한 '-o'와 같은 스위치를 포함할 것이다. 항목 820은 RunStep 프로그램에 의해 무시된 주석이다. 항목 810c는 시간에 의해 루프 형성되는 명령이다. 바람직한 구성에 있어서는, '시작-시간-루프' 명령은 루프의 시점을 나타낸다. '종료-시간-루프" 명령은 루프의 종점을 나타낸다. '시작-시간-루프' 명령은 루프를 통해 반복할 시간 길이를 표시하는 필드와 조합된다. 여기서 예를 들면, 명령 810c가 1 시간 30 분간 실행된다. 항목 810d는 반복 수에 따라 루프 형성되는 명령이다. 바람직한 실시예에서는, '시작-반복-루프' 명령은 RunStep에 반복 루프가 수행되게 할 것을 명령한다. '종료-반복-루프' 명령은 루프 명령의 종료를 알려준다. 여기서 명령 810d는 3회 실행된다.
도 8 내지 13은 RunStep 프로그램에 대한 흐름도를 보여준다. 대체적으로 말하면, RunStep은 전체 스텝 서브 파일을 메모리 내에 읽어 넣지 않고 한 번에 한 행씩 각 스텝 서브 파일을 처리한다. 각 행에서 RunStep은 그 행 처리를 계속할 것인지를 평가하기 위해 많은 점검을 행한다. 예컨대 RunStep이 앞 행이 실행된 후 착오 조건이 등록되었다는 것을 발견하면, 그것은 프로그램을 계속할 의미가 없다는 것을 안다. 또는, RunStep이 조작자가 스텝 서브 파일을 부정 처리했는지(예컨대 지루한 테스트를 빠뜨리기 위해)를 알기 위해 점검할 수 있고 그런 경우이면 프로그램을 계속하지 않고 그 조작자가 전부 다시 시작하게 할 수도 있다. 그래서, 그 행이 바로 다음에 실행되기에 적당하다고 RunStep이 판정하는 경우에만 스텝 서브 파일의 특정 행이 판독되고, 그렇기 때문에 스텝 서브 파일로부터 라인을 불필요하게 판독하는 일이 없다. 명백히 이것은 시간이 절약되는 특징이다.
도 8은 RunStep의 최고 수준 흐름도이다. 첫째 모듈(900)은 시스템의 상태를 초기화 한다. 이것은 스텝 서브 파일의 어떤 행도 판독되기 전에 수행된다. 이 스텝 중, RunStep은 시스템의 정확한 상태를 알기 위해, 예컨대 마지막 행의 실행에서 착오가 보고되었는지? 재실행을 해야할 것인지 또는 RunStep이 계속해서 다음 행을 읽어도 되겠는지를 알기 위해 여러 환경 변수(설명될 "progress.bat" 파일로부터)를 판독한다.
도 9는 초기화 스텝을 상세히 표시한다. 첫째 모듈(902)은 콘트롤브레이크(통제 파기)를 못하게 하는 것으로, 이것은 조작자가 프로그램으로부터 벗어나 스텝을 우회하지 못하게 한다. 그런 뒤 변수들이 초기화되고(904), 프로그램은 환경으로부터 환경 변수를 판독한다(906). 이들 환경 변수는 progress.bat라 호칭되는 배치 파일에 주로 기억되는데, 이 파일은 메모리에 수용되고 이 파일에는 RunStep이 그 전에 스텝 서브 파일에 행을 실행할 때 기입했을 것이다. progress.bat는 현재의 시스템 상황을 포함하고 나중에 설명될 것처럼(모듈(106), 도 13) 스텝 서브 파일로부터 판독된 각 행에 대해 갱신이 행해진다. progress.bat는, 실행된 마지막 스텝의 행 번호; 어느 실제의 명령이 실행되었는지의 표시; 특정 명령이 시간 루프 이내에서 실행되었다면 얼마만한 시간이 지났는지 하는 것; 어느 테스트 또는 소프트웨어 설치 스텝이 수행되는가 하는 등의 정보를 포함할 것이다.
정보 변수가 모듈(908)에 의해 결정되는 대로 성공적으로 판독되면, 모듈(910)은 로칼 드라이브 상의 모든 파일의 디렉토리 목록을 RunStep이 실행되는 컴퓨터(160 또는 202)의 메모리 내에 읽어 넣는다. 그래서 RunStep이 파일이 로칼 드라이브(모듈(1002), 도 13)에 있는지를 점검하게 될 때 그것은 메모리의 디렉토리 목록을 판독함으로써 이 점검을 행할 수 있고 로칼 드라이브 자체를 탐색할 필요는 없다. 그래서 시간 절약이 된다. RunStep이 모듈(912)이 결정한 대로 성공적으로 디렉토리 목록을 판독하면, 모듈(914)은 현재의 진행 상황을 파악하게 된다. 이 스텝 동안 RunStep은 시스템의 상황, 즉 장애, 재실행 등에 따라 여러 번 플래그를 설정한다. 후속하는 모듈(916,918,920)을 통해 RunStep의 흐름을 결정할 것은 이들 플래그이다. 이들 모듈이 RunStep을 필요한 대로 도 10의 서브루틴 A,B 또는 C내로 인도할 것이다.
도 10(a)에 있어, RunStep이 다음 스텝이 정상적인 프로세스 스텝라고 모듈(916)에서 결정하면 루틴 A가 입력된다. 루틴 A의 첫째 모듈(922)은 여러 검사 합을 검증한다. 이 목적은 스텝 서브 파일에 어떤 부정 처리도 없었음을 확실히 하려는 것으로, 예컨대 RunStep은 어떤 검사 합을 판독하고 그것들을 progress.bat 파일에 기억된 검사 합과의 상관성을 알아보는데, 어떤 차이가 있으면 그것은 허가 받지 않은 사람이 스텝 서브 파일을 수정했다는 것을 나타낼 것이다. 모든 검사 합이 모듈(924)에 의해 결정된 대로 옳으면, 프로그램은 어떤 변수들을 재설정(소거)하고 현재의 시간을 판독한다(모듈(926)).
루틴 B, 도 10(b)는, 환경이 모듈(918)에 의해 결정되는 대로 마지막 스텝이 실행될 필요가 있다고 표시하면, 입력된다. 루틴(B)의 목적은 원한다면 자격 있는 조작자가 프로그램에 개입하여 마지막 스텝을 재실행하지 않을 수 있도록 기회를 주려는 것이다. 그래서 모듈(928)에서는 조작자가 5 초 내에 제조툴(MFGTools)을 선택할 수 있고 그렇지 않으면 재실행이 진행할 것이라는 메시지가 표시된다. 제조 툴은 자격 있는 조작자가 적당한 암호를 가지고 스텝 서브 파일에 개입하여 필요한대로 수정할 수 있는 승인된 방법이다. 모듈(930)은 조작자 응답에 따라 마지막 스텝이 재실행될 것인지를 판정하고 그런 경우에는 모듈(932)은 진행 환경(progress.bat)이 MFGTools를 실행하게 한다.
루틴 C, 도 10(c)는 단순히 진행 환경(progress.bat)이 MFGTools, 모듈(934) 를 실행하게 한다.
도 9에 있어서, 모듈(936)은 장애가 복구되었는지를 결정하고 그렇지 않으면 모듈(938)은 현재의 스텝이 합법적인지를 알아보기 위해 점검한다.
도 8에 되돌아가서, 일단 초기화 모듈(900)이 종료되고 모듈(950)에 의해 결정된 대로 "성공"이 보고되었다면, RunStep은 "프로세스 스텝 파일"인 모듈(952)로 진행한다. RunStep이 이 스텝에 도달했을 때에는, 이것이 스텝 서브 파일의 다음 행으로 진행할 것인지, 그 전의 행을 재실행할 것인지 또는 중지할 것인지를 알 수 있을 만큼 충분한 정보를 환경으로부터 판독했다.
도 11은 모듈(952), "프로세스 스텝 파일"을 보다 상세히 보여준다. 모듈(954)은 제조툴이 선택되었는지 또는 재실행이 요구되는지를 확정한다. 이들 중의 어느 것이 진실이면, 더 이상의 설정은 필요 없고 이 부분의 프로그램은 성공을 보고할 수 있다. 이들 조건 중의 어느 것도 진실이 아니면(즉 RunStep은 이제 스텝 서브 파일의 다음 행으로 갈 것이다) 적당한 기간의 스텝 서브 파일이 모듈(956)에서 열린다. 이것은, RunStep은 실행되는 테스트 또는 소프트웨어 설치의 특정 스텝(즉 신속 테스트, 확장 테스트 등)와 연관된 스텝 서브 파일을 연다는 것을 의미한다.
모듈(958)은 되감기 스텝이 있는지 하는 것을 확인한다. 되감기 스텝은 스텝 중의 하나에 결함이 있는 경우 테스트의 전체 스텝이 반복될 필요가 있는, 즉, 그 스텝에 대해 RunStep이 스텝 서브 파일의 처음으로 되돌아가야 하는 재실행의 특별한 경우이다. RunStep이 되감기 스텝란 것을 확인하면 모듈(960)은 거기에 따라 환경을 설정하고 성공이 보고된다.
그것이 되감기 스텝이 아니면, 모듈(962)은 스텝 서브 파일로부터 다음의 행 번호를 판독하고, 나아가 행 번호를 RunStep이 초기화 스텝에서 판독한 progress.bat에 기억된 것과 비교해 봄으로써 모듈이 방금 판독한 행 번호가 그것이 판독 예상하던 행인지를 점검하는데, 이것은 다시 부정 방지장치이다. 특히, RunStep이 실행되고 있을 때에는, progress.bat는 실행된 마지막 스텝에 관한 정보, 즉 스텝 서브 파일에 있는 행 번호, 실행된 명령의 명령 ID, 및 기타 점검 및 관련 정보와 같은 정보를 포함할 것이다. 모듈(962)에서는, RunStep은 메모리에 포함된 progress.bat 파일을 판독하고 progress.bat에 있어 행 번호에 의해 결정된 스텝 서브 파일의 특정 행수를 건너뛰어 읽을 것이다. 그런 뒤 그것은 그것이 실제로 위치하는 행 번호가 그것이 예상한 행 번호와 일치하는가를 점검한다. 그것은 또한 이 행에서의 명령이 방금 실시 완료된 것으로 들었던 것과 같은 명령인지를 점검하는 것으로, 즉 RunStep은 그것이 현재 위치하는 행이 실행된 실제의 마지막 스텝인지를 검증한다.
모듈(964)에 의해 결정된 대로 그런 것이면, 모듈(966)에서 RunStep은 스텝을 판독하고 다음 스텝을 실행하기 위해 진행 환경을 설정한다. 모듈(968)은 스텝 판독이 타당한지를 점검하고 타당하면 성공을 보고한다. 타당한 스텝 판독이 없으면, RunStep은 모듈(970)에서 사실상 마지막 기간의 스텝 서브 파일의 최종 행에 도달했는지를 점검하고, 도달했으면 RunStep은 모든 테스트가 완료되었음을 나타내기 위해 "모든 스텝 처리됨"의 메시지를 발한다. 그렇지 않은 경우에는 RunStep은 장애를 보고한다.
다른 한편 RunStep의 모듈(964)이 방금 읽은 행 번호가 기대하고 있던 행 번호와 일치하지 않는 것을 보이면, RunStep은 도 12에 표시된 루틴으로 진행한다. 첫째 모듈(972)은 RunStep이 실제 그 마지막 스텝에 대한 스텝 서브 파일의 마지막 행에 도달했는지를 점검한다. 그런 경우이면, 모든 테스트가 완료되었음을 나타내는 메시지가 보고된다. 그렇지 않은 경우이면, 모듈(974)은 스텝 서브 파일의 최종 행이 도달되었는지를 점검한다. 그렇다면, RunStep은 모듈(956)로 복귀하여 다음의 테스트 스텝을 위해 스텝 서브 파일을 연다.
한편, RunStep이 그것이 스텝 서브 파일의 최종이 아닌 것을 확인하면, RunStep은 방금 판독한 행 번호가 그것이 기대하던(메모리의 판독으로부터) 행을 초과하는지 알아보기 위해 모듈(976)에서 점검한다. 행 번호가 초과되면, 이것은 RunStep에게 스텝 서브 파일의 인위적인 부정직이 있었다(예컨대 조작자가 스텝 서브 파일로부터 한 스텝을 제거했다)는 것을 말해주는 것으로 RunStep은 실패를 보고한다. 행 번호가 초과되지 않으면 RunStep은 모듈(962)로 복귀한다.
그 뒤 RunStep은 모듈(990), 도 8에 복귀하고 스텝 서브 파일의 종료를 접하면 그것은 이것을 조작자에게 보고한다. RunStep은 다시 실패가 모듈(992)에서 보고되었나를 점검한다. 그런 경우이면, 이것이 보고되고 RunStep은 퇴출된다.
이 스텝에서는, RunStep은 이미 시스템의 정확한 상황을 판정하고, 곧 스텝을 재실행, 스텝(phase)를 되감기 또는 스텝 서브 파일에서의 다음 스텝을 실행하려는지를 알고 거기에 따라 메모리를 설정했었다. 계속하기 전에 RunStep은 그것이 앞 스텝들에서 습득한 모든 정보들을 저장한다. 이것은 모듈(994)에서 행해지는데 그것은 도 13에 보다 상세히 예시되어 있다.
무엇보다 먼저, 모듈(1000)은 더 이상 필요 없는 모든 파일을 소거할 기회를 갖는다. 그후, 모듈(1002)은 이제 시행하려는 테스트 또는 소프트웨어 설치에 필요한 파일(들)이 로칼 드라이브에 저장되어 있는지 또는 네트워크를 통해 획득될 필요가 있는지를 판정하고 이 정보를 저장한다. 그 다음 모듈(1004, 1006, RunStep)은, RunStep이 처음부터 실행되는 다음 번에 모든 환경 변수가 시스템의 현재 상태를 표현할 수 있게 갱신되어 있도록, 앞 스텝에서 습득한 정보들을 환경 변수(progress.bat에 있는)의 설정에 이용한다.
모듈(1008)에서 기입이 성공적인지 점검을 한 후, RunStep은 모듈(1010)에서 기록 파일을 기재한다. 이것이 성공적이면, 모듈(1012), 재실행이 필요한지가 모듈(1014)에서 결정되고 그것이 필요하면 모듈(1016)은 재실행 파일을 작성한다.
그 뒤 제어는 모듈(1020), 도 8에 복귀하고 실패가 보고되지 않으면, 프로그램은 모듈(966)에서 스텝 서브 파일로부터 판독된 명령 행의 실행이 이루어져야 한다는 것을 표시하는 255 에러 수준으로 빠져나온다(퇴출된다). 이것은 모듈(1022)에서 행해진다. 그런 뒤 RunStep은 다음 스텝(스텝 서브 파일의 행)를 처리하기 위해 시작으로 복귀한다.
허락안된 조작자가 스텝 서브 파일을 부정하게 처리하는 것을 막고 결과적으로 지루한 테스트를 생략하거나 또는 재실행을 회피할 수 있도록 하기 위해 여러 점검이 포함된다는 점에서, RunStep 프로그램은 고수준 보안시스템이라고 볼 수 있을 것이다. 이것은 콘트롤브레이크를 못하게 하고, 여러 간격으로 스텝 서브 파일의 행수를 확인하고, 검사 합을 시스템에 입력함으로써 달성된다. 다른 보안적 특징은, 상기 흐름도에 있어서의 여러 지점에서 RunStep에 의해 결정되는 결함(실패)이 발생될 때에는 언제나, RunStep은 퇴출되고 결함이 판독전용 은폐파일에 기재되고, 그런데 우연한 조작자는 그 파일을 모르고 그것을 찾을 수도 없을 것이고 따라서 무엇이 잘못 되었는지 또한 어떻게 하면 그 장애를 피할 수 있을지 알아내지 못할 것이며, 즉 그는 그 구성요소를 기각하거나 또는 만족될 때까지 재실행하지 않을 수 없을 것이란 점이다.
비록 예시적 실시예가 표시되고 설명되었지만, 상기 발명에서 광범한 수정, 변경 및 치환이 생각될 수 있고 어떤 경우에는 실시예의 일부 특징이 대응하는 다른 특징의 이용 없이 이용될 수 있을 것이다. 따라서 첨부된 청구 범위는 광의적으로 또한 상기한 실시예의 범위와 일치하는 방식으로 해석되는 것이 적당할 것이다.

Claims (25)

  1. 주어진 현장에서 제조되고 있는 모든 컴퓨터 시스템의 모든 구성요소에 대한 실질적으로 모든 소프트웨어 설치 및/또는 테스트 스텝을 포함하는 스텝 표;
    그 현장에서 제조되고 있는 모든 컴퓨터 시스템 내에 포함되는 실질적으로 모든 구성요소를 포함하는 구성요소 표; 및
    그 스텝들에 해당하는 것이 아닌 컴퓨터 시스템 내의 구성요소의 존재와 양립할 수 없는 스텝 표의 스텝들을 식별하는 스텝 의존성 표를 포함하고 있는 컴퓨터 시스템의 제조에 사용될 장치.
  2. 제 1 항에 있어서, 파라메타를 요구하는 스텝 표의 스텝들을 식별하는 스텝 파라메타 표를 추가로 포함하고 있는 장치.
  3. 제 1 항에 있어서, 스텝 표는 스텝이 스텝 의존성 표 내에 대응하는 항목을 갖고 있다는 것을 표시하는 속성을 포함하고 있는 장치.
  4. 제 2 항에 있어서, 스텝 표는 스텝이 스텝 파라메타 표 내에 대응하는 항목을 갖고 있다는 것을 표시하는 속성을 포함하고 있는 장치.
  5. 제 1 항에 있어서, 스텝 표는 각 소프트웨어 설치 또는 테스트 스텝에 대한 유일한 식별자인 속성을 포함하고 있는 장치.
  6. 제 1 항에 있어서, 스텝 표는 소프트웨어 설치 스텝을 수행하기 위한 실행 가능 명령 행에 대응하는 속성을 포함하고 있는 장치.
  7. 제 1 항에 있어서, 스텝 표는 해당하는 스텝이 실행된 뒤 중지 또는 재부팅이 요구되는지를 식별하는 속성을 포함하고 있는 장치.
  8. 제 1 항에 있어서, 스텝 표는 해당하는 스텝이 실행할 수 있는 최대 회수를 표시하는 속성을 포함하고 있는 장치.
  9. 제 1 항에 있어서, 스텝 표는 소프트웨어 설치 또는 테스트 스텝과 연관된 구성요소의 등급을 식별하는 속성을 포함하고 있는 장치.
  10. 제 1 항에 있어서, 구성요소 표는 구성요소 표 내의 각 구성요소를 식별하는 속성을 포함하고 있는 장치.
  11. 제 1 항에 있어서, 구성요소 표는 구성요소의 등급을 식별하는 속성을 포함하고 있는 장치.
  12. 제 1 항에 있어서, 컴퓨터 시스템은 컴퓨터 시스템의 패밀리의 하나에 해당하고, 장치는 추가로 패밀리 표, 패밀리-스텝 관계 표, 패밀리-구성요소 관계 표, 및 구성요소-스텝 관계 표를 포함하며, 패밀리 표는 제조되고 있는 컴퓨터 시스템의 패밀리를 확인하고, 패밀리-스텝 관계 표는 소프트웨어 설치 및/또는 테스트 스텝들의 집합과 컴퓨터 시스템의 각 패밀리 사이의 관계를 확인하고, 패밀리-구성요소 관계 표는 컴퓨터 시스템의 패밀리와 구성요소들의 집합 사이의 관계를 확인하고, 구성요소-스텝 관계 표는 한 구성요소와 그 대응 구성요소에 적합한 소프트웨어 설치 및/또는 테스트 스텝 사이의 관계를 확인하는 장치.
  13. 제 12 항에 있어서, 패밀리-스텝 관계 표는 패밀리와 연관된 스텝이 실행될 소정된 순서를 표시하는 속성을 포함하는 장치.
  14. 주어진 현장에서 제조되고 있는 모든 컴퓨터 시스템의 모든 구성요소에 대한 실질적으로 모든 소프트웨어 설치 및/또는 테스트 스텝을 포함하는 스텝 표;
    그 현장에서 제조되고 있는 모든 컴퓨터 시스템 내에 포함되는 실질적으로 모든 구성요소를 포함하는 구성요소 표; 및
    파라메타를 요구하는 스텝 표의 스텝들을 식별하는 스텝 파라메타 표를 포함하고 있는 컴퓨터 시스템의 제조에 사용될 장치.
  15. 제 14 항에 있어서, 스텝 표는 스텝이 스텝 파라메타 표 내에 대응하는 항목을 갖고 있다는 것을 표시하는 속성을 포함하고 있는 장치.
  16. 제 14 항에 있어서, 스텝 표는 각 소프트웨어 설치 또는 테스트 스텝에 대한 유일한 식별자인 속성을 포함하고 있는 장치.
  17. 제 1 항에 있어서, 스텝 표는 제조의 어느 기간에 스텝이 실행될 것인가를 표시하는 속성을 포함하고 있는 장치.
  18. 제 14 항에 있어서, 스텝 표는 소프트웨어 설치 스텝을 수행하기 위한 실행 가능한 명령 행에 대응하는 속성을 포함하고 있는 장치.
  19. 제 14 항에 있어서, 스텝 표는 해당하는 스텝이 실행된 뒤 중지 또는 재부팅이 요구되는지를 식별하는 속성을 포함하고 있는 장치.
  20. 제 14 항에 있어서, 스텝 표는 해당하는 스텝이 실행할 수 있는 최대 회수를 표시하는 속성을 포함하고 있는 장치.
  21. 제 14 항에 있어서, 스텝 표는 소프트웨어 설치 또는 테스트 스텝과 연관된 구성요소의 등급을 식별하는 속성을 포함하고 있는 장치.
  22. 제 14 항에 있어서, 구성요소 표는 구성요소 표 내의 각 구성요소를 식별하는 속성을 포함하고 있는 장치.
  23. 제 14 항에 있어서, 구성요소 표는 구성요소의 등급을 식별하는 속성을 포함하고 있는 장치.
  24. 제 14 항에 있어서, 컴퓨터 시스템은 컴퓨터 시스템의 패밀리의 하나에 해당하고, 장치는 추가로 패밀리 표, 패밀리-스텝 관계 표, 패밀리-구성요소 관계 표, 및 구성요소-스텝 관계 표를 포함하며, 패밀리 표는 제조되고 있는 컴퓨터 시스템의 패밀리를 확인하고, 패밀리-스텝 관계 표는 소프트웨어 설치 및/또는 테스트 스텝들의 집합과 컴퓨터 시스템의 각 패밀리 사이의 관계를 확인하고, 패밀리-구성요소 관계 표는 컴퓨터 시스템의 패밀리와 구성요소들의 집합 사이의 관계를 확인하고, 구성요소-스텝 관계 표는 한 구성요소와 그 대응 구성요소에 적합한 소프트웨어 설치 및/또는 테스트 스텝 사이의 관계를 확인하는 장치.
  25. 제 24 항에 있어서, 패밀리-스텝 관계 표는 패밀리와 연관된 스텝이 실행될 소정의 순서를 표시하는 속성을 포함하는 장치.
KR1019990022437A 1999-06-16 1999-06-16 컴퓨터 시스템의 제조에 사용하기 위한 장치 KR20010002571A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990022437A KR20010002571A (ko) 1999-06-16 1999-06-16 컴퓨터 시스템의 제조에 사용하기 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990022437A KR20010002571A (ko) 1999-06-16 1999-06-16 컴퓨터 시스템의 제조에 사용하기 위한 장치

Publications (1)

Publication Number Publication Date
KR20010002571A true KR20010002571A (ko) 2001-01-15

Family

ID=37514233

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990022437A KR20010002571A (ko) 1999-06-16 1999-06-16 컴퓨터 시스템의 제조에 사용하기 위한 장치

Country Status (1)

Country Link
KR (1) KR20010002571A (ko)

Similar Documents

Publication Publication Date Title
US6327706B1 (en) Method of installing software on and/or testing a computer system
KR100513551B1 (ko) 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트방법및 시스템
US6279156B1 (en) Method of installing software on and/or testing a computer system
KR100655124B1 (ko) 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트를촉진하는 데이타베이스
JP4531875B2 (ja) ソフトウェア設置および注文組込みコンピュータシステムのテスト方法
US6247128B1 (en) Computer manufacturing with smart configuration methods
US6598223B1 (en) Method and system for installing and testing build-to-order components in a defined configuration computer system
US7516367B1 (en) Automated, distributed problem determination and upgrade planning tool
US6615406B1 (en) Apparatus for use in the manufacture of a computer system
EP0707264A2 (en) System and method for determining whether a software package conforms to packaging rules and requirements
US6279155B1 (en) Method of installing software on and/or testing a computer system
AU3583999A (en) A method of installing software on and/or testing a computer system
KR20010002572A (ko) 컴퓨터 시스템에 소프트웨어의 설치 및/또는 테스트방법
KR20010002571A (ko) 컴퓨터 시스템의 제조에 사용하기 위한 장치
JP2001022559A (ja) コンピュータシステムのソフトウエアインストールおよび、または試験方法
GB2353374A (en) Control of installation of software on and/or the testing of a computer system
KR20010002573A (ko) 컴퓨터 시스템으로의 소프트웨어 설치 및/또는 테스팅 방법
AU3584099A (en) Apparatus for use in the manufacture of a computer system
IE990263A1 (en) A Method of Installing Software on and/or Testing a Computer System
IE990261A1 (en) A method of installing software on and/or testing a computer system which includes checks for compatibility
IE990262A1 (en) A Method of Installing Software on and/or Testing a Computer System
GB2353375A (en) A method of installing software on and/or testing a computer system which includes checks for compatibility
JP2001014146A (ja) コンピュータシステムのソフトウェアインストールおよび、または試験方法
JP2001014182A (ja) コンピュータシステムの製造において使用される装置
IE83246B1 (en) Control of installation of software on and/or the testing of a computer system

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination