winDowsForms App + plc 통합 생산 및 품질 관리 시스템 프로젝트 시작
2024. 6. 21. 10:34ㆍDevelopment👩🏻🦳/C#
기간은 : 06.19 ~ 7월 10일까지
주제 주요기능
| 공정 관리 시스템 | 기준정보, 공통코드, 공정그룹, 단위공정, 생산보고 |
| 창고 관리 시스템 | 주문 수집, 창고관리, 설비관리, 택배 접수, 택배 추적 |
| 품질 관리 시스템 | 검사기준, 불량검사, 불량내역, 불량현황, 클레임청구 |
| 생산 관리 시스템 | 작업지시, 작업실적, 월별근태, 계획 및 실적, 문제 관리 |
프로젝트 파트 구성은
생산 관리 시스템 : 작업지시, 작업실적, 월별근태, 계획 및 실적, 문제 관리
파트로 지정되었다
초기 기획 및 스케줄러 작성을 내가 맡아서 진행하였다.
구현사항에 대한 전반적인 큰틀은 이러하다.
이 중 절삭시켜야할 지표들은 절삭시키고 진행하기로 했다 프론트엔드 파트에 집중하고
백엔드 부분은 구현을 안하거나 사양을 낮추는 방식으로 첫 프로젝트 구현 수준의 허들을 낮췄다

