• 제목/요약/키워드: 소프트웨어 공학수준

검색결과 211건 처리시간 0.037초

공통 토큰에 기반한 서로 다른 언어의 유사성 검사 (Cross-Language Clone Detection based on Common Token)

  • 홍성문;김현하;이제형;박성우;모지환;도경구
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제14권2호
    • /
    • pp.35-44
    • /
    • 2018
  • 서로 다른 언어로 작성된 소스코드의 유사성 검사는 주로 요약구문트리를 기반으로 비교를 수행한다. 하지만 대규모의 소스코드를 실용적인 수준으로 비교하려면 토큰수준 기반에서 작동하는 유사성 검사 기술이 필요하다. 본 연구에서는 서로 다른 언어에서 생성되었지만 같은 의미를 지닌 토큰을 표현할 수 있는 공통 토큰을 정의하고, 소스코드에서 언어별 처리 과정을 거쳐 생성한 공통 토큰의 나열을 입력으로 소스코드의 유사성 검사를 수행하는 방법을 제안한다. 한국저작권위원회의 표절검사 도구 exEyes를 사용해서 서로 다른 언어로 작성된 동일한 코드를 대상으로 실험한 결과, 제안한 방법을 사용했을 때, 유사성 평가 성능이 향상됨을 보였다.

컴포넌트 워크플로우 커스터마이제이션 기법

  • 김철진;김수동
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제13권3호
    • /
    • pp.31-44
    • /
    • 2000
  • 소프트웨어를 개발하는데 미리 구현된 블록을 사용하여 소프트웨어 개발비용과 시간을 단축할 수 있다. 이와 같이 미리 구현된 블록을 컴포넌트(Component)라고 하며 컴포넌트를 실행 단위로 개발자에게 인터페이스만을 제공하여 내부 상세한 부분을 숨기므로 쉽고 바르게 대행 어플리케이션을 개발할 수 있다. 개발자는 완전히 내부를 볼 수 없는 블랙 박스(Black Box) 형태의 컴포넌트를 사용한다. 그러나 개발자들은 개발 도메인의 특성에 맞게 속성 및 워크플로우(Workflow)의 변경을 원하기 때문에 커스터마이즈(Customize)할 수 있는 방법이 있어야 한다. 기존의 커스터마이즈 기법은 컴포넌트의 속성을 변경하는 것에 국한되어 있다. 본 논문에서는 비즈니스 측면에서 속성 뿐만이 아니라 컴포넌트 내부의 워크플로우도 변경할 수 있는 기법을 제시한다. 기존에 워크플로우를 변경한다는 것은 컴포넌트 내부를 개발자가 이해하고 코드 수준에서 수정해야 하는 화이트 박스(White Box)이지만, 본 논문에서는 워크플로우의 변경을 화이트 박스가 아니라 블랙 박스 형태로 컴포넌트 인터페이스 만을 이용해 커스터마이즈 할 수 있다. 본 논문에서 제시하는 컴포넌트 커스터마이즈 기법은 특정 비즈니스 측면에서 도메인에 종속적인 특성을 가지며 컴포넌트를 좀더 범용적으로 사용할 수 있는 향상된 커스터마이즈 기법을 제시한다.

IT아웃소싱 서비스의 SLA측정 결과와 고객 만족도에 대한 실증적 연구 (A Study About Results of SLA Measurements and Customer Satisfaction Measurement)

  • 최윤걸;인호
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2008년도 춘계학술발표대회
    • /
    • pp.335-338
    • /
    • 2008
  • IT아웃소싱은 기업이 핵심 분야와 비 핵심 분야를 나눈뒤 전략적으로 비 핵심분야에 대한 기능을 서비스 제공자에게 위탁하여 특정 기능을 수행하도록 하는 경영기법으로 비용절감, 조직의 슬림화등 여러 가지 목적으로 실행된다. 그리고 최근에 들어 국내에서도 정보시스템을 서비스 제공자에게 아웃소싱 하는 일이 활성화 되고 있는 상황이다. 그리고 IT아웃소싱 계약서에는 서비스 수준이나 가치, 성과에 대한 보상 및 패널티를 부과하는 도구인 SLA를 도입하고 있고 그 측정 결과를 통해 제공받는 서비스의 품질을 확인하고 있다. 그러나 측정된 SLA지표를 통해서 확인되는 데이터는 하드웨어적인 측정치에 한정되어 아웃소싱을 통한 IT서비스의 수준 향상을 확인하기 어려우며 효과적인 SLA 기준 지표 선정이 쉽지 않아 실제적인 고객만족도를 확인하기 어려운 실정이다. 이에 본 연구에서는 ITIL에 기반 한 SLA측정 결과와 사용자 만족도를 측정하여 제시하였다.

