0% found this document useful (0 votes)
3 views

Book Report

Uploaded by

ashwinramesh2007
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)
3 views

Book Report

Uploaded by

ashwinramesh2007
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
You are on page 1/ 21

GT ALOHA VIDHYA MANDIR

Neelankarai, Chennai – 600 115

CLASS - XII

CBSE

COMPUTER SCIENCE PROJECT


2023 – 2024

NAME :
................................................................................

REG NO. :
................................................................................
BONAFIDE CERTIFICATE

Certified that this is a bonafide project work done by


...........................................................
RegNo.............................................of Class XII, GT ALOHA VIDHYA
MANDIR, NEELANKARAI, CHENNAI- 600 115, during the year 2023 –
2024.

Principal Teacher – In
charge

Submitted for AISSCE Practical Examination held


on.............................in ___________at GT ALOHA VIDHYA MANDIR,

CHENNAI – 600 115.

INTERNAL EXAMINER EXTERNAL


EXAMINER

SCHOOL SEAL

1
I, ………………………………………………………………..of Std XII ,
express my gratitude to our Principal, Dr.J.Sundar for his
continuoussupport and encouragement.

I express my sincere thanks to my COMPUTER SCIENCE


TEACHER, Mr.R.Magesh for helping me to complete
this project successfully.

2
Computer Science Project
ATM Management
System

Done By:-

K.Dakshin, Ashwin Ramesh, Guna M, S.Karthikeyan

3
Index

S.No Sub-Topic Page.


no
1 Synopsis 2-5
2 Software Used 6-7
3 Algorithm 8-13
4 Source Code 14-16
5 Output 17-18
6 Bibliography 19

4
Synopsis
The ATM Management System in Python is designed to
facilitate efficient and secure management of Automated
Teller Machines (ATMs). This program aims to provide a
user-friendly interface for both customers and
administrators, ensuring smooth transactions and
effective management of the ATM network.

Key Features:

1. **User Authentication:**

- Users (customers) will be required to authenticate


themselves using a unique PIN (Personal Identification
Number).

- Strong encryption methods will be employed to


secure sensitive information.

2. **Account Management:**

- Users can check their account balance, view


transaction history, and update personal information.

- Account data will be securely stored and managed to


ensure data integrity.

5
3. **Transaction Processing:**

- The system will support various transactions,


including withdrawals, deposits, and fund transfers
between accounts.

- Real-time transaction processing will be


implemented to provide prompt updates on account
balances.

4. **Admin Controls:**

- Administrators will have access to a separate


interface with additional functionalities.

- Admins can monitor the overall system health,


manage user accounts, and generate reports on
transaction history.

5. **Security Measures:**

- The system will incorporate security features such as


session timeouts, account lockouts for multiple failed
login attempts, and encryption of sensitive data during
communication.

6
6. **Transaction Logs:**

- Detailed logs of all transactions will be maintained


for auditing and troubleshooting purposes.

- Logs will include timestamps, transaction types, and


account details for reference.

7. **Error Handling:**

- The program will be equipped with robust error-


handling mechanisms to gracefully manage unexpected
situations and ensure the stability of the system.

8. **User Interface:**

- The user interface will be designed to be intuitive


and user-friendly, promoting a positive user experience.

- Menus and prompts will guide users through the


various functionalities of the ATM system.

9. Database Integration:

- A secure and reliable database will be used to store


and retrieve user account details, transaction history,
and other relevant information.

7
10. Code Documentation and Comments:

- The Python code will be thoroughly documented,


with clear comments explaining the purpose and
functionality of each module, class, and function.

Software Used
Python is an interpreted, object-oriented, high-level
programming language with dynamic semantics. Its
high-level built in data structures, combined with
dynamic typing and dynamic binding, make it very
attractive for Rapid Application Development, as well as
for use as a scripting or glue language to connect
existing components together. The Python interpreter
and the extensive standard library are available in
source or binary form without charge for all major
platforms and can be freely distributed.

8
MySQL is popular among all databases, and is ranked
as the 2nd most popular database, only slightly trailing
Oracle Database. Among open source databases,
MySQL is the most popular database in use today.
MySQL uses standalone clients that allow users to
interact with MySQL, and also to use it with other
programs for applications that need relational database
capabilities. MySQL's reputation for reliability has led to
its inclusion in the popular LAMP stack (Linux, Apache,
MySQL, Python/Perl/PHP) and is also used as the
default DBMS in popular CMS options like Drupal,
Joomla, phpBB, and WordPress.

Algorithm
1. **User Authentication:**

