• Title/Summary/Keyword: software maintainability

Search Result 100, Processing Time 0.03 seconds

Architecture-Based Measuring of Software Extensibility

  • Kim, Jung-Ho;Kang, Sung-Won
    • 한국IT서비스학회:학술대회논문집
    • /
    • 2007.11a
    • /
    • pp.425-430
    • /
    • 2007
  • 시스템을 결정하는 품질 요소에는 여러 가지가 있으나 그 중에서도 유지보수성(Maintainability)이 높은 시스템을 만드는 것은 쉬운 일이 아니다. 또한 유지보수성이 높은 시스템인지 여부를 시스템 개발이 완료 전에 측정하는 것도 어려운 문제이다. 모든 품질요소가 그렇겠지만 시스템을 구성하는 소프트웨어 아키텍처 수준에서 시스템의 품질을 명확히 측정해내지 못하고 시스템 개발 이후에 측정한다면 품질 향상을 위한 시스템 수정은 생각할 수도 없는 문제가 될 것이다. 이 논문은 유지보수성 중에서도 가장 중요한 기능확장성(Extensibility), 즉 기존 시스템에서 신규 서비스를 추가하려 할 때 기존의 서비스에 영향을 미치지 않으면서 비용 및 기간을 최소화하여 새로운 기능을 추가할 수 있는 품질 속성을 소프트웨어 아키텍처 수준에서 비교하는 방법을 정의하여 제시한다. 본 논문에서는 소프트웨어 아키텍처 중에서도 기능확장성에 가장 큰 영향을 미치는 모듈 뷰를 기준으로 기능확장성을 측정할 갓이나 모듈 내부의 변경을 통한 기능확장성은 고려하지 않고 새로운 모듈의 추가로 인한 기능확장성을 고려하였다. 본 논문은 기 수립된 소프트웨어 아키텍처의 모듈 뷰가 가지는 고유한 기능확장성을 측정하는 함수를 제시하고 여기에 새로운 모듈이 추가될 매 변화한 소프트웨어 아키텍처의 기능확장 effort 함수를 제시한다. 이 두 함수를 통해 두 개의 대안 소프트웨어 아키텍처 모듈 뷰에서 어떤 것이 더 기능확장성이 있는지 판단할 수 있게 한다. 우리는 이를 검증하기 위해서 기능확장성이 좋다고 제시되고 있는 디자인 패턴(계층패턴과 Broker 패턴)을 통해 본 논문의 이론을 정립하고 그 효용성을 입증하였다. 따라서 소프트웨어 아키텍처 수준에서 기능확장성이 얼마나 가능한지 서로 비교 가능한 수치를 제시하였고 이 수치를 통해 실제 개발이 완료되기 전 시점에 시스템의 기능확장성을 명백히 측정할 수 있게 하여 시스템 기능 확장에 들어가는 많은 비용을 줄일 수 있다는 것을 보여준다.

  • PDF

A Case Study of the Improvement of Maintainability using Reengineering Approach on the Mobile Software Platform (리엔지니어링을 통한 모바일 소프트웨어 플랫폼 유지보수성 향상에 대한 사례 연구)

  • Kim, Woo-Mok;Kwon, Jae-Whan;Bae, Doo-Whan
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06a
    • /
    • pp.170-173
    • /
    • 2011
  • 본 논문에서는 모바일 소프트웨어 플랫폼 유지 보수성 개선 목표로 수행된 리엔지니어링 (Reengineering) 사례를 소개한다. 모바일 소프트웨어 플랫폼은 높아진 사용자 기능 요구 같은 대외적인 문제와 다양한 서비스 경쟁력 확보를 위한 제조사 내부적인 노력으로 인해 소프트웨어 규모와 복잡도가 급격히 증가하고 있는 상황이다. 기반 시스템으로서 모바일 소프트웨어 플랫폼은 기존 레거시(legacy) 시스템을 재사용하여 상품화를 수행하는 일반 임베디드 시스템 개발 특징과 이동 통신 사업자 요구사항 대응, 다양한 시장 및 다양한 하드웨어 빛 표준화 대응, 다양한 도메인 (domain) 이 하나의 기기에서 통합된 형태로 동작해야 한다는 점에서 다른 임베디드 시스템과 차별화된다고 볼 수 있다. 모바일 소프트웨어 플랫폼을 대상으로 한 성공적인 리엔지니어링 수행은 기반 시스템의 유지보수성 향상은 물론 연간 수십 개에 달하는 파생 시스템의 재사용성 및 생산성 향상을 기대할 수 있다. 본 연구에서는 사내 표준 프로세스를 재정의하고, 모바일 소프트웨어 플랫폼만의 특성을 고려하여 수행한 리엔지니어링 사례를 소개하고자 한다.

