1. プロジェクト概要
| 項目 | 内容 |
|---|---|
| クライアント | 株式会社KBS(警備会社) |
| プロジェクト名 | 警備業務管理システム連携プロジェクト |
| 目的 | 12以上のExcelファイルで個別管理している警備業務情報を連携させ、転記作業を削減し業務効率化を図る |
| 対象環境 | Microsoft Excel 2019 Business版での動作を前提とする |
1.5 現在の開発進捗状況
📈 進捗サマリー
✅ 完了済み項目
- 隊員マスタ(デバッグ作業が必要)
- 現場マスタ(デバッグ作業が必要)
- 顧客マスタ(デバッグ作業が必要)
- 全体UI設計(一部修正が必要)
🔄 未着手・要追加開発項目
- データベース機能の実装
- 週間予定表・日報のデータ永続化機能
- 請求書機能の拡張(工事番号ベース管理)
- 給与計算一覧表出力機能
⚠️ 引き継ぎ事項
- 既存マスタファイルの仕様書・設計書の確認が必要
- UI設計で修正が必要な箇所の詳細確認
- デバッグ対象となる具体的な不具合内容の把握
2. 現状の業務フロー分析
2.1 現行システム構成
現在、以下のExcelファイルが個別に管理され、データ連携ができていません:
📅 スケジュール管理
- 週間予定.xlsx:週間の現場予定と隊員の配置を管理
- 業務日報.xlsx:当日や翌日の勤怠や現場の管理
- 現場配置一覧表.xlsx:月ごとに誰をどの現場に配置したか実績管理
⏰ 勤怠・出勤管理
- 出勤一覧.xlsx:隊員の勤務状況や出勤に偏りがないか確認
- 勤怠管理.xlsm:個人の月次勤怠(タイムカード)、給与計算に使用
👥 隊員・人事管理
- 在籍者名簿.xls:在籍者のマスタ
💰 請求・経理関連
- 顧客別請求書.xlsx:請求書
- 手当・控除シート.xlsx:各種手当控除の管理、給与計算に使用
2.2 現状の課題
- 重複入力の発生: 同じデータを複数のファイルに手動で入力する必要がある
- 転記ミスのリスク: 手動転記によるヒューマンエラーが発生している
- 非効率な作業時間: データの転記・集計に多くの時間を要している
- リアルタイム性の欠如: 各ファイルの更新タイミングにズレが生じている
- ファイル管理の複雑さ: 多数のファイルの版管理が困難
- 分析の困難さ: 複数ファイルからのデータ集計・分析に手間がかかる
3. 要件詳細
3.1 基本システム構成
システム構成: マスタと日々入力するファイル、データ保持のためのファイルの3点(仕様上まとめることも可)
3.1.1 データベース設計
主要テーブル構造
| テーブル名 | 主要項目 | 備考 |
|---|---|---|
| 隊員マスタ | 隊員ID、氏名、フリガナ、資格情報、住所、連絡先、入社日、血液型など | 基本マスタ |
| 顧客マスタ | 顧客ID、顧客名、住所、連絡先、担当者など | 基本マスタ |
| 現場マスタ | 現場ID、現場名、顧客ID、所在地、単価、資格要件、工事番号など | 工事番号追加 |
| 週間予定表 | 計画ID、隊員ID、現場ID、日付、勤務時間、作成日時、更新日時など | 履歴管理対応 |
| 日報データ | 日報ID、日付、隊員ID、現場ID、実績時間、移動距離、修正履歴IDなど | 修正履歴対応 |
| 勤怠データ | 勤怠ID、隊員ID、年月、出勤日数、残業時間、交通費など | - |
| 請求データ | 請求ID、顧客ID、年月、現場ID、工事番号、金額、消費税など | 工事番号追加 |
| 有給休暇管理 | 有給ID、隊員ID、付与日、失効日、残日数など | - |
追加テーブル(データ履歴管理)
- 請求履歴(履歴ID、請求ID、工事番号、発行日、修正日、ステータス)
- データアーカイブ管理(年度、テーブル名、アーカイブ日、ファイルパス)
データ保持機能
- 週間予定表データの週次での保存機能
- 日報データの長期保存とバックアップ機能(最低2年は保持、それ以降はバックアップ)
- 過去データの検索・参照機能(期間指定、隊員指定、現場指定)
- データアーカイブ機能(前年度データの自動移行)
工事番号を軸とした設計
- 現場マスタと請求データに工事番号を必須項目として追加
- 工事番号による横断的なデータ検索機能
- 工事番号別の進捗管理機能
3.1.2 ユーザーインターフェース設計
統一されたナビゲーション
- ワークフロー進行状況を示すステップインジケーター
- モジュール間の直感的な移動
主要画面構成
📊 ダッシュボード画面
KPI、アラート表示
📅 週間予定表入力画面
シフト管理
📝 日報入力画面
実績入力
⏰ 勤怠集計画面
勤怠管理
💰 請求管理画面
請求書発行
📋 マスタ管理画面
隊員・現場・顧客
📊 レポート・出力画面
各種レポート
🔍 履歴参照画面
週間予定・日報の過去データ表示
3.1.3 システムアーキテクチャ
エクセル連携型ソリューション
Excel 2019 Business版での動作保証- 既存のExcel項目をベースに、VBAによるデータ連携
- 共有フォルダ上での一元管理
- 基幹となるExcelファイルからのデータ更新機能
データベース実装方式
- Excelワークシート上でのデータベース機能実装
- VBAによるデータ操作・検索機能
- CSVファイルによるデータ永続化
- 定期的な自動バックアップ機能
3.2 マスタデータ管理
👥 隊員マスタ管理
必須データ項目
- 基本情報(隊員ID、氏名、フリガナ、性別、生年月日、年齢、血液型)
- 連絡先情報(住所、電話番号、携帯電話、緊急連絡先)
- 資格情報(交通誘導警備1級/2級、取得日、有効期限)
- 雇用情報(入社日、被保険者番号、マイナンバー、雇用契約満了日)
- 健康情報(前回健康診断日、血圧)
- 通勤車両情報(車種、ナンバー、車検満了日、通勤距離)
🏗️ 現場マスタ管理
必須データ項目
- 基本情報(現場ID、現場名称、工事番号)
- 現場情報(所在地、エリア、集合場所)
- 契約情報(顧客ID、担当者名、開始日、終了日)
- 単価情報(基本単価、残業割増率、夜勤加算額、遠隔地加算額、資格者加算額)
- 資格要件(必要資格、最低人数)
- ステータス(稼働中、予定、終了)
🏢 顧客マスタ管理
必須データ項目
- 基本情報(顧客ID、顧客名、住所、電話番号、FAX番号)
- 担当者情報(担当者名、役職、連絡先)
- 請求情報(請求サイクル、支払条件、請求先、振込口座)
- 契約情報(契約開始日、単価デフォルト値)
3.3 業務フロー機能
3.3.1 週間予定表作成機能
機能要件
- カレンダー形式での可視化
- 隊員別・現場別での予定表示
- プルダウンによる簡易割当
- 過去の配置パターンの再利用
- 配置人数・稼働率の自動計算
- 資格要件チェック機能
- 連続勤務警告機能
- 休暇・有給管理との連携
- 予定表データの履歴保存機能
- 過去予定表の参照・複製機能
3.3.2 日報入力・管理機能
機能要件
- 週間予定からの自動データ取込
- 日付別・現場別での入力画面
- 実績時間の入力(開始時間、終了時間、休憩時間)
- 請求フラグ管理(請求、請求中止、0円中止)
- 同乗者記録
- 報告事項記入欄
- 人員状況記録(休暇者、欠勤者、遅刻・早退者、余剰人員)
- 特記事項・申し送り事項管理
- 日報データの修正履歴管理
- 過去日報データの検索・参照機能
3.3.3 勤怠情報自動計算機能
機能要件
- 出勤日数の自動集計
- 残業時間の自動計算
- 深夜時間の自動計算
- 休日勤務の自動検出
- 移動距離の自動計算(住所ベース)
- 交通費の自動計算(距離ベース、税区分対応)
- 同乗費・中止手当の集計
- 月間稼働率の算出
- 有給休暇消化状況の管理
- Google Map API連携し移動距離を算出(自宅⇔現場間)
3.3.4 請求書自動生成機能
基本機能要件
- 日報データからの自動請求データ生成
- 請求書番号の自動採番
- 消費税の自動計算
- 請求額の自動集計(基本料金、早出通勤、残業、追加請求項目)
- 請求状態管理(生成完了、要確認、エラー)
- 請求書印刷・PDF出力
- 請求明細書生成
- 入金管理機能
拡張機能要件
🏗️ 工事番号ベース管理機能
- 各請求データに工事番号を必須で紐付け
- 工事番号による請求データの一元管理
- 工事完了時の最終請求確認機能
📄 3種類の請求書出力機能
| 種類 | 概要 | 特徴 |
|---|---|---|
| 1. 企業別請求書(月次集計) | 顧客単位での月次請求額集計 | 複数工事の合算表示、前月比較機能 |
| 2. 工事番号別請求書(工事単位) | 工事番号単位での請求書発行 | 工事期間全体の請求額表示、工事進捗率との連動 |
| 3. 工事番号内明細書(日別・隊員別詳細) | 工事内の日別作業実績詳細 | 隊員別の作業時間・請求額明細、特記事項・申し送り事項の記載 |
🔍 請求書追跡機能
- 工事番号による請求状況検索
- 請求書発行履歴の管理
- 入金状況の追跡管理
📝 請求書履歴管理
- 修正・再発行履歴の記録
- 修正理由の管理
- 承認フローの実装
3.4 レポート・出力機能
📅 週間予定表出力
- 隊員別週間シフト表
- 現場別配置表
- 余剰人数・稼働人数サマリー
- エリア別出動計画
📝 日報出力
- 日次業務報告書
- 現場別日報
- 隊員別勤務実績
- 人員状況一覧
⏰ 勤怠集計レポート
- 月間勤務実績表
- 距離数・交通費集計表
- 同乗費・中止手当集計表
- 隊員別勤怠サマリー
- 連続勤務・過剰勤務アラートレポート
💰 請求書発行
- 請求書(顧客別)
- 請求明細書(現場別)
- 現場別明細データ
- 請求一覧表
- 入金予定管理表
📊 ダッシュボード表示
- 売上情報(当日、今週、今月)
- 稼働率情報(当日隊員数、在籍者数、休暇者数)
- KPI表示(請求総額、配置人数、取引先数、中止率、平均単価)
- 隊員出勤状況
- 勤務時間分布グラフ
- 前月・前年比較
- 当月の方がプラスの場合、ニコちゃんマークの表示
3.4.6 給与計算一覧表出力
機能要件
- 月次給与計算に必要な全データを統合した一覧表
- 隊員別の勤務実績・手当・控除項目の集計
- 給与計算ソフトへのインポート対応形式での出力
- エラーチェック機能(計算不整合の検出)
- CSV形式での出力機能
- 給与計算担当者向けのサマリー表示
出力項目(フォーマット詳細は別途提供)
| カテゴリ | 詳細項目 |
|---|---|
| 基本給与計算データ | 隊員ID、氏名、所属、雇用区分、基本給、職務手当、資格手当、出勤日数、欠勤日数、有給取得日数 |
| 各種手当計算データ | 残業手当、深夜手当、休日手当、交通費、同乗費、遠隔地手当、特別手当、危険手当 |
| 控除項目データ | 健康保険料、厚生年金保険料、雇用保険料、所得税、住民税、その他控除(組合費、積立金等) |
| 勤怠集計データ | 総労働時間、残業時間、深夜時間、休日労働時間、有給取得時間、遅刻・早退時間、欠勤時間 |
エラーチェック機能
- 勤怠時間の整合性チェック
- 手当計算の妥当性チェック
- マスタデータとの整合性確認
- 前月データとの差異分析
3.5 データ検証・警告機能
3.5.1 シフト過多警告
- 連続5日以上勤務の警告表示
- 週間出動回数の条件付き書式(週5回以上:赤、週4回:黄、週3回以下:青)
- 過剰勤務者のハイライト表示
- 高齢者への配慮(後期高齢者の勤務制限)
3.5.2 請求書エラーチェック
- 時間外勤務の適正計算確認
- 中止料金の適正計算確認
- 請求情報の重複チェック
- 工事番号の整合性チェック
- 請求漏れ・重複請求の検出
4. 技術要件
4.1 開発環境・言語
Excel 2019 Business + VBA連携
| 項目 | 仕様 |
|---|---|
| 対象環境 | Microsoft Excel 2019 Business版 |
| 開発言語 | VBA(Visual Basic for Applications) |
| メリット | 現状のExcelファイル構造を活かせる、導入コスト低 |
| デメリット | 大規模データ処理に限界あり、同時編集制限 |
4.2 データベース機能実装方式
データ永続化方式
- 主データ:Excelワークシート上での管理
- 履歴データ:CSVファイルでの外部保存
- アーカイブデータ:年度別フォルダでの管理
データ操作機能
- VBAによるCRUD操作の実装
- インデックス機能による高速検索
- データバリデーション機能
- 自動バックアップ機能(日次・週次)
既存マスタとの連携方法
- 現行Excelファイルからのデータ移行機能
- マスタデータの双方向同期機能
- 既存ファイル形式との互換性維持
4.3 データバックアップ・復旧方法
バックアップ方式
- 自動バックアップ:毎日終業時に自動実行
- 手動バックアップ:任意のタイミングで実行可能
- 世代管理:過去30日分のバックアップを保持
復旧方法
- ポイントインタイム復旧機能
- 選択的データ復旧機能
- 災害復旧手順書の整備
5. 非機能要件
⚡ パフォーマンス要件
- 画面遷移:3秒以内
- データ保存:2秒以内
- レポート生成:5秒以内(標準レポート)
- 大量データ処理:1万件以下のデータで10秒以内
🔧 保守性要件
- マスタデータのメンテナンス機能
- データ修正機能
- システムログ機能
- エラー通知機能
- 設定ファイルによるパラメータ管理
- モジュール化による保守性向上
👥 ユーザビリティ要件
- 直感的なUI/UX設計
- エクセルライクな操作性
- ヘルプ機能
- エラーメッセージの明確化
- 入力補助機能(予測変換等)
- 社内に専任のIT担当者がいないことを前提とした保守性
6. テスト要件
🔬 単体テスト
- 各機能モジュールのテスト
- 入力値検証テスト
- 出力値検証テスト
マスタデバッグテスト項目
- データ整合性チェック
- 必須項目検証
- 重複データ検出
- 関連データの参照整合性
🔗 結合テスト
- モジュール間連携テスト
- データフローテスト
- 例外処理テスト
データベース機能テスト
- データ永続化テスト
- 履歴管理機能テスト
- 検索性能テスト
- バックアップ・復旧テスト
✅ ユーザー受け入れテスト
- 実際の業務シナリオに基づくテスト
- エンドユーザーによる操作テスト
- 既存Excelとの出力結果比較テスト
既存データ移行テスト
- 現行Excelファイルからの移行テスト
- データ整合性確認テスト
- 移行後の業務フロー確認テスト
📈 負荷テスト
- 複数ユーザーによる同時アクセステスト
- 大量データ処理テスト
- 長時間運用テスト
7. 成果物・デリバラブル
7.1 システム成果物
💻 メインシステムファイル
統合管理システム.xlsm(メインファイル)マスタ管理.xlsm(隊員・現場・顧客マスタ)データベース管理.xlsm(履歴・アーカイブ管理)
⚙️ 設定・パラメータファイル
システム設定.xlsx(各種設定値)ユーザー権限設定.xlsx(アクセス制御)
7.2 ドキュメント成果物
📘 技術ドキュメント
- システム設計書
- データベース設計書
- インターフェース仕様書
- テスト仕様書・結果報告書
📗 運用ドキュメント
- 操作マニュアル(管理者用・利用者用)
- 運用手順書
- トラブルシューティングガイド
- データ移行手順書
7.3 保守・サポート
🚀 移行支援
- 既存データの移行作業
- 初期設定・環境構築
- 操作研修の実施
🔧 保守対応
- 稼働後3ヶ月間の技術サポート
- 軽微な仕様変更対応
- 不具合修正対応
付録: 画面・帳票イメージ
要件定義書には、以下の画面イメージを添付することを推奨します:
📊 システム構成図
- システム全体構成図
- データフロー図
- 画面遷移図
🖥️ ワイヤーフレーム
- ダッシュボード画面
- 週間予定表画面
- 日報入力画面
- 勤怠集計画面
- 請求書管理画面
- 履歴参照画面
- 給与計算一覧出力画面
📄 帳票サンプル
- 請求書フォーマット(3種類)
- 日報フォーマット
- 勤怠集計表
- 給与計算一覧表フォーマット
📋 要件定義書 完了
エンジニア様との円滑なプロジェクト進行をお祈りしております