커버로스와 PDF를 적용한 프린터 보안 솔루션의 설계 및 구현 (Design and implementation of printer security solution apply kerberos and PDF)

  • 조병희;김수현;이임영
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 추계학술발표대회
    • /
    • pp.1005-1008
    • /
    • 2012
  • 기업의 기술이 점점 고도화가 진행되면서 문서유출사건에 대한 기업의 피해가 매년마다 증가하고 있다. 특히 내부직원에 의한 유출사건이 크게 증가함으로써 기업은 내부의 보안수준을 올리고 있다. 이에 기업 내 출력물 보안을 위하여 프린터 보안 솔루션을 도입하지만 강한 보안성으로 인하여 인쇄가 많은 기업이나 부서에서는 잦은 사용자인증에 불편함을 느낄 수 있다. 따라서 본 논문에서는 기존의 출력물 보안 서비스에서 사용자인증의 간소화와 PDF를 통한 권한문서관리 방식을 통하여 보다 향상된 출력물 보안 솔루션을 설계하고 구현하였다.

티켓인증방식을 사용한 프린터 보안 솔루션의 설계 및 구현 (Design and Implementation of Printer Security Solution Using Ticket Authentication)

  • 유영한;김홍기;이임영
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2011년도 추계학술발표대회
    • /
    • pp.778-781
    • /
    • 2011
  • 기업의 기술이 점점 고도화가 진행되면서 문서유출사건에 대한 기업의 피해가 매년마다 증가하고 있다. 특히 내부직원에 의한 유출사건이 크게 증가함으로써 기업은 기업 내부의 보안수준을 올리고 있다. 이에 회사 내 출력물 보안을 위하여 기업은 프린터 보안 솔루션을 도입하지만 강한 보안성으로 인하여 인쇄가 많은 기업이나 부서에서는 잦은 사용자인증에 불편함을 느낄 수 있다. 본 연구는 기존의 출력물 보안 서비스와 비교하여 티켓을 이용한 사용자인증의 간소화와 권한문서관리를 제공하는 출력물 보안 솔루션을 설계하고 구현하였다.

초등예비교사의 컴퓨팅 사고력 향상을 위한 블렌디드 러닝 기반의 소프트웨어교육 프로그램 개발 및 적용 (Development and Application of Software Education Program Based on Blended Learning for Improving Computational Thinking of Pre-Service Elementary Teachers)

  • 송의성;길준민
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제6권7호
    • /
    • pp.353-360
    • /
    • 2017
  • 본 연구에서는 예비초등교사의 소프트웨어교육을 위해 스크래치를 활용하는 블렌디드 러닝 기반의 소프트웨어교육 프로그램을 설계하였다. B교육대학교 3학년 2개 반을 실험집단과 비교집단으로 구성하고 설계한 소프트웨어교육 프로그램을 12주 동안 적용하였다. 초등예비교사의 소프트웨어교육에 대한 인식실태 설문과 컴퓨팅 사고력 자가 평가를 실시하여, 개발한 교육 프로그램이 소프트웨어교육의 인식과 컴퓨팅 사고력 능력에 미치는 영향을 분석하였다. 실험 결과, 실험집단의 사후 소프트웨어교육에 대한 인식 수준이 사전 소프트웨어교육 인식 수준에 비해 유의미하게 높아졌다. 컴퓨팅 사고력 자가 평가에서도 실험집단이 비교집단에 비해 유의미하게 높아 블렌디드 러닝 기반의 소프트웨어교육 프로그램이 학습자의 컴퓨팅 사고력 향상에 도움을 줄 수 있음을 알 수 있었다.

