• Title/Summary/Keyword: Software Complexity

검색결과 737건 처리시간 0.028초

Software Complexity and Management for Real-Time Systems

  • Agarwal Ankur;Pandya A.S.;Lbo Young-Ubg
    • Journal of information and communication convergence engineering
    • /
    • 제4권1호
    • /
    • pp.23-27
    • /
    • 2006
  • The discipline of software performance is very broad; it influences all aspects of the software development lifecycle, including architecture, design, deployment, integration, management, evolution and servicing. Thus, the complexity of software is an important aspect of development and maintenance activities. Much research has been dedicated to defining different software measures that capture what software complexity is. In most cases, the description of complexity is given to humans in forms of numbers. These quantitative measures reflect human-seen complexity with different levels of success. Software complexity growth has been recognized to be beyond human control. In this paper, we have focused our discussion on the increasing software complexity and the issue with the problems being faced in managing this complexity. This increasing complexity in turn affects the software productivity, which is declining with increase in its complexity.

대형 교환 소프트웨어의 복잡성과 고장분석 사례 연구 (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 방법, 제어구조 및 인터페이스 구조 방법에 대한 분석 결과와 시스템 개발을 수행하는 과정에서 발생되고 있는 문제점들에 대해 다각도로 분석을 하여 이를 유사한 시스템 연구개발 및 프로젝트 관리에 활용하고자 한다.

웹 어플리케이션의 복잡도 예측에 관한 연구 (A Study of Estimation for Web Application Complexity)

  • 오성균;김미진
    • 한국컴퓨터정보학회논문지
    • /
    • 제9권3호
    • /
    • pp.27-34
    • /
    • 2004
  • 개발 패러다임이 점차 복잡한 웹 환경으로 전환되면서 복잡도에 대한 연구가 다시 활발해지고 있으나 아직 웹 어플리케이션의 구조나 복잡도 측정 매트릭에 정립된 이론이 부족한 실정이다. 또한 전통적 복잡도를 측정하는 프로그램 규모(LOC)나 순환복잡도 매트릭은 구현 후에나 알 수 있어 소프트웨어 개발주기 초기의 분석 및 설계 단계에는 큰 도움을 주지 못하고 있다. 본 연구에서는 실무에서 사용되는 6개 웹 프로젝트에 복잡도 인디케이터를 적용하여 결함 가능성이 높은 어플리케이션을 추출한다 추출한 61개의 프로그램을 대상으로 복잡도와 클래스 수 및 메소드 수에 대한 선형적 상관관계를 제안함으로써 웹어플리케이션의 복잡도를 구현 전에 미리 예측 가능하도록 하여 개발 프로세스의 인적 자원 관리나 비용 예측에 기여하고자 한다.

  • PDF

HEVC 부호화기 소프트웨어의 통계적 특성 및 복잡도 분석 (Statistical Characteristics and Complexity Analysis of HEVC Encoder Software)

  • 안용조;황태진;유성은;한우진;심동규
    • 방송공학회논문지
    • /
    • 제17권6호
    • /
    • pp.1091-1105
    • /
    • 2012
  • 본 논문에서는 현재 표준화가 진행 중인 HEVC (high efficiency video coding) 부호화기의 고속화, 최적화, 병렬화 연구에 앞서 통계적 특성 및 복잡도 분석을 수행하였다. HEVC는 H.264/AVC에 비해 약 2배의 압축 성능을 나타내지만 부호화기 복잡도는 크게 증가하여 이는 앞으로 해결해야할 문제로 남아있다. HEVC의 높은 부호화기 복잡도를 해결하기 위한 고속화, 최적화, 병렬화 연구에 앞서, 본 논문에서는 HEVC 참조소프트웨어인 HM 7.1을 이용하여 HEVC 부호화기의 복잡도를 측정하였다. 추가적으로, 실제 응용에서 사용될 고속 HEVC 부호화기 소프트웨어에 대한 예상 복잡도를 고속 알고리듬이 적용된 HM 7.1 소프트웨어로 측정하였다. 복잡도 측정은 공통 실험 영상 및 조건을 사용하였으며 PC 환경에서 부호화기 소프트웨어의 동작 사이클을 측정하고 이를 분석하였다. 또한, 부호화를 통해 생성된 비트스트림을 이용하여 HEVC 부호화기 소프트웨어의 부호화 구조에 따른 통계적 특성과 제한적 부호화에 따른 통계적 특성에 대하여 제시하고 이를 분석한다.

프로그래밍 언어가 소프트웨어 복잡도에 미치는 영향에 관한 연구 : FORTRAN IV와 FORTRAN 77, PASCAL과 C의 비교 (A Study on the effects of programming Languages on Software Complexity : Comparison of FORTRAN IV vs. FORTRAN 77 and PASCAL vs. C)

  • 윤정모
    • 대한산업공학회지
    • /
    • 제19권3호
    • /
    • pp.59-70
    • /
    • 1993
  • This paper presents the results of experiments which compare the software complexity between programming languages, i.e, FORTRAN IV and FORTRAN 77, PASCAL and C language, respectively. Each experiment is performed to compare the complexity between programs of same problems using Halstead's method based on operator, and McCabe's based on data flow. As the results of 25 test programs experiments, FORTRAN 77 languages shows superiority to FORTRAN IV languages, and C than that of PASCAL languages, in the aspect of the global software complexity.

  • PDF

웹 소프트웨어의 순환복잡도에 대한 정량적 분석 (A Quantitative Analysis of the Cyclomatic Complexity of the Web Software)

  • 김지현
    • 한국컴퓨터정보학회논문지
    • /
    • 제19권2호
    • /
    • pp.183-191
    • /
    • 2014
  • 본 연구는 웹 소프트웨어의 복잡도와 객체지향 프로그래밍 측정자인 클래스 수(NOC), 메서드 수(NOM)와의 상관관계를 통하여 순환복잡도를 정량적으로 분석하고자 한다. 웹 환경에서 소프트웨어의 복잡도, NOC, NOM의 빈도분포를 근거로 복잡도한계값과 NOC한계값, 복잡도 한계값과 NOM한계값의 상관관계를 파악하기 위하여 실제 사용되는 10개의 웹 프로젝트에서 4,000여개의 ASP 파일이 표본으로 사용되었다. 실험 결과 NOC한계값은 21, NOM한계값은 40이었고 복잡도는 68의 높은 값을 보였으며 10개의 프로젝트 중 NOC, NOM이 특히 높은 빈도를 보이는 2개의 프로젝트를 제외한 8개의 프로젝트는 NOC한계값은 12, NOM한계값은 21이었고 복잡도 한계값도 52의 상대적으로 낮은 값을 나타내 상관관계가 있는 것으로 판명이 되었다. 또한 복잡도, NOC, NOM의 한계값이 낮은 8개의 프로젝트는 내부 관리 소프트웨어이었고 나머지 2개의 프로젝트는 외부 매매 서비스 소프트웨어임이 밝혀져 업무 특성에 따라 설계 단계에서 클래스 수, 메서드 수가 결정됨에 따라 복잡도도 미리 추정할 수 있어 품질 향상에 기여할 수 있을 것이다.

통신 소프트웨어의 프로그램 결함과 복잡도의 관련성 분석을 위한 회귀분석 모델 (Regression Analysis of the Relationships between Complexity Metrics and Faults on the Telecommunication Program)

  • 이경환;정창신;황선명;조병규;박지훈;김강태
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제26권11호
    • /
    • pp.1282-1287
    • /
    • 1999
  • 통신 프로그램은 고도의 신뢰성과 기능성, 확장성, 그리고 유지 보수성이 필요하다. 프로그램 테스트의 결과와 McCabe의 Complexity를 측정한 데이타를 가지고 회귀모델을 만들고 그 신뢰성을 분석함으로서 프로그램의 결함과 복잡도의 관련성을 평가한다.본 연구에서 사용한 통신 프로그램은 500개 블록이 59가지 기능을 수행하는 교환 기능 중에서 복잡도가 너무 많아서 통계 처리의 bias가 될 블록을 제외하고 394 블록을 선정하여 SAS에 의해서 통계 분석을 하고 회귀 분석 모델을 설계하였다. t 분포에 의하여 방정식의 유의성 수준을 검증하고 프로그램의 결함수에 가장 큰 영향을 주고 있는 복잡도가 McCabe의 복잡도와 설계 복잡도 임을 밝혀냈다. 이 연구 결과에 의해서 설계 정보 및 유지 보수 정보를 얻을 수 있다. Abstract Switching software requires high reliability, functionality, extendability and maintainability. For doing, software quality model based on MaCabe's complexity measure is investigated. It is experimentally shown using regression analysis the program fault density depends on the complexity and size of the function unit. The software should be verified and tested if it satisfies its requirements with automated analysis tools. In this paper we propose the regression model with the test data.The sample program for the regression model consists of more than 500 blocks, where each block compose of 10 files, which has 59 functions of switching activity.Among them we choose 394 blocks and analyzed for 59 functions by testing tools and SAS package. We developed Regression Analysis Model and evaluated significant of the equation based on McCabe's cyclomatic complexity, block design complexity, design complexity, and integration complexity.The results of our experimental study are that number of fault are under the influence of McCabe's complexity number and design complexity.

에너지저장장치용 확장성 프로파일 검증 소프트웨어 복잡도 분석에 관한 연구 (A Study on Complexity Analysis of Extensible Profile Verification Software for Energy Storage System)

  • 권혁영;류영수;박재홍;권기원
    • 인터넷정보학회논문지
    • /
    • 제17권5호
    • /
    • pp.59-65
    • /
    • 2016
  • 최근 세계적으로 에너지 부족 문제를 해결하기 위해 에너지저장시스템에 관한 연구가 활발히 이루어지고 있다. 에너지저장시스템은 에너지 네트워크상의 모든 에너지 인프라에 대한 모니터링 및 제어를 통해 ESS(Energy Storage System) 에너지 사용을 극대화할 수 있다. 하지만 에너지저장시스템의 주요 부품이나 장치들 간의 호환 문제는 ESS 제품 개발에 걸림돌로 작용하고 있다. 이를 해결하기 위해 ESS 부품 및 장치들의 특성을 확장 할 수 있는 프로파일과 이를 검증할 수 있는 소프트웨어 기술이 요구되어지고 있다. 본 논문에서는 에너지저장장치용 확장성 프로파일 검증 소프트웨어의 구조에 따른 복잡도 분석에 관한 연구를 수행한다. 프로파일 검증 소프트웨어 분석을 위해 기존의 XML(eXtensible Markup Language) 기반의 프로파일과 C언어 구조체 기반의 프로파일을 사용한다. XML 기반의 프로파일을 여러번 파싱하는 복잡한 검증 구조와 파싱 절차를 감소하고 단순 반복을 이용한 C언어 구조체 기반의 검증 소프트웨어의 복잡도를 분석하고 비교한다. 시간 복잡도, 공간 복잡도 및 순환 복잡도 알고리즘을 이용하여 XML 기반의 프로파일과 C언어 구조체 기반의 프로파일 검증 소프트웨어의 복잡도를 비교 및 분석하여 연구 결과를 제시한다.

시스템 크기와 복잡도를 고려한 누적 노력 기반의 소프트웨어 성장 모델 (A Cumulative Incremental Effort Based Software Growth Model Considering System Size and Complexity)

  • 박중양;김성희;박재흥
    • 한국정보처리학회논문지
    • /
    • 제6권1호
    • /
    • pp.90-95
    • /
    • 1999
  • 소프트웨어 시스템이 양도된 이후에 시스템의 크기가 성장하는 과정을 나타내는 수학적 모델인 소프트웨어 성장 모델은 시스템의 크기와 계획된 크기를 달성하기 위해 요구되는 노력을 예측하는데 사용될 수 있다. 본 논문은 먼저 시스템의 크기 변화량이 추가되는 노력에 비례하고 시스템의 복잡도에 반비례한다는 가정하에서 소프트웨어 성장 모델을 유도한다. 이 모델에서는 시스템의 복잡도가 중요한 역할을 하는데, 본 논문에서는 시스템 크기의 멱함수 형태인 복잡도를 제안하고 실제 자료에 적용하여, 그 유용성을 보인다. 멱함수 형태의 시스템 복잡도는 추가로 복잡도 비교할 수 있게 하는 측도를 제공하는데, 이 측도는 시스템 크기에 무관하므로 크기가 다른 소프트웨어 시스템의 복잡도를 비교하는데 유용하게 사용될 수 있다.

  • 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