끄적끄적

[시스템 소프트웨어 설계-실무] 퇴직금 관리 프로세스 설계 & 개발

isaac.kim 2022. 4. 15. 20:30
728x90
반응형

[시스템 소프트웨어 설계-실무] 퇴직금 관리 프로세스 설계 & 개발

회사에서 나에게 퇴직금 관리 프로세스를 만들 것을 주문했다. 내가 직접 설계를 하고 데이터베이스 스키마 세팅, 비즈니스 로직 설계, 개발을 해야 한다.

 

내가 직접 설계하고 개발하는 과정을 작성해보았다.

 


퇴직금 알아보기

 

먼저 퇴직금을 계산하고 관리하는 프로세스를 만드는 것이므로 관련된 필요 정보들을 파악하고 정리해야 한다. 퇴직금은 법적인 것이므로 기본적으로 고용노동부가 제공하는 퇴직금 산정방법이 존재한다. 고용노동부 사이트에 접속해서 '퇴직금계산기' 검색해서 찾아볼 수 있다. 이미 많은 사람들이 검색을 많이 했는지, 인기 검색어 1위에 '퇴직금계산기'가 있는 것을 볼 수 있다. 

 

 

퇴직금 계산기를 보기 전에 먼저 몇 가지 알아야 할 것들이 있어서 먼저 보고자 한다.

 

고용노동부에서 제공하는 퇴직급여에 대한 설명 카드 뉴스가 있다. 퇴직금 관리 및 처리하는 프로세스를 알아야 하기 때문에 몇 가지 알아야 할 사항에 대해서는 정리가 필요하다. 헷갈리는 용어가 있다면 정리해두는 것도 좋다.

 

몇 가지 용어부터 확인해두자.

퇴직금 관련 용어

확정급여형(DB, Defined benefit) : 적립금을 사용자가 운용하고 근로자는 정해진 퇴직급여를 수령

확정기여형(DC, Defined contribution) : 적립금을 근로자가 운용하고 퇴직 시 운용한 결과를 수령

통상임금과 평균임금 비교

 

※ 퇴직 산정 임금으로는 통상임금, 평균임금 중 더 큰 값으로 한다.

 

1. 퇴직급여

퇴직할 때 받는 '퇴직급여'는 2가지 '퇴직금'과 '퇴직연금'으로 구분된다.

 

퇴직급여

  • 퇴직금 제도 : 근로자 퇴직 시 사용자가 근로자에게 퇴직급여 지급
  • 퇴직연금 제도 : 사용자는 퇴직급여 재원을 퇴직연금사업자(금융기관)에 적립, 근로자는 퇴직 시 금융기관에서 퇴직급여 수령

 

회사과 관리하는 것 > 퇴직금

금융기관이 관리하는 것 > 퇴직연금

 

 

퇴직금에 대해 알아야 할 것

  • 퇴직금은 1년 이상 계속 근로한 근로자가 퇴직할 때 지급합니다.
  • 1년 미만인 근로자, 주 15시간 미만인 근로자는 제외
  • 수습 사용 기간, 출산 휴가, 육아휴직, 업무상 부상-질병, 사용자 승인하의 개인 휴직 기간 포함
  • 퇴직금 중간 정산, 고용승계 없는 용역업체 변경, 청년 퇴직 후 재입사 시 이전 기간 불포함

 

퇴직연금에 대해 알아야 할 것.

 

퇴직연금 혜택

 

사장/사업장

  • 퇴직금을 한꺼번에 지급하는 데 따른 부담 경감
  • 사용자가 납입하는 퇴직급여 부담금은 전액 손비 인정

근로자

  • 근로자 추가 납입금 세액 공제(연 700만 원)
  • 연금 수령 시 퇴직 소득세 30%를 감면

 

2. 퇴직금 계산기 (퇴직금 산정방법)

산정방법

 

퇴직금 = ( 1일 평균임금 x 30일 x 총 계속근로기간 ) / 365일

 

1일 평균임금 = 사유가 발생한 날 이전 3개월간 임금 총액 / 3개월간 총 일수

 

출처 : 고용노동부 홈페이지

 

 

고용노동부에서 제공하는 퇴직금 계산기, 퇴직금 계산, 퇴직금 산정방법을 적용할 수 있는 사이트이다.

