KR20010002572A - A method of installing software on and/or testing a computer system - Google Patents
A method of installing software on and/or testing a computer system Download PDFInfo
- Publication number
- KR20010002572A KR20010002572A KR1019990022438A KR19990022438A KR20010002572A KR 20010002572 A KR20010002572 A KR 20010002572A KR 1019990022438 A KR1019990022438 A KR 1019990022438A KR 19990022438 A KR19990022438 A KR 19990022438A KR 20010002572 A KR20010002572 A KR 20010002572A
- Authority
- KR
- South Korea
- Prior art keywords
- computer system
- component
- software
- steps
- database
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 컴퓨터 시스템에 소프트웨어의 설치 및/또는 테스트방법에 관한 것이다.The present invention relates to a method of installing and / or testing software on a computer system.
본 출원은 리차드 디. 암버어그, 로저 더블유. 우옹 및 마이클 에이. 브런드리지를 발명자로 하여 1998년 7월 16일 출원된 "주문제작 컴퓨터 시스템을 위한 소프트웨어 설치 및 테스트"란 명칭의 동시 계류중인 한국 특허출원 제 1998-28796 호와 관련이 있다.This application is directed to Richard D .. Amberg, Roger W. Wooong and Michael A. It is related to the co-pending Korean patent application No. 1998-28796, entitled "Software Installation and Testing for Custom Computer Systems," filed July 16, 1998, by inventor Brodridge.
본 출원은 리차드 디. 암버어그, 로저 더블유. 우옹 및 마이클 에이. 브런드리지를 발명자로 하여 1998년 7월 16일 출원된 "주문제작 컴퓨터 시스템을 위한 소프트웨어 설치 및 테스트"란 명칭의 동시 계류중인 한국 특허출원 제 1998-28797 호와 관련이 있다.This application is directed to Richard D .. Amberg, Roger W. Wooong and Michael A. It is associated with a co-pending Korean patent application No. 1998-28797 filed July 16, 1998, filed by Brundridge as inventors of "Software Installation and Testing for Custom Computer Systems."
본 출원은 리차드 디. 암버어그, 로저 더블유. 우옹 및 마이클 에이. 브런드리지를 발명자로 하여 1998년 7월 16일 출원된 "주문제작 컴퓨터 시스템을 위한 소프트웨어 설치 및 테스트를 용이하게 하기 위한 데이터베이스"란 명칭의 동시 계류중인 한국 특허 출원 제 1998-28798 호와 관련이 있다.This application is directed to Richard D .. Amberg, Roger W. Wooong and Michael A. Related to co-pending Korean patent application No. 1998-28798, entitled "Database for Facilitating Software Installation and Testing for Custom Computer Systems," filed July 16, 1998, as inventor by Brundridge .
이들 계류중인 출원은 본 명세서에 그 전체가 참고로 통합되어 있고 그 출원들은 본원의 출원인에게 양도되었다.These pending applications are hereby incorporated by reference in their entirety and the applications are assigned to the applicant of the present application.
일반적인 퍼스널 컴퓨터 시스템 그리고 특히 IBM 호환성 퍼스널 컴퓨터 시스템은 사회 각 분야에 계산력을 제공하기 위해 널리 사용되게 되었다. 퍼스널 컴퓨터 시스템은 보통 시스템 프로세서 및 연관된 휘발성 및 비휘발성 메모리, 디스플레이 모니터, 키보드, 하나 또는 그 이상의 디스켓 드라이브, 고정 디스크 기억장치 및 선택적으로는 프린터를 가진 시스템 유닛을 포함하는 데스크 탑, 바닥 설치, 또는 휴대용 마이크로컴퓨터로 정의될 수 있다.General personal computer systems, and in particular IBM compatible personal computer systems, have become widely used to provide computing power in various fields of society. A personal computer system usually includes a system processor and associated volatile and nonvolatile memory, a display monitor, a keyboard, one or more diskette drives, fixed disk storage, and optionally a desktop, floor mount, or optionally a system unit with a printer. It can be defined as a portable microcomputer.
컴퓨터 시스템이 사업 고객 또는 개인 고객에게 출하되기 전에 소프트웨어를 설치하고 그것에 대한 테스트를 행하는 것은 이미 알려져 있다. 소프트웨어 설치 및 테스트의 목적은 기업 또는 개인에게 착오없이 또한 바로 작동될 수 있도록 배달될 수 있는 유용하고 신뢰성 있는 컴퓨터 시스템을 효율적으로 생산하기 위한 것이다. 일반적으로, 테스트는 컴퓨터 시스템의 하드웨어 및 소프트웨어 부분에서 일어나는 오류를 검출하고 분석한다. 컴퓨터 시스템 하드웨어 테스트들의 일부 목록에는 프로세서, 메모리, 디스크 기억장치, 오디오장치, 그래픽 치, 키보드, 마우스 및 프린터와 같은 하드웨어 구성요소들을 진단하는 것이 포함된다. 소프트웨어 설치에는 가끔 소망하는 소프트웨어의 패키지를 컴퓨터 시스템에 로드하고, 컴퓨터를 위한 적당한 환경변수들을 준비하고, 로드된 소프트웨어를 위한 적당한 초기화 파일을 준비하는 것이 포함된다. 소프트웨어 테스트에는 흔히 소망하는 소프트웨어 버전이 컴퓨터 시스템에 설치되었는지 또한 적당한 드라이브가 컴퓨터 시스템에 존재하는 지를 확실하게 하는 것이 포함된다.It is already known to install software and test it before a computer system is shipped to a business or individual customer. The purpose of software installation and testing is to efficiently produce a reliable and useful computer system that can be delivered to businesses or individuals to be operated without error. In general, tests detect and analyze errors that occur in the hardware and software portions of computer systems. Some lists of computer system hardware tests include diagnosing hardware components such as processors, memory, disk storage, audio devices, graphics devices, keyboards, mice, and printers. Software installation sometimes involves loading a package of desired software onto a computer system, preparing appropriate environment variables for the computer, and preparing an appropriate initialization file for the loaded software. Software testing often involves ensuring that the desired software version is installed on a computer system and that a suitable drive is present on the computer system.
제조하는 동안 컴퓨터 시스템이 고객에게 출하되기 전에 고정된 절차를 수행함에 의해 소프트웨어를 설치하고 컴퓨터 시스템을 테스트하는 것이 당해 산업 분야에서는 알려져 있다. 예를 들면, 특정 유형의 컴퓨터 시스템에 대한 특정의 진단 테스트 방법을 수용하는 디스켓이 만들어진다. 그 디스켓은 소프트웨어 설치 및 진단 과정을 지시하는 길고 가끔은 복잡한 배치파일을 포함한다. 그 디스켓은 다시 구입되는 컴퓨터 시스템에 대한 테스트를 행하기 위한 모든 실행가능 파일을 포함한다.It is known in the industry to install software and test computer systems by performing a fixed procedure before the computer system is shipped to a customer during manufacturing. For example, a diskette is created that accommodates certain diagnostic test methods for certain types of computer systems. The diskette contains a long and sometimes complex batch file that directs the software installation and diagnostics process. The diskette contains all of the executable files for testing the computer system being purchased again.
제조되는 각 컴퓨터 시스템에는 이 디스켓의 각 복사물이 제공된다. 이들 디스켓은 제조공정 중 공장 작업장 둘레 여기 저기로 제조되는 컴퓨터 시스템에 동행하고 배치 파일에 고유한 순서에 따라 각 컴퓨터 시스템에 대해 테스트가 행해진다. 공정에 수정을 가할 필요가 있으면, 이에 대응하여 배치코드로부터 일부를 더하거나 제거하여 배치파일을 수정한다. 그렇게 배치파일을 수정하면 제조되는 각 후속 컴퓨터 시스템의 테스트 파라메타(테스트를 행하는 순서를 포함하여)도 대응적으로 변화가 생기는데, 그 이유는 각 컴퓨터 시스템은 같은 배치파일 진단절차를 공유하고 있기 때문이다.Each computer system being manufactured is provided with a copy of this diskette. These diskettes accompany computer systems that are fabricated around the factory floor during the manufacturing process and are tested for each computer system in an order specific to the batch file. If you need to make modifications to the process, modify the batch file by adding or removing some from the batch code in response. Modifying the batch file in this way also changes the test parameters (including the order in which the tests are performed) of each subsequent computer system being manufactured, because each computer system shares the same batch file diagnostic procedures. .
이런 종류의 진단 조치는 출하 전 컴퓨터 시스템의 신뢰성을 증가시키는데 어느 정도의 유용성을 보였지만, 아직 개선할 여지는 많다. 예컨대 테스트가 계속하여 복잡하고 철저해짐에 따라, 진단 테스트의 배치파일 및 실행가능 파일은 흔히 디스켓의 기억 용량을 초과하게 된다. 또한 다른 컴퓨터 시스템 또는 컴퓨터 시스템 패밀리에 대한 테스트를 수정하지는 않고 단일의 주문제작 컴퓨터 시스템 또는 특정 컴퓨터 시스템 패밀리에 대해서만 테스트 및 소프트웨어 설치 절차를 개별화(주문화)하는 것은 어렵거나 불가능하다. 더욱이, 다른 컴퓨터 시스템 또는 컴퓨터 시스템 패밀리에 대한 주문을 수정하지는 않고 단일의 주문 제조 컴퓨터 시스템 또는 특정 컴퓨터 시스템 패밀리의 소프트웨어 설치 및 테스트의 주문을 수정하는 것은 어렵거나 불가능하다. 끝으로, 그때의 배치파일 구조가 가끔 복잡성이 있어 제조자가 문제점 추적을 한다거나 또는 테스트 및 소프트웨어 설치절차를 신속하고 효율적으로 유지하기가 곤란해진다.This kind of diagnostic measures has shown some usefulness in increasing the reliability of computer systems before shipping, but there is still room for improvement. For example, as tests continue to be complex and thorough, batch and executable files of diagnostic tests often exceed the storage capacity of the diskette. In addition, it is difficult or impossible to customize the test and software installation procedures for a single custom computer system or a specific computer system family without modifying the tests for other computer systems or computer system families. Moreover, it is difficult or impossible to modify the order of software installation and testing of a single custom made computer system or a particular computer system family without modifying the order for another computer system or computer system family. Finally, the batch file structure at that time is sometimes complex, making it difficult for the manufacturer to track down problems or maintain test and software installation procedures quickly and efficiently.
따라서 요구되는 것은 선행 기술에 개선을 제공할 수 있는 컴퓨터 시스템에 대한 소프트웨어의 설치 및/또는 테스트방법을 제공하는 것이다.What is required, therefore, is to provide a method of installing and / or testing software for a computer system that can provide improvements to the prior art.
도 1은 소프트웨어 설치 및 테스트를 보여주는 개략도이고,1 is a schematic diagram illustrating software installation and testing,
도 2는 다른 실시예에 의한 소프트웨어 설치 및 테스트를 보여주는 개략도이고,2 is a schematic diagram showing software installation and testing according to another embodiment;
도 3A는 본 발명에 따라 컴퓨터 주문을 시스템 기술어 레코드로 변환하는 흐름도이고,3A is a flow diagram of converting a computer order into a system descriptor record in accordance with the present invention;
도 3B는 예시적 컴퓨터 주문, 기본 조립 레코드(BAR) 파일 및 시스템 기술어 레코드의 일부를 보여주고,3B shows a portion of an example computer order, basic assembly record (BAR) file, and system descriptor record,
도 4는 스텝 순서를 작성 및 제공하기 위한 흐름도이고,4 is a flowchart for creating and providing a step sequence;
도 5A는 도 5B 및 5C 사이의 관계의 개략적 예시도이고,5A is a schematic illustration of the relationship between FIGS. 5B and 5C;
도 5B는 스텝 순서를 작성하기 위한 보다 상세한 흐름도의 제 1 부분이고,5B is the first part of a more detailed flow chart for creating the step sequence;
도 5C는 스텝 순서를 작성하기 위한 보다 상세한 흐름도의 제 2 부분이고,5C is the second part of a more detailed flow chart for creating the step sequence;
도 6은 데이터베이스의 구조를 보여주고,6 shows the structure of a database,
도 7은 스텝 파일의 일부의 예이고,7 is an example of a part of a step file,
도 8 내지 13은 스텝 순서를 실행하기 위한 프로그램의 작동의 흐름도이다.8 to 13 are flowcharts of the operation of the program for executing the step sequence.
본 발명의 한 특징에 따르면,According to one feature of the invention,
컴퓨터 판독가능 파일로부터 컴퓨터시스템의 각 구성요소를 기술하는 복수의 구성요소 기술어를 판독하는 단계,Reading a plurality of component descriptors describing each component of the computer system from the computer readable file,
데이터베이스로부터 구성요소 기술어에 대응하고 각각의 시퀀스번호를 포함하는 복수의 스텝을 판독하는 단계,Reading a plurality of steps corresponding to the component descriptors from the database and including respective sequence numbers,
컴퓨터시스템에 소프트웨어를 설치 및/또는 테스트하도록 하는 명령어를 포함하는 스텝시퀀스를 제공하도록, 시퀀스번호에 따른 소정의 순서로 복수의 스텝을 시퀀싱하는 단계로 이루어지며,Sequencing the plurality of steps in a predetermined order according to the sequence number to provide a step sequence including instructions for installing and / or testing software on the computer system,
데이터베이스로부터 판독된 각각의 스텝에 대하여, 데이터베이스로부터의 스텝에 관련된 데이터로부터 판단하는 단계를 더 포함하여, 스텝에 관련된 구성요소 기술어에 해당하지 않는 다른 구성요소의 컴퓨터시스템 내의 존재와 그 스텝이 양립하지 않으면, 데이터베이스의 스텝에 관련된 추가적인 데이터에 따라 그 스텝을 포기하거나 하지 않도록 하는 것을 특징으로 하는 컴퓨터시스템에 대한 소프트웨어의 설치 및/또는 테스트방법이 제공된다.For each step read from the database, further comprising the step of judging from data related to the step from the database, the step being compatible with the presence in the computer system of another component that does not correspond to the component descriptor associated with the step. Otherwise, there is provided a method of installing and / or testing software for a computer system, characterized in that it does not give up the step in accordance with additional data related to the step of the database.
본 발명의 다른 특징에 따르면,According to another feature of the invention,
컴퓨터 판독가능 파일로부터 컴퓨터시스템의 각 구성요소를 기술하는 복수의 구성요소 기술어를 판독하는 단계,Reading a plurality of component descriptors describing each component of the computer system from the computer readable file,
데이터베이스로부터 구성요소 기술어에 대응하고 각각의 시퀀스번호를 포함하는 복수의 스텝을 판독하는 단계,Reading a plurality of steps corresponding to the component descriptors from the database and including respective sequence numbers,
컴퓨터시스템에 소프트웨어를 설치 및/또는 테스트하도록 하는 명령어를 포함하는 스텝시퀀스를 제공하도록, 시퀀스번호에 따른 소정의 순서로 복수의 스텝을 시퀀싱하는 단계로 이루어지며,Sequencing the plurality of steps in a predetermined order according to the sequence number to provide a step sequence including instructions for installing and / or testing software on the computer system,
데이터베이스로부터 판독된 각각의 스텝에 대하여, 데이터베이스로부터의 스텝에 관련된 데이터로부터 판단하는 단계를 더 포함하여, 그 스텝이 파라메타를 요구하면, 데이터베이스의 그 스텝에 관련된 추가적이 데이터에 따라 그 파라메타를 계산하는 것을 특징으로 하는 컴퓨터시스템에 대한 소프트웨어의 설치 및/또는 테스트방법이 제공된다.For each step read from the database, further comprising determining from data related to the step from the database, if the step requires a parameter, calculating the parameter according to additional data related to that step in the database. A method of installing and / or testing software for a computer system is provided.
이하에서 본 발명의 바람직한 실시예가 도면을 참조하여 설명된다. 다음 설명은 예시를 위한 것으로 한정적인 것으로 해석해서는 안 될 것이다. 도면에 있어서는, 같거나 유사한 요소들은 같은 부재 번호로 표시될 것이다. 설명에서는, 모듈은 명령 또는 명령의 집합으로 정의된다.Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. The following description is for illustrative purposes and should not be construed as limiting. In the drawings, same or similar elements will be represented by the same part number. In the description, a module is defined as an instruction or set of instructions.
도 1은 컴퓨터 시스템 제조 장소에 있어 소프트웨어 설치 및 테스트 시스템(90)의 개략도이다. 작동에 있어서는, 주문제작 타겟 컴퓨터 시스템(160)을 구입하기 위해 주문(92)을 행한다. 타겟 시스템(160)은 복수개의 하드웨어 및 소프트웨어를 포함하도록 제조될 것이다. 예컨대 타겟 시스템(160)은 어떤 브랜드의 하드 드라이브, 특정 유형의 모니터, 특정 브랜드의 프로세서 및 특정 버전의 운영체제를 포함할 것이다. 타겟 시스템(160)이 고객에게 출하되기 전에, 복수개의 구성요소가 설치되고 테스트된다. 그런 소프트웨어 설치 및 테스트으로 인해 받자마자 바로 작동될 수 있는 신뢰성 있는 실용 컴퓨터 시스템이 유리하게도 보장된다.1 is a schematic diagram of a software installation and test system 90 at a computer system manufacturing site. In operation, an order 92 is placed to purchase a customized target computer system 160. Target system 160 will be manufactured to include a plurality of hardware and software. For example, target system 160 may include a brand of hard drive, a particular type of monitor, a brand of processor, and a particular version of an operating system. Before the target system 160 is shipped to the customer, a plurality of components are installed and tested. Such software installation and testing advantageously ensures a reliable utility computer system that can be operated immediately upon receipt.
상이한 패밀리의 컴퓨터 시스템 및 상이한 개별적 컴퓨터 구성요소는 상이한 소프트웨어 설치 및 테스트 스텝을 필요로 하기 때문에, 타겟 시스템(160)에 대해 어떤 테스트를 할 필요가 있고 그들 테스트를 어떤 순서로 수행해야만 효과적인 소프트웨어 설치 및 테스트과정을 달성하겠는가를 결정할 필요가 있다. 스텝 메이커(140)는 타겟 시스템(160)에 소프트웨어 설치 및 테스트 스텝이 순차로 행해지게 하도록 구성된 컴퓨터 시스템이다. 소프트웨어 설치 및/또는 테스트 스텝을 순차로 시행하기 위해, 스텝 메이커(140), 보다 상세하게는 스텝 메이커(140)에 있는 시??싱 프로그램(204)은 먼저 기술어 파일(96)로부터 복수개의 구성요소 기술어를 판독한다. 기술어 파일(96)은 소망하는 구성요소들을 가진 소망하는 컴퓨터 시스템에 해당하는 주문(92)을 변환 모듈(94)을 통해 컴퓨터 판독 가능 양식으로 변환함에 의해 제공된다.Because different families of computer systems and different individual computer components require different software installation and testing steps, some tests need to be performed on the target system 160 and the tests must be performed in any order to ensure effective software installation and You need to decide whether you want to achieve the test process. Step maker 140 is a computer system configured to cause software installation and test steps to be performed sequentially on target system 160. In order to perform the software installation and / or test steps sequentially, the step program 140, more specifically, the sequencing program 204 in the step maker 140, first starts from the descriptor file 96. Read the component descriptors. The descriptor file 96 is provided by converting the order 92 corresponding to the desired computer system with the desired components into a computer readable form via the conversion module 94.
구성요소 기술어는 그 구성요소들이 주문(92)에 의해 정해지는 타겟 시스템(160)의 구성요소들에 대한 컴퓨터가 판독 가능한 기술(설명)이다. 바람직한 실시예에서는, 구성요소 기술어는, 타겟 시스템(160)에 설치될, 구성요소들, 곧 하드웨어 및/또는 소프트웨어 구성요소들의 목록을 포함하는 컴퓨터 판독 가능 파일인 시스템 기술어 레코드로 호칭되는 기술어 파일에 포함되어 있다. 복수개의 구성요소 기술어를 판독한 후, 시퀀싱 프로그램(204)은 네트워크 접속(110)를 통해 데이터베이스(100)로부터 구성요소 기술어에 해당하는 복수개의 소프트웨어 설치 및/또는 테스트 스텝을 검색한다. 네트워크 접속(110)은 논리 영역 망, 인트라넷 또는 인터넷과 같은 당해 분야에서 주지되어 있는 어떤 네트워크 접속일 수도 있다. 데이터베이스(100)에 포함된 정보는 화살표(130)로 표시된 수정을 통해 갱신될 수 있다.Component descriptors are computer readable descriptions of the components of the target system 160 whose components are defined by the order 92. In a preferred embodiment, the component descriptor is a descriptor called a system descriptor record, which is a computer readable file containing a list of components, that is hardware and / or software components, to be installed on the target system 160. It is included in the file. After reading the plurality of component descriptors, the sequencing program 204 retrieves a plurality of software installation and / or test steps corresponding to the component descriptors from the database 100 via the network connection 110. Network connection 110 may be any network connection well known in the art, such as logical area networks, intranets or the Internet. Information included in the database 100 may be updated through the modification indicated by the arrow 130.
타겟 시스템(160)에 적합한 소프트웨어 설치 및/또는 테스트 스텝을 검색한 후, 시퀀싱 프로그램(204)은 각 스텝에 해당하는 순서 번호에 따라 소정의 순서로 스텝들을 시퀀싱 한다. 타겟 시스템(160)에 요구되는 스텝들을 시퀀싱한 후, 시퀀싱 프로그램(204)은 스텝 디스크(150)에 일련의 출력 파일을 기록해 보낸다. 도 1에 도시된 실시예에 있어서는, 출력 파일은 타겟 시스템(160)에 대해 적당한 소프트웨어 설치 및/또는 테스트 스텝을 실시하기에 적합한 명령 행을 포함하는 텍스트 파일들을 포함한다. 실행은 각 스텝에 해당하는 순서 번호에 따른 소정의 순서로 행해진다. 스텝 디스크(150)는 공장 작업장에서 타겟 시스템(160)에 동행하며 거기에서 테스트는 직접 스텝 디스크(150)로부터 행해지거나 또는 네트워크 접속(180)을 통해 타겟 시스템(160)에 연결된 파일 서버(190)로부터 행해진다. 바람직하게는 네트워크 접속(180)는 타겟 컴퓨터 시스템의 대응하는 네트워크 포트 내에 끼워지는 일반적 네트워크 장치이다. 소프트웨어 설치 및 테스트 스텝을 수행한 후, 설치 및 테스트의 결과는 네트워크 접속(180)을 통해 파일 서버(190)에 도루 기록된다.After searching for software installation and / or test steps suitable for the target system 160, the sequencing program 204 sequences the steps in a predetermined order according to the sequence number corresponding to each step. After sequencing the steps required for the target system 160, the sequencing program 204 writes a series of output files to the step disk 150. In the embodiment shown in FIG. 1, the output file includes text files containing command lines suitable for performing appropriate software installation and / or test steps for the target system 160. Execution is performed in a predetermined order according to the sequence number corresponding to each step. The step disk 150 accompanies the target system 160 at the factory workshop, where testing is done directly from the step disk 150 or the file server 190 connected to the target system 160 via a network connection 180. Is done from. Preferably network connection 180 is a generic network device that fits within a corresponding network port of a target computer system. After performing the software installation and testing steps, the results of the installation and testing are stolen to the file server 190 via the network connection 180.
도 2는 본 발명의 다른 실시예에 의한 소프트웨어 설치 및 테스트 시스템(192)의 개략도이다. 고객은 주문 구조의 타겟 컴퓨터 시스템을 구입하기 위해 주문(92)을 행한다. 타겟 시스템(160)은 하드웨어 및/또는 소프트웨어 구성요소들을 포함할 수 있는 복수개의 구성요소들을 포함하도록 제조된다. 타겟 시스템(160)이 고객에게 출하되기 전에, 복수개의 구성요소들이 설치되고 테스트된다. 그런 설치 및 테스트는 유리하게도 고객에 의해 수령되는 대로 동작 준비가 되어 있는 신뢰성 있고 실용성 있는 컴퓨터 시스템을 보장하게 한다.2 is a schematic diagram of a software installation and test system 192 according to another embodiment of the present invention. The customer places an order 92 to purchase a target computer system of order structure. Target system 160 is manufactured to include a plurality of components, which may include hardware and / or software components. Before the target system 160 is shipped to the customer, a plurality of components are installed and tested. Such installation and testing advantageously ensures a reliable and practical computer system that is ready for operation as received by the customer.
소프트웨어 설치 및 테스트 스텝을 시퀀싱 하기 위해 시퀀싱 프로그램(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)을 동행할 필요가 있다.To sequence the software installation and test steps, the sequencing program 204 reads a plurality of component descriptors from the descriptor file 96. Order 92 is converted to descriptor file 96 via conversion module 94. Component descriptors are computer readable descriptors of the components of target system 160. In a preferred embodiment, the component descriptors are contained in a descriptor file called a system descriptor record, and the computer readable file includes a list of each component of hardware and software to be installed in the target system 160. System descriptor records may be stored directly in the file server 202. The sequencing program 204 retrieves a plurality of software installation and / or test steps corresponding to the component descriptors from the database 100. After retrieving the appropriate software installation and / or test steps for the target system 160, the sequencing program 204 installs and tests the software on the target system 160 in a predetermined order via the network connections 195 and 180. Instructs you to run Preferably, network connection 200 is a generic network device inserted into a corresponding port of target system 160. The network 195 may be any communication connection well known in the art. After executing the software installation and / or test steps, the results of the installation and testing are recorded over the network connection 200 to the file server 202 or stored in a suitable database. As is apparent from the example, the separate step maker computer system of FIG. 1 is not needed. In addition, step disc 150 is also not required. Only the boot disk 220 configured to boot the target system 160 needs to accompany the target system 160 on the factory floor.
소프트웨어 설치 및 테스트 스텝을 일반적으로 설명했기 때문에, 이제는 도 1 및 2에 도시된 시스템의 작동을 보다 상세히 설명한다.Having described the software installation and test steps in general, the operation of the system shown in FIGS. 1 and 2 will now be described in more detail.
도 3A는 컴퓨터 시스템에 대한 주문이 컴퓨터 판독 가능 시스템 기술어 레코드로 변환되는 바람직한 과정을 표시한다. 보다 상세하게는, 항목(300)에서는 타겟 컴퓨터 시스템에 대해 주문이 접수된다. 이 주문은 다양한 양식 중의 하나로 되어 있을 수 있다. 예컨대 상이한 주문 배달 기구와 마찬가지로 상이한 주문 양식도 가능하다. 예를 들면, 타겟 시스템에 대한 주문은 전화, 우편, 또는 컴퓨터 네트워크(예컨대 인터넷을 통해)를 통해 행해질 수 있다. 주문하는 수단 또는 양식과는 상관없이, 주문은 고객이 구입하기 원하는 타겟 컴퓨터 시스템의 유형 그리고 아마 고객이 타겟 컴퓨터 시스템에 포함시키기를 원하는 특정 구성요소의 목록을 포함한다. 주문이 접수된 후, 제어는 전송 모듈(310)로 이행되어, 타겟 컴퓨터 시스템 주문은 컴퓨터 네트워크를 통해 타겟 컴퓨터 시스템을 제조하는 제조 시스템(도시안됨)에 전송된다. 타겟 컴퓨터 시스템 주문은 또한 소프트웨어 설치 및 테스트 시스템에도 제공되어 거기에서는 그 주문은 모듈(320)에서 변환 프로그램에 이송된다. 모듈(310)에서 사용된 컴퓨터 네트워크는 당해 분야에서 주지되어 있는 어떤 유형일 수도 있다.3A illustrates a preferred process for converting an order for a computer system into a computer readable system descriptor record. More specifically, item 300 receives an order for a target computer system. This order may be in one of a variety of forms. For example, different order forms are possible, as are different order delivery mechanisms. For example, orders for the target system may be made via telephone, mail, or computer network (eg, via the Internet). Regardless of the means or form of ordering, an order includes a list of types of target computer systems that the customer wants to purchase and perhaps specific components that the customer wants to include in the target computer system. After the order is received, control is passed to a transfer module 310 where the target computer system order is transferred via a computer network to a manufacturing system (not shown) that manufactures the target computer system. The target computer system order is also provided to the software installation and test system where the order is transferred to the conversion program at module 320. The computer network used in module 310 may be of any type well known in the art.
변환 프로그램은 타겟 컴퓨터 시스템 주문을 제조 공정에 유용한 레코드로 변환한다. 보다 상세하게는 변환 프로그램은 컴퓨터 주문을 먼저 모듈(330)에서 바아(BAR) 파일로 호칭되는 레코드로 변환한다. 바람직하게는, BAR 파일은 제조되고 있는 특정 타겟 컴퓨터 시스템을 식별하는 유일한 식별자를 포함하고 있다. BAR 파일은 또한 타겟 시스템에 포함시키려 하는 하드웨어 및 소프트웨어를 포함하는 상세한 구성요소 목록을 포함한다. 그 위에 BAR 파일은 각 구성요소를 위한 제조자 특정 부품 번호 또는 기타 유용한 식별자를 포함하는 것이 바람직하다. 끝으로, BAR 파일은 이름, 주소 및 전화 번호와 같은 고객 특정정보를 포함할 수 있다.The conversion program converts the target computer system orders into records useful for the manufacturing process. More specifically, the conversion program first converts the computer order into a record called a bar file in module 330. Preferably, the BAR file contains a unique identifier that identifies the particular target computer system being manufactured. The BAR file also contains a detailed list of components, including the hardware and software to be included in the target system. On top of that, the BAR file preferably contains a manufacturer specific part number or other useful identifier for each component. Finally, the BAR file may contain customer specific information such as name, address and phone number.
모듈(330)에서 BAR 파일을 작성한 후, 모듈(340)에서는 시스템 기술어 레코드가 작성된다. 이 바람직한 실시예에서는 시스템 기술어 레코드는 타겟 컴퓨터 시스템에 포함될 하드웨어 및 소프트웨어 구성요소를 기술하는 컴퓨터 판독 가능 파일이다. 바람직한 실시예에서는, 시스템 기술어 레코드는 하드웨어 태그, 소프트웨어 태그, 정보 태그 및 주석을 포함하는 포맷으로 된 타겟 시스템의 구성요소의 목록을 포함한다. 하드웨어 태그는 그 태그에 따르는 정보는 하드웨어 구성요소에 관한 것임을 시퀀싱 프로그램(204)에 확인시켜 준다. 유사하게, 소프트웨어 태그는 그 태그의 정보가 소프트웨어 구성요소에 관한 것으로 확인해 준다. 정보 태그는 일반적 정보가 후속한다는 것을 나타낸다. 주석은 시퀀싱 프로그램(204)에 의해 간과된 여러 설명이 시스템 기술어 레코드에 포함될 수 있게 한다. 시스템 기술어 레코드는 사람이 판독 가능하고 또한 이해하기 쉬운 텍스트 파일인 것이 바람직하다. 그런 파일은 유리하게도 설치 및 테스트 과정의 용이한 문제점 추적 및 보수를 가능하게 한다. 시스템 기술어 레코드는 표지(token)들의 유일 조합에 해당하는 어떤 유일 식별자들의 목록일 수 있다. 예를들면, 시스템 기술어 레코드는 부품 번호의 목록일 수 있다.After creating a BAR file in module 330, a system descriptor record is created in module 340. In this preferred embodiment, the system descriptor record is a computer readable file describing the hardware and software components to be included in the target computer system. In a preferred embodiment, the system descriptor record includes a list of components of the target system in a format that includes hardware tags, software tags, information tags, and comments. The hardware tag confirms to the sequencing program 204 that the information following the tag is about the hardware component. Similarly, a software tag confirms that the information in that tag relates to a software component. The information tag indicates that general information follows. The annotations allow various descriptions that are overlooked by the sequencing program 204 to be included in the system descriptor record. The system descriptor record is preferably a text file that is human readable and easy to understand. Such files advantageously allow for easy problem tracking and repair of the installation and testing process. The system descriptor record may be a list of any unique identifiers corresponding to the unique combination of tokens. For example, the system descriptor record may be a list of part numbers.
도 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)을 사용한다.3B shows an example target computer system order 350, a corresponding BAR file 360, and a corresponding system descriptor record 370. Target computer system order 350 has the name of the computer family, in this example family "X". Target computer system order 350 also includes three typical components including a Pentium processor, hard drive, and monitor. The BAR file 360 is obtained by executing the target computer system order 350 through a conversion program such as that shown in module 320 of FIG. 3A. BAR file 360 includes a unique identifier for a particular target computer system in family X. The BAR file 360 also includes a manufacturer specific part number for each of the components listed in the target computer system order. The BAR file 360 then includes an identifier indicating a desired amount of each component and a textual description of each component to be included in the target computer system. System 90 uses BAR file 360 to create system descriptor record 370.
예시된 것처럼, 시스템 기술어 레코드(370)는 패밀리 X 내 특정 컴퓨터 시스템에 대한 유일 식별자도 포함한다. 그 위에, 시스템 기술어 레코드(370)는 적당한 태그, 여기서는 프로세서, 하드 디스크 및 모니터가 모두 소프트웨어가 아닌 하드웨어 구성요소임을 나타내는 태그를 포함한다. 시스템 기술어 레코드(370)는 그들 구성요소를 텍스트 설명에 기술한다. 추가하여, 전형적 시스템 기술어 레코드(370)는 어떤 소프트웨어가 패밀리 X에 속하는 타겟 컴퓨터 시스템에 설치 또는 테스트되어야 한다는 것을 표시하는 소프트웨어 태그를 포함한다. 예컨대 소프트웨어 태그는 펜티엄 프로세서에 적합한 어떤 운영체제가 패밀리 X에 속하는 타겟 컴퓨터 시스템의 하드 드라이브에 항상 설치된다는 것을 표시할 것이다.As illustrated, system descriptor record 370 also includes a unique identifier for a particular computer system in family X. On top of that, the system descriptor record 370 includes a suitable tag, here a tag indicating that the processor, hard disk, and monitor are all hardware components, not software. System descriptor record 370 describes these components in a textual description. In addition, the typical system descriptor record 370 includes a software tag that indicates which software should be installed or tested on a target computer system belonging to family X. For example, a software tag would indicate that an operating system suitable for the Pentium processor is always installed on the hard drive of a target computer system belonging to family X.
도 4에는 소프트웨어 설치 및 테스트 스텝을 시퀀싱 하기 위한 바람직한 일반적 방법이 표시되어 있다. 모듈(400)에는, 타겟 컴퓨터 시스템의 유일 식별자가 타겟 컴퓨터 시스템(160)을 위해 발생된다. 도 1에 표시된 실시예서에는, 스텝 메이커 컴퓨터 시스템(140)에 앉아 있는 사용자는 유일 식별자(예컨대 추적 코드 역할을 하는 BAR 식별자)를 스텝 메이커(140)의 시퀀싱 프로그램에 제공한다. 다른 방법으로는, 도 2의 실시예에서, 타겟 컴퓨터 시스템 주문이 접수된 뒤, 유일 식별자가 시퀀싱 프로그램 내에 읽어 넣어진다.4 shows a preferred general method for sequencing software installation and test steps. In module 400, a unique identifier of the target computer system is generated for the target computer system 160. In the embodiment shown in FIG. 1, a user sitting in step maker computer system 140 provides a unique identifier (eg, a BAR identifier serving as a tracking code) to the sequencing program of step maker 140. Alternatively, in the embodiment of FIG. 2, after the target computer system order is received, a unique identifier is read into the sequencing program.
모듈(410)에는, BAR 식별자에 해당하는 시스템 기술어 레코드가 위치된다. 도 1의 실시예에서는, 네트워크 접속(110) 또는 네트워크 접속(195)이 시스템 기술어 레코드의 위치를 찾는다. 모듈(420)에서는, 찾아진 시스템 기술어 레코드가 시퀀싱 프로그램(204)에 제공된다. 도 1의 실시예에서는, 시퀀싱 프로그램이 스텝 메이커 컴퓨터 시스템(140)에 존재하는 한편 도 2의 실시예에서는 시퀀싱 프로그램이 파일 서버(202)에 있다. 시퀀싱 프로그램(204)은 타겟 컴퓨터 시스템(160)을 위해 소프트웨어 설치 및 테스트 스텝을 시퀀싱 하기 위해 데이터베이스(100)(도 1 및 2의)와 협동 작용한다.In module 410, a system descriptor record corresponding to the BAR identifier is located. In the embodiment of FIG. 1, network connection 110 or network connection 195 locates the system descriptor record. In module 420, the found system descriptor record is provided to the sequencing program 204. In the embodiment of FIG. 1, the sequencing program resides in the step maker computer system 140, while in the embodiment of FIG. 2, the sequencing program resides in the file server 202. Sequencing program 204 cooperates with database 100 (of FIGS. 1 and 2) to sequence software installation and test steps for target computer system 160.
일단 특정 타겟 컴퓨터 시스템에 적합한 소프트웨어 설치 및 테스트 스텝이 시퀀싱 되면, 시퀀싱 프로그램(204)은 모듈(430)에 표시된 것과 같은 출력 파일을 생성한다.Once the software installation and test steps appropriate for the particular target computer system are sequenced, the sequencing program 204 generates an output file as shown in module 430.
도 1에 표시된 실시예에서는, 스텝 디스크에 기입된 출력 파일(도 1 참조)은 스텝 파일 및 Setenv.bat 파일이다. 스텝 파일은 주문되는 타겟 컴퓨터 시스템에 대한 소프트웨어 설치 및 테스트 스텝을 실시하기 위한 적합한 명령 행의 목록을 포함하는 ASCⅡ 텍스트 파일이다. 바람직한 실시예에서는, 스텝 파일은 또한 순환될 수 있는 명령들을 포함한다. 보다 상세하게는, 스텝 파일은 명령이 일정 회수 반복될 수 있게 또는 일정한 시간 길이 동안 반복되게 한다. 그런 형식은 유리하게도 소프트웨어 설치 및 테스트 스텝이 계산된 소정 방식으로 반복되게 한다. Setenv.bat 파일은 타겟 컴퓨터 시스템에 대한 환경 변수들을 설정한다. 스텝 파일 및 Setenv.bat 파일은 타겟 컴퓨터 시스템에 대한 설치 및 테스트 스텝을 실시하기 위한 적당한 명령 행의 목록을 포함하는 ASCⅡ 텍스트 스크립트 파일이다. 스텝 파일은, 각각 제조의 각 기간에 대한 스텝들, 예컨대 타겟 컴퓨터 시스템의 제조의 신속 테스트(Qt), 확장 테스트1(ET1), 확장 테스트2(ET2), 소프트웨어 설치(SI) 및 최종 테스트(Ft) 스텝을 가진 다수의 개별적 서브 파일들로 세분된다.In the embodiment shown in Fig. 1, the output file (see Fig. 1) written to the step disc is a step file and a Setenv.bat file. The step file is an ASCII text file containing a list of suitable command lines for performing software installation and test steps for the target computer system being ordered. In a preferred embodiment, the step file also includes instructions that can be cycled. More specifically, the step file allows the command to be repeated a certain number of times or for a certain length of time. Such a format advantageously allows the software installation and test steps to be repeated in a calculated manner. The Setenv.bat file sets environment variables for the target computer system. The step file and the Setenv.bat file are ASCII text script files containing a list of appropriate command lines for performing installation and test steps for the target computer system. The step file includes steps for each period of manufacture, such as the rapid test (Qt), extended test 1 (ET1), extended test 2 (ET2), software installation (SI) and final test ( Ft) is subdivided into a number of individual subfiles with steps.
한편 도 2의 실시예에서는, 출력 파일은 도 1에 도시된 것과 같은 스텝 디스크에 기입되지는 않는다. 그 대신 출력 파일은 파일 서버(202) 또는 파일 서버(190)에 상주하여, 그들 파일은 타겟 컴퓨터 시스템(160)에 대해 소프트웨어 설치 및/또는 테스트 스텝의 실시를 지시하는데 사용된다.On the other hand, in the embodiment of Fig. 2, the output file is not written to the step disc as shown in Fig. 1. Instead, the output file resides in file server 202 or file server 190, and these files are used to instruct the target computer system 160 to perform software installation and / or test steps.
도 5A 내지 5C는 도 1 및 2에 표시된 시퀀싱 프로그램(204)의 작동에 관한 보다 상세한 흐름도이다.5A-5C are more detailed flow diagrams of the operation of the sequencing program 204 shown in FIGS. 1 and 2.
결정 모듈(500)은 주문의 소스를 결정한다. 우선은, 좌측 부분만을 생각하자. 필요하면 모듈(502)은 하나 또는 그 이상의 패치를 시스템 기술어 레코드에 가한다. 바람직한 실시예에서는, 이 패치는 모듈 형의 것으로, 특정 타겟 컴퓨터 시스템, 특정 컴퓨터 시스템 패밀리 또는 특정 구성요소를 위해 패치가 만들어질 수 있다. 예컨대 제조자가 어떤 날짜에 어떤 컴퓨터 시스템 패밀리에 대해 한 하드 드라이브의 브랜드를 다른 브랜드의 것으로 교체하고 싶으면, 교체될 하드 드라이브를 포함하는 모든 시스템 기술어 레코드를 수정하여 모듈(502)에서 교체를 행할 패치가 형성될 수 있다.Decision module 500 determines the source of the order. First, think only about the left part. If desired, module 502 applies one or more patches to the system descriptor record. In a preferred embodiment, the patch is modular and patches can be made for specific target computer systems, specific computer system families or specific components. For example, if a manufacturer wants to replace the brand of one hard drive with another brand for a certain computer system family on a certain date, modify all system descriptor records containing the hard drive to be replaced and apply the module to the replacement of the module 502. Can be formed.
그런 다음, 모듈(504)은 타겟 컴퓨터 시스템(160)에 대응하는 (패치된) 시스템 기술어 레코드를 시퀀싱 프로그램(204)에 입력한다. 모듈(506)에서는, 시스템 기술어 레코드로부터 구성요소 기술어가 읽어진다. 각 구성요소 기술어는 타겟 컴퓨터 시스템의 하드웨어 또는 소프트웨어의 각 구성요소를 설명하고 있다.Module 504 then inputs (patched) system descriptor records corresponding to target computer system 160 to sequencing program 204. In module 506, component descriptors are read from the system descriptor record. Each component descriptor describes each component of the hardware or software of the target computer system.
도 3B로 되돌아가서, 모듈(370)에 있어 펜티엄 프로세서를 포함하는 시스템 기술어 레코드의 행은 예시적 구성요소 기술어이다. 모듈(508)에서, 시퀀싱 프로그램(204)은 각각 복수개의 타겟 컴퓨터 시스템 구성요소에 해당되는 복수개의 파생 객체를 예시하고 있다. 바람직한 실시예에 있어, 이들 파생객체는 타겟 컴퓨터 시스템(160)에 실행될 필요가 있는 소프트웨어 설치 및 테스트 스텝에 관한 정보(데이터베이스(100)로부터 얻어진)를 기억하는데 사용된다. 따라서 모듈(510)에서는 각 유도 물체는 타겟 컴퓨터 시스템(160)의 각 구성요소와 관련 지어져 있다.Returning to FIG. 3B, the row of system descriptor record that includes the Pentium processor in module 370 is an example component descriptor. In module 508, sequencing program 204 illustrates a plurality of derived objects, each corresponding to a plurality of target computer system components. In a preferred embodiment, these derivatives are used to store information (obtained from database 100) regarding software installation and test steps that need to be executed on the target computer system 160. Thus, in module 510, each guide object is associated with each component of target computer system 160.
이제, 모듈(500)의 우측 부분을 참고하라. 이 경우에는 주문은 고객에 의해 재료 목록(Bill of Material)의 형태로 레코드로서 데이터베이스에 직접 기억되며, 그런 레코드는 타겟 컴퓨터 시스템(160)에 관한 구성요소 기술어를 포함한다. 모듈(502)에 상당하는 모듈(512)은 재료 목록에 편차(패치)를 적용하고, 한편 모듈(514)은 시퀀싱 프로그램(204)이 사용하도록 저장하고 있는 데이터베이스로부터 재료 목록을 판독한다.Reference is now made to the right part of module 500. In this case, the order is stored directly in the database as a record by the customer in the form of a Bill of Material, which record contains the component descriptors for the target computer system 160. Module 512, which corresponds to module 502, applies a deviation (patch) to the material list, while module 514 reads the material list from the database it is storing for use by sequencing program 204.
모듈(516)에서는, 타겟 컴퓨터 시스템(160)의 각 구성요소와 연관져 있는 소프트웨어 및 테스트 스텝이 데이터베이스(100)로부터 검색되고 적당한 유도 물체에 기억된다. 도 1의 실시예에서는, 스텝들이 네트워크 접속(110)로부터 검색되는 한편, 도 2의 실시예에서는 스텝들이 직접 파일 서버(202)로부터 검색된다. 어떻게 스텝들이 바람직한 실시예에서 데이터베이스(100)로부터 검색되는가를 설명하기 위해서는 그 데이터베이스의 바람직한 구조의 설명을 필요로 한다.In module 516, software and test steps associated with each component of target computer system 160 are retrieved from database 100 and stored in a suitable guided object. In the embodiment of FIG. 1, the steps are retrieved from the network connection 110, while in the embodiment of FIG. 2, the steps are retrieved directly from the file server 202. To explain how steps are retrieved from database 100 in a preferred embodiment, a description of the preferred structure of that database is required.
도 6은 데이터베이스(100)의 설계를 보여준다. 데이터베이스(100)는 소프트웨어 및/또는 테스트 스텝의 순서를 소정된 순서로 컴퓨터 시스템 패밀리들과 관련시킨다. 또한 데이터베이스(100)는 컴퓨터 시스템의 구성요소들을 관련 지우도록 구성되어 있다. 더욱이 데이터베이스(100)는 소프트웨어 및/또는 테스트 스텝을 컴퓨터 시스템의 구성요소들과 관련시킨다.6 shows a design of the database 100. The database 100 associates the order of software and / or test steps with the computer system families in a given order. The database 100 is also configured to relate components of the computer system. Furthermore, database 100 associates software and / or test steps with components of a computer system.
데이터베이스(100)는 바람직하게는 관계적 데이터베이스이다. 데이터베이스(100)는 각각 상기한 관련을 형성하기에 적합한 속성을 포함하고 있는 수개의 표를 포함하고 있다.Database 100 is preferably a relational database. The database 100 includes several tables, each containing attributes suitable for forming the aforementioned associations.
데이터베이스(100)는 스텝 표(102), 패밀리 표(104), 패밀리 스텝 순서 표(106), 구성요소 표(108), 패밀리 구성요소 표(112), 구성요소 스텝 표(114), 스텝 의존 표(116), 스텝 파라메타 표(118), 구성요소 등급 표(120), 구성요소 클래스속성 표(122) 및 조작자 메시지 표(124)를 포함한다. 바람직한 실시예에서는 각 표는 속성들의 목록을 포함하는데 주요 속성들이 일차 키로서의 역할을 한다.The database 100 includes a step table 102, a family table 104, a family step order table 106, a component table 108, a family component table 112, a component step table 114, and step dependence. A table 116, a step parameter table 118, a component class table 120, a component class attribute table 122, and an operator message table 124. In the preferred embodiment, each table contains a list of attributes, with the primary attributes serving as primary keys.
스텝 표(102)는 모든 컴퓨터 패밀리의 가능한 모든 구성요소에 대한 모든 소프트웨어 설치 및 테스트 스텝을 포함한다. 바람직한 구조에서는, 스텝 표(102)는 StepID, Name, Command, CommandType, AfterActionType, MaxInstance, ClassID 및 DepMask(의존성 표)를 포함하는 속성을 갖는다. StepID는 각 소프트웨어 설치 또는 테스트 스텝에 대한 유일 식별 번호이다. Name은 스텝을 설명하는 명칭을 지정하는 문자열이다. Command는 타겟 시스템(160)(도 1 및 2에 표시된)에 대해 소프트웨어 설치 또는 테스트 스텝을 수행하기 위한 실행 가능한 명령 행을 지정하는 문자열이다. AterActionType은 소프트웨어 설치 또는 테스트 스텝이 실행된 후 정지 또는 재 부팅이 필요한지를 결정하는 식별자이다. MaxInstance는 스텝이 실행될 수 있는 최대 허용 회수를 나타내는 식별자이다. ClassID는 소프트웨어 설치 또는 테스트 스텝과 관련되어 있는 구성요소(예컨대 하드 드라이브, CD 롬 드라이브 등)의 어떤 유형 또는 등급을 식별한다. 끝으로, DepMask는 특정 스텝이 스텝 의존성 및/또는 스텝 파라메타를 갖는지에 관한 정보를 기록하고 스텝 의존성 표(116) 및/또는 스텝 파라메타 표(118)가 입력되어야 할 것인지를 결정한다.Step table 102 includes all software installation and testing steps for all possible components of all computer families. In a preferred structure, step table 102 has attributes including StepID, Name, Command, CommandType, AfterActionType, MaxInstance, ClassID, and DepMask (dependency table). StepID is a unique identification number for each software installation or test step. Name is a string that specifies a name that describes the step. Command is a string that specifies an executable command line for performing a software installation or test step on the target system 160 (shown in FIGS. 1 and 2). AterActionType is an identifier that determines whether a stop or reboot is required after a software installation or test step is executed. MaxInstance is an identifier that indicates the maximum allowable number of times a step can be executed. The ClassID identifies any type or class of components (eg, hard drive, CD ROM drive, etc.) that are involved in the software installation or test step. Finally, DepMask records information about whether a particular step has step dependency and / or step parameters and determines whether step dependency table 116 and / or step parameter table 118 should be entered.
패밀리 표(104)는 속성 FamilyID에 규정된 식별 정수에 의해 컴퓨터 시스템의 각 패밀리를 식별한다. 또한 패밀리 표에는 패밀리의 명칭을 식별하는 문자열이 포함된다. 패밀리 스텝 순서 표(106)는 스텝 표(102)와 패밀리 표(104) 사이의 관계를 포함하는 관계 표이다. 패밀리 스텝 순서 표(106)는 컴퓨터 시스템의 특정 패밀리(패밀리 표(104)로부터)에 대한 속성 패밀리 ID에 규정된 패밀리 식별 정수, 그 패밀리에 적합한 스텝들의 특정 집단을 확인하는 속성 스텝 ID(스텝 표(102)로부터의)에 규정된 스텝 식별 정수 및 순서 번호를 포함한다. 순서 번호는 특정 패밀리와 관련된 스텝이 수행될 소정 순서를 표시하는 속성 스텝 순서 번호 내에 포함되어 있다. 테스트엔지니어는 특정 타겟 시스템을 위해 가장 효과적으로 선정된 순서로 각 제조 스텝 내에서 유일한 순서 번호를 할당한다. 순서 번호를 지정하는 다른 방법도 사용될 수 있음을 이해해야 할 것이다. 끝으로, 패밀리 스텝 순서 표(106)는 스텝 ID를 포함한다. 스텝 ID는 어느 제조 스텝에서 그 스텝이 실행될 것인가를 지정한다. 예컨대 스텝 ID는 상기한 5개의 컴퓨터 시스템 제조 스텝: 즉 신속 테스트(Qt), 확장테스트1(Et1), 확장테스트2(Et2), 소프트웨어 설치(SI) 및 최종 테스트 중의 한 스텝에 해당하도록 선택된 정수이다.The family table 104 identifies each family of the computer system by the identification integer specified in the attribute FamilyID. The family table also contains a string that identifies the name of the family. The family step order table 106 is a relationship table that includes the relationship between the step table 102 and the family table 104. The family step order table 106 is a family identification integer defined in an attribute family ID for a particular family (from the family table 104) of the computer system, and an attribute step ID (step table) identifying a particular group of steps suitable for that family. Step identification integer and sequence number as defined in (from 102). The sequence number is contained within an attribute step sequence number that indicates the predetermined sequence in which steps associated with a particular family are to be performed. The test engineer assigns a unique sequence number within each manufacturing step in the order most effectively chosen for the specific target system. It will be appreciated that other methods of specifying sequence numbers may also be used. Finally, the family step order table 106 includes a step ID. The step ID designates in which manufacturing step the step is to be executed. For example, the step ID is an integer selected to correspond to one of the five computer system manufacturing steps described above: rapid test (Qt), extended test 1 (Et1), extended test 2 (Et2), software installation (SI) and final test. to be.
구성요소 표(108)는 제조되는 컴퓨터 시스템 내에 포함되는 모든 가능한 구성요소들을 포함한다. 이 표의 속성들은 각 구성요소에 식별자를 할당하는 구성요소 ID, 각 구성요소에 문자열 명칭을 할당하는 기술어 및 구성요소의 유형(예컨대 하드 드라이브, CD 롬 드라이브)을 언급하는 등급 ID이다.The component table 108 includes all possible components included in the computer system being manufactured. The attributes in this table are the component IDs that assign identifiers to each component, the descriptors that assign string names to each component, and the class IDs that refer to the type of component (eg, hard drive, CD-ROM drive).
패밀리 구성요소 표(112)는 컴퓨터 시스템의 각 패밀리 및 그 패밀리에 포함될 수 있는 구성요소들의 집합 사이의 관계를 포함하는 관계 표이다. 패밀리 구성요소 표(112)의 속성에는 속성 패밀리 ID(패밀리 표(104)로부터의)에 규정된 컴퓨터 패밀리 식별 정수 및 속성 구성요소 ID(구성요소 표(108)로부터의)에 규정된 구성요소 식별 정수가 포함된다.Family component table 112 is a relationship table that includes a relationship between each family of computer systems and a collection of components that may be included in that family. Attributes in the family component table 112 include the computer family identification integers specified in the attribute family ID (from family table 104) and the component identifications specified in the attribute component ID (from component table 108). Integer is included.
구성요소 스텝 표(114)는 각 구성요소와 그 구성요소에 적합한 소프트웨어 설치 및 테스트 스텝의 집단 사이의 관계를 포함하는 관계 표이다. 구성요소 스텝 표(114)의 속성은 속성 구성요소 ID(구성요소 표(108)로부터의)에 규정된 구성요소 식별 정수 및 속성 스텝 ID(스텝 표(102)로부터의)에 규정된 스텝 식별 정수를 포함한다.The component step table 114 is a relationship table that includes the relationship between each component and the group of software installation and test steps appropriate for that component. The attributes of the component step table 114 include the component identification integers specified in the attribute component ID (from the component table 108) and the step identification integers specified in the attribute step ID (from the step table 102). It includes.
스텝 의존성 표(116)는 가능한 상충성(충돌가능성)에 관한 데이터를 포함한다. 어떤 테스트들은 구성요소들의 어떤 등급, 특정 구성요소들 자체 또는 어떤 제조자로부터의 구성요소들과 상충할 수 있다. 예를 들면, 조립될 타겟 컴퓨터 시스템(160)은 브랜드 A의 하드 드라이브 및 브랜드 B의 CD 롬을 포함할 것이다. 브랜드 A 하드 드라이브는 보통 테스트 C가 행해질 것을 요구할 것이지만 이 테스트 C는 CD 롬 드라이브 B와 양립성이 없을 수 있는 것과 같은, 그런 모든 의존성은 스텝 의존성 표(116)에 기록된다. 이 표에 있어서는, 스텝 ID는 의존성을 가진 스텝을 식별하고, 유형 ID는 그 의존성이 구성요소의 등급에 관계된 것인지 또는 특정 구성요소에 관계된 것이지 하는 것을 나타내고, 객체 ID는 유형 ID의 상태에 따라 등급 ID이거나 또는 구성요소 ID이고, DepType ID는, 특정 스텝이, 상충성이 일어날 때, 유지될 것인지 또는 제거되어야 할 것이지를 표시한다.The step dependency table 116 includes data regarding possible conflicts. Some tests may conflict with certain classes of components, certain components themselves, or components from any manufacturer. For example, the target computer system 160 to be assembled would include a brand A hard drive and a brand B CD ROM. A brand A hard drive would normally require test C to be done, but all such dependencies are recorded in step dependency table 116, such as test C may be incompatible with CD ROM drive B. In this table, the step ID identifies a step with a dependency, the type ID indicates whether the dependency is related to the class of a component or to a specific component, and the object ID is rated according to the state of the type ID. ID or component ID, and the DepType ID indicates whether a particular step should be maintained or removed when a conflict occurs.
스텝 파라메타 표(118)는 어떤 스텝이 필요로 할 파라메타를 확인하는 것으로, 예컨대 어떤 스텝은 특정 길이의 시간동안 진행될 필요가 있거나 또는 특정 반복 회수만큼 진행될 필요가 있을 것이다. 표(118)에서는, 스텝 ID는 유일적으로 특정 설치 또는 테스트 스텝을 확인한다. 파라메타 ID는 그 스텝과 관련된 각 파라메타를 확인하는데, 특정 스텝과 관련하여 둘 이상의 파라메타가 있을 수 있고 각 변수는 그 자체의 파라메타 ID를 가질 것이다. 예컨대, 다른 브랜드의 하드 드라이브의 경우 같은 테스트이면서 다른 파라메타로서 테스트될 수 있을 것이다. 데이터 유형은 각 파라메타에 포함될 데이터의 유형을 식별한다. 위의 예에서, 데이터 유형은 데이터가 백분율로 표시될 것인가 또는 하드 드라이브 ID 코드에 따를 것이지를 규정한다. 내용은 "printf"와 같은 명령과 관련된 C 프로그래밍 언어에서 사용되는 것과 같은 명령 행 스위치이다. 예컨대 내용은 백분율이 이 파라메타에 대해 적당하다는 것을 나타내기 위해 "-%d"일 수 있다. 스텝 순서 번호 및 등급 ID는 이미 상기한 바와 같다.The step parameter table 118 identifies the parameters that a step will need, for example, some steps may need to run for a certain length of time or for a certain number of repetitions. In table 118, the step ID uniquely identifies a particular installation or test step. The parameter ID identifies each parameter associated with that step. There may be more than one parameter associated with a particular step and each variable will have its own parameter ID. For example, different brands of hard drives may be tested with the same test and with different parameters. The data type identifies the type of data to be included in each parameter. In the above example, the data type specifies whether the data will be displayed in percentage or according to the hard drive ID code. The contents are command line switches like those used in the C programming language related to commands like "printf". For example, the content may be "-% d" to indicate that a percentage is appropriate for this parameter. The step sequence number and class ID have already been described above.
스텝 파라메타 표(118)는 특정 스텝과 연관된 파라메타의 유형과 수만을 기억하지만 그들 파라메타의 값을 실제로 기억하지는 않는다. 그래서 나중에 설명될 스텝 파일의 형성 중 표(118)는 파라메타 값을 스텝 파일의 명령 행 내에 삽입하지 않는다. 그와는 달리 이 표는 명령 행을 형성 가능하게 하는데 필요한 모든 명세를 포함한다. 파라메타의 값을 계산하여 그것을 실행 중 스텝 파일 명령 행 내에 삽입하는 것은 시퀀싱 프로그램(204)이다. 시퀀싱 프로그램은 기술어 레코드에 포함되어 있는 정보를 기준으로 계산을 수행한다.The step parameter table 118 only remembers the type and number of parameters associated with a particular step but does not actually remember the values of those parameters. Thus, during the formation of the step file, which will be described later, the table 118 does not insert parameter values into the command line of the step file. In contrast, this table contains all the specifications necessary to make a command line formable. It is the sequencing program 204 that calculates the value of the parameter and inserts it into the step file command line during execution. Sequencing programs perform calculations based on the information contained in the descriptor record.
스텝 파라메타 표(118)를 갖는 이점은 스텝들과 영구적으로 연관된 파라메타를 가질 필요를 없앰으로써 보다 큰 융통성을 허용하는 것이다. 그래서 표(118)는 기사가 스텝 표(102)를 편집할 필요 없이 파라메타를 용이하게 수정할 수 있게 한다.An advantage with the step parameter table 118 is that it allows greater flexibility by eliminating the need to have parameters permanently associated with the steps. Thus, table 118 allows an article to easily modify parameters without having to edit step table 102.
구성요소 등급 표(120)는 모든 등급의 구성요소(등급 ID), 예컨대 하드 드라이브, CD 롬 등 및 그들 등급의 간단한 설명(등급 명칭, 설명)의 단순한 목록이다.The component class table 120 is a simple list of all class components (class IDs) such as hard drives, CD ROMs, etc., and a brief description of their class (class name, description).
구성요소 등급 속성 표(122)는 모든 등급 및 각 등급에 관련된 모든 속성을 수록하고 있다. 속성 ID는 메모리 크기, 동작 속도, 제조자 등과 같은 각 상이한 속성 유형에 할당된 코드인 한편 속성 명칭은 기사의 편의를 위한 보다 설명적인 속성의 명칭이다. 데이터 유형은 특정 속성을 표시하는데 사용된 데이터 유형의 표시이다. 예컨대 속성이 제조자의 명칭인 경우에는 그것은 문자열일수 있고 또는 그것은 속성이 메모리 크기인 경우에는 정수일 수 있다.Component class attribute table 122 lists all classes and all attributes associated with each class. The attribute ID is the code assigned to each of the different attribute types such as memory size, operating speed, manufacturer, etc., while the attribute name is the name of a more descriptive attribute for the convenience of the article. A data type is an indication of the data type used to represent a particular attribute. For example, if the attribute is a manufacturer's name it may be a string or it may be an integer if the attribute is a memory size.
구성요소 등급 표(120) 및 구성요소 등급 속성 표(122)는 시퀀싱 프로그램(204)에 의해 활발하게 사용되지 않고 주로 개발 기사에 의해 사용된다. 이들 표는 속성의 어떤 실제의 값을 포함하지는 않는다.The component rating table 120 and the component rating attribute table 122 are not actively used by the sequencing program 204 and are primarily used by development engineers. These tables do not contain any actual values of the attributes.
끝으로, 조작자 메시지 표(124)는 수행되는 테스트 및 테스트되는 구성요소에 따라 테스트 조작자를 위한 다수의 메시지를 기억하고 있다. 예컨대 테이프 드라이브를 테스트하기 전 테이프를 투입하라고 조작자에게 일깨우는 프롬프트가 발행될 수 있다.Finally, operator message table 124 stores a number of messages for the test operator depending on the test being performed and the components being tested. For example, a prompt may be issued to remind the operator to insert a tape before testing the tape drive.
도 3B에 도시되어 있는 예시적 타겟 컴퓨터 시스템은 상기한 데이터베이스 설계가 소프트웨어 설치 및 테스트 스텝을 검색하는데 어떻게 이용되는가를 예시하는데 이용될 것이다. 패밀리 X를 식별하는 시스템 기술어 레코드에 있는 컴퓨터 패밀리 레코드는 패밀리 표(104)에 있는 패밀리 X에 해당하는 패밀리 ID와 연관되어 있다. 구성요소 표(108)는 타겟 컴퓨터 시스템 주문에 수록된 타겟 컴퓨터 시스템의 구성요소들이 합법적인가를 점검하는데 사용된다. 환언하면, 시퀀싱 프로그램 및 데이터베이스는 도 3B의 시스템 기술어 레코드에 포함된 프로세서, 하드 드라이브, 모니터 및 소프트웨어가 구성요소 표(108)에 구성요소 ID에 의해 규정된 대응 항목 및 대응 번호를 갖고 있는지를 판정한다. 구성요소가 합법적이지 않으면(즉 시스템 기술어 레코드에 있는 구성요소가 구성요소표(108)에 포함되어 있지 않으면), 에러 플래그가 올려진다. 패밀리 구성요소 표(112)는 구성요소 표(108) 및 패밀리 표(104)로부터의 매핑을 포함하는 관계 표이다. 패밀리 구성요소 표(112)는 패밀리 X에 속하는 타겟 컴퓨터 시스템에 포함될 수 있는 모든 합법적 구성요소를 포함한다. 그래서 패밀리 구성요소 표(112)는 타겟 시스템의 모든 구성요소가 합법적인지를 점검하는데 사용될 수 있다. 환언하면, 시퀀싱 프로그램 및 데이터베이스는 도 3B의 시스템 기술어 레코드에 포함된 프로세서, 하드 드라이브, 모니터 및 소프트웨어가 패밀리 구성요소 표(112)에서 대응 관계를 갖고 있는지를 판정한다. 구성요소가 합법적이지 않으면 (즉 시스템 기술어 레코드에 있는 패밀리 X에 속하는 타겟 시스템에 포함될 수 없으면), 에러 플래그가 올려진다.The example target computer system shown in FIG. 3B will be used to illustrate how the database design described above is used to retrieve software installation and test steps. The computer family record in the system descriptor record identifying family X is associated with a family ID corresponding to family X in family table 104. The component table 108 is used to check that the components of the target computer system listed in the target computer system order are legitimate. In other words, the sequencing program and database determine whether the processor, hard drive, monitor, and software included in the system descriptor record of FIG. 3B have the corresponding item and corresponding number specified by the component ID in component table 108. Determine. If the component is not legal (ie, the component in the system descriptor record is not included in the component table 108), an error flag is raised. Family component table 112 is a relational table that includes component table 108 and mappings from family table 104. The family component table 112 includes all legal components that can be included in a target computer system belonging to family X. Thus, the family component table 112 can be used to check that all components of the target system are legitimate. In other words, the sequencing program and database determine whether the processors, hard drives, monitors, and software included in the system descriptor record of FIG. 3B have a correspondence in the family component table 112. If the component is not legal (ie cannot be included in the target system belonging to family X in the system descriptor record), an error flag is raised.
관계적 패밀리 스텝 순서 표(106)에는, 스텝 표(102)와 패밀리 표(104)로부터의 매핑이 있다(상주한다). 패밀리 스텝 순서 표(106)는 패밀리 X에 속하는 타겟 컴퓨터 시스템에 대해 합법적으로 실행될 수 있는 모든 소프트웨어 설치 및 테스트 스텝을 포함한다. 더욱이, 순서 및 스텝 번호가 각 소프트웨어 설치 및 테스트 스텝과 연관되어 있는 것은 이 패밀리 스텝 순서 표(106) 내이다. 그들 순서 및 스텝 번호는 스텝이 컴퓨터 시스템의 특정 패밀리를 위해 실행될 적당한 순서를 나타낸다. 따라서, 패밀리 스텝 순서 표(106)는 패밀리 X 타겟 컴퓨터 시스템에 실행될 스텝의 목록 및 스텝이 실행될 소정의 순서를 표시하는 순서 및 스텝 번호를 포함한다.In the relational family step order table 106, there is a mapping from the step table 102 and the family table 104 (resident). Family step order table 106 includes all software installation and test steps that can be legally executed for a target computer system belonging to family X. Moreover, it is within this family step sequence table 106 that sequence and step numbers are associated with each software installation and test step. Their order and step number indicate the proper order in which the steps will be executed for a particular family of computer systems. Thus, the family step order table 106 includes a list of steps to be executed in the family X target computer system and an order and step number indicating a predetermined order in which the steps are to be executed.
구성요소 스텝 표(114)는 구성요소 표(108) 및 스텝 표(102)로부터의 매핑을 포함하는 관계 표이다. 구성요소 스텝 표(114)는 타겟 컴퓨터 시스템의 프로세서, 하드 드라이브, 모니터 및 소프트웨어에 대해 실행될 소프트웨어 설치 및 테스트 스텝을 포함한다.Component step table 114 is a relationship table that includes mappings from component table 108 and step table 102. Component step table 114 includes software installation and test steps to be executed for the processor, hard drive, monitor, and software of the target computer system.
타겟 시스템에 포함될 각 구성요소와 관련된 소프트웨어 설치 및 테스트 스텝을 검색하는 것에는, 타겟 컴퓨터 시스템(160)의 구성요소에 대해 실행될 중간 집합 목록 스텝을 얻기 위해 패밀리 구성요소 표(112) 및 구성요소 스텝 표(114)에 대한 결합 명령을 수행하는 것이 포함된다.Searching for software installation and testing steps associated with each component to be included in the target system may include the family component table 112 and component steps to obtain an intermediate set list step to be executed for the components of the target computer system 160. Performing a join command for the table 114 is included.
결합 명령으로, 도 3B에 표시된 시스템 기술어 레코드에 수록된 프로세서, 하드 드라이브, 모니터 및 소프트웨어에 실행될 스텝들의 목록이 얻어진다. 그런 뒤 패밀리 구성요소 표(112)와 구성요소 스텝 표(114)의 결합물의 결과는 패밀리 X에 대한 모든 스텝을 포함하는 패밀리 스텝 순서 표(106)와 결합된다. 이 합동 명령의 결과는 순서 번호와 스텝 번호의 형태로 된 시퀀싱 정보를 포함하고, 순서 번호는 특정 스텝 별로 유일한 것이다. 그래서 패밀리 구성요소 표(112), 구성요소 스텝 표(114) 및 패밀리 스텝 순서 표(106)의 3 표를 결합하면, 적당한 소프트웨어 설치 및 테스트 스텝 및 타겟 컴퓨터 시스템(160)에 소프트웨어를 설치 및/또는 테스트하기 위한 순서 및 스텝 번호의 형태의 시퀀싱 정보가 얻어진다.With the join command, a list of steps to be executed for the processor, hard drive, monitor, and software contained in the system descriptor record shown in FIG. 3B is obtained. The result of the combination of the family component table 112 and the component step table 114 is then combined with the family step order table 106 which includes all the steps for family X. The result of this joint instruction includes sequencing information in the form of sequence number and step number, the sequence number being unique for a particular step. Thus, combining the three tables of the family component table 112, the component step table 114, and the family step sequence table 106, installs and / or installs the software on the appropriate software installation and test steps and the target computer system 160. Or sequencing information in the form of a sequence and step number for testing.
제 1 결합 명령(패밀리 구성요소 표(112)와 구성요소 스텝 표(114)의 결합)의 결과가 공집합이면, 에러 조건이 제기되는데, 그 이유는 공집합은 타겟 시스템에 포함될 구성요소가 시스템 기술어 레코드에 수록된 패밀리에 속하지 않는다는 것을 암시하기 때문이다. 이것의 한 예를 예시한다. 시스템 기술어 레코드가 타겟 컴퓨터 시스템이 패밀리 Y에 속한다는 것을 올바르게 나타낸다고 생각하자. 그러나 시스템 기술어 레코드는, 패밀리 X에 있는 타겟 시스템에만 속하는 하드 드라이브(하드 드라이브 Z)가 패밀리 Y에 있는 타겟 시스템에 포함되어야 한다고 잘못 표시한다고 가정하자. 그 경우에는, 구성요소 스텝 표(114)는 하드 드라이브(Z)와 연관된 스텝을 포함한다. 패밀리 구성요소 표(112)는 패밀리 Y와 연관된 구성요소들을 포함한다. 그래서 구성요소 스텝 표(114)를 패밀리 구성요소 표(112)와 결합하면 공집합이 생성되는데, 그 이유는 하드 드라이브(Z)는 패밀리 Y와 관련된 구성요소가 아니기 때문이다(그 대신에 그것은 단지 패밀리 X와 연관되어 있다). 상기 예로부터 명백한 것처럼, 데이터베이스의 바람직한 설계는 유리하게도, 어떤 패밀리의 타겟 시스템이 그 패밀리에 적합한 구성요소들만을 포함한다는 것을 사람들이 확신할 수 있게 해준다.If the result of the first join instruction (combination of family component table 112 and component step table 114) is an empty set, an error condition is raised, because the empty set indicates that the component to be included in the target system is a system descriptor. This implies that it does not belong to the family listed in the record. An example of this is illustrated. Assume that the system descriptor record correctly indicates that the target computer system belongs to family Y. However, suppose that the system descriptor record incorrectly indicates that a hard drive (hard drive Z) belonging only to the target system in family X should be included in the target system in family Y. In that case, component step table 114 includes the steps associated with hard drive Z. FIG. Family component table 112 includes components associated with family Y. So combining component step table 114 with family component table 112 creates an empty set, because hard drive Z is not a component associated with family Y (instead it is just a family Associated with X). As is evident from the above example, the preferred design of the database advantageously allows people to be sure that a target system of a family contains only components suitable for that family.
다시 도 5A 및 5C에 돌아가서, 타겟 시스템에 포함될 구성요소와 연관된 스텝이 검색된 후, 시퀀싱 프로그램(204)의 모듈(518)은 각 스텝 마다 그 스텝에 대한 DepMask를 조사함으로써 스텝 의존성이 있는지 하는 것을 판정한다. 그렇다면, 모듈(520)은 스텝 의존성 표(116)로부터 의존성을 판독하고 모듈(522)은 DepType ID에 따라 의존성을 해결한다.5A and 5C again, after the steps associated with the components to be included in the target system have been retrieved, the module 518 of the sequencing program 204 determines whether there are step dependencies for each step by examining the DepMask for that step. do. If so, module 520 reads the dependencies from step dependency table 116 and module 522 resolves the dependencies according to the DepType ID.
다음, 모듈(524)은 다시 그 스텝에 대한 DepMask를 조사함으로써 스텝이 파라메타를 요구하는지를 결정한다. 그런 경우에는, 모듈(526)은 스텝 파라메타 표(118)로부터 파라메타를 판독하고 모듈(528)은 파라메타의 실제 값을 계산하여 그 스텝의 명령 행 내에 삽입한다.Next, module 524 again determines if the step requires parameters by examining the DepMask for that step. In such a case, module 526 reads the parameters from step parameter table 118 and module 528 calculates the actual values of the parameters and inserts them into the command line of that step.
이제 모듈(530)은 시스템 기술어 레코드를 판독하고 타겟 시스템에 포함될 명령에 대응하는 환경 파일을 작성함에 의해 타겟 컴퓨터 시스템에 대한 환경 변수를 준비한다. 예컨대, 도 3 B에 도시된 시스템 기술어 레코드가 판독되고 "cpu=pentium로 설정하라"와 같은 환경 변수가 시스템 기술어 레코드의 프로세서 하드웨어 구성요소에 대응하여 작성될 수도 있을 것이다.Module 530 now prepares environment variables for the target computer system by reading a system descriptor record and creating an environment file corresponding to the instructions to be included in the target system. For example, the system descriptor record shown in FIG. 3B may be read and an environment variable such as "set cpu = pentium" may be created corresponding to the processor hardware component of the system descriptor record.
모듈(532)에서는, 상기한 3 표 결합에 의해 검색되고 해결된 의존성 및 부가된 파라메타를 가진, 복수개의 검색된 소프트웨어 설치 및 테스트 스텝은 소정된 순서로 시퀀싱 된다. 이 시퀀싱은 스텝 순서를 제공하기 위해 각 순서 번호 및 스텝 번호에 따른다. 시퀀싱 자체는 당해 분야에 주지된 많은 소팅 알고리즘 중의 하나를 사용하여 수행된다.In module 532, a plurality of retrieved software installation and test steps, with the added and retrieved dependencies retrieved and resolved by the three-table combination described above, are sequenced in a predetermined order. This sequencing follows each sequence number and step number to provide a step sequence. Sequencing itself is performed using one of many sorting algorithms well known in the art.
모듈(534)에서는, 시퀀싱 프로그램(204)은 앞에서 언급된 스텝 파일 및 Setenv.bat 파일을 출력한다. 스텝 파일은 타겟 컴퓨터 시스템의 제조의 신속 테스트(Qt), 확장 테스트1(ET1), 확장 테스트2(ET2), 소프트웨어 설치(SI) 및 최종 테스트(Ft) 중 각각 실행될 스텝을 포함하는 다수의 서브 파일로 세분된다.In module 534, the sequencing program 204 outputs the step file and Setenv.bat file mentioned above. The step file includes a number of subs, each of which includes steps to be executed each of the quick test (Qt), extended test 1 (ET1), extended test 2 (ET2), software installation (SI), and final test (Ft) of the manufacturing of the target computer system. Subdivided into files.
표시된 바와 같이, 도 2의 실시예의 경우에는 모듈(534)은 그대로인 채의 또는 데이터베이스에 있는 출력 파일을 파일 서버(202)에 저장시킨다. 파일 서버(202)에 기입된 출력 파일은 타겟 컴퓨터 시스템(160)에 대한 소프트웨어 설치 및 테스트 스텝의 실행을 지시하는데 사용될 수 있다.As indicated, in the case of the embodiment of FIG. 2, module 534 stores the output file in file server 202 as it is or in the database. The output file written to file server 202 may be used to direct the execution of software installation and test steps for target computer system 160.
모듈(536)에서는, 스텝 순서는 필요에 따라 스텝 순서 패치를 사용함으로써 수정된다. 바람직한 실시예에서는, 이 패치는 모듈형으로서, 특정 타겟 컴퓨터 시스템, 컴퓨터 시스템의 특정 패밀리 또는 특정 구성요소에 따라 패치가 형성될 수 있다. 예컨대 제조자가 어떤 날짜에 어떤 구성요소에 대해 어떤 한 테스트 스텝을 다른 것보다 먼저 실행하고 싶으면, 순서가 수정될 스텝을 포함하는 모든 스텝 순서를 수정하고 따라서 모듈(536)에서의 실행 순서를 수정할 패치가 형성될 수 있다. 패칭 다음에는, 모듈(538)은 수정된 파일을 그대로 또는 데이터베이스에 넣은 상태로 저장을 위해 파일 서버(202)에 출력한다.In module 536, the step order is modified by using step order patches as needed. In a preferred embodiment, the patch is modular, so that the patch can be formed according to a particular target computer system, a particular family of computer systems, or a particular component. For example, if a manufacturer wants to run a test step for a component on a certain date before the other, then modify all step sequences including the steps whose order is to be modified and thus modify the order of execution in module 536. Can be formed. Following the patching, the module 538 outputs the modified file to the file server 202 for storage as it is or in the database.
끝으로, 모듈(540)은 도 1, 디스켓(150)에 기입하는 옵션을 준다. 디스켓이 요구되면, 직접 디스켓에 기입하는 대신, 모듈(542)은 메모리 내에 "가상 디스켓"을 형성하고 그런 다음 모듈(544)은 전체 가상 디스켓을 한 번의 작업으로 물리적(실제) 디스켓에 기입하는데, 이렇게 하면 플로피 디스크 드라이브에 기입하는 작동 회수가 감소되기 때문에 프로그램의 전체 작업이 촉진된다.Finally, module 540 gives the option of writing to diskette 150 in FIG. If a diskette is required, instead of writing directly to the diskette, module 542 forms a "virtual diskette" in memory and then module 544 writes the entire virtual diskette to the physical (physical) diskette in one operation, This reduces the number of operations to write to the floppy disk drive, thus facilitating the overall work of the program.
가상 디스켓은, 각각 물리적 디스켓 위의 물리적 섹터 크기의 크기에 상당하는 메모리 블록의 어레이를 할당함에 의해 물리적 디스켓에 상당하는 메모리를 형성하는 다음 프로그램에 의해 형성된다. 파일 시스템은 FAT12(PC-DOS, MS-DOS, 윈도우즈 95 및 윈도우즈 NT 운영체제에서 사용되는)이다. 첫째 섹터는 디스켓의 부팅 섹터이다. 클러스터란 섹터 조합의 논리적 집결/단위이다. 이 수는 일단 파일 시스템이 초기화되면 고정된다. 예컨대 한 클러스터 크기는 2 섹터이다. 파일 시스템은 섹터가 아니라 오직 클러스터에 의한 할당만을 허용한다. 이 경우 최소 파일은 적어도 1 클러스터(또는 2 섹터)를 소비할 것이다.The virtual diskette is formed by the next program that forms memory corresponding to the physical diskette by allocating an array of memory blocks each corresponding to the size of the physical sector size on the physical diskette. The file system is FAT12 (used in PC-DOS, MS-DOS, Windows 95 and Windows NT operating systems). The first sector is the boot sector of the diskette. A cluster is a logical aggregation / unit of sector combination. This number is fixed once the file system is initialized. For example, one cluster size is two sectors. The file system only allows allocations by clusters, not sectors. In this case the minimum file will consume at least 1 cluster (or 2 sectors).
시작start
메모리 블록의 어레이를 형성한다. 메모리 블록의 수는 파일 시스템이 주어졌을 때 디스켓 위의 물리적 섹터의 수와 같다.Form an array of memory blocks. The number of memory blocks is equal to the number of physical sectors on the diskette given a file system.
모든 메모리 블록 내용을 영으로 초기화한다.Initialize all memory block contents to zero.
부트 섹터의 외부 영상만을 복사함으로써 부트 섹터를 초기화 한다. 이 외부 영상은 파일에 저장된다.The boot sector is initialized by copying only the external image of the boot sector. This external image is stored in a file.
FAT 표를 초기화 한다. (파일 시스템에 의해 디스켓 위에 잘 획정된 섹터).Initialize the FAT table. (A sector well defined on the diskette by the file system).
파일 기입 조작이 요구되면.If a file write operation is requested.
파일을 판독한다.Read the file.
요구되는 클러스터를 할당한다.Allocate the required cluster.
에러이면, 충분한 공간이 없기 때문에 에러를 가진 기능을 존재시킨다.If it is an error, there is not enough space to exist with the function with the error.
할당된 클러스터에 대해 디렉토리 및 FAT 표를 갱신한다.Update the directory and FAT table for the assigned cluster.
클러스터에 판독된 내용을 기입한다.Write the read contents to the cluster.
파일 삭제 조작이 요구되면.If a file delete operation is requested.
주어진 파일에 대한 할당 클러스터를 자유롭게 한다.Free the allocation cluster for a given file.
해제된 클러스터에 대해 디렉토리 및 FAT 표를 갱신한다.Update the directory and FAT tables for the released cluster.
물리적 디스켓 기입 조작이 요구되면.If a physical diskette write operation is required.
디스켓으로부터 부트 섹터의 네 번째 바이트에 기억된 디스켓 사용 계수를 구한다.From the diskette, the diskette usage count stored in the fourth byte of the boot sector is obtained.
그 계수가 >= 최대 계수이면, 에러 이유를 표시하기 위해 에러 코드를 보고한다.If the coefficient is> = maximum coefficient, report an error code to indicate the reason for the error.
계수가 <최대 계수이면, 계수를 1 만큼 증분시킨다.If the coefficient is <maximum coefficient, the coefficient is incremented by one.
계수값을 가상 디스켓 위 부트 섹터의 세 번째 바이트에 기입한다.Write the count value to the third byte of the boot sector on the virtual diskette.
메모리 블록을 가상 디스켓으로부터 물리적 디스켓에 기입하고, 데이터를 가진 메모리 블록이 더 이상 잔존하지 않으면 중지한다.Writes a block of memory from a virtual diskette to a physical diskette and stops when the memory block with data no longer remains.
종료.End.
다시 도 1 및 2로 돌아가, 화살표(130)는 데이터베이스(100)에 수정을 행할 수 있다는 것을 표시한다. 예컨대 컴퓨터 시스템의 새 패밀리가 형성되면, 거기에 따라 데이터베이스(100)를 수정할 수 있다. 보다 상세하게는 새 패밀리는 패밀리 표(104)의 패밀리 ID에서 새로운 패밀리 식별자가 할당되고 새 패밀리의 명칭이 패밀리 표(104)의 명칭 속성에 할당된다. 소프트웨어 설치 및 테스트 스텝의 목록이 패밀리 스텝 순서 표(106)에 부가되는데, 이들 스텝은 새 컴퓨터 시스템 패밀리에 어느 스텝이 또한 어떤 소정 순서로 실행될 필요가 있는가를 표시한다. 컴퓨터 시스템의 새 패밀리가 기존의 패밀리와 몇 가지 유사성을 공유하면, 패밀리 스텝 순서 표(106)에 있는 기존 패밀리에 대한 항목들은 새 패밀리에 대한 항목들을 생성하기 위해 수정될 가능성이 높다. 컴퓨터 시스템의 새 패밀리에 대해 어떤 새 스텝이 형성될 필요가 있으면, 이들 스텝이 스텝 표(102)에 부가된다. 그와 비슷하게 어떤 새 구성요소가 컴퓨터 시스템의 새 패밀리에 부수되면, 그들 구성요소가 구성요소 표(108)에 부가된다. 구성요소 스텝 표(114)는 컴퓨터 시스템의 새 패밀리의 각 구성요소를 소프트웨어 설치 및 테스트에 적합한 스텝과 관련시키기 위해 갱신된다. 새 패밀리가 데이터베이스에 이미 존재하는 구성요소만을 사용하면, 이 표는 수정될 필요가 없다. 패밀리 구성요소 표(112)는 새 패밀리에 포함될 허용된 구성요소의 목록이 데이터베이스에 있도록 갱신된다. 특히, 새 컴퓨터 시스템의 SysID를 각 허용된 구성요소의 구성요소 ID(ComID)와 관련시킬 필요가 있을 것이다. 다시, 이것은, 컴퓨터 시스템의 묵은 패밀리의 기존 항목을 복사하고 그런 뒤 수정함으로써 수행될 수 있다.1 and 2 again, arrow 130 indicates that modifications can be made to database 100. For example, when a new family of computer systems is formed, the database 100 can be modified accordingly. More specifically, the new family is assigned a new family identifier in the family ID of the family table 104 and the name of the new family is assigned to the name attribute of the family table 104. A list of software installation and test steps is added to the family step order table 106, which indicates to the new computer system family which steps also need to be executed in what predetermined order. If a new family of computer systems shares some similarities with an existing family, the items for the existing family in the family step order table 106 are likely to be modified to create items for the new family. If any new steps need to be formed for a new family of computer systems, these steps are added to the step table 102. Similarly, if any new components are attached to a new family of computer systems, those components are added to the component table 108. The component step table 114 is updated to associate each component of the new family of computer systems with steps suitable for software installation and testing. If the new family uses only components that already exist in the database, this table does not need to be modified. The family component table 112 is updated so that the list of allowed components to be included in the new family is in the database. In particular, it will be necessary to associate the SysID of the new computer system with the Component ID (ComID) of each allowed component. Again, this can be done by copying and then modifying existing entries of the outdated family of computer systems.
바람직한 실시예에 따라 데이터베이스를 구성할 때에는 어떤 중요한 이점이 얻어진다는 것을 이해해야 할 것이다. 특히, 데이터베이스의 모듈 설계는 유리하게도 컴퓨터 시스템의 새 패밀리를 위한 소프트웨어 설치 및 테스트 스텝의 용이한 설정을 허용한다. 부가적으로, 컴퓨터 시스템의 특정 패밀리를 위한 또는 특정 구성요소를 위한 소프트웨어 설치 및 테스트 스텝은 다른 소프트웨어 설치 및 테스트 스텝와는 독립적으로 수정될 수 있다.It will be appreciated that some important advantages are gained when constructing a database according to a preferred embodiment. In particular, the modular design of the database advantageously allows easy setup of software installation and test steps for a new family of computer systems. In addition, software installation and testing steps for a particular family of computer systems or for particular components may be modified independently of other software installation and testing steps.
타겟 시스템(160)에 스텝 순서를 실행할 때에는 주의를 해야 할 것이다. 소프트웨어 설치 및 테스트 스텝는, 타겟 컴퓨터 시스템에 대응하는 스텝 순서를 판독하고, 해석하고, 실행하는 프로그램을 사용하여 타겟 컴퓨터 시스템(160)에 실행된다. 바람직한 실시예에서는, 이 프로그램은 RunStep(실행 스텝)로 호칭되고 도 1의 실시예에서 스텝 디스크(150) 및 도 2의 실시예에서는 파일 서버(202)에 위치한다.Care should be taken when executing the step sequence on the target system 160. The software installation and test steps are executed on the target computer system 160 using a program that reads, interprets, and executes the step sequence corresponding to the target computer system. In a preferred embodiment, this program is called RunStep and is located on the step disk 150 in the embodiment of FIG. 1 and on the file server 202 in the embodiment of FIG.
도 7은 어떤 소프트웨어 설치 및 테스트 스텝이 실행 완료되기 전 스텝 파일에 포함된 스텝 순서의 일부를 보여준다. 상기와 같이, 스텝 순서는 주문 구조 타겟 컴퓨터 시스템의 소프트웨어 설치를 위한 및/또는 테스트하기 위한 명령을 포함한다. 부가적으로, 스텝 파일에 있는 스텝 순서는 일정한 반복 회수만큼 또는 일정한 시간 길이 만큼 명령이 반복될 수 있게 한다. 또한 스텝 파일은 RunStep 프로그램에 의해 무시된 주석을 포함할 것이다. 스텝 파일에서는, 마크 800이 스텝 순서의 필드를 분리하는데 사용되고 있다. 명령은 예컨대 메모리를 테스트하고 소형 컴퓨터 시스템 인터페이스(SCSI) 장치를 테스트하기 위한 명령을 포함한다. 도면으로부터 알 수 있는 것처럼, 각 명령은 특정 테스트 환경에 적합한 '-o'와 같은 스위치를 포함할 것이다. 항목 820은 RunStep 프로그램에 의해 무시된 주석이다. 항목 810c는 시간에 의해 루프 형성되는 명령이다. 바람직한 구성에 있어서는, '시작-시간-루프' 명령은 루프의 시점을 나타낸다. '종료-시간-루프" 명령은 루프의 종점을 나타낸다. '시작-시간-루프' 명령은 루프를 통해 반복할 시간 길이를 표시하는 필드와 조합된다. 여기서 예를 들면, 명령 810c가 1 시간 30 분간 실행된다. 항목 810d는 반복 수에 따라 루프 형성되는 명령이다. 바람직한 실시예에서는, '시작-반복-루프' 명령은 RunStep에 반복 루프가 수행되게 할 것을 명령한다. '종료-반복-루프' 명령은 루프 명령의 종료를 알려준다. 여기서 명령 810d는 3회 실행된다.7 shows part of the step sequence included in the step file before any software installation and test steps are completed. As above, the step sequence includes instructions for and / or testing software installation of the custom rescue target computer system. In addition, the step order in the step file allows the command to be repeated by a certain number of repetitions or by a certain length of time. The step file will also contain comments ignored by the RunStep program. In the step file, the mark 800 is used to separate the fields of the step sequence. The instructions include, for example, instructions for testing a memory and testing a small computer system interface (SCSI) device. As can be seen from the figure, each command will include a switch such as '-o' that is suitable for the particular test environment. Item 820 is a comment ignored by the RunStep program. Item 810c is a command looped over time. In a preferred configuration, the 'start-time-loop' command indicates the start of the loop. The 'end-time-loop' command indicates the end of the loop The 'start-time-loop' command is combined with a field indicating the length of time to repeat through the loop, where command 810c is one hour 30 Item 810d is a command that loops according to the number of iterations In a preferred embodiment, the 'start-repeat-loop' command instructs RunStep to execute the iteration loop. The instruction signals the end of the loop instruction, where instruction 810d is executed three times.
도 8 내지 13은 RunStep 프로그램에 대한 흐름도를 보여준다. 대체적으로 말하면, RunStep은 전체 스텝 서브 파일을 메모리 내에 읽어 넣지 않고 한 번에 한 행씩 각 스텝 서브 파일을 처리한다. 각 행에서 RunStep은 그 행 처리를 계속할 것인지를 평가하기 위해 많은 점검을 행한다. 예컨대 RunStep이 앞 행이 실행된 후 착오 조건이 등록되었다는 것을 발견하면, 그것은 프로그램을 계속할 의미가 없다는 것을 안다. 또는, RunStep이 조작자가 스텝 서브 파일을 부정 처리했는지(예컨대 지루한 테스트를 빠뜨리기 위해)를 알기 위해 점검할 수 있고 그런 경우이면 프로그램을 계속하지 않고 그 조작자가 전부 다시 시작하게 할 수도 있다. 그래서, 그 행이 바로 다음에 실행되기에 적당하다고 RunStep이 판정하는 경우에만 스텝 서브 파일의 특정 행이 판독되고, 그렇기 때문에 스텝 서브 파일로부터 라인을 불필요하게 판독하는 일이 없다. 명백히 이것은 시간이 절약되는 특징이다.8 to 13 show a flow chart for the RunStep program. In general, RunStep processes each step subfile one line at a time without reading the entire step subfile into memory. In each row, RunStep performs a lot of checks to evaluate whether it will continue processing that row. For example, if RunStep finds that an error condition has been registered after the previous line has been executed, it knows that there is no point in continuing the program. Alternatively, RunStep can check to see if the operator has negated the step subfile (e.g. to skip tedious tests), and if so, allow the operator to restart all without continuing the program. Thus, a specific line of the step subfile is read only when RunStep determines that the line is suitable to be executed immediately afterwards, so that a line is not unnecessarily read from the step subfile. Clearly this is a time-saving feature.
도 8은 RunStep의 최고 수준 흐름도이다. 첫째 모듈(900)은 시스템의 상태를 초기화 한다. 이것은 스텝 서브 파일의 어떤 행도 판독되기 전에 수행된다. 이 스텝 중, RunStep은 시스템의 정확한 상태를 알기 위해, 예컨대 마지막 행의 실행에서 착오가 보고되었는지? 재실행을 해야할 것인지 또는 RunStep이 계속해서 다음 행을 읽어도 되겠는지를 알기 위해 여러 환경 변수(설명될 "progress.bat" 파일로부터)를 판독한다.8 is a top level flow chart of RunStep. The first module 900 initializes the state of the system. This is done before any row of the step subfile is read. During this step, RunStep tells you the exact state of the system, for example, has an error been reported in the execution of the last row? Read several environment variables (from the "progress.bat" file to be described) to see if you need to rerun or whether RunStep may continue reading the next line.
도 9는 초기화 스텝을 상세히 표시한다. 첫째 모듈(902)은 콘트롤브레이크(통제 파기)를 못하게 하는 것으로, 이것은 조작자가 프로그램으로부터 벗어나 스텝을 우회하지 못하게 한다. 그런 뒤 변수들이 초기화되고(904), 프로그램은 환경으로부터 환경 변수를 판독한다(906). 이들 환경 변수는 progress.bat라 호칭되는 배치 파일에 주로 기억되는데, 이 파일은 메모리에 수용되고 이 파일에는 RunStep이 그 전에 스텝 서브 파일에 행을 실행할 때 기입했을 것이다. progress.bat는 현재의 시스템 상황을 포함하고 나중에 설명될 것처럼(모듈(106), 도 13) 스텝 서브 파일로부터 판독된 각 행에 대해 갱신이 행해진다. progress.bat는, 실행된 마지막 스텝의 행 번호; 어느 실제의 명령이 실행되었는지의 표시; 특정 명령이 시간 루프 이내에서 실행되었다면 얼마만한 시간이 지났는지 하는 것; 어느 테스트 또는 소프트웨어 설치 스텝이 수행되는가 하는 등의 정보를 포함할 것이다.9 shows the initialization step in detail. The first module 902 prevents control brakes, which prevents the operator from stepping out of the program. The variables are then initialized (904), and the program reads the environment variables from the environment (906). These environment variables are often stored in a batch file called progress.bat, which is stored in memory that you may have written to when RunStep previously executed a line in the step subfile. progress.bat contains the current system status and updates are made for each row read from the step subfile as described later (module 106, FIG. 13). progress.bat is the row number of the last step executed; An indication of which actual instruction was executed; How much time has passed if a particular instruction was executed within a time loop; It may include information such as which test or software installation steps are performed.
정보 변수가 모듈(908)에 의해 결정되는 대로 성공적으로 판독되면, 모듈(910)은 로칼 드라이브 상의 모든 파일의 디렉토리 목록을 RunStep이 실행되는 컴퓨터(160 또는 202)의 메모리 내에 읽어 넣는다. 그래서 RunStep이 파일이 로칼 드라이브(모듈(1002), 도 13)에 있는지를 점검하게 될 때 그것은 메모리의 디렉토리 목록을 판독함으로써 이 점검을 행할 수 있고 로칼 드라이브 자체를 탐색할 필요는 없다. 그래서 시간 절약이 된다. RunStep이 모듈(912)이 결정한 대로 성공적으로 디렉토리 목록을 판독하면, 모듈(914)은 현재의 진행 상황을 파악하게 된다. 이 스텝 동안 RunStep은 시스템의 상황, 즉 장애, 재실행 등에 따라 여러 번 플래그를 설정한다. 후속하는 모듈(916,918,920)을 통해 RunStep의 흐름을 결정할 것은 이들 플래그이다. 이들 모듈이 RunStep을 필요한 대로 도 10의 서브루틴 A,B 또는 C내로 인도할 것이다.If the information variable is successfully read as determined by module 908, module 910 reads a directory listing of all files on the local drive into memory of computer 160 or 202 on which RunStep is executed. So when RunStep checks if the file is on the local drive (module 1002, Figure 13) it can do this check by reading a directory listing in memory and does not need to search the local drive itself. This saves time. If RunStep successfully reads the directory listing as determined by module 912, module 914 will determine the current progress. During this step, RunStep sets a flag several times depending on the system's situation, such as a failure or rerun. It is these flags that will determine the flow of RunStep through subsequent modules 916, 918, 920. These modules will guide RunStep into the subroutines A, B or C of FIG. 10 as needed.
도 10(a)에 있어, RunStep이 다음 스텝이 정상적인 프로세스 스텝라고 모듈(916)에서 결정하면 루틴 A가 입력된다. 루틴 A의 첫째 모듈(922)은 여러 검사 합을 검증한다. 이 목적은 스텝 서브 파일에 어떤 부정 처리도 없었음을 확실히 하려는 것으로, 예컨대 RunStep은 어떤 검사 합을 판독하고 그것들을 progress.bat 파일에 기억된 검사 합과의 상관성을 알아보는데, 어떤 차이가 있으면 그것은 허가 받지 않은 사람이 스텝 서브 파일을 수정했다는 것을 나타낼 것이다. 모든 검사 합이 모듈(924)에 의해 결정된 대로 옳으면, 프로그램은 어떤 변수들을 재설정(소거)하고 현재의 시간을 판독한다(모듈(926)).In Fig. 10 (a), routine A is input when RunStep determines that the next step is a normal process step. The first module 922 of routine A verifies several check sums. This purpose is to ensure that there is no negation in the step subfile, for example RunStep reads any checksums and correlates them with the checksums stored in the progress.bat file. This will indicate that an unauthorized person has modified the step subfile. If all the check sums are correct as determined by module 924, the program resets (clears) some variables and reads the current time (module 926).
루틴 B, 도 10(b)는, 환경이 모듈(918)에 의해 결정되는 대로 마지막 스텝이 실행될 필요가 있다고 표시하면, 입력된다. 루틴(B)의 목적은 원한다면 자격 있는 조작자가 프로그램에 개입하여 마지막 스텝을 재실행하지 않을 수 있도록 기회를 주려는 것이다. 그래서 모듈(928)에서는 조작자가 5 초 내에 제조툴(MFGTools)을 선택할 수 있고 그렇지 않으면 재실행이 진행할 것이라는 메시지가 표시된다. 제조 툴은 자격 있는 조작자가 적당한 암호를 가지고 스텝 서브 파일에 개입하여 필요한대로 수정할 수 있는 승인된 방법이다. 모듈(930)은 조작자 응답에 따라 마지막 스텝이 재실행될 것인지를 판정하고 그런 경우에는 모듈(932)은 진행 환경(progress.bat)이 MFGTools를 실행하게 한다.Routine B, FIG. 10 (b) is input if the environment indicates that the last step needs to be executed as determined by module 918. The purpose of routine (B) is to give an opportunity for a qualified operator to intervene in the program and not to rerun the last step if desired. The module 928 thus displays a message that the operator can select the manufacturing tools (MFGTools) within 5 seconds or else the rerun will proceed. The manufacturing tool is an approved method by which a qualified operator can modify as needed by intervening a step subfile with a suitable password. Module 930 determines, according to the operator's response, whether the last step will be re-executed, in which case module 932 causes the progress environment (progress.bat) to run MFGTools.
루틴 C, 도 10(c)는 단순히 진행 환경(progress.bat)이 MFGTools, 모듈(934) 를 실행하게 한다.Routine C, FIG. 10 (c) simply causes the progress environment (progress.bat) to execute MFGTools, module 934.
도 9에 있어서, 모듈(936)은 장애가 복구되었는지를 결정하고 그렇지 않으면 모듈(938)은 현재의 스텝이 합법적인지를 알아보기 위해 점검한다.In Fig. 9, module 936 determines if the fault has been repaired and module 938 checks to see if the current step is legitimate.
도 8에 되돌아가서, 일단 초기화 모듈(900)이 종료되고 모듈(950)에 의해 결정된 대로 "성공"이 보고되었다면, RunStep은 "프로세스 스텝 파일"인 모듈(952)로 진행한다. RunStep이 이 스텝에 도달했을 때에는, 이것이 스텝 서브 파일의 다음 행으로 진행할 것인지, 그 전의 행을 재실행할 것인지 또는 중지할 것인지를 알 수 있을 만큼 충분한 정보를 환경으로부터 판독했다.Returning to FIG. 8, once initialization module 900 is terminated and "success" reported as determined by module 950, RunStep proceeds to module 952, which is a "process step file". When RunStep reached this step, enough information was read from the environment so that it knows whether it would proceed to the next line in the step subfile, redo the previous line, or abort.
도 11은 모듈(952), "프로세스 스텝 파일"을 보다 상세히 보여준다. 모듈(954)은 제조툴이 선택되었는지 또는 재실행이 요구되는지를 확정한다. 이들 중의 어느 것이 진실이면, 더 이상의 설정은 필요 없고 이 부분의 프로그램은 성공을 보고할 수 있다. 이들 조건 중의 어느 것도 진실이 아니면(즉 RunStep은 이제 스텝 서브 파일의 다음 행으로 갈 것이다) 적당한 기간의 스텝 서브 파일이 모듈(956)에서 열린다. 이것은, RunStep은 실행되는 테스트 또는 소프트웨어 설치의 특정 스텝(즉 신속 테스트, 확장 테스트 등)와 연관된 스텝 서브 파일을 연다는 것을 의미한다.11 shows module 952, “Process Step File” in more detail. Module 954 determines whether a manufacturing tool has been selected or if a rerun is required. If either of these is true, no further setup is needed and the program in this section can report success. If none of these conditions is true (ie RunStep will now go to the next line of the step subfile), the appropriate time period step subfile is opened in module 956. This means that RunStep opens a step subfile associated with a particular step (ie, quick test, extended test, etc.) of the test or software installation being executed.
모듈(958)은 되감기 스텝이 있는지 하는 것을 확인한다. 되감기 스텝은 스텝 중의 하나에 결함이 있는 경우 테스트의 전체 스텝이 반복될 필요가 있는, 즉, 그 스텝에 대해 RunStep이 스텝 서브 파일의 처음으로 되돌아가야 하는 재실행의 특별한 경우이다. RunStep이 되감기 스텝란 것을 확인하면 모듈(960)은 거기에 따라 환경을 설정하고 성공이 보고된다.Module 958 checks if there is a rewind step. A rewind step is a special case of a rerun where one of the steps has a fault that the entire step of the test needs to be repeated, i.e., RunStep must return to the beginning of the step subfile for that step. After confirming that RunStep is a rewind step, module 960 sets the environment accordingly and reports success.
그것이 되감기 스텝이 아니면, 모듈(962)은 스텝 서브 파일로부터 다음의 행 번호를 판독하고, 나아가 행 번호를 RunStep이 초기화 스텝에서 판독한 progress.bat에 기억된 것과 비교해 봄으로써 모듈이 방금 판독한 행 번호가 그것이 판독 예상하던 행인지를 점검하는데, 이것은 다시 부정 방지장치이다. 특히, RunStep이 실행되고 있을 때에는, progress.bat는 실행된 마지막 스텝에 관한 정보, 즉 스텝 서브 파일에 있는 행 번호, 실행된 명령의 명령 ID, 및 기타 점검 및 관련 정보와 같은 정보를 포함할 것이다. 모듈(962)에서는, RunStep은 메모리에 포함된 progress.bat 파일을 판독하고 progress.bat에 있어 행 번호에 의해 결정된 스텝 서브 파일의 특정 행수를 건너뛰어 읽을 것이다. 그런 뒤 그것은 그것이 실제로 위치하는 행 번호가 그것이 예상한 행 번호와 일치하는가를 점검한다. 그것은 또한 이 행에서의 명령이 방금 실시 완료된 것으로 들었던 것과 같은 명령인지를 점검하는 것으로, 즉 RunStep은 그것이 현재 위치하는 행이 실행된 실제의 마지막 스텝인지를 검증한다.If it is not a rewind step, the module 962 reads the next line number from the step subfile and further compares the line number with that stored in progress.bat that RunStep reads in the initialization step to the line just read by the module. The number is checked to see if it is the row it was expecting to read, which is again a fraud prevention device. In particular, when RunStep is running, progress.bat will contain information about the last step executed, that is, the line number in the step subfile, the command ID of the executed command, and other checks and related information. . In module 962, RunStep will read the progress.bat file contained in the memory and skip over the specific number of lines in the step subfile determined by the line number in progress.bat. It then checks that the line number where it is actually located matches the line number it expected. It also checks to see if the command on this line is the same command we just heard of being executed, that is, RunStep verifies that the row it is currently on is the actual last step executed.
모듈(964)에 의해 결정된 대로 그런 것이면, 모듈(966)에서 RunStep은 스텝을 판독하고 다음 스텝을 실행하기 위해 진행 환경을 설정한다. 모듈(968)은 스텝 판독이 타당한지를 점검하고 타당하면 성공을 보고한다. 타당한 스텝 판독이 없으면, RunStep은 모듈(970)에서 사실상 마지막 기간의 스텝 서브 파일의 최종 행에 도달했는지를 점검하고, 도달했으면 RunStep은 모든 테스트가 완료되었음을 나타내기 위해 "모든 스텝 처리됨"의 메시지를 발한다. 그렇지 않은 경우에는 RunStep은 장애를 보고한다.If so, as determined by module 964, RunStep in module 966 reads the step and sets the progress environment to execute the next step. Module 968 checks if the step read is valid and reports success if valid. If there is no legitimate step read, RunStep checks in module 970 if the last line of the step subfile of the last time period has actually been reached, and if so, RunStep returns a "All Steps Processed" message to indicate that all tests have completed. Give off. If not, RunStep reports a failure.
다른 한편 RunStep의 모듈(964)이 방금 읽은 행 번호가 기대하고 있던 행 번호와 일치하지 않는 것을 보이면, RunStep은 도 12에 표시된 루틴으로 진행한다. 첫째 모듈(972)은 RunStep이 실제 그 마지막 스텝에 대한 스텝 서브 파일의 마지막 행에 도달했는지를 점검한다. 그런 경우이면, 모든 테스트가 완료되었음을 나타내는 메시지가 보고된다. 그렇지 않은 경우이면, 모듈(974)은 스텝 서브 파일의 최종 행이 도달되었는지를 점검한다. 그렇다면, RunStep은 모듈(956)로 복귀하여 다음의 테스트 스텝을 위해 스텝 서브 파일을 연다.On the other hand, if RunStep's module 964 shows that the line number just read does not match the expected line number, RunStep proceeds to the routine shown in FIG. The first module 972 checks whether RunStep actually reached the last row of the step subfile for that last step. If so, a message is reported indicating that all tests have been completed. If not, module 974 checks whether the last row of the step subfile has been reached. If so, RunStep returns to module 956 to open the step subfile for the next test step.
한편, RunStep이 그것이 스텝 서브 파일의 최종이 아닌 것을 확인하면, RunStep은 방금 판독한 행 번호가 그것이 기대하던(메모리의 판독으로부터) 행을 초과하는지 알아보기 위해 모듈(976)에서 점검한다. 행 번호가 초과되면, 이것은 RunStep에게 스텝 서브 파일의 인위적인 부정직이 있었다(예컨대 조작자가 스텝 서브 파일로부터 한 스텝을 제거했다)는 것을 말해주는 것으로 RunStep은 실패를 보고한다. 행 번호가 초과되지 않으면 RunStep은 모듈(962)로 복귀한다.On the other hand, if RunStep confirms that it is not the end of the step subfile, RunStep checks in module 976 to see if the line number just read exceeds the line it was expecting (from a read of memory). If the line number is exceeded, this tells RunStep that there was an artificial dishonesty in the step subfile (for example, the operator removed a step from the step subfile) and RunStep reports a failure. If the line number is not exceeded, RunStep returns to module 962.
그 뒤 RunStep은 모듈(990), 도 8에 복귀하고 스텝 서브 파일의 종료를 접하면 그것은 이것을 조작자에게 보고한다. RunStep은 다시 실패가 모듈(992)에서 보고되었나를 점검한다. 그런 경우이면, 이것이 보고되고 RunStep은 퇴출된다.RunStep then returns to module 990, Figure 8, and when it encounters the end of the step subfile, it reports this to the operator. RunStep again checks if a failure was reported in module 992. If so, this is reported and RunStep is retired.
이 스텝에서는, RunStep은 이미 시스템의 정확한 상황을 판정하고, 곧 스텝을 재실행, 스텝(phase)를 되감기 또는 스텝 서브 파일에서의 다음 스텝을 실행하려는지를 알고 거기에 따라 메모리를 설정했었다. 계속하기 전에 RunStep은 그것이 앞 스텝들에서 습득한 모든 정보들을 저장한다. 이것은 모듈(994)에서 행해지는데 그것은 도 13에 보다 상세히 예시되어 있다.In this step, RunStep has already determined the exact state of the system, and soon knows if you want to redo the step, rewind the phase, or execute the next step in the step subfile and set the memory accordingly. Before continuing, RunStep saves all the information it learned from the previous steps. This is done in module 994, which is illustrated in more detail in FIG.
무엇보다 먼저, 모듈(1000)은 더 이상 필요 없는 모든 파일을 소거할 기회를 갖는다. 그후, 모듈(1002)은 이제 시행하려는 테스트 또는 소프트웨어 설치에 필요한 파일(들)이 로칼 드라이브에 저장되어 있는지 또는 네트워크를 통해 획득될 필요가 있는지를 판정하고 이 정보를 저장한다. 그 다음 모듈(1004, 1006, RunStep)은, RunStep이 처음부터 실행되는 다음 번에 모든 환경 변수가 시스템의 현재 상태를 표현할 수 있게 갱신되어 있도록, 앞 스텝에서 습득한 정보들을 환경 변수(progress.bat에 있는)의 설정에 이용한다.First of all, module 1000 has the opportunity to erase all files that are no longer needed. Module 1002 then determines whether the file (s) needed for the test or software installation to be run now are stored on a local drive or need to be acquired over the network and store this information. The next module (1004, 1006, RunStep) then uses the environment variables (progress.bat) to obtain the information obtained in the previous step so that all the environment variables are updated to reflect the current state of the system the next time RunStep is run. It is used for setting of).
모듈(1008)에서 기입이 성공적인지 점검을 한 후, RunStep은 모듈(1010)에서 기록 파일을 기재한다. 이것이 성공적이면, 모듈(1012), 재실행이 필요한지가 모듈(1014)에서 결정되고 그것이 필요하면 모듈(1016)은 재실행 파일을 작성한다.After checking in module 1008 if writing is successful, RunStep writes the log file in module 1010. If this is successful, module 1012, it is determined in module 1014 whether a redo is needed and module 1016 creates a redo file if it is needed.
그 뒤 제어는 모듈(1020), 도 8에 복귀하고 실패가 보고되지 않으면, 프로그램은 모듈(966)에서 스텝 서브 파일로부터 판독된 명령 행의 실행이 이루어져야 한다는 것을 표시하는 255 에러 수준으로 빠져나온다(퇴출된다). 이것은 모듈(1022)에서 행해진다. 그런 뒤 RunStep은 다음 스텝(스텝 서브 파일의 행)를 처리하기 위해 시작으로 복귀한다.Control then returns to module 1020, FIG. 8 and if no failure is reported, the program exits to a 255 error level indicating that execution of the command line read from the step subfile in module 966 should be made ( Evicted). This is done in module 1022. RunStep then returns to the start to process the next step (the line in the step subfile).
허락안된 조작자가 스텝 서브 파일을 부정하게 처리하는 것을 막고 결과적으로 지루한 테스트를 생략하거나 또는 재실행을 회피할 수 있도록 하기 위해 여러 점검이 포함된다는 점에서, RunStep 프로그램은 고수준 보안시스템이라고 볼 수 있을 것이다. 이것은 콘트롤브레이크를 못하게 하고, 여러 간격으로 스텝 서브 파일의 행수를 확인하고, 검사 합을 시스템에 입력함으로써 달성된다. 다른 보안적 특징은, 상기 흐름도에 있어서의 여러 지점에서 RunStep에 의해 결정되는 결함(실패)이 발생될 때에는 언제나, RunStep은 퇴출되고 결함이 판독전용 은폐파일에 기재되고, 그런데 우연한 조작자는 그 파일을 모르고 그것을 찾을 수도 없을 것이고 따라서 무엇이 잘못 되었는지 또한 어떻게 하면 그 장애를 피할 수 있을지 알아내지 못할 것이며, 즉 그는 그 구성요소를 기각하거나 또는 만족될 때까지 재실행하지 않을 수 없을 것이란 점이다.The RunStep program can be considered a high-level security system in that several checks are included to prevent unauthorized operators from illegally handling step subfiles and to avoid tedious tests or to avoid reruns. This is accomplished by disabling control brakes, checking the number of lines in the step subfile at various intervals, and entering a checksum into the system. Another security feature is that whenever a fault (failure) determined by RunStep occurs at various points in the flow chart above, the RunStep is retired and the fault is described in a read-only concealment file, where an accidental operator may modify the file. You will not know it and you will not find it, so you will not know what is wrong and how you can avoid the obstacle, that is, he will be forced to dismiss the component or re-execute until it is satisfied.
비록 예시적 실시예가 표시되고 설명되었지만, 상기 발명에서 광범한 수정, 변경 및 치환이 생각될 수 있고 어떤 경우에는 실시예의 일부 특징이 대응하는 다른 특징의 이용 없이 이용될 수 있을 것이다. 따라서 첨부된 청구 범위는 광의적으로 또한 상기한 실시예의 범위와 일치하는 방식으로 해석되는 것이 적당할 것이다.Although exemplary embodiments have been shown and described, a wide variety of modifications, changes and substitutions may be envisioned in the invention and in some cases some features of the embodiments may be utilized without the use of corresponding other features. It is therefore appropriate that the appended claims be interpreted broadly and in a manner consistent with the scope of the foregoing embodiments.
이상에서 설명한 바와 같이, 선행 기술에 개선을 제공할 수 있는 컴퓨터 시스템에 대한 소프트웨어의 설치 및/또는 테스트방법이 제공되다.As described above, a method of installing and / or testing software for a computer system that can provide improvements to the prior art is provided.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990022438A KR20010002572A (en) | 1999-06-16 | 1999-06-16 | A method of installing software on and/or testing a computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990022438A KR20010002572A (en) | 1999-06-16 | 1999-06-16 | A method of installing software on and/or testing a computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20010002572A true KR20010002572A (en) | 2001-01-15 |
Family
ID=37514234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990022438A KR20010002572A (en) | 1999-06-16 | 1999-06-16 | A method of installing software on and/or testing a computer system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20010002572A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377502A (en) * | 2019-06-18 | 2019-10-25 | 深圳壹账通智能科技有限公司 | Function test method, device and terminal device based on script |
-
1999
- 1999-06-16 KR KR1019990022438A patent/KR20010002572A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377502A (en) * | 2019-06-18 | 2019-10-25 | 深圳壹账通智能科技有限公司 | Function test method, device and terminal device based on script |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6327706B1 (en) | Method of installing software on and/or testing a computer system | |
KR100513551B1 (en) | Software installation and test method and system for customized computer system | |
US6279156B1 (en) | Method of installing software on and/or testing a computer system | |
KR100655124B1 (en) | Software installation and testing system for a built-to-order computer system | |
JP4531875B2 (en) | Software installation and order embedded computer system testing method | |
US6598223B1 (en) | Method and system for installing and testing build-to-order components in a defined configuration computer system | |
US6247128B1 (en) | Computer manufacturing with smart configuration methods | |
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 (en) | A method of installing software on and/or testing a computer system | |
JP2001022559A (en) | Method for installing or testing software for compuer system | |
KR20010002571A (en) | Apparatus for use in the manufacture of a computer system | |
GB2353374A (en) | Control of installation of software on and/or the testing of a computer system | |
KR20010002573A (en) | A method of installing software on and/or testing a computer system | |
IE990263A1 (en) | A Method of Installing Software on and/or Testing a Computer System | |
AU3584099A (en) | Apparatus for use in the manufacture of 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 | |
JP2001014146A (en) | Software installing and/or testing method for computer system | |
GB2353375A (en) | A method of installing software on and/or testing a computer system which includes checks for compatibility | |
JP2001014182A (en) | Device to be used in manufacturing computer system | |
IE83246B1 (en) | Control of installation of software on and/or the testing of a computer system | |
CN1281182A (en) | Method of installing software on computer system and test method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |