• 검색 결과가 없습니다.

VoiceXML 음성 애플리케이션에 기반한 입시정보시스템의 설계

III. VoiceXML 음성 애플리케이션에 기반한 입시정보시스템 설계 및 구현

2. VoiceXML 음성 애플리케이션에 기반한 입시정보시스템의 설계

가. 시스템의 전체적인 구성

시스템의 전체적인 구성은 [그림 4]와 같다. 입시정보서버는 ISP(Internet Service Provider) 서버와 연결되어 있다. 입시정보서버는 DB와 연동하여 입 시정보자료들이 저장되어 있으며 사용자가 전화를 통해 시스템에 연결할 경 우 서버에 저장된 VoiceXML 문서를 VoiceXML Gateway에 보내어 음성으로 변환하여 TTS(Text To Speech)로 출력하게 된다. 사용자는 유선전화 및 무 선전화를 사용하여 시스템에 접속할 수 있다.

[그림 4] 전체 시스템 구성도

사용자가 음성으로 입력한 단어들은 VoiceXML Gateway가 음성인식하여 텍스트로 변환하여 서버에 전달해 준다. DB를 검색할 경우를 위하여 서버 측에서 Java Servlet과 JSP, ASP 등의 스크립트 실행엔진을 사용하여 동적으 로 VoiceXML 문서를 생성하여 다시 VoiceXML Gateway에 전달해 주므로 사용자가 필요한 정보만을 동적으로 추출하여 보내줄 수 있다. 시스템 관리 자는 유무선 인트라넷을 통하여 관리자 모드를 통해 사용자가 요청하는 정보 들을 수시로 업데이트하고 관리할 수 있다.

본 논문에서는 시스템 구현을 위해 작성한 VoiceXML 문서를 테스트하기 위해 와이더덴닷컴에서 제공하는 웹기반 테스트 및 전화테스트를 사용하였 다. 테스트가 가능한 국내외 사이트가 많이 있으나 국외 사이트는 아직 한 국어 음성처리를 지원하지 못하고 전화테스트를 위해 국제전화요금을 부담해 야 한다. 따라서 본 논문에서는 국내 사이트 중에서 와이더덴닷컴 (http://www.widerthan.com)에서 제공하는 개발자용 VoiceXML Gateway를 사용하였다. 와이더덴닷컴에서 제공하는 VXGate에서는 웹기반 디버깅은 물 론 전화테스트까지 제공하고 있어 개발을 위한 좋은 환경을 제공하고 있다.

개발자가 작성한 VoiceXML 문서를 VoiceXML Gateway인 VXGate에 보내면 VXGate의 인터프리터 기능을 통해 사용자와 음성으로 상호 작용을 주고받을 수 있다.

[그림 5] 와이더덴닷컴에서 제공하는 VoiceXML 개발자용 사이트

나. 시스템 블록 다이어그램(System Block Diagram)

본 논문에서 구현한 입시정보시스템의 시스템 블록 다이어그램(System Block Diagram)은 [그림 6]과 같다.

[그림 6] 시스템 블록 다이어그램(System Block Diagram)

시스템이 시작되면 메뉴를 선택할 수 있도록 안내 메시지를 TTS(Text To Speech)로 말해준다. 메시지를 출력하는 방식에는 TTS(Text To Speech)를 통해 Text를 음성으로 변환하여 출력시키는 방식이 있으며 또한 고정적인 메 시지의 경우는 미리 녹음된 음성을 wave file로 저장하여 출력시키는 두가지 방법이 있다. 고정적인 메시지의 경우는 후자의 방식이 효율적이며 동적인 메시지의 경우는 전자가 효율적이다. 음질만을 비교해서 본다면 동적인 메 시지보다는 녹음된 음성을 wave file로 저장하는 것이 더욱 고음질을 제공해 줄 수 있다. 따라서 내용이 자주 바뀌지 않고 고정적인 부분은 wave file로 음성을 제공하고 데이터베이스 조회 등 동적으로 내용이 바뀌는 부분은 TTS(Text To Speech)를 통해 그때그때 출력시키는 것이 바람직하다.

본 입시정보시스템은 서버와 사용자와의 상호 작용에 따라 합격자 조회 모 듈, 지원현황조회 모듈, 입시일정 조회 모듈, 담당자와 통화 모듈, 입시자료발 송 모듈로 구성된다. 사용자가 전화를 걸어 시스템에 접속하면 안내 메시지 를 통해 메뉴를 선택할 수 있게 하였으며 각 메뉴에서 다시 처음으로 돌아와 다른 메뉴를 선택하거나 중간에 종료할 수 있도록 하였다.

다. 시스템 설계

본 논문에서는 입시정보시스템 설계를 위해 Booch, Rumbaugh, Jacobson 의 UML(Unified Modeling Language)에 기반한 design 방법을 활용하여 모 델링하였다.22)

