Miniproject Btech
Miniproject Btech
Student attendance management system deals with the maintenance of the student’s
class. It is maintained on the daily basis of their attendance. the staffs will be provided
with the separate username & password to make the student’s status.
The staffs handling the particular subjects responsible to make the attendance for all
students. Only if the student present on that particular period, the attendance will be
calculated. The student's attendance reports based on weekly and consolidate will be
generated.
LIST OF FIGURES
CHAPTER 1
INTRODUCTION
1.1 OBJECTIVE:
ORACLE 10G:
Oracle 10g has come with purpose of improving manageability and
performance in all areas, right from the process of installation, server configuration,
database upgrades to application tuning, space and storage management and so on. This
Oracle version has been designed to reduce the cost of manageability and deliver high
performance for all key workloads. Also, various new features are provided for high
availability, including new flashback capabilities, virtualization of computing resources
in Grid environment that reduce the cost of hardware and storage, security enhancement,
Business intelligent solutions etc. Let have a glance at some exiting features of Oracle
10g.
➢ Clustering
➢ Grid computing
➢ Server manageability
➢ Network management
➢ Storage management
➢ Space, object transaction management
➢ Back up recovery management
➢ Reduce down time for application and database upgrades
ADO. Net:
An evolutionary, more flexible successor to ADO.A system designed for connected
environments. A programming model with advanced XML support A set of classes,
interfaces, structures, and enumerations that manage data access from within the
.NET Framework
Data Providers
➢ MS SQL Server 7.0+
➢ Oracle
➢ OLE DB (old SQL & Access- Jet 4.0)
➢ Open Database Connectivity (ODBC)- earlier Visual Studio, Access
Driver, ODBC for Oracle
CHAPTER 5 PROJECT
DESCRIPTION
5.1PROBLEM DEFINITION:
This system developed will reduce the manual work and
avoid redundant data. By maintaining the attendance manually, then efficient
reports cannot be generated. The system can generate efficient weekly, consolidate
report based on the attendance. As the attendances are maintained in registers it has
been a tough task for admin and staff to maintain for long time. Instead, the
software can keep long and retrieve the information when needed.
5.2 PROJECT OVERVIEW
Attendance Management System basically has two main modules for proper
functioning
➢ Admin module has rights for creating any new entry of faculty and
student details.
➢ User has a right of making daily attendance, generating report.
Attendance report can be taken by given details of student details,
date, class.
In this module deals with the allocation of roll no and personal details
for new batch. It will generate of personal details of student and
academic details of the students with the photos.
• Staff Details:
➢ It helps to allot the subject and the subject code to the
particular staffs.
➢ It provides the facility to have a user name and password
to the staffs.
• Time table details:
➢ It will retrieve the subject information from the subject
database and assign time table to the staffs.
➢ It will help the admin, staff to make the entry of
attendance based on the subject and period allotted to the
respective staff.
• Attendance details:
➢ It will be makes to the attendance database all students.
Entered attendance to store in the database subject, period wise
into the particular date.
➢ It will help us to the get report of weekly and consolidate of
the attendance.
Report details:
Report can be taken by daily, weekly and consolidate:
➢ weekly report gets all hour details of attendance starting date
to ending date and display the status
➢ Consolidate report get all student attendance details starting
date to ending date status help for the eligibility criteria of the
student to attend the examination.
➢ It assists the staff to mark attendance to the students for their subject. This
will authenticate the staff before making the entry.
• Report details:
1. weekly report gets particular hour details of attendance from starting
date to ending date and display the status.
2. consolidate report get all student attendance details from starting
date to ending date status help for the eligibility criteria of the
student to attend the examination
The output is designed in such a way that it is attractive, convenient and informative.
Forms are designed with various features, which make the console output more pleasing.
As the outputs are the most important sources of information to the users, better design
should improve the system’s relationships with us and also will help in decision making.
Form design elaborates the way output is presented and the layout available for
capturing information.
One of the most important factors of the system is the output it produces. This system
refers to the results and information generated. Basically the output from a computer
system is used to communicate the result of processing to the user.
Attendance management system to show the report subject wise attendance maintaining
by staffs. Taken as a whole report obtain on a administrator privileges only. this forms
will show weekly report and consolidate report generated date, batch, and class wise
to our end user. we want to change our report to convert Excel format .if you want
change any modification.
CHAPTER 6 SYSTEM TESTING
6.1 Introduction
Once source code has been generated, software must be tested to uncover (and correct)
as many errors as possible before delivery to customer. Our goal is to design a series of
test cases that have a high likelihood of finding errors. To uncover the errors software
techniques are used. These techniques provide systematic guidance for designing test
that
(1) Exercise the internal logic of software components, and
(2) Exercise the input and output domains of the program to uncover errors
In program function, behavior and performance.
6.1.1 Steps: Software is tested from two different perspectives:
(1) Internal program logic is exercised using ―White box‖ test case design
Techniques.
(2) Software requirements are exercised using ―block box‖ test case Design
techniques.
In both cases, the intent is to find the maximum number of errors with the Minimum
amount of effort and time.
Test case is an object for execution for other modules in the architecture does not
represent any interaction by itself. A test case is a set of sequential steps to execute a
test operating on a set of predefined inputs to produce certain expected outputs. There
are two types of test cases:-manual and automated. A manual test case is executed
manually while an automated test case is executed using automation.
In system testing, test data should cover the possible values of each parameter based on
the requirements. Since testing every value is impractical, a few values should be
chosen from each equivalence class. An equivalence class is a set of values that should
all be treated the same.
Ideally, test cases that check error conditions are written separately from the functional
test cases and should have steps to verify the error messages and logs. Realistically, if
functional test cases are not yet written, it is ok for testers to check for error conditions
when performing normal functional test cases. It should be clear which test data, if any
is expected to trigger errors.
TEST CASE:
6.3.1 Agent and admin login form
Sno Test case Test case Test case Step Expected Actual Test
id name desc result Result case
status
pass/fai
l
1 Login Validate To verify Enter the
Login Login Pass
admin login that login loginsuccessful successful
name on name or an
login and error
page message
password
“In valid
and click
login or
submit
password
button
” must be
displayed
2 Login Validate To verify Enter the Login Login Pass
Staff login that login login successful successful
name on name or an
login and error
page password message
and click “In valid
submit login or
button password
” must be
displayed
3 Password Validate To verify Enter An error An error fail
password that password message message
password and login “passwor “password
on login name d invalid”
page click invalid” must be
submit must be displayed
button displaye
d
6.3.2 MASTER form
Sn Test Test case Test Step Expected result Actual Test
o case name case Result case
id desc status
pass/fai
l
1 Creat Validate To Nothing An error message Inserted Pass
e allocatio allocate entered student name not succesfu
suden n form separat and click equal to null must l
t e roll no submit be displayed
detail for the button
s student
s
2 Creat Validate To Nothing An error message Inserted Pass
e staff allocatio allocate entered staff details succesfu
detail n form separate and click password,usernam l
s subject submit e not equal to null
usernam button must be displayed
e
passwor
d for the
staffs
3 Creat Validate To Nothing An error message Inserted Pass
e time allocate verify entered not click not succesfu
table period that data and click allocation subject l
form stored on submit table not equal to
database button null must be
displayed
4 View Check To generate An error message An error fail
details of verify d return null will be message
all data that data displayed return
stored on null will
database be
displaye
d
6.3.3 Report form
Sno Test case Test case Test case Step Expected Actual Test
id name desc result Result case
status
pass/fail
1 Weekly Validate To select Nothing An error Retrived Pass
report class that source entered message data
attendance and and on not successful
form destination click selected
submit
button
2 Consolidate Validate To select Nothing An error Retrived Pass
report class that depart entered message data
attendance on and and on not successful
form time click selected
submit
button
CHAPTER 9 APPENDICES
9.1 Source code:
LOGIN:
Imports System.Data
Me.Hide()
i=1
Else
Try
str = "select * from logintable"
rs.Open(str, con, ADODB.CursorTypeEnum.adOpenDynamic,
ADODB.LockTypeEnum.adLockPessimistic)
rs.MoveFirst()
While (rs.EOF <> True)
str = "select * from " & rs.Fields("tablename").Value & ""
rs1.Open(str, con, ADODB.CursorTypeEnum.adOpenDynamic,
ADODB.LockTypeEnum.adLockPessimistic)
While (rs1.EOF <> True)
If String.Equals(rs1.Fields("sname").Value, TextBox1.Text) And
String.Equals(rs1.Fields("pass").Value, TextBox2.Text)
Then temp1 =
rs1.Fields("sname").Value temp2 =
rs1.Fields("scode").Value temp3 =
rs1.Fields("ssname").Value
temp4 = "MDIParent1"
TextBox1.Text = ""
TextBox2.Text = ""
MDIParent1.Show()
Me.Hide()
i=1 Exit
While End
If
rs1.MoveNext()
End While
rs1.Close()
rs.MoveNext()
End While
If i = 0 Then
MsgBox("LOGIN NOT VAILD")
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End If
End Sub
End Sub
End Class
Attendance Entry:
rs.Close()
DataGridView1.Columns.Add(chk)
chk.HeaderText = "PRESENT/ABSENT"
chk.Name = "chk"
chk.Selected = True
DataGridView1.Columns.Add(chk1)
chk1.HeaderText = "ONDUTY"
chk1.Name = "chk1" timetb()
Catch ex As Exception
'rs.Close()
MsgBox(ex.ToString)
End Try
End Sub
End Sub
Else
att = att + ",'O'"
End If
Else
If (flag < 2)
Then att =
"'A'" flag =
3
Else
att = att + ",'A'"
End If
End If
Next
Try
str = "insert into " & ComboBox1.SelectedItem & "_" &
ComboBox5.SelectedItem & "_" & ComboBox2.SelectedItem & "_" &
ComboBox3.SelectedItem & "_att values('" & dat & "'," & ComboBox4.Text & ",'" &
Label7.Text & "'," & att & ")"
con.Execute(str)
MsgBox("insert")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
For Me.i = 1 To 7
If String.Equals(rs1.Fields(i).Value, Label7.Text) Then
ComboBox4.Items.Add(i)
End If
Next
rs1.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Sub
End Sub
End Sub
If CheckBox1.Checked = True
Then i=0
While (i < DataGridView1.Rows.Count)
DataGridView1.Rows(i).Cells(3).Value =
True i=i+1
End While
Else
i=0
While (i < DataGridView1.Rows.Count)
DataGridView1.Rows(i).Cells(3).Value =
False i=i+1
End While
End If
End Sub
Imports Microsoft.Office.Interop
holiday = String.Empty
Try
rs = New ADODB.Recordset
rs1 = New ADODB.Recordset
DataGridView1.Rows.Clear()
DataGridView1.Columns.Clear()
DataGridView2.Rows.Clear()
DataGridView2.Columns.Clear()
DataGridView1.Columns.Add(clm3)
clm3.HeaderText = "ROLLNO"
clm3.Name = "clm3"
Dim d As Date
d = DateTimePicker1.Value.Date
Dim d1 As Date
d1 = DateTimePicker2.Value.Date
diff = DateDiff(DateInterval.Day, d,
d1) j=2
While diff >= 0
Try
str = "Select * from " & ComboBox1.SelectedItem & "_" &
ComboBox5.Text & "_" & ComboBox2.SelectedItem & "_" &
ComboBox3.SelectedItem & "_att where(days='" & d.Date.ToString("dd-MMM-
yyyy")
& "')order by hour asc "
rs1.Open(str, conn, ADODB.CursorTypeEnum.adOpenDynamic,
ADODB.LockTypeEnum.adLockPessimi
stic) rs1.MoveFirst()
count1 = 1
Dim dtxt As New DataGridViewTextBoxColumn()
DataGridView2.Columns.Add(dtxt)
dtxt.HeaderText = d.Date.ToString("dd-MMM-yyyy")
dtxt.Width = 140
While (rs1.EOF <> True)
Dim dtxt1 As New DataGridViewTextBoxColumn()
DataGridView1.Columns.Add(dtxt1)
dtxt1.HeaderText = rs1.Fields("hour").Value.ToString
dtxt1.Width = 20
d = DateAdd(DateInterval.Day, 1, d)
diff = diff - 1
rs1.Close()
End Try
End While
' MsgBox(holiday)
DataGridView1.Rows.Add(holiday)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Panel1.Visible = True
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 100
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")
flag
=0 j
=1
xlWorkSheet.Cells(6, 1) = "SNO".ToString
flag = 0
For Each col As DataGridViewColumn In DataGridView1.Columns
If flag < 2 Then
xlWorkSheet.Cells(6, col.Index + 2) =
col.HeaderText.ToString flag = flag + 1 Else
xlWorkSheet.Cells(7, col.Index + 2) = col.HeaderText.ToString
End If
Next
For i = 1 To DataGridView1.Rows.Count -
1 xlWorkSheet.Cells(i + 7, 1) =
i.ToString flag = 0
For j = 0 To DataGridView1.ColumnCount - 1
Dim vv As String
If DataGridView1(j, i - 1).Value Is Nothing
Then vv = "Niet ingevuld" Else
vv = DataGridView1(j, i -
1).Value.ToString xlWorkSheet.Cells(i
+ 7, j + 2) = vv If flag < 2 Then
xlWorkSheet.Columns(j + 2).ColumnWidth = 15
'xlWorkSheet.Columns.Merge(2)
flag = flag + 1 Else
xlWorkSheet.Columns(j + 2).ColumnWidth = 1
End If
End If
ProgressBar1.Value = (i / DataGridView1.Rows.Count) * 100
Next
Next
xlWorkSheet.Range("A1:AS1").Merge()
xlWorkSheet.Range("A2:AS2").Merge()
xlWorkSheet.Range("A3:AS3").Merge()
xlWorkSheet.Range("A4:AS4").Merge()
xlWorkSheet.Range("A5:AS5").Merge()
xlWorkSheet.Range("D6:J6").Merge()
xlWorkSheet.Range("K6:Q6").Merge()
xlWorkSheet.Range("R6:X6").Merge()
xlWorkSheet.Range("Y6:AE6").Merge()
xlWorkSheet.Range("AF6:AL6").Merge()
xlWorkSheet.Range("AM6:AS6").Merge()
xlWorkBook.Activate()
xlWorkBook.SaveAs("D:\export.xls")
xlWorkBook.Close()
xlApp.Quit()
Panel1.Visible = False
End Sub
End Sub
End Class
Consolidate Report:
Imports Microsoft.Office.Interop
Public Class consli
End Sub
rs.MoveFirst()
i=0
While (rs.EOF <> True)
Dim row As String() = New String() {rs.Fields("rollno").Value,
rs.Fields("name").Value}
DataGridView1.Rows.Add(row)
DataGridView1.Rows(i).HeaderCell.Value = (i +
1).ToString rs.MoveNext() i=i+1 End
While rs.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub adconsoli_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles
MyBase.Load con = New
ADODB.Connection rs = New
ADODB.Recordset
con.Open("driver={microsoft ODBC
for
Oracle};server=test;uid=M11MCA20;pwd=M11MCA20;")
Label8.Text = login.temp1
Label11.Text = login.temp2
Label10.Text = login.temp3
End Sub
j=2
Try
str = "Select * from " & ComboBox1.SelectedItem & "_" &
ComboBox5.Text & "_" & ComboBox2.SelectedItem & "_" &
ComboBox3.SelectedItem & "_att where(days='" & d.Date.ToString("dd-MMM-
yyyy")
& "' and subject='" & Label10.Text & "')order by hour asc "
rs.Open(str, con, ADODB.CursorTypeEnum.adOpenDynamic,
ADODB.LockTypeEnum.adLockPessimistic)
rs.MoveFirst()
Dim flag1(100) As
Integer
While (rs.EOF <> True)
Dim rcount As Integer
=0 Dim count As
Integer = 3 k=0
While (rs.Fields.Count > count)
If String.Equals(rs.Fields(count).Value, "P") Or
String.Equals(rs.Fields(count).Value, "O") Then
pre_hours(k) = pre_hours(k) + 1
ElseIf String.Equals(rs.Fields(count).Value, "A") Then
ab_hours(k) = ab_hours(k) + 1
End If
tot_hours(k) = tot_hours(k) + 1
rcount = rcount
+1 count = count
+1 k=k+1
End While j=j+
1
rs.MoveNext()
End While
End While
Catch ex As Exception
MsgBox(ex.ToString)
End Try
i=0
While (i < DataGridView1.Rows.Count - 1)
DataGridView1.Rows(i).Cells(2).Value = pre_hours(i)
DataGridView1.Rows(i).Cells(3).Value = ab_hours(i)
DataGridView1.Rows(i).Cells(4).Value = tot_hours(i)
DataGridView1.Rows(i).Cells(5).Value = Math.Round((pre_hours(i) /
tot_hours(i) * 100), 2)
i=i+1
End While
End Sub
End Sub
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")
xlWorkSheet.Cells(i + 6, j + 1) = vv
End If
Next
ProgressBar1.Value = (i / DataGridView1.Rows.Count) * 100
Next
xlWorkBook.Activate()
xlWorkBook.SaveAs("D:\Consolidate.xls")
xlWorkBook.Close() xlApp.Quit()
Panel1.Visible = False
MsgBox("You can find your report at " & "D:\Consolidate.xls")
End Sub
End Class
9.2 Screen Shots:
9.2.1LOGIN:
Figure: 9.2.1-login
9.2.2ADMIN HOME PAGE:
Figure :9.2.2 admin home page
9.2.2.3TIME TABLE:
Figure :9.2.2.3 time table
9.2.2.4 VIEW STUDENTS DETAILS:
Figure:9.3.1daily attendance
9.3.2 UPDATE ATTENDANCE:
Figure:9.3.1 Update attendance
CHAPTER 10
REFERENCES
Books References
1. Introducing Microsoft .NET, Second Edition author David S. Platt.
2. Joe Mayo, “Microsoft Visual Studio 2010: A Beginner's Guide”, Tata McGraw
Hill, 2010.
3. Alex Mackey, “Introducing .NET 4.0: With Visual Studio 2010”, Press, USA,
2010.
WEBSITES
1. http://www.msdn.net/
2. http://msdn.microsoft.com/en-us/library/orm-9780596518455-02.aspx
3. http://www.w3schools.com/asp.net/
4. http://www.cramerz.com/aspdotnet
5. http://www.dotnetspider.net/
6. http://www.stackoverflow.com
7. http://www.codeproject.com