• 제목/요약/키워드: Complexity metrics

검색결과 111건 처리시간 0.026초

Developing Visual Complexity Metrics for Automotive Human-Machine Interfaces

  • Kim, Ji Man;Hwangbo, Hwan;Ji, Yong Gu
    • 대한인간공학회지
    • /
    • 제34권3호
    • /
    • pp.235-245
    • /
    • 2015
  • Objective: The purpose of this study is to develop visual complexity metrics based on theoretical bases. Background: With the development of IT technologies, drivers process a large amount of information caused by automotive human-machine interface (HMI), such as a cluster, a head-up display, and a center-fascia. In other words, these systems are becoming more complex and dynamic than traditional driving systems. Especially, these changes can lead to the increase of visual demands. Thus, a concept and tool is required to evaluate the complicated systems. Method: We reviewed prior studies in order to analyze the visual complexity. Based on complexity studies and human perceptual characteristics, the dimensions characterizing the visual complexity were determined and defined. Results: Based on a framework and complexity dimensions, a set of metrics for quantifying the visual complexity was developed. Conclusion: We suggest metrics in terms of perceived visual complexity that can evaluate the in-vehicle displays. Application: This study can provide the theoretical bases in order to evaluate complicated systems. In addition, it can quantitatively measure the visual complexity of In-vehicle information system and be helpful to design in terms of preventing risks, such as human error and distraction.

Unified Process의 분석 클래스에 대한 복잡도 척도 (Complexity Metrics for Analysis Classes in the Unified Software Development Process)

  • 김유경;박재년
    • 정보처리학회논문지D
    • /
    • 제8D권1호
    • /
    • pp.71-80
    • /
    • 2001
  • 구조적 개발 방법론에 적용하도록 만들어진 복잡도 척도들은 클래스, 상속성, 메시지 전달 그리고 캡슐롸와 같은 객체지향의 개념에 직접적으로 적용할 수 없다. 또한, 기존이 객체지향 소프트웨어에 대한 척도의 연구는 프로그램의 복잡도나, 설계 단계의 척도가 대부분이었다. 실제로 분석 단계 클래스의 복잡도를 낮춤으로써, 시스템의 개발 노력이나 비용 및 유지보수 단계에서의 노력이 크게 줄어들게 되므로, 분석 클래스에 대한 복잡도를 측량하기 위한 척도가 필요하다. 본 논문에서는 객체지향 개발방법론인 Unified Process의 분석 단계에서 추출되는 분석 클래스에 대하여 복잡도를 측정할 수 있는 새로운 척도를 제안한다. 협력의 복잡도 CC(Collaboration Complexity)는 가능한 협력의 최대 수로서 클래스가 잠재적으로 얼마나 복잡할 수 있는지를 측정하기 위한 척도이며, 각 협력자들의 인터페이스를 이해하는 것과 관련된 총체적 어려움을 측정하는 인터페이스 복잡도 IC(Interface Complexity)를 정의하였다. 제안된 척도는 클래스의 크기 및 상속성에 대하여 수학적인 증명을 하였으며, Weyuker의 9가지 공리적 성질에 대하여 이론적인 검증을 하였다. 또한, 텍스트 마이닝 기법을 사용하여 사용자의 질문에 자동으로 응답하는 시스템의 분석 클래스에 대하여 제안된 척도를 사용하여 복잡도를 측정하였고 기존의 복잡도 척도인 CBO와 WMC의 값을 계산하여 비교하였다. CC와 CBO, IC와 WMC의 값을 비교해 본 결과 제안된 복잡도 척도의 계산 결과 제안된 복잡도 척도의 계산 결과 값이 그 값들보다 좀 더 복잡도를 잘 표현하고 있었다. 이로써 소프트웨어 개발 주기의 초기에 클래스에 대한 복잡도를 평가해 보고, 나머지 단계에 필요한 시간과 노력을 예측함으로써 보다 비용-효과적인 객체지향 소프트웨어를 개발할 수 있는 가능성이 높아진다.

  • PDF

