Git Product home page Git Product logo

uzbekdev1 / dbms Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rashedhasan090/dbms

0.0 0.0 0.0 98 KB

Daffodil Bank Management System (DBMS) . Today, banks are looking beyond the transactions to the full opportunity on how to manage their customers. [1] Accordingly, they are moving beyond managing clients as simple contacts to a whole new level of client relationship management, crafting a superior commercial client experience that gives the bank a competitive advantage and a more loyal, profitable and committed customers.[1][2] Bank Management System refers to systems that enable bank customers to access accounts and general information on bank products and services through a personal computer or other intelligent device. But most of these systems do not focus on how best to manage and keep their customer’s data more secured. The chances and threats that the sector symbolizes is no longer news to the present day banking sector.[4] No traditional bank would dare face investment analysts or new customers without a complete Banking Management strategy. The main intention behind the commencement of banking services is to provide the customers with an alternative that is more responsive and with less expensive options.[3] With options more secured, customers have more control than ever.[3] Their expectations are how safe and secured their personal information would be. They also want personal attention and highly customized products and services. Daffodil Bank Management System (DBMS) aims to provide critical information for managing the bank customers more effectively, and encourages other banks that already have similar systems to move beyond transactions to better customer management approach .

C 100.00%

dbms's Introduction

Daffodil Bank Management System

Abstract: Today, banks are looking beyond the transactions to the full opportunity on how to manage their customers. [1] Accordingly, they are moving beyond managing clients as simple contacts to a whole new level of client relationship management, crafting a superior commercial client experience that gives the bank a competitive advantage and a more loyal, profitable and committed customers.[1][2] Bank Management System refers to systems that enable bank customers to access accounts and general information on bank products and services through a personal computer or other intelligent device. But most of these systems do not focus on how best to manage and keep their customer’s data more secured. The chances and threats that the sector symbolizes is no longer news to the present day banking sector.[4] No traditional bank would dare face investment analysts or new customers without a complete Banking Management strategy. The main intention behind the commencement of banking services is to provide the customers with an alternative that is more responsive and with less expensive options.[3] With options more secured, customers have more control than ever.[3] Their expectations are how safe and secured their personal information would be. They also want personal attention and highly customized products and services. Daffodil Bank Management System (DBMS) aims to provide critical information for managing the bank customers more effectively, and encourages other banks that already have similar systems to move beyond transactions to a better customer management approach .

1.1 Introduction : The Daffodil Bank Management System (DBMS) is an application for maintaining a person's account in a bank. In this project we tried to show the working of a banking account system and cover the basic functionality of a Bank Account Management System. To develop a project for solving financial applications of a customer in banking environment in order to nurture the needs of an end banking user by providing various ways to perform banking tasks.[5] Also to enable the user’s work space to have additional functionalities which are not provided under a conventional banking project.[5] The Daffodil Bank Management System (DBMS System undertaken as a project is based on relevant technologies. The main aim of this project is to develop software for Bank Account Management System. This project has been developed to carry out the processes easily and quickly, which is not possible with the manuals systems, which are overcome by this software. This project is developed using C language and additional simple files were used for record collection, where they act as a database . Creating and managing requirements is a challenge of IT, systems and product development projects or indeed for any activity where you have to manage a contractual relationship with your intimate customers. . Organization need to effectively define and manage requirements to ensure they are meeting needs of the customer, while proving compliance and staying on the schedule and within budget.[6][7] The impact of a poorly expressed requirement can bring a business out of compliance or even cause injury or death.[8] Requirements definition and management is an activity that can deliver a high, fast return on investment.[8] The project analyzes the system requirements and then comes up with the helpful requirements specifications. It studies other related systems and then come up with system specifications.[9] The system is then designed in a particular accordance with specifications to satisfy the requirements. The system is designed as an effective content management system.[9] The content management system deals with data entry, validation confirm and updating whiles the interactive system deals with system interaction with the administration and users. Thus, above features of this project will save transaction time and therefore increase the efficiency of the system. .

