0% found this document useful (0 votes)
42 views8 pages

DVD Rental Software Project Overview

The document describes a proposed online DVD rental service called "Cyber Blockbuster." It allows users to rent DVDs without a subscription by browsing titles, requesting extensions, and customizing rental suggestions based on their preferences. The system will store movie information and allow administrative access to user data. It will use a microservices architecture with MVC design patterns and include layers for presentation, business logic, data access, and the database.

Uploaded by

Rami Raghfan
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views8 pages

DVD Rental Software Project Overview

The document describes a proposed online DVD rental service called "Cyber Blockbuster." It allows users to rent DVDs without a subscription by browsing titles, requesting extensions, and customizing rental suggestions based on their preferences. The system will store movie information and allow administrative access to user data. It will use a microservices architecture with MVC design patterns and include layers for presentation, business logic, data access, and the database.

Uploaded by

Rami Raghfan
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SDT - Second Project

Cyber Blockbuster - Online rental for DVD’s chain

Statement:

Living in a digital era where everything seems to be so manageable and easy to reach,
there seems to be a sense of nostalgia that is getting back all of those movie fanatics. This
wave of nostalgia is going to wash away the indentation made by the technology, allowing
the user to rent out some DVDs for the movies from the good old days, or even the modern
cinematic creations that have been classified as blockbusters.

Description:

The user can benefit from those services by just renting out DVDs whenever they
want, without a subscription, so this is the standard premise of the application. What
differentiates this idea from a normal blockbuster where you could’ve just go physically to
your local store and rent those movies you want to watch, there is a feature provided from
this app that separates it from a usual rental store.

Roles:

Client Admin
● to provide personal information in ● to keep the information safe from
order to deliver the product to the leaking and being published
specific location and to contact the ● to offer the assistance when
user required by the user
● to request assistance when needed
from the customer support

Services:

The system will provide the following services:

A. Allow inserting and storing (in a persistent repository) all the information about the
movies that are available and also are coming soon in the DVD format.
B. Allows the user to request extension for the period of time the rental is due. This feature
will let the staff know when the user is returning the DVD(this feature is only available for
the deluxe subscription, because the standard one has a date due settled by the website and it
can not be removed)

C. Allow to anyone from the personal staff to browse the information on the movie
preferences, accessing the history of the rental of the user. The information will be listed in
alphabetical order depending on the different criteria like, the type of genres, firstly those
which are found on the website etc. Making it easier for the user.

D. Allows the user to customize their own monthly box and the suggestions come depending
on the data introduced by them.

Business architecture:

● Business Objectives:to facilitate and optimize the process of obtaining movie content
for local cinemas, to increase efficiency and profitability for those small biusinesses
● Business Goals: The main goal of the car dealership web application is to provide an
online platform for customers to browse and rent or purchase DVDs, as well as to
manage their accounts and the services that are included within.
● Stakeholders: The stakeholders of the web application include the cinephiles, its
employees (e.g., sales staff, service technicians), local cinemas and its customers.

Requirements:

Functional Requirements:

1. Allow customers to browse the inventory of movies and view details about
each DVD, such as genre, cast, year, price, and prizes that have been won.
2. Allow customers to request the extension of the deadline where they are
supposed to hand back the DVD.
3. Permit the management of client queries and sales leads by the sales team.
4. Give access to service technicians to service appointment status updates and
viewing.

Non-functional Requirements:

1. The web application should be user-friendly and easy to navigate.


2. The web application should be responsive and work well on both desktop and
mobile devices.
3. To safeguard private client information, the online application needs to have
robust security measures.
4. The web application needs to be highly available and always reachable.
Business Processes:

● Order placement by local cinemas, Order management and negotiation by the


international retailer, Delivery tracking and fulfillment, Inventory management,
Pricing management
● Cinemas that are looking for partnership must register and be verified before placing
orders, Orders can only be placed within specified ordering periods, Orders must meet
minimum quantities and value, Payment for orders must be made before delivery,
Delivery schedules must be adhered to, Inventory levels must be maintained
● Order history and status, Inventory levels, Product information and pricing, Supplier
information
● Delivery schedules, Payment history