http://www.moel.go.kr/retirementpayCal.do

 

다른 내용도 중요하지만, 아래 문구를 확인할 필요가 있다.

중요 조건들이 있으나, 아래 내용을 보면 '회사내규등에따라 실제 지급액과 차이가 있을 수 있습니다.'라는 문구를 확인할 수 있다. 회사 내규에 따라 계산식이 다를 수 있다는 것을 확인을 해야 하고, 퇴직금 관리 프로세스가 적용되는 회사나 나누어지는 기준이 있다면 계산식이 하나가 아닐 수 있다는 점을 파악해야 한다.

 

 


3. 퇴직금 프로세스 정리

다음은 퇴직금을 관리 및 처리하는 프로세스를 정리할 필요가 있다. 설계를 하기 전에 요구사항이 도출되어야 한다. 현재 요구사항으로는 기존 퇴직 처리 프로세스에서 다른 회사들과 통합을 하는 경우, 통합으로 관리할 수 있고, 유지보수가 용이한 프로세스와 시스템을 구축하는 것이다.

 

내가 정리한 방식은 다음과 같다. 1) 프로세스 정리 2) 관리 기준 분석 3) 기준 설계

 

퇴직금 생성 전체 프로세스

아주 상세한 내용은 오픈할 수 없어서 간단하게 다음과 같이 프로세스를 정리하였다.

 

자료 흐름도 및 프로세스를 어느 정도 정리하였으면 관리 기준을 분석하고 설계해야 한다.

실제로는 더 복잡하다. 그리고 DFD도 명확한 표기 방법이 있으나 빠른 작업을 위해 PPT로 간단하게 작성하였다. 타원은 프로세스, 사각은 데이터, 화살표 방향 위 텍스트는 데이터의 흐름 정도로 보면 된다. 수많은 데이터가 오고 가지만 중요도가 높은 데이터 기준으로 흐름상에 작성한 것일 뿐이니 위 그림이 기준은 아니다.

 

현재 그룹사 ERP에서는 여러 회사, 사업장, 직무 등에 따라서 다양한 형태로 급여 계산 방식이 나뉘어 있다. 따라서 나뉘는 기준을 '관리 기준' 테이블로 명시하고, 기준에 따른 항목 계산식을 부여하는 방식으로 분석 및 설계를 하였다. 기준에 따른 항목 계산식도 '관리 기준'의 하나 이므로 JOIN할 수 있는 관리 테이블을 작성한다. 뿐만 아니라 계산식에 포함되는 임금 유형들도 관리되어야 한다. 어떤 특정 항목에 포함되는 임금 유형들이 존재하는데, 항목이나 계산식에 포함되는 임금 유형 관리 테이블도 관리 기준의 디테일 테이블로 작성할 수 있다. (회사 내용을 제외하고 직접 설계하는 내용으로 약간의 도움이 될 수 있는 정도로 작성하여 내용이 다소 부족할 수 있다.)


 

4. 설계 & 개발

 

설계

분석한 것을 토대로 설계를 진행한다. 분석한 내용을 바탕으로 테이블을 생성하고, 데이터를 반영한 후 개발하여 반영한다.

 

테이블 다음과 같이 생성될 수 있을 것 같다.

 

퇴직 산정방법 관리 테이블(기준)

계산식 마스터 테이블(기준)

계산식 항목 대상 테이블(마스터)

계산식 포함 임금유형 테이블(디테일)

 

뭐 다양하게 불리겠지만, 마스터-디테일, 마스터-슬레이브, 페런츠-차일드 등의 구조라고 볼 수 있다.

 

개발

설계한 것을 토대로 개발이 진행되어야 하는데, 현재 프로세스에서 설계된 내용을 반영했을 때 차질 없이 동작하고, 기준대로 분류하여 기존 프로세스와 동일하게 작동하도록 개발해야 한다.

 

코드 안에서 여러 if문으로 되어 있는 분기 처리를 줄이고, 기준을 사용하여 처리하면 보다 클린한 코드로 유지 보수하여 관리할 수 있다.

 


도움이 되셨다면 광고 클릭 꾸욱! 부탁드립니다. 제게 큰 힘이 됩니다.

728x90
반응형