다원ERP_개발 정보

(개발언어, 장비, 예정내역)


Project Infomation

Project Name : 다원ERP

기획 : Karzin

분석 : Karzin

설계 : Karzin

개발 : Karzin

디자인 : Karzin

유지보수 : Karzin

 


개발 정보

Develop Language JAVA 1.8 General Public License, GNU
Web Framework Spring Boot Apache License 2.0
Template Engine Thymeleaf Apache License 2.0
DBMS Maria DB GPL v2, LGPL
WAS Tomcat 8 Apache License 2.0
Front-end Framewrok Bootstrap MIT License
(Apache License 2.0 prior to 3.1.0)
JavaScript Library jQuery MIT License
Software Configuration Management GitLab (개인 구축_Karzin) MIT License
UI Library (예정) TOAST UI (NHN) MIT License
* 개인 프로젝트시 UI Libaray (Chart, Grid 등)를 각각 따로 필요한걸로 썼었는데 이번에 TOAST UI가 괜찮아 보여서 채택. 
  -> 기능 괜찮고, 특성이 맞고, 버그가 어느정도 해소되어 있는거라면 계속 사용예정 
IDE Eclipse (Back-end & Front-end) Eclipse Public License(EPL)
Visual Studio Code (Front-end) MIT License (Source), Freeware
DBeaver (DB) Apache License

 

 


 

 

개발 장비 정보

개발 장비 1
  OS Windows 10 Pro
  CPU Intel® Core™ i7-6700
  GPU NVIDIA GeForce GTX 1070ti
  RAM DDR4 16GB
개발 장비 2
  OS Windows 10 Pro
  CPU Intel® Core™ i7-6700
  GPU NVIDIA GeForce GTX 960
  RAM DDR4 16GB
테스트 서버 (DB, WEB, WAS 서버 통합)
  OS Ubuntu 18.04
  CPU CPU Intel® Core™ i3-4130T
  GPU CPU 내장 그래픽카드
  RAM DDR3 16GB
  * 자동배포 툴(CI) 사용 Jenkins (MIT License)
클라이언트 - 모바일 장비
  Galaxy A8(2016) Android 8
  Galaxy S8+ Android 9
  Galaxy S9 Android 10
  iPhone SE iOS 13.5.1
  iPhone SE2 iOS 13.5.1
  iPhone XR iOS 13.5.1
클라이언트 - 태블릿 장비
  iPad Pro 9.7(1Gen) iPadOS 13.5.1
* WEB 테스트는 Chrome, IE, Safari, Samsung Internet Browser에서 테스트 예정입니다.

 

 


 

 

추후 연계 개발 정보 (예정내역)

1. 모바일용 Application 개발 예정 (WebView 기반이 아닌, Native App)
  Android Kotlin 기반 (Target : Android 8 이상)
  iOS Swift 기반
2. 다국어 지원 예정
한국어 (기본) English 日本語

 

버전정보 (v1.1)

 - v1.0 2020.06.12 배포

 - v1.1 2020.06.14 수정 ( DBever -> DBeaver, 가독성을 위한 표간 거리 수정 )

 

* 저작권에 위반될 수 있는 컨텐츠(이미지, 동영상 등)나 게시글은 삭제되거나 수정될 수 있습니다.

* 문제의 여지가 될 수 있는 컨텐츠의 경우 댓글 달아 주시면 빠른 시일 내에 조치하도록 하겠습니다.

 

Project 다원_ERP

Karzin

abbeea@naver.com



설계 (2)



공부해야할건 많고 시간은 부족하다보니 정리할 시간 쪼개기도 힘드네요 ㅠㅠ


오늘은 저번시간에 분석한 사원의 ER-Diagram을 그려왔습니다.


[사원의 ER-Diagram, 출처 : karzin]


사실 몇몇은 ER-다이어그램으로 정리하면서 수정을 했습니다.


아무래도 정리하면서 다시 생각하게 되는 부분이 몇몇 있다보니 수정을 했는데,

앞으로도 계속해서 수정이 될 것 같습니다.


다만, 최대한 틀을 깨지 않는 선에서 수정을 해나갈예정입니다.


특히 사원-게시판에 관련된 부분은 현재 다이어그램에서 빠져 있습니다.


이 부분은 까먹어서 뺀게 아니라, 일부러 뺐습니다.


아직까지는 게시판에 대한 정리가 많이 부족해 게시판에 대한 분석 / 설계를 먼저 한 후에 사원 테이블과 붙여보려고 합니다.


이 부분에 대해서는 계속해서 분석 / 설계를 하면서 추가 수정해나갈 예정입니다.



현재는 사원에 대한 내용들만을 종합해둔 상태입니다.


다음 시간부터는 게시판에 대해 분석을 해볼 예정입니다.


감사합니다.


버전정보

 - v1.0 2018.10.02 배포

 - v1.1 2020.06.12 다원ERP -> Project.다원ERP로 변경



분석 (2)



오늘은 분석 2번째 시간을 가져보겠습니다.


사실 이번시간에는 저번시간에 미리 말씀드린대로 오픈되어있는 ERP를 검색해서 해당 소스들을 분석해 보려 했습니다...만, 제 안 좋은 습관 중 하나가 아직 답도 안잡혀있으면서 답을 먼저 보려고 한다는 점입니다.


항상 답을 먼저 보고나면 흥미를 잃고 그 이후에는 정해진 답이라는 틀에 갇혀 다른 답을 못낸다는 점입니다.


분명 공부를 하기로 했지만, 너무 답에 연연하지 않고 제가 생각하는 답을 찾아서 가는 형식을 취하기로 했습니다.


물론, 제가 원하는 ERP가 추구하는 방향이 기존 ERP와는 많이 달라진다하더라도, 제 자신만의 답을 찾아볼까 했습니다.

(공부에 답이 없다고 생각합니다. 다만, 답이 없는 만큼 답이라고 해도 될 정도로 철저하게 하는게 맞다고 생각합니다.)


여담이 길어졌네요. 여담은 나중에~ 나중에~ 나중으로! 미루고!


오늘의 주제로 돌아가보도록 하겠습니다.



저는 ERP에 있어 가장 중요하다고 생각하는 부분은!


물론 돈(회계)이 가장 중요할 순 있겠지만, 저는 사람(인사)이라고 생각합니다.


사람관리가 잘 되는 회사여야만 회사가 잘 돌아간다는 거죠.


왜 이런 주제랑 다른것같은 이야기를 하느냐? 주제에 일치합니다!


저는 인사가 가장 먼저 개발이 이뤄져야하지 않을까 싶었습니다.



제가 생각하는 인사의 기본적인 정보(사원 기본 테이블)는 다음과 같습니다.


 - 사원 ID (고유해야함) [not null, key]

 - 사원 이름 (중복 가능 - 이름이 같은 사람은 분명 있습니다!) [not null]

 - 사원 생년월일 (중복 가능 - 생일 축하?) [not null]

 - 사원 입사일 (중복 가능 - 입사일로 부터 기간을 계산) [not null]

 - 사원 휴대폰 번호 (중복 불가) [null : 워라벨을 중시하는 현시점에서 연락은 하지 말도록 합시다!]

 - 사원 집 전화 번호 (중복 가능 : 부부일 수 있다. 룸메같이 같은 집에 살 수 있다.) [null : 집전화를 사용치 않는 경우 상정]

 - 사원 집 주소 (중복 가능 : 부부일 수 있다. 룸메같이 같은 집에 살 수 있다.) [null : 워라벨! yeah!]

 - 사원 최종 학력 (중복 가능) [null : 개인정보!]


두번째로 사원의 부서 직급 정보(사원 부서 직급 테이블)입니다. (지금은 인사만 분석하므로 부서, 직급테이블은 나중에 따로 언급하겠습니다.)


 - 사원 ID (고유해야함) [not null, key]

 - 부서 ID (중복 가능)

 - 직급 ID (중복 가능)


세번째로 로그인 권한 정보(사원 로그인 테이블)입니다.


 - 사원 ID (고유해야함) [not null, key]

 - 사원 passwd (보안설정되어있음.) [not null] * 패스워드 정보는 외부에서 볼 수 없습니다.

 - 사원 마지막 로그인 이력 (로그인시마다 업로드, 중복 가능) [not null - 첫 로그인 전이라면 0000년 00월 00일 00시 00분 00초 등으로 초기화]

 - 사원 마지막 로그아웃 이력 (로그아웃시마다 업로드, 중복 가능) [not null, 로그인 이력과 동일]