Information Technology Architecture:

It is divided into three main components:

❖ Hardware
- The web application will run on web servers, which are computers that host the web
application and make it available to users over the internet.
❖ Software
- The web application will require various software components in order to function,
such as operating systems, web servers, and application development frameworks.
❖ Data
- The web application will require various data sources and storage systems in order to
function, such as databases and data files.
❖ User Interface:
- web-based – allows users to subscribe, to view the catalog, see matching movies, and
allow users to extend their deadlines for returning their order
❖ Business Layer:
- a group of Java classes that carry out the application's business logic The matching
method would be carried out by this layer, and the user inputs would be verified using
Spring Bean Validation.
❖ Security:
- An authentication and authorization component such as Spring Security, that ensures
the user's identity and allows the system to access only the authorized resources.
● A front-end web application for renting DVDs to place orders and access
information such as pricing and inventory levels. This will be built using HTML,
CSS, and JavaScript.
● A back-end system to handle the processing of orders, inventory management, and
pricing. This will be built using Spring and would interact with a database to store
and retrieve data.
● A database to store and manage data related to orders, inventory, pricing, suppliers,
and fast-food restaurants. This could be built using MySQL.
Application Architecture:

● Microservices architecture

The term "microservices architecture" refers to an architectural design approach


for creating applications. Using microservices, a huge program can be divided into smaller,
independent components, each with its own set of responsibilities. A microservices-based
application might use numerous internal microservices to assemble its answer in order to
fulfill a single user request.

● Model-View-Controller

Since this software's solution aims to display numerous user interfaces depicting
different portions of application data, the architectural pattern known as model view
controller can be applied in this situation. The repository layer, which manages data
independently of the user interface in Spring boot, serves as the model. The thymeleaf
templates and controllers that manage requests and fill templates make up the view portion of
the application.

The services that contain the business logic, in turn, serve as a representation of the
actual controller portion.
Front Controller pattern: With this pattern, all incoming requests are routed through
a single point of control, like a single servlet. The request can then be assigned by the front
controller to the proper controller or view.

Data Access Object Pattern: This pattern is designed to divide the application's
business logic from its data access logic.

component diagram:

deployment diagram:
● Monolithic architecture

a. Layered

In a DVD Online Rental system, the layered pattern could be used to organize the
architecture into several layers such as a presentation/web-service layer, a business logic
layer, a data access layer, and a database layer. The user interface would be handled by the
presentation layer, the matching algorithm and input validation by the business logic layer,
and database access and administration by the data access layer.

b. Event-driven architecture

Message queues are used in this design pattern to manage communication between
various system components. EDA could be utilized in the DVD Online Rental system to
process vast amounts of data input from the user, deliver notifications and updates about new
movie offers or subscription opportunities .

Use Case Diagram:


Domain Model:

Common questions

Powered by AI

Stakeholders in the online DVD rental ecosystem—including cinephiles, employees, and local cinemas—play vital roles with distinct challenges. Cinephiles, as primary users, seek a balance between nostalgic content and modern accessibility, necessitating a platform that offers a diverse selection with ease of use . Employees, responsible for inventory and customer support, face operational challenges in maintaining accurate data and providing timely assistance to users . Local cinemas, interested in partnerships, must navigate the demands of order management and fulfillment, requiring efficient coordination with the service to enhance their offerings while overcoming logistical hurdles . Successfully addressing these challenges ensures stakeholder satisfaction and system sustainability.

Event-driven architecture (EDA) benefits the DVD rental service by adeptly handling asynchronous interactions through message queues, which allows the system to process user inputs, like rental requests or profile updates, independently from other events . This results in a responsive and scalable system capable of managing high volumes of interactions without bottlenecks. Moreover, EDA facilitates real-time notifications about new movie releases or subscription opportunities, thereby enhancing user engagement and satisfaction through timely and relevant updates. The loose coupling of components under EDA ensures that each service can operate independently, thus enhancing fault tolerance and system reliability .

