0% found this document useful (0 votes)
16 views

Java FMP

The document describes an attendance management system project created using Java. The system allows users to add and view student details, mark and edit attendance, and view attendance by roll number. The project utilizes classes, packages, GUI, and files and provides functionality for efficiently managing student attendance records.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Java FMP

The document describes an attendance management system project created using Java. The system allows users to add and view student details, mark and edit attendance, and view attendance by roll number. The project utilizes classes, packages, GUI, and files and provides functionality for efficiently managing student attendance records.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Maharashtra State Board of Technical

Education, Mumbai
Year 2023-24

CERTIFICATE
This is to certify that Roll no. of SY CO 22336 of Fourth Semester of Diploma in Computer
Engineering of Institute GOVERNMENT POLYTECHNIC MIRAJ (Inst. Code; 0131) has
completed the Micro-Project satisfactorily in the Subject Java Programming (22412) for the
academic year 2023-2024 as prescribed in the curriculum by MSBTE Mumbai.

Place : Government Polytechnic, Miraj


Date :

Mr. B. P. Mulla Mr. V.R.Falmari Capt. Mr. Nitin Sonaje

Subject In-Charge Head of Department Principal


Maharashtra State Board of Technical Education ,
Mumbai GOVT. POLYTECHNIC
MIRAJ

MICRO-PROJECT
Academic year-2023-24

TITLE OF MICRO- PROJECT


ATTENDANCE MANAGEMENT SYSTEM

Program: Computer Engineering Semester: 4th semester


Course Title: Java Programming Code: 22412

Group Details

Roll no. Student Name Enrollment No.


22336 Vinay S Niranjan 2201310205
Micro-Project Proposal

Title of the Project: “ATTENDANCE MANAGEMENT SYSTEM”

1.0 Aims/Benefits of the Micro-Project:

 Management for Attendance System


 Understanding various features of java programming.
 Practical implementation of Classes, packages, GUI, Files and etc.
 Improved processes
 Benefits :
I. To know various tools used in developing functioning java program
II. To learn how to work with Front-end.

2.0 Course Outcomes Addressed:

 To develop a base of foundation for java language.


 Creating our own logic to develop well functional restaurant software.
 Develop satisfactory logic to solve system related problems.

3.0 Proposed Methodology:


The collective measures or the processes that will be followed and implemented for the
execution of the micro project will be as follows:

 Collected materials related to project.


 Support development of more need and user driven projects.
 Contribute to the maximum requirements of project.
 Addressing work plan for a micro project
 Guide the group members and analyzed the data.
 Eligible match finding the proper information.
 Soft copy corrections by respective teachers.
 Completion of the micro project properly.
 Final copy and submission.

4.0 Resources Required


Sr. No. Name of Resources Specifications

1. Computer System Computer(i3-i7)preferable RAM


minimum 2GB and onwards

2. Operating System Windows-10


3. Application Eclipse
5.0 Action Plan

Sr. No. Details of Activity Start date Finish date


1. Selection of topic 23/03/24 24/03/23
2. Making of proposal 24/03/23 26/03/23
3. Literature Review 28/03/23 30/03/23
4. Collection of Information 04/04/23 07/04/23
5. Making final report 02/05/23 03/05/23
6. Checking of Micro Project with help 04/05/23 04/05/23
of teacher

6.0 Name of Team Member with Roll No:

Roll no. Student Name Enrollment No.


22336 Vinay S Niranjan 2201310205

Signature
Project Guide
Micro-Project Report

Title of the Project: “ATTENDANCE MANAGEMENT SYSTEM ”

1.0 Rationale:

The Student Attendance Management System, developed in Java, is a comprehensive solution


aimed at efficiently managing attendance records within an educational institution. It
encompasses key entities such as Student, Attendance, Teacher, Attendance Record, and Class
Schedule, each with specific attributes to facilitate effective management. The system enables
tasks such as student profile management, class scheduling, attendance tracking, and reporting.
It ensures accurate recording of attendance data and provides functionalities for teachers to
monitor student attendance and performance. Additionally, the system offers integration
capabilities with grading systems for streamlined academic performance assessment. By
optimizing attendance tracking and ensuring accurate record-keeping, the system contributes to
the smooth functioning of educational processes and enhances overall student engagement and
academic success.

2.0 Course outcomes related micro-project:

 To develop a base of foundation for java language.


 Creating our own logic to develop well functional restaurant software.
 Develop satisfactory logic to solve system related problems.

3.0 Literature review:

 Class, packages, GUI and such various objects presented in the code above.
 The resources used are different reference books, a personal computer.

4.0 Actual Resources Used

Sr. No. Name of Resources Specifications

1. Computer System Computer(i3-i7)preferable RAM


minimum 2GB and onwards

2. Operating System Windows-11


3. Database Files
4. Application VS 2019
5.0 Actual Methodology Followed:

Sr. No. Details of Activity Start date Finish date


