業務アプリ開発・現場の知恵

プログラミング初学者や未経験者向けの「業務アプリ開発現場はどうやってる?」を疑似書店業務管理アプリの開発を通じて体験しましょう。

書店アプリの要件

システムの名称

  • 「Bookmin」とする。

インフラ要件

    • VPSベンダーは株式会社○○○○とし、✖︎✖︎✖︎✖︎✖︎コースを契約する。
    • サーバーはデータベースサーバーとWebサーバーの2台を用意する。
    • サーバへのアクセスにはVPNを使用する。
    • 店舗用のVPN ルーター(△△△△△△)を購入する。
    • POSレジ用に2台を追加購入する。
  • レシートプリンターを1台追加購入する。

アプリ要件

    • ブラウザはChromeのみを対象とする。
    • データベースはPostgreSQL(Ver 9.4)を使用する。
    • 開発言語はPHP(Ver 5.6)とする(講座ではJava版も構築する)。
      • バーコード生成にBarcode2.phpを使用する。
      • PDF生成にmPDF(Ver 5.7)を使用する。
    • CSSフレームワークにBootstrap(Ver 3.3)を使用する。
    • Javascript APIJQuery(Ver 2)を使用する。
  • 書籍情報はAWSから取得する
    • 書籍の在庫及び入庫登録時に書籍のバーコードでAWSから取得し書籍マスタに登録する。
  • POSレジはバーコード認証とする
    • パスワード入力は不要とする。
  • 管理画面はバーコード及びパスワードで認証する
  • 管理画面パスワードはスタッフ本人のみがわかるようにする
  • スタッフの権限による機能制限を設ける
    • 権限は「管理者、管理補佐、POSレジ」の3つとする。
    • 管理者はすべての機能を利用可とする。
    • 管理補佐はPOSレジと、在庫管理のみ利用可とする。
    • POSレジはPOSレジのみ利用可とする。
    • ただし、権限による機能制御は編集可とする。
    • 機能制御はメニュー単位とする。

「Bookmin」の機能概要

  • POSレジ
    • 売上登録
      • 書籍のバーコードを読み取り注文リストを画面に表示する
        • もし、書籍マスタデータが存在しない場合は、AWSから書籍情報を所得し、書籍マスタデータに追加登録する。
      • 商品の合計金額、受取金額、お釣りと自動計算する。
      • レシートを印刷する。
      • レシートに注文番号バーコードを印刷できるようにする。
    • 認証
      • スタッフカードのバーコードを読み取り認証とする。
    • 返品登録
      • お客様からの返品に対応できるようにする。
      • レシートの注文番号バーコードから明細を表示し、そこから返品処理をできるようにする。
  • 管理システム
    • 認証
      • スタッフカードのバーコード及びパスワードでログインする。
    • 在庫管理
      • 在庫・入庫登録
        • 書籍のバーコードから登録できるようにする。
        • 書籍情報はバーコードを読み込んだ際にAWSから取得する。
        • 書籍マスタ情報に書籍情報がない場合は、追加登録する。
        • 同じ書籍のバーコードを読み込んだ際は、在庫数をカウントアップする。
      • 在庫検索
        • 各種条件から書籍情報と在庫情報を一覧表示する。
      • 受払一覧
        • 受払情報を指定条件で一覧表示する。
      • 返品候補一覧
        • 返品日を指定し、その日に返品する書籍候補を一覧表示する。
        • 返品一覧のPDFを生成する。
      • 発注データ生成
        • 在庫データを検索し、そこから発注データを作成する。
        • 発注一覧のPDFを生成する。
    • 売上管理
      • 日次・月次売上
        • 指定日の売上合計と書籍分類ごとの売上金額と冊数の一覧を表示する。
      • 日次・月次売上明細
        • 指定日の書籍ごとの売上金額と冊数の一覧を表示する。
      • 指定条件による売上分析
    • マスタデータの編集
      • スタッフ
        • 認証用のバーコード画像を生成する。
        • 管理システムの認証パスワードはスタッフの追加登録時にメールでパスワード変更URLを通知し、そこでのみ設定できるうにする。
        • パスワードの再発行をできるようにする。
      • 書籍
        • 在庫・入庫登録時にAWSから取得し生成するのでここでは、参照のみ。
      • アプリケーションメニュー
        • メニューごとのアクセス権限を設定できるようにする。
      • 消費税
        • 消費税を追加登録できるようにする。ただし軽減税率対応は不要とする。
      • 取次
        • 取次ごとの粗利率を設定できるようにする。
        • 粗利率は変更されることがあるものとする。
      • 返品管理
        • 書籍分類ごとの返品ルールを設定できるようにする。
  • その他
    • スタッフの認証履歴、作業履歴を記録する。