Student Information Management System: Title
Student Information Management System: Title
Student Information
Management System
Project
By:Vikas
2010
Introduction
students. It is designed to make record keeping and grading much easier. It is useful for
It maintains the following information about students: name, roll-no, course taken, date
of birth, address info, result of each student, etc. The software also maintains the
database of teachers, the courses offered by the institute, subjects under a particular
course, subject wise & overall result of the student. The software allows the user to print
2
Principle Objective
that allows the educational institutes, colleges, & universities to easily maintain the
It allows the user to print the list of students, courses, & teachers.
3
Project Category
RDBMS
Business Applications
4
Tools/Platform, Languages to be used
Visual Basic 6
SQL Server
Operating System
Windows
Requirements Hardware
Pentium-4
512 MB RAM
5
System Analysis
6
Feasibility Study
Not everything imaginable is feasible. Software feasibility has some solid dimensions:
the art? Can defects be reduced to a level matching the application's needs?
at a cost the software organization, its client, or the market can afford?
Time Feasibility: Will the project's time to market beat the competition?
succeed?
violation, or the liability that could result from the development of the system. The
that can provide more efficiency at a lower cost. Our system is made for
In this project, we have applied the RAD (Rapid application development) Model.
7
Rapid application development is an incremental software development process model
that emphasizes an extremely short development cycle. The RAD model is a high
speed adaptation of the linear sequential model in which rapid development is achieved
project scope is constrained, the RAD process enables a development team to create a
fully functional system within very short time periods (e.g., 60 to 90 days). The RAD
Business modeling: The information flow is modeled in a way that answers the
following questions: What information drives the business process? What information is
Data modeling: The information flow defined as part of the business modeling phase is
refined into a set of data objects needed to support the business. The characteristics of
each object are identified & the relationship between these objects defined.
Process modeling: The data objects defined in the data modeling phase are
8
Testing & turnover: Since the RAD process emphasizes reuse, many of the program
components have already been tested. This reduces overall testing time.
9
Analysis Reports
10
Context Analysis Diagram
11
First level Diagram
12
Second Level Diagram
13
Third Level Diagram
14
Third level Diagram
15
ERD
16
Program Structure
17
Modules
Functionally the project has been divided into the following parts:
Students: This is the main module of the project. It allows the user to view student's
records. It provides an easy to use interface to add, delete, & edit student information in
the database. This module shows all the student's name in a data grid. It shows user
the following information about students: Roll number, first & last name, course taken,
date of birth, fathers name, e-mail, phone number, & address information. This module
Users: It maintains the list of different users. Different features are available for different
users. A user can be of the following types: administrator, teacher, or student. Different
operations are allowed to different users. The administrator is responsible for creating
the user.
allows to view, add, edit, & delete details of teachers. This module maintains the
following information about teachers: Teacher ID, name, & addressing information. The
management can easily check and edit the list of teachers. This module gets/stores
18
Courses: The software has a list of courses offered by the institute. The list provides
the following information about a course: Course ID, course name. For example, MCA is
the course ID and the course name is Master in computer applications. BCA (bachelor
in computer applications). This module gets/stores data from/into the course database.
maintains the following information: Subject ID, subject name, course under which this
subject is available, & the teacher who teaches this subject. The information must be
first entered into the database. The operator can easily enter the records into the
database.
Result: This module provides subject wise result & overall result of the student. It
provides details of marks obtained by a student in a particular subject & it also shows
the overall percentage, & grade of the student. Result information can be easily added,
edited & deleted from the database. Teachers can easily view the student grades and
edit them.
Reports: This module is responsible for generating & printing reports like student's
report, teacher report, & courses report. It can easily print several professionally looking
reports. To generate reports the reports module gets data from the teacher, student,
course database.
19
Search: This module is responsible for searching the students. It provides an easy to
use interface to search student records. It allows the user to search the records on the
basis of roll number and the student name. After searching the records the user can
20
Tables
Tables
Student
Teacher
Users
Name Description Data Type
UserName The user name (PK) varchar (8)
Password Password for login varchar (8)
Type Type of user Integer
21
Course
Subject
table)
The teacher who teaches this subject
Result
completed.
22
Process Specification
The overall description of the Student process requires understanding the physical
location of the program and application being stored in the physical machines. The
description is as follows:
The data of this project can be stored on the same computer or on a different server.
When the program starts it checks for database availability. If it is available it will
connect to the database otherwise the application will close. The server administrator is
23
The process gets activated by a file named " mainModule.bas ". This invokes a
procedure called main. The function connects the software to the database. It opens
If it is unable to connect to the database it shows a user friendly message and closes
the application. After successfully connecting to the database it shows the main screen
24
Reports
Teachers Report
Students Report
Courses Report
25
System Screens
26
The Main Screen
This screen is the main screen of the student information management system. It
contains all the menus for viewing, adding, editing, & deleting records of students,
27
The Students List Screen
This screen shows the list of all students. It provides the details like: roll no, name,
father name, Date of birth, phone number, course selected, address info, etc.
28
The Students Screen- Add Record Mode
This screen allows the user to add details about a new student.
29
The Students Screen- Edit Record Mode
30
The Students Screen- Delete Record Mode
31
The Courses List Screen
This screen shows all the courses currently available. It allows the user to add, edit, &
32
The Subjects List Screen
This screen shows the list of subjects. The subjects are organized by course.
33
The Teachers List Screen
34
The Result of all Students Screen
35
The Result by Roll Number Screen
36
The Teachers Report
37
The Students Report
38
The Courses Report
39
Menus
40
The Listing Menu
41
CODE
42
The general Module – mainModule
43
The Main Screen – frmMain
'variable declaration
'connection object
Dim db As ADODB.Connection
'recordset object
Dim adoPrimaryRS As ADODB.Recordset
dgrid.Columns.Add 4
dgrid.Columns(4).Caption = "DOB"
dgrid.Columns(4).DataField = "DOB"
dgrid.Columns.Add 5
dgrid.Columns(5).Caption = "Father Name"
dgrid.Columns(5).DataField = "FatherName"
dgrid.Columns.Add 6
dgrid.Columns(6).Caption = "Phone No"
dgrid.Columns(6).DataField = "PhoneNumber"
dgrid.Columns.Add 7
dgrid.Columns(7).Caption = "Email"
dgrid.Columns(7).DataField = "Email"
dgrid.Columns.Add 8
dgrid.Columns(8).Caption = "Address"
dgrid.Columns(8).DataField = "Address"
dgrid.Columns.Add 9
dgrid.Columns(9).Caption = "City"
dgrid.Columns(9).DataField = "City"
dgrid.Columns.Add 10
dgrid.Columns(10).Caption = "State"
dgrid.Columns(10).DataField = "State"
45
dgrid.Columns.Add 11
dgrid.Columns(11).Caption = "Pin"
dgrid.Columns(11).DataField = "PostalCode"
48
The Course Screen- frmCourse
'variable declaration
'connection object
Dim db As ADODB.Connection
'recordset object
Dim WithEvents adoPrimaryRS As ADODB.Recordset
'variable to bookmark current location
Dim mvBookMark As Variant
'variable for editing
Dim mbEditFlag As Boolean
'variable for adding new records
Dim mbAddNewFlag As Boolean
'flag for data changes
Dim mbDataChanged As Boolean
mbDataChanged = False
Call InitializeControls
End Sub
With adoPrimaryRS
If Not (.BOF And .EOF) Then
'bookmark the current record location
mvBookMark = .Bookmark
End If
End With
End Sub
Exit Sub
'error handling code
GoFirstError:
MsgBox Err.Description
End Sub
Exit Sub
'error handling code
GoLastError:
MsgBox Err.Description
End Sub
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub
Exit Sub
'error handling code
GoPrevError:
MsgBox Err.Description
End Sub
'enable/disable buttons
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub
57
The Subject Screen - frmSubject
'variable declaration
'connection object
Dim db As ADODB.Connection
'recordset object
Dim WithEvents adoPrimaryRS As ADODB.Recordset
'variable to bookmark current location
Dim mvBookMark As Variant
'variable for editing
Dim mbEditFlag As Boolean
'variable for adding new records
Dim mbAddNewFlag As Boolean
'flag for data changes
Dim mbDataChanged As Boolean
mbDataChanged = False
'procedure to initialize all the controls
Call InitializeControls
End Sub
With adoPrimaryRS
If Not (.BOF And .EOF) Then
'bookmark the current record location
mvBookMark = .Bookmark
End If
End With
End Sub
Exit Sub
'error handling code
GoFirstError:
MsgBox Err.Description
End Sub
Exit Sub
'error handling code
GoLastError:
MsgBox Err.Description
End Sub
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub
Exit Sub
'error handling code
GoPrevError:
MsgBox Err.Description
End Sub
'enable/disable buttons
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub
67
The Teacher Screen – frmTeacher
'variable declaration
'connection object
Dim db As ADODB.Connection
'recordset object
Dim WithEvents adoPrimaryRS As ADODB.Recordset
'variable to bookmark current location
Dim mvBookMark As Variant
'variable for editing
Dim mbEditFlag As Boolean
'variable for adding new records
Dim mbAddNewFlag As Boolean
'flag for data changes
Dim mbDataChanged As Boolean
mbDataChanged = False
Call InitializeControls
End Sub
With adoPrimaryRS
If Not (.BOF And .EOF) Then
'bookmark the current record location
mvBookMark = .Bookmark
End If
End With
End Sub
Exit Sub
'error handling code
GoFirstError:
MsgBox Err.Description
End Sub
Exit Sub
'error handling code
GoLastError:
MsgBox Err.Description
End Sub
73
If adoPrimaryRS.EOF And adoPrimaryRS.RecordCount > 0 Then
Beep
'moved off the end so go back
adoPrimaryRS.MoveLast
End If
'show the current record
mbDataChanged = False
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub
Exit Sub
'error handling code
GoPrevError:
MsgBox Err.Description
End Sub
74
'enable/disable buttons
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub
76
The Result All Screen- frmResult
'variable declaration
'connection object
Dim db As ADODB.Connection
'recordset object
Dim WithEvents adoPrimaryRS As ADODB.Recordset
'variable to bookmark current location
Dim mvBookMark As Variant
'variable for editing
Dim mbEditFlag As Boolean
'variable for adding new records
Dim mbAddNewFlag As Boolean
'flag for data changes
Dim mbDataChanged As Boolean
mbDataChanged = False
'procedure to initialize controls on the form
Call InitializeControls
End Sub
With adoPrimaryRS
If Not (.BOF And .EOF) Then
'bookmark the current record location
mvBookMark = .Bookmark
End If
End With
End Sub
Exit Sub
'error handling code
GoFirstError:
MsgBox Err.Description
End Sub
Exit Sub
'error handling code
GoLastError:
MsgBox Err.Description
End Sub
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub
Exit Sub
'error handling code
GoPrevError:
MsgBox Err.Description
End Sub
'enable/disable buttons
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub
84
'make the font bold
lblLabels(0).FontBold = True
lblLabels(1).FontBold = True
lblLabels(2).FontBold = True
lblLabels(3).FontBold = True
End Sub
86
The Result by Roll No Screen - frmgetResult
'connection object
Dim db As ADODB.Connection
rsTemp.ActiveConnection = Nothing
Exit Sub
errCheck:
If Err.Number = 13 Then MsgBox "Please Enter a valid roll number", , "Error"
End Sub
Label1.FontBold = True
Label2.FontBold = True
Label3.FontBold = True
Label4.FontBold = True
txtRollNo.Appearance = 0
End Sub
89
The Student Screen – frmStudent
'variable declaration
'connection object
Dim db As ADODB.Connection
'recordset object
Dim WithEvents adoPrimaryRS As ADODB.Recordset
'variable to bookmark current location
Dim mvBookMark As Variant
'variable for editing
Dim mbEditFlag As Boolean
'variable for adding new records
Dim mbAddNewFlag As Boolean
'flag for data changes
Dim mbDataChanged As Boolean
mbDataChanged = False
'call procedure to initialize the
'controls on the form
Call InitializeControls
End Sub
With adoPrimaryRS
If Not (.BOF And .EOF) Then
'bookmark the current record location
mvBookMark = .Bookmark
End If
End With
End Sub
Exit Sub
'error handling code
GoFirstError:
MsgBox Err.Description
End Sub
Exit Sub
'error handling code
GoLastError:
MsgBox Err.Description
End Sub
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub
Exit Sub
'error handling code
GoPrevError:
MsgBox Err.Description
End Sub
'enable/disable buttons
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub
cboCourse.Locked = True
97
'set default value to checked
chkDel.Value = vbChecked
Call InitializeGrid
End Sub
99
Code
Optimization
100
Code Optimization
The project student information management has been optimized to run fast. Moreover,
coding standards have been followed in this project to optimize the project for
maintainability.
The following Rules have been kept in mind for code optimization:
Remembering the 80/20 rule: In many fields you can get 80% of the result with 20% of
the effort When we optimized the code, we used profiling to find out where that 80% of
Using the right algorithms and data structures: Don't use an O(n2) bubblesort
algorithm to sort a thousand elements when there's an O(n log n) quicksort available.
Similarly, don't store a thousand items in an array that requires an O(n) search when
you could use an O(log n) binary tree, or an O(1) Java hash table. We have used right
101
Security Mechanism
Information such as intellectual property and strategic business data are stored,
destruction of data can violate individual privacy. Corruption of business data can result
can't access the system until he or she has user ID and password. A new user is
created by the database administrator. Other users of the system have permission to
102
Validation Checks
Few checks and validations that are performed by the software are listed below:
If the user is on the last record & he presses the next record button, the software
Similarly, If the user is on the first record & he presses the previous record
button, the software will remain on the current record (first record).
When the user tries to delete a record from the database, the software confirms
While adding a new student record, the roll number field can't be left empty.
While adding a new teacher, the teacher ID field can't be left blank.
While adding a new course, the course ID field can't be left blank.
While adding details in the subject list, the subject ID field can't be left blank.
If the software is unable to connect to the database, it will not throw any error. It
103
Software Testing
Techniques
104
Software Testing Techniques
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design, and code generation. The increasing visibility of
software as a system element and the attendant costs associated with a software failure
A good test case is one that has a high probability of finding an as-yet-
undiscovered error.
Software is tested from two different perspectives: (1) internal program logic is
(2) Software requirements are exercised using "black-box" test case design techniques.
In both cases, the intent is to find the maximum number of errors with the minimum
Following are the two types of techniques, which have been used to test this project:
White-box testing
Black-box testing
105
White Box Testing
Techniques
106
Condition Testing
The condition testing method focuses on testing each condition in the program.
Condition testing is a test case design method that exercises the logical conditions
expression, possibly preceded with one NOT (-) operator. A relational expression takes
then at least one component of the condition is incorrect. Therefore, types of errors in a
program but also other errors in the program. A number of condition testing strategies
have been proposed. Branch testing is the simplest condition testing strategy. For a
compound condition C, the true and false branches of C and every condition in C need
to be executed at least once. Domain testing requires three or four tests to be derived
E1 <relational operator> E2
Three tests are required to make the value of E 1 grater than, equal to, or less than that
of E2. If relational operator is incorrect and E1 and E2 are correct, then these three tests
For a Boolean expression with n variables, all of 2 n possible tests are required (n>0).
This strategy can detect Boolean operator, variable, and parenthesis errors, but it is
practical only if n is small. Error-sensitive tests for Boolean expressions can be derived.
For a singular Boolean expression, we can easily generate a test set with less than 2 n
tests such that this test set guarantees the detection of multiple boolean operator errors
For example, in this project, the following code segment checks if the last record is
A technique called BRO (branch and relational operator) testing technique guarantees
the detection of branch and relational operator errors in a condition provided that all
108
Boolean variables and relational operators in the condition occur only once and have
common variables. The BRO strategy uses condition constraints for a condition C. A
condition constraint for C with n simple conditions is defined as (D 1, D2, …, Dn), where Di
(0 < i £ n) is a symbol specifying a constraint on the outcome of the ith simple condition
execution of C if, during this execution of C, the outcome of each simple condition in C
For a Boolean variable, B, we specify a constraint on the outcome of that states that B
must be either true or false. Similarly, for a relational expression, the symbols >, =, < are
used to specify constraints on the outcome of the expression. Consider the following
example:
C 1 : B 1 & B2
Where B1 and B2 are Boolean variables. The condition constraint C1 is of the form (D1,
D2), where each D1 and D2 is t or f. The value (t, f) is a condition constraint for C1 and
is covered by the test that makes the value of B1 to be true and all the value of B2 false.
The BRO testing strategy requires that the constraint set {(t, t), (f, t), (t, f)} be covered by
the executions of C1. If C1 is incorrect due to one or more Boolean operator errors, at
109
Loop Testing
Loop testing is a white box testing technique that focuses exclusively on the validity of
Simple loops
Nested loops
Concatenated loops
Unstructured loops
110
Simple Loops
The following set of tests has been applied to simple loops, where n is the maximum
111
Nested loops
If we were to extend the test approach for simple loops to nested loops, the number of
possible tests would grow geometrically as the level of nesting increases. The following
1. Start at the innermost loop. Set all other loops to minimum values.
2. Conduct simple loop tests for the innermost loop while holding the outer loops at
their minimum iteration parameter (e.g., loop counter) values. Add other tests for
3. Work outward, conducting tests for the next loop, but keeping all the other outer
112
113
Concatenated loops
Concatenated loops have been tested using the approach defined for simple loops, if
each of the loops is independent of the other. However, if two loops are concatenated
114
Black Box
Testing
115
Graph Based Testing Methods
The first step is to understand the objects that are modeled in software and the
relationships that connect these objects. First a graph of important objects and their
that represent the relationship between objects; node weights that describe the
properties of a node; and link weights that describe some characteristic of a link. The
116
A directed link indicates that a relationship moves in only one direction. A bi-directional
link implies that the relationship applies in both directions. Parallel links are used when
a number of different relationships are established between graph nodes. There are
Timing modeling
Graph based testing begins with the definition of all nodes and node weights. The data
model is used as a starting point. Once nodes have been identified, links and link
weights should be established. In many cases, the graph model may have loops. Loop
testing can be applied at the behavioral level. The graph assists in identifying loops that
need to be tested.
117
Boundary Value Analysis
There are several errors that occur at the boundaries of the input domain rather than in
the center. BVA leads to a selection of test cases that exercise bounding values. BVA
For example, in student project when the software reaches the last record & the user
presses the next record button, the software will not throw any exception. Similarly,
when the software is on the first record & the user presses the previous record button,
118
Software Testing
Strategies
119
Unit Testing
It focuses on the smallest unit of software design - the software component or module.
Using the component level design description as a guide, important control paths are
tested to uncover errors within the boundary of the module. The relative complexity of
tests and uncovered errors is limited by the constrained scope established for unit
testing. The unit test is white-box oriented, and the step can be conducted in parallel for
multiple components. The tests that occur as part of unit tests are listed below:
Module Interface is tested to ensure that information properly flows into and out
of the program unit under test. Tests of data flow across a module interface are
required before any other test is initiated. If data does not enter and exit properly,
Local Data Structures are examined to ensure that data stored temporarily
Boundary Conditions are tested to ensure that the module operates properly at
Independent Paths are exercised to ensure that all statements in a module have
120
Selective testing of execution paths is an essential task during the unit test. Basis path
and loop testing are effective techniques for uncovering a broad array of path errors.
incorrect initialization
precision inaccuracy
Among the potential errors that should be tested when error handling is evaluated
Error description does not provide enough information to assist in the location of
121
Integration Testing
After the testing of each module separately, all of them are tested jointly to check how a
data flows from one module to another module. Because this data flow may give
uncovered errors that have not been covered in the unit testing. And so they are
checked with full compilation. The objective is to take unit tested components and build
a program structure that has been dictated by design. Integration testing is a systematic
technique for constructing the program structure while at the same time conducting
122
Smoke Testing
Software components that have been translated into a build. A build includes all
data files, libraries, reusable modules, and engineered components that are
A series of tests is designed to expose errors that will keep the build from
properly performing its functions. The intent should be to uncover "show stopper"
errors that have the highest likelihood of throwing the software project behind
schedule.
The build is integrated with other builds and the entire product is smoke tested
daily.
123
Validation Testing
package, interfacing errors have been uncovered and corrected, and a final series of
software tests-validation testing-may begin. Validation can be defined in many ways, but
a simple definition is that validation succeeds when software functions in a manner that
series of black box tests that demonstrate conformity with the requirements. A test plan
outlines the classes of tests to be conducted and a test procedure defines specific test
cases that will be used to demonstrate conformity with requirements. Both the plan and
procedure are designed to ensure that all functional requirements are satisfied, all
documentation is correct, and human engineered and other requirements are met.
124
Implementation
125
Implementation
The following technologies & tools have been used in this project:
Visual Basic
SQL Server
126
The same SQL server 7.0 database engine can be used across platforms
ranging from laptop computers running Ms Windows 95/98/NT etc.
The database engine is a robust server that can manage terabyte databases
being accessed by thousands of users. At the same time, when running at its
default settings, SQL server 7.0 has features such as dynamic self tuning that let
it work effectively on laptops and desktops without burdening users with
administrative tasks.
Data warehousing: SQL server includes for extracting and analyzing summary
data online analytical processing (OLAP). It also includes tools for visually
designing databases and analyzing data using English based questions.
System integration with other server software: It integrates with email, internet,
and windows.
database. It creates a new connection object & tries to connect to the database.
Private Sub InitializeGrid(): This procedure is responsible for initializing the data grid.
The data grid shows all the records in a table like structure.
Private Sub mnuitmStudentList_Click(): This procedure shows the list of all the students
Details of some other methods in forms like student, course, subject, result, etc.
127
Private Sub cmdList_Click(): This method is called when the user clicks the Hide/Show
button. This method is used to show all the records in a grid. If the grid is visible & the
user again presses this button, the software will hide the grid.
Private Sub cmdAdd_Click(): This method is called when the user tries to add a new
record. Most forms in the student information management system have this method.
Private Sub cmdDelete_Click(): This method is called when the user tries to delete a
record.
Private Sub cmdEdit_Click(): This method allows the user to edit a record.
Private Sub cmdCancel_Click(): This procedure is used to cancel any updates made to
the recordset.
Private Sub cmdFirst_Click() : This method moves to the first record in the recordset.
Private Sub cmdLast_Click() : This method moves to the last record in the recordset.
Private Sub cmdNext_Click() : This method moves to the next record in the recordset.
Private Sub cmdPrevious_Click() : This method moves to the previous record in the
recordset.
128
Software
Maintenance
129
Software Maintenance
Maintenance comes under the support phase. Maintenance accounts for more effort
than any other software engineering activity. It focuses on change associated with error
likely that the customer will uncover defects in the software. Corrective
Adaptive Maintenance: Over time, the original environment (e.g., CPU, OS,
rules, external product characteristic) for which the software was developed is
additional functions that will provide benefit. Perfective maintenance extends the
must be conducted to enable the software to serve the needs of its end users. In
The performance of the student system depends upon the speed and efficiency of the
user’s computer & the network speed if the database is kept on a remote server.
131
Software
Reliability
132
Reliability
and frequently fails to perform, it matters little whether other software quality factors are
acceptable.
The application (project) developed by us has a reliability of 0.94 over six elapsed
processing hours.
133
Software
Quality
134
Software Quality Measures
Although there are several measures of software quality, we have taken the following
Correctness
Maintenance
Integrity
Usability
Efficiency
Portability
135
Cost
Estimation
136
Cost Estimation
In this project, we have used the COCOMO II model for cost estimation.
According to the COCOMO II Model, the project will cost between Rs. 32000 - 35000.
137
Future Scope
138
Future Scope of the Project
student records. The program's many features simplify record keeping & grading, saving
both time and money. The software has a students list manager, teachers list manager,
courses list manager, subjects list manager & the subject wise & overall result manager.
course related details, subjects under a particular course. This software is very useful
for educational institutes, universities, & colleges because it allows them to maintain the
More modules and features can easily be added in future to make this software more
useful. For example, attendance module, web interface module, etc can be added.
139
Bibliography
MSDN - VB Help
140
Appendices
This project has been developed using Visual Basic 6.0 & SQL
It uses the ADO (ActiveX Data Objects for connecting to the database)
The project uses Microsoft's Data Grid (OLE DB) control for showing all the records at a
time.
141