• 제목/요약/키워드: Software Studies

검색결과 2,388건 처리시간 0.031초

A Systematic Literature Survey of Software Metrics, Code Smells and Refactoring Techniques

  • Agnihotri, Mansi;Chug, Anuradha
    • Journal of Information Processing Systems
    • /
    • 제16권4호
    • /
    • pp.915-934
    • /
    • 2020
  • Software refactoring is a process to restructure an existing software code while keeping its external behavior the same. Currently, various refactoring techniques are being used to develop more readable and less complex codes by improving the non-functional attributes of software. Refactoring can further improve code maintainability by applying various techniques to the source code, which in turn preserves the behavior of code. Refactoring facilitates bug removal and extends the capabilities of the program. In this paper, an exhaustive review is conducted regarding bad smells present in source code, applications of specific refactoring methods to remove that bad smell and its effect on software quality. A total of 68 studies belonging to 32 journals, 31 conferences, and 5 other sources that were published between the years 2001 and 2019 were shortlisted. The studies were analyzed based on of bad smells identified, refactoring techniques used, and their effects on software metrics. We found that "long method", "feature envy", and "data class" bad smells were identified or corrected in the majority of studies. "Feature envy" smell was detected in 36.66% of the total shortlisted studies. Extract class refactoring approach was used in 38.77% of the total studies, followed by the move method and extract method techniques that were used in 34.69% and 30.61% of the total studies, respectively. The effects of refactoring on complexity and coupling metrics of software were also analyzed in the majority of studies, i.e., 29 studies each. Interestingly, the majority of selected studies (41%) used large open source datasets written in Java language instead of proprietary software. At the end, this study provides future guidelines for conducting research in the field of code refactoring.

소프트웨어 사용성 평가를 위한 체크리스트의 개발과 적용 (A Development and Application of the Checklist for Evaluating Software Usability)

  • 진영택;하수정
    • 한국전자거래학회지
    • /
    • 제6권2호
    • /
    • pp.73-85
    • /
    • 2001
  • Usability is defined by the effectiveness, efficiency and satisfaction with which specified users can achieve specified goal in particular environment. Today, many factors such as software acquisition, business re-engineering and the trend of software market have software industry considers usability as an important quality of software products. Therefore, the specification and measurement method for establishing the acceptable usability level of software is required during software development acquisition and evaluation. To evaluate whether software products is usable or not, we need evaluation method for software usability. This paper is not only to provide a framework for specifying the usability attributes of a product and establishing a comprehensive set of usability criteria, but also assessing usability metrics of the software. The usability metrics and checklist is developed based on the properties of the user interface using ISO standard and general usability principles with product-oriented view which means the Product has attributes contributing to determine the usability. This paper also suggested the way to weight the relative importance of the individual usability item depending on the software categories.

  • PDF

UML기반 소프트웨어시스템의 규모측정을 위한 기능점수분석기법의 응용에 관한 연구 (A Case Study on Applying Function Point Analysis Technique to Measure the Size of Software Systems based on UML)

  • 안계중;이남용
    • 한국전자거래학회지
    • /
    • 제7권2호
    • /
    • pp.173-190
    • /
    • 2002
  • Over the past decade, numerous software managers and engineers have been concerned with measuring the size and complexity of software systems. Function point analysis technique is one of the most popular software sizing techniques. A reasonable software development plan through cost and time estimation should be a prerequisite for the successful project at the beginning stage of the project. It is generally known that software size measurement is useful for this kind of estimation and the function point analysis technique would be more effective than the others. However, it is difficult to apply the technique to object-oriented methodology widely used in the software industry. Thus, the purpose of this study is to present a case study on how to apply function point analysis technique to sizing of the software systems based on UML. The results of this study can be useful to managers and engineers.

  • PDF