UML은 소프트웨어 시스템, 더 나아가 업무 모델링, 기타 소프트웨어가 아 닌 시스템의 산출물을 규정하고 시각화하며 구현하고 문서화하는 언어이다.

UML은 복잡한 대형 시스템을 모델링하는데 성공적으로 증명된 공학적 기법 들을 모아 제시한 것이다.23)

모델링 툴로서는 대표적인 UML 툴로서 가장 많이 사용되는 Rational Rose를 사용하였다.

1) 시나리오 작성 및 클래스 설계

모델링의 첫 번째 단계로서 시스템의 요구사항을 정의하고 분석하였다.

시스템의 전반적인 시나리오를 작성하고 작성된 시나리오를 토대로 명사와 동사를 추출하여 클래스를 설계하였다. 본 입시정보시스템의 시나리오는 [표 7]과 같다.

22) Terry Quatrani, Addison wesley, “Visual Modeling with Rational Rose 2000 and UML”, 2000.

23) 황남주, “최신의 객체지향 방법론 UML과 RUP”, 쌍용정보통신, 1999.

K 대학교에서는 입시정보시스템을 새롭게 구축하고자 한다. 이미

앞에서 작성한 시나리오에 따라 class(학과), jiwongun(지원분야), jiwon(지원 현황), schedule(입시일정), student(수험생), admin(관리자), user(사용자) 등 7 개의 class를 분류하여 [그림 7]과 같은 클래스 다이어그램을 작성하였다.

[그림 7] 입시정보시스템의 클래스 다이어그램

2) 쓰임새 다이어그램(Use Case Diagram) 작성

앞에서 작성한 시나리오에 따라 실제 시스템 구현을 위한 쓰임새 다이어그 램(Use Case Diagram)을 [그림 8]과 같이 작성하였다.

[그림 8] 쓰임새 다이어그램(Use Case Diagram)

3) 세부모듈 설계 및 활동 다이어그램(Activity Diagram) 작성

위 시나리오 및 쓰임새 다이어그램(Use Case Diagram)에 따라 세부적인 각 모듈을 설계하였다.

(가) 합격자 조회 모듈

합격자 조회 모듈에서는 사용자의 수험번호와 주민등록번호를 확인하고 해 당 사용자의 합격 여부를 음성으로 변환하여 출력시킨다. 수험생의 인적사 항 및 합격여부는 입시정보서버와 연결된 데이터베이스에 저장되어 있어야 한다. VoiceXML Gateway를 통해 입시정보서버로 전송된 수험생의 수험번 호 및 주민등록번호를 입시정보서버에서 판단하여 맞으면 해당 학생을 DB에 서 조회한다. 입시정보서버로 전달된 수험번호와 주민등록번호를 바탕으로 동적으로 VoiceXML 문서를 생성하여 VoiceXML Gateway에 보내어준다.

VoiceXML Gateway에서는 VoiceXML 문서를 TTS(Text To Speech)로 출력하 여 사용자에게 들려준다.

대부분의 경우에 VoiceXML 기반 애플리케이션이 처리하는 기능이 복잡하 기 때문에 VoiceXML에서 제공되는 태그만을 사용하여 애플리케이션을 구현 하는 것은 쉽지 않다. 따라서 Java Servlet, ASP, JSP, PHP 등의 서버 스크립 트 언어를 사용하거나 클라이언트 스크립트 언어인 ECMA Script를 사용하 는 것이 대부분이다. ECMA는 ‘European Computer Manufacturers Association'의 약어로서 정보통신 시스템의 표준 규격을 정하는 국제 표준 단체의 이름을 의미한다. ECMA Script는 넷스케이프사가 만든 자바스크립 트와 마이크로소프트사의 JScript라는 두 개의 스크립트 언어를 기초로 하여 만든 국제 표준 스크립트 언어로서, 그 공식 이름은 ECMA-262와 ISO/IEC 16262이다.24)

