ASP.NET Core 3.1 RazorPages로 공수 관리 앱을 만들어 보세요 ①-설계편

소개



이 게시물에서는 개인적으로 궁금했던 ASP.NET Core 3.1 RazorPages로 공수 관리 앱을 만들어 보겠습니다.
"설계 ~ Azure에서 실행하여 시험 운용할 때까지"를 몇 가지 게시물로 나누어 둡니다.
지적 사항 등 있으면 코멘트 받을 수 있으면 다행입니다.

또한 어디 까지나 자신의 비망록이기 때문에 읽기 어려운 부분 양해 바랍니다!

배경



본 투고의 배경은 아래와 같습니다.

PJ 매니지먼트 업무가 늘어났기 때문에



멤버의 공수 관리라든가 하고 싶지만, 기존의 엑셀에 의한 관리가 너무 불편하다.
어느 PJ의 어느 작업에 멤버가 공수를 나누고 있는지 집계하기 어렵다. 게다가 예실관리도 보이기 어렵다.
그리고, 공수 관리와 출퇴근 관리의 시스템이 다르기 때문에 입력이 번거롭다.

ASP.NET Core 3.1 RazorPages를 터치하고 싶습니다.



PJ 매니지먼트 업무가 많아 최근 스스로 코딩할 수 없기 때문에 단순히 만져보고 싶다. . .

MCP 공부를 위해



요 전날 AZ-203을 받았습니다만 격침・・・
다음에 수험의 공부를 위해서도 시험 범위의 서비스라든지 여러가지 실제로 사용해 보고 싶다.

공수 관리는 좋은 방법은 가득 있습니다만, 상기 이유보다 굳이 시스템 자작하고 싶습니다.



개발 조건



· VS 코드로 개발
・일단 간단하게 설계는 한다
・본업이 아니기 때문에 가능한 한 절력화를 실시한다!

그래서 바로 디자인에서 들어가고 싶습니다.

시스템 설계



사용 사례



상기와 같이, PJ에 관련된 멤버의 공수 관리&출퇴근 관리를 하고 싶기 때문에 시스템의 유스 케이스는 이런 이미지입니다.

PJ 멤버가 할 수 있는 일



・일마다 어느 PJ의 어떤 작업에 몇 시간 사용했는지 공수 입력할 수 있다
・아울러 출퇴근, 잔업 관리도 할 수 있다

PJ 매니저가 할 수 있는 일



・담당하는 PJ의 공수를 다양한 조건(※)으로 집계/분석할 수 있다
· PJ의 작업을 관리 할 수있다 (WBS)
・PJ의 작업의 예정 공수를 관리할 수 있다(사람의 어사인등이 할 수 있다)

총괄 관리자가 할 수 있는 일



・모든 PJ의 공수를 다양한 조건(※)으로 집계/분석할 수 있다
・PJ 멤버의 출퇴근 등록의 승인을 할 수 있다

근태 관리자가 할 수 있는 일



・PJ 멤버의 출퇴근 상황의 집계를 할 수 있다

(※)기본적으로는 PJ단위, 또는 PJ멤버 단위로 과거의 작업공수의 예실 확인을 할 수 있다. 선수 또는 월분의 예정 등록을 할 수 있다.

유스 케이스 다이어그램



상기를 유스 케이스 다이어그램에 정리하면 이런 느낌입니다.
우선 시스템명은 「Kosu M」이라고 했습니다.

(※)UML 작성은 하기를 참고로 했습니다.
Visual Studio Code로 UML을 그립니다!
PlantUML Cheat Sheet

등장 인물이나 기능 등을 생각하기 시작했다고 생각한 것보다 복잡하게. . .



기능 목록



필요한 기능은 아래 이미지라고 생각합니다.


기능
유스 케이스(개요)


로그인 기능
ID/비밀번호로 로그인할 수 있다.

상단 디스플레이
로그인 사용자의 정보를 확실하게 볼 수 있습니다.

작업 공수 관리 기능
출퇴근 등록이나 공수 등록이 가능하다.

PJ 관리 기능
새로운 PJ의 작성/편집이나 그 작업의 등록을 할 수 있다. 각 PJ의 작업공수의 집계(예실관리)가 가능하다.

출퇴근 관리 기능
PJ 멤버의 출퇴근 상황을 집계/승인할 수 있다.

PJ 멤버 관리 기능
그룹/소속/PJ 멤버의 등록/편집이 가능하다.


로그인이나 그룹/소속의 관리는 추후 Azure AD 연계라든가 ID 기능 이용을 검토하고 싶습니다.

ER 다이어그램



간단한 데이터 개념은 아래와 같은 이미지로 했습니다.


아래를 참고로 Plantuml에서 ER도도 써 주셨습니다.
PlantUML에서 ER 다이어그램 (ERD) 그리기 (비슷하지 않음)

일단 이것으로 간단한 설계는 종료



라고 하는 것으로 다음은 드디어 ASP.NET Core 3.1 RazorPages 를 접하기 시작하고 싶습니다.
우선은 마스터 관리 기능으로부터!

ASP.NET Core 3.1 RazorPages로 공수 관리 앱을 만들어 보자 ②-마스터 관리편

좋은 웹페이지 즐겨찾기