株式会社i-nos / エンジニア
一般法人向け執務管理システム 追加機能開発
課題 ー 以下のような課題点があり、このプロジェクトに至った。 ユーザーの行事予定や経費を管理する執務管理システムが存在した。 システムを利用するユーザーの出勤状況は、手入力で執務管理システムに登録されていた。 ユーザーの入力漏れの発生を防ぐこと、手入力の手間を減らすことを目的に、既存の執務管理システムに、役員の出勤退勤情報、在席情報を自動で入力、表示する機能を追加したいとのご要望があった。 取り組み 出退勤自動登録機能は、ユーザーが所持している端末が施設内のWiFiへ接続しているか否かで出退勤を判断する機能である。 WiFiに接続している機器のMacアドレスのログを取得し、出退勤状況をDBに記録、DBの情報を元に、執務管理システムにユーザーの出勤退勤、在席状況を表示する。 プロジェクトの中では主に以下の開発業務に取り組んだ。 ①CSVファイル取込機能 詳細設計、開発、テストを担当 【課題】 取得対象のMacアドレスをDBに登録するため、登録対象Macアドレスが記載されたCSVファイルの取込機能が必要だった。 【取り組み】 React、JavaScriptを用いてブラウザからCSVファイルをサーバーにアップロードする、CSVファイルを取得しDBに登録する一連の機能の詳細設計、実装、テストを担当した。 ②出退勤時間登録機能 詳細設計、開発、テストを担当 【課題】 ユーザーが執務管理システムに自動で登録された出退勤時間をブラウザから確認、手入力で修正できる機能が必要だった。 【取り組み】 ブラウザ側の改修では、React、JavaScriptを用いて行った。 検索結果の表示項目、出退勤時間修正などの入力項目の追加をした。 矛盾するデータがDBに登録されないよう、バリデーション機能、エラーメッセージ表示機能を実装した。 サーバー側の処理では、c#を用いてコーディグ、DBはSQL Serverを用いてデータを管理した。 テストは、Dockerを用いて仮想環境をPCに構築して行った。 コード管理にはGitHubを用い、コーディング、テストが完了した際は、プルリクエストを提出し、上司にコードレビューを受けた。 プロジェクトは無事完了し、リリースされた。 工夫した点 上司から概要を記載した文章、口頭で実装機能の概要の説明を受け、詳細設計、開発、テストに取り組んだ。 設計書がなかったため、開発では上司へ積極的に質問を行い、意思疎通不足による手戻りが発生しないように努めた。 仕様漏れを防止するため、ブラウザでの入力項目の入力制限、エラーチェックの組み合わせの数が多い場合は、一覧表を作成した。 結果、仕様漏れを防ぐことができた。 後の仕様変更では、一覧表を作成していたことで、変更すべき箇所をすぐに特定し、改修作業を容易に進められた。 開発後には、機能の修正が生じた際に、第三者でも容易にに改修に組めるようにする目的で 機能、コードの概要、分岐の条件を記載した簡易な設計書を自主的に作成した。 作成した設計書は後に仕様を確認するときに役立っている。 また、作成した資料は上司に共有した。上司と詳細な設計を共有できたことで、お客様に機能をご説明する際、資料として役だったとお褒めの言葉をいただいた。