네번째로 사원 출퇴근 관리 이력(사원 출퇴근 관리 테이블(log))입니다. (야근을 파악 할 수 있습니다.)


 - 출퇴근 정보 (출근, 퇴근) [not null]

 - 날짜

 - 시간

 - 사원 ID

 - 부서 ID


다섯번째로 게시판 권한에 대한 정보(사원 게시판 권한 관리 테이블)입니다.


 - 사원 ID (고유해야함) [not null, 외래key]

 - 마스터 자격 (boolean, true인 경우 모든 게시판의 권한을 가지고 있습니다.) [not null(true or false)]

 - 시스템 관리 게시판 권한 ID (중복 가능) [not null]

 - 인적자원관리 게시판 권한 ID (중복 가능) [not null]

 - 기업 서비스 관리 게시판 권한 ID (중복 가능) [not null]

 - 프로젝트 관리 게시판 권한 ID (중복 가능) [not null]

 - 공급 사슬 관리 ID (중복 가능) [not null]

 - 고객 / 상품 관리 (중복 가능) [not null]

 - 재무 관리 (중복 가능) [not null]

 - 제조 관리 (중복 가능) [not null]


사원 게시판 권한 관리 테이블의 경우 각 게시판 별로 더 쪼개둘 생각입니다.


이런 경우를 상정해 보고 있어 나눴습니다._(모든 인원은 자신의 휴가 관리를 할 수 있으나, 충원이나, 급여관리와 같은 정보는 인사과 혹은 회계과가 아니면 볼 수 없게 하기 위함입니다.)


혹은 읽기 권한이 필요하지만, 쓰기 권한은 필요하지 않은 경우. (높은 직급의 개발자가 아닌사람은 프로젝트 관리에서 쓰기권한이 필요하지 않습니다. 읽기 권한을 통해 프로젝트를 확인할 수 있습니다.)


- 시스템 관리 게시판 권한 ID (고유해야함) [not null, 외래key]

- 사용자 관리 권한 (읽기, 쓰기)

- 시스템 관리 권한 (읽기, 쓰기)

- 환경설정 권한 (읽기, 쓰기)


동일하기 인적자원관리 권한

 - 인적 자원 관리 게시판 권한 ID (고유해야함) [not null, 외래key]

 - 충원(인사관리)

 - 혜택

 - 급여관리

...


등등...


위처럼 게시판마다 권한 ID를 부여하는 이유는 사원 A와 사원 B가 같은 게시판에서 같은 권한을 가지는 경우

같은 게시판 권한 ID를 부여하여 관리하기 용이하기 위함입니다.



마지막으로 사원의 급여 정보 (사원 급여 테이블) 입니다.


 - 연봉 협상일 (기본key (사원 ID와 합쳐 기본key))

 - 사원 ID (기본key (연봉 협상일과 합쳐 기본key))

 - 연봉 정보

 - 기본 월급 정보 (연봉 / 12)

 - 세금 정보

 - 실 수령 월급 정보 (기본 월급 정보 - 세금 정보)

 - 인센티브

 - 추가금액 (야근 등)


연봉협상일 + 사원ID를 기본 키로 한 이유는 기존 연봉협상일에서 현재 연봉협상까지 연마다 쌓여가면서 사원의 연봉이 얼마씩 올랐는지 파악을 가능하게 했습니다.

특히 이렇게 하는 이유중 하나는, 특별히 어느 한사람이 한사람몫 이상의 일을 할 경우, 또 경험자인 경우에 어느정도 씩 추가적인 연봉의 협상이 이뤄졌는지 파악이 가능하게 하기 위함입니다.


아직까지도 파악해야할 부분이 많이 남아있습니다.


실제로 위 정보들중에서는 더 추가해야할 부분도, 빠져야할 부분도 있다고 생각이 듭니다.


계속해서 분석을 통해서 더 다듬어 나갈 예정입니다.



