0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ASP.NET Core Web API + React + TypeScript(vite)】書籍管理システム設計 ② 要件定義書

0
Last updated at Posted at 2026-07-27

本記事は 書籍管理システム設計(全4回)シリーズの ② です。

📚 シリーズ全記事(全4回)

  1. 【ASP.NET Core Web API + React + TypeScript(vite)】書籍管理システム設計 ① 環境構築手順書
  2. 【ASP.NET Core Web API + React + TypeScript(vite)】書籍管理システム設計 ② 要件定義書(この記事)
  3. 【ASP.NET Core Web API + React + TypeScript(vite)】書籍管理システム設計 ③ 基本設計書(外部設計)
  4. 【ASP.NET Core Web API + React + TypeScript(vite)】書籍管理システム設計 ④ 詳細設計書(内部設計)

項目 内容
文書名 要件定義書
システム名 書籍管理システム(Book Manager)
版数 1.0
作成日 2026-07-24

改訂履歴

日付 改訂内容 作成者
1.0 2026-07-24 初版作成(実装済みシステムに基づく)

1. はじめに

1.1 本書の目的

本書は「書籍管理システム」の要件を定義し、開発関係者間で合意すべき機能要件・非機能要件・制約条件を明確化することを目的とする。

1.2 対象読者

  • 発注者/利用者
  • 設計・開発担当者
  • 保守担当者

1.3 システムの位置づけ

書籍の蔵書情報を一元管理し、登録・編集・削除および貸出状態の管理を行う小規模な Web アプリケーションである。学習・検証用途を主目的とした最小構成(MVP)とする。

1.4 用語定義

用語 説明
書籍 管理対象となる本の情報(タイトル・著者・出版年・貸出状態)
CRUD Create(登録)/Read(参照)/Update(更新)/Delete(削除)の総称
貸出状態 書籍が貸出中か在庫ありかを表すフラグ(IsBorrowed)
API バックエンドが提供する REST 形式の HTTP インターフェース
SPA Single Page Application。単一ページで動作するフロントエンド構成
シードデータ システム初期状態で投入される初期データ

2. システム概要

2.1 背景・目的

蔵書情報を紙や表計算ソフトで管理する場合、検索性・一貫性・同時更新に課題がある。本システムは書籍情報をデータベースで一元管理し、ブラウザから簡便に登録・編集・削除・貸出管理を行えるようにする。

2.2 システム化の範囲

本システムは以下を対象とする。

  • 書籍情報の登録・一覧参照・編集・削除
  • 書籍の貸出/返却状態の切替
  • 初期データ(サンプル書籍)の提供

2.3 想定利用者・利用環境

項目 内容
想定利用者 蔵書を管理する担当者(単一利用者を想定)
利用端末 PC(モダンブラウザ)
想定同時利用数 少数(開発・検証レベル)
稼働環境 開発用ローカル環境(Linux / WSL2)

3. 業務要件

3.1 業務の流れ

書籍を入手 → 登録 → (必要に応じ)情報を編集 → 貸出 / 返却で状態更新 → 廃棄時は削除

3.2 管理対象データ(書籍)

項目 説明
タイトル 書籍の題名(必須) 吾輩は猫である
著者 著者名 夏目漱石
出版年 出版された西暦年 1905
貸出状態 貸出中/在庫ありの区分 在庫あり

4. 機能要件

4.1 機能一覧

ID 機能名 概要 優先度
FR-01 書籍一覧表示 登録済み書籍を一覧で表示する
FR-02 書籍登録 タイトル・著者・出版年を指定して新規登録する
FR-03 書籍編集 既存書籍のタイトル・著者・出版年を更新する
FR-04 書籍削除 指定した書籍を削除する
FR-05 貸出/返却切替 書籍の貸出状態を切り替える
FR-06 初期データ提供 初期状態でサンプル書籍5件を表示する

4.2 機能詳細

FR-01 書籍一覧表示

  • 登録済みの全書籍を一覧表示する。
  • 表示項目:タイトル、著者、出版年、貸出状態、操作(編集・削除)。
  • データが0件の場合はその旨を案内する。

FR-02 書籍登録

  • タイトル・著者・出版年を入力して登録する。
  • タイトルは必須とし、未入力時は登録不可とする。
  • 出版年が未入力の場合は当年を既定値とする。
  • 登録直後の貸出状態は「在庫あり」とする。
  • 登録後は一覧を最新化する。

FR-03 書籍編集

  • 一覧上で対象書籍を編集モードにし、タイトル・著者・出版年を更新する。
  • 「保存」で確定、「取消」で編集を破棄する。
  • 更新後は一覧を最新化する。

FR-04 書籍削除

  • 一覧上で対象書籍を削除する。
  • 削除後は一覧を最新化する。

FR-05 貸出/返却切替

  • 一覧上の状態バッジをクリックすることで、貸出中⇔在庫ありを切り替える。

FR-06 初期データ提供

  • 初回のデータベース構築時にサンプル書籍5件を自動投入する(うち2件は貸出中)。

5. 非機能要件

分類 ID 要件
性能 NFR-01 一覧取得・登録・更新・削除は数百件規模で体感遅延なく応答すること
可用性 NFR-02 開発用途のため常時稼働は求めない。手動起動で動作すること
セキュリティ NFR-03 本バージョンでは認証・認可を対象外とする(ローカル利用前提)
拡張性 NFR-04 貸出履歴・検索・認証などの機能追加が容易な構成であること
保守性 NFR-05 バックエンド/フロントエンドを分離し、責務が明確であること
データ整合性 NFR-06 データはリレーショナルDBで永続化し、スキーマ変更はマイグレーションで管理すること
移植性 NFR-07 SQLite を用い、追加のDBサーバ構築なしで動作すること
国際化 NFR-08 日本語(マルチバイト文字)を正しく保存・表示できること

6. 前提条件・制約条件

分類 内容
前提 .NET 10 SDK、Node.js(v24 系)、npm がインストール済みであること
前提 フロントエンドとバックエンドは同一ホスト上で起動すること
制約 通信は開発用に HTTP とし、Vite プロキシ経由でアクセスする(HTTPS証明書設定・CORS設定を不要化)
制約 データベースは SQLite(単一ファイル books.db)とする
制約 単一利用者利用を前提とし、排他制御・同時更新競合の考慮は最小限とする

7. 対象範囲外(スコープ外)

以下は本バージョンの対象外とする。

  • 利用者認証・権限管理
  • 貸出履歴・返却期限管理
  • 書籍検索・絞り込み・ページング
  • 入力値の高度なバリデーション(重複チェック等)
  • 本番環境向けのデプロイ・HTTPS・スケーリング

8. 今後の拡張候補(優先度順)

  1. 更新(編集)機能のバリデーション強化(DataAnnotations 等)
  2. 貸出/返却ロジックの拡充(貸出履歴テーブル、貸出者・返却期限)
  3. 検索・ページング(クエリパラメータ対応)
  4. 状態管理ライブラリ(TanStack Query 等)によるキャッシュ・再取得
  5. 認証(JWT または ASP.NET Core Identity)
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?