You are on page 1of 18

LOVELY PROFESSIONAL UNIVERSITY

TERM PAPER TOPIC : MOBILE SERVICE PROVIDER DATABASE Mr. BALIJEPALI SUBMITTED ON : 15th NOV,2010 DEPARTMENT OF COMPUTER SCIENCE Roll No.: RE1001A28 SIVAKIRAN Submitted by: Submitted to:

Registration No.:

I give special

Section: E1001

words of thanks to our Teacher Mr BALIJEPALI SIVAKIRAN for his vision, thoughtful counselling and encouragement at every step of the project. I am also

Subject Code: CSE 101

thankful to the teachers of the Department for giving me the best of knowledge and guidance throughout the project. And last but not the least, I find no words to acknowledge the financial assistance & moral support rendered by our parents in making the effort a success. All this has become reality because of their blessings and

Acknowledgement
It is not until you undertake the project like this one that you realize how massive the effort it really is, or how much you must rely upon the Selfless efforts and goodwill of others. There are many who helped me with this project, and we want to thank them all from the core of our Hearts.

above all by the grace of god.

TANIYA

TABLE OF CONTENTS

1. INTRODUCTION SYSTEM REQUIREMENT HARDWARE SOFTWARE 2. WHAT IS THE MOBI DATABASE. 3. NEED DATABASES. FOR
INTRODUCTION

LE

MOBILE

4 MOBILE DATA BASE SYSTEM ARCHITECTURE. 5. SOURCE CODE 6. SOME OF RELATIONAL SYSTEMS: 7. MODEL COMPUTING. 8. ROUTING PROCESSING 9. APPLICATION 10. REFERENCES THE MOBILE DATABASE OF AND MOBILE QUERY

Traditionally large-scale commercial databases were developed as centralized database systems. this trend changed as more and more distributed applications stated to emerge. The distributed database applications involved usually a strong central database and powerful network administration. However the newer technology trends have changed this paradigm because of the following technological trend The notebook and laptop Computers are being used increasingly among the Business Community The development and availability of a relatively low-cost wireless digital communication infrastructure. This infrastructure is based on wireless local-area networks cellular digital packet networks and other technologies The rapid advancements of wireless communication technology and computer miniaturizing technology have enabled users to utilize computing resources anywhere in the computer network. you can even connect to your Intranet from an aeroplane. Mobile database are the database that allows the development and

deployment of database applications for handheld devices thus enabling relational database based applications in the hands of mobile workers. The database technology allows employees using handheld to link to their corporate networks download data work offline and then connect to the network again to synchronise with the corporate database. with a mobile database embedded in a handheld device a package delivery worker can collect signatures after each delivery and send the information to a

Vista/XP/98/2000/Mill enium

(B) Version of c-turbo c++ (version 4.5)

(C) Processor minimum requirement Pentium 3

(D) Memory ram-64 MB

(E) System type-16 bit operating system

PROPOSED SYSTEM:1.DESCRIPTION:REQUIREMENTS ANALYSIS

My software deals with the retrieval of records of mobile services. It asks for the basic details of each customers. I have used various decision statements like switch if and else statements arrays etc. C++ language really proves to be very helpful building of software as it is very user friendly and is structured language. It allows the program to work in small modules called functions. Thus my software will help in reducing the chaos in storing and retrieving mobile related services.

My system model is COMPAQ Vista PC. The processor is Intel core 2 duo. With Intel core 2 duo desktop processor, the PC experiences a revolutionary performances, unbelievable system response, and energyefficiency second to none. It gives Up to 6 MB L2 cache Up to 1333 MHz front side bus The ram memory of my computer is 2 GB All of the data is held on the hard disk drive. Even windows are stored there. When the computer is running whenever it needs to open a program file or run a process that it has not in while, it accesses the hard drive and runs the process that it looking for through the processor. While it is processing. it may need to store and

(A) Operating systemwindow

