KR20070058943A - Apparatus and method for evaluating of software architecture - Google Patents

Apparatus and method for evaluating of software architecture Download PDF

Info

Publication number
KR20070058943A
KR20070058943A KR1020060053761A KR20060053761A KR20070058943A KR 20070058943 A KR20070058943 A KR 20070058943A KR 1020060053761 A KR1020060053761 A KR 1020060053761A KR 20060053761 A KR20060053761 A KR 20060053761A KR 20070058943 A KR20070058943 A KR 20070058943A
Authority
KR
South Korea
Prior art keywords
architecture
functional requirements
software
design model
software product
Prior art date
Application number
KR1020060053761A
Other languages
Korean (ko)
Other versions
KR100812229B1 (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 한국전자통신연구원
Publication of KR20070058943A publication Critical patent/KR20070058943A/en
Application granted granted Critical
Publication of KR100812229B1 publication Critical patent/KR100812229B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation

Abstract

A device and a method for evaluating of a software architecture are provided to evaluate whether the architecture of a series of software products or a single product architecture derived from the architecture satisfy a nonfunctional requirement of a product group or a specific product, and correctly/typically evaluate quality related to the nonfunctional requirement. An architecture maker(100) describes architecture design information including the software architecture and the nonfunctional requirement by using a UML(Unified Modeling Language). An architecture design model generator(110) generates an architecture design model according to the architecture design information. A tradeoff analyzer(120) analyzes tradeoff among the nonfunctional requirements satisfied by the architecture based on the architecture design model. A converter(130) converts the analyzed architecture into a different typical description according to a kind of the nonfunctional requirement. A tester(140) evaluates whether the converted architecture satisfies the nonfunctional requirement.

Description

소프트웨어 아키텍처 평가 장치 및 방법{Apparatus and Method for evaluating of software architecture}Apparatus and Method for evaluating of software architecture

도 1은 본 발명에 따른 소프트웨어 아키텍처 평가 장치의 구성을 개략적으로 나타낸 블럭도.1 is a block diagram schematically showing the configuration of a software architecture evaluation apparatus according to the present invention.

도 2는 본 발명에 따른 소프트웨어 아키텍처 평가 방법을 나타낸 흐름도. 2 is a flow chart illustrating a software architecture evaluation method in accordance with the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 아키텍처 작성부 110 : 아키텍처 설계 모형 생성부100: architecture creation unit 110: architecture design model generation unit

120 : 트레이드 오프 분석부 130 : 변환부120: trade off analysis unit 130: conversion unit

140 : 테스트부140: test unit

본 발명은 소프트웨어 아키텍처가 특정 비기능적 요구 사항을 만족하는지 평가하는 소프트웨어 아키텍처 평가 장치 및 방법에 관한 것이다. The present invention relates to a software architecture evaluation apparatus and method for evaluating whether a software architecture satisfies certain non-functional requirements.

일반적으로 임베디드 시스템은 전용 컴퓨터나 마이크로 프로세서를 구동하여 특정 목적의 작업이나 특정 기능을 수행하도록 설계한 하드웨어와 소프트웨어를 갖는 제어 시스템을 의미한다. 임베디드 시스템 개발에서 소프트웨어는 하드웨어가 제공할 수 없는 사용자 요구 사항에 대한 차별화된 서비스를 제공하기 위해 개발된다. 임베디드 소프트웨어를 탑재한 제품은 통신, 가전, 의료, 항공, 군사 등의 전 산업으로 확대되고 있어 임베디드 소프트웨어의 가치는 다양한 기능을 제공하기 위해 더욱 증가할 것으로 예상된다.In general, an embedded system refers to a control system having hardware and software designed to drive a dedicated computer or microprocessor to perform a specific purpose or a specific function. In embedded system development, software is developed to provide differentiated services for user requirements that hardware cannot provide. Products with embedded software are expanding across industries such as telecommunications, consumer electronics, medical, aviation, and military, and the value of embedded software is expected to increase further to provide various functions.

임베디드 시스템에서 구축된 소프트웨어의 평가 방법은 다양하다. 그러나 소수만이 소프트웨어 제품계열 아키텍처를 평가하는데 사용될 수 있고 대부분은 단일 제품 아키텍처를 평가하는 방법이다. SAAM(Software Architecture Analysis Method), ATAM(Architecture Tradeoff Analysis Method)와 같은 소프트웨어 아키텍처 평가 방법들이 단일 제품 아키텍처를 평가하는 방법들이다.There are many ways to evaluate software built on embedded systems. However, only a few can be used to evaluate software product line architectures, and most are methods of evaluating a single product architecture. Software architecture evaluation methods such as Software Architecture Analysis Method (SAAM) and Architecture Tradeoff Analysis Method (ATAM) are methods for evaluating a single product architecture.

소프트웨어 아키텍처 평가 방법 중 널리 알려진 ATAM(Architecture Tradeoff Analysis Method)은 이름이 나타내듯이 아키텍처가 특정 품질 속성들을 얼마나 잘 만족하는지를 평가하는 방법이며 품질속성들 사이의 trade-off를 분석하는 방법이다. ATAM은 아키텍처 스타일과 품질 속성 분석 방법 및 이전의 소프트웨어 평가 방법인 SAAM을 참조하여 만들어졌다. The well-known architecture tradeoff analysis method (ATAM), as its name suggests, evaluates how well an architecture satisfies specific quality attributes. It also analyzes trade-offs between quality attributes. ATAM was created with reference to architectural style and quality attribute analysis methods and the former software evaluation method SAAM.

상기 ATAM은 단일 아키텍처를 평가하는데 효과적으로 적용될 수 있는 방법이나 소프트웨어 제품 계열 아키텍처에는 적용할 수 있는 방법이 마련되어 있지 않다. The ATAM does not have a method that can be effectively applied for evaluating a single architecture or a method that can be applied to a software product family architecture.

소프트웨어 제품계열 아키텍처 평가 방법의 예로는 Family Architecture Assessment Method(FAAM)와 Family Architecture Evaluation(FAE)가 있다.Examples of software product line architecture evaluation methods are the Family Architecture Assessment Method (FAAM) and the Family Architecture Evaluation (FAE).

상기 FAAM은 정보 시스템 계열의 아키텍처 평가를 위한 방법으로, 다양한 품질 속성의 상호 운용성과 확장성에 초점을 맞추고 제품 생성 프로세스에 제품계열 이해 당사자들을 적극적으로 포함시킨 것이다. 이 방법은 또한 개발 팀이 FAAM에 적응하는 것을 가능하게 하기 위해 현실적인 노하우 메커니즘과 기법을 강조한다. The FAAM is a method for evaluating the architecture of information systems, focusing on the interoperability and scalability of various quality attributes, and actively incorporating product family stakeholders into the product creation process. The method also highlights realistic know-how mechanisms and techniques to enable development teams to adapt to FAAM.

그러나, 상기와 같은 종래의 방법은 소프트웨어 시스템을 구성하는 세부 컴포넌트가 성능/시간과 같은 비기능적 요구사항을 만족하는지 시뮬레이션을 통해 검증해 보는 데는 응용될 수 있지만 더 큰 단위인 아키텍처를 검증하는 데는 이용할 수 없는 단점이 있다. However, the above conventional method can be applied to verify whether the detailed components constituting the software system satisfy the non-functional requirements such as performance / time, but can be used to verify the architecture which is a larger unit. There is a disadvantage that can not be.

따라서, 본 발명의 목적은 소프트웨어 제품계열 아키텍처와 이로부터 파생된 단일 제품 아키텍처가 제품군과 특정 제품의 비 기능적 요구사항을 만족하는지 평가할 수 있는 소프트웨어 아키텍처 평가 장치 및 방법을 제공하는데 있다. Accordingly, an object of the present invention is to provide an apparatus and method for evaluating a software product family architecture and a single product architecture derived therefrom that can satisfy a non-functional requirement of a product family and a specific product.

본 발명의 다른 목적은 비 기능적 요구사항과 관련된 품질을 정형적으로 정확하게 평가할 수 있는 소프트웨어 아키텍처 평가 장치 및 방법을 제공하는데 있다. Another object of the present invention is to provide an apparatus and method for evaluating software architecture that can formally and accurately evaluate quality related to non-functional requirements.

상기 목적들을 달성하기 위하여 본 발명의 일 측면에 따르면, 통합 모델링 언어(UML)를 이용하여 소프트웨어 아키텍처와 비기능적 요구사항을 포함하는 아키텍처 설계 정보를 기술하는 아키텍처 작성부, 상기 아키텍처 작성부에 의해 기술된 아키텍처 설계 정보에 따라 아키텍처 설계 모형을 생성하는 아키텍처 설계 모형 생성부, 상기 아키텍처 설계 모형 생성부에서 생성된 아키텍처 설계 모형을 이용하여 아키텍처가 만족해야 할 비기능적 요구 사항 사이의 트래이드 오프를 분석하는 트레이드 오프 분석부, 상기 트레이드 오프 분석부에서 비기능적 요구 사항 사이의 관계가 분석된 아키텍처를 검증하고자 하는 비기능적 요구 사항의 종류에 따라 다른 정형적 표기법으로 변환하는 변환부, 상기 변환부에서 정형적 표기법으로 변환된 아키텍처에 대하여 비기능적 요구 사항을 만족하는지를 평가하는 테스트부를 포함하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 장치가 제공된다. According to an aspect of the present invention to achieve the above object, by using an unified modeling language (UML) architecture writing unit for describing architectural design information including software architecture and non-functional requirements, described by the architecture writing unit An architecture design model generator that generates an architecture design model according to the architectural design information, and analyzes the trade-off between nonfunctional requirements that the architecture must satisfy by using the architecture design model generated by the architecture design model generator. A trade-off analysis unit, a conversion unit for converting into a formal notation according to the type of non-functional requirements to verify the architecture of the relationship between the non-functional requirements in the trade-off analysis unit, formal in the conversion unit For architectures converted to notation There is provided a software architecture evaluation apparatus comprising a test unit for evaluating whether the non-functional requirements are satisfied.

상기 트레이드 오프 분석부는 상기 테이블을 이용하여 각 소프트웨어 제품 계열과 특정 소프트웨어 제품이 만족해야할 비기능적 요구 사항들의 우선순위/중요도를 판단하여 서로 충돌이 일어나는 비기능적 요구사항에 대해서는 상기 우선순위/중요도에 따라 상기 비기능적 요구 사항을 업데이트한다. The trade-off analysis unit uses the table to determine the priority / importance of the non-functional requirements that each software product series and the specific software product must satisfy, and according to the priority / importance for the non-functional requirements that conflict with each other. Update the nonfunctional requirements.

상기 변환부는 사용자에 의해 또는 상기 테이블에 등록된 우선순위/중요도에 따라 비기능적 요구 사항을 자동으로 선택하고, 상기 선택된 비기능적 요구 사항의 종류에 따라 다른 정형적 표기법으로 변환한다. The conversion unit automatically selects the non-functional requirements by the user or according to the priority / importance registered in the table, and converts them into other formal notation according to the type of the selected non-functional requirements.

본 발명의 다른 측면에 따르면, 통합 모델링 언어(UML)를 이용한 아키텍처 설계 정보가 입력되면, 상기 아키텍처 설계 정보에 따라 아키텍처 설계 모형을 생 성하고, 상기 생성된 아키텍처 설계 모형을 이용하여 아키텍처가 만족해야 할 비기능적 요구 사항 사이의 트레이드 오프를 분석하고, 상기 비기능적 요구 사항 사이의 관계가 분석된 아키텍처를 비기능적 요구 사항의 종류에 따라 다른 정형적 표기법으로 변환하고, 사용자에 의해 입력된 테스트 요청 정보에 따라 상기 정형적 표기법으로 변환된 아키텍처가 비기능적 요구 사항을 만족하는지를 평가하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 방법이 제공된다. According to another aspect of the present invention, when architecture design information using the Unified Modeling Language (UML) is input, an architecture design model should be generated according to the architecture design information, and the architecture should be satisfied using the generated architecture design model. Analyze the trade-offs between the non-functional requirements to be performed, convert the architecture from which the relationships between the non-functional requirements are analyzed into formal notations according to the type of non-functional requirements, and test request information entered by the user. A software architecture evaluation method is provided for evaluating whether an architecture converted to the formal notation satisfies a non-functional requirement.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 소프트웨어 아키텍처 평가 장치의 구성을 개략적으로 나타낸 블럭도이다.1 is a block diagram schematically showing the configuration of a software architecture evaluation apparatus according to the present invention.

도 1을 참조하면, 소프트웨어 아키텍처 평가 장치는 아키텍처 작성부(100), 아키텍처 설계 모형 생성부(110), 트레이드 오프(trade-off) 분석부(120), 변환부(130), 테스트부(140)를 포함한다. Referring to FIG. 1, the software architecture evaluation apparatus includes an architecture generator 100, an architecture design model generator 110, a trade-off analyzer 120, a converter 130, and a tester 140. ).