1.2 Specifications : Banking management implementations (Business Implementations) of The Daffodil Bank Management System (DBMS) are given below:

  1. Add User To the database .
  2. Records user information to database.3. Enables to Fund Transfer for a user .
  3. Enables to create Saving or Current saving account .
  4. Offers interest to the user upon account information .
  5. Provides authority to users to see account information .
  6. Enables users to deposit or transfer money .

We will discuss in details in the methodology section about technical specifications and coding .

2.0 Literature Review: A bank is a financial institution that accepts deposits from the public and creates credit.[10] Banking software is enterprise software that is used by the banking industry.[10][11] Typically banking software refers to core banking software and its interfaces that allows commercial banks to connect to other modular software and to the interbank networks. [11] It can also refer to the trading software used by investment banks to access capital markets. A banking management software helps to resolve common issues , as well as it maintains the credit acquisition of a banking system avoiding other external constrains which might hamper the process radically.[11]

Daffodil Bank Management System ( DBMS ) is a project for implicating a successful Bank Management software . Also DBMS was inspired by Online payment transection and payment handling issues. Basically we can say it is a basic prototype for a secured , complete and obvious Banking Software. Our strongest beliefs are to name it after “Daffodil” is to be Motivated from Chairman of Daffodil group Sabur Khan sir , and also Daffodil to use our prototype for developing certain software technology in future concentrating our model. .

3.0 Objective: The objective and scope of our project DBMS is to record the details various activities of user. It simplifies the task and reduce the paper work. It has the following objectives: 3.1 Enhancement: The main objective of DBMS is to enhance and upgrade the existing system by increasing its efficiency and effectiveness. The software improves the working methods by replacing the existing manual system with the computer-based system.3.2 Automation: DBMS automates each and every activity of the manual system and increases its throughput. Thus the response time of the system is very less and it works very fast. 3.3 Accuracy: DBMS provides the uses a quick response with very accurate information regarding the users etc. Any details or system in an accurate manner, as and when required. 3.4 User-Friendly: DBMS has a very user-friendly interface. Thus the users will feel very easy to work on it. The software provides accuracy along with a pleasant interface. Make the present manual system more interactive, speedy and user friendly.

3.5 Availability: The transaction reports of the system can be retried as and when required. Thus, there is no delay in the availability of any information, whatever needed, can be captured very quickly and easily.[12] 3.6 Maintenance Cost: Reduce the cost of maintenance.

4.0 Methodology: In this section let us discuss how DBMS looks like and how can we make it work practically.

4.1 Admin Interface:

4.1.1 Welcome Screen:

Welcome screen shows the title and additional entitled information . pressing any key would move to the next window.

4.1.2 Split Screen:

Primary login screen asks if the user is Administrator or User .

4.1.3 Admin Login:

4.1.4 Admin Panel:

Admin panel shows the basic administrator interface panel . From here admin can perform functions like Add User , Delete User , Edit User Name/Password , View User Log and Exit . Here in the middle front we are seeing the title of DBMS , at the top right the date and year and in the top left logged in as Admin.

4.1.5 Add User from Admin Panel:

It will be added in the allocated database file according to the program.

4.1.6 Delete User from Admin Panel:

It will be deleted from the allocated database file according to the program. U04 has been deleted .

4.1.7 Edit User Name from Admin Panel:

4.1.8 View User History from Admin Panel:

4.1.9 Admin Panel Exit:

4.2 User Interface:

4.2.1 Split Screen:

4.2.2 User Control Panel Login :

4.2.3 User Control Panel :

User Control Panel shows the basic user interface panel . From here user can perform functions like Create New Account , Cash Deposit , Cash Withdrawal , Fund Transfer, Account Information, Transaction Information, Log Out and Exit . Here in the middle front we are seeing the title of DBMS , at the top right the date and year and in the top left logged in as User with current Username .

4.2.4 User Control Panel New Account :

