Project.다원 Ensemble_분석(3)

결재 프로세스 정의(기안-검토-결재)


이번에는 기안-검토-결재 프로세스를 정의해보았습니다.

 

이는 그룹웨어에 따라 많이들 다른 것 같기는 한데, 

저의 경우 제가 쓸때 이런식이면 편하겠다 하는 경우를 상정해서 만든거라 많은 부분이 변칙적일 수 있습니다.

(이레귤러성, 실험적요소)

 

다만, 이런 변칙적인 요소들은 실제 서비스 및 테스트를 진행하면서 바뀔 수 있는 부분으로 추가적인 수정이 이루어질 수 있습니다.

 

 - 결재 프로세스 정의서

Ensemble 결재 프로세스 정의서

** 그림에 사용된 글자체는 네이버 나눔글꼴의 나눔스퀘어 Bold입니다.

** 상단 그림은 제가(Karzin) 직접 만들었으며, 필요한 픽토그램등의 작업도 직접 만든것임을 명시합니다.

** 상단 그림의 저작권은 Karzin에게 있음을 명시합니다.

 

 

1. 기안자는 양식을 선택하고 작성한 후 검토(참조)자, 결재자를 선택합니다.

2. 작성이 완료된 문서는 검토자에게 확인 요청을 보냅니다. (기안자와 검토자 모두 검토 대기 상태)

  2.1. 참조자(타 부서 협조)가 있는 경우 검토자와 함께 확인 요청이 들어갑니다.

  2.2. 검토자나 참조자 중 한명이라도 문서의 반려를 한다면 기안자는 반려사유를 확인 후 내용을 다시 작성해야 합니다.

  2.3. 검토자와 참조자가 확인을 하면 참조자가 있는 경우 우선 참조(타 부서 협조) 결재자에게 넘어갑니다.

  2.4. 참조 결재자가 문서의 반려를 한다면 기안자는 반려사유를 확인 후 내용을 다시 작성해야 합니다.

3. 검토, 참조, 참조결재가 전부 완료라면 마지막으로 결재자가 확인을 합니다.

  3.1. 결재가가 문서의 반려를 한다면 기안자는 반려사유를 확인 후 내용을 다시 작성해야 합니다.

 

 

버전정보 (v1.0)

 - v1.0 2020.06.25 배포

 

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

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

* Karzin은 항상 공부중입니다. 설명이 틀리거나 잘못된 부분이 있다면 의견내주시는대로 수정하도록 하겠습니다.

 

Project.다원은 개인(karzin)이 기획, 분석, 설계, 디자인, 개발, 유지보수 등

모든 부분을 혼자 맡아 진행하는 개인 프로젝트입니다.

Project.다원 Ensemble

Karzin

abbeea@naver.com




 


Project.다원 Ensemble_내부망 구조(서버 도식화)


오늘은 제가 구현할 ERP Ensemble의 서버 구조를 간단하게 설계해 보았습니다.

 

이는 내부망 구조로, 웹 서버가 구축된 내부망에서만 사용이 가능하며,

외부에서 필요한 경우 VPN 접속을 열어 최대한으로 보안을 유지하기 위해서 설계를 했습니다.

 

 - 아래는 내부망 구조 (서버 도식화)

내부망 구조 (서버 도식화)

** 그림에 사용된 글자체는 네이버 나눔글꼴의 나눔스퀘어 Bold입니다.

** 상단 그림은 제가(Karzin) 직접 만들었으며, 필요한 픽토그램등의 작업도 직접 만든것임을 명시합니다.

** 상단 그림의 저작권은 Karzin에게 있음을 명시합니다.

 

- Ensemble는 위와 같은 구조로 개발이 진행 될 것입니다.

  -> 다만, 제게는 WEB, WAS, DB를 따로 두고 개발하진 못할것으로 보이며(테스트 서버의 부재), WEB/WAS/DB 서버를 하나로 합쳐서 테스트 할 것입니다.

 

