발표자 : 홍익대학교 소프트웨어 공학 연구실 변은영 지도교수 : 김영철

Slides:



Advertisements
Similar presentations
사 업 명 취창업 전략과 사회진출 사 업 대 상사 업 대 상 동양미래대학교 재학생 ( 졸업예정자 ) 사 업 내 용사 업 내 용 진로 및 취창업관련 프로그램 및 컨설팅 사 업 기 간사 업 기 간 2014 학년도 2 학기 수 행 장 소수 행 장 소 동양미래대학교.
Advertisements

소프트웨어 프로세스. 1 내용  소프트웨어 프로세스  생명주기의 의미  생명주기 모델 –Waterfall Model –prototyping model –Spiral Model –Iteration Model.
온누리교회 일대일 사역팀. CONTENTS 1. 예수님의 공생애 사역 2. 죄의 기원과 죄의 결과 3. 죄 문제의 해결 I. 예수님의 부활은 그리스도의 죽음과 함께 기독교 II. 인간은 하나님 앞에 모두 죄인이다. III. 따라서 나도 죄인이라는 사실을 깨달아야 한다.
DIY를 이용한 명절선물세트 판매 촉진 방안 1조, /19 목 차 상황인식 문제/원인분석 대안결정 실행관리 기대효과 Action Plan Q&A.
2009 개정 교육과정에 따른 예술(음악/미술)교과 교육과정 개정의 주요 내용
컴퓨터 응용설계 및 실험 2014년 1학기 003,004,007 분반.
정 보 공 개 서 무 림 오 피 스 웨 이 ㈜.
홍보출판 위원회 출판국 2010년 사역 계획서 발표자 : 출판국 국장 / 박수만권사 일시: 2010년 01월 17일(일) 1.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
Chapter 2 정보시스템 아키텍처 (IS Architecture)
Shortest Path Algorithm
역대 정부개편의 교훈과 새로운 정부조직개편의 방향
▣ 금연 프로그램 운용(안) 구 분 실 시 내 용 일 정 사전조사 교육프로그램실시
4. 데이터 기능 유형.
SAP QUERY SAP R/3 4.6C.
사업계획서 (가칭)진성지류유통 ㈜.
김종찬 김정석 이상미 임성규 담당 교수님 최병수 교수님
제 2부 호텔 영업부문의 경영관리 제7장 호텔의 세일즈와 마케팅 제8장 호텔의 객실영업 제9장 호텔의 객실관리
제4장 채용관리 채용관리의 중요성과 기본전략 모 집 선 발 채용 형태의 변화 채용관리.
체위변경과 이동 요양보호 강사 : 이윤희.
2016학년도 2학기 수강바구니(수강신청) 안내 매뉴얼
2016학년도 1학기 수강바구니(수강신청) 안내 매뉴얼
알기쉬운 DMAIC/DFSS Concept 6.
12. 데이터베이스 설계.
지식저장 및 활용사례 삼성SDS 아리샘 KMS 오승연 책임
소프트웨어공학 UML 학기.
捨小就大 “시장환경 변화에 따른 삼성화재 브랜드 위상 강화를 위한 커뮤니케이션 전략 “
가상플랫폼을 사용한 임베디드SW 개발 (CoWare CoWare Virtual Platform Designer 사용)
자료구조 김현성.
CRM에서의 Data Quality Management
ISO 9001:2000 프로세스 접근방법의 이해와 적용 베스트경영컨설팅(BMC).
Program Management - Program and Project Definition -
- Make Processes Manageable -
쉽게 배우는 알고리즘 9장. 그래프 알고리즘.
Ch. 10 Algorithm Efficiency & Sorting
Ch. 10 Algorithm Efficiency & Sorting
BPR 추진전략 및 사례 1.
과제연구 Final 발표 서수원.
5. 비제약 최적설계의 수치해법 (Numerical Methods for Unconstrained Optimum Design)
시스템 분석 및 설계.
UML 실습 (Unified Modeling Language)
2011년 하반기 VIP투자자문 인재채용 안내
Problem Solving Skills
사업계획서 (가칭)진성지류유통 ㈜.
자료구조(SCSC) Data Structures
품질관리 기술사 자격 취득 과정 안내 2008년 1월.
임상 시나리오를 통해 알아보는 「UpToDate」 사용법
신 윤 호 ㈜엘림에듀 초등사업본부장, 중앙대학교 체육학박사
ERP 시스템의 구축 ERP 시스템의 구축 기업이 ERP 시스템의 도입을 검토하는 단계에서부터 실제 업무에 적용하고 사후관리에 들어가는 단계에 이르기까지 시스템을 효과적으로 사용하기 위해 필요한 모든 활동.
Department of AD & PR, Youngsan University
3.1 요구 모델링 Date : Create by kim wan yi
시스템 분석 및 설계 글로컬 IT 학과 김정기.
2019학년도 1학기 수강바구니(수강신청) 안내 매뉴얼
CEO가 가져야 할 품질 혁신 마인드.
소프트웨어 형상관리: 목차 변경 및 형상관리의 기초 개념 형상항목 확인 및 버전관리 변경관리 감사 및 감사보고 99_11
그래프와 트리 (Graphs and Trees)
성공적인 웹사이트 구축 (2) 변화 발전하는 Site의 미래를 예측 반영해야 함.
2장 시스템 분석/설계 개요 한빛미디어(주).
Search Engine 4조 해외 여행 준비 4조와 함께 ! 하나투어와 모두투어 비교를 중심으로.
Course Overview Information Literacy.
Analysis of Customer Behavior and Service Modeling Final Team Project
Life Cycle Cost Analysis Process 충북대학교 구조시스템공학과 시스템공학연구실
양초 한 자루의 과학 과학영재교육 전공 김 연 주 류 은 희 이 상 희.
관광지 정보 동경 하라주쿠 주간인기관광지 Weekly Best 강력추천 관광지사진 관광지사진 관광지사진 관광지사진
4. 분자 상호 작용의 네트워크 분석 4.1 네트워크 표현과 계산
Hongik Univ. Software Engineering Laboratory Jin Hyub Lee
Dynamic Graph Query Primitives for SDN-based Cloud Network Management Ramya Raghavendra, Jorge Lobo, Kang-Won Lee 2012 HotSDN 정보통신공학과.
기업경영과 생산관리 교재 : 강의 홈 김태웅 지음, 생산, 운영관리의 이해 (제3판), 신영사
아이디어 다듬기 및 판정 공학입문 설계 일곱번째 시간 공학입문설계
Chapter 7: Deadlocks.
Presentation transcript:

발표자 : 홍익대학교 소프트웨어 공학 연구실 변은영 지도교수 : 김영철 2018. 06. 21 Louvain 클러스터링 알고리즘을 통한 요구 사항 상관성 추출 Extracting Association Relationships among Requirements through Louvain Clustering Algorithm 발표자 : 홍익대학교 소프트웨어 공학 연구실 변은영 지도교수 : 김영철 2018. 06. 21

Contents I. 연구 배경 II. 관련 연구 III. 요구사항 클러스터링 기법 및 자동화 시스템 IV. 사례 적용 및 결과 분석 V. 결론 및 향후 연구

연구 배경 소프트웨어 개발 프로세스 “Software Development Process produes highest quality and lowest cost in the shortest time. It includes a detailed plan for how to develop, maintain, and replace a software system.” “소프트웨어 개발 프로세스는 소프트웨어의 품질을 향상시키고, 소모되는 비용과 시간을 절감시킨다. 이는 소프트웨어 시스템의 개발, 유지보수에 대한 체계적인 계획을 포함한다.” - Stackify Requirement Analysis Design Coding Testing Analysis Design Coding Testing Requirements Questions Answers ? ? Stakeholders Developers https://www.visual-paradigm.com/guide/uml-unified-modeling-language/overview-of-the-14-uml-diagram-types/

연구 배경 Software Modeling Type Use Ratio of UML Diagram UML Diagram All Sources [Co. Visual Paradigm] https://www.visual-paradigm.com/guide/uml-unified-modeling-language/overview-of-the-14-uml-diagram-types/

연구 배경 “Use Case Diagram can be a good communication tool for stakeholders. It provides a view for the stakeholders to understand how the system is going to be designed.” “유스 케이스 다이어그램은 개발자와 이해 관계자를 위한 훌륭한 커뮤니케이션 도구가 될 수 있다. 이는 이해 관계자가 시스템이 어떻게 설계될지 이해할 수 있는 뷰를 제공한다.” - Vidgen, R. ‘Requirements Analysis and UML’, 2003 Requirements Questions Answers 자동화 Approach 요구 사항 상관성 추출 자동화를 위한 시스템 구축 ? ? 이해관계자와 개발자 간의 커뮤니케이션 활성화 소프트웨어 개발 효율성 증대 Use Case Diagram Stakeholders Developers https://www.visual-paradigm.com/guide/uml-unified-modeling-language/overview-of-the-14-uml-diagram-types/

관련 연구 UML Tools Requirements Tools Use Case Use Case 자동 추출 ArgoUML x Dia Modelio Nclass NetBeans PaPyrus Umbrello UML Modeller Genmymodel Visual Paradigm Use Case Use Case 자동 추출 Doors x RequisitePro CaliberRM Accept Requirements Atlassian JIRA Accompa GatherSpace eRequirements Cameo Requirements 설계 측면의 기능만을 제공함 설계와의 추적성을 제공하기 위한 시도 중  유스 케이스 자동 추출 기능은 제공 X 이는 현재까지 연구 단계  요구사항을 대상으로 POS Tagging 을 수행하여 주어, 동사 분류  반자동화 - Best UML Tools, BestTools [2018] http://www.bestetools.com/design/uml-tools/ http://memstore.tistory.com/14

