KR101231746B1 - Software Development system in SaaS environment - Google Patents

Software Development system in SaaS environment Download PDF

Info

Publication number
KR101231746B1
KR101231746B1 KR1020090127524A KR20090127524A KR101231746B1 KR 101231746 B1 KR101231746 B1 KR 101231746B1 KR 1020090127524 A KR1020090127524 A KR 1020090127524A KR 20090127524 A KR20090127524 A KR 20090127524A KR 101231746 B1 KR101231746 B1 KR 101231746B1
Authority
KR
South Korea
Prior art keywords
software
source code
test
version
developer
Prior art date
Application number
KR1020090127524A
Other languages
Korean (ko)
Other versions
KR20110070634A (en
Inventor
이원재
이지현
오병택
김원영
원희선
허성진
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020090127524A priority Critical patent/KR101231746B1/en
Publication of KR20110070634A publication Critical patent/KR20110070634A/en
Application granted granted Critical
Publication of KR101231746B1 publication Critical patent/KR101231746B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

본 발명은 SaaS 환경에서의 소프트웨어 개발 시스템에 관한 것으로, 웹 브라우저를 통해 개발자로부터 수신한 소프트웨어의 편집 요청에 따라 소프트웨어 편집 가능 여부를 확인한 후 대체 가능한 소프트웨어 구성요소 단위로 소프트웨어의 편집을 지원하는 소프트웨어 편집기; 상기 소프트웨어 편집기에 의해 편집된 소프트웨어 소스 코드가 타 기업의 데이터에 접근하지 못하고 타 기업에게 서비스를 제공하는 프로세스 또는 쓰레드와 충돌하지 않도록 검증하는 접근 제한 검증기; 상기 접근 제한 검증기를 통과한 소프트웨어 소스 코드를 소프트웨어 버전 별로 데이터베이스에 저장하는 버전 관리기; 상기 버전 관리기를 통과한 소프트웨어 소스 코드 또는 상기 데이터베이스에 저장된 소프트웨어 소스 코드를 컴파일하여 데이터베이스에 저장하는 컴파일러; 및 상기 컴파일된 소프트웨어 소스 코드에 대해 SaaS(Software as a Service) 플랫폼 버전에 따른 테스트를 수행하는 테스트 관리기를 포함하여 구성된다.

Figure R1020090127524

SaaS, 서비스, 소프트웨어, 개발

The present invention relates to a software development system in a SaaS environment, which is a software editor that supports editing of software in replaceable software components after checking whether the software can be edited according to a request for editing of software received from a developer through a web browser. ; An access restriction verifier for verifying that the software source code edited by the software editor does not have access to data of another company and does not conflict with a process or thread providing a service to another company; A version manager for storing software source code that has passed the access restriction verifier in a database for each software version; A compiler for compiling the software source code passed through the version manager or the software source code stored in the database and storing it in a database; And a test manager that performs a test according to a software as a service (SaaS) platform version on the compiled software source code.

Figure R1020090127524

SaaS, Services, Software, Development

Description

SaaS 환경에서의 소프트웨어 개발 시스템 {Software Development system in SaaS environment}Software Development System in Saa Environment {Software Development system in SaaS environment}

본 발명은 SaaS 환경에서의 소프트웨어 개발 시스템 관한 것으로, 보다 상세하게는 웹 또는 온라인 상으로 소프트웨어 서비스를 제공하는 SaaS(Software as a Service) 환경에서 동작하는 소프트웨어의 개발을 지원하기 위한 기술에 관한 것이다.The present invention relates to a software development system in a SaaS environment, and more particularly, to a technology for supporting the development of software operating in a SaaS (Software as a Service) environment that provides a software service on the web or online.

기존의 웹 기반 소프트웨어는 한 기업에게 서비스를 제공할 때, 각 기업 별로 서버를 할당하여 서비스를 제공하며, 이러한 가정 하에서 웹 기반 소프트웨어를 개발한다.Existing web-based software provides services by allocating server to each company when providing service to one company, and develop web-based software under this assumption.

하지만, SaaS 시스템의 경우, 하나의 서버를 통해 여러 기업에게 서비스를 제공하며, 소프트웨어의 동작 방식이 기존의 웹 기반 소프트웨어와 상이하다.However, in the case of SaaS system, it provides services to multiple companies through one server, and the operation of the software is different from the existing web-based software.

구체적으로, SaaS 환경에서 동작하는 소프트웨어의 경우, 기존의 웹 기반 소프트웨어와 달리, 개별 기업별 맞춤화를 고려해야 하고, 개발자 PC에서 소프트웨어에 대한 완전한 테스트를 할 수 없는 것을 고려해야 하며, 한 기업과 다른 기업에 게 서비스를 제공하는 프로세스/쓰레드가 서로 충돌하지 않도록 보장해야 하고, 한 기업으로 제공되는 소프트웨어가 다른 기업의 데이터에 접근하지 않는 것을 보장해야 한다.Specifically, for software that runs in a SaaS environment, unlike traditional web-based software, you must consider individual enterprise customization, not be able to fully test the software on your developer PC, and It must ensure that the processes / threads providing the services do not conflict with each other, and that the software provided by one company does not have access to the data of another.

그러나, 기존의 소프트웨어 개발 시스템은 기존의 웹 기반 소프트웨어를 개발하는데 적합하게 구성되었는바, 위와 같은 SaaS 환경에서 동작하는 소프트웨어의 요구사항을 충족시키지 못한다.However, the existing software development system is suitable for developing existing web-based software, and thus does not meet the requirements of the software operating in the SaaS environment.

따라서 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 웹 또는 온라인 상으로 소프트웨어 서비스를 제공하는 SaaS(Software as a Service) 환경에서 동작하는 소프트웨어의 개발을 지원할 수 있는 소프트웨어 개발 시스템을 제공하기 위한 것이다. Accordingly, the present invention is to solve the problems of the prior art, and provides a software development system that can support the development of software operating in a SaaS (Software as a Service) environment that provides a software service on the web or online. It is to.

상기한 목적을 달성하기 위한 본 발명에 의한 SaaS 환경에서의 소프트웨어 개발 시스템은, 웹 브라우저를 통해 개발자로부터 수신한 소프트웨어의 편집 요청에 따라 소프트웨어 편집 가능 여부를 확인한 후 대체 가능한 소프트웨어 구성요소 단위로 소프트웨어의 편집을 지원하는 소프트웨어 편집기; 상기 소프트웨어 편집기에 의해 편집된 소프트웨어 소스 코드가 타 기업의 데이터에 접근하지 못하고 타 기업에게 서비스를 제공하는 프로세스 또는 쓰레드와 충돌하지 않도록 검증하는 접근 제한 검증기; 상기 접근 제한 검증기를 통과한 소프트웨어 소스 코드를 소프트웨어 버전 별로 데이터베이스에 저장하는 버전 관리기; 상기 버전 관리기를 통과한 소프트웨어 소스 코드 또는 상기 데이터베이스에 저장된 소프트웨어 소스 코드를 컴파일하여 데이터베이스에 저장하는 컴파일러; 및 상기 컴파일된 소프트웨어 소스 코드에 대해 SaaS(Software as a Service) 플랫폼 버전에 따른 테스트를 수행하는 테스트 관리기를 포함한다. Software development system in the SaaS environment according to the present invention for achieving the above object, after confirming whether or not the software can be edited according to the editing request of the software received from the developer through a web browser of the software in the unit of replaceable software components A software editor that supports editing; An access restriction verifier for verifying that the software source code edited by the software editor does not have access to data of another company and does not conflict with a process or thread providing a service to another company; A version manager for storing software source code that has passed the access restriction verifier in a database for each software version; A compiler for compiling the software source code passed through the version manager or the software source code stored in the database and storing it in a database; And a test manager that performs a test according to a software as a service (SaaS) platform version on the compiled software source code.

본 발명에 의하면, 기업별 맞춤화를 고려하고, 다른 기업에게 서비스를 제공하는 프로세스/쓰레드와 충돌하지 않으며, 다른 기업의 데이터에 접근할 수 없는 소프트웨어를 개발할 수 있으며, 개발된 소프트웨어에 대한 완전한 테스트를 수행할 수 있다. According to the present invention, it is possible to develop software that considers the enterprise-specific customization, does not conflict with the processes / threads that provide services to other companies, and does not have access to the data of other companies. Can be done.

구체적으로, 본 발명에 의하면, 소프트웨어 개발시 대체 가능한 구성요소 단위로 개발하여 저장하므로, 개발된 소프트웨어의 서비스시 개별 기업에 대한 소프트웨어 맞춤화를 가능하게 한다.Specifically, according to the present invention, since it is developed and stored in units of replaceable components during software development, it is possible to customize the software for an individual company at the time of service of the developed software.

또한, 개발된 소프트웨어에 대한 테스트시 SaaS 플랫폼 버전을 임의로 선택할 수 있으므로, 원하는 SaaS 플랫폼 버전에서 완전한 테스트를 거친 소프트웨어 서비스를 제공할 수 있게 된다.In addition, since the SaaS platform version can be arbitrarily selected when testing the developed software, it is possible to provide a fully tested software service in the desired SaaS platform version.

더 나아가, 본 발명에 의한 소프트웨어 개발 시스템은 개발자가 웹 브라우저를 통해 소프트웨어를 편집하도록 지원하므로, 기존의 소프트웨어 개발 시스템과는 달리 개발자의 PC에 별도의 개발 환경을 설치할 필요가 없어 간편한 소프트웨어 편집을 가능하게 한다.Furthermore, since the software development system according to the present invention supports the developer to edit the software through a web browser, unlike the existing software development system, there is no need to install a separate development environment on the developer's PC so that easy software editing is possible. Let's do it.

이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설 명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. In the following detailed description of the preferred embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. In the drawings, like reference numerals are used throughout the drawings.

덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 '간접적으로 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.In addition, in the entire specification, when a part is referred to as being 'connected' to another part, it may be referred to as 'indirectly connected' not only with 'directly connected' . Also, to "include" an element means that it may include other elements, rather than excluding other elements, unless specifically stated otherwise.

도 1은 본 발명의 일 실시예에 의한 SaaS 환경에서의 소프트웨어 개발 시스템의 구성도로서, 본 발명에 의한 소프트웨어 개발 시스템은 웹 브라우저 (10), 웹 서버(20), 소프트웨어 편집기(30), 접근 제한 검증기(40), 버전 관리기 (50), 컴파일러(60) 및 테스트 관리기(70)와 각종 데이터를 저장하는 데이터베이스(81 내지 85)를 포함하여 구성된다.1 is a block diagram of a software development system in a SaaS environment according to an embodiment of the present invention, the software development system according to the present invention is a web browser 10, a web server 20, a software editor 30, access It includes a limit verifier 40, a version manager 50, a compiler 60 and a test manager 70, and databases 81 to 85 that store various data.

웹 브라우저(10)는 개발자에 의한 개발 시스템으로의 접근을 제공한다. 다시 말해, 개발자는 자신의 PC에 소프트웨어 개발을 위한 별도의 개발 환경을 설치할 필요 없이 웹 브라우저(10)를 통해 소프트웨어 편집기(30)에 접근하여 소프트웨어를 개발할 수 있다.The web browser 10 provides access to the development system by the developer. In other words, the developer can develop the software by accessing the software editor 30 through the web browser 10 without installing a separate development environment for software development on his PC.

웹 서버(20)는 웹 브라우저(10)와 소프트웨어 편집기(30) 사이에 위치하여 웹 브라우저(10)를 통해 입력된 개발자의 요청을 소프트웨어 편집기(30)에 전달하고, 소프트웨어 편집기(30)에 의해 편집된 결과를 웹 브라우저(10)에 전달한다.The web server 20 is located between the web browser 10 and the software editor 30 to transmit the developer's request entered through the web browser 10 to the software editor 30, and by the software editor 30. The edited result is transmitted to the web browser 10.

소프트웨어 편집기(30)는 개발자에게 소프트웨어 편집을 가능하게 하는 도구로서, 개발자에 의한 소프트웨어 편집 요청시 도 3을 참조하여 후술하는 바와 같이 개발자 및 편집하고자 하는 소프트웨어에 대한 편집 가능 여부를 먼저 확인한 후 수행되어 소프트웨어 편집을 가능케 한다.The software editor 30 is a tool for enabling software editing to a developer. When a software editing request is made by a developer, the software editor 30 is performed after first checking whether the developer and the software to be edited can be edited as described below with reference to FIG. 3. Enable software editing.

또한, 소프트웨어 편집기(30)는 개발자가 기업별 맞춤화 가능한 소프트웨어를 개발할 수 있도록 대체 가능한 구성요소 단위로 소프트웨어를 개발할 수 있도록 지원한다. 소프트웨어 편집기(30)에서 개발된 대체 가능한 소프트웨어 구성요소는 접근 제한 검증기(40) 및 버전 관리기(50)를 거쳐 맞춤 관련 정보DB(81)에 저장된다.In addition, the software editor 30 supports the developer to develop software in replaceable component units so that developers can develop software customizable for each company. The replaceable software component developed in the software editor 30 is stored in the customized related information DB 81 via the access restriction verifier 40 and the version manager 50.

접근 제한 검증기(40)는 소프트웨어 편집기(30)에 의해 개발된 소프트웨어가 다른 기업의 데이터에 접근하지 못하고 다른 기업에게 서비스를 제공하는 프로세스/쓰레드와 충돌하지 않도록 보장하기 위한 것이다. 이를 위해 접근 제한 검증기(40)는 개발된 소프트웨어 소스 코드에 대한 정적/동적 분석을 수행하며, 접근 제한 검증기(40)를 통과한 소프트웨어 소스 코드만이 소프트웨어 소스 코드 DB(82)에 저장될 수 있다. 접근 제한 검증기(40)에 의한 구체적인 접근 제한 검증 과정은 도 3을 참조하여 후술한다.The access restriction verifier 40 is to ensure that the software developed by the software editor 30 does not have access to data of another company and does not conflict with processes / threads providing services to other companies. To this end, the access restriction verifier 40 performs a static / dynamic analysis of the developed software source code, and only the software source code passing through the access restriction verifier 40 may be stored in the software source code DB 82. . A detailed access restriction verification process by the access restriction verifier 40 will be described later with reference to FIG. 3.

버전 관리기(50)는 접근 제한 검증기(40)를 통과한 소프트웨어 소스 코드를 소프트웨어 버전 별로 저장하기 위한 것이다. 버전 관리기(50)는 도 4를 참조하여 후술하는 과정을 거쳐 소프트웨어 소스 코드를 소프트웨어 소스 코드 DB(82) 또는 맞춤 관련 정보 DB(81)에 저장한다. 이 밖에도, 버전 관리기(50)는 소프트웨어 소스 코드 잠금 기능, 소프트웨어 버전 간의 비교 기능, 기존 버전을 최신 버전으로 변경하는 기능, 브렌치(branch)를 만드는 기능 등을 지원할 수 있다.The version manager 50 is for storing software source code that has passed the access restriction verifier 40 for each software version. The version manager 50 stores the software source code in the software source code DB 82 or the customization related information DB 81 through the process described below with reference to FIG. 4. In addition, the version manager 50 may support a software source code locking function, a comparison function between software versions, a function of changing an existing version to a newer version, a function of creating a branch, and the like.

컴파일러(60)는 버전 관리기(50)를 통과한 소프트웨어 소스 코드 또는 소프트웨어 소스 코드 DB(82)에 저장된 소프트웨어 소스 코드를 컴파일하여 컴파일된 소프트웨어 DB(83)에 저장한다. 이는, 시스템에서 소프트웨어 서비스를 제공할 때, 컴파일된 소프트웨어 DB(83)에서 컴파일된 소프트웨어를 가져와서 소프트웨어 소스 코드를 컴파일하는 시간을 절약하기 위한 것이다.The compiler 60 compiles the software source code passed through the version manager 50 or the software source code stored in the software source code DB 82 and stores it in the compiled software DB 83. This is to save the time to compile the software source code by taking the compiled software from the compiled software DB 83 when providing a software service in the system.

테스트 관리기(70)는 개발된 소프트웨어에 대한 테스트를 지원하기 위한 것으로, 컴파일된 소프트웨어 DB(83), 테스트용 데이터 DB(84) 및 플랫폼 소프트웨어 DB(85)로부터 테스트할 소프트웨어, 테스트용 데이터 및 SaaS 플랫폼 소프트웨어를 가져와서 이를 이용하여 개발된 소프트웨어에 대한 테스트를 수행한다. 테스트 관리기(70)에 의한 구체적인 소프트웨어 테스트 과정은 도 5를 참조하여 후술한다.The test manager 70 is for supporting the test of the developed software. The test manager 70 includes software to be tested, data for test, and SaaS from the compiled software DB 83, the test data DB 84, and the platform software DB 85. Take platform software and use it to test the software you develop. A detailed software test process by the test manager 70 will be described later with reference to FIG. 5.

또한, 테스트 관리기(70)는 SaaS 플랫폼의 버전에 따른 테스트를 지원한다. 구체적으로, 테스트 관리기(70)는 새로운 SaaS 플랫폼 버전이 나온 경우 기존의 플랫폼 또는 새로운 플랫폼 중 어느 하나를 선택하여 소프트웨어를 테스트할 수 있도록 지원한다. In addition, the test manager 70 supports testing according to the version of the SaaS platform. In detail, when the new SaaS platform version is released, the test manager 70 supports selecting one of the existing platform or the new platform to test the software.

도 2는 개발자에 의한 소프트웨어 편집 요청시 처리 과정의 흐름도이다.2 is a flowchart of a process of processing a software editing request by a developer.

개발자에 의한 소프트웨어 편집 요청이 있으면(S21), 소프트웨어 편집기는 우선 개발자 인증이 성공하였는지 여부를 확인한다(S22). If there is a software editing request by the developer (S21), the software editor first checks whether the developer authentication succeeds (S22).

개발자 인증이 성공한 경우, 해당 개발자가 편집 요청한 소프트웨어에 대해 접근 권한이 있는지 여부를 확인한다(S23).If the developer authentication is successful, check whether the developer has access to the software requested editing (S23).

개발자가 소프트웨어에 대한 접근 권한을 가진 경우, 해당 소프트웨어가 다른 개발자에 의한 편집 등에 의해 잠겨져 있는지 여부를 확인한다(S24).If the developer has access to the software, it is checked whether the corresponding software is locked by editing by another developer (S24).

위의 조건을 모두 만족하는 경우, 해당 소프트웨어에 대한 편집 가능 상태로서 소프트웨어 편집기를 수행할 수 있다(S25).If all of the above conditions are satisfied, the software editor may be performed as an editable state for the corresponding software (S25).

반면, 개발자 인증이 실패하거나, 해당 개발자가 소프트웨어에 대한 접근 권한이 없거나, 해당 소프트웨어가 다른 개발자에 의해 잠겨져 있는 경우에는 해당 소프트웨어에 대한 편집이 불가능하다(S26).On the other hand, if developer authentication fails, the developer does not have access to the software, or the software is locked by another developer, editing of the software is impossible (S26).

도 3은 접근 제한 검증기에 의한 접근 제한 검증 과정의 흐름도이다.3 is a flowchart of an access restriction verification process by an access restriction verifier.

접근 제한 검증기는 소프트웨어 편집기에 의해 편집된 소프트웨어 소스 코드의 저장을 위해 접근 제한 검증 요청이 있으면(S31), 해당 소프트웨어가 개별 서버의 디스크에 접근하는지 여부(S32), 해당 기업이 아닌 타 기업의 데이터에도 접근 가능한지 여부(S33), 암호화 되지 않은 네트워크 연결을 시도하는지 여부(S34), 서버의 자원(CPU, 메모리, 네트워크 등)을 지나치게 소모하는지 여부(S35) 및 해당 소프트웨어가 다른 프로세스 또는 쓰레드의 실행을 방해하는지 여부(S36)를 판단하여, 이 중 어느 하나에라도 해당하는 경우에는 해당 소프트웨어 소스 코드에 대한 저장을 불허하고(S38) 모두 해당하지 않는 경우에만 해당 소프트웨어 소스 코드에 대한 저장을 허가한다 (S37).If the access control verifier has a request for access verification verification to store the software source code edited by the software editor (S31), whether the software accesses the disk of the individual server (S32), data of a company other than the company Is also accessible (S33), is it attempting an unencrypted network connection (S34), is it consuming excessive resources (CPU, memory, network, etc.) of the server (S35), and the software is executing other processes or threads It is determined whether or not (S36), and if any one of the above is not allowed to store the software source code (S38), and only if not applicable to the storage of the software source code ( S37).

도 4는 개발자에 의한 소프트웨어 저장 요청시 처리 과정의 흐름도이다.4 is a flowchart illustrating a process of processing a software storage request by a developer.

접근 제한 검증기(40)에 의한 소프트웨어 저장 요청이 있으면(S41), 우선 접근 제한 검증기(40)에서 수행된 접근 제한 검증을 통과하였는지 여부를 확인한다(S42).If there is a software storage request by the access restriction verifier 40 (S41), it is first checked whether the access restriction verification performed by the access restriction verifier 40 has passed (S42).

접근 제한 검증을 통과한 경우에는, 해당 소프트웨어에서 대체 가능한 구성요소들을 파악하여(S43) 대체 가능한 구성요소 정보를 맞춤 관련 정보 DB에 저장하고, 대체 가능한 구성 요소 별 및 소프트웨어 버전 별로 소프트웨어 소스 코드 DB에 저장한다(S45).If the access control has passed the verification, the replaceable components in the corresponding software are identified (S43), and the replaceable component information is stored in the customized related information DB, and the software source code DB for each replaceable component and software version is stored. Save (S45).

반면, 접근 제한 검증을 통과하지 못한 경우에는 해당 소프트웨어의 저장을 불허한다(S46).On the other hand, if the access restriction verification does not pass, the storage of the corresponding software is not allowed (S46).

도 5는 개발자에 의한 소프트웨어 테스트 요청시 처리 과정의 흐름도이다.5 is a flowchart illustrating a process of processing a software test request by a developer.

테스트 관리기는 개발자로부터 소프트웨어 테스트 요청이 있는 경우(S51), 플랫폼 소프트웨어 DB로부터 개발자가 지정한 플랫폼 소프트웨어를 가져와서 테스트 환경에 설치하고(S52), 테스트용 데이터 DB에 저장된 테스트용 데이터의 복사본을 만들어 상기 테스트용 데이터에 대한 테스트를 수행할 수 있도록 준비한다(S53). 이후, 테스트 관리기는 컴파일된 소프트웨어 DB로부터 컴파일된 소프트웨 어를 가져와서(S54), 상기 설치된 테스트 환경에서 상기 테스트용 데이터에 대한 소프트웨어 테스트를 수행한다(S55). 이후, 테스트 관리기는 테스트 수행 결과를 소프트웨어 편집기로 전달하여 개발자에게 테스트 수행 결과를 보고하도록 할 수 있다(S56).When the test manager requests a software test from the developer (S51), the platform software designated by the developer is obtained from the platform software DB and installed in the test environment (S52), and a copy of the test data stored in the test data DB is created. Prepare to perform a test on the test data (S53). Then, the test manager obtains the compiled software from the compiled software DB (S54), and performs a software test on the test data in the installed test environment (S55). Thereafter, the test manager may transmit the test performance result to the software editor to report the test performance result to the developer (S56).

본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.The present invention is not limited to the above-described embodiments and the accompanying drawings. It will be apparent to those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

도 1은 본 발명의 일 실시예에 의한 SaaS 환경에서의 소프트웨어 개발 시스템의 구성도,1 is a configuration diagram of a software development system in a SaaS environment according to an embodiment of the present invention;

도 2는 개발자에 의한 소프트웨어 편집 요청시 처리 과정의 흐름도,2 is a flowchart of a process of processing a software editing request by a developer;

도 3은 접근 제한 검증기에 의한 접근 제한 검증 과정의 흐름도,3 is a flowchart of an access restriction verification process by an access restriction verifier;

도 4는 개발자에 의한 소프트웨어 저장 요청시 처리 과정의 흐름도, 그리고4 is a flowchart of a process of processing a software storage request by a developer, and

도 5는 개발자에 의한 소프트웨어 테스트 요청시 처리 과정의 흐름도이다.5 is a flowchart illustrating a process of processing a software test request by a developer.

*도면의 주요 부분에 대한 부호의 설명* Description of the Related Art [0002]

10: 웹 브라우저 20: 웹 서버10: web browser 20: web server

30: 소프트웨어 편집기 40: 접근 제한 검증기30: Software Editor 40: Access Control Verifier

50: 버전 관리기 60: 컴파일러50: Version Manager 60: Compiler

70: 테스트 관리기 81: 맞춤 관련 정보 DB70: Test Manager 81: DB Related Information

82: 소프트웨어 소스 코드 DB 83: 컴파일된 소프트웨어 DB82: software source code DB 83: compiled software DB

84: 테스트용 데이터 DB 85: 플랫폼 소프트웨어 DB84: test data DB 85: platform software DB

Claims (10)

웹 브라우저를 통해 개발자로부터 수신한 소프트웨어의 편집 요청에 따라 소프트웨어 편집 가능 여부를 확인한 후 대체 가능한 소프트웨어 구성요소 단위로 소프트웨어의 편집을 지원하는 소프트웨어 편집기;A software editor that supports editing of the software in units of replaceable software components after checking whether the software can be edited according to the editing request of the software received from the developer through a web browser; 상기 소프트웨어 편집기에 의해 편집된 소프트웨어 소스 코드가 타 기업의 데이터에 접근하지 못하고 타 기업에게 서비스를 제공하는 프로세스 또는 쓰레드와 충돌하지 않도록 검증하는 접근 제한 검증기;An access restriction verifier for verifying that the software source code edited by the software editor does not have access to data of another company and does not conflict with a process or thread providing a service to another company; 상기 접근 제한 검증기를 통과한 소프트웨어 소스 코드를 소프트웨어 버전 별로 데이터베이스에 저장하는 버전 관리기;A version manager for storing software source code that has passed the access restriction verifier in a database for each software version; 상기 버전 관리기를 통과한 소프트웨어 소스 코드 또는 상기 데이터베이스에 저장된 소프트웨어 소스 코드를 컴파일하여 데이터베이스에 저장하는 컴파일러; 및A compiler for compiling the software source code passed through the version manager or the software source code stored in the database and storing it in a database; And 상기 컴파일된 소프트웨어 소스 코드에 대해 SaaS(Software as a Service) 플랫폼 버전에 따른 테스트를 수행하는 테스트 관리기를 포함하는 것을 특징으로 하는 SaaS 환경에서의 소프트웨어 개발 시스템.And a test manager for performing a test according to a SaaS (Software as a Service) platform version on the compiled software source code. 제 1 항에 있어서,The method of claim 1, 상기 웹 브라우저를 통해 입력된 개발자의 편집 요청을 상기 소프트웨어 편집기로 전달하고, 상기 소프트웨어 편집기에 의해 편집된 결과를 상기 웹 브라우저로 전달하는 웹 서버를 더 포함하는 것을 특징으로 하는 SaaS 환경에서의 소프트웨어 개발 시스템.Software development in the SaaS environment, characterized in that further comprising a web server for transmitting the edit request of the developer input through the web browser to the software editor, and delivers the results edited by the software editor to the web browser system. 제 1 항에 있어서,The method of claim 1, 상기 소프트웨어 편집기는,The software editor, 상기 편집 요청을 수신하면, 개발자 인증 성공 여부, 개발자가 편집 요청한 소프트웨어에 대해 접근 권한이 있는지 여부 및 상기 편집 요청한 소프트웨어가 다른 개발자에 의해 잠겨져 있는지 여부를 확인하여 모두 만족하는 경우에만 소프트웨어의 편집을 허용하는 것을 특징으로 하는 SaaS 환경에서의 소프트웨어 개발 시스템.Upon receipt of the edit request, the software can be edited only if all of the contents are satisfied by checking whether the developer authentication is successful, whether the developer has access to the software requested for editing, and whether the requested software is locked by another developer. Software development system in the SaaS environment, characterized in that. 제 1 항에 있어서,The method of claim 1, 상기 접근 제한 검증기는 상기 편집된 소프트웨어 소스 코드에 대한 정적 및 동적 분석을 수행하는 것을 특징으로 하는 SaaS 환경에서의 소프트웨어 개발 시스템.The access restriction verifier performs a static and dynamic analysis of the edited software source code. 제 1 항에 있어서,The method of claim 1, 상기 접근 제한 검증기는,The access control verifier, 상기 소프트웨어 편집기에 의해 편집된 소프트웨어 소스 코드에 대한 접근 제한 검증 요청이 있으면, 해당 소프트웨어가 개별 서버의 디스크에 접근하는지 여부, 해당 기업이 아닌 타 기업의 데이터에도 접근 가능한지 여부, 암호화되지 않은 네트워크 연결을 시도하는지 여부, 서버의 자원을 임계치 이상 소모하는지 여부 및 해당 소프트웨어가 다른 프로세스 또는 쓰레드의 실행을 방해하는지 여부를 확인하여, 모두 해당하지 않는 경우에만 상기 편집된 소프트웨어 소스 코드의 저장을 허가하는 것을 특징으로 SaaS 환경에서의 소프트웨어 개발 시스템.If a request for verification of access restriction for software source code edited by the software editor is requested, whether the software accesses a disk of an individual server, whether access to data of a company other than that company, and an unencrypted network connection Check whether it attempts to consume resources on the server above a threshold and whether the software interferes with the execution of other processes or threads, and permits the storage of the edited software source code only if none of them apply Software development system in the SaaS environment. 제 1 항에 있어서,The method of claim 1, 상기 버전 관리기는,The version manager, 상기 접근 제한 검증기에 의한 소프트웨어 저장 요청이 있으면, 상기 접근 제한 검증기에서 수행된 접근 제한 검증을 통과한 경우에만 해당 소프트웨어에서 대체 가능한 구성요소들을 파악하여 대체 가능한 구성요소 정보를 맞춤 관련 정보 DB에 저장하고, 대체 가능한 구성요소별 및 소프트웨어 버전 별로 소프트웨어 소스 코드 DB에 저장하는 것을 특징으로 하는 SaaS 환경에서의 소프트웨어 개발 시스템.If there is a request for storing the software by the access restriction verifier, the components that can be replaced in the corresponding software are identified only when the access restriction verification performed by the access restriction verifier is passed, and the replaceable component information is stored in the customized related information DB. Software development system in the SaaS environment, characterized in that stored in the software source code DB for each component and software version that can be replaced. 제 1 항에 있어서,The method of claim 1, 상기 버전 관리기는 소프트웨어 소스 코드 잠금 기능, 소프트웨어 버전 간의 비교 기능, 기존 버전을 최신 버전으로 변경하는 기능 및 브렌치(branch)를 만드는 기능 중 어느 하나 이상을 지원하는 것을 특징으로 하는 SaaS 환경에서의 소프트웨어 개발 시스템.The version manager supports one or more of software source code locking, comparing software versions, changing an existing version to a newer version, and creating a branch. system. 제 1 항에 있어서,The method of claim 1, 상기 데이터베이스는,The database includes: 상기 컴파일러에 의해 컴파일된 소프트웨어 소스 코드를 저장하는 컴파일된 소프트웨어 DB;A compiled software DB for storing software source code compiled by the compiler; 소프트웨어 소스 코드에 대한 테스트용 데이터를 저장하는 테스트용 데이터 DB; 및A test data DB for storing test data for the software source code; And SaaS 플랫폼 소프트웨어를 저장하는 플랫폼 소프트웨어 DB를 포함하는 것을 특징으로 하는 SaaS 환경에서의 소프트웨어 개발 시스템.Software development system in a SaaS environment comprising a platform software DB for storing SaaS platform software. 제 8 항에 있어서,9. The method of claim 8, 상기 테스트 관리기는 상기 컴파일된 소프트웨어 DB, 상기 테스트용 데이터 DB 및 상기 플랫폼 소프트웨어 DB로부터 각각 테스트할 소프트웨어, 테스트용 데이터 및 SaaS 플랫폼 소프트웨어를 가져와서 상기 테스트할 소프트웨어에 대한 테스트를 수행하는 것을 특징으로 하는 SaaS 환경에서의 소프트웨어 개발 시스템.The test manager may perform a test on the software to be tested by bringing the software to be tested, test data and SaaS platform software from the compiled software DB, the test data DB and the platform software DB, respectively. Software Development System in SaaS Environment. 제 9 항에 있어서,The method of claim 9, 상기 테스트 관리기는,The test manager, 개발자로부터 소프트웨어 소스 코드에 대한 테스트 요청이 있는 경우, 상기 플랫폼 소프트웨어 DB로부터 개발자에 의해 지정된 플랫폼 소프트웨어를 가져와서 테스트 환경에 설치하고, 상기 테스트용 데이터 DB에 저장된 테스트용 데이터의 복사본을 만들고,상기 컴파일된 소프트웨어 DB로부터 컴파일된 소프트웨어를 가져와서 상기 설치된 테스트 환경에서 상기 테스트용 데이터에 대한 소프트웨어 테스트를 수행하는 것을 특징으로 하는 SaaS 환경에서의 소프트웨어 개발 시스템.When a test request for a software source code from a developer is requested, the platform software designated by the developer is obtained from the platform software DB, installed in a test environment, a copy of the test data stored in the test data DB is made, and the compilation And a software test on the test data in the installed test environment by taking the compiled software from the compiled software DB.
KR1020090127524A 2009-12-18 2009-12-18 Software Development system in SaaS environment KR101231746B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090127524A KR101231746B1 (en) 2009-12-18 2009-12-18 Software Development system in SaaS environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090127524A KR101231746B1 (en) 2009-12-18 2009-12-18 Software Development system in SaaS environment

Publications (2)

Publication Number Publication Date
KR20110070634A KR20110070634A (en) 2011-06-24
KR101231746B1 true KR101231746B1 (en) 2013-02-08

Family

ID=44402114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090127524A KR101231746B1 (en) 2009-12-18 2009-12-18 Software Development system in SaaS environment

Country Status (1)

Country Link
KR (1) KR101231746B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180058350A (en) 2016-11-24 2018-06-01 주식회사 부뜰정보시스템 Processor or providing enterprise type solution
KR20200123624A (en) 2019-04-22 2020-10-30 주식회사 크로센트 Cloud-based application development platform

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527578B1 (en) * 2014-01-23 2015-06-10 주식회사 티맥스 소프트 Software development apparatus and method
KR102205458B1 (en) 2015-10-26 2021-01-20 에스케이텔레콤 주식회사 Apparatus and method for managing application

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070106692A (en) * 2004-12-09 2007-11-05 주식회사 아도반테스토 Method and system for performing installation and configuration management of tester instrument modules
KR20070114306A (en) * 2005-03-02 2007-11-30 주식회사 아도반테스토 Compact representation of vendor hardware module revisions in an open architecture test system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070106692A (en) * 2004-12-09 2007-11-05 주식회사 아도반테스토 Method and system for performing installation and configuration management of tester instrument modules
KR20070114306A (en) * 2005-03-02 2007-11-30 주식회사 아도반테스토 Compact representation of vendor hardware module revisions in an open architecture test system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180058350A (en) 2016-11-24 2018-06-01 주식회사 부뜰정보시스템 Processor or providing enterprise type solution
KR20200123624A (en) 2019-04-22 2020-10-30 주식회사 크로센트 Cloud-based application development platform

Also Published As

Publication number Publication date
KR20110070634A (en) 2011-06-24

Similar Documents

Publication Publication Date Title
US9201632B2 (en) Systems and methods for incremental software development
US8572566B2 (en) Systems and methods for analyzing changes in application code from a previous instance of the application code
US8898627B2 (en) Systems and methods for applying rules to transform objects of an application
US8671222B2 (en) Systems and methods for dynamically deploying an application transformation tool over a network
EP2972821B1 (en) Application compatibility checking in a distributed computing environment
US8635056B2 (en) System and method for system integration test (SIT) planning
US7966612B2 (en) Method, system and computer program for installing shared software components
Bruno et al. Using test cases as contract to ensure service compliance across releases
US9672139B2 (en) Debugging in a production environment
US10725897B2 (en) Systems and methods for automatically parallelizing sequential code
US9223683B1 (en) Tool to analyze dependency injection object graphs for common error patterns
CN103186463B (en) Determine the method and system of the test specification of software
KR101231746B1 (en) Software Development system in SaaS environment
US20090177471A1 (en) Model development authoring, generation and execution based on data and processor dependencies
Kupsch et al. Bad and good news about using software assurance tools
US10656922B2 (en) Systems and methods for providing an application transformation tool
CN113342323A (en) Method and device for software online development
US8856745B2 (en) System and method for using a shared standard expectation computation library to implement compliance tests with annotation based standard
CN103064783A (en) System and method to carry out function tests by means of repeatedly used dynamic link library (DLL)
Nedeltcheva et al. Challenges towards modeling and generating infrastructure-as-code
Di Ruscio et al. A model‐driven approach to detect faults in FOSS systems
Jung et al. Mulini: an automated staging framework for QoS of distributed multi-tier applications
Bureš et al. CoCoME in SOFA
Bicevskis et al. Self-management of information systems
WO2011041246A1 (en) Systems and methods for analyzing and transforming an application from a source installation to a target installation

Legal Events

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

Payment date: 20160127

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170124

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180123

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190103

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191216

Year of fee payment: 8

R401 Registration of restoration