작 품 명 OCR기반 코드파일 변환 어플리케이션
작 성 일 2020-05-05
팀 명 KODKOD
팀 원 김우진, 이현승, 유제훈, 정민승
목포해양대학교 해양컴퓨터공학과
목 차
1. 작품 소개 ... 3
2. 요구사항 명세 ... 3
2.1. Use Case Diagram ...3
2.2. 요구사항 목록 ...4
2.2.1. UC-1: 이미지 캡처의 요구사항목록 ...4
2.2.2. UC-2: 갤러리 실행의 요구사항목록 ...4
2.2.3. UC-3: 이미지 편집의 요구사항목록 ...5
2.2.4. UC-4: 이미지 전송의 요구사항목록 ...5
2.2.5. UC-5: 이미지 수신의 요구사항목록 ...5
2.2.6. UC-6: 자바파일 생성의 요구사항목록...5
2.2.7. UC-7: 자바파일 전송의 요구사항목록...6
2.2.8. UC-8: 자바파일 수신의 요구사항목록...6
3. UI 프로토타입 ... 6
3.1. 안드로이드 ...6
3.2. 서버 ...3
목포해양대학교 해양컴퓨터공학과
1. 작품 소개
OCR기반 코드파일 변환 어플리케이션은 코드가 기술된 코드자료 즉, 책에 인쇄되어 있거나 컴퓨 터 내에 이미지상으로 존재하여 쉽게 복사할 수 없고, 직접 타이핑해야 하는 문서를 안드로이드 카메라를 이용해 캡처 후 서버로 보내어 OCR기반으로 이미지 파일로 불러와 소스코드를 인식하 여 추출함으로써, 컴파일 가능한 자바코드(.java파일)를 만드는 어플리케이션이다. 이 어플로 인해 프로그래머들은 코드를 타이핑하는 시간을 줄임으로써, 일의 효율성을 높일 것으로 기대된다.
2. 요구사항 명세
2.1. Use Case Diagram
목포해양대학교 해양컴퓨터공학과
Use case ID Use case 명칭 Use case 개요
UC-1 이미지 캡처 이미지를 캡처한다.
UC-2 갤러리 실행 저장된 이미지를 보여준다.
UC-3 이미지 편집 이미지를 편집한다.
UC-4 이미지 전송 이미지를 서버로 전송한다.
UC-5 이미지 수신 어플에서 전송한 이미지를 수신한다.
UC-6 자바파일 생성 .java파일을 생성한다.
UC-7 자바파일 전송 자바파일을 어플로 전송한다.
UC-8 자바파일 수신 자바파일을 수신한다.
2.2. 요구사항 목록
2.2.1. UC-1: 이미지 캡처의 요구사항목록
요구사항 ID 요구사항 명칭 요구사항기술
UC1-REQ-1 카메라 버튼 카메라 버튼을 클릭 시 촬영 영역으로 넘어간다.
UC1-REQ-2 카메라 권한
촬영 영역으로 넘어가기 전 카메라 권한설정이 되지 않은 경우에는 사용자 스마트폰 카메라 권한을 요구하는 메시지
창을 띄운다.
UC1-REQ-3 사용자 승인 사용자가 권한을 승인할 수 있는 버튼창을 띄우며 사용자 가 권한을 승인할 시 촬영 영역으로 넘어간다.
UC1-REQ-4 캡처 하기 이미지를 캡처한다.
UC1-REQ-5 이미지 보이기 캡처한 이미지를 사용자에게 보여준다.
UC1-REQ-6 메시지 띄우기 이미지 저장 여부 메시지 창을 띄운다.
UC1-REQ-7 이미지 저장 이미지를 저장 시 사진이 갤러리에 저장된다.
UC1-REQ-8 이미지 확인 갤러리에서 저장된 이미지를 보여준다.
UC1-REQ-9 다시시도 하기 다시 시도 수행 시 촬영 영역으로 넘어간다.
2.2.2. UC-2: 갤러리 실행의 요구사항목록
요구사항 ID 요구사항 명칭 요구사항기술
UC2-REQ-1 보여주기 갤러리 실행 시 저장된 이미지를 보여준다.
UC2-REQ-2 버튼 보이기 편집영역으로 넘어가는 버튼을 보여준다.
UC2-REQ-3 전송 버튼 원하는 사진을 선택하여 서버로 전송할 버튼을 보여준다.
목포해양대학교 해양컴퓨터공학과
2.2.3. UC-3: 이미지 편집의 요구사항목록
요구사항 ID 요구사항 명칭 요구사항기술
UC3-REQ-1 편집하기 편집버튼을 누를 시 편집 영역으로 이동한다.
UC3-REQ-2 지우기 이미지 내의 불필요한 부분을 편집한다.
UC3-REQ-3 취소하기 이미지 편집 실패 시 다시 한다.
UC3-REQ-4 저장하기 편집이 완료된 이미지를 갤러리에 저장한다.
UC3-REQ-5 회전하기 이미지 내에 텍스트가 평행하게 정렬될 수 있도록 이미지 를 사용자가 임의로 회전시킨다.
UC3-REQ-6 이미지 저장하기 회전이 완료된 이미지를 저장한다.
2.2.4. UC-4: 이미지 전송의 요구사항목록
요구사항 ID 요구사항 명칭 요구사항기술
UC4-REQ-1 이미지 선택 이미지 선택 버튼을 누르면 이미지는 각각 체크될 수 있는 표시가 생성되며, 사용자가 임의로 선택할 수 있다.
UC4-REQ-2 전송하기 선택된 이미지를 서버로 전송한다.
2.2.5. UC-5: 이미지 수신의 요구사항목록
요구사항 ID 요구사항 명칭 요구사항기술
UC5-REQ-1 이미지 받기 어플로부터 전송된 이미지를 수신한다.
UC5-REQ-2 이미지 넘기기 수신한 이미지를 텍스트 추출영역으로 넘긴다.
2.2.6. UC-6: 자바파일 생성의 요구사항목록
요구사항 ID 요구사항 명칭 요구사항기술
UC6-REQ-1 이미지 색 변환 텍스트 인식률을 높이기 위해 이미지 색을 변환한다.
UC6-REQ-2 텍스트 추출하기 이미지 내의 텍스트를 인식하여 추출한다.
UC6-REQ-3 소스코드 확인 출력된 텍스트가 자바 소스코드가 맞는지 검사한다.
UC6-REQ-4 텍스트 합치기 여러 장으로 분할되어 이미지를 수신할 시 순서대로 텍스 트를 추출하여 하나로 이어준다.
UC6-REQ-5 소스코드 저장 추출된 자바 소스코드를 저장한다.
UC6-REQ-6 변환하기 추출된 자바 코드를 컴파일 가능한 .java파일로 변환한다.
목포해양대학교 해양컴퓨터공학과
2.2.7. UC-7: 자바파일 전송의 요구사항목록
요구사항 ID 요구사항 명칭 요구사항기술
UC7-REQ-1 파일 전송 사용자로부터 전송된 곳으로 변환이 완료된 .java파일을 사 용자 스마트폰으로 전송한다.
2.2.8. UC-8: 자바파일 수신의 요구사항목록
요구사항 ID 요구사항 명칭 요구사항기술
UC8-REQ-1 파일 수신 서버로부터 .java파일을 수신하고 파일을 보여준다.
UC8-REQ-2 다운로드 서버로부터 수신한 .java파일을 사용자에 의해 스마트폰에 저장한다.
3. UI 프로토타입
3.1. 안드로이드
1. 어플리케이션 처음 화면
[어플리케이션 처음 실행화면 프로토타입]
어플을 처음 실행하면 카메라, 갤러리, 파일과 같은 세가지 선택기능이 존재한다. 카메라는 소스코드 자료를 캡처하며, 갤러리는 캡처한 이미지 및 편집 또는 수정된 이미지기 저장되는 공간이다, 마지막 파일은 사용자가 요청한 .java파일을 수신하는 저장공간을 의미한다.
목포해양대학교 해양컴퓨터공학과
2. 카메라 화면[카메라 실행화면 프로토타입]
촬영버튼을 클릭하여 캡처하고 갤러리에 저장된다. 갤러리 버튼을 클릭하여 갤러리에 저장된 이미지를 불러올 수 있다. 또한 캡처한 이미지를 편집기능 버튼을 사용하여 이미지를 수정할 수 있다.
3. 편집기능 화면
[편집기능 실행화면 프로토타입]
편집기능 실행 시 편집도구를 이용하여 주석과 같은 불필요한 부분을 수정하는 기능을 수행 하며, 수정이 완료된 이미지를 갤러리에 저장한다.
목포해양대학교 해양컴퓨터공학과
4. 갤러리 화면[갤러리 실행화면 프로토타입]
갤러리 실행 시 저장된 이미지 및 편집된 이미지를 볼 수 있으며 저장된 이미지를 바탕으 로 편집기능을 수행할 수 있다. 이미지를 선택하여 보내기를 실행하면 선택된 이미지를 서 버로 전송하여 .java파일로 변환되어 실행파일 수신공간에 수신된다.
3.2. 서버
어플에서 전송된 이미지를 수신하여 이미지 내 기술된 소스코드를 인식하고 출력하여 실행 가능 한 .java파일을 생성한다. 그리고 생성된 자바파일을 다시 어플로 전송한다.