@furupon0510

「初学者・応援急募」Javaを用いた半自動シフト作成が可能なウェブアプリの開発

Javaを用いたプログラミングで シフトの半自動作成アプリを作りたいです。

私自身の経験としては大学でのプログラミング経験のみで最近独学を始めたばかりです。
現在大学三年生、二ヶ月で完成に持っていきたいです。
JavaのFrameworkであるSpringを使用して作成したいと考えています。
形式はウェブアプリです。
私の母は保育士であり、管理職であるため、シフト表さ作成を毎月作成している。
しかし、希望の収集や、研修の予定などで苦労している。その解消に努めたいです。

要件としましては、

・従業員それぞれのデータ、会員登録が可能。
・メールアドレスとパスワードでログイン。
・従業員はそれぞれ休みの希望や、早番、遅番等の希望を選択することができる。
・希望を元にシフトを半自動作成、その後修正可能なものとしたい。
・編集権限はシフト作成者のみに与え、他の従業員はシフト表の閲覧、希望を提出するのみ。

概要はこのようなものにしたいと考えています。

詳細としましては、

・休み希望がバッティングした場合の注意文の提示
・従業員のデータとしては、 名前、年齢、担当学年、クラス等。
・正職なのか、パートなのかの区別。
・パートの人用に給料計算機能。

などを搭載したいと考えています。

至らぬ点が多く、わからないことが大半です。

教えてていただきたいこと、

☆必要な技術
 ・データベースとの連携(そもそもデータベースが必要なのか。)
 ・Java以外の言語が必要かどうか。
 ・このウェブアプリの実装方式。
 ・作成プロセス。(何から始まればいいのか)

0

4件の回答

普通の Web アプリと考えて・・・

・データベースとの連携(そもそもデータベースが必要なのか。)

ユーザー認証のためのユーザー情報や、あなたの言う「シフト表」関係の情報のストアに必須です。

・Java以外の言語が必要かどうか。

html, css, javascript の知識、データベースを扱うための SQL の知識は必要です。(ASP.NET Web Forms のように html, css, javascript の知識が一切なくてもフレームワークの方で何とかしてくれるケースもありますが、そういうのは別の話として)

あと、言語ではありませんが、何らかのフレームワークを使うことになるので、それが提供しているライブラリの知識も必要になると思います。

・このウェブアプリの実装方式。
・作成プロセス。(何から始まればいいのか)

そこは、上に書いたことが分かる程度に知識を得てから、自分で考えましょう。

あなた独自の要件に合った Web アプリの作り方を、初学者が、ここのような Q&A サイトで、一から十まで手取り足取り教えてもらって、何とか形になるようにするというのは無理です。

それを期待しているとすると、ここのような Q&A サイトでは期待しすぎです。学校とかそういう環境を探すことをお勧めします。

ところで、Java ベースの Web アプリが動く Web サーバーはどうするつもりなのですか? 考えてますか?

3

コメント

@furupon0510

質問者

回答ありがとうございます。

今、エンジニアの方に教えていただけるプランの加入を考えています。
その事前準備に知識を蓄えたく、質問させていただました。
回答からも感じられるように、環境を探します。

HTML、CSS、JavaScriptは基本的な文法、一度のHP作成経験があります。
MYSQLは、講義でコマンドの内容を学習しましたが、アプリに組み込んだりなどの経験はありません。

Frameworkは現在Springを学習中です。

Q.ところで、Java ベースの Web アプリが動く Web サーバーはどうするつもりなのですか? 考えてますか?

A.考えていませんでした。
 WEBサーバーに関して、どういったことを学習すれば良いのか、よろしければご意見お聞かせいただけませんでしょうか。

WEBサーバーに関して、どういったことを学習すれば良いのか、よろしければご意見お聞かせいただけませんでしょうか。

聞く前にググるなどして自分で調べるということはしましたか? 多分調べてないか、調べたとしても調べ方が不十分だと思いますけど、違いますか?