객체지향 분석 단계에서의 클래스 복잡도 측정 (Measurement of Classes Complexity in the Object-Oriented Analysis Phase)

  • 김유경;박재년
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제28권10호
    • /
    • pp.720-731
    • /
    • 2001
  • 구조적 개발 방법론에 적용하도록 만들어진 복잡도 척도들을 클래스의 상속성, 다형성, 메시지 전달 그리고 캡슐화와 같은 객체지향의 개념에 직접적으로 적용할 수 없다. 또한 기존의 객체지향 소프트웨어에 대한 척도의 연구는 프로그램의 복잡도나, 설계 단계의 척도가 대부분이었다. 실제로 분석단계 클래스의 복잡도를 낮춤으로서 시스템의 개발 노력이나 비용 및 유지보수 단계에서의 노력이 크게 줄어들게 되므로, 분석 클래스에 대한 복잡도를 측량하기 위한 척도가 필요하다. 본 논문에서는 객체지향 개발방법론인 RUP(Rational Unified Process)의 분석 단계에서 추출되는 분석 클래스에 대해서 복잡도를 측정할 수 있는 새로운 척도를 제안한다. 협력 복잡도CC(Collaboration Complexity)는 가능한 협력의 최대 수로서 클래스가 잠재적으로 얼마나 복잡할 수 있는지를 측정하기 위한 척도이며, 각 협력자들의 인터페이스를 이해하는 것과 관련된 총체적 어려움을 측정하는 인터페이스 복잡도 IC(Interface Complexity)를 정의하였다. 제안된 척도는 Weyuker의 9가지 공리적 성질에 대하여 이론적인 검증을 하였으며, 텍스트 마이닝 기법을 사용하여 사용자의 질문에 자동으로 응답하는 시스템의 분석 클래스에 대하여 제안된 척도를 적용하여 복잡도를 측정하였다. 제안된 CC와 IC의 값과 Chidamber와 Kemerer가 제안된 CBO와 WMC의 값을 비교해 본 결과, 제안된 복잡도 척도의 계산결과 값이 큰 클래스의 경우에는 설계 이후 단계에서도 역시 복잡도가 커지게 되는 것을 알 수 있었다. 이로써 소프트웨어개발 주기의 초기에 클래스에 대한 복잡도를 평가해 보고, 나머지 단계에 필요한 시간과 노력을 예측함으로써 보다 비용-효과적인 객체지향 소프트웨어를 개발할 수 있는 가능성이 높아질 것으로 기대된다.

  • PDF

자바 프로그램의 복잡도 측정을 위한 척도 $\pi_{java}$의 설계 (Design of the Metrics Suite $\pi_{java}$for Java Program Complexity)

  • Eun-Mi Kim
    • 한국컴퓨터산업학회논문지
    • /
    • 제2권3호
    • /
    • pp.407-416
    • /
    • 2001
  • 본 논문에서는 C++ 프로그램을 측정하기 위하여 제안된 척도 $\pi_{java}$ c++/를 기반으로 Java 프로그램 복잡도를 측정하기 위한 척도 $\pi_{java}$ Java/을 제안한다. C++를 측정하기 위해 많은 척도들이 제안되어 왔으나 이들은 Java 프로그램만이 가지는 특성들을 고려하지 않았기 때문에 C++ 프로그램과 다른 성질을 가지고 있는 Java프로그램에 이들을 그대로 적용하는 것은 어렵다. 따라서, 본 논문에서는C++와 Java 언어의 공통점과 차이점을 분석한 결과와 본 연구팀이 C++ 프로그램의 복잡도를 측정하기 위해 제안했던 척도 $\pi_{java}$ c++/을 바탕으로 Java 프로그램의 복잡도를 측정하기 위한 새로운 척도 $\prod$$_{Java}$을 제안한다. 마지막으로 제안한 척도를 Weyuker의 성질에 적용하여 분석하며, 기존의 척도들과도 비교한다.

  • PDF