1. Selection of topic 23/03/23 24/03/23
2. Making of proposal 24/03/23 26/03/23
3. Literature Review 28/03/23 30/03/23
4. Collection of Information 04/04/23 07/04/23
5. Making final report 02/05/23 03/05/23
6. Checking of Micro Project with help 04/05/23 04/05/23
of teacher

6.0 Outputs of the Micro-Project:


Code Snipets:
import java.util.Scanner;
import java.io.FileWriter;
import java.io.IOException;

class Student {
String name;
int rollNo;
String[] subjects;

Student(String name, int rollNo, String[] subjects) {


this.name = name;
this.rollNo = rollNo;
this.subjects = subjects;
}
}
class Attendance {
boolean[][][] attended;

Attendance() {
this.attended = new boolean[35][100][10]; // 35 lectures, 100 students, and 10 subjects
}
}
public class AttendanceManagementSystem {
static final Scanner scanner = new Scanner(System.in);
static Student[] students = new Student[100];
static Attendance attendanceRecord = new Attendance();
static int studentCount = 0;

public static void main(String[] args) {


boolean exit = false;
while (!exit) {
System.out.println("\nAttendance Management System");
System.out.println("1. Add Student");
System.out.println("2. View All Students Details");
System.out.println("3. Edit Student Details");
System.out.println("4. Delete Student ");
System.out.println("5. Mark Attendance");
System.out.println("6. Edit Attendance");
System.out.println("7. View Attendance by Roll No");
System.out.println("8. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
scanner.nextLine();

switch (choice) {
case 1:
addStudent();
break;
case 2:
viewAllStudentsDetails();
break;
case 3:
editStudentDetails();
break;
case 4:
deleteStudentDetails();
break;
case 5:
markAttendance();
break;
case 6:
editAttendance();
break;
case 7:
viewAttendanceByRollNo();
break;
case 8:
exit = true;
break;
default:
System.out.println("Invalid choice. Please enter a number between 1 and 8.");
}
}
scanner.close();
}

static void addStudent() {


System.out.print("Enter student name: ");
String name = scanner.nextLine();
System.out.print("Enter student roll number: ");
int rollNo = scanner.nextInt();
scanner.nextLine();
String[] subjects = {"CPP", "DSU", "JAVA", "DCC", "OS"};
students[studentCount++] = new Student(name, rollNo, subjects);
System.out.println("Student added successfully!");

try (FileWriter writer = new FileWriter("students.txt", true)) {


writer.write(name + "," + rollNo + "\n");
} catch (IOException e) {
System.out.println("An error occurred while writing to the file: " + e.getMessage());
}
}

static void viewAllStudentsDetails() {


if (studentCount == 0) {
System.out.println("No students in the system.");
return;
}
System.out.println("All Students Details:");
System.out.println("--------------------------------------------------------------------------");
System.out.printf("| %-10s | %-10s |\n", "Roll No", "Name");
System.out.println("--------------------------------------------------------------------------");
for (int i = 0; i < studentCount; i++) {
System.out.printf("| %-8d | %-10s |\n", students[i].rollNo, students[i].name);
}
System.out.println("--------------------------------------------------------------------------");
}
static void editStudentDetails() {
if (studentCount == 0) {
System.out.println("No students in the system. Add students first.");
return;
}

System.out.print("Enter student roll number to edit details: ");


int rollNo = scanner.nextInt();
scanner.nextLine();

int studentIndex = findStudentIndex(rollNo);


if (studentIndex == -1) {
System.out.println("Student with roll number " + rollNo + " not found.");
return;
}

System.out.print("Enter new name: ");


String newName = scanner.nextLine();
System.out.print("Enter new roll number: ");
int newRollNo = scanner.nextInt();
scanner.nextLine();

students[studentIndex].name = newName;
students[studentIndex].rollNo = newRollNo;
System.out.println("Student details updated successfully.");
}

static void deleteStudentDetails() {


if (studentCount == 0) {
System.out.println("No students in the system.");
return;
}
System.out.print("Enter student roll number to delete: ");
int rollNo = scanner.nextInt();
scanner.nextLine();

int studentIndex = findStudentIndex(rollNo);


if (studentIndex == -1) {
System.out.println("Student with roll number " + rollNo + " not found.");
return;
}

for (int i = studentIndex; i < studentCount - 1; i++) {


students[i] = students[i + 1];
}
studentCount--;
System.out.println("Student details deleted successfully.");
}

static void markAttendance() {


if (studentCount == 0) {
System.out.println("No students in the system. Add students first.");
return;
}

System.out.print("Enter student roll number: ");


int rollNo = scanner.nextInt();
scanner.nextLine();

int studentIndex = findStudentIndex(rollNo);


if (studentIndex == -1) {
System.out.println("Student with roll number " + rollNo + " not found.");
return;
}

System.out.println("Lectures already marked for " + students[studentIndex].name + ":");


for (int lectureNumber = 1; lectureNumber <= attendanceRecord.attended.length; lectureNumber++) {
boolean marked = false;
for (int i = 0; i < students[studentIndex].subjects.length; i++) {
if (attendanceRecord.attended[lectureNumber - 1][i][studentIndex]) {
marked = true;
break;
}
}
if (marked) {
System.out.print(lectureNumber + " ");
}
}
System.out.println();

System.out.print("Enter lecture number (out of 35 lectures): ");


int lectureNumber = scanner.nextInt();
scanner.nextLine();

Student student = students[studentIndex];


for (int i = 0; i < student.subjects.length; i++) {
System.out.print("Is " + student.name + " present in " + student.subjects[i] + " lecture? (true/false): ");
boolean present = scanner.nextBoolean();
attendanceRecord.attended[lectureNumber - 1][i][studentIndex] = present;
}

System.out.println("Attendance marked successfully.");


}

static void editAttendance() {


if (studentCount == 0) {
System.out.println("No students in the system.");
return;
}

System.out.print("Enter student roll number: ");


int rollNo = scanner.nextInt();
scanner.nextLine();
int studentIndex = findStudentIndex(rollNo);
if (studentIndex == -1) {
System.out.println("Student with roll number " + rollNo + " not found.");
return;
}

System.out.print("Enter subject name: ");


String subjectName = scanner.nextLine();
System.out.print("Enter lecture number (out of 35 lectures): ");
int lectureNumber = scanner.nextInt();
scanner.nextLine();

int subjectIndex = findSubjectIndex(subjectName, students[studentIndex].subjects);


if (subjectIndex == -1) {
System.out.println("Subject not found for this student.");
return;
}

System.out.print("Edit attendance for " + students[studentIndex].name + " in " + subjectName + " lecture? (true/false): ");
boolean present = scanner.nextBoolean();
attendanceRecord.attended[lectureNumber - 1][subjectIndex][studentIndex] = present;

System.out.println("Attendance edited successfully.");


}

static void viewAttendanceByRollNo() {


if (studentCount == 0) {
System.out.println("No students in the system.");
return;
}

System.out.print("Enter student roll number: ");


int rollNo = scanner.nextInt();
scanner.nextLine();

int studentIndex = findStudentIndex(rollNo);


if (studentIndex == -1) {
System.out.println("Student with roll number " + rollNo + " not found.");
return;
}

Student student = students[studentIndex];


System.out.println("Attendance for " + student.name + " (Roll No: " + student.rollNo + "):");
for (int i = 0; i < student.subjects.length; i++) {
int lecturesAttended = 0;
for (int j = 0; j < attendanceRecord.attended.length; j++) {
if (attendanceRecord.attended[j][i][studentIndex]) {
lecturesAttended++;
}
}
System.out.println(student.subjects[i] + ": " + lecturesAttended + " out of 35 lectures");
}
}

static int findStudentIndex(int rollNo) {


for (int i = 0; i < studentCount; i++) {
if (students[i].rollNo == rollNo) {
return i;
}
}
return -1;
}

static int findSubjectIndex(String subjectName, String[] subjects) {


for (int i = 0; i < subjects.length; i++) {
if (subjects[i].equalsIgnoreCase(subjectName)) {
return i;
}
}
return -1;
}
}
7.0 Skill Developed/Learning outcome of this Micro-Project:-