UML 2.0을 사용한 모델 기반의 임베디드 소프트웨어 소모 전력 분석을 위한 MARTE Profile의 확장 (Extension of MARTE Profile for Model-based Power Consumption Analysis of Embedded Software with UML 2.0)

  • 편호림;김종필;홍장의
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권4호
    • /
    • pp.252-263
    • /
    • 2010
  • 임베디드 시스템의 개발에서 저전력을 소모하는 소프트웨어 개발에 대한 요구가 증대하고 있다. 따라서 임베디드 소프트웨어 개발 과정에서 소모 전력에 대한 정량적인 예측을 가능하도록 하는 연구가 늘어나고 있는 추세이다. 기존의 소모 전력 분석은 소스 코드를 중심으로 이루어져왔으나 분석을 위한 노력 및 시간이 많이 요구된다는 단점으로 인하여, 소프트웨어 모델 기반의 소모 전력 분석 기법에 관심을 두는 추세이다. 본 논문은 UML 모델 기반의 임베디드 소프트웨어 모델링 과정에서 설계 모델을 이용한 소모 전력 분석에 주안점을 두었으며, 이를 위하여 OMG가 개발한 MARTE 프로파일을 확장하였다. 이러한 확장은 별도의 분석용 모델을 개발하지 않고, UML 다이어그램을 이용한 소모 전력 분석이 가능하도록 한다.

웹 시스템 군의 개발을 위한 소프트웨어 제품라인 공학의 적용 (Application of Software Product Line Engineering for Developing Web Application Families)

  • 황병한;진영택
    • 한국전자거래학회지
    • /
    • 제22권2호
    • /
    • pp.39-60
    • /
    • 2017
  • 소프트웨어 제품라인 공학은 체계적인 소프트웨어 재사용을 위한 효과적인 방법으로 널리 인식되고 있으며, 기존 소프트웨어 개발 실무와 프로세스를 소프트웨어 제품라인으로 전환하기 위한 연구가 진행되어 오고 있다. 기존 소프트웨어 개발을 제품라인으로 전환하기 위해서는 수행조직, 적절한 프로세스 선택 및 수정, 도구의 지원 등 많은 투자가 요구된다. 특히 소규모 기업에서 소프트웨어 제품라인 공학 기술을 본격적으로 도입하기 앞서 적절한 비즈니스 사례와 소프트웨어 제품라인 공학의 적용에 대한 구체적인 실무가 필요하다. 본 논문에서는 웹 시스템 군의 개발에 소프트웨어 제품라인 공학을 적용하는데 따른 실질적인 사례와 소프트웨어 자산을 체계적으로 구축하고 재사용하는 과정을 제시하였다. 이를 위해, 다수의 웹 개발 프로젝트를 분석하였으며 소규모의 기업이 소프트웨어 제품라인을 채택하는데 따른 경험과 다양한 고려사항들을 제시하였다.

Systematic Review of Bug Report Processing Techniques to Improve Software Management Performance

  • Lee, Dong-Gun;Seo, Yeong-Seok
    • Journal of Information Processing Systems
    • /
    • 제15권4호
    • /
    • pp.967-985
    • /
    • 2019
  • Bug report processing is a key element of bug fixing in modern software maintenance. Bug reports are not processed immediately after submission and involve several processes such as bug report deduplication and bug report triage before bug fixing is initiated; however, this method of bug fixing is very inefficient because all these processes are performed manually. Software engineers have persistently highlighted the need to automate these processes, and as a result, many automation techniques have been proposed for bug report processing; however, the accuracy of the existing methods is not satisfactory. Therefore, this study focuses on surveying to improve the accuracy of existing techniques for bug report processing. Reviews of each method proposed in this study consist of a description, used techniques, experiments, and comparison results. The results of this study indicate that research in the field of bug deduplication still lacks and therefore requires numerous studies that integrate clustering and natural language processing. This study further indicates that although all studies in the field of triage are based on machine learning, results of studies on deep learning are still insufficient.

공공기관 소프트웨어의 최적 재개발 주기 도출에 대한 연구 (A Study on Optimal Renewal Cycle for Governmental Agency Software)

  • 안훈상;배종호;김영성;박철현
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제5권3호
    • /
    • pp.117-124
    • /
    • 2016
  • 운용 중인 소프트웨어에 대한 기능의 추가 및 성능 개선 요구는 시간이 지날수록 증가한다. 특히, 지속되는 유지보수에 따른 소프트웨어의 복잡도와 품질관리 소요의 증가는 품질저하와 수명주기 비용의 상승을 초래할 수 있으므로, 소프트웨어 운용자는 적시 재개발을 통해서 이를 예방해야 한다. 그러나 소프트웨어의 적시 재개발에 대한 기존 연구는 기업 분야에 한정되어 있다. 따라서 우리는 본 논문에서 리뉴얼 프로세스를 사용하여 공공기관에 적용 가능한 최적의 소프트웨어 재개발 주기를 산출하는 모델을 제시하고 기존 연구와 연관성을 논의한다.