A SOA based Framework Using AOP for Reliable Service Applications (AOP를 이용한 신뢰성 있는 서비스 어플리케이션의 SOA 기반 프레임워크)

  • Kim, Eun-Sun;Lee, Jae-Jeong;Lee, Byung-Jeong
    • Journal of Information Technology Services
    • /
    • v.10 no.2
    • /
    • pp.223-234
    • /
    • 2011
  • Loosely coupled properties of SOA(Service Oriented Architecture) services do not guarantee that service applications always work properly. Service errors may also influence other services of SOA. These characteristics adversely affect software reliability. Therefore, it is a challenge to effectively manage system change and errors for operating services normally. In this study, we propose a SOA based framework using AOP(Aspect Oriented Programming) for reliable service applications. AOP provides a way to manipulate cross-cutting concerns such as logging, security and reliability and these concerns can be added to applications through weaving process. We define a service specification and an aspect specification for this framework. This framework also includes service provider, requester, repository, platform, manager, and aspect weaver to handle changes and exceptions of applications. Independent Exception Handler is stored to exhibited external Aspect Service Repository. When exception happened, Exception Handler is linked dynamically according to aspect rule that is defined in aspect specification and offer function that handle exception alternate suitable service in systematic error situation. By separating cross-cutting concerns independently, we expect that developer can concentrate on core service implementation and reusability, understanding, maintainability increase. Finally, we have implemented a prototype system to demonstrate the feasibility of our framework in case study.

A GQM Approach to Evaluation of the Quality of SmartThings Applications Using Static Analysis

  • Chang, Byeong-Mo;Son, Janine Cassandra;Choi, Kwanghoon
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.14 no.6
    • /
    • pp.2354-2376
    • /
    • 2020
  • SmartThings is one of the most popular open platforms for home automation IoT solutions that allows users to create their own applications called SmartApps for personal use or for public distribution. The nature of openness demands high standards on the quality of SmartApps, but there have been few studies that have evaluated this thoroughly yet. As part of software quality practice, code reviews are responsible for detecting violations of coding standards and ensuring that best practices are followed. The purpose of this research is to propose systematically designed quality metrics under the well-known Goal/Question/Metric methodology and to evaluate the quality of SmartApps through automatic code reviews using a static analysis. We first organize our static analysis rules by following the GQM methodology, and then we apply the rules to real-world SmartApps to analyze and evaluate them. A study of 105 officially published and 74 community-created real-world SmartApps found a high ratio of violations in both types of SmartApps, and of all violations, security violations were most common. Our static analysis tool can effectively inspect reliability, maintainability, and security violations. The results of the automatic code review indicate the common violations among SmartApps.

Handling Streaming Data by Using Open Source Framework Storm in IoT Environment (오픈소스 프레임워크 Storm을 활용한 IoT 환경 스트리밍 데이터 처리)

  • Kang, Yunhee
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.5 no.7
    • /
    • pp.313-318
    • /
    • 2016
  • To utilize sensory data, it is necessary to design architecture for processing and handling data generated from sensors in an IoT environment. Especially in the IoT environment, a thing connects to the Internet and efficiently enables to communicate a device with diverse sensors. But Hadoop and Twister based on MapReduce are good at handling data in a batch processing. It has a limitation for processing stream data from a sensor in a motion. Traditional streaming data processing has been mainly applied a MoM based message queuing system. It has maintainability and scalability problems because a programmer should consider details related with complex messaging flow. In this paper architecture is designed to handle sensory data aggregated The designed software architecture is used to operate an application on the open source framework Storm. The application is conceptually used to transform streaming data which aggregated via sensor gateway by pipe-filter style.

Design Patterns for Realizing Object-Oriented Inheritance in EJB Environment (EJB 환경에서 객체지향 상속 관계 설계 패턴)

  • Choi, Si-Won;Kim, Soo-Dong
    • The KIPS Transactions:PartD
    • /
    • v.11D no.1
    • /
    • pp.153-162
    • /
    • 2004
  • Software development methodology using object-oriented analysis and design techniques for improving productivity and maintainability has acquired a substantial acceptance in both academia and industry as a fundamental paradigm. Enterprise Java Beans (EJB) is widely used in both academia and industry because it provides high unability and rapid application development. EJB supports object-oriented paradigm, but there are several things to consider when designing detail model of object-oriented model or implementing object-oriented model with EJB model. One of them is inheritance problem. In this paper, we classify the types of class inheritance which is shown upon in object-oriented model into three types and identify the problems which can happen when implementing the inheritance mechanism with EJB model. And this paper proposes three patterns for realizing the inheritance in EJB. Moreover, applicable patterns and guidelines for each object-oriented inheritance types for the proposed patterns are suggested.