다음은 설계(2)에서 뵙도록 하겠습니다.


설계(2)에서는 ER-다이어그램을 제작하여 기본적인 인사정보의 DB 정보를 살펴보도록 하겠습니다.



>> 문의 등의 정보 제공은 댓글을 달아 주세요.


버전정보

 - v1.0 2018.09.17 배포

 - v1.1 2020.06.12 다원ERP -> Project.다원ERP로 변경



Project 다원 정리


다원 ERP (Core_java)

다원 원격 마우스 (Android)

다원 원격 키보드 (Android)

다원 원격 키보드&마우스 (Android)

다원 PPT원격 리모콘 (Android)

다원 영상편집 (iOS)



오늘은 Project [다원]을 정리하는 시간을 갖도록 하겠습니다.



가끔씩 물어보는 분들이 계십니다. [다원]이란게 뭐냐?


별다른 의미는 없어요 ㅎㅎ 그냥 프로젝트 명을 정하기 힘들어하다가 우리말이었으면 좋겠다는 생각에 여기저기 찾아보다가 다원이라는 우리말이 너무 맘에 들어 사용하게 되었습니다.


그래도 굳이, 왜 [다원]일까? 싶은데, 제가 생각하기로는 모두가 다 원하기도하고, 사랑하는 프로젝트가 되었으면 해서 사용한것도 이유중 하나가 될 것 같습니다.



[다원]이라는 말은 순 우리말로,


다원 - 모두가 다 원하는, 모두가 다 사랑하는 사람


이라는 의미를 가지고 있습니다.



자, 그럼 [다원] 프로젝트 내에 있는 항목들을 살펴 보도록 하겠습니다.


- 다원 ERP (Core - java)

- 다원 원격 마우스 (Android)

- 다원 원격 키보드 (Android)

- 다원 원격 키보드 & 마우스 (Android)

- 다원 PPT 원격 리모콘 (Android)

- 다원 영상편집 (iOS)


6가지의 항목이 있습니다. 앞으로 계속해서 추가될 예정입니다만, 몇가지는 병합되거나, 사라질 수 있음을 미리 공지해드립니다.


참고로 [다원]은 개인 프로젝트입니다. 저 혼자 진행하고 있는 만큼 진행속도가 많이 더딜수 있습니다.



그럼, 하나씩 살펴보도록 하겠습니다.


 - 다원 ERP : ERP Core를 만들고 있습니다. java로 만드는 만큼 Spring등에서 활용이 되도록 할 예정입니다.

 - 다원 원격 마우스 : 오래된 스마트폰 등을 마우스로 사용하면 어떨까 싶어 진행중인 프로젝트중 하나입니다. Android로 제작 후 시간이 될 때 iOS도 지원할 예정입니다.

 - 다원 원격 키보드 : 마우스와 마찬가지로 키보드만 지원되게할 예정입니다.

 - 다원 원격 키보드 & 마우스 : 상단의 두 항목과 합칠까 고민하고 있으며, 키보드와 마우스를 복합적으로 사용할 수 있는 어플을 생각하고 있습니다.

 - 다원 PPT 원격 리모콘 : 가끔 PPT를 이용하여 발표를 할 때가 많은데, 이럴때 스마트폰을 이용하면 어떨까 싶더라구요. 그래서 진행중인 항목입니다. 물론 Android를 먼저 제작한 후 이후에 시간이 될 때 iOS도 지원할 예정입니다.

 - 다원 영상편집(iOS) : iOS에서 기본적으로 지원하는 라이브러리가 괜찮은게 많은거 같아 무료로 제작할 예정입니다.


추가로 문의사항이 있으면 댓글을 달아주시면 감사하겠습니다^^



설계 (1)



오늘은 저번에 말씀 드렸던 분석에 이어 설계로 넘어왔습니다.


왜 자꾸 (1)이 붙냐구요?


변경될 예정이거든요...


아무래도 밑바닥부터 잡고 배워서 만들어 가는 만큼 


완벽한 분석, 설계가 이뤄질 수 없다고 생각을 했습니다.


때문에 필요할때마다 고쳐가기 위한 (1), (2).... 입니다.