사용자 인증 소프트웨어 개발 프로세스에 관한 연구 (A Study on the Development Process of User Authentication Software)

  • 이상준;배석찬
    • 한국전자거래학회지
    • /
    • 제9권1호
    • /
    • pp.255-268
    • /
    • 2004
  • 컴퓨터 로그인이나 인터넷 뱅킹에서 사용자 인증은 필수적인 요소이다. 사용자 인증 소프트웨어에서 보안성은 당연히 중요할뿐 아니라 사용하기도 쉬워야 한다. 소프트웨어 개발을 체계적으로 진행하기 위해서는 개발 프로세스가 정의되어 있어야 하고, 개발 프로세스는 소프트웨어 성숙도를 향상시킬 수 있다. 본 논문에서는 비주얼 패스워드 입력 소프트웨어를 개발한 사례를 통하여 사용자 인증 소프트웨어를 체계적으로 개발할 수 있는 프로세스를 제안한다. 제안한 프로세스는 6단계, 15개 활동으로 구성된다. 제안한 프로세스는 사용성 요구분석, 계획수립, 통합시험, 인수시험 활동을 통하여 사용성을 향상시킬 수 있다.

  • PDF

Use Case에 의한 소프트웨어 규모 예측 방법에 대한 실증적 연구 (An Empirical Study of Software Size Estimation Techniques by Use Case)

  • 서예영;이남용
    • 한국전자거래학회지
    • /
    • 제6권2호
    • /
    • pp.143-157
    • /
    • 2001
  • There has been a need for predicting development efforts and costs of the system during the early stage of the software process and hundreds of metrics have been proposed for computer software, but not all provide practical support to the software engineer. Some demand measurement that is too complex, others are so esoteric that few real-world professionals have any hope of understanding them, and others violate the basic intuitive notions of what high-quality software really is. It is worthwhile that metrics should be tailored to best accommodate specific products and processes after grasping their good and no good point. This paper describes two size estimation techniques, the Karner technique and the Marchesi technique, and compares and analyzes them with proposed evaluation criteria. Both techniques are to estimate software size analyzed by use case that is mainly described during the object-oriented analysis phase. We also present an empirical comparison of them, both are applied in the Internet Medicine Prescription System. We also propose some guidance for experiments based on our analysis. We believe that it should be facilitating project management more effective by adjusting software metrics properly.

  • PDF

Freeware를 활용한 3차원 Rendering에 관한 연구 (A Study on 3D Rendering based on Freeware)

  • 김용관
    • 만화애니메이션 연구
    • /
    • 통권15호
    • /
    • pp.123-137
    • /
    • 2009
  • 본 연구는 3차원 Rendering Software의 개발 및 활용에 있어서 오픈소스 기반의 Freeware Software의 적용 및 발전 가능성에 대한 연구이다. 3차원 Rendering Software는 크게 2D합성 및 편집, 3D Animation, Game 랜더링 Software로 구분되고 기타 Motion Capture, 3D Digitizing 등 각종 입출력 장비와 함께 구동되는 Software로 이루어져 있다. 현재 국내 영 화, 게임, 애니메이션 등 디지털콘텐츠 분야에 이용되고 있는 Software는 대부분 막대한 비용의 외산 제품을 수입하여 사용하고 있는 현실이고 이로 인한 제작 단가의 상승으로 수익구조가 악화되고 있다. 이러한 문제에 대한 해법으로 오픈소스 기반의 Freeware 디지털콘텐츠 제작 Software를 적극 활용한다면 경제적 이득 외에도 기술적 발전 및 제작의 품질향상에 큰 도움이 될 수 있으며 이러한 산업구조의 불균형을 개선하고 독자적인 기술력 확보를 위해 본 연구를 추진하게 되었다.

  • PDF