BMS Requirements Definition

1. System Requirements

1.1 Technical Specifications

  • Programming Language: Java 11

  • Framework: Spring Boot 3

  • Database: H2 Database

  • Architecture: Model-View-Controller (MVC)

  • Version Control: Git

  • Library Management: Maven

2. Functional Requirements

2.1 User Management

  • Users must be able to register, log in, and log out.

  • The system should authenticate users during login.

  • Users should be able to update their profile information.

  • User roles can include admin and regular users with different levels of access.

2.2 Book Management

  • Users should be able to perform CRUD (Create, Read, Update, Delete) operations on books.

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

  • Search functionality: Users should be able to search for books based on title, author, genre, and ISBN.

2.3 Admin Dashboard

  • Admin should be able to manage all users (CRUD operations).

  • Admin should be able to view system usage statistics, including number of registered users and number of books in the system.

2.4 Complex Logic

  • Recommendations: Based on a user's reading history and preferences, the system should be able to suggest books to the user.

  • Validation: All inputs in the system should be validated. For instance, the ISBN input field should validate that the input matches the ISBN format.

3. Non-functional Requirements

3.1 Performance

  • The system must be able to handle a large number of simultaneous users.

  • The system should respond to user actions within 2 seconds.

3.2 Security

  • The system must implement secure authentication and authorization mechanisms.

  • User data should be stored securely. Passwords must be hashed and personal data should be encrypted.

3.3 Usability

  • The system must be easy to use and have a user-friendly interface.

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

3.4 Maintainability

  • The system should be built following good coding practices to ensure ease of maintenance.

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

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