In this screen we need to provide basic user information .

This screen shows account information , Account Type ( Saving / Current saving ) , Opening date, Interest Rate . Opening Balance .

Information will be saved on the allocated database file with the particular account number .

4.2.5 Cash Deposit :

Information will be saved on the allocated database file with the particular account number .and the status is now changed also in AC00008

4.2.6 Cash Withdrawal :

Current status of AC00002 . Let us withdraw .

Information will be saved on the allocated database file with the particular account number .and the status is now changed also in AC00002

4.2.7 Fund Transfer:

Status of AC00007 and AC00011 before Fund Transfer .

Status of AC00007 and AC00011 after Fund Transfer .

4.2.8 Account Information:

4.2.9 Transaction Information:

4.2.10 Log Out:

4.2.11 Exit:

5.0 Output: In this section we will talk about the backend of our program integrations .

We have used file pointers in order to store our information given in our DBMS . we have used different files for authentication purposes . File pointers specifies the file under the supervision of a particular function which allows to store information and later see the record if needed . so the additional files work as database for DBMS.

5.1 User Authentication: .

Above we saw , admin can add user and easily our DBMS records that , that is because we have an external file USER.dat . where the information is allocated . here also pointers play the major role in defining the information to the correct path according to the function .

5.1 Account Information : .

Above we saw , user can create Saving or Current Saving accounts and easily our DBMS records that , that is because we have an external file ACCOUNTS.dat . where the information is allocated . here also pointers play the major role in defining the information to the correct path according to the function .

5.2 Transaction Information: .

Above we saw , When we deposit or withdraw funds from an account or if we transfer balance , easily our DBMS records that , that is because we have an external file TRANSECTION.dat . where the information is allocated . here also pointers play the major role in defining the information to the correct path according to the function. Also it defines from which user to which user information was passed down to. .

5.3 User Log : .

Above we saw , when any activity occurs , when any user performs activity , then those information is recorded according to the time period and action orientation, that is because we have an external file LOG.dat . where the information is allocated . here also pointers play the major role in defining the information to the correct path according to the function. .

Additionally we have TEMP.dat for allocating garbage memory .

5.4 Code Specifications: Lets see details about our implemented functions and define module activity .

#include <stdio.h> - For standard I/O Operation. #include <stdlib.h> - To use functions like system(); system("dos command"); - this performs the dos command given. Eg. system("del abc.txt"); - This command deletes the file abc.txt from current location of project. #include <windows.h> - Used in making gotoxy(int, int) function. #include <conio.h> - For getch(); getche() type of functions. #include <time.h> - To get system date and time. #include <math.h> - To calculate mathematical problems, used esp. in interest calculation. We divided our user defined functions into two parts: Minor Functions (which are used frequently to support execution of core porgram) and Major Functions (which are a part of core program). Minor function definition from Line 12-25. Major function definitions from Line 27-40. void gotoxy(int x,int y); - To move the cursor to x column and y row of output screen. void _password(char buffer[]); - To input password from user so that asterik (*) is displayed for each character entered. Similar to gets(string); function. void rectangle(int x,int y,int l,int b); - To make a rectangle starting from (x,y) with length l and breadth b. void cls(int x1,int y1,int x2, int y2); - To clear only certain portion of screen starting from (x1,y1) to (x2,y2). Notice this function has been used in date entry. When date is not in dd/mm/yyyy format, the wrong value is cleared on the screen. void increase(char i_id[]); - To increase ID by unit value. Eg. U001 ---> U002 and AC00099 ---> AC00100. Since i_id is an array, it is passed by reference. So the input value and changed value is obtained from same variable i_id[]. void date_input(char date[]); - To convert date in format dd/mm/yyyy (The format in which user is asked to enter date) to mm/dd/yyyy (The format in which date is stored in data file). void date_output(char date[]); - To convert date in format mm/dd/yy to dd MMM, yyyy. Eg. 01/01/17 is changed to 01 Jan, 2017. void currency(char cur[], float n); - To convert a floating number n into currency format in accurate Number system. Eg. on execution of the statement currency(cur,123456.789); the value of cur will be "1,23,456.78". void num2word(double n,char word[]); - To convert a floating (double) number n into word according to English Arabic Number System. void _one(int n, char one[]); - This function is a part of function num2word(). Simple function that stores "One " for 1, "Two " for 2, ... upto 19 in string varaible one[]. void _ten(int n,char ten[]); - This function is a part of function num2word(). Simple function that stores "Ten " for 10, "Twenty " for 20, ... upto 90 in string varaible ten[]. int date_check(char date[]); - Function to check if date is in format dd/mm/yyyy or not. Returns 0 if the format is not valid and 1 for valid format. void title(); - Clears the screen and displays Program title, Current User and Current date on top of Screen. void welcome(); - Displays welcome screen that you see as soon as program is executed. void admin(); - Main program for ADMIN portion to manage user. void add_user(); - To add a new user. void del_user(); - To delete an existing user. void edit_user(); - To edit user name and/or password of existing user. void view_log(); - To view log history of user. void staff(); - Main program for STAFF portion to manage accounts. void uptodate(); - This function updates every account by calculating interest and stores the updated value. This function runs every time the program is executed. void add_ac(); - To create a new account. void deposit(); - To deposit cash in A/C. void withdraw(); - To withdraw cash from A/C. void fund_transfer(); - To transfer cash from one account to another. void ac_info(); - To view informations about the A/C and account holder. void transaction(); - To view all the trasactions of an A/C.