Design Patterns for Mitigating Incompatibility of Context Acquisition Schemes for IoT Devices (사물인터넷 컨텍스트 획득 비호환성 중재를 위한 디자인 패턴)

  • La, Hyun Jung;An, Ku Hwan;Kim, Soo Dong
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.5 no.8
    • /
    • pp.351-360
    • /
    • 2016
  • Sensors equipped in Internet-of-Thing (IoT) devices are used to measure the surrounding contexts, and IoT applications analyze the contexts to infer situations and provide situation-specific smart services. There are different context acquisition schemes including pulling, pushing, and broadcasting. Most IoT devices support only one of the schemes. Hence, there can be an incompatible issue on data acquisition schemes between applications and devices, and consequently it could result in an increased development cost and inefficiency on application maintenance. This paper presents design patterns which can effectively remedy the incompatibility problem. By applying the patterns, IoT applications with incompatibility can be systematically and effectively developed. And, also its maintainability is expected to increase.

A Study on the Development of a Quantified Module for the Evaluation of industrial Design Proposals (산업디자인 제품화 개발을 위한 정략적모듈의 개발)

  • 우흥룡;신학수;고을한;한석우;홍석기;김창현
    • Archives of design research
    • /
    • v.9
    • /
    • pp.801-810
    • /
    • 1994
  • Design Problems are often both multidimensional and highly interactive. Very rarely does any part of a designed thing serve only one purpose. The activity of designing is thus a goal-directed activity and normally a goal-directed problem-solving activity. This means, problem solving is finding a way to get from some initial situation to a desired goal. Designers are transforming agents within a society whose goals are to improve the human condition through physical metamorphosis. Many theorist have agreed that designing involves problem solving or decision making. Accordingly evaluation plays an essential role in design activity. The evaluation factors include all attributes that have levels specified by quantitative and qualitative objectives Alternatives in multi-objective decision prOblems generally possess numerous attributes by which they can be described and compared. The evaluation factors include all attributes that have levels specified by quantitative and qualitative objectives. However since qualitative factors are difficult to quantify as numeral estimates, these factors have tended to be ignored without regard for their importance to human content. We adapted the Accumulative Evaluation Model as an evaluation algorithm for IDES. Industrial Design Evaluation System (IDES) consists of 3 major modules ( 1 Design Element, 2.Matrix, 3.Evaluation). It is intended to be an aid for design evaluation. The luther thinks IDES is a new design evaluation approach which could provide effective rating of design values to make value judgements. It is an attempt to provide industrial designers with access to design evaluation. The author's aim is to produce an Object-Oriented Evaluation System which can guide the designers and decision makers under complex design projects. It uses\ulcorner an Object-Oriented Programming for this prototype, Because of managing complexity (Flexibility and Reusability) and improving productivity(Extensibility & Maintainability and Programming by User) in software development process. The author has chose the C++ because it is a hybrid, rather than pure Object-Oriented Language.

  • PDF

Van Test for GAK NM (GPS Adapter Kit Navigation Module) Using High Performance INS (고정밀 INS를 이용한 GAK(GPS Adapter Kit) 항법 모듈의 차량 시험)

  • Oh, Sang-Heon;Son, Seok-Bo;Kwon, Seung-Bok;Shin, Don-Ho;Lee, Sang-Jeong;Park, Chan-Sik;Hwang, Dong-Hwan
    • Journal of the Korean Society for Aeronautical & Space Sciences
    • /
    • v.35 no.3
    • /
    • pp.260-267
    • /
    • 2007
  • GPS adapter kit (GAK) is a GPS/INS guided range extension system to improve the accuracy and availability of existing dumb bombs. In this paper, a van test result of GPS/INS navigation module (NM) for guided bomb with GAK has been presented. The NM consists of a commercial MEMS IMU, embedded GPS receiver and navigation computer unit (NCU). The GPS receiver of NM was designed to use multiple antennas for satellite visibility and GPS attitude determination. The real-time navigation software was designed by modularized structure to guarantee the maintainability and extensibility. In order to evaluate the performance of the NM, a van test was preformed by using a high performance INS - Honeywell H-726 MAPS(Modular Azimuth Position System).The van test results show that the GAK NM with GPS attitude measurement gives better navigation performance than a conventional GPS/INS integration and good coasting capabilities under jamming environment.

A Structural Complexity Metric for Web Application based on Similarity (유사도 기반의 웹 어플리케이션 구조 복잡도)

  • Jung, Woo-Sung;Lee, Eun-Joo
    • Journal of the Korea Society of Computer and Information
    • /
    • v.15 no.8
    • /
    • pp.117-126
    • /
    • 2010
  • Software complexity is used to evaluate a target system's maintainability. The existing complexity metrics on web applications are count-based, so it is hard to incorporate the understandability of developers or maintainers. To make up for this shortcomings, entropy-theory can be applied to define complexity, however, it is assumed that information quantity of each paper is identical. In this paper, structural complexity of a web application is defined based on information theory and similarity. In detail, the proposed complexity is defined using entropy as the previous approach, but the information quantity of individual pages is defined using similarity. That is, a page which are similar with many pages has smaller information quantity than a page which are dissimilar to others. Furthermore, various similarity measures can be used for various views, which results in many-sided complexity measures. Finally, several complexity properties are applied to verify the proposed metric and case studies shows the applicability of the metric.