소프트웨어 통합테스트를 위한 결함예측모델 설계 (A Design of Fault Prediction Model for Software Integration Test)

  • 김명신;강동수;백두권
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 춘계학술발표대회
    • /
    • pp.969-972
    • /
    • 2010
  • 소프트웨어 제품의 품질을 보장하기 위해서는 제품을 개발하는 단계에 미리 결함율을 예측하여 원하는 수준의 품질을 확보하는 것이 중요하다. 결함은 사용자의 요구사항이 제품으로 구현되고 기능에 대한 테스트가 수행되는 단계에 가장 객관적이며 정량적으로 관리될 수 있다. 따라서 본 논문에서는 통합테스트에 대한 계획을 수립하는 단계에 제품에 대한 결함율을 미리 예측하여 제품 결함율이 조직의 관리범위에 들어올 수 있도록 통제하는 결함예측모델을 제안한다. 조직의 제품 결함율 베이스라인을 설정하고 통합테스트 결함율에 영향을 미치는 변수들과의 회귀분석을 통해 통합테스트 결함예측모형을 구축한다. 또한 제품 결함율에 영향을 미치는 변수들과의 회귀분석을 통해 제품 결함예측모형을 구축하고 결함예측모형을 활용해 제품 결함율을 분석 및 통제한다. 본 논문에서 제안한 결함예측모델은 실제 프로젝트에 적용하여 실효성을 검증하였으며 제품이 완성되기 전에 결함율을 예측하여 통제할 수 있게 함으로써 소프트웨어 품질을 향상한다.

RIA 플랫폼 개발환경 비교 (Comparing Development Environment for RIA Platforms)

  • 지정훈;박규태;우균;김원영;최완
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2008년도 추계학술발표대회
    • /
    • pp.770-773
    • /
    • 2008
  • 인터넷의 확산으로 소프트웨어 산업구조는 패키지 방식에서 웹을 중심으로 한 방식으로 변화되었다. 소프트웨어 배포 및 사용이 웹을 통해 이루어지고 사용자들도 자신이 원하는 콘텐츠를 직접 제작할 수 있게 되었다. 이와 더불어, 웹 기반 소프트웨어에 대한 사용자 요구사항도 더욱 많아졌다. 사용자들은 멀티미디어 지원, 상호작용, 데스크톱 수준의 시각적으로 화려한 인터페이스(UI)를 웹 브라우저를 통해 사용하기를 원한다. 하지만, HTML과 스크립트 언어 기반의 웹 시스템 만으로는 사용자 요구사항을 만족시키기가 어렵다. RIA(Rich Internet Application)는 HTML의 한계를 극복하고, 사용자 요구사항을 충족시키기 위해 제안된 모델이다. 향후 RIA 기술은 많은 분야의 소프트웨어 개발에 사용될 것이다. 본 논문에서는 RIA 기술에 대해 알아보고 RIA 개발을 위해 필요한 요소들을 정의하고 RIA 개발환경들의 장단점을 비교 평가한다. 또한 각 플랫폼의 성공적인 응용사례를 살펴봄으로써 RIA 개발환경 선택에 도움을 주고자 한다.

성능지수를 고려한 관계형 데이터베이스 시스템의 목표지향형 성능관리 모델 (A Goal-Oriented Performance Management Model with DB Performance Index for Relational Database System)

  • 박상용;김정동;백두권
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2009년도 춘계학술발표대회
    • /
    • pp.313-316
    • /
    • 2009
  • 관계형 데이터베이스를 사용하는 응용시스템들은 어플리케이션 소스 코드에 내재된 SQL을 통하여 데이터를 액세스하게 되며, SQL을 통한 데이터베이스 액세스 성능은 응용시스템의 성능에 결정적인 영향을 미치기 때문에, 관계형 데이터베이스시스템의 튜닝에 대해서는 많은 연구가 이루어져 왔다. 그러나 데이터베이스시스템 튜닝을 통해 얻은 성능 수준은 응용시스템의 변경이나 데이터 저장량 증가 등 여러 요인에 의해 다시 저하될 수 있으며, 이와 같은 성능 수준의 변화를 정량적으로 관리하면서 최소 비용으로 성능 수준을 유지할 수 있도록 튜닝 시점을 결정하는 방법에 대한 연구는 현재까지 연구된 바가 없다. 이 논문에서 제시하는 DB 성능지수와 이를 이용한 데이터베이스시스템의 성능관리 모델은 특정 벤더에 종속되지 않고 성능수준을 정량화함으로써 이해관계자들에게 성능 수준의 변화를 가시적으로 보이고 데이터베이스 관리자의 성능관리 및 튜닝 시점 판단을 지원하여 일정 수준의 성능을 유지할 수 있는 방법으로 활용될 수 있다.