-  WEB Server의 경우 Apache나 Nginx를 사용할 예정입니다.

  -> 이는 추후 변경가능성이 없지않아 있으며, 사실상 개발은 WAS단에서 이루어질 것이고, WEB서버는 사용자의 입맛에 맞추어 진행하는것으로 해볼 예정입니다.

  -> 다만, 제가 Apache나 Nginx 정도만 다뤄본 경험이 있어 추가적인 WEB Server에 대해서는 대응이 어려울 것으로 보여 Apache 혹은 Nginx를 Default로 잡았습니다.

 

- WAS Server의 경우 tomcat8을 타겟으로 잡고 진행합니다.

  -> 톰캣 외 WildFly (이전 JBoss)도 사용해보았지만, 저는 WAS는 아무래도 tomcat8이 좀 더 익숙하다 보니 tomcat8을 타겟으로 잡았습니다.

  -> 또한 tomcat은 APACHE 2 License를 따르고 있어 개인적 혹은 상업적 목적으로 사용할 수 있기 때문에(APACHE2 License를 포함시키고 아파치 소프트웨어 재단에 개발된 소프트웨어라는 것을 명확히 밝히기) 채택한 것도 큰 이유중 하나입니다.  

 

- DB Server의 경우 Master와 Slave를 나누어 사용합니다.

  -> Master는 CRUD 전반적인 입출력이 될 예정입니다.

  -> Slave의 경우 DBLink로 Master의 모든 테이블 및 데이터를 동일하게 복제할 예정이며, 이 복제된 데이터를 n일마다 새벽 2시(혹은 이외의 시간) 부터 Backup을 하여 Backup Storage로 Backup된 파일을 이동할 예정입니다.

    -->> Backup Data의 이동은 사람이 하는것이 아닌, Linux crontab(Shell Script)을 활용하여 옮길 예정입니다.

  -> Backup Storage의 경우 실제 물리적인 HDD를 따로 두어 Backup Data를 관리를 하던, Backup용 Server를 따로 구축하여 관리를 하는 형식으로 이루어질 예정입니다.

  * 저의 경우 어떠한 DB Data가 되었던 자신 혹은 회사 혹은 나라의 자산이라 생각하기 때문에 Backup을 굉장히 중요하다고 생각합니다. 따라서 가능하면 Backup에도 많은 공을 들일 예정입니다.

  -> WAS와 데이터를 주고 받을 시 중요한 데이터(Password 및 개인 정보 등)에 대해서 암호(encryption)/복호(decryption)화를 통해 주고받을 예정입니다.

  -> 또한 Master Server의 상태가 불안정할시 Slave Server로 변경하여 작업을 원할하게 진행할 수 있도록 개발할 생각입니다. (이는 추후 과제가 될예정)

  -> 사실 설계적인 부분에 있어서는 고민을 많이 했는데, 처음에는 Replication을 활용을 할까 고민을 많이 했습니다. (Insert/Update/Delete는 Master, Select는 Slave 형식의 분산처리) 다만, Replication을 활용할 만큼 엄청나게 많은 데이터가 오가지 않는다는 생각으로 설계를 했으므로, 추후 변경가능성이 다소 있습니다. (Ref1. DB를 DBLink가 아닌 Replication을 활용한 경우의 구조도)

 

- 내부망에 붙기 위해서는 VPN을 활용

  -> 요즘의 공유기는 날이 가면 갈수록 좋아집니다. 특히 VPN이 지원될 정도로 말이죠. (적어도 제가 사용중인 iptime의 경우 지원하고 있습니다.)

  -> 최대한 외부로의 포트를 막고 내부에서만 작업을 하게끔 하고 있으며, 외부에서 작업이 필요한 경우 VPN을 통해 접속을 할 수 있도록 생각하고있습니다.

 

