목차

사용자 지원 - Q&A

개요

Q&A관리 서비스는 사용자가 질문 내역을 등록 할 수 있으며, 관리자가 질문에 대한 답변을 등록하면 해당 질문 내용과 함께 답변 내역을 조회 할 수 있다.
Q&A정보를 수정 및 삭제할 경우에는 작성시의 비밀번호 입력이 필요하다.

Q&A 질문 등록 시에는 Validator Rule을 통해 필수항목에 대한 조건을 검사하며,
Validator Rule은 Valator-rules.xml과 미리 정의된 컴포넌트 Validator xml을 통해 적용된다.

Q&A관리 서비스는 HTML5, jQuery와 함께 jQM(jQuery Mobile)을 바탕으로 개발된 모바일 공통 컴포넌트이다.
자세한 사항은 모바일 실행환경 가이드를 통해 안내되고 있다.

컴포넌트와 관련된 css로는 기본적으로 적용되는 EgovMobile.css와 함께 egovBoard.css, ussCommon.css가 사용된다.
또한 공통으로 지원하고 있는 jAlert와 jPassword가 사용되고 있으며, 아래와 같은 js 파일에 정의되어 있다.

지원대상

본 컴포넌트는 모바일 디바이스에서 사용 가능한 브라우저를 대상으로 개발 및 테스트를 완료하였으며
PC용 브라우저와 mobile용 브라우저의 HTML5, CSS3 에 대한 지원이 상이함으로 개발, 적용 시에 주의가 필요하다.

개발 및 테스트를 위해 갤럭시S2, 갤럭시S, 갤럭시탭, iPad2, iPhone4 등의 모바일 기기와
Android 기본 브라우저, Firefox, Safari, Opera Mobile 등의 모바일 브라우저를 사용하였다.

Android

테스트 디바이스로는 갤럭시S, 갤럭시S2, 갤럭시탭을 사용하였으며,
브라우저는 Android 기본 브라우저, Firefox(6.xx), Opera Mobile 브라우저를 사용하였다.

하지만, Opera Mobile의 경우에는 색상 및 이벤트 처리에 일부 문제가 발생하여 3종지원 브라우저 대상에서 제외되었다.

iOS

테스트 디바이스로는 iPhone4, iPad2를 사용하였다.

기능 흐름도

설명

Q&A 기능은 크게 Q&A목록조회, Q&A상세조회, Q&A내역등록, Q&A내역수정 기능으로 구성된다.

클래스다이어그램