Software Metric for CBSE Model

  • Iyyappan. M;Sultan Ahmad;Shoney Sebastian;Jabeen Nazeer;A.E.M. Eljialy
    • International Journal of Computer Science & Network Security
    • /
    • 제23권12호
    • /
    • pp.187-193
    • /
    • 2023
  • Large software systems are being produced with a noticeably higher level of quality with component-based software engineering (CBSE), which places a strong emphasis on breaking down engineered systems into logical or functional components with clearly defined interfaces for inter-component communication. The component-based software engineering is applicable for the commercial products of open-source software. Software metrics play a major role in application development which improves the quantitative measurement of analyzing, scheduling, and reiterating the software module. This methodology will provide an improved result in the process, of better quality and higher usage of software development. The major concern is about the software complexity which is focused on the development and deployment of software. Software metrics will provide an accurate result of software quality, risk, reliability, functionality, and reusability of the component. The proposed metrics are used to assess many aspects of the process, including efficiency, reusability, product interaction, and process complexity. The details description of the various software quality metrics that may be found in the literature on software engineering. In this study, it is explored the advantages and disadvantages of the various software metrics. The topic of component-based software engineering is discussed in this paper along with metrics for software quality, object-oriented metrics, and improved performance.

대형 교환 소프트웨어의 복잡성과 고장분석 사례 연구 (Case study of the large switching software metrics and their fault analysis)

  • 이재기;남상식;김창봉;이규대
    • 한국통신학회논문지
    • /
    • 제27권10C호
    • /
    • pp.887-901
    • /
    • 2002
  • 소프트웨어 관리 모델은 크게 소프트웨어 프로젝트 견적 모델과 소프트웨어 설계평가 모델, 소프트웨어 복잡성 모델, 소프트웨어 신뢰도 성장 모델, 소프트웨어 프로세스 개선 모델 등으로 나누어진다. 그 중에서도 개발된 소프트웨어를 정량적으로 분석하여 평가하는 모델이 소프트웨어 복잡도 모델이다. 즉, 소프트웨어를 객관적으로 관리하는데 있어서 정량적인 판단 기준이 필요하다. 그렇기 때문에 소프트웨어 복잡성 모델(software complexity model)은 소프트웨어의 복잡성에 대한 정량적인 평가에 응용할 목적으로 도입되었으며, 소프트웨어 복잡성 측정시 이 결과를 소프트웨어 관리(software management)의 기준에 이용하는데 있어서 품질이나 생산성에 대한 영향을 제공할 때 정량적이고 명확히 할 필요가 있기 때문이다. 다시 말해서 복잡한 프로그램에는 에러가 많이 포함될 가능성이 높고 또 개발비용(source cost)도 높다는 것을 경험적으로 알 수 있다. 이러한 관계가 성립되지 않는 경우에는 소프트웨어의 효과적인 관리가 곤란하다. 본 논문은 이런 관점에서 대표적인 소프트웨어 복잡성 모델에 대한 적용법에 대해 기술하고 개발중인 교환시스템의 소프트웨어에 대해 volume metrics와 process complexity metrics 방법, 제어구조 및 인터페이스 구조 방법에 대한 분석 결과와 시스템 개발을 수행하는 과정에서 발생되고 있는 문제점들에 대해 다각도로 분석을 하여 이를 유사한 시스템 연구개발 및 프로젝트 관리에 활용하고자 한다.

SOA 기반 소프트웨어의 구조적 복잡도 측정을 위한 메트릭스 (Metrics for Measuring a Structural Complexity of Softwares Based on SOA)

  • 김은미
    • 융합보안논문지
    • /
    • 제10권1호
    • /
    • pp.29-34
    • /
    • 2010
  • SOA 기반의 응용 프로그램의 개발이 급격히 진전되는 시점에서 이에 따른 SOA 기반 소프트웨어의 품질평가는 중요하며 특히, 이러한 품질에 영향을 주는 중요한 요인 중의 하나가 시스템의 복잡도임을 고려할 때 SOA 기반 소프트웨어의 복잡도 측정은 중요하다. 따라서 본 논문에서는 SOA기반 소프트웨어의 구조적 복잡도를 측정할 수 있는 메트릭을 제안한다. 제안한 메트릭은 시스템의 구조적인 관점에서 서비스의 크기 서비스의 깊이 및 상호종속도로 구성된다. 마지막으로 제안한 메트릭을 예제에 적용하여 본다.