Strongly Connected Component 관련 연구 Graph Clustering Theory Strongly Connected Component 방향성 그래프에서 서로 다른 노드가 접근할 수 있는 경로가 있는 경우 하나의 컴포넌트는 순환 그래프 Strongly Connected Component Requirement Graph * 요구사항 그래프에서 순환 그래프가 생성되기 위해서는 동사를 중심으로 주어와 관련 명사가 변경되어야 함  위와 같은 제약 사항으로 인해 클러스터링 어려움

관련 연구 Graph Clustering Theory 𝒎𝒐𝒅𝒖𝒍𝒂𝒓𝒊𝒕𝒚 ≈𝟎.𝟑𝟒 Louvain Clustering Algorithm 네트워크에서 커뮤니티를 탐지 하기 위한 Greedy Optimization 알고리즘 그래프 노드 간의 모듈성을 -1~1 사이 값으로 측정 SCC(Strongly Connected Component)와는 다르게 비방향성 그래프를 대상으로 하고, 연결선의 가중치를 고려할 수 있음 Algorithm 1. Put all vertices into distinct communities 2. Refine communities ▶ For each vertex i Compute ∆ 𝑄 𝑖→𝑐(𝑗) for each neighbor j Join the community c(j) that yields the largest gain in ∆𝑄 ▶ Repeat until no movement yields a gain 3. Reconstruct the graph ▶ The partitions become super vertices ▶ The weights of edges between communities are summed 4. Repeat steps 2 and 3 until convergence 𝒎𝒐𝒅𝒖𝒍𝒂𝒓𝒊𝒕𝒚 ≈𝟎.𝟑𝟒

Louvain Clustering Algorithm 요구사항 클러스터링 기법 및 자동화 시스템 대상이 되는 요구사항을 입력한다. Step1 (Input) Step2 (Parsing) NLPT(Natural Language Parsing Tool)을 사용하여 자연어를 Tree형태로 파싱 한다. Requirements Semantic Tree Step3 (List Generation) Tree를 기반으로 주어로부터 동사, 동사로부터 관련명사에 방향성을 갖는 리스트를 생성한다. Hotels can be searched based on city selection, check-in out dates, room type and bed type. R1 Requirement Graph Linked List Step4 (Graph Generation) 연결 리스트를 기반으로 비방향성을 갖는 그래프를 생성한다. Louvain Clustering Algorithm Requirement Cluster Step5 (Requirements Clustering) Louvain 알고리즘을 적용하여 요구사항을 클러스터링 한다.

Louvain Clustering Algorithm 요구사항 클러스터링 기법 및 자동화 시스템 대상이 되는 요구사항을 입력한다. Step1 (Input) Step2 (Parsing) NLPT(Natural Language Parsing Tool)을 사용하여 자연어를 Tree형태로 파싱 한다. Requirements Semantic Tree Step3 (List Generation) Tree를 기반으로 주어로부터 동사, 동사로 부터 목적어에 방향성을 갖는 리스트를 생성한다. Hotels can be searched based on city selection, check-in out dates, room type and bed type. R1 Requirement Graph Linked List Step4 (Graph Generation) 연결 리스트를 기반으로 비방향성을 갖는 그래프를 생성한다. Tree Louvain Clustering Algorithm Requirement Cluster Step5 (Requirements Clustering) Louvain 알고리즘을 적용하여 요구사항을 클러스터링 한다.

Louvain Clustering Algorithm 요구사항 클러스터링 기법 및 자동화 시스템 대상이 되는 요구사항을 입력한다. Step1 (Input) Step2 (Parsing) NLPT(Natural Language Parsing Tool)을 사용하여 자연어를 Tree형태로 파싱 한다. Requirements Semantic Tree Step3 (List Generation) Tree를 기반으로 주어로부터 동사, 동사로부터 관련명사에 방향성을 갖는 리스트를 생성한다. Requirement Graph Linked List Step4 (Graph Generation) 연결 리스트를 기반으로 비방향성을 갖는 그래프를 생성한다. Tree Louvain Clustering Algorithm List Requirement Cluster Step5 (Requirements Clustering) Louvain 알고리즘을 적용하여 요구사항을 클러스터링 한다.