 The concept of project understood


 The structure and requirement of proposal and report understood
 The necessity of group work is well understood
 How to search information and use of different online tools come to know.
 Handling the Java Objectives and Files efficiently.
 Practical implementation of Java Programs and files.

8.0 Applications of this Micro-Project :

This Micro project can help us to understand the proper implementation of Java particularly
the files and it objects to be used in the real life application which aim or facilitate the
working of the specific systems .
Micro-project Evaluation Sheet

Name of Student:
Roll No. Name of student Enrolment No.
22336 Vinay S Niranjan 2201310205

Name of Programme: Computer Engineering

Semester: 4

Course Title: Java Programming

Course code: 22412

Title of Micro-project: ATTENDANCE MANAGEMENT SYSTEM

Course outcomes achieved:

1. To develop a base of foundation for java language.


2. Creating our own logic to develop well functional restaurant software.
3. Develop satisfactory logic to solve system related problems.
Sr.No. Characteristics to be Poor Average Good Excellent Sub
assessed (Marks 1-3) (Marks 4-5)(Marks 9- (Marks 9-10) total
10)
(A)Process and Product Assessment (Convert above total marks out of 6 marks)
1. Relevance to the course

2. Literature Review/information
collection
3. Completion of Target as per project
proposal
4. Analysis of Data and representation

5. Quality of Prototype/Model

6. Report Preparation

(A) (B)
Roll No. Process and Product Individual Presentation or viva Total Marks 10
assessments (6 marks) (4 marks)
22336

Comments/Suggestions about team work/leadership/inter-personal communication:


…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
……………………………………………………………………………………………
Name and designation of the Teacher: -
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
……………………………………………………………………………………………
Dated Signature: -
…………………………………………………………………………………………………

You might also like