관련소스
유형대상소스명비고
Controlleregovframework.com.uss.olh.qna.web.EgovQnaManageController.javaQ&A관리를 위한 컨트롤러 클래스
Controlleregovframework.mbl.com.uss.olh.qna.web.EgovQnaManageController.javaQ&A관리를 위한 모바일 컨트롤러 클래스
Serviceegovframework.com.uss.olh.qna.service.EgovQnaManageService.javaQ&A관리를 위한 서비스 인터페이스
ServiceImplegovframework.com.uss.olh.qna.service.impl.EgovQnaManageServiceImpl.javaQ&A관리를 위한 서비스 구현 클래스
VOegovframework.com.uss.olh.qna.service.QnaManageVO.javaQ&A관리를 위한 VO 클래스
VOegovframework.com.uss.olh.qna.service.QnaManageDefaultVO.javaQ&A관리를 위한 SearchVO 클래스
DAOegovframework.com.uss.olh.qna.service.imp.QnaManageDAO.javaQ&A 관리를 위한 데이터처리 클래스
JSP/WEB-INF/jsp/egovframework/com/uss/olh/qna/EgovQnaListInqire.jspQ&A관리를 위한 목록조회 페이지
JSP/WEB-INF/jsp/egovframework/com/uss/olh/qna/EgovQnaDetailInqire.jspQ&A관리를 위한 상세조회 페이지
JSP/WEB-INF/jsp/egovframework/com/uss/olh/qna/EgovQnaCnRegist.jspQ&A관리를 위한 등록 페이지
JSP/WEB-INF/jsp/egovframework/com/uss/olh/qna/EgovQnaCnUpdt.jspQ&A관리를 위한 수정 페이지
JSP/WEB-INF/jsp/egovframework/com/uss/olh/qna/EgovQnaAnswerListInqire.jspQ&A관리를 위한 답변목록조회 페이지
JSP/WEB-INF/jsp/egovframework/com/uss/olh/qna/EgovQnaAnswerDetailInqire.jspQ&A관리를 위한 답변상세조회 페이지
JSP/WEB-INF/jsp/egovframework/com/uss/olh/qna/EgovQnaCnAnswerRegist.jspQ&A관리를 위한 답변등록 페이지
JSP/WEB-INF/jsp/egovframework/com/uss/olh/qna/EgovQnaCnAnswerUpdt.jspQ&A관리를 위한 답변수정 페이지
JSP/WEB-INF/jsp/egovframework/mbl/com/uss/olh/qna/EgovQnaListInqire.jspQ&A관리를 위한 모바일 목록조회 페이지
JSP/WEB-INF/jsp/egovframework/mbl/com/uss/olh/qna/EgovQnaDetailInqire.jspQ&A관리를 위한 모바일 상세조회 페이지
JSP/WEB-INF/jsp/egovframework/mbl/com/uss/olh/qna/EgovQnaCnRegist.jspQ&A관리를 위한 모바일 등록 페이지
JSP/WEB-INF/jsp/egovframework/mbl/com/uss/olh/qna/EgovQnaCnUpdt.jspQ&A관리를 위한 모바일 수정 페이지
Query XMLresources/egovframework/sqlmap/com/uss/olh/qna/EgovQnaManage_SQL.xmlQ&A관리(조회,등록,수정,삭제)를 위한 Query XML
Validator Rule XMLresources/egovframework/validator/validator-rules.xmlValidator Rule을 정의한 XML
Validator XMLresources/egovframework/validator/com/uss/olh/qna/EgovQnaManage_SQL.xmlQ&A관리를 위한 Validator XML
Message propertiesresources/egovframework/message/message-common_ko_KR.propertiesQ&A관리를 위한 Message properties
Idgen XMLresources/egovframework/spring/context-idgen.xmlQ&A등록을 위한 Id생성 Idgen XML
관련테이블
테이블명테이블명(영문)비고
QA정보COMTNQAINFO질문과 답변을 관리

관련기능

Q&A목록조회

비즈니스 규칙

작성자명, Q&A 제목을 검색조건으로 목록을 조회 할 수 있으며, 등록버튼을 클릭하여 Q&A등록 화면으로 이동할 수 있다.

관련코드

N/A

관련화면 및 수행매뉴얼

ActionURLController methodQueryID
조회/uss/olh/qna/QnaListInqire.mdoselectQnaList“QnaManageDAO.selectQnaList”
/uss/olh/qna/QnaListInqire.mdoselectQnaListTotCnt“QnaManageDAO.selectQnaListTotCnt”
등록/uss/olh/qna/QnaCnRegistView.mdoinsertQnaCnView
/uss/olh/qna/QnaCnRegist.mdoinsertQnaCn“QnaManageDAO.insertQnaCn”
목록클릭/uss/olh/qna/QnaDetailInqire.mdoselectQnaListDetail“QnaManageDAO.selectQnaListDetail”

Q&A 목록은 페이지 당 10건씩 조회되며 페이징은 1페이지씩 이루어진다.

홈: 홈 화면으로 이동한다.
등록: 질문을 등록하기 위해서는 상단의 등록 버튼을 통해서 Q&A등록 화면으로 이동한다.
검색: Q&A를 조회하기 위해서는 상단의 검색조건을 선택하고 해당하는 검색문자를 입력 후 검색 버튼을 클릭한다.
목록클릭: Q&A상세조회 화면으로 이동한다.


Q&A상세조회

비즈니스 규칙

