0% found this document useful (0 votes)
102 views3 pages

Viva

The document provides a set of viva questions and answer suggestions for a Java Bank Management System project, covering topics such as project objectives, database connectivity with JDBC, modules and functionalities, error handling, code organization, security, and potential improvements. It emphasizes the use of Java and Oracle Database for simulating banking operations and highlights key features like account management and transaction handling. Additionally, it discusses security concerns and future enhancements that could be made to the system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
102 views3 pages

Viva

The document provides a set of viva questions and answer suggestions for a Java Bank Management System project, covering topics such as project objectives, database connectivity with JDBC, modules and functionalities, error handling, code organization, security, and potential improvements. It emphasizes the use of Java and Oracle Database for simulating banking operations and highlights key features like account management and transaction handling. Additionally, it discusses security concerns and future enhancements that could be made to the system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Absolutely!

Here is a set of viva questions (with answer suggestions) tailored to your Java
Bank Management System project, organized by topic:

🔹 General Project Understanding

1. What is the objective of your project?


To simulate basic banking operations like account creation, deposit, withdrawal,
transfer, and data management using Java and Oracle Database.
2. What language and technologies did you use in this project?
Java for application logic and Oracle DB for data storage using JDBC for database
connectivity.
3. Why did you choose Java for this project?
Java is object-oriented, platform-independent, and has strong support for database
connectivity through JDBC.

🔹 Database & JDBC

4. What is JDBC and how does it work?


JDBC (Java Database Connectivity) is an API that allows Java applications to interact
with databases using SQL.
5. How do you establish a connection to the database in your project?
By loading the Oracle driver using Class.forName() and calling
DriverManager.getConnection() with the database URL, username, and password.
6. What is a PreparedStatement and why is it better than a Statement?
PreparedStatement is precompiled and helps prevent SQL injection. It's more secure
and efficient than Statement.
7. Explain the structure of your bank table. What columns does it have?
(Answer should describe fields like ACC_NO, NAME, EMAIL, PASSWORD, BALANCE, etc.)

🔹 Modules & Functionality

8. What are the main modules in your project?


Login system, Account creation, Deletion, Deposit, Withdrawal, Transfer, Search, and
Update.
9. How does the login system differentiate between manager and user?
By checking the command-line argument (args[0]). If it's "manager", manager options
are shown; else "user".
10. How do you ensure that the withdrawal does not bring the balance below ₹500?
A check is done before updating the balance to ensure balance - amount >= 500.
11. What happens during a fund transfer operation?
It checks balance, deducts from sender, adds to receiver, and updates both accounts in
the database.

🔹 Error Handling & Validation

12. How do you handle errors like invalid account numbers or failed logins?
By using ResultSet.next() to confirm the record exists. If it doesn't, an error message
is shown.
13. What validations have you implemented in your program?
Minimum balance for withdrawal, account existence check, login credentials check,
confirmation for deletion.

🔹 Code & Design

14. How is your code organized across classes?


Each class handles specific tasks: BankMain for logic control, BankOperations for
admin functions, UserOperations for customer tasks, etc.
15. What is the role of the Branch class?
To view all account records, search by account number, and update customer details.
16. What are the access modifiers used in your program and why?
Mostly public methods for cross-class access and private for internal helper functions.

🔹 Security & Improvements

17. Is your system secure? If not, what can be improved?


Currently uses plain-text passwords and Statement. Can be improved with hashed
passwords and full use of PreparedStatement.
18. What would you add if you had more time?
Features like transaction history, interest calculation, mobile/email alerts, GUI, or a
web-based front-end.
19. How would you handle multiple users or concurrency?
By using synchronized operations or integrating with multi-threaded JDBC handling.
20. Can this system be extended to an actual bank? Why or why not?
Not directly—needs better security, error handling, and concurrency support for real-
world deployment.
Would you like a PDF or Word file containing these questions and answers formatted neatly for
your viva prep?

You might also like