1. 대시보드
구현 사항
- 요약 정보: 현재 생산 상태, 주요 지표(KPI), 알림 등을 요약하여 보여줌
- 그래프 및 차트: 생산 실적, 불량률, 생산 계획 대비 실적 등을 시각적으로 표시
프론트엔드 구현 방법
- 윈폼 만들기: 새 윈폼 프로젝트를 생성하고 '대시보드' 폼을 만듭니다.
- 라벨과 텍스트박스 추가: 현재 생산 상태, KPI, 알림 등을 보여줄 라벨과 텍스트박스를 폼에 추가합니다.
- 차트 컨트롤 추가: 생산 실적 등을 시각적으로 표시할 차트를 폼에 추가합니다.
백엔드 구현 방식
- API 엔드포인트: 간단한 HTTP 서버를 만들어 대시보드 데이터 제공
- 데이터 제공: API를 통해 JSON 형식으로 데이터를 제공
2. 작업 지시 관리
구현 사항
- 작업 지시 목록: 작업 지시 내역을 목록 형태로 표시
- 작업 지시 상세 정보: 각 작업 지시의 상세 정보를 보여주는 페이지
- 작업 지시 생성/수정: 새로운 작업 지시를 생성하거나 기존 작업 지시를 수정하는 기능
프론트엔드 구현 방법
- 윈폼 만들기: '작업 지시 관리' 폼을 생성합니다.
- DataGridView 추가: 작업 지시 목록을 표시할 DataGridView를 폼에 추가합니다.
- 버튼 추가: 작업 지시 생성/수정을 위한 버튼을 추가합니다.
백엔드 구현 방식
- API 엔드포인트: 작업 지시 데이터를 JSON 형식으로 제공하고 업데이트 받는 API 생성
- 데이터 저장: 간단한 리스트를 사용하여 데이터 저장
3. 작업 실적 관리
구현 사항
- 작업 실적 목록: 작업 실적 내역을 목록 형태로 표시
- 작업 실적 입력/수정: 작업 완료 후 실적을 입력하거나 수정하는 기능
프론트엔드 구현 방법
- 윈폼 만들기: '작업 실적 관리' 폼을 생성합니다.
- DataGridView 추가: 작업 실적 목록을 표시할 DataGridView를 폼에 추가합니다.
- 버튼 추가: 작업 실적 입력/수정을 위한 버튼을 추가합니다.
백엔드 구현 방식
- API 엔드포인트: 작업 실적 데이터를 JSON 형식으로 제공하고 업데이트 받는 API 생성
- 데이터 저장: 간단한 리스트를 사용하여 데이터 저장
4. 월별 근태 관리
구현 사항
- 근태 기록: 작업자의 출근/퇴근, 휴가 등의 근태 기록을 관리
- 근태 현황판: 월별 근태 현황을 한눈에 볼 수 있는 캘린더 형태의 UI
프론트엔드 구현 방법
- 윈폼 만들기: '근태 관리' 폼을 생성합니다.
- DataGridView 추가: 근태 기록을 표시할 DataGridView를 폼에 추가합니다.
- 캘린더 컨트롤 추가: 월별 근태 현황을 표시할 캘린더를 폼에 추가합니다.
백엔드 구현 방식
- API 엔드포인트: 근태 데이터를 JSON 형식으로 제공하고 업데이트 받는 API 생성
- 데이터 저장: 간단한 리스트를 사용하여 데이터 저장
5. 계획 및 실적 관리
구현 사항
- 생산 계획 작성: 월간/주간 생산 계획을 작성하는 기능
- 실적 피드백: 계획 대비 실적의 피드백 및 개선 사항 기록
프론트엔드 구현 방법
- 윈폼 만들기: '계획 및 실적 관리' 폼을 생성합니다.
- 텍스트박스 추가: 생산 계획을 입력할 텍스트박스를 추가합니다.
- 버튼 추가: 계획 및 실적 입력을 위한 버튼을 추가합니다.
백엔드 구현 방식
- API 엔드포인트: 생산 계획과 실적 데이터를 JSON 형식으로 제공하고 업데이트 받는 API 생성
- 데이터 저장: 간단한 리스트를 사용하여 데이터 저장
6. 문제 관리
구현 사항
- 문제 리스트: 발생한 문제들을 목록 형태로 표시
- 문제 상세 정보: 각 문제의 상세 정보를 보여주는 페이지
- 문제 보고/수정: 문제 발생 시 보고하거나 기존 문제를 수정하는 기능
프론트엔드 구현 방법
- 윈폼 만들기: '문제 관리' 폼을 생성합니다.
- DataGridView 추가: 문제 리스트를 표시할 DataGridView를 폼에 추가합니다.
- 버튼 추가: 문제 보고/수정을 위한 버튼을 추가합니다.
백엔드 구현 방식
- API 엔드포인트: 문제 데이터를 JSON 형식으로 제공하고 업데이트 받는 API 생성
- 데이터 저장: 간단한 리스트를 사용하여 데이터 저장
7. 사용자 관리
구현 사항
- 사용자 프로필: 사용자 개인 정보 및 권한 관리
- 역할 및 권한: 사용자 역할별 권한 설정 및 관리
프론트엔드 구현 방법
- 윈폼 만들기: '사용자 관리' 폼을 생성합니다.
- 텍스트박스 추가: 사용자 정보를 입력할 텍스트박스를 추가합니다.
- 버튼 추가: 사용자 정보 저장을 위한 버튼을 추가합니다.
백엔드 구현 방식
- API 엔드포인트: 사용자 데이터를 JSON 형식으로 제공하고 업데이트 받는 API 생성
- 데이터 저장: 간단한 리스트를 사용하여 데이터 저장
8. 검색 및 필터
구현 사항
- 검색 기능: 작업 지시, 실적, 문제 등 다양한 데이터를 검색할 수 있는 기능
프론트엔드 구현 방법
- 윈폼 만들기: '검색 및 필터' 폼을 생성합니다.
- 텍스트박스 추가: 검색어를 입력할 텍스트박스를 추가합니다.
- 버튼 추가: 검색을 실행할 버튼을 추가합니다.
- DataGridView 추가: 검색 결과를 표시할 DataGridView를 추가합니다.
백엔드 구현 방식
- API 엔드포인트: 검색 요청을 처리하고 JSON 형식으로 결과를 반환하는 API 생성
- 데이터 저장: 간단한 리스트를 사용하여 데이터 저장
- 포지션 배분 방식 지정포지션 역할 예외처리 방안
구현 사항프론트엔드 개발자 1 대시보드 UI 디자인 및 구현 UI가 올바르게 표시되지 않을 경우, API 데이터 확인 및 수정 협력 프론트엔드 개발자 2 차트 및 그래프 구현, 대시보드 인터페이스 개선 차트 데이터 오류 시, 백엔드 개발자와 데이터 소스 확인 및 수정 협력 백엔드 개발자 1 대시보드 데이터 API 구축 및 제공 데이터 누락 또는 오류 시, 로깅 및 디버깅을 통해 문제 해결 백엔드 개발자 2 대시보드 데이터 최적화 및 캐싱 관리 데이터 과부하 발생 시, 캐싱 전략 재조정 및 성능 개선 프로젝트 매니저 대시보드 기능 테스트 및 피드백 제공 버그 발생 시, 상세히 기록하여 관련 개발자에게 보고하고 해결 방안 협력 - 요약 정보: 현재 생산 상태, 주요 지표(KPI), 알림 등을 요약하여 보여줌
- 그래프 및 차트: 생산 실적, 불량률, 생산 계획 대비 실적 등을 시각적으로 표시
구현 사항프론트엔드 개발자 1 작업 지시 목록 UI 구현 및 표시 목록이 표시되지 않을 경우, 백엔드 데이터 API 확인 및 수정 협력 프론트엔드 개발자 2 작업 지시 상세 정보 UI 구현 및 표시 상세 정보가 누락될 경우, 백엔드와 데이터 통신 문제 해결 협력 백엔드 개발자 1 작업 지시 데이터 API 구축 및 제공 API 데이터 오류 시, 로깅 및 디버깅을 통해 문제 해결 백엔드 개발자 2 작업 지시 생성/수정 API 관리 및 유지보수 데이터 저장 문제 발생 시, 디버깅 및 프론트엔드 개발자와 협력하여 수정 프로젝트 매니저 작업 지시 관리 기능 테스트 및 버그 보고 버그 발생 시, 상세히 기록하여 관련 개발자에게 보고하고 해결 방안 협력 - 작업 지시 목록: 작업 지시 내역을 목록 형태로 표시
- 작업 지시 상세 정보: 각 작업 지시의 상세 정보를 보여주는 페이지
- 작업 지시 생성/수정: 새로운 작업 지시를 생성하거나 기존 작업 지시를 수정하는 기능
구현 사항프론트엔드 개발자 1 작업 실적 목록 UI 구현 및 표시 목록이 표시되지 않을 경우, 백엔드 데이터 API 확인 및 수정 협력 프론트엔드 개발자 2 작업 실적 입력/수정 UI 구현 및 표시 입력/수정이 작동하지 않을 경우, 백엔드와 데이터 통신 문제 해결 협력 백엔드 개발자 1 작업 실적 데이터 API 구축 및 제공 API 데이터 오류 시, 로깅 및 디버깅을 통해 문제 해결 백엔드 개발자 2 작업 실적 저장 및 수정 API 관리 및 유지보수 데이터 저장 문제 발생 시, 디버깅 및 프론트엔드 개발자와 협력하여 수정 프로젝트 매니저 작업 실적 관리 기능 테스트 및 버그 보고 버그 발생 시, 상세히 기록하여 관련 개발자에게 보고하고 해결 방안 협력 - 작업 실적 목록: 작업 실적 내역을 목록 형태로 표시
- 작업 실적 입력/수정: 작업 완료 후 실적을 입력하거나 수정하는 기능
구현 사항프론트엔드 개발자 1 근태 기록 UI 구현 및 표시 기록이 표시되지 않을 경우, 백엔드 데이터 API 확인 및 수정 협력 프론트엔드 개발자 2 근태 현황판 UI 구현 및 표시 캘린더 표시 오류 시, 백엔드와 데이터 통신 문제 해결 협력 백엔드 개발자 1 근태 데이터 API 구축 및 제공 API 데이터 오류 시, 로깅 및 디버깅을 통해 문제 해결 백엔드 개발자 2 근태 데이터 저장 및 수정 API 관리 및 유지보수 데이터 저장 문제 발생 시, 디버깅 및 프론트엔드 개발자와 협력하여 수정 프로젝트 매니저 근태 관리 기능 테스트 및 버그 보고 버그 발생 시, 상세히 기록하여 관련 개발자에게 보고하고 해결 방안 협력 - 근태 기록: 작업자의 출근/퇴근, 휴가 등의 근태 기록을 관리
- 근태 현황판: 월별 근태 현황을 한눈에 볼 수 있는 캘린더 형태의 UI
구현 사항프론트엔드 개발자 1 생산 계획 작성 UI 구현 및 표시 계획이 표시되지 않을 경우, 백엔드 데이터 API 확인 및 수정 협력 프론트엔드 개발자 2 실적 피드백 UI 구현 및 표시 피드백이 표시되지 않을 경우, 백엔드와 데이터 통신 문제 해결 협력 백엔드 개발자 1 생산 계획 데이터 API 구축 및 제공 API 데이터 오류 시, 로깅 및 디버깅을 통해 문제 해결 백엔드 개발자 2 실적 피드백 데이터 API 관리 및 유지보수 데이터 저장 문제 발생 시, 디버깅 및 프론트엔드 개발자와 협력하여 수정 프로젝트 매니저 계획 및 실적 관리 기능 테스트 및 피드백 제공 버그 발생 시, 상세히 기록하여 관련 개발자에게 보고하고 해결 방안 협력 - 생산 계획 작성: 월간/주간 생산 계획을 작성하는 기능
- 실적 피드백: 계획 대비 실적의 피드백 및 개선 사항 기록
구현 사항프론트엔드 개발자 1 문제 리스트 UI 구현 및 표시 리스트가 표시되지 않을 경우, 백엔드 데이터 API 확인 및 수정 협력 프론트엔드 개발자 2 문제 상세 정보 UI 구현 및 표시 상세 정보가 누락될 경우, 백엔드와 데이터 통신 문제 해결 협력 백엔드 개발자 1 문제 데이터 API 구축 및 제공 API 데이터 오류 시, 로깅 및 디버깅을 통해 문제 해결 백엔드 개발자 2 문제 보고/수정 API 관리 및 유지보수 데이터 저장 문제 발생 시, 디버깅 및 프론트엔드 개발자와 협력하여 수정 프로젝트 매니저 문제 관리 기능 테스트 및 버그 보고 버그 발생 시, 상세히 기록하여 관련 개발자에게 보고하고 해결 방안 협력 - 문제 리스트: 발생한 문제들을 목록 형태로 표시
- 문제 상세 정보: 각 문제의 상세 정보를 보여주는 페이지
- 문제 보고/수정: 문제 발생 시 보고하거나 기존 문제를 수정하는 기능
구현 사항프론트엔드 개발자 1 사용자 프로필 UI 구현 및 표시 프로필이 표시되지 않을 경우, 백엔드 데이터 API 확인 및 수정 협력 프론트엔드 개발자 2 역할 및 권한 UI 구현 및 표시 권한 설정이 표시되지 않을 경우, 백엔드와 데이터 통신 문제 해결 협력 백엔드 개발자 1 사용자 프로필 데이터 API 구축 및 제공 API 데이터 오류 시, 로깅 및 디버깅을 통해 문제 해결 백엔드 개발자 2 역할 및 권한 데이터 API 관리 및 유지보수 데이터 저장 문제 발생 시, 디버깅 및 프론트엔드 개발자와 협력하여 수정 프로젝트 매니저 사용자 관리 기능 테스트 및 피드백 제공 버그 발생 시, 상세히 기록하여 관련 개발자에게 보고하고 해결 방안 협력 - 사용자 프로필: 사용자 개인 정보 및 권한 관리
- 역할 및 권한: 사용자 역할별 권한 설정 및 관리
구현 사항프론트엔드 개발자 1 검색어 입력 UI 구현 및 표시 검색어가 입력되지 않을 경우, UI 오류 해결 및 수정 협력 프론트엔드 개발자 2 검색 결과 표시 UI 구현 및 필터 적용 검색 결과가 표시되지 않을 경우, 백엔드 데이터 API 확인 및 수정 협력 백엔드 개발자 1 검색 데이터 API 구축 및 제공 API 데이터 오류 시, 로깅 및 디버깅을 통해 문제 해결 백엔드 개발자 2 필터 데이터 API 관리 및 유지보수 데이터 필터링 문제 발생 시, 디버깅 및 프론트엔드 개발자와 협력하여 수정 프로젝트 매니저 검색 및 필터 기능 테스트 및 피드백 제공 버그 발생 시, 상세히 기록하여 관련 개발자에게 보고하고 해결 방안 협력 - 검색 기능: 작업 지시, 실적, 문제 등 다양한 데이터를 검색할 수 있는 기능
메서드또한 프로젝트 초기딴에 만들어 놨다
프로젝ㅌ 초입딴에 메서드를 만드는 이유는
- 코드의 재사용성 및 유지보수성 향상:
- 클래스와 메서드를 미리 정의하면 중복 코드를 줄이고, 변경 사항이 발생했을 때 수정할 부분을 명확히 알 수 있습니다. 이는 유지보수를 용이하게 합니다.
- 프로젝트 구조와 설계 명확화:
- 초기 설계 단계에서 클래스를 정의하면 시스템의 구조와 상호작용 방식을 명확히 할 수 있습니다. 이를 통해 개발자들이 일관된 방식으로 코드를 작성할 수 있습니다.
- 협업 효율성 증대:
- 여러 개발자가 협업할 때, 클래스와 메서드가 명확히 정의되어 있으면 역할 분담이 용이해지고, 각 개발자가 어떤 부분을 담당해야 하는지 명확해집니다. 이는 커뮤니케이션을 원활하게 하고 충돌을 줄이는 데 도움이 됩니다.
- 테스트 용이성:
- 각 클래스와 메서드가 명확히 정의되어 있으면 유닛 테스트를 작성하기 쉽습니다. 이는 개발 초기부터 각 기능이 제대로 동작하는지 검증할 수 있어, 버그를 조기에 발견하고 수정할 수 있습니다.
- 확장성 및 유연성 확보:
- 초기 설계에서 클래스와 메서드를 잘 정의하면 새로운 기능을 추가하거나 기존 기능을 확장할 때 큰 어려움 없이 유연하게 대응할 수 있습니다. 이는 프로젝트의 장기적인 발전 가능성을 높입니다.
- 일관된 코드 스타일 유지:
- 프로젝트 초기에 클래스와 메서드 구조를 정의하면 일관된 코드 스타일을 유지할 수 있습니다. 이는 코드 가독성을 높이고, 다른 개발자들이 코드를 이해하고 수정하는 데 도움이 됩니다.
'Development👩🏻🦳 > C#' 카테고리의 다른 글
| C# mes 프로젝트 백엔드 구현 정리 및 추가 가이드 ( -2- ) (2) | 2024.07.06 |
|---|---|
| C# mes 프로젝트 백엔드 구현 정리 ( -1- ) (2) | 2024.07.05 |
| Arduino와 브레드보드로 시작하는 전자공학 기초: 프로그래밍 전에 필요한 워밍업 (1) | 2024.06.14 |
| Mitsubishi PLC와 C# WinForms 연동 가이드 ( Guide to Integrating Mitsubishi PLC with C# WinForms ) (0) | 2024.06.14 |
| 2차원 배열을 활용한 다표식 환자 암호 구현 방법 (C#)(Implementing Multi-Tab Patient Encryption Using 2D Arrays in C#) (1) | 2024.06.14 |