대학 차세대 통합정보시스템
입시부터 학사 · 행정 · 부속시설 · 교직원 평가까지, 대학의 업무를 하나의 통합정보시스템에 담았습니다. 업무 담당자 · 교원 · 학생이 같은 데이터를 각자의 화면에서 씁니다.
열 개의 업무, 1,100여 개의 화면
입시 원서가 학적으로, 학적이 수업 · 성적 · 등록 · 졸업으로 이어집니다. 예산은 구매 · 결의 · 전표를 거쳐 결산으로 닫힙니다. 대학 한 해의 업무를 한 데이터베이스 위에서 처리합니다.
| 업무 | 화면 | 주요 업무 |
|---|---|---|
| 입시 | 193 | 입시홍보, 학부 · 편입학 · 전공심화 · 산업체위탁 입시(원서 · 학생부 · 수능 · 면접 · 사정), 입시등록 · 입시장학 |
| 학사 | 416 | 학적 · 수업 · 수강 · 성적 · 등록 · 장학 · 교직 · 졸업, NCS 교육과정과 핵심역량 진단 |
| 행정 | 291 | 인사 · 급여 · 예산 · 회계 · 구매 · 자산 · 시설 · 총무(출장 · 근태 · 당직) · 규정 |
| 부속 | 34 | 기숙사 입사 · 등록 · 외박 · 상벌점 · 퇴사, 식당 |
| 교직원인사평가 | 74 | 교원 · 직원 채용, 교원평가 · 직원평가 · 학과평가 |
| 교원서비스 | 34 | 면접 · 상담, 성적입력 · 휴보강, 강의계획서 · 교과목명세서 · CQI |
| 학생서비스 | 29 | 수강신청, 성적조회 · 이의신청, 등록금 · 기숙사 고지서, 장학 · 입사 · 외박 신청 |
| 연구 · 견적 | 6 | 연구업적, 견적서 |
| 시스템 | 30 | 공통코드 · 메뉴 · 조직 · 일정, 권한, 접속 · 사용 로그, 공지 · 건의사항 · 수정요청 |
| 합계 | 1,107 |
화면 수는 2026년 9월 메뉴 등록 기준이며, 개발용 가이드 메뉴는 뺐습니다. 실제 화면은 아래 제품설명서(PDF)에서 보실 수 있습니다.
| 담당자 | 업무마다 기준정보 → 처리 → 출력 · 통계. 정보공시 · 고등교육통계 원자료를 만들고, 권한 · 메뉴 · 공통코드를 화면에서 관리합니다 |
|---|---|
| 교원 · 학생 | 본인 화면에서 직접 신청 · 입력하고, 고지서 · 증명서를 본인이 출력합니다. 신청하면 담당자 승인 화면에 바로 도착합니다 |
한 번 넣은 자료가 다음 업무로 이어집니다
업무 사이를 이관 · 생성 · 일괄처리 화면이 잇습니다. 앞 단계에서 넣은 자료를 다음 단계에서 다시 입력하지 않습니다.
입시에서 학적까지
- 원서접수
- →
- 학생부 · 수능 자료 이관
- →
- 면접 · 사정
- →
- 충원
- →
- 학번 부여 · 학적 이관
수업에서 성적까지
- 개설강좌
- →
- 시간표
- →
- 수강신청
- →
- 성적입력
- →
- 수강성적 집계 · 이관
등록금에서 수납까지
- 등록금 책정
- →
- 등록대상자 생성
- →
- 가상계좌 부여
- →
- 고지서
- →
- 은행파일 · 수납 일괄처리
예산에서 결산까지
- 예산편성
- →
- 구매 · 계약
- →
- 결의
- →
- 전표 생성
- →
- 자금출납
- →
- 재무제표
파란 칸은 한 건씩 입력하지 않고 시스템이 일괄로 생성 · 이관하는 단계입니다.
신청과 승인도 한 흐름입니다. 학생이 학적변동 · 성적 이의 · 분납 · 장학 · 기숙사 입사를 자기 화면에서 신청하면, 지도교수 · 학과장 · 도서관 · 장학 담당의 승인 화면에 바로 도착합니다. 종이 신청서를 들고 부서를 돌지 않습니다.
공시 · 통계 · 증명서를 시스템에서 바로 뽑습니다
정보공시(14개 화면)와 고등교육통계 원자료(4개 화면)를 쌓여 있는 학사 자료에서 바로 생성합니다. 출력은 UbiReport · ClipReport 로 합니다.
| 구분 | 만드는 자료 |
|---|---|
| 정보공시 | 재학생 충원율 · 재적학생 · 중도탈락 · 졸업생 현황, 전공 · 교양 · 교직 성적분포, 학생규모별 강좌 수 · 교원 강의담당비율 · 강사 강의료 · 창업교육 지원 |
| 고등교육통계 | 학생 원자료 · 강좌 원자료 생성과 관리 |
| 고지서 | 등록금 · 분납 등록금 · 기숙사 고지서, 가상계좌 부여 · 은행파일 생성 · 수납 일괄처리 |
| 증명서 | 학적 증명발급, 교원 · 직원 제증명(직책별 직인 관리), 장학 수혜증명서 |
| 통계 | 학적 · 수업 · 성적 · 등록 통계, 교직원 현황 · 확보율, 예산집행 현황, NCS 역량 통계 |
다르게 만든 네 가지
기능 목록으로는 잘 드러나지 않지만, 쓰기 시작하면 매일 만나는 차이입니다.
- 01
입학에서 졸업까지 한 줄로 이어집니다
합격자는 학번 부여와 함께 학적으로 넘어가고, 학적은 수업 · 수강 · 성적 · 등록 · 졸업으로 이어집니다. 같은 학생을 업무마다 다시 등록하지 않습니다.
- 02
같은 업무도 사람마다 다른 화면
성적입력(관리자) · 성적입력(교수), 이의신청(학생) · 이의신청관리(교수)처럼 역할별 화면을 따로 둡니다. 교원 34개 · 학생 29개 화면이 본인에게 필요한 것만 보여 줍니다.
- 03
기간과 기준은 화면에서 정합니다
업무마다 일정코드 · 프로그램 일정관리가 있어 신청 기간을 화면에서 열고 닫습니다. 기간 밖에는 신청 화면이 열리지 않고 안내 문구가 뜹니다.
- 04
여러 화면을 한 번에 띄웁니다
업무 화면을 탭으로 여러 개 열고 바둑판 · 수직 · 수평으로 나란히 놓습니다. 1,100여 개 화면을 이름으로 검색하고, 자주 쓰는 화면은 즐겨찾기에 둡니다.
믿고 쓸 수 있게
| 겹겹의 권한 | 그룹별 · 개인별 · 부서별 권한에 데이터 권한까지 두고, 화면마다 누가 쓰는지 조회합니다 |
|---|---|
| 접속 · 사용 로그 | 누가 · 언제 · 어디에 들어왔는지 개인별 · 화면별로 남고, 권한을 바꾼 기록도 따로 남습니다 |
| 계정 보호 | 비밀번호 오류 횟수와 계정 잠금을 관리하고, 외부 사용자 계정은 따로 둡니다 |
| 화면에서 운영 | 메뉴 · 공통코드 · 조직 · 일정을 프로그램 수정 없이 바꾸고, 수정요청 · 건의사항을 시스템 안에서 처리합니다 |
| 구축 · 운영 지원 | 진척률 관리 · 프로그램 목록표 · 테이블 레이아웃 조회를 시스템 안에 두었습니다 |
기술 구성
| 화면 | Nexacro 14 — HTML5, 웹 브라우저에서 설치 없이 실행, 다중 화면(MDI) |
|---|---|
| 서버 | Java · Spring · MyBatis |
| WAS | Apache Tomcat 8.5 |
| 출력 | UbiReport · ClipReport |
| 운영 | Docker 컨테이너 배포 |
제품설명서의 화면 그림은 시연 서버(예시 대학 '한국대학교')에서 캡처했으며, 사용자 이름 · 아이디는 가렸습니다.
두리 그룹웨어 구축 사례
PC에서만 쓰던 넥사크로 기반 사내 시스템을 웹과 휴대폰에서 함께 쓰는 그룹웨어로 다시 지었습니다. 결재 · 근태 · 휴가 · 출장비 · 프로젝트를 하나의 시스템에 담고, 2020년부터 쌓인 자료를 그대로 옮겼습니다.
흩어져 있던 일을 한 곳으로 모았습니다
출장을 다녀오면 엑셀에 적고, 휴가는 따로 올리고, 근태는 또 다른 곳에서 관리했습니다. 같은 사람의 같은 달 자료가 여러 곳에 나뉘어 있어 맞춰 보는 데 시간이 들었고, 어긋나도 알기 어려웠습니다.
| Before | After |
|---|---|
| 사무실 PC 에서만 | 휴대폰 · PC 어디서나 |
| 출장비 정산을 사람이 손으로 계산 | 휴가를 찾아 시스템이 계산, 근거까지 남김 |
| 출근 기록을 나중에 몰아서 입력 | 현장에서 눌러야 인정, 안 누르면 알림 |
| 결재가 업무마다 다른 곳에 | 결재 대기함 한 곳에서 전부 |
| 바뀐 내역을 따로 적어 둠 | 모든 처리가 기록에 자동으로 |
담고 있는 업무
| 영역 | 하는 일 |
|---|---|
| 전자결재 | 상신 · 승인 · 전결 · 대결 · 합의 · 참조. 모든 결재가 한 대기함으로 |
| 근태 | 현장 위치 기반 출퇴근, 근태 정정, 휴일근로와 대체휴무 |
| 휴가 | 연차 자동 부여, 신청과 결재, 잔여 관리 |
| 출장비 | 월 단위 신청과 전월정산 자동 계산 |
| 프로젝트 | 프로젝트 · 참여자 · 지출 · 숙소 · 인건비 · 주간보고서 |
| 인사 · 자산 | 인사기초 · 발령 · 경력, 재직/경력증명서 발급, 자산 대장 |
| 소통 | 공지 · 자료실 · 개선요청 · 의견투표 · 일정 달력 |
| 운영 관리 | 메뉴 · 역할 · 권한 · 공통코드 · 조직도 · 감사기록 · 자동알림 |
무엇이 달라졌나
- 01
들어오면 오늘 할 일이 먼저 보입니다
내 출근 시각, 처리할 결재, 남은 연차, 오늘 팀의 출근 현황과 일정이 첫 화면에 모입니다. 메뉴를 찾아 들어가기 전에 지금 무엇을 해야 하는지를 알 수 있습니다.
- 02
현장에서 휴대폰으로 끝냅니다
앱스토어를 거치지 않고 홈 화면에 추가하면 앱처럼 열리고 알림이 옵니다. 출근은 프로젝트 현장 반경 안에서 눌러야 인정되고, 휴대폰이 보낸 판정을 그대로 믿지 않고 서버가 거리를 다시 잽니다. 출근이나 퇴근을 안 찍으면 그날 알림이 갑니다.
- 03
결재는 업무마다 따로 만들지 않았습니다
휴가 · 출장비 · 근태정정 · 휴일근로 · 주간보고 · 프로젝트 지출이 모두 같은 결재 엔진을 씁니다. 결재선은 사람이 아니라 "상신자 부서의 부서장"처럼 찾는 방법으로 정하므로, 인사이동이 있어도 규칙을 고치지 않습니다. 부서장이 직접 신청하면 그 단계가 자동으로 빠지고, 자리를 비울 때는 대결로 원래 결재자와 실제 처리자를 둘 다 기록합니다.
- 04
규칙은 운영자가 화면에서 바꿉니다
결재선 규칙, 메뉴, 역할과 권한, 공통코드는 프로그램을 다시 배포하지 않고 화면에서 바꿉니다. 바꾸기 전에 실제 조직에서 결재선이 어떻게 풀리는지 미리보기로 확인하고, 바꾼 내용은 사유와 함께 이력으로 남습니다. 과거 문서의 결재선은 그때 모습 그대로 남습니다.
- 05
손으로 세던 것을 시스템이 셉니다
출장비는 휴가를 쓴 만큼 다음 달에 정산하는데, 예전에는 사람이 근무일수를 세어 넣어 오차가 생기곤 했습니다. 지금은 시스템이 그 달의 휴가를 찾아 계산하고 산출근거를 문장으로 남깁니다. 연차는 해가 바뀌면 자동으로 부여되고, 미출근 · 미퇴근 · 주간보고 작성일 · 숙소 계약 만료 · 점심 식단까지 16종의 알림이 스스로 나갑니다.
- 06
쓰는 사람이 올리면 그날 고칩니다
모든 화면에 개선요청 버튼이 있습니다. 글을 쓰면 보고 있던 화면 · 시각 · 브라우저 · 마지막 오류가 함께 저장되어 "저장이 안 돼요" 한 줄만 써도 원인을 찾을 수 있습니다. 직원이 올린 62건을 전부 반영했고, 4건 중 3건은 요청한 날 바로 반영했습니다.
6년 치 자료를 그대로 옮겼습니다
| 자료 | 건수 | 기간 |
|---|---|---|
| 근태 기록 | 약 6,900 | 2021년 ~ |
| 주간보고서 | 약 1,360 | 2020년 ~ |
| 프로젝트 지출 | 약 1,040 | 2020년 ~ |
| 휴가 · 출장비 | 약 500 | 이관분 포함 |
이관 도구는 몇 번을 돌려도 결과가 같아서, 운영 전환 직전에 한 번 더 돌려 그사이 쌓인 것까지 따라잡았습니다. 옮긴 뒤에는 건수를 실제로 세어 원본과 대조했습니다. (건수는 2026-09 기준 실제 값을 반올림)
믿고 쓸 수 있게 만들었습니다
- 01
모든 요청이 같은 검사를 지납니다
화면에서 버튼을 감추는 것에 기대지 않고, 서버가 요청마다 권한과 허용 범위를 확인합니다. 누가 · 언제 · 무엇을 했는지 모든 처리가 기록됩니다.
- 02
민감한 개인정보는 암호화해 보관합니다
주민등록번호는 증명서 발급 때만 쓰이고 화면에 내려오지 않습니다. 볼 수 있는 범위가 역할에 따라 자동으로 걸립니다.
- 03
배포 중에도 끊기지 않습니다
새 버전을 옆에 띄워 확인한 뒤 방향만 바꿉니다. 외부 연동(지도 · 공휴일 · 날씨 · 알림)이 멈춰도 시스템은 정상으로 돌고 그 기능만 쉽니다.
- 04
조용히 틀리는 것을 가장 경계했습니다
시스템이 대신 채운 값에는 «자동» 표시를 함께 냅니다. 개발 산출물 34종을 데이터베이스와 소스에서 자동으로 만들어, 문서가 실물과 어긋나지 않습니다.
| 영역 | 사용 기술 |
|---|---|
| 서버 | Java 25 · Spring Boot 3.5 · MyBatis |
| 데이터베이스 | Oracle 19c · Flyway (스키마 변경 이력 전부 관리) |
| 화면 | Vue 3 · TypeScript · PrimeVue · PWA (홈 화면 설치 · 웹 푸시) |
| 운영 | Docker · 무중단 배포 · 사내 서버 설치 (클라우드 사용료 없음) |
이 그룹웨어의 가장 큰 특징은 기능 목록이 아니라 고쳐지는 속도라고 생각합니다. 흩어진 업무를 하나로 모으고, 현장과 사무실을 한 화면으로 잇는 일 — 두리코아가 함께하겠습니다.
리액트 기반 ERP
소규모 기업의 사람 · 돈 · 물건을 한 곳에서. 이미 쓰고 있는 그룹웨어 위에 얹어, 로그인 하나로 인사부터 결산까지 이어집니다. 새 서버도, 새 관리자 화면도, 직원이 외울 두 번째 비밀번호도 없습니다.
열 개의 모듈, 아흔세 개의 화면
회계연도 하나를 통째로 돌릴 수 있는 범위를 갖췄습니다. 급여를 확정하면 전표가 서고, 자산을 사면 상각이 붙고, 기간을 마감하면 재무제표가 나옵니다.
| 모듈 | 화면 | 주요 업무 |
|---|---|---|
| 기준정보 | 10 | 회사 · 사업장, 조직 이력, 회계연도, 공통코드, 데이터 권한, 개인정보 접근이력과 파기 |
| 인사 | 16 | 사원 기본정보, 인사발령, 근태, 휴가와 연차 정산, 유연근무와 주52시간, 법정의무교육, 건강검진, 위험성평가, 출장 · 여비 |
| 결재 | 3 | 결재함, 결재양식과 결재선, 결재위임 |
| 회계 | 18 | 계정과목, 거래처, 결의서, 계정원장, 시산표, 지급관리, 전자세금계산서, 법인카드, 미수금 · 수금, 계약, 자금수지, 경비 청구 |
| 예산 | 5 | 편성과 변경, 집행내역, 부서별 · 사업별 예산 현황 |
| 급여 | 13 | 급여대장과 명세서, 급여이체, 퇴직금과 퇴직연금, 연말정산, 지급명세서, 4대보험 정산, 세법 기준값 |
| 구매 | 12 | 구매요청 · 발주 · 입고, 견적과 단가계약, 창고와 소모품 수불, 재고마감과 실사, 매입반품 |
| 판매 | 5 | 수주 · 출하 · 매출현황, 판매 견적과 단가표, 매출반품 |
| 자산 | 5 | 자산등록, 감가상각, 처분, 현황, 라벨 기반 자산실사 |
| 결산 | 6 | 기간마감, 결산대사, 재무제표, 원천세, 부가세, 연도이월 |
| 합계 | 93 |
실제 운영 화면은 아래 소개서(PDF)에서 모듈별로 보실 수 있습니다.
한 번 적으면, 끝까지 흐릅니다
ERP의 값어치는 화면 수가 아니라 한 번 입력한 것이 어디까지 저절로 가느냐에 있습니다. 사람이 같은 숫자를 두 번 옮겨 적는 곳이 있으면, 그곳에서 반드시 어긋납니다.
구매에서 회계까지
- 구매요청
- →
- 발주
- →
- 입고
- →
- 재고
- →
- 회계 전표
- →
- 예산 집행
근태에서 신고자료까지
- 근태
- →
- 급여 확정
- →
- 회계 전표
- →
- 원천세 신고자료
자산에서 결산까지
- 자산등록
- →
- 감가상각
- →
- 회계 전표
- →
- 재무제표
파란 칸은 사람이 손대지 않아도 자동으로 만들어지는 자리입니다.
결재까지 한 흐름입니다. 휴가 · 지급 · 구매 · 처분을 상신하면 결재문서가 자동으로 기안되고, 승인이 떨어지면 업무 상태가 따라 움직입니다. 결재함을 따로 열어 둘 필요가 없습니다.
먼저 지켜야 하는 것부터 넣었습니다
안 하면 가산세가 붙거나 과태료가 나오는 항목입니다. 기능이 있느냐보다 기한과 서식을 지킬 수 있느냐가 중요한 자리라, 여기부터 만들었습니다.
세무 · 4대보험
- 연말정산 · 원천징수영수증
- 지급명세서
- 4대보험 취득 · 상실 · 정산
- 퇴직금 · 퇴직연금 DB · DC
- 전자세금계산서
- 원천세 · 부가세
- 업무용승용차 운행기록부
노무 · 안전
- 주52시간 · 유연근무
- 법정휴가
- 연차 정산 · 촉진
- 법정의무교육
- 건강검진
- 위험성평가
개인정보
- 접근이력
- 파기 관리
- 주민번호 암호화 · 마스킹
요율 · 한도 · 세액표처럼 해마다 바뀌는 기준값은 담당자가 화면에서 고칩니다. 법이 연중에 바뀌어도 적용기간을 나눠 넣으므로, 지난 달 계산은 그대로 남습니다.
다르게 만든 네 가지
기능 목록으로는 잘 드러나지 않지만, 쓰기 시작하면 매일 만나는 차이입니다.
- 01
그룹웨어 위에 얹었습니다
계정 · 로그인 · 메뉴 · 권한은 쓰던 그룹웨어 것을 그대로 씁니다. 새 서버도, 새 관리자 화면도, 직원이 외울 두 번째 비밀번호도 없습니다. 기존 사용자에게 영향이 가지 않도록 데이터는 분리했습니다.
- 02
기준값은 화면에서 바꿉니다
보험요율 · 최저임금 · 한도 · 보존연수처럼 해마다 바뀌는 값은 담당자가 화면에서 고칩니다. 바꾸려고 개발자를 부르지 않습니다.
- 03
회사가 늘어나도 됩니다
모든 업무 자료가 회사코드를 키로 들고 있습니다. 법인을 하나 더 세워도 시스템을 새로 깔지 않습니다.
- 04
되돌릴 수 없는 일은 먼저 묻습니다
확정 · 마감 · 지급처럼 되돌리기 어려운 처리는 무엇이 얼마인지를 보여주고 한 번 더 확인합니다. "진행하시겠습니까?"만으로는 잘못 누른 것을 잡지 못합니다.
쓰기 시작하려면
처음부터 모든 자료를 옮기지 않습니다. 기준일을 하나 정하고, 그 앞은 잔액만 넘깁니다.
기준일을 정합니다
보통 회계연도 시작이나 월 초. 그 전 자료는 잔액으로만 넘기고, 그 뒤부터 시스템에서 처리합니다.
기준정보를 넣습니다
회사 · 조직 · 계정과목 · 거래처 · 사원. 대부분 이미 갖고 계신 자료입니다.
개시잔액을 올립니다
계정별 잔액, 미수 · 미지급, 재고, 자산 대장. 여기까지가 준비입니다.
한 달을 돌려 봅니다
급여 한 번, 마감 한 번. 숫자가 맞는 것을 확인한 뒤 다음 달부터 본격적으로 씁니다.
믿고 쓸 수 있게
| 흐름 검증 1,074건 | 화면이 아니라 업무 흐름 단위로 확인합니다 |
|---|---|
| 개인정보 암호화 | 주민번호는 저장 시 암호화하고 화면에서는 가립니다 |
| 접근이력 | 누가 언제 무엇을 보았는지 남습니다 |
| 매일 백업 | 논리 백업과 주간 콜드 백업, 월 단위 덤프 |
| 복구 검증 | 받아 둔 백업으로 실제 되살아나는지까지 확인합니다 |
| 데이터 권한 | 부서 · 사업장 단위로 보이는 범위를 나눕니다 |
화면 수 · 표 수 · API 수 · 검증 건수는 운영 데이터베이스와 소스 코드에서 직접 읽은 값입니다.