char date[13],ttime[10]; - These are global variables to store system date and time. FILE *fp,*fp1,*tfp; - File pointers. Struct - Structure for storing User information.

struct account - Structure for storing account information.

struct trans - Structure for storing transaction information.

typedef struct - Structure for storing user log information.

char date[15]; - Log in date. char stime[10]; - Log in time. char etime[10]; - Log out or exit time.

welcome(); - Welcome screen at beginning.

system("cls"); - Clears the screen.

c=getche(); - Variable c stores the key pressed by user.

cnt=0; - This variable cnt counts the number of attempts of log in.

char passwrd[30]={0}; - To nullify the string password.

(cnt==3) - when no of attempts exceeds 3.

c=0; - Counts the no. of user for which the name and password matches.

strcpy(nam,strupr(nam)); - Changing all strings id, name, pass into uppercase.

if((strcmp(user.name,nam)==0)&&(strcmp(user.password,pass)==0)) - if the combination matches value of c is increased and user id of req user is stored in user.id.

if(date_check(ac.dob)==0||temp1>temp2) - checks if dob format is correct, on invalid format screen is partially cleared, beep tone is produced and asked to re-enter date. if(date_check(ac.dob)==0||temp1>temp2) - checks if dob format is correct, on invalid format screen is partially cleared, beep tone is produced and asked to re-enter date. irate=8; - interest rate 8% for saving a/c. irate=4; - interest rate 4% for current saving. flag=1; - note that flag was initially zero. on error, its turned to 1. (fp!=NULL) - performs every thing only when file exists i.e. only when pointer is not null.

ac.t_bal=ac.c_bal*pow((1+r/100),n1-n2); - calculation of compound interest. ac.interest+=ac.t_bal-ac.c_bal; - calculation and addition of interest. ac.t_bal=ac.c_bal+ac.interest; - calculation of total balance. . .

(strcmp(acn,ac.ac_no)==0) { srh=ac; cnt++; } - if a/c no matches, srh stores all values of ac

cnt++; - This variable counts the number of times the password is asked. Note that if cnt==3 then the program terminates after displaying error message. .

key=getche(); - Reads a character entered by user andstroes in char variable key. .

ch=key-48; - changes char key into integer ch eg. '1'(ascii value 49)--->49-48=1. .