- Client

  -> 최대한 모든 Web Browser를 지원할 예정입니다. (시간이 걸리더라도)

  -> Front단을 Bootstrap을 이용하여 개발하여 PC, 모바일, 태블릿 등 OS에 상관없이 수많은 플랫폼에서 지원이 가능하며, Ensemble의 개발이 어느정도 진척이 이루어지면 Application(Android, iOS)을 제작하여 Ensemble의 장비관리 파트에 붙여서 사용할 예정입니다.

    -->> 장비관리 파트의 대략적인 기능으로는

          1. 모바일 등에서 장비촬영,

          2. 촬영된 장비를 등록 및 관리,

          3. 장비 상태에 따른 불용 및 폐기 처리 등을 지원하도록 할 예정입니다.

 

Ref1. DB를 DBLink가 아닌 Replication을 활용한 경우의 구조도

DBLink가 아닌 Replication을 활용한 구조도

 

** 그림에 사용된 글자체는 네이버 나눔글꼴의 나눔스퀘어 Bold입니다.

** 상단 그림은 제가(Karzin) 직접 만들었으며, 필요한 픽토그램등의 작업도 직접 만든것임을 명시합니다.

** 상단 그림의 저작권은 Karzin에게 있음을 명시합니다.

 

버전정보 (v1.1)

 - v1.0 2020.06.16 배포

 - v1.1 2020.06.16 Ref1. 추가 (Replication의 활용 구조도 그림 추가)

 

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

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

 

Project.다원은 개인(karzin)이 기획, 분석, 설계, 디자인, 개발, 유지보수 등

모든 부분을 혼자 맡아 진행하는 개인 프로젝트입니다.

Project.다원 Ensemble

Karzin

abbeea@naver.com

 


Project.다원ERP_이름정하기

- Ensemble -


 

 


개인적으로 이름이라는건 굉장히 중요하다고 생각합니다.

인플루언서가 말하는 한문장 문장이 전부 영향력을 끼치는 것처럼

title, 즉 제목, 칭호와 같은 이런 이름 또한 영향력을 행사한다고 생각을 하고 있습니다.

때문에 저는 Project.다원의 이름을 정할때에도 순 우리말이라는 다원이라는 이름의 뜻(ref.1)이

프로젝트에 있어서도 모두 다 원하는 모두 다 사랑하는 프로젝트가 되기를 바라면서 지었습니다.

 

오늘은 제가 진행하는 Project.다원의 하나 ERP에 이름을 지어줄까 합니다.

 

Project.다원 ERP 라고 생각만 했고, 프로그램의 이름은 계속해서 보류를 해가며 정하지 않았지만,

이번에 그 이름을 확실하게 정했습니다.

 

이번 프로젝트에서 사용할 프로그램의 이름은 Ensemble(ref.2)입니다.

 

Ensemble은 ERP의 모든 기능을 가능한 모듈화를 통해 구현될 것이며,

이 모든 기능은 모두가 함께 조화를 이루며 있었으면 하여 정했습니다.

또 Ensemble인 만큼 ERP를 더 뛰어넘는 자원관리 시스템이 되었으면 좋겠다는 소망으로 정했습니다.

 

 

Project.다원의 ERP System. Ensemble을 잘 부탁드리겠습니다.

 

 

ref.1 :

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

ref.2 :

Ensemble - 앙상블, 함께, 동시에, 같이 등의 의미를 내포

 

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

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

 

Project 다원_ERP

Karzin

abbeea@naver.com

 


다원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


[2020.06] Project 다원 공지


 

 

프로젝트를 시작하겠다고 게시글을 적은 2018년 9월 11일로부터 벌써 약 2년이 되어가네요.

그 동안 저는 제 실력이 많이 부족하다고 생각을 하고 있었고, 지금도 많이 부족하다고 생각하고 있습니다.

그래서 회사일에, 대학원 수업과 과제에, 개인적인 업무들에 치어살고만 있었습니다.

하지만 부족함 속에서도 조금씩 만들어가는 노력을 해보는게 우선이라고 생각이 들었고,

분석 - 설계 - 개발 - 이후 모든 것이 가능한,

개발만이 아닌 모든 면의 실력을 겸비하고 싶다는 목표가 있기 때문에 다시금 이어볼까 합니다.

 

 

저는 단순히 개발만이 아닌 좀 더 그 너머를 바라보고 있습니다.

너무 느리고 돌아가고 실패를 하더라도 그 경험한 모두가 저에게 있어 긍정적인 부분으로 발전했으면 좋겠네요.

 

 

물론 모든 사람이 불만이 없는 프로그램을 만들 수는 없겠지만,

또 버그가 없는 완벽한 프로그램이 될 수도 없겠지만,

단 한 사람이라도 필요하고 사용해야 할 프로그램이 있다면

그 한 사람을 위해서라도 개발을 해나갈 수 있는 개발자가 되고자 합니다.

 

 

회사, 대학원, 또 아직도 끝나지 않은 개인적인 일들로 부족한 시간이겠지만, 더욱 쪼개고 더욱 열심히 모두를 위해 뛰어다니는 Karzin이 되겠습니다.

 

 


다원

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


 

Project 다원은 제가 혼자 진행하는 프로젝트임을 미리 알려드립니다.

(아이디어-기획-분석-설계-개발-이후 유지보수 등 저 혼자가 진행하는 프로젝트입니다.)

또한 Project 다원에서 만든 프로그램은 전부 무료로 배포할 예정입니다.

(배포한 프로그램에는 거슬리지 않을 정도의 광고는 포함할 수 있습니다.

이는 개인적인 용도보다는 프로젝트를 위한 서버 구매/운영비용과 개발을 위한 서적 구매등으로 이용될 예정이며,

추후 기회가 된다면 제 개인적으로 기부하는 것 이외에 추가적으로 프로젝트의 이름등으로 기부도 해볼까합니다.)

 

 

 - Project 다원 ERP : ERP Core, Java 기반으로 Spring Framework를 통한 Web 연동의 기반이 될 것입니다.

 - Project 다원 원격 마우스 : 오래된 스마트폰을 재활용하는 프로젝트의 하나로, Android로 제작 후 시간이 될 때 iOS도 지원할 예정입니다. Android는 Kotlin 기반으로, iOS는 Swift를 기반으로 제작될 예정입니다.

 - Project 다원 원격 키보드 : 오래된 스마트폰을 재활용하는 프로젝트의 하나로, Project 다원 원격 마우스와 마찬가지로 Android 제작 후 iOS 지원 예정입니다.

 - Project 다원 원격 키보드 & 마우스 : 상단의 두 항목 (Project 다원 원격 마우스 / Project 다원 원격 키보드)을 종합할 예정입니다. 본 어플이 나오는 경우 원격 마우스와 키보드는 실험적 요소가 될 베타테스트적 어플로 바뀔 예정입니다. 위 두 항목처럼 Android는 Kotlin, iOS는 Swift 기반으로 제작될 예정입니다.

 - Project 다원 PPT 원격 리모콘 : PPT를 원격으로 컨트롤 할 수 있도록 할 예정입니다. 음성인식 등 실험적요소도 들어갈 예정입니다.

 - Project 다원 영상편집 : 가벼운 영상편집을 목표로 두고 있습니다.

 - Project 다원 듀얼모니터 : 오래된 스마트 디바이스를 재활용하는 프로젝트의 하나로, 폰, 태블릿등을 PC등에 연결하여 모니터로 활용할 수 있는 어플을 생각하고 있습니다.

 

이외에도 검토하고, 개발 예정 중인 프로젝트들은 아직 많이 있습니다.

최대한 시간을 쪼개가며 개발을 할 예정입니다.

 

 

모두 다 원하는, 모두 다 사랑하는 프로젝트가 될 수 있도록

Project 다원



다원

듀얼 모니터 추가!



안녕하세요. 카르진입니다.


오늘은  또!!! 프로젝트를 하나 가지고 왔습니다.


하하하.. 마무리도 안된 프로젝트들에 또 프로젝트를 끼우냐고 하시는분들도 계시겠지만..


재밌는 아이디어라고 생각을 하게되고 만들고 싶은 이상 하다못해 블로그에라도 올려보...(꼭 만들겠습니다!)



이번 프로젝트는 별건아니고 회사에서 퇴근 후 물건을 찾고 있다가


정말 초기의 태블릿 삼성 갤럭시 탭 10.1(1세대)의 봉인된 모습을 보게됬는데


너무 아까워 보이더라구요.. 대학시절에 알바해서(입학해서 첫 알바로) 처음으로 자기가 번 돈으로 구입한 태블릿이기도 했고, 그렇기에 정말 금이야 옥이야하며 태블릿에 케이스까지 끼워가며 아껴가며 썼는데..


투자한 만큼의 금액을 뽑아낼만큼 사용하지 않은것 같아 아쉬운 마음이 들었습니다.


그러다 문뜩 이 태블릿을 노트북 서브모니터로 사용할 수 있으면 좋지않을까? 라는 생각을 하게 되었는데..



여기서 프로젝트를 하나 더 늘려보려 합니다! (개인 프로젝트만 엄청 느네요.. 하하.. 기쁩니다....)


[다원 듀얼 모니터 프로젝트(Android)]를 오늘부(2019.01.17)로 시작하겠습니다.


감사합니다.



* 게시판 중 특성이 중복이 되거나, 애매한 경우 사라질 수 있습니다.

 # 기존 업로드된 게시글에 대해서는 사라진 게시판의 중복된 게시판으로 이동됩니다.

* 저작권에 위반되는 게시글의 경우 수정 혹은 삭제될 수 있습니다.



기능 추가 (1)



오늘 샤워를 하면서 재밌는 기능에 대해 생각이 나더라구요.


요즘 사회에서는 워라벨을 중요시 여기며 탄력근무제 등을 도입하고 있죠.


근데, 여기서 조금 궁금한 부분이 생겼습니다.


아침 9시 부터 저녁 12시까지 야근을 하는 사람과

아침 9시 부터 저녁 6시까지 정시퇴근을 한 사람과

무의 양은 같지만, 야근을 한 사람이 추가로 월급을 받는다는건 조금 문제가 있지 않나 싶더라구요.


이 부분에 대해 해결법까지는 아니더라도 이런부분을 조금 완화시켜줄 무언가가 있었으면 했습니다.


그래서 재밌는 생각 중 하나는 ERP기능에 자신이 한 업무에 대해서 적는 건 어떤가 였습니다.


쉽게 말해 주간 업무보고, 일간 업무보고인거죠.


또한, 이런 주간 업무보고와 일간 업무보고를 통해 내일 할 일들과 다음주에 할 일들을 미리 정리해 놓는다면 일을 하는 사람에 있어서도 내가 오늘은 뭘하면 될지와 업무의 부하량을 알 수 있고, 일을 시키는 사람에 있어서도 각 사람의 부하률에 따라 지시등을 내릴 수 있지 않을까 생각했습니다.


그리고 ERP 메인화면에 이런 주간 업무보고와 일간 업무보고를 달력등을 통해 깔끔히 정리해놓는다면, 자신의 했거나 해야할 업무를 쉽사리 확인할 수 있어 편리하지 않을까 생각이 들더라구요.


게다가 이런 기능을 통해 어느정도의 가중치를 두어 연봉협상등에 의미를 부여해주면 좋겠다고도 생각이 들었습니다.


다음 시간에는 이 기능을 추가하여 분석/설계를 해나가도록 하겠습니다.


버전정보

 - v1.0 2018.10.04 배포

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



설계 (2)



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


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


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


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


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

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


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


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


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


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


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



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


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


감사합니다.


버전정보

 - v1.0 2018.10.02 배포

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

+ Recent posts