access numbers. These numbers are stored in the RAM. It completes process by doing this routine over and over until the computer is turned off. Ram does not hold any amount of data that we can access only the machine can. 2 gigabytes stores approx. (8.6 X 109) My PC works as a 32-bit operating system. Most desktop computers manipulate bits in group of 16 or 32. If you have two computers whose clock speed is identical, and one processes 32 bits at a time while the other processes 16, the 32 bit computer will be about twice as fast.

5. SOURCE CODE:-

#include<iostream.h> #include<ctype.h> #include<dos.h> #include<fstream.h> #include<conio.h> #include<stdlib.h> #include<stdio.h> #include<string.h> #include<iomanip.h> class group { struct customer { int cusid; char name[20]; char address[40]; char mobile[20]; char plan[50]; }cs; struct mobileplan { char plan[50]; int rent; float mtosm; float mtoom; float mtol; float isd; float sms; int freesms; int freemins; }mp; struct payment { int cusid; float amount; char date[20]; }pm; fstream plan, pay, cust; public: group(); void bookplan(); void addplan(); void delplan(); void modiplan(); void showplans(); void billpayment(); void modicustomer(); void delcustomer(); void listbookings();

void paymentdetails(); void exit(); int getid(); }; void main() { int i,j; char choice; group g; do { clrscr(); textcolor(MAGENTA); for(i=10;i<71;i++) { gotoxy(i,15); delay(30); cout<<"-"; } for(i=70;i>=10;i--) { gotoxy(i,22); delay(30); cout<<"-"; } for(j=16;j<=21;j++) { gotoxy(10,j); delay(30); cout<<"*"; } for(j=21;j>=16;j--) { gotoxy(70,j); delay(30); cout<<"*"; } gotoxy(16,17); textcolor(MAGENTA); cprintf("Welcome to Ashwani's Mobile Service Providing System"); gotoxy(30,20); cprintf("B.Tech I.T."); gotoxy(6,76); textcolor(WHITE); cprintf("\n\n\n\nPress any key to continue.."); getch(); clrscr(); gotoxy(20,4); cout<<"Mobile Plans"; gotoxy(30,5); cout<<"A.Show Plans"; gotoxy(30,6); cout<<"B.Add Plan"; gotoxy(30,7);

cout<<"C.Delete Plan"; gotoxy(30,8); cout<<"D.Modify Plan"; gotoxy(20,11); cout<<"Customer Section"; gotoxy(30,12); cout<<"E.List Customers"; gotoxy(30,13); cout<<"F.New Customer"; gotoxy(30,14); cout<<"G.Delete Customer"; gotoxy(30,15); cout<<"H.Modify Customer"; gotoxy(20,17); cout<<"Payments"; gotoxy(30,18); cout<<"I.Bill Payment"; gotoxy(30,19); cout<<"J.Payment Details"; gotoxy(20,21); cout<<"X.Exit"; gotoxy(30,22); cout<<"Your Choice?"; cin>>choice; choice=toupper(choice); clrscr(); switch(choice) { case 'A': g.showplans(); break; case 'E': g.listbookings(); break; case 'F': g.bookplan(); break; case 'B': g.addplan(); break; case 'C': g.delplan(); break; case 'D': g.modiplan(); break; case 'G': g.delcustomer(); break; case 'H':

g.modicustomer(); break; case 'I': g.billpayment(); break; case 'J': g.paymentdetails(); break; case 'X': g.exit(); choice=0; break; } }while(choice!=0); } void group::group() { plan.open("PLAN.DAT",ios::bi nary|ios::in|ios::out); pay.open("PAYMENT.DAT",ios:: binary|ios::in|ios::out); cust.open("CUST.DAT",ios::bi nary|ios::in|ios::out); } void group::addplan() { clrscr(); char ch, type; plan.seekp(0L, ios::end); do { cout<<endl<<"Enter the information"<<endl; cout<<"Plan Code : "; gets(mp.plan); cout<<"Monthly Rent : "; cin>>mp.rent; cout<<endl<<"Enter Mobile Teriff Rates"<<endl; cout<<"Mobile to same Mobile : "; cin>>mp.mtosm; cout<<"Mobile to other Mobile : "; cin>>mp.mtoom; cout<<"Mobile to Landline : "; cin>>mp.mtol; cout<<"ISD : "; cin>>mp.isd; cout<<"SMS : "; cin>>mp.sms;

cout<<"Free SMS : "; cin>>mp.freesms; cout<<"Free Minutes : "; cin>>mp.freemins; plan.write((char*)&mp, sizeof(mp)); cout<<endl<<"Add another record?(Y/N)"; cin>>ch; }while(ch=='y'||ch=='Y'); } void group::bookplan() { clrscr(); char ch; int flag; cust.seekp(0L, ios::end); do { flag=0; cout<<endl<<"Enter Customer Information"<<endl; cout<<"Mobile Plan : "; gets(cs.plan); //code to verify if plan exists or not. plan.seekg(0L, ios::beg); while(plan.read((char*)&mp, sizeof(mp))) { if(strcmp(cs.plan,mp.plan)==0) { flag=1; break; } } plan.clear(); if(flag==1) { cs.cusid=getid(); cout<<"Name : "; gets(cs.name); cout<<"Address : "; gets(cs.address); cout<<"Mobile Number : "; gets(cs.mobile); cust.write((char*)&cs, sizeof(cs)); } else { cout<<endl<<"Plan does not exist"<<cs.plan; } cout<<endl<<"Enter Mobile Offers"<<endl;

}while(ch=='y'||ch=='Y'); } void group::showplans() { plan.seekg(0L, ios::beg); cout<<endl<<setw(10)<<"Plan" <<setw(7)<<"Rent"<<setw(7)<<"M2S M"<<setw(7)<<"M2OM"<<setw(7)<<"M 2L"<<setw(7)<<"ISD"<<setw(7)<<"S MS"<<setw(10)<<"FreeSMS"<<setw(10)<<"Free-Mins"; while(plan.read((char*)&mp, sizeof(mp))) { cout<<endl<<setw(10)<<mp.plan<<s etw(7)<<mp.rent<<setw(7)<<mp.mto sm<<setw(7)<<mp.mtoom<<setw(7)<< mp.mtol<<setw(7)<<mp.isd<<setw(7 )<<mp.sms<<setw(10)<<mp.freesms< <setw(10)<<mp.freemins<<"\n"; } plan.clear(); gotoxy(1,28); textcolor(YELLOW); cprintf("Press any key.."); getch(); } void group::paymentdetails() { pay.seekg(0L, ios::beg); cout<<endl<<setw(6)<<"ID"<<s etw(10)<<"Amount"<<setw(10)<<"Da te"; while(pay.read((char*)&pm, sizeof(pm))) { cout<<endl<<setw(6)<<pm.cusid<<s etw(10)<<pm.amount<<setw(10)<<pm .date; } pay.clear(); gotoxy(1,28); textcolor(YELLOW); cprintf("Press any key.."); getch(); } void group::listbookings() { cust.seekg(0L, ios::beg); cout<<endl<<setw(4)<<"ID"<<s etw(15)<<"Name"<<setw(15)<<"Addr ess"<<setw(15)<<"Plan"<<setw(12) <<"Mobile"; cout<<endl<<"Add another record?(Y/N)"; cin>>ch;

cout<<endl<<setw(4)<<cs.cusid<<s etw(15)<<cs.name<<setw(15)<<cs.a ddress<<setw(15)<<cs.plan<<setw( 12)<<cs.mobile; } cust.clear(); gotoxy(1,28); textcolor(YELLOW); cprintf("Press any key.."); getch(); } void group::modiplan() { clrscr(); char code[50]; int count=0; long int pos; cout<<"Enter plan code:"; gets(code); plan.seekg(0L, ios::beg); while(plan.read((char*)&mp, sizeof(mp))) { if(strcmp(mp.plan,code)==0) { cout<<endl<<"Plan Code : "<<mp.plan; cout<<endl<<"Rent : "<<mp.rent; cout<<endl<<"Teriff"; cout<<endl<<"Mobile to same Mobile : "<<mp.mtosm; cout<<endl<<"Mobile to other Mobile : "<<mp.mtoom; cout<<endl<<"Mobile to Landline : "<<mp.mtol; cout<<endl<<"ISD : "<<mp.isd; cout<<endl<<"SMS : "<<mp.sms; cout<<endl<<"Offers"; cout<<endl<<"Free SMS : "<<mp.freesms; cout<<endl<<"Free Minustes : "<<mp.freemins; cout<<endl<<"Enter new record"<<endl; cout<<"Plan Code : "; gets(mp.plan); cout<<"Rent : "; cin>>mp.rent; cout<<"Mobile to same Mobile : "; cin>>mp.mtosm; while(cust.read((char*)&cs, sizeof(cs))) {

cout<<"Mobile to Landline : "; cin>>mp.mtoom; cout<<"ISD : "; cin>>mp.isd; cout<<"SMS : "; cin>>mp.sms; cout<<"Free SMS : "; cin>>mp.freesms; cout<<"Free Minutes : "; cin>>mp.freemins; pos=count*sizeof(mp); plan.seekp(pos, ios::beg); plan.write((char*)&mp, sizeof(mp)); return; } count++; } cout<<endl<<"No Mobile Plan in file with code="<<code; cout<<endl<<"Press any key.."; getch(); plan.clear(); } void group::modicustomer() { clrscr(); int cusid; int count=0; long int pos; cout<<"Enter Customer Code : "; cin>>cusid; cust.seekg(0L, ios::beg); while(cust.read((char*)&cs, sizeof(cs))) { if(cs.cusid==cusid) { cout<<endl<<"ID : "<<cs.cusid; cout<<endl<<"Name : "<<cs.name; cout<<endl<<"Address : "<<cs.address; cout<<endl<<"Mobile Plan : "<<cs.plan; cout<<endl<<"Mobile Number : "<<cs.mobile; cout<<endl<<"Enter new record"<<endl; cout<<"Name : "; gets(cs.name); cout<<"Address : "; gets(cs.address); cout<<"Mobile to other Mobile : "; cin>>mp.mtoom;

gets(cs.mobile); pos=count*sizeof(cs); cust.seekp(pos, ios::beg); cust.write((char*)&cs, sizeof(cs)); return; } count++; } cout<<endl<<"No customer in file with code="<<cusid; gotoxy(1,28); textcolor(YELLOW); cprintf("Press any key.."); getch(); cust.clear(); } void group::delplan() { clrscr(); char code[50]; long int pos; cout<<"Enter plan code : "; gets(code); plan.seekg(0L, ios::beg); while(plan.read((char*)&mp, sizeof(mp))) { if(strcmp(mp.plan, code)==0) { ofstream outfile; outfile.open("TEMP", ios::out); plan.seekg(0, ios::beg); while(plan.read((char*) &mp, sizeof(mp))) { if(strcmp(mp.plan,code)!=0) outfile.write((char*) &mp, sizeof(mp)); } outfile.close(); plan.close(); remove("PLAN.DAT"); rename("TEMP", "PLAN.DAT"); plan.open("PLAN.DAT", ios::binary|ios::in|ios::out| ios::nocreate); return; } } cout<<endl<<"No Mobile plan in file with code="<<code; cout<<"Plan : "; gets(cs.plan); cout<<"Mobile Number : ";

gotoxy(1,28); textcolor(YELLOW); cprintf("Press any key..");

getch(); plan.clear(); } void group::delcustomer() { clrscr(); int cusid; long int pos; cout<<"Enter Customer Code"; cin>>cusid; cust.seekg(0L, ios::beg); while(cust.read((char*)&cs, sizeof(cs))) { ofstream outfile; outfile.open("TEMP", ios::out); cust.seekg(0, ios::beg); while(cust.read((char*)&cs, sizeof(cs))) { if(cs.cusid != cusid) outfile.write((char*) &cs, sizeof(cs)); } outfile.close(); cust.close(); remove("CUST.DAT"); rename("TEMP", "CUST.DAT"); cust.open("CUST.DAT", ios::binary|ios::in|ios::out| ios::nocreate); return; } cout<<endl<<"No customer in file with code="<<cusid; gotoxy(1,28); textcolor(YELLOW); cprintf("Press any key.."); getch(); cust.clear(); } void group::exit() { char na[]={'A','S','H','W','A','N','I ',' ','K','A','U','S','H',A,L}; cust.close(); plan.close(); pay.close(); clrscr(); gotoxy(26,7); textcolor(GREEN); cprintf("THANK YOU.....!!!");

textcolor(BLUE); cprintf("Programmed by:"); textcolor(YELLOW); for(int x=28,y=0;x<41,y<15;x++,y++) { gotoxy(x,15); delay(300); cout<<na[y]; } delay(300); gotoxy(26,16); cprintf("B.Tech I.T."); getch(); } //Bill Payment void group::billpayment() { clrscr(); int cusid; int count=0; long int pos; cout<<"Enter customer code:"; cin>>pm.cusid; pay.seekp(0L, ios::end); cust.seekg(0L, ios::beg); int flag = 0; while(cust.read((char*)&cs, sizeof(cs))) { if(cs.cusid == pm.cusid) { flag = 1; cout<<"Amount : "; cin>>pm.amount; cout<<"Date : "; cin>>pm.date; pos = count*sizeof(cs); cust.seekp(pos, ios::beg); cust.write((char*)&cs, sizeof(cs)); } count++; } if(flag == 1) { pay.write((char*)&pm, sizeof(pm)); } else cout<<endl<<"No customer in file with code="<<pm.cusid; gotoxy(1,28); textcolor(YELLOW); cprintf("Press any key.."); gotoxy(28,12); delay(300);

} //Get New Customer ID int group::getid() { int cusid; int count=0; long int pos; cust.seekg(0L, ios::beg); while(cust.read((char*)&cs, sizeof(cs))) { cusid = cs.cusid; pos = count*sizeof(cs); cust.seekp(pos, ios::beg); count++; } cusid++; cust.clear(); return cusid; }