24) 박섭형, “음성 웹 어플리케이션 구축을 위한 VoiceXML”, 한빛미디어, 2001.

본 논문에서는 Java Servlet과 JSP, ASP를 사용하여 프로그램을 작성하였 다. Java Servlet을 사용한 경우는 와이더덴닷컴에서 제공하는 widerthan.vxml.extension.VoiceXML 클래스를 import하였다. VoiceXML 클 래스는 Java Servlet에서 쉽게 VoiceXML 문서로 변환이 가능하도록 해주는

[그림 9] 합격자 조회 활동 다이어그램

(나) 지원현황 조회

사용자가 모집분야 및 지원학과를 VoiceXML Gateway와의 상호작용을 통 하여 음성 및 DTMF로 입력하면 VoiceXML Gateway가 음성을 텍스트로 변 환하여 입시정보서버에 전달한다. 입시정보서버에서는 사용자가 입력한 데 이터를 바탕으로 데이터베이스를 조회하여 그 결과를 VoiceXML 문서로 동 적으로 생성하여 VoiceXML Gateway에 전달한다. VoiceXML Gateway에서 는 전달받은 VoiceXML 문서를 음성으로 변환하여 사용자에게 들려준다.

(다) 입시일정조회

사용자는 VoiceXML Gateway와의 상호작용을 통하여 모집분야를 음성 및 DTMF로 입력한다. VoiceXML Gateway는 사용자가 입력한 음성을 텍스트 로 변환하여 입시정보서버에 전달한다. 입시정보서버는 사용자가 입력한 데 이터를 바탕으로 데이터베이스를 조회하여 그 결과를 VoiceXML 문서로 동 적으로 생성하여 VoiceXML Gateway에 전달한다. VoiceXML Gateway에서 는 전달받은 VoiceXML 문서를 음성으로 변환하여 사용자에게 들려준다.

[그림 10] 입시일정조회 활동다이어그램

(라) 담당자와 통화

사용자가 이 메뉴를 선택하면 VoiceXML Gateway는 사용자가 입력한 전 화번호를 교환기에 전달하여 담당자와 통화할 수 있도록 한다. 이 때 VoiceXML Gateway와 교환기는 사전에 연결되어 있어야 하며 교환기의 성 능에 따라 구내전화는 물론 외부전화도 연결할 수 있다. 본 시스템에서는 이미 교내 전화교환기가 연결된 상황을 가정 하에 [그림 11]과 같은 활동 다 이어그램을 만들게 되었다.

[그림 11] 담당자 연결 활동 다이어그램

(마) 입시자료발송

사용자가 입시자료발송을 요청하는 메뉴이다. 사용자가 입시자료발송 메 뉴를 선택하면 VoiceXML Gateway에서는 사용자의 정보제공을 요구한다.

사용자가 동이름을 입력하면 VoiceXML Gateway에서 그 정보를 텍스트로 변환하여 입시정보서버에 전달하고 입시정보서버에서는 기존에 연결되어 있 는 주소관리시스템의 DB를 검색하여 해당하는 우편번호 및 주소를 조회하고 다시 사용자로부터 나머지 주소를 입력받아 그 결과를 student table에 저장 시킨다. student table에 저장된 주소는 관리자의 확인을 통하여 추후 메일 링리스트로도 활용될 수 있다. 이 경우 사용자가 입력한 음성을 인식하여 텍스트로 변환하여 저장하는 주소관리시스템은 이미 구현되어 있다고 가정한 다.

[그림 12] 입시자료 발송 활동 다이어그램

4) 데이터베이스 설계

다음으로 입시정보시스템을 구현하기 위한 데이터베이스를 다음과 같이 설 계하였다. 입시정보시스템의 데이터베이스는 지원학부(과)에 관한 사항을 저 장하기 위한 class 테이블, 수험생의 인적사항을 저장하기 위한 student 테이

다음으로 입시정보시스템을 구현하기 위한 데이터베이스를 다음과 같이 설 계하였다. 입시정보시스템의 데이터베이스는 지원학부(과)에 관한 사항을 저 장하기 위한 class 테이블, 수험생의 인적사항을 저장하기 위한 student 테이