まずこれだけは言わせてほしい,わからないことが大半である人が「学習初手で取り組むことのできる仕様の重さではない」

これを踏まえたうえで

・このウェブアプリの実装方式。

MVC Architectureが一般的な実装方式になっています.

・作成プロセス。(何から始まればいいのか)

ウォーターフォールとアジャイルの2パターンがあります.好きに選んで取り組みましょう.

この質問は的確で,いかに重い内容で実施しようとしているかが分かると思います.

1

コメント

@furupon0510

質問者

回答ありがとうございます。

最終的のこのアプリを作成するとして、段階を踏んでいく覚悟はあります。

回答者様に頂いたキーワードも検索し、学習します。

そこで相談なのですが、上記したレベルのものを作れるようになるためには、何から学び始めることがいいでしょうか。

前提

・HTML、CSS、JavaScriptは基本的な文法、一度のHP作成経験があります。

・MYSQLは、講義でコマンドの内容を学習しましたが、アプリに組み込んだりなどの経験はありません。

開発を進めるためには先のキーワードを踏襲した上で
他のフレームワークの知識が必要になります.
例えばMySQLをアプリに組み込むためにJDBCドライバを使ってDB接続,
MyBatisを使ったりしてSQLインジェクションを防ぐことを見据えた実装を行ったりします.

このようなシフト管理システムを開発する際に考慮すべき重要な点はいくつかあります。以下に、あなたの要件に関連するいくつかの重要なポイントを示します。

ユーザー管理:

ユーザー登録: 各従業員のデータを収集し、名前、年齢、担当学年、クラスなどの情報を含めることができるようにユーザー登録機能を実装します。また、正職とパートタイムの区別を明確にするためのオプションも提供します。
シフト希望の収集:

ユーザーがシフト希望を提出できるように、シフト希望フォームを作成します。希望の日付、早番/遅番の選択、休みの希望などの情報を含めます。バッティングした希望がある場合、注意文を表示するための機能を追加します。
シフト自動作成と修正:

シフトを半自動的に作成するアルゴリズムを開発します。従業員の希望を考慮し、できるだけ希望に沿ったシフトを生成します。その後、管理者(シフト作成者)が必要に応じてシフトを手動で修正できるようにします。
ユーザーアクセス制御:

ユーザーアクセス制御を導入し、シフト作成者のみがシフトを作成および編集できるようにします。他の従業員はシフト表を閲覧し、希望を提出する権限を持つだけです。
給料計算機能:

パートタイム従業員のための給料計算機能を実装します。給与計算に必要な情報(時給、勤務時間など)を入力し、給与明細を生成できるようにします。
ユーザー認証とセキュリティ:

メールアドレスとパスワードを使用したユーザー認証機能を組み込み、データのセキュリティを確保します。
データベース:

ユーザー情報、シフトデータ、希望データなどを効率的に管理するデータベースを設計し、データの永続性を確保します。
ユーザーインターフェース (UI):

ユーザーフレンドリーなインターフェースを設計し、ユーザーが簡単に情報を入力し、シフトを閲覧および管理できるようにします。
通知機能:

シフトが変更された場合や新しいシフトが作成された場合に、従業員に通知を送る機能を実装します。
テストとフィードバック:

システムを開発したら、実際のユーザー(母親や他の保育士)にシステムをテストし、フィードバックを収集して改善点を特定します。
これらのポイントを考慮に入れながら、シフト管理システムを開発していくことが重要です。開発プロセスでは、適切なプログラム言語、データベース、セキュリティ対策などを選定し、プロトタイプを作成してから本番環境に導入することを検討してください。また、必要に応じて専門知識を持つ開発者やシステムアーキテクトの協力を得ることも考慮してください。

1

2か月でその量の要件を0から作るのはかなり難しいと思うので、
まずは必要最低限の要件だけに絞って今の5倍くらい細かい粒度で要件の詳細を詰めるべきだと思います。

1

あなたも回答してみませんか :)

新規登録
すでにアカウントを持っている方はログイン