6
2

More than 3 years have passed since last update.

ASP.NET Core 3.1 RazorPagesで工数管理アプリを作ってみる①-設計編

Last updated at Posted at 2020-01-20

はじめに

本投稿では個人的に気なっていた ASP.NET Core 3.1 RazorPages で工数管理アプリを作ってみます。
”設計 ~ Azure 上で動かして試験運用するまで”をいくつかの投稿に分けて残していきます。
ご指摘事項等あればコメント頂けますと幸いです。

また、あくまで自分の備忘録でもあるので読みにくい部分ご了承ください!

背景

本投稿の背景は下記の通りです。

PJマネジメント業務が増えてきたから

メンバの工数管理とかしたいけど、既存のエクセルによる管理が不便すぎる。
どのPJのどの作業にメンバが工数を割いているのか集計しにくい。しかも予実管理も見えにくい。
あと、工数管理と出退勤管理のシステムが異なるので入力が面倒。

ASP.NET Core 3.1 RazorPagesを触ってみたい

PJマネジメント業務が多くて最近自分でコーディングできていないので単純に触ってみたい。。。

MCPの勉強のために

先日AZ-203を受けたのですが撃沈・・・
次回受験の勉強のためにも試験範囲のサービスとかいろいろ実際に使ってみたい。

工数管理は良いやり方はいっぱいありますが、上記理由よりあえてシステム自作したいと思います。

開発の条件

・VS code で開発
・一応簡単に設計はする
本業ではないのでできる限り省力化を行う!

ということでさっそく設計から入っていきたいと思います。

システム設計

ユースケース

上記のとおり、PJに関わるメンバの工数管理&出退勤管理をしたいのでシステムのユースケースはこんなイメージです。

PJメンバができること

・日ごとにどのPJの何の作業に何時間使ったのか工数入力できる
・併せて出退勤、残業管理もできる

PJマネージャができること

・担当するPJの工数を様々な条件(※)で集計/分析できる
・PJの作業を管理できる(WBS)
・PJの作業の予定工数を管理できる(人のアサインとかができる)

統括マネージャができること

・全てのPJの工数を様々な条件(※)で集計/分析できる
・PJメンバの出退勤登録の承認ができる

勤怠管理者ができること

・PJメンバの出退勤状況の集計ができる

(※)基本的にはPJ単位、またはPJメンバ単位で過去の作業工数の予実確認ができる。先数か月分の予定登録ができる。

ユースケース図

上記をユースケース図にまとめるとこんな感じです。
とりあえずシステム名は「Kosu M」としました。

(※)UML作成は下記を参考にさせていただきました。
Visual Studio Code で UML を描こう!
PlantUML Cheat Sheet

登場人物とか機能とかを考え始めると思ったより複雑に。。。

UseCaseDiagram.png

機能一覧

必要な機能は下記のイメージと思います。

機能 ユースケース(概要)
ログイン機能 ID/パスワードでログインできる。
トップ表示 ログインユーザの情報をパッと見できる。
作業工数管理機能 出退勤登録や工数登録ができる。
PJ管理機能 新しいPJの作成/編集やその作業の登録ができる。各PJの作業工数の集計(予実管理)ができる。
出退勤管理機能 PJメンバの出退勤状況を集計/承認できる。
PJメンバ管理機能 グループ/所属/PJメンバの登録/編集ができる。

ログインとかグループ/所属の管理は追々 Azure AD 連携とかID機能利用を検討したいと思います。

ER図

簡単なデータ概念は下記のイメージとしました。
ClassDiagram.png

下記を参考に Plantuml でER図も書かせていただきました。
PlantUML で ER 図(ERD)を描く(似非ではないです)

一応これで簡単な設計は終了

よという事で次はいよいよ ASP.NET Core 3.1 RazorPages を触り始めたいと思います。
まずはマスタ管理機能から!

ASP.NET Core 3.1 RazorPagesで工数管理アプリを作ってみる②-マスタ管理編

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2