컴포넌트 복잡도, 특화성 및 재사용성 측정을 위한 메트릭 (Software Component Metris for Complexity, Customizability, and Reusability)

  • 이숙희;조은숙
    • 인터넷정보학회논문지
    • /
    • 제3권4호
    • /
    • pp.71-82
    • /
    • 2002
  • 최근 컴포넌트에 기초한 소프트웨의 발전은 효과적인 새로운 소프트웨어의 발전 시류로서 받아들여지고 있다 1990년대 후반에 컴포넌트에 기초한 소프트웨어 공학(CBSD)의 도입이래 CBSD의 연구는 주로 컴포넌트의 모델링과 방법론, 구조및 컴포넌트 플랫폼에 초점이 맞춰져 왔으나, 시장에서 필요한 컴포넌트의 수가 증가함에 따라 다양한 특성의 컴포넌트를 명시하기 위한 측정기준을 제시하는 것이 더욱 중요해졌다. 이 논문에서는 소프트웨어 컴포넌트의 복잡성. 특화성, 재사용성 등을 측정하는 기준을 제시할 것이다. 복잡성 기준(metrics)은 다양한 컴포넌트들을 비교하고 측정하는데 사용될 수 있을 것이며 특화성 기준을 컴포넌트들이 조직의 특별한 요구조건을 얼마나 효율적이고 광범위하게 맞출 수 있느냐를 측정하는데 이용되어진다. 재사용성은 애플리케이션 개발에 재사용학 수 있는 정도를 측정하는데 사용될 수 있다.

  • PDF

Java프로그램에 대한 품질 및 복잡도 메트릭스 평가시스템 구현 (Development of A System for Quality Assessment and Complexity Metrics of Java programs)

  • 이상범;김경환
    • 한국산학기술학회논문지
    • /
    • 제4권4호
    • /
    • pp.346-351
    • /
    • 2003
  • 소프트웨어의 규모가 커지고 복잡해지고 있음에도 불구하고 한편으로는 개발기간의 단축, 코스트 절감, 생산성, 품질 향상 등이 요구되어지고 있다. 질 좋고 효율적인 소프트웨어를 구현하기 위해 예전부터 수많은 기법과 방법들이 제안되었고 구현되었다. 대표적인 것으로 다양한 CASE도구, 프로세스 평가모델(CMM, SPICE, ISO9000), 메트릭스 등이 있다. 하지만 이러한 개발 지원 방법들은 개발자 각 개인의 생산성을 위해 지원하기보다는 주로 프로젝트 전체 관리를 위해서 사용되어지고 있는 것이 일반적이다. 따라서 이러한 기법과 방법들을 개별 프로그래머의 개발과정에 사용하는 것은 부적절하다. 본 연구에서는 객체지향적 소프트웨어 개발방법론을 적용한 개발 프로세스를 개발조직의 평가개선보다는 개발자 개인의 작업향상과 품질향상에 위한 기법을 개발하였다. 특히 개발프로세스 중 코딩 단계에서 생산되는 생산물(source code)의 품질평가를 할 수 있는 평가 시스템을 제작하였다. 구체적으로 이 평가 시스템은 Java프로그램에 대한 품질평가로서 단순히 메트릭스 값만을 보여 주는 것이 아니라, 개발자가 작성한 소스코드, 클래스(class)의 계층구조를 동시에 보여준다.

  • PDF

퍼지 적응 제어를 이용한 프로그램 볼륨 복잡도 측정 (Measurement of program volume complexity using fuzzy self-organizing control)

  • 김재웅
    • 한국컴퓨터산업학회논문지
    • /
    • 제2권3호
    • /
    • pp.377-388
    • /
    • 2001
  • 소프트웨어 척도는 소프트웨어를 특징화하기 위한 효율적인 방법을 제공한다. 척도들은 전통적으로 식의 정의를 통해 구성되었지만 이러한 접근은 소프트웨어를 특징화해주는 모든 매개변수사이의 모든 관계를 완전하게 이해할 수 있을 때만 적용 가능하다는 한계가 있다. 이 논문은 비선형 함수를 매우 정교하게 근사화 시키고, 인지 심리 이론을 결합할 수 있는 퍼지 논리 시스템을 사용하였다. 우선, Java 프로그램으로부터 수집된 12개 척도들의 인자들로부터 다중 회귀식을 추출하였다. 또한 그 중에서 프로그램 볼륨 인자에 인지 심리 이론을 적용하고 퍼지 학습을 수행하여 프로그램 볼륨 복잡도를 측정하였다. 이 연구는 소프트웨어 척도의 분석과 설계의 더 나은 조사를 위한 토대가 될 수 있을 것이다.

  • PDF