- Input: Account Number, PIN

- Output: Authenticated (Yes/No)

- Procedure:

1. Request user input for account number and PIN.

9
2. Verify entered credentials against the user
database.

3. If authentication fails, allow limited retries before


locking the account.

4. If authenticated, proceed to account


management.

2. **Account Management:**

- Input: Authenticated User

- Output: Displayed Account Information

- Procedure:

1. Present a menu with options for checking balance,


viewing transactions, and updating personal
information.

2. Based on user selection, execute corresponding


functions.

3. Ensure secure storage and retrieval of account


data.

10
3. **Transaction Processing:**

- Input: Authenticated User

- Output: Updated Account Balance

- Procedure:

1. Present a transaction menu with options like


withdrawal, deposit, and fund transfer.

2. Based on user selection, execute the


corresponding transaction function.

3. Update account balances in real-time.

4. Display transaction status and details.

4. **Admin Controls:**

- Input: Admin Credentials

- Output: Admin Menu

- Procedure:

11
1. Allow administrators to log in with separate
credentials.

2. Present an admin menu with options for system


monitoring, user management, and report generation.

3. Implement secure access controls for


administrators.

5. **Security Measures:**

- Input/Output: User Sessions, Failed Login Attempts

- Procedure:

1. Implement session timeouts to auto-log users out


after inactivity.

2. Track and limit failed login attempts.

3. Lock accounts temporarily after repeated failures.

4. Use encryption for sensitive data.

6. **Transaction Logs:**

- Input/Output: Transaction Details

- Procedure:

12
1. Record transaction details (timestamp, type,
amount) in logs.

2. Store logs securely for auditing purposes.

7. **Error Handling:**

- Input/Output: Error Messages

- Procedure:

1. Implement try-except blocks to handle errors


gracefully.

2. Display informative error messages to users.

3. Log errors for debugging and maintenance.

8. **User Interface:**

- Input: User Selection

- Output: Displayed Menus, Prompts

- Procedure:

1. Design an intuitive user interface with menu-


driven options.

2. Display prompts and messages to guide users


through transactions.

13
3. Use formatting for readability.

9. **Database Integration:**

- Input/Output: Database Queries/Results

- Procedure:

1. Connect to the database.

2. Implement functions to interact with the database


(retrieve account info, update transactions).

10. **Code Documentation and Comments:**

- Procedure:

1. Include detailed comments explaining each


module, class, and function.

2. Use docstrings for function documentation.

3. Document external libraries/modules used.

14
Source Code
class ATM:

2 def __init__(self):

3 self.balance = 1000

4 self.menu = """

5 1. Check Balance

6 2. Withdraw Cash

7 3. Deposit Cash

8 4. Exit

9 """

10

11 def check_balance(self):

12 print(f"Your current balance is: {self.balance}")

13

14 def withdraw_cash(self):

15
15 amount = int(input("Enter the amount to withdraw:
"))

16 if amount > self.balance:

17 print("Insufficient funds!")

18 else:

19 self.balance -= amount

20 print(f"Withdrew {amount}. Your new balance is:


{self.balance}")

21

22 def deposit_cash(self):

23 amount = int(input("Enter the amount to deposit: "))

24 self.balance += amount

25 print(f"Deposited {amount}. Your new balance is:


{self.balance}")

26

27 def display_menu(self):

28 print(self.menu)

29 option = int(input("Choose an option: "))

30 while option != 4:

16
31 if option == 1:

32 self.check_balance()

33 elif option == 2:

34 self.withdraw_cash()

35 elif option == 3:

36 self.deposit_cash()

37 else:

38 print("Invalid option!")

39

40 print(self.menu)

41 option = int(input("Choose an option: "))

42

43

44if __name__ == "__main__":

45 atm = ATM()

46 atm.display_menu()

17
Output
1. Check Balance

2. Withdraw Cash

3. Deposit Cash

4. Exit

Choose an option: 1

Your current balance is: 1000

1. Check Balance

2. Withdraw Cash

3. Deposit Cash

4. Exit

Choose an option: 2

Enter the amount to withdraw: 200

Withdrew 200. Your new balance is: 800

18
1. Check Balance

2. Withdraw Cash

3. Deposit Cash

4. Exit

Choose an option: 3

Enter the amount to deposit: 500

Deposited 500. Your new balance is: 1300

1. Check Balance

2. Withdraw Cash

3. Deposit Cash

4. Exit

Choose an option: 4

19
Bibliography
1)Google.com
2)Blackbox.ai
3)Cbsepyhton.in
4)chat.openai.com

20

You might also like