We tried to define functions as we understood . There are lot of things may also we could not add here . As code is over 2000 lines . We tried our best to add things in order to conclude the section. .

7.Conclusion:

7.1 Software Model Used to implement DBMS: .

Our Basic Idea for developing DBMS was to develop a complete secure Banking Management system as to manage works in banks , also to make it efficient for online transection as also to make it as an applicable system for payment gateway . so basically our model is a Prototype Software Model. .

Prototype Model: .

The basic idea here is that instead of freezing the requirements before a design or coding can proceed, a throwaway prototype is built to understand the requirements. This prototype is developed based on the currently known requirements. By using this prototype, the client can get an “actual feel” of the system, since the interactions with prototype can enable the client to better understand the requirements of the desired system. Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements [13]. .

The prototype are usually not complete systems and many of the details are not built in the prototype. The goal is to provide a system with overall functionality.[13]

7.2 Shortcomings of DBMS: .

Everything can not be 100% perfect . so DBMS also has few shortcomings like .

  • Lack of Graphical User Interface. .
  • Complex Coding methodology. .
  • Unanimous and vivid large coding. .
  • User defined functions has to enroll with description for understanding.

7.3 Our wish: .

Many of us lead busy lives. Some of us are up before the crack of dawn, getting ourselves prepared so we can in turn get our families ready for the day. We rush to work, rush to get the kids to school, and at the end of the day we rush home only to brace ourselves for the next day. After a hectic day, the last thing you do not want to do is spend time waiting in line at the bank, or even the post office. That's where DBMS Model comes in. Many of the benefits using DBMS model to develop a complete Banking Software. 1.We don't have to wait in line. 2. We don't have to plan your day around the bank's hours. 3. We can look at your balance whenever you want, not just when you get a statement. There are some hidden benefits too. As a young bank customer, you're just learning how to manage your money and observe your spending patterns. DBMS Model allows you to watch your money on a daily basis if you want to. By keeping close tabs on your funds, you'll always be aware of what's happening in your bank account. For those experienced spenders, this option is far more appealing than the sudden discovery that you're broke! It's also helpful to watch how much interest you're gathering on investments and savings or what service charges you have incurred.

Most available benefits -

  1. DBMS Model with key banking scheme is fast, secure, convenient and free.

  2. Quick, simple, authenticated access to accounts via the application.

  3. Simply scalable to grow with changing system requirement.

  4. Global enterprise model wide access to information.

  5. Improved data security, restricting unauthorized access. 6 Minimize storage space. .

This project is developed to nurture the needs of a user in a banking sector by embedding all the tasks of transactions taking place in a bank. Future version of this project will still be much enhanced than the current version. Thus DBMS is developed and executed successfully. .

8.0 References: .

1.www.ijstr.org/final-print/aug2015/Bank-Customers-Management-System.pdf 2.https://www.occ.gov/static/news-issuances/.../nr-occ-1999-94-internet-banking.pdf 3.https://www.scribd.com/document/43360332/Master-Thesis-E-Banking-Updated 4.www.cyberessays.com/lists/oppertunities-and-threats-in-banking-sector/ 5.www.slideshare.net/vinothrethnam/bank-management-system 6.www.cipd.co.uk/nr/rdonlyres/bae22874-1d3c-4912-bbd9.../0/1843981645sc.pdf 7.spectrum.ieee.org/webinar/requirements-management-for-project-lifecycle 8.www.slideshare.net/amycslater/requirements-gathering-best-parctice-pack 9.https://vlebb.leeds.ac.uk/bbcswebdav/orgs/SCH_Computing/FYProj/reports/0304/Pan.pdf 10.https://en.wikipedia.org/wiki/Bank 11.https://en.wikipedia.org/wiki/Banking_software 12.studymoose.com/this-is-java-projects-on-college-management-system-essay 13.http://istqbexamcertification.com/what-is-prototype-model-advantages-disadvantages-and-when-to-use-it/

dbms's People

Contributors

rashedhasan090 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.