Critical security requirements include robust security measures to protect client data and ensure user identity verification through authentication and authorization components like Spring Security . These security protocols prevent unauthorized access and potential data leaks, thereby maintaining user trust and compliance with data protection regulations. Additionally, having a highly available and responsive application safeguards against downtime, ensuring users have continuous access to the service, thus enhancing user satisfaction and service reliability .

The proposed DVD rental service capitalizes on a wave of nostalgia among movie enthusiasts while integrating modern convenience by allowing users to rent DVDs without a subscription, demonstrating adaptability to current digital preferences . Key differentiating features include the ability to request extensions on DVD return periods for deluxe subscribers, and offering personalized monthly boxes with movie suggestions based on user data, which traditional rental stores lacked . These elements showcase a hybrid model that blends classic rental practices with technological enhancements, thus maintaining relevance in the digital era.

The business layer in the DVD rental system's application architecture is critical as it encapsulates the core business logic of the application, ensuring that user inputs are processed accurately and services are delivered effectively . It involves executing the business rules, validating inputs, and determining the appropriate actions based on user interactions. This layer acts as a mediator between the user-facing interface and the data persistence components, handling operations such as processing rental requests or managing inventory updates . By centralizing business logic, the business layer ensures consistency and integrity across the application's functionalities, making it vital for maintaining operational coherence and delivering high-quality services.

User-friendliness is crucial as it directly influences user satisfaction and retention. A web application that is easy to navigate encourages users to explore services, thus increasing engagement levels. If the application is intuitive and provides a seamless experience across different devices, users are likely to spend more time on the platform and frequently use its services . Conversely, a complex or cumbersome interface could drive potential users away, reducing engagement and impacting the overall success of the service. Hence, prioritizing user-friendliness is vital for building a loyal user base and achieving long-term service goals.

Microservices architecture enhances operational efficiency by breaking down the application into smaller, independent components, each handling specific tasks, which offers flexibility, scalability, and easier maintenance . This contrasts with monolithic architecture, where all components are interdependent, potentially complicating updates and scaling processes due to tight coupling. In the context of a DVD rental service, microservices allow for concurrent processing of user requests, such as browsing, renting, or extending DVD rentals, while ensuring that individual components, like inventory management or user authentication, can be optimized or scaled independently . This typically leads to improved performance and a more resilient system.

The IT architecture of the DVD rental service combines dedicated hardware and specific software components to optimize performance and accessibility. Web servers host the application, enabling users to access services via the internet, while operating systems, web servers, and development frameworks ensure smooth application operation . The use of databases for data storage and retrieval enhances the system's ability to manage vast amounts of information related to orders, inventory, and user preferences efficiently. Together, these components provide a reliable infrastructure that supports seamless access, ensuring users can interact with the platform effortlessly across various devices .

The data access object (DAO) pattern provides an abstraction layer between the business logic and data handling, allowing each to evolve independently without affecting the other. This separation enables the business logic to focus on processing user requests and making business decisions, while the DAO pattern manages the interactions with the database, handling data retrieval and manipulation tasks . In the context of a DVD rental service, this design pattern streamlines updates and testing processes by compartmentalizing functionalities, facilitating efficient maintenance and enhanced overall system reliability .

The MVC architectural pattern separates different concerns within the application, thereby enhancing user interaction and data management. The Model component deals with data handling, allowing data to be managed independently of the user interface; the View component displays the data through user interfaces; and the Controller manages user inputs and updates the View. This separation simplifies the development process, allows for more flexible user interface updates, and facilitates easier maintenance and testing. By organizing the application in this way, the DVD rental service ensures efficient processing of user requests, effective display of content, and streamlined data access and updates, improving overall user interaction and system performance .

You might also like