9. APPLICATION
Mobile Distillery is a specialist in mobile technologies. We provide innovative software and services allowing corporations application developers and publishers who want to efficiently address the complex environment of mobile platforms and markets. Capitalizing on over and worldwide indepth handset knowledge Mobile Distillery solutions are designed to reduce production costs and development time. Our technology allows system integrators and businesses to deliver powerful and easy-to-design mobile client applications to the widest range of compatible devices worldwide. By considerably simplifying the entire

getch(); cust.clear();

over a mobile network. The client and server have wireless connections. A cache is maintained to hold frequent data and transactions so that they are not lost due to connection failure. A database is a structured way to organize information. This could be a list of contacts, price information or distance travelled. The use of laptops mobiles and pad is increasing and likely to increase in the future with more and more applications residing in the mobile systems. While those same analyst s cantell us exactly which applications will be the most popular it is clear that a large percentage will require the use of a database of some sort. Many applications such as databases would require the ability to download information from an information repository and operate on this information even when out of range or disconnected.

application production cycle concept and development through porting, testing certification to deployment and backfilling Mobile Distillery allows developers to embrace the wide range of mobile content and services while ensuring they will always make the most of each device.

WHAT IS THE DATA BASE:-

MOBILE

A mobile database is a database than can be connected to by a mobile computing device

Future scope of project

My Project is mobile service provider Service. It will surely help in reducing the chaos of management of the records. It will reduce manual labor and will be more machine oriented, thus will help in reducing large piles of records related to mobile services. It will be very helpful for the customer to get and manage the information related to the mobile as well as When a mobile unit leaves a mobile cell serviced by a base station transfer.the responsibility for mobile transaction and data support to the new base stationy Transparent processes Some of the Mobile Relational Database Systems regular updates of available schemes.

10.REFERENCES:www.1000project.com www.wikipedia.com Let us C Various internet sources ANSI C Programming in c by kamaljeet