BMS 基本設計書

はじめに

本資料は下記を元に作成しています。
BMS 要件定義|kitakitune (note.com)

1. システム概要

BMSは、一般の読者が自分の書籍コレクションを管理するためのシステムです。システムはJava 11、Spring Boot 3、H2 Databaseを使用して開発され、MVCアーキテクチャを採用します。バージョン管理にはgitを、ライブラリ管理にはmavenを使用します。

2. 機能要件

BMSは以下の主要な機能を提供します:

2.1 利用者管理機能

利用者は自身のアカウントでログインできます。アカウントはメールアドレスとパスワードで識別されます。

2.2 書籍管理機能

利用者は自身の書籍コレクションの情報を登録、更新、削除できます。書籍情報には、書籍名、著者、ジャンル、出版日、ISBN等が含まれます。

2.3 書籍の検索機能

利用者は書籍名、著者、ジャンル等のキーワードで書籍を検索できます。

2.4 レビュー投稿機能

利用者は自身が読んだ書籍に対するレビューを投稿できます。投稿には評価(星5つまで)とテキストレビューが含まれます。

2.5 高評価書籍の推薦表示機能

利用者は自分が評価した書籍のうち、評価が高いものを推薦として表示されます。

2.6 ジャンルごとの書籍数量集計機能

利用者は自身のコレクション内の書籍をジャンルごとに集計するレポートを作成できます。

3. 非機能要件

システムはログイン機能を提供し、利用者の識別を行いますが、特別なセキュリティやプライバシーの要件はありません。また、システムは他のシステムとのインテグレーションを必要としません【6†source】。

以上が基本設計の大まかな内容です。ここから具体的な設計を行うために、各機能の詳細や、利用者インターフェース、データモデルなどを考えていく必要があります。

以下に一部の具体的な設計を提案します。

4. 詳細設計

4.1 ユーザー管理機能

ユーザーは、メールアドレスとパスワードを使ってアカウントを作成し、ログインできます。パスワードはハッシュ化されてデータベースに保存されます。

4.2 書籍管理機能

書籍情報の登録、更新、削除の機能は、ログインしたユーザーのみが利用できます。書籍情報には以下が含まれます:

  • 書籍名

  • 著者

  • ジャンル

  • 出版日

  • ISBN

4.3 書籍の検索機能

ユーザーは書籍名、著者、ジャンル等のキーワードで書籍を検索できます。検索結果は一覧形式で表示されます。

4.4 レビュー投稿機能

ユーザーは自身が読んだ書籍に対するレビューを投稿できます。レビューには評価(星5つまで)とテキストレビューが含まれます。レビューは書籍の詳細ページに表示されます。

4.5 高評価書籍の推薦表示機能

ユーザーが評価した書籍のうち、評価が高いものが推薦としてユーザーのダッシュボードに表示されます。

4.6 ジャンルごとの書籍数量集計機能

ユーザーは自身のコレクション内の書籍をジャンルごとに集計するレポートを作成できます。集計結果はグラフ形式で表示されます。

5. データモデル

システムは以下の主要なエンティティを持ちます:

  • User: ユーザー情報を表す。フィールドとしてメール、パスワードを持つ。

  • Book: 書籍情報を表す。フィールドとして書籍名、著者、ジャンル、出版日、ISBNを持つ。

  • Review: レビュー情報を表す。フィールドとしてユーザーID、書籍ID、評価、テキストレビューを持つ。

この記事が気に入ったらサポートをしてみませんか?