Louvain Clustering Algorithm 요구사항 클러스터링 기법 및 자동화 시스템 Requirement Graph 대상이 되는 요구사항을 입력한다. Step1 (Input) Step2 (Parsing) NLPT(Natural Language Parsing Tool)을 사용하여 자연어를 Tree형태로 파싱 한다. Requirements Semantic Tree Step3 (List Generation) Tree를 기반으로 주어로부터 동사, 동사로부터 관련명사에 방향성을 갖는 리스트를 생성한다. Requirement Graph Linked List Step4 (Graph Generation) 연결 리스트를 기반으로 비방향성을 갖는 그래프를 생성한다. Louvain Clustering Algorithm List Requirement Cluster Step5 (Requirements Clustering) Louvain 알고리즘을 적용하여 요구사항을 클러스터링 한다.

Louvain Clustering Algorithm 요구사항 클러스터링 기법 및 자동화 시스템 대상이 되는 요구사항을 입력한다. Step1 (Input) Step2 (Parsing) NLPT(Natural Language Parsing Tool)을 사용하여 자연어를 Tree형태로 파싱 한다. Requirements Semantic Tree Step3 (List Generation) Tree를 기반으로 주어로부터 동사, 동사로부터 관련명사에 방향성을 갖는 리스트를 생성한다. Requirement Graph Linked List Step4 (Graph Generation) 연결 리스트를 기반으로 비방향성을 갖는 그래프를 생성한다. Louvain Clustering Algorithm Requirement Cluster Step5 (Requirements Clustering) Louvain 알고리즘을 적용하여 요구사항을 클러스터링 한다.

사례 적용 및 결과 분석 여행 상품 요구사항 여행 상품 R1 Hotel Search R2 R3 R4 R5 Ticket R6 Hotels can be searched based on city selection, check-in out dates, room type and bed type R2 Hotels can be displayed along with the selected search conditions along with the photos, ratings, and information R3 Hotels can be sorted by name, rank, low-price, high-price R4 Each Hotel product can be booked, changed, and registered as a favorite product Ticket R5 The ticket can be searched based on the departure city, destination city, round-trip, one-way selection, departure date R6 The ticket show the price, TAX, date, airline, stay, destination, stopover, flight, availability R7 Each ticket can be booked, changed, or registered R8 The joint purchase has the function of the customer purchasing the ticket presented by the travel agency R9 The joint purchase list shows the date of departure, the airline, the length of stay, the price, the destination, and the waypoint

사례 적용 및 결과 분석 여행 상품 요구사항 R2 Tree List Requirement Graph Hotels can be displayed along with the selected search conditions along with the photos, ratings, and information R2 Tree List Hotels be be … search conditions photos ratings information Requirement Graph

사례 적용 및 결과 분석 여행 상품 요구사항 R5 Tree List Requirement Graph The ticket can be searched based on the departure city, destination city, round-trip, one-way selection, departure date R5 Tree List ticket be be … city selection dates Requirement Graph

사례 적용 및 결과 분석 여행 상품 요구사항 R6 Tree List Requirement Graph The ticket show the price, date, airline, stay, destination, flight, availability R6 Tree List ticket show show price date airline stay destination flight availability Requirement Graph

사례 적용 및 결과 분석 Ticket Search Hotel Search 여행 상품 R1 Hotel Search R2 R3 Hotels can be searched based on city selection, check-in out dates, room type and bed type R2 Hotels can be displayed along with the selected search conditions along with the photos, ratings, and information R3 Hotels can be sorted by name, rank, low-price, high-price R4 Each Hotel product can be booked, changed, and registered as a favorite product Ticket R5 The ticket can be searched based on the departure city, destination city, round-trip, one-way selection, departure date R6 The ticket show the price, TAX, date, airline, stay, destination, stopover, flight, availability R7 Each ticket can be booked, changed, or registered R8 The joint purchase has the function of the customer purchasing the ticket presented by the travel agency R9 The joint purchase list shows the date of departure, the airline, the length of stay, the price, the destination, and the waypoint Ticket Search Hotel Search

결론 및 향후 연구 결론 향후 연구 자연어로 작성된 요구사항의 그래프화 연구 Louvain 알고리즘 기반의 요구사항 클러스터링 기법 연구 요구 사항 상관성 추출 자동화를 위한 시스템 구축 기능적 요구사항들의 상관성을 분석하여 유스 케이스 추출의 기반이 됨 ‘여행 상품‘ 요구사항을 테스트 케이스로 적용 이해관계자와 개발자 간의 커뮤니케이션 활성화 및 효율성 증대 향후 연구 클러스터링 기법의 정확성을 향상 시키기 위한 전처리 필요 (대소문자, 단/복수 단어 식별, 동사/명사 의미로 동일하게 사용되는 단어 처리, 수동태 문장을 능동태 문장으로 변환) 명확한 요구사항 정의 필요(동일하지만 다른 형태의 단어 정제 필요)