아래 그림은 제가 제작할 현재까지 설계된 다이어 그램입니다.


[제작 ERP 정보 참고 : 네이버 지식 백과]


저번 ERP 분석 그림에서 추가적으로 필요한 항목과 제거할 항목을 정리하였습니다.


- 추가항목


재무 관리 - 영수증 관리

시스템 관리*

고객 / 상품 관리 - A/S

고객 / 상품 관리 - Q&A

프로젝트관리*

기업 서비스 관리 - 자재 현황 관리

기업 서비스 관리 - 자재 구매 관리

기업 서비스 관리 - 메신저

인적 자원 관리 - 휴가 관리

인적 자원 관리 - 출장 관리


- 제거항목


기업 서비스 관리 - 여행

기업 서비스 관리 - 법률 서비스

기업 서비스 관리 - 인센티브


여기서 특이한 점은,


저는 프로젝트 관리라는 항목을 고려하고 있다는 점입니다.


분석(1)에서 작성하였듯이 회사에 있어 필요한 부분과 제거할 부분을 커스텀하였다고 생각하시면 될 것 같습니다.



쉽게 생각해서 git을 포함한 ERP라고 생각하셔도 될 것 같네요.


왜 git을 ERP에 넣었는지 궁금하신 분들도 계실겁니다.


그 이유는 제가 생각하기에는 프로젝트 산출물도 어떤 업계(IT: 소프트웨어 특히 개발직 관련)에 있어서는 판매가 될 물품이 된다고 생각을 해서였습니다.


그렇기에 판매할 산출물 또한 관리를 해줘야한다고 생각을 했네요. 어쩌면 개발직업계를 위한 ERP가 되지 않나 싶을 정도로 조금 편중되어 있지만, 제게 필요한건 해당 항목이었습니다.


물론 다른분들 생각은 어떨진 모르겠고, 앞으로 계속해서 바뀔 설계이다 보니 사라질수 있는 항목입니다.



또 추가로 기업 서비스 관리 항목에 '메신저'라는 메뉴가 보일겁니다.


사내 메신저를 ERP와 통합 관리하면 어떨까 싶어 넣어본 부분이지요.


추후에 메신저 프로그램을 따로 만들어 ERP에 접속하지 않아도 여느 메신저 프로그램 처럼 사용할 수 있게 해도 편리하겠다는 생각이 들었습니다.


예로 웹페이지에서 페이스 북 같은 곳에서 채팅을 하다가도 따로 접속이 가능한 프로그램(app)을 이용하여 채팅을 하는것도 괜찮지 않을까 싶었습니다. (물론 저의 개인적인 생각이지만요.)


해당 파트 또한 개발 도중 사라질 수 있는 메뉴입니다.




한가지 고민했던 점은 프로젝트관리를 제조관리에 합치는건 어떤가 였습니다.


물론 항목명은 제조관리이고, 그 아래 프로젝트관리라는 메뉴가 자리잡고 있는것도 생각했습니다.


하지만 프로젝트관리를 항목으로 따로 빼둔 이유는


가장 큰 이유중 하나는 관리할 메뉴가 많겠다는 점이었고,


또 다른 이유는 제조관리와는 조금 다른 이슈로 자리잡았으면 했다는 점이겠네요.



아직까진 설계에 대해서 두루뭉실한 부분이 많이 보입니다.


아쉽지만 저 또한 배워가는 입장이기 때문에 많이 부족할 수 밖에 없는게 현실이구요. (ㅠㅠ)


부족한 부분이 많은 만큼 상냥한(?) 댓글을 부탁드립니다!


그래도 최대한 사용할 수 있는 ERP를 제작하는것을 목표로 두고 열심히 개발하도록 해야겠습니다.



다음에는 오픈되어있는 ERP를 몇개 조사해서 글을 작성해보려 합니다.


조금은 제게 있어 좋은 공부가 되었으면 좋겠네요.



감사합니다.




참조 : https://terms.naver.com/entry.nhn?docId=2274731&cid=42171&categoryId=51120


버전정보

 - v1.0 2018.09.10 배포

 - v1.1 2020.06.12 다원ERP -> Project.다원ERP로 변경

+ Recent posts