Q&A목록조회 화면에서 목록 클릭 시 이동되는 화면으로 Q&A에 대한 상세정보를 보여준다.
수정버튼을 클릭하면 Q&A 수정 화면으로 이동하여 Q&A 수정 처리를 할 수 있고, 삭제버튼을 클릭하면 Q&A 삭제 처리를 할 수 있다.
Q&A에서 사용되는 진행처리상태는 접수대기, 접수, 완료(답변완료)이며, 완료일 때 질문을 등록한 사용자가 답변을 조회할 수 있다.

관련코드

N/A

관련화면 및 수행매뉴얼

ActionURLController methodQueryID
수정/uss/olh/qna/QnaCnUpdtView.mdoupdateQnaCnView
삭제/uss/olh/qna/QnaCnDelete.mdodeleteQnaCn“QnaManageDAO.deleteQnaCn”
목록/uss/olh/qna/QnaListInqire.mdoselectQnaList“QnaManageDAO.selectQnaList”

Q&A 상세조회화면은 Q&A내역수정, Q&A내역삭제, Q&A목록조회를 할 수 있다.

수정 및 삭제 버튼을 클릭하면 작성시에 입력한 비밀번호를 확인한 후 Q&A를 수정하거나 삭제 하도록 구성되어 있다.

뒤로: Q&A목록조회 화면으로 이동한다.
수정: 수정버튼 클릭 시 Q&A를 수정할 수 있는 Q&A수정 화면으로 이동한다.
삭제: 삭제버튼을 클릭하면 삭제여부를 확인하는 메세지를 보여주고 작성시에 입력한 비밀번호를 확인한 후 Q&A에 대한 내용을 삭제처리 한다. 삭제처리 후에는 Q&A목록조회 화면으로 이동한다.
목록: Q&A목록조회 화면으로 이동한다.


Q&A내역등록

비즈니스 규칙

작성자에 관한 기본정보와 질문내용을 등록하며, 등록이 성공적으로 처리되면 Q&A목록조회 화면으로 이동된다.

저장처리 시 QA_ID 컬럼은 “egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService”를 통하여 Primary Key ⇒ QA_ID(20자리) : QA__(3자리) + 일련번호(17자리)로 자동생성 부여된다.

<bean name="egovQnaManageIdGnrService"
	class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService"
	destroy-method="destroy">
	<property name="dataSource" ref="dataSource" />
	<property name="strategy"   ref="qnaManageStrategy" />
	<property name="blockSize" 	value="10"/>
	<property name="table"	   	value="COMTECOPSEQ"/>
	<property name="tableName"	value="QA_ID"/>
</bean>
<bean name="qnaManageStrategy"
	class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
	<property name="prefix" value="QA_" />
	<property name="cipers" value="17" />
	<property name="fillChar" value="0" />
</bean>		

관련코드

N/A

관련화면 및 수행매뉴얼

ActionURLController methodQueryID
목록/uss/olh/qna/QnaListInqire.mdoselectQnaList“QnaManageDAO.selectQnaList”
저장/uss/olh/qna/QnaCnRegist.mdoinsertQnaCn“QnaManageDAO.insertQnaCn”

뒤로: Q&A목록조회 화면으로 이동한다.
등록: 입력한 정보들이 저장 처리된다.
목록: Q&A목록조회 화면으로 이동한다.


Q&A내역수정

비즈니스 규칙

일반사용자는 작성자 정보와 질문내용에 대한 정보를 수정할 수 있으며 질문에 대한 답변내용은 수정할 수 없다. 수정이 성공적으로 처리되면 Q&A목록조회 화면으로 이동된다.

관련코드

N/A

관련화면 및 수행매뉴얼

ActionURLController methodQueryID
수정/uss/olh/qna/QnaCnUpdt.mdoupdateQnaCn“QnaManageDAO.updateQnaCn”
목록/uss/olh/qna/QnaListInqire.mdoselectQnaList“QnaManageDAO.selectQnaList”

뒤로: Q&A상세조회 화면으로 이동한다.
수정: 수정 입력한 정보들이 저장 처리된다.
목록: Q&A목록조회 화면으로 이동한다.


참고자료