Student Personal Information System1
Student Personal Information System1
1. INTRODUCTION
2. FEASIBILITY STUDY
6.OUTPUT SCREENS
8. CONCLUSION
9.BIBLIOGRAPHY
1
2
The project is “STUDENT PERSONAL INFORMATION SYSTEM”.
This project is mainly used to maintain the records of the students of
Bhadrak Auto. College, Bhadrak. Previously The college maintain all the
student information like course structure, fee details installment of the
students manually.So It is a time consuming and possibility of human
error. This project saves time of writing records on paper because when it
was handled manually then it takes much time. This Project is developed
by using Turbo C++ Editor. Data storage and retrieval will become
faster and easier to maintain because data is stored in a
systematic manner and in a single database. It needs great care
because a single wrong entry can cause great loss. It is hard to manage the
hardcopy of manually managed records. These are vanish able. But now
with the help of computers we can directly input records on computer. It
also saves money. In this project the list of all records can be displayed
when needed. And we can also show the layout of all data. Thus it is
economical as well as time saving.
3
4
INTRODUCTION TO PROJECT
5
PURPOSE OF THE PROJECT
Design and implementing an online system for college to provide the
management to keep the information regarding admission, check all the
students data, Individual class information, for check one student details,
for deposit fee, and the course details. That means the organization
maintains the communication between different users in the form chain.
The proposed system “STUDENT PERSONAL INFORMATION SYSTEM “ is a
6
FEASIBILITY STUDY
Feasibility Analysis:
After the problem is clearly understood and solution are
proposed ,then the next step is to conduct the feasibility study, which is
1.Technical Feasibility
A study of resource availability that may affect the ability to achieve
an acceptable system. Technical feasibility deals with hardware as well as
software requirements. If the necessary requirements are made available
with the system then the proposed system is said to be technically feasible.
The software that required for this system is as,
a) Language Turbo C++
2.Economical Feasibility
7
Economic justification is generally the “bottom-Line” Consideration for
the system. Economic justification includes a broad range of ISL concerns that
includes cost benefits analysis. Even though an initial investment has to be made
on the software and hardware aspects.
The proposed system aims at processing of transaction effectively. Thus
saving money and since the existing system takes a lot of time and money.
The proposed system is efficient economically. Even though the initial
investment of the proposed system developed in high, this can be over come by
gradually using the system.
3. Operational Feasibility
Proposed project are beneficial only if they can be turned into information systems that
will meet the organizasition’s operating requirements. Simply stated, this test of
feasibility asks if the system will work when it is developed are installed. Are there
major barriers to implementation? Here are question that will help test the operational
feasibility of the project:
a. Is there sufficient support for the project from management? From
users? Is the current is well liked and used to the extent that persons will
not be able to see reasons for a change, there may be resistance.
b. Are current business methods acceptable to the users? If they are not
users may welcome a change that will bring about a more operational
and useful system.
8
9
INTRODUCTION TO ‘C++’
10
11
REQUIREMENTS
2) Hardware Requirements
b) RAM:- 64 MB
c) Hard Disk:- 20 GB
d) Keyboard
e) CD-Rom
f) Color Monitor
3) Software Requirements
12
13
FUNCTIONS USED
S. NO USED FUNCTIONS AND OBJECTS
1. CIN>>
2. COUT<<
3. PRINTF()
4. GETCH()
5. EXIT()
6. DELAY()
7. WHILE(), IF()
8. GOTOXY()
9. SWITCH()
10. GETCHE()
12. FOPEN()
13. FFLUSH()
14. GETDATE()
15. REWIND()
16. FCLOSE()
17. FOR()
14
15
SOURCE CODE
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<dos.h>
#include<stdlib.h>
class fee
{
public:
char n[25],cl[10];
long int id,tf,dp,i1,i2,i3,bl;
public:
16
void get()
{
cout<<" Enter Student Name: ";
gets(n);
gotoxy(2,3);
cout<<"Enter Class: ";
cout<<"\n\n(class name should MCA, BCA, BA)";
gotoxy(15,3);
gets(cl);
gotoxy(2,8);
cout<<"Enter DownPayment: ";
cin>>dp;
}
};
void main()
{
FILE *p;
fee ob;
int c;
clrscr();
while(1)
{
gotoxy(18,8);
cout<<"******************************************";
17
gotoxy(20,10);
cout<<"Press 1 for Admmission";
gotoxy(20,12);
cout<<"Press 2 for Check All Data";
gotoxy(20,14);
cout<<"Press 3 for Check Individual Class Data";
gotoxy(20,16);
cout<<"Press 4 for Check One Student Detail";
gotoxy(20,18);
cout<<"Press 5 for Deposit Fee";
gotoxy(20,20);
cout<<"Press 6 for Check Fee Structure";
gotoxy(20,22);
cout<<"Press 7 for Exit";
gotoxy(20,24);
cout<<"Enter Your Choice: ";
gotoxy(18,26);
cout<<"******************************************";
gotoxy(39,24);
cin>>c;
clrscr();
switch(c)
{
case 1:
char y='y';
while(y=='y'||y=='Y')
{
18
rewind(p);
p=fopen("fdata.dat","rb+");
int count=0;
while(fread(&ob,sizeof(ob),1,p)==1)
{
count=count+1;
}
p=fopen("fdata.dat","ab+");
ob.get();
if(count==0)
{
ob.id=101;
}
if(count!=0)
{
ob.id=101+count;
}
if(stricmp(ob.cl,"MCA")==0)
{
ob.tf=50000;
}
if(stricmp(ob.cl,"BCA")==0)
{
ob.tf=25000;
}
19
if(stricmp(ob.cl,"BA")==0)
{
ob.tf=7000;
}
if(stricmp(ob.cl,"mca")==0||stricmp(ob.cl,"bca")==0||
stricmp(ob.cl,"ba")==0)
{
ob.i1=0;
ob.i2=0;
ob.i3=0;
ob.bl=ob.tf-(ob.dp+ob.i1+ob.i2+ob.i3);
fwrite(&ob,sizeof(ob),1,p);
gotoxy(30,15);
cout<<"Your Admmission No. is: "<<ob.id;
gotoxy(25,17);
cout<<"Do You Want to Enter More Entry Y/N: ";
y=getche();
}else
{
gotoxy(30,20);
cout<<"Invalid Class";
gotoxy(25,25);
cout<<"Do You Want to Try Again Y/N: ";
y=getche();
}
fclose(p);
20
clrscr();
}
break;
case 2:
int l1=3;
int count1=0;
rewind(p);
cout<<" Admn.No. Name Class TotalFee
Balance";
p=fopen("fdata.dat","rb+");
while(fread(&ob,sizeof(ob),1,p)==1)
{
gotoxy(2,l1);
cout<<ob.id;
gotoxy(13,l1);
strupr(ob.n);
cout<<ob.n;
gotoxy(40,l1);
strupr(ob.cl);
cout<<ob.cl;
gotoxy(52,l1);
cout<<ob.tf<<" Rs.";
gotoxy(68,l1);
if(ob.bl==ob.tf)
{
cout<<"Clear";
21
}
else {cout<<ob.bl<<" Rs."; }
gotoxy(2,l1+1);
cout<<"----------------------------------------------------------------------------";
l1=l1+2;
count1=count1+1;
}
if(count1==0)
{
clrscr();
gotoxy(30,15);
cout<<"NO DATA IS ENTERD";
gotoxy(23,35);
cout<<"Press Any Key to Return Main Menu";
getch();
}
fclose(p);
getch();
clrscr();
break;
case 3:
char tcl[10];
int l=3,count=0;
gotoxy(25,15);
cout<<"Enter Class: ";
gets(tcl);
22
clrscr();
rewind(p);
cout<<" Admn.No. Name Class TotalFee
Balance";
p=fopen("fdata.dat","rb+");
while(fread(&ob,sizeof(ob),1,p)==1)
{
if(stricmp(tcl,ob.cl)==0)
{
gotoxy(2,l);
cout<<ob.id;
gotoxy(13,l);
strupr(ob.n);
cout<<ob.n;
gotoxy(40,l);
strupr(ob.cl);
cout<<ob.cl;
gotoxy(52,l);
cout<<ob.tf<<" Rs.";
gotoxy(68,l);
if(ob.bl==ob.tf)
{
cout<<"clear";
}
else {cout<<ob.bl<<" Rs.";}
gotoxy(2,l+1);
23
cout<<"----------------------------------------------------------------------------";
l=l+2;
count=count+1;
}
}
if(count==0)
{
clrscr();
gotoxy(25,15);
cout<<"NO DATA FOUND OF ENTERED CLASS";
gotoxy(23,35);
cout<<"Press Any Key to Return Main Menu";
getch();
}
fclose(p);
getch();
clrscr();
break;
case 4:
long int tid,count4=0;
gotoxy(25,15);
cout<<"Enter Admmission No.: ";
cin>>tid;
clrscr();
24
cout<<"\n Ad.No. Class TotalFee Downpay. 1st Inst. 2nd Inst.
3rd Inst. Balance";
rewind(p);
p=fopen("fdata.dat","rb+");
while(fread(&ob,sizeof(ob),1,p)==1)
{
if(tid==ob.id)
{
gotoxy(2,5);
cout<<ob.id;
gotoxy(10,5);
strupr(ob.cl);
cout<<ob.cl;
gotoxy(18,5);
cout<<ob.tf<<" Rs.";
gotoxy(29,5);
cout<<ob.dp<<" Rs.";
gotoxy(39,5);
cout<<ob.i1<<" Rs.";
gotoxy(50,5);
cout<<ob.i2<<" Rs.";
gotoxy(61,5);
cout<<ob.i3<<" Rs.";
gotoxy(72,5);
cout<<ob.bl<<" Rs.";
count4=count4+1;
getch();
25
}
}
if(count4==0)
{clrscr();
gotoxy(28,15);
cout<<"ADMMISSION No. NOT FOUND";
gotoxy(25,35);
cout<<"Press Any Key to Return Main Menu";
getch();
}
fclose(p);
clrscr();
break;
case 5:
long int tid1,count5=0,size,dip;
rewind(p);
p=fopen("fdata.dat","rb+");
gotoxy(25,15);
cout<<"Enter Admmission No.: ";
cin>>tid1;
gotoxy(25,18);
cout<<"Enter Fees: ";
cin>>dip;
clrscr();
26
while(fread(&ob,sizeof(ob),1,p)==1)
{
if(tid1==ob.id)
{
size=sizeof(ob);
if(ob.i1==0 || ob.i2!=0 && ob.i3!=0)
{
ob.i1=dip;
ob.bl=ob.tf-(ob.dp+ob.i1+ob.i2+ob.i3);
}
else
if(ob.i2==0 || ob.i1==0 && ob.i3!=0)
{
ob.i2=dip;
ob.bl=ob.tf-(ob.dp+ob.i1+ob.i2+ob.i3);
}
else
if(ob.i3==0 || ob.i1!=0 && ob.i2==0)
{
ob.i3=dip;
ob.bl=ob.tf-(ob.dp+ob.i1+ob.i2+ob.i3);
}
else
{clrscr();
gotoxy(25,15);
cout<<"Your Balance is Allready CLEAR";
27
getch();
}
fseek(p,-size,SEEK_CUR);
fwrite(&ob,sizeof(ob),1,p);
count5=count5+1;
break;
}
}
if(count5==0)
{clrscr();
gotoxy(28,15);
cout<<"ADMMISSION No. NOT FOUND";
gotoxy(25,35);
cout<<"Press Any Key to Return Main Menu";
getch();
}
fclose(p);
clrscr();
break;
case 6:
cout<<"\n\n\n\n\n\n\t\tCLASS\t\t\t\t\tFEES";
gotoxy(15,8);
cout<<"------------------------------------------------------";
gotoxy(17,10);
cout<<"MCA............................ ";
gotoxy(49,10);
28
cout<<"50000 Rs. per Year";
gotoxy(17,15);
cout<<"BCA............................";
gotoxy(49,15);
cout<<"25000 Rs. per Year";
gotoxy(17,20);
cout<<"BA.............................";
gotoxy(49,20);
cout<<"7000 Rs. per Year";
gotoxy(15,22);
cout<<"------------------------------------------------------";
gotoxy(25,35);
cout<<"Press Any Key to Return Main Menu";
getch();
clrscr();
break;
case 7:
exit(0);
default:
gotoxy(30,10);
cout<<"INVALID CHOICE";
gotoxy(30,12);
cout<<"TRY AGAIN......";
delay(1000);
clrscr();
}
29
}
}
30
OUTPUT SECTION
MAIN FORM
This form is the main menu form which displays the all menus
that we are used in our project such as:
1. FOR ADMMISSION
2. CHECK ALL DATA
31
3. CHECK DATA OF INDIVIDUAL CLASS
4. CHECK ONE STUDENT DETAIL
5. FOR DIPOSIT FEE OF STUDENT
6. CHECK FEE STRUCTURE OF ALL CLASSES
7. EXIT
FORM 1
32
This is our first form. In the main menu form there is a line”
Enter your choice” and we have to enter 1 and then this form will
ask you for student name, class and down payment of fees. After
entry it will show you student admission number.
FORM 2
33
This is our second form. When we enter choice 2 in main menu
form then this form is displayed and this form shows the listing
of all records that we have entered.
FORM 3
34
This is our third form. When we enter choice 3 in main menu
form then this form is displayed and in this form entered class
name to check data. It shows all data related class.
FORM 4
35
This is our 4th form. When we enter choice 4 in main menu form
it will ask you to enter admission number of any student. It will
show You all data related admission numbers.
36
FORM 5
This is our 5th form. When we enter choice 5 in main menu form
it will ask you to enter admission number and fee amount to
deposit of student.
37
FORM 6
This is our 6th form. When we enter choice 6 in main menu form
it will show you fee structure of all classes.
38
INTRODUCTION TO TESTING
39
increasing visibility of software as a system element and attendant costs
associated with a software failure are motivating factors for we planned, through
testing. Testing is the process of executing a program with the intent of finding
an error. The design of tests for software and other engineered products can be
TESTING STRATEGIES:
40
Software testing is one element of verification and validation.
Verification refers to the set of activities that ensure that software correctly
implements as specific function. Validation refers to a different set of activities
that ensure that the software that has been built is traceable to customer
requirements.
The main objective of software is testing to uncover errors. To fulfill this
objective, a series of test steps unit, integration, validation and system tests are
planned and executed. Each test step is accomplished through a series of
systematic test technique that assist in the design of test cases. With each testing
step, the level of abstraction with which software is considered is broadened.
Testing is the only way to assure the quality of software and it is an umbrella
activity rather than a separate phase. This is an activity to be preformed in
parallel with the software effort and one that consists of its own phases of
analysis, design, implementation, execution and maintenance.
UNIT TESTING:
This testing method considers a module as single unit and checks the
unit at interfaces and communicates with other modules rather than getting into
details at statement level. Here the module will be treated as a black box, which
will take some input and generate output. Outputs for a given set of input
combination are pre-calculated and are generated by the module.
SYSTEM TESTING:
Here all the pre tested individual modules will be assembled to
create the larger system and tests are carried out at system level to make sure
that all modules are working in synchronous with each other. This testing
methodology helps in making sure that all modules which are running perfectly
when checked individually are also running in cohesion with other modules.
For this testing we create test cases to check all modules once and then
41
generated test combinations of test paths throughout the system to make sure
that no path is making its way into chaos.
INTEGRATION TESTING
Testing is a major quality control measure employed during
software development. Its basic function is to detect errors. Sub functions when
combined may not produce than it is desired. Global data structures can
represent the problems. Integrated testing is a systematic technique for
constructing the program structure while conducting the tests. To uncover errors
that are associated with interfacing the objective is to make unit test modules
and built a program structure that has been detected by design. In a non -
incremental integration all the modules are combined in advance and the
program is tested as a whole. Here errors will appear in an end less loop
function. In incremental testing the program is constructed and tested in small
segments where the errors are isolated and corrected.
Different incremental integration strategies are top – down
integration, bottom – up integration, regression testing.
42
TOP-DOWN INTEGRATION TEST
Modules are integrated by moving downwards through the
control hierarchy beginning with main program. The subordinate modules are
incorporated into structure in either a breadth first manner or depth first manner.
This process is done in five steps:
Main control module is used as a test driver and steps are substituted or
all modules directly to main program.
Depending on the integration approach selected subordinate is replaced at
a time with actual modules.
Tests are conducted.
On completion of each set of tests another stub is replaced with the real
module
Regression testing may be conducted to ensure trha5t new errors have not
been introduced.
This process continuous from step 2 until entire program structure
is reached. In top down integration strategy decision making occurs at upper
levels in the hierarchy and is encountered first. If major control problems do
exists early recognitions is essential.
If depth first integration is selected a complete function of the software
may be implemented and demonstrated.
Some problems occur when processing at low levels in hierarchy is
required to adequately test upper level steps to replace low-level modules at the
beginning of the top down testing. So no data flows upward in the program
structure.
BOTTOM-UP INTEGRATION TEST
Begins construction and testing with atomic modules. As
modules are integrated from the bottom up, processing requirement for modules
subordinate to a given level is always available and need for stubs is eliminated.
The following steps implements this strategy.
43
Low-level modules are combined in to clusters that perform a specific
software sub function.
A driver is written to coordinate test case input and output.
Cluster is tested.
Drivers are removed and moving upward in program structure combines
clusters.
Integration moves upward, the need for separate test driver’s lesions.
If the top levels of program structures are integrated top down, the number of
drivers can be reduced substantially and integration of clusters is greatly
simplified.
REGRESSION TESTING
Each time a new module is added as a part of integration as the software
changes. Regression testing is an actually that helps to ensure changes that do
not introduce unintended behavior as additional errors.
Regression testing maybe conducted manually by executing a subset of
all test cases or using automated capture play back tools enables the software
engineer to capture the test case and results for subsequent playback and
compression. The regression suit contains different classes of test cases.
A representative sample to tests that will exercise all software functions.
Additional tests that focus on software functions that are likely to be affected by
the change.
IMPLEMENTATION
44
Implementation is the process of converting a new or revised system
design into operational one. There are three types of Implementation:
Implementation of a computer system to replace a manual system. The
problems encountered are converting files, training users, and verifying
printouts for integrity.
Implementation of a new computer system to replace an existing one.
This is usually a difficult conversion. If not properly planned there can
be many problems.
Implementation of a modified application to replace an existing one using
the same computer. This type of conversion is relatively easy to handle,
provided there are no major changes in the files.
Implementation in Generic tool project is done in all modules. In
the first module User level identification is done. In this module every
user is identified whether they are genuine one or not to access the
database and also generates the session for the user. Illegal use of any
form is strictly avoided.
In Updating module user can update or delete or Insert the new
record into the database. This is very important module in Generic code
project. User has to specify the filed value in the form then the Generic
tool automatically gives whole filed values for that particular record.
In Reporting module user can get the reports from the database in
2Dimentional or 3Dimensional view. User has to select the table and
specify the condition then the report will be generated for the user.
45
It has been a great pleasure for me to work on this exciting
and challenging project. This project proved good for me as it
provided practical knowledge programming in C++. It also
provides knowledge about the latest technology used in
46
developing web enabled application technology that will be great
demand in future. This will provide better opportunities and
guidance in future in developing projects independently.
BENEFITS:
The project is identified by the merits of the system offered to the
user. The merits of this project are as follows: -
It is a very easy way to keep informations about the students
and course details as compared to the manual system.
This project offers user to enter the data through simple and
interactive forms. This is very helpful for the client to enter
the desired information through so much simplicity.
The user is mainly more concerned about the validity of the
data, whatever he is entering. There are checks on every stages
of any new creation, data entry or updation so that the user
cannot enter the invalid data, which can create problems at
later date.
Sometimes the user finds in the later stages of using project
that he needs to update some of the information that he entered
earlier. There are options for him by which he can update the
records. Moreover there is restriction for his that he cannot
change the primary data field. This keeps the validity of the
data to longer extent.
47
From every part of the project the user is provided with the
links through framing so that he can go from one option of the
project to other as per the requirement. This is bound to be
simple and very friendly as per the user is concerned. That is,
we can say that the project is user friendly which is one of the
primary concerns of any good project.
Data storage and retrieval will become faster and easier to
maintain because data is stored in a systematic manner and in
a single database.
Allocating of sample results becomes much faster because at a
time the user can see the records of last years.
Easier and faster data transfer through latest technology
associated with the computer and communication.
48
1.Let Us C by Yashawant Kanetkar
49
2. Computer Science C++ BY Sunita Arora
3. The Complete Reference ,C++ by Herbert Schildt
4. Software Engineering by Roger S. Pressman
5. Fundamentals of Software Engineering by Rajeeb Mall
50