BMS Design Basics

1. Technical Specifications​1

  • Programming Language: Java 11

  • Framework: Spring Boot 3

  • Database: H2 Database

  • Architecture: Model-View-Controller (MVC)

  • Version Control: Git

  • Library Management: Maven

2. Design Overview

2.1 User Management Module​1

This module will handle all user-related operations. It will have the following functionalities:

  • User registration, login, and logout.

  • User authentication during login.

  • User profile management, where users can update their profile information.

  • User roles, which will include admin and regular users with different access levels.

2.2 Book Management Module​1

This module will be responsible for the CRUD operations on books. It will include the following functionalities:

  • Create, Read, Update, and Delete operations for books.

  • Each book's information includes title, author, genre, publication date, publisher, and ISBN.

  • Search functionality to allow users to search for books based on title, author, genre, and ISBN.

2.3 Admin Dashboard Module​1

This module will be accessible only to admin users. It will include the following functionalities:

  • User management, where admin can perform CRUD operations on users.

  • System usage statistics, where admin can view the number of registered users and the number of books in the system.

2.4 Complex Logic Module​1

This module will handle complex operations like recommendations and validation:

  • Recommendations functionality, which will suggest books to users based on their reading history and preferences.

  • Validation for all inputs in the system. For example, the ISBN input field should validate that the input matches the ISBN format.

3. Non-functional Requirements​1

3.1 Performance

  • The system will be designed to handle a large number of simultaneous users.

  • The system will aim to respond to user actions within 2 seconds.

3.2 Security

  • The system will implement secure authentication and authorization mechanisms.

  • User data will be stored securely with passwords hashed and personal data encrypted.

3.3 Usability

  • The system will aim to be user-friendly and easy to use.

  • The system will be accessible from any device with a web browser.

3.4 Maintainability

  • The system will follow good coding practices to ensure ease of maintenance.

  • The system will be built with modular components to ensure that changes in one part do not negatively affect other parts.

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