상기 아키텍처 작성부(100)는 통합 모델링 언어(UML, Unified Modeling Language)를 기반으로 아키텍처 설계 정보를 작성한다. 상기 아키텍처 설계 정보는 소프트웨어 시스템의 아키텍처와 비기능적 요구사항을 포함한다. 여기서, 상기 소프트웨어 시스템의 아키텍처는 소프트웨어 제품 계열 아키텍처 또는 특정 소프트웨어 제품 아키텍처를 말한다. The architecture preparation unit 100 creates architecture design information based on a Unified Modeling Language (UML). The architectural design information includes the architecture and nonfunctional requirements of the software system. Here, the architecture of the software system refers to a software product line architecture or a specific software product architecture.

또한, 상기 아키텍처 설계 정보는 소프트웨어 시스템의 구성 부분에 대한 기 능적 요구 사항과 비기능적 요구 사항이 기술된다. 상기 기능적 요구 사항은 구성부분들의 유기적 결합방법, 각 구성부분들이 어떤 결과를 도출할 것인가 등에 관한 요구사항을 말하고, 상기 비기능적 요구 사항은 전체 소프트웨어 시스템 또는 각 구성 컴포넌트들의 처리시간, 결과 산출 속도 등의 요구사항을 말한다.In addition, the architectural design information describes the functional and non-functional requirements for the components of the software system. The functional requirements refer to the requirements for the organic coupling method of the components, what results each component will produce, etc. The non-functional requirements include the processing time of the entire software system or each component, the speed of producing the results, and the like. The requirements of the

상기 아키텍처 설계 모형 생성부(110)는 상기 아키텍처 작성부(100)를 통해 입력된 아키텍처 설계 정보에 따라 아키텍처 설계 모형을 생성한다. The architecture design model generation unit 110 generates an architecture design model according to the architecture design information input through the architecture creation unit 100.

즉, 상기 아키텍처 설계 모형 생성부(110)는 상기 아키텍처 설계 정보에 기술된 비기능적 요구사항을 만족시키는 적정한 소프트웨어 시스템의 컴포넌트들을 설계한다. 이러한 설계 모형에는 소프트웨어를 구성하는 다수의 컴포넌트들이 포함되며 개별 컴포넌트를 표현하는 항목에 성능, 보안 등의 비기능적 속성을 추가적으로 명세한다. That is, the architecture design model generation unit 110 designs components of an appropriate software system that satisfies the non-functional requirements described in the architecture design information. This design model includes a number of components that make up the software, and additionally specifies non-functional properties such as performance and security in items representing individual components.

상기 트레이드 오프 분석부(120)는 상기 아키텍처 설계 모형 생성부(110)에서 생성된 설계 모형에서 소프트웨어 제품 계열 혹은 특정 소프트웨어 제품이 만족해야 할 비기능적 요구사항들 사이의 트레이드 오프를 분석한다. The trade off analysis unit 120 analyzes a trade-off between non-functional requirements that a software product series or a specific software product must satisfy in the design model generated by the architecture design model generation unit 110.

즉, 상기 트레이드 오프 분석부(120)에는 소프트웨어 제품 계열 또는 제품별로 비기능적 요구사항의 우선순위/중요도가 정해진 테이블이 존재한다. 상기 테이블은 아키텍트, 고객, 프로젝트 매니저 등이 비 기능적 요구사항에 대한 우선순위/중요도를 판단하여 미리 구축한 테이블일 수 있다. That is, the trade-off analyzer 120 has a table in which the priority / importance of non-functional requirements is determined for each software product line or product. The table may be a table previously built by an architect, a customer, a project manager, and the like by determining the priority / importance of the non-functional requirements.

따라서, 상기 트레이드 오프 분석부(120)는 미리 구축된 테이블을 이용하여 각 소프트웨어 제품계열 또는 제품이 만족해야할 비기능적 요구 사항들의 우선 순 위 또는 중요도를 판단해서 서로 충돌이 일어나는 비기능적 요구사항에 대해서는 우선순위에 따라 제거 또는 유보시킬 수 있다. Accordingly, the trade-off analyzer 120 determines the priority or importance of each non-functional requirement that each software product line or product should satisfy by using a pre-established table for the non-functional requirement that conflicts with each other. Can be removed or withheld according to priority.

상기 트레이드 오프 분석부(120)가 비기능적 요구 사항간의 트레이드 오프를 분석하는 방법에는 여러 가지가 있다. There are several ways in which the trade off analysis unit 120 analyzes the trade off between non-functional requirements.

한가지 접근 방법은 NFR(Non-Functional Requirements) 프레임웍을 사용하는 것이다. 이 프레임웍에서는 상충되는 목표(goal)가 Softgoal Interdependency Graph(SIG)를 사용하여 분석된다. One approach is to use the Non-Functional Requirements (NFR) framework. In this framework, conflicting goals are analyzed using the Softgoal Interdependency Graph (SIG).

상기 SIG에서 각 노드는 softgoal을 표현하며 제품의 비 기능적 요구사항을 의미한다. 그리고 parent goal과 그것의 descendant들 사이의 링크는 parent softgoal을 만족하는데 기여하는(긍정적이거나 부정적으로) descendant들의 정도(degree)를 나타낸다. 이러한 과정에서 비 기능적 요구사항이 설명되고 상세화를 통해 관리된다.Each node in the SIG represents a softgoal and represents a non-functional requirement of a product. And the link between the parent goal and its descendants indicates the degree of descendants that contribute (positively or negatively) to satisfy the parent softgoal. In this process, non-functional requirements are accounted for and managed through refinement.

상기 변환부(130)는 상기 트레이드 오프 분석부(120)에서 비기능적 요구 사항이 분석된 아키텍처를 비기능적 요구 사항의 종류에 따라 다른 정형적 표기법으로 변환한다. 상기 정형적 표기법은 어떠한 비기능적 요구사항이 평가되어야 하는가에 따라 달라지는 것으로서, 예를 들면, Rapide, Armani, Wright 등일 수 있다.The conversion unit 130 converts the architecture from which the non-functional requirements are analyzed by the trade-off analyzer 120 into a formal notation according to the type of non-functional requirements. The formal notation depends on which non-functional requirements are to be evaluated, for example Rapide, Armani, Wright and the like.

상기 변환부(130)에서 수행되는 변환은 변환 도구를 사용하여 자동화되는 것으로서, 상기 변환도구는 예를들면, FDAF(aspect-oriented formal design analysis framework)에 의해 UML 다이어그램을 Rapid ADL로 변환, UML과 OCL로 표현한 S/W 아키텍처를 ADL 요소로 매핑하는 방법 등이 있다. The conversion performed by the conversion unit 130 is automated using a conversion tool, which is, for example, by converting a UML diagram into Rapid ADL by an aspect-oriented formal design analysis framework (FDA), UML and There are ways to map S / W architecture expressed in OCL to ADL element.

따라서, 상기 변환부(130)는 비기능적 요구 사항의 종류에 따라 확장된 UML 다이어그램을 서로 다른 정형적 표기법으로 변환한다. Accordingly, the conversion unit 130 converts the extended UML diagram into different formal notation according to the type of non-functional requirement.

상기 테스트부(140)는 상기 변환부(130)에서 변환된 정형적 표기법에 대하여 시뮬레이션을 이용하여 테스트를 수행한다. The test unit 140 performs a test using a simulation on the formal notation converted by the converter 130.

즉, 상기 테스트부(140)는 시뮬레이션된 설계 모형이 아키텍처 설계 정보에서 기술된 비기능적 요구 사항을 만족하는지 판단하는 것으로, 설계 모형에 포함된 개별 컴포넌트의 인터페이스 성능 지수를 연결관계에 따라서 정해진 비기능적 요구 사항을 만족시키는지를 검사한다. That is, the test unit 140 determines whether the simulated design model satisfies the non-functional requirements described in the architecture design information. The test unit 140 determines the non-functional interface performance index of the individual components included in the design model according to the connection relationship. Check that you meet the requirements.

즉, 상기 테스트부(140)는 소프트웨어 제품계열 아키텍처가 비기능적 요구 사항을 만족하는지를 검사하고, 제품 계열 아키텍처로부터 파생된 특정 제품의 아키텍처가 비기능적 요구 사항을 만족하는지를 검사하는 역할을 수행한다. That is, the test unit 140 checks whether the software product line architecture satisfies the non-functional requirements, and checks whether the architecture of a specific product derived from the product line architecture satisfies the non-functional requirements.

도 2는 본 발명에 따른 소프트웨어 아키텍처 평가 방법을 나타낸 흐름도이다. 2 is a flowchart illustrating a software architecture evaluation method according to the present invention.

도 2를 참조하면, 아키텍처 평가 장치는 UML을 이용하여 작성된 아키텍처 설계 정보가 입력되면(S200), 상기 아키텍처 설계 정보를 이용하여 아키텍처 설계 모형을 생성한다(S202). 상기 아키텍처 설계 정보는 소프트웨어 제품계열(혹은 특정 소프트웨어 제품)의 아키텍처와 평가되어야 할 비 기능적 요구사항을 말한다. Referring to FIG. 2, when the architecture design information input using the UML is input (S200), the architecture evaluation apparatus generates an architecture design model using the architecture design information (S202). The architectural design information refers to the architecture of the software product line (or specific software product) and the non-functional requirements to be evaluated.

즉, 상기 사용자는 UML을 이용하여 소프트웨어 제품계열(혹은 특정 소프트웨어 제품)의 아키텍처를 정의하고, 평가되어야 할 비 기능적 요구사항을 정의한다.That is, the user defines the architecture of a software product line (or a specific software product) using UML, and defines non-functional requirements to be evaluated.

그러면, 상기 아키텍처 평가 장치는 상기 UML로 표현할 수 없는 비 기능적 요구사항을 상세히 표현하기 위하여 확장된 UML 표기법을 이용하여 비 기능적 속성이 포함된 개정된 아키텍처 표현 즉, 아키텍처 설계 모형을 생성한다. Then, the architecture evaluation apparatus generates a revised architecture representation, that is, an architectural design model including non-functional attributes, by using the extended UML notation in order to express non-functional requirements that cannot be expressed in the UML in detail.

예를 들어, 시스템의 응답시간 성능을 평가하기 위해서는, 응답 시간과 관련된 정보가 단순한 OCL 제약사항 대신 하나의 속성으로써 표현되어야 한다. 그래야만 이후 단계에서 Rapide와 같은 정형적 표기법으로 전환되는 것이 가능하다. For example, to evaluate the response time performance of a system, information related to response time must be represented as an attribute instead of a simple OCL constraint. Only then can it be converted to a formal notation such as Rapide in a later step.

단계 202의 수행 후, 상기 아키텍처 평가 장치는 소프트웨어 제품계열 (혹은 특정 소프트웨어 제품)이 만족해야 할 비기능적 요구사항들 사이의 trade-off를 분석한다(204). After performing step 202, the architecture evaluation device analyzes 204 trade-offs between non-functional requirements that a software product line (or a particular software product) must satisfy.

즉, 상기 아키텍처 평가 장치에는 각 소프트웨어 제품계열(혹은 특정 소프트웨어 제품)이 만족해야할 비기능적 요구 사항들의 우선 순위 또는 중요도가 정해진 테이블이 있어서, 각 소프트웨어 제품 계열(혹은 특정 소프트웨어 제품)에서 서로 충돌이 일어나는 비기능적 요구사항에 대해서는 우선순위에 따라 제거 또는 유보시킬 수 있다. That is, the architecture evaluation apparatus has a table in which the priority or importance of non-functional requirements that each software product line (or a specific software product) must satisfy is determined so that a conflict occurs in each software product line (or a specific software product). Nonfunctional requirements may be removed or withheld in order of priority.

이러한 아키텍처의 비 기능적 요구사항을 평가하는 과정을 거치기 위해서는 제품계열과 이로부터 파생된 제품 아키텍처의 어떠한 비 기능적 요구사항이 평가될 것인지를 결정하는 것이 필요하다. 비 기능적 요구사항은 아래의 1)-8)의 순서에 의해 결정된다. To assess the non-functional requirements of these architectures, it is necessary to determine which non-functional requirements of the product line and its derived product architectures will be evaluated. Non-functional requirements are determined by the sequence 1) -8) below.

1)목적을 제안한다: 평가 리더가 참석자들(아키텍트, 고객, 프로젝트 매니저 등)에게 평가의 목적을 설명하고 질문에 답변한다.1) Suggest a goal: The evaluation leader explains the purpose of the evaluation to the participants (architect, customer, project manager, etc.) and answers the question.

2)Business driver들을 설명한다: 프로젝트 매니저는 어떠한 business goal 이 개발에 동기를 부여 했는지와 중요한 아키텍처 드라이버(높은 가용성, time-to-market, 높은 보안)를 설명한다.2) Describe the business drivers: The project manager describes which business goals motivated development and important architectural drivers (high availability, time-to-market, high security).

3)소프트웨어 제품계열 아키텍처를 설명한다: 아키텍트는 소프트웨어 제품계열 아키텍처의 공통적인 부분과 가변적인 부분을 어떻게 발견, 디자인하고 모델링 하였는지 설명한다. 그리고 다음과 같은 측면에 기초하여 소프트웨어 제품계열 아키텍처를 설명한다: (1) 소프트웨어 제품계열 아키텍처의 어떤 부분이 제품계열 내의 제품들 사이에서 공유되고 공유되지 않는지 (2) 아키텍처와 컴포넌트 내에서 가변점으로 제공되는 품질 속성 (3) 재사용 자산을 개발하는데 드는 상대적인 노력의 양을 나타내는 재사용 수준 3) Describe the software product line architecture: The architect explains how to discover, design and model common and variable parts of the software product line architecture. It then describes the software product line architecture based on the following aspects: (1) which parts of the software product line architecture are shared and not shared among the products in the product line; (2) the variable points within the architecture and components. Quality attributes provided (3) A level of reuse that represents the relative amount of effort spent developing a reuse asset.

4)단일 제품의 아키텍처를 설명: 아키텍트는 제품계열로부터 도출된 단일 제품의 아키텍처에 대해 적절한 수준의 상세부분까지 설명한다. 설명은 다음과 같은 측면들을 모두 설명해야 한다. (1) 운영시스템, 하드웨어, 미들웨어와 같은 기술적 제약사항 (2) 어떻게 제품계열 아키텍처의 공통성과 가변성이 사용되었는가 (3) 품질 속성 요구사항을 만족하기 위해 사용된 아키텍처적 접근방법 (4) 설명하고 있는 아키텍처가 어떻게 business driver를 처리하고 있는가4) Describe the architecture of a single product: An architect describes the architecture of a single product derived from the product line to the appropriate level of detail. The description should explain all of the following aspects: (1) technical constraints such as operating system, hardware, middleware, (2) how the commonality and variability of the product line architecture was used, (3) the architectural approach used to satisfy the quality attribute requirements, and (4) How your architecture handles business drivers

5)소프트웨어 제품계열 아키텍처에 대한 품질 속성을 브레인스토밍하고 우선순위를 정한다. 모든 참석자들이 소프트웨어 제품계열에 대한 시스템의 품질 속성을 규정하고 우선순위를 정하고 상세화한다. 특별히 3단계에서 아키텍트가 설명한 측면들에 초점을 맞춘다. 모든 참석자는 품질 속성의 우선순위를 결정하기 위해 투표를 하고 평가 리더는 투표 결과에 따라 품질속성의 우선순위를 매긴다. 품질 속 성의 수는 시간 스케쥴과 평가 아이템의 수에 따라 제한될 수 있다. 평가될 품질 속성의 수는 6단계에서 최종적으로 결정된다.5) Brainstorm and prioritize quality attributes for software product line architectures. All attendees define, prioritize and refine the quality attributes of the system for the software product line. In particular, it focuses on the aspects described by the architect in step 3. All attendees vote to prioritize the quality attributes, and the assessment leader prioritizes the quality attributes according to the vote results. The number of quality attributes can be limited according to the time schedule and the number of evaluation items. The number of quality attributes to be evaluated is finally determined in step 6.

6)소프트웨어 제품계열 아키텍처에 대한 평가 아이템을 브레인스토밍하고 상세화한다. 첫번째로 모든 참여자들이 가장 높은 우선순위를 가진 품질속성부터 가장 적은것까지 평가될 아이템을 브레인스토밍한다. 각 품질속성에 대해 제안된 평가 아이템들이 상세화된다. 그 다음 평가될 품질 속성과 그들을 평가할 때 사용될 아이템들이 모든 참석자들의 토론에 의해 결정된다.6) Brainstorm and detail evaluation items for the software product line architecture. First, all participants brainstorm the items to be evaluated from the highest priority quality attribute to the least. The proposed evaluation items are detailed for each quality attribute. The quality attributes to be evaluated and the items to be used to evaluate them are then determined by the discussion of all participants.

7)단일 제품의 아키텍처에 대한 품질 속성을 브레인스토밍하고 우선순위를 정한다: 5단계처럼, 모든 참석자들이 각 단일 제품 아키텍처에 대한 시스템의 품질 속성을 규정하고 우선순위를 정하고 상세화한다.7) Brainstorm and prioritize quality attributes for the architecture of a single product: As in step 5, all participants define, prioritize and refine the quality attributes of the system for each single product architecture.

8)단일 제품의 아키텍처에 대한 평가 아이템을 브레인스토밍하고 상세화한다: 6단계처럼, 모든 참석자들이 우선순위가 정해진 품질 속성을 평가하는데 사용될 아이템을 브레인스토밍한다.8) Brainstorm and detail evaluation items for the architecture of a single product: As in step 6, all participants brainstorm the items that will be used to evaluate the prioritized quality attributes.

9)결과를 제시한다: 평가 리더는 모든 단계를 요약하고 어떤 품질 속성이 높은 우선순위를 얻었는지 그리고 평가될 것인지에 대한 요약 사항을 배포한다.9) Present the results: The evaluation leader summarizes all steps and distributes a summary of which quality attributes have been given high priority and which will be evaluated.

상기와 같은 과정에 의해 구해진 비기능적 요구 사항에 대한 우선순위/중요도는 테이블 형태로 상기 아키텍처 평가 장치에 등록된다.Priority / importance for the non-functional requirements obtained by the above process is registered in the architecture evaluation apparatus in the form of a table.

따라서, 상기 아키텍처 평가 장치는 상기 테이블에 등록된 우선 순위/중요도를 이용하여 비기능적 요구사항간의 트레이드 오프를 분석한다. Therefore, the architecture evaluation apparatus analyzes the tradeoff between non-functional requirements using the priority / importance registered in the table.

단계 204의 수행 후, 상기 아키텍처 평가 장치는 상기 확장된 UML로 표현된 아키텍처를 정형적 표기법으로 변환한다(S206). 상기 정형적 표기법은 어떠한 비기능적 요구사항이 평가되어야 하는가에 따라 달라질 수 있는 것으로서, 예를 들면, Rapide, Armani, Wright 등일 수 있다. After performing step 204, the architecture evaluation apparatus converts the architecture represented by the extended UML into formal notation (S206). The formal notation may vary depending on what non-functional requirements are to be evaluated, for example Rapide, Armani, Wright, and the like.

즉, 상기 아키텍처 평가 장치는 사용자에 의해 선택된 비 기능적 요구 사항의 종류에 따라 확장된 UML 다이어그램을 서로 다른 정형적 표기법으로 변환한다. 다시 말하면, 상기 사용자가 상기 형성된 아키텍처에 대해 원하는 비기능적 요구 사항을 선택하면, 상기 아키텍처 평가 장치는 상기 아키텍처를 상기 선택된 비기능적 요구 사항에 해당하는 정형적 표기법으로 변환한다.That is, the architecture evaluation apparatus converts the extended UML diagram into different formal notation according to the type of non-functional requirement selected by the user. In other words, when the user selects a desired non-functional requirement for the formed architecture, the architecture evaluator converts the architecture into a formal notation corresponding to the selected non-functional requirement.

상기에서는 정형적 표기법으로 변환하기 위하여 상기 사용자가 비기능적 요구 사항을 선택한 것으로 설명하였지만, 비기능적 요구 사항 선택은 테이블에 미리 등록된 우선순위/중요도에 의해 자동으로 선택될 수도 있다. In the above description, the user selects a non-functional requirement in order to convert to a formal notation, but the non-functional requirement selection may be automatically selected based on a priority / importance previously registered in a table.

단계 206의 수행 후, 상기 아키텍처 평가 장치는 사용자로부터 테스트 요청 정보가 입력되면(S208), 상기 테스트 요청 정보에 따라 테스트를 수행하고(S210), 그 결과를 출력한다(S212).After performing step 206, when the test request information is input from the user (S208), the architecture evaluation apparatus performs a test according to the test request information (S210) and outputs the result (S212).

즉, 상기 사용자는 상기 정형적 표기법으로 변환된 아키텍처 설계 모형이 소프트웨어 제품 계열 혹은 제품의 비 기능적 요구사항을 만족하는지 판단하기 위하여 원하는 제품 계열 또는 제품을 선택한 후, 테스트를 위한 상세 정보를 입력한다. 상기 테스트를 위한 상세 정보는 예를들어 성능을 시험할 경우, 응답 시간, 리소스 이용, 시간당 작업량 등을 말한다.That is, the user selects a desired product family or product in order to determine whether the architectural design model converted to the formal notation satisfies the non-functional requirements of the software product family or product, and then inputs detailed information for testing. Detailed information for the test refers to, for example, response time, resource usage, and hourly workload when testing performance.

그러면, 상기 아키텍처 평가 장치는 상기 사용자에 의해 선택된 제품 계열 또는 제품에 대하여 상기 입력된 테스트 정보를 적용하여 테스트를 실행한다. Then, the architecture evaluator applies the input test information to the product line or product selected by the user to execute a test.

그런다음 상기 아키텍처 평가 장치는 상기 실행된 테스트의 결과를 출력한다. 상기 사용자는 상기 출력된 테스트 결과가 만족스럽지 못하면, 상기 단계 200에서 입력한 아키텍처 설계 정보를 수정한다. The architecture evaluation device then outputs the result of the executed test. If the user is not satisfied with the output test result, the user modifies the architectural design information input in step 200.

그러면, 상기 아키텍처 평가 장치는 상기 수정된 아키텍처 설계 정보를 이용하여 상기 과정을 다시 수행한다. Then, the architecture evaluation apparatus performs the process again using the modified architecture design information.

예를 들어 평가되어야 할 비 기능적 요구사항이 성능이라고 가정하자. 성능은 응답시간, 리소스 이용, 시간당 작업량 등으로 정의될 수 있다. 그리고 그것에 대한 평가는 시뮬레이션을 통해서 이루어질 수 있다. 그러나 현재의 UML은 모델 시뮬레이션뿐만 아니라 응답시간이나 리소스 이용도를 측정하는 어떠한 도구도 제공하지 않는다. 이러한 문제를 해결하기 위해서는 필요한 도구를 지원하거나 그러한 도구가 쉽게 구현될 수 있는 정형적 표기법을 규정해야 한다. 이러한 접근 방법에 따라, 응답 시간과 리소스 이용을 분석하기 위해 확장된 UML 표현을 이용하여 아키텍처를 표현하고 이를 Rapide와 Armani등의 정형적 표기법으로 변환한다. 그런다음 상기 아키텍처 평가 장치는 상기 정형적 표기법으로 변환된 아키텍처가 소프트웨어 제품 계열 혹은 제품의 비 기능적 요구사항을 만족하는지 분석한다. For example, suppose performance is a non-functional requirement that needs to be evaluated. Performance can be defined by response time, resource usage, and hourly workload. And evaluation of it can be done through simulation. However, the current UML does not provide any tools to measure response time or resource utilization as well as model simulation. To solve these problems, you need to support the tools you need or define formal notations that can be easily implemented. According to this approach, we use an extended UML representation to analyze the architecture and transform it into formal notation such as Rapide and Armani to analyze response time and resource usage. The architecture evaluation device then analyzes whether the architecture converted to the formal notation satisfies the non-functional requirements of the software product line or product.

다음으로 비 기능적 요구 사항을 보안이라고 가정하여 설명하기로 한다.Next, the non-functional requirements will be described assuming security.

보안은 ISO7498-2에 보면 확인(authentication), 비밀(confidentiality), 권한(authorization), 무결성(integrity), 비거부(no-repudiation)의 다섯 가지 범주로 나뉘어져 있다. 이러한 요구사항은 구현단계에서 추가적으로 고려하여 구현하는 것보다 개발 초기단계, 즉, 아키텍처 설계 단계에서부터 고려하는 것이 더 효율적이다. 이렇게 하기 위해서는 보안 요구사항을 확장된 UML 다이어그램을 사용하여 표현하고 이를 정형적 표기법(예:Promela)으로 변환하고, 상기 정형적 표현법으로 변환된 아키텍처가 소프트웨어 제품 계열 혹은 제품의 보안을 만족하는지를 분석한다. In ISO7498-2, security is divided into five categories: authentication, confidentiality, authorization, integrity, and no-repudiation. It is more efficient to consider these requirements from the early stage of development, that is, from the architectural design stage, than from the implementation stage. To do this, express security requirements using extended UML diagrams, convert them to formal notation (eg Promela), and analyze whether the architecture converted to formal notation satisfies the security of the software product line or product. .

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above may be implemented in a program and stored in a recording medium in a computer-readable form. Since this process can be easily carried out by those skilled in the art will not be described in more detail.

본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.The present invention is not limited to the above embodiments, and many variations are possible by those skilled in the art within the spirit of the present invention.

상술한 바와 같이 본 발명에 따르면, 단일 소프트웨어 제품 아키텍처만을 평가하는 대부분의 아키텍처 평가 방법과는 달리 제품계열 아키텍처와 이로부터 파생된 제품 아키텍처 모두를 평가할 수 있는 소프트웨어 아키텍처 평가 장치 및 방법을 제공할 수 있다. As described above, according to the present invention, unlike most architecture evaluation methods for evaluating only a single software product architecture, an apparatus and method for evaluating a software architecture capable of evaluating both a product family architecture and a product architecture derived therefrom can be provided. .

또한, 본 발명에 따르면, 확장된 UML을 이용하여 표현된 제품계열(또는 특정 제품)아키텍처의 비 기능적 특성이 Rapide, Armani, Promela와 같은 정형적 표현으로 자동 변환되도록 지원하기 때문에 변환된 결과를 신뢰할 수 있으며, 변환된 정 형적 언어를 이용하여 시뮬레이션이나 모델 체킹을 하기 때문에 결과가 정확하며 노력과 시간이 절약되는 소프트웨어 아키텍처 평가 장치 및 방법을 제공할 수 있다. In addition, according to the present invention, since the non-functional characteristics of the product line (or specific product) architecture expressed using the extended UML are supported to be automatically converted into formal expressions such as Rapide, Armani, and Promela, the converted result is reliable. It is possible to provide an apparatus and method for evaluating software architecture that results in accuracy and saves effort and time because simulation or model checking is performed using the converted formal language.

또한, 본 발명에 따르면, 특정한 비 기능적 요구사항에 맞추어 특화된 평가 방법이 아니라, 평가자가 원하는 다양한 비 기능적 요구사항을 검증해 볼 수 있는 소프트웨어 아키텍처 평가 장치 및 방법을 제공할 수 있다. In addition, according to the present invention, it is possible to provide an apparatus and method for evaluating a software architecture that can verify various non-functional requirements desired by an evaluator, rather than an evaluation method specialized for a specific non-functional requirement.

Claims (14)

통합 모델링 언어(UML)를 이용하여 소프트웨어 아키텍처와 비기능적 요구사항을 포함하는 아키텍처 설계 정보를 기술하는 아키텍처 작성부;An architecture preparation unit for describing architecture design information including a software architecture and non-functional requirements using an unified modeling language (UML); 상기 아키텍처 작성부에 의해 기술된 아키텍처 설계 정보에 따라 아키텍처 설계 모형을 생성하는 아키텍처 설계 모형 생성부;An architecture design model generation unit generating an architecture design model according to the architecture design information described by the architecture creation unit; 상기 아키텍처 설계 모형 생성부에서 생성된 아키텍처 설계 모형을 이용하여 아키텍처가 만족해야 할 비기능적 요구 사항 사이의 트래이드 오프를 분석하는 트레이드 오프 분석부;A trade-off analyzer for analyzing a trade-off between non-functional requirements that the architecture must satisfy by using the architecture design model generated by the architecture design model generator; 상기 트레이드 오프 분석부에서 비기능적 요구 사항 사이의 관계가 분석된 아키텍처를 검증하고자 하는 비기능적 요구 사항의 종류에 따라 다른 정형적 표기법으로 변환하는 변환부;및A conversion unit for converting a formal notation according to the type of non-functional requirements to verify the architecture from which the relationship between the non-functional requirements is analyzed by the trade-off analyzer; and 상기 변환부에서 정형적 표기법으로 변환된 아키텍처에 대하여 비기능적 요구 사항을 만족하는지를 평가하는 테스트부A test unit for evaluating whether the architecture satisfies the non-functional requirements for the architecture converted from the formal notation 를 포함하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 장치.Software architecture evaluation apparatus comprising a. 제1항에 있어서, The method of claim 1, 상기 소프트웨어 아키텍처는 소프트웨어 제품 계열 또는 특정 소프트웨어 제품을 포함하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 장치.And said software architecture comprises a software product line or a specific software product. 제1항에 있어서, The method of claim 1, 상기 아키텍처 설계 모형 생성부는 상기 아키텍처 작성부에 의해 기술된 소프트웨어 아키텍처가 상기 비기능적 요구 사항을 포함하도록 확장된 통합 모델링 언어를 이용하여 아키텍처 설계 모형을 생성하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 장치.And the architecture design model generation unit generates an architecture design model using an integrated modeling language extended so that the software architecture described by the architecture creation unit includes the non-functional requirements. 제1항에 있어서, The method of claim 1, 상기 트레이드 오프 분석부에는 소프트웨어 제품 계열과 특정 소프트웨어 제품별로 비기능적 요구 사항의 우선순위/중요도가 정해진 테이블이 존재하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 장치.The trade-off analysis unit is a software architecture evaluation apparatus, characterized in that there is a table in which the priority / importance of non-functional requirements for each software product series and specific software products. 제1항 또는 제4항에 있어서, The method according to claim 1 or 4, 상기 트레이드 오프 분석부는 상기 테이블을 이용하여 각 소프트웨어 제품 계열과 특정 소프트웨어 제품이 만족해야할 비기능적 요구 사항들의 우선순위/중요도를 판단하여 서로 충돌이 일어나는 비기능적 요구사항에 대해서는 상기 우선순위/중요도에 따라 상기 비기능적 요구 사항을 업데이트하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 장치.The trade-off analysis unit uses the table to determine the priority / importance of the non-functional requirements that each software product series and the specific software product must satisfy, and according to the priority / importance for the non-functional requirements that conflict with each other. Software architecture evaluation apparatus, characterized in that for updating the non-functional requirements. 제1항에 있어서, The method of claim 1, 상기 트레이드 오프 분석부는 NFR 프레임웍을 이용하여 비기능적 요구 사항 간의 트레이드 오프를 분석하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 장치.The trade off analysis unit software architecture evaluation device, characterized in that for analyzing the trade-off between non-functional requirements using the NFR framework. 제1항에 있어서, The method of claim 1, 상기 정형적 표기법은 라피드(Rapide), 아르마니(Armani), 라이트(Wright)중 하나인 것을 특징으로 하는 소프트웨어 아키텍처 평가 장치.The formal notation is a software architecture evaluation device, characterized in that one of Rapid (Arapide), Armani (Wright). 제1항 또는 제4항에 있어서, The method according to claim 1 or 4, 상기 변환부는 사용자에 의해 또는 상기 테이블에 등록된 우선순위/중요도에 따라 비기능적 요구 사항을 자동으로 선택하고, 상기 선택된 비기능적 요구 사항의 종류에 따라 다른 정형적 표기법으로 변환하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 장치.The converting unit automatically selects a non-functional requirement by a user or according to priority / importance registered in the table, and converts it into another formal notation according to the type of the selected non-functional requirement. Architecture evaluation device. 제1항에 있어서, The method of claim 1, 상기 테스트부는 사용자에 의해 입력된 테스트 요청 정보에 따라 테스트를 수행하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 장치.And the test unit performs a test according to test request information input by a user. 제9항에 있어서, The method of claim 9, 상기 테스트 요청 정보는 테스트를 원하는 소프트웨어 제품 계열 또는 특정 소프트웨어 제품 정보, 비기능적 요구 사항에 대한 상세 정보를 포함하는 것을 특 징으로 하는 소프트웨어 아키텍처 평가 장치.And the test request information includes detailed information about a software product line or specific software product information and non-functional requirements to be tested. 통합 모델링 언어(UML)를 이용한 아키텍처 설계 정보가 입력되면, 상기 아키텍처 설계 정보에 따라 아키텍처 설계 모형을 생성하는 단계;Generating architectural design model according to the architectural design information, when architectural design information using an unified modeling language (UML) is input; 상기 생성된 아키텍처 설계 모형을 이용하여 아키텍처가 만족해야 할 비기능적 요구 사항 사이의 트레이드 오프를 분석하는 단계;Analyzing trade-offs between non-functional requirements that the architecture must satisfy using the generated architecture design model; 상기 비기능적 요구 사항 사이의 관계가 분석된 아키텍처를 비기능적 요구 사항의 종류에 따라 다른 정형적 표기법으로 변환하는 단계;및Converting the architecture in which the relationship between the non-functional requirements is analyzed into a formal notation according to the type of non-functional requirement; and 사용자에 의해 입력된 테스트 요청 정보에 따라 상기 정형적 표기법으로 변환된 아키텍처가 비기능적 요구 사항을 만족하는지를 평가하는 단계Evaluating whether the architecture converted to the formal notation satisfies the non-functional requirements according to the test request information input by the user. 를 포함하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 방법.Software architecture evaluation method comprising a. 제11항에 있어서, The method of claim 11, 상기 통합 모델링 언어(UML)를 이용한 아키텍처 설계 정보가 입력되면, 상기 아키텍처 설계 정보에 따라 아키텍처 설계 모형을 생성하는 단계는,When architectural design information using the Unified Modeling Language (UML) is input, generating an architectural design model according to the architectural design information may include: 상기 사용자에 의해 상기 통합 모델링 언어(UML)을 이용한 소프트웨어 제품 계열 또는 특정 소프트웨어 제품의 아키텍처 정보와 비기능적 요구 사항을 입력받는 단계;Receiving, by the user, architectural information and non-functional requirements of a software product line or a specific software product using the Unified Modeling Language (UML); 상기 입력된 아키텍처 정보와 상기 비기능적 요구 사항을 확장된 통합 모델링 언어를 이용하여 아키텍처 설계 모형을 생성하는 단계를 포함하는 것을 특징으 로 하는 소프트웨어 아키텍처 평가 방법.And generating an architectural design model based on the input architecture information and the non-functional requirements using an extended integrated modeling language. 제11항에 있어서, The method of claim 11, 상기 사용자에 의해 입력된 테스트 요청 정보에 따라 상기 정형적 표기법으로 변환된 아키텍처가 비기능적 요구 사항을 만족하는지를 평가하는 단계는, Evaluating whether the architecture converted to the formal notation according to the test request information input by the user satisfies the non-functional requirements, 상기 아키텍처 설계 모형에서 소프트웨어 제품 계열 또는 특정 소프트웨어 제품이 선택되면, 상기 선택된 아키텍처에 대해 테스트 요청 정보를 입력받는 단계;Receiving a test request information on the selected architecture when a software product line or a specific software product is selected from the architecture design model; 상기 입력된 테스트 요청 정보에 따라 테스트를 수행하여 그 결과를 출력하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 아키텍처 평가 방법.And performing a test according to the input test request information and outputting a result of the test. 제13항에 있어서, The method of claim 13, 상기 테스트 출력 결과에 의해 상기 아키텍처 설계 정보가 수정되는 것을 특징으로 하는 소프트웨어 아키텍처 평가 방법.And the architecture design information is modified by the test output result.
KR1020060053761A 2005-12-05 2006-06-15 Apparatus and Method for evaluating of software architecture KR100812229B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050117755 2005-12-05
KR1020050117755 2005-12-05

Publications (2)

Publication Number Publication Date
KR20070058943A true KR20070058943A (en) 2007-06-11
KR100812229B1 KR100812229B1 (en) 2008-03-13

Family

ID=38355507

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060053761A KR100812229B1 (en) 2005-12-05 2006-06-15 Apparatus and Method for evaluating of software architecture

Country Status (1)

Country Link
KR (1) KR100812229B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100777103B1 (en) * 2005-08-19 2007-11-19 한국전자통신연구원 Apparatus and method for generation of test driver
US7895575B2 (en) 2005-08-19 2011-02-22 Electronics And Telecommunications Research Institute Apparatus and method for generating test driver
US9038025B1 (en) 2012-05-24 2015-05-19 Allstate Insurance Company Technical interaction model

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100969155B1 (en) 2008-08-21 2010-07-08 한국전력공사 Functional testing method of bus protective ied using uml test model
KR101214816B1 (en) 2010-08-26 2012-12-24 서강대학교산학협력단 Apparatus and Method for quantitative evaluation of automatically instantiated architecture, and Recording medium thereof
KR101705465B1 (en) 2015-10-22 2017-02-09 이승창 System for evaluation of open source software service

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020072953A1 (en) 2000-12-08 2002-06-13 Michlowitz Eric S. Process, a method, a system and software architecture for evaluating supplier performance
NZ525409A (en) 2003-04-17 2005-04-29 Auckland Uniservices Ltd Software design system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100777103B1 (en) * 2005-08-19 2007-11-19 한국전자통신연구원 Apparatus and method for generation of test driver
US7895575B2 (en) 2005-08-19 2011-02-22 Electronics And Telecommunications Research Institute Apparatus and method for generating test driver
US9038025B1 (en) 2012-05-24 2015-05-19 Allstate Insurance Company Technical interaction model

Also Published As

Publication number Publication date
KR100812229B1 (en) 2008-03-13

Similar Documents

Publication Publication Date Title
Lúcio et al. Model transformation intents and their properties
Friedenthal et al. A practical guide to SysML: the systems modeling language
Krogmann Reconstruction of software component architectures and behaviour models using static and dynamic analysis
JPH06103046A (en) System design method
KR100812229B1 (en) Apparatus and Method for evaluating of software architecture
KR100672894B1 (en) Apparatus and method for product-line architecture description and verification
Holtmann et al. Integrated and iterative systems engineering and software requirements engineering for technical systems
EP1548581A2 (en) Methods, apparatus and programs for system development
Said et al. On state machine mining from embedded control software
Teran-Somohano et al. Toward a model-driven engineering framework for reproducible simulation experiment lifecycle management
Mrasek et al. A new verification technique for large processes based on identification of relevant tasks
Stoermer et al. Practice patterns for architecture reconstruction
JP2007535013A (en) Computer program design
Wagner et al. Quality models
Celik et al. S-IDE: A tool framework for optimizing deployment architecture of High Level Architecture based simulation systems
CN114968817A (en) Method, device, equipment and storage medium for evaluating code change influence range
Schneider et al. Using informal knowledge for improving software quality trade-off decisions
Barber et al. Enabling iterative software architecture derivation using early non-functional property evaluation
Huhn et al. 8 UML for Software Safety and Certification: Model-Based Development of Safety-Critical Software-Intensive Systems
Conrad et al. Graph transformations for model-based testing
Heinrich et al. Integration and Orchestration of Analysis Tools
Heger An Approach for Guiding Developers to Performance and Scalability Solutions
Bhuta et al. A framework for identification and resolution of interoperability mismatches in COTS-based systems
Ashraf et al. ATAM-based architecture evaluation using LOTOS formal method
El Marzouki et al. The application of an automatic model composition prototype on the-Two hemisphere model driven approach

Legal Events

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

Payment date: 20110228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20111208

Year of fee payment: 20