0% found this document useful (0 votes)
31 views93 pages

Student Performance Monitor System Report

Project report for Database Management System course for a Student Performance Monitoring System

Uploaded by

Abu Musa Sakib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views93 pages

Student Performance Monitor System Report

Project report for Database Management System course for a Student Performance Monitoring System

Uploaded by

Abu Musa Sakib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

SPMS Group 4

Student Performance Monitor


CSE303 Section 3
Group 4
Database Management
Final Report
Name ID
Mohammed Shoaib 1930258
Abdullah Al Akib 1930885
Sumyia Afnan Mukta 1810668
Farhana Afruz 1821821
Abu Musa Sakib 1810617
Md Rubaut Reshed Chowdhury 1721088

1
Independent University Bangladesh
SPMS Group 4

CONTENTS
CHAPTER 1: INTRODUCTION..............................................................................................................3
BACKGROUND OF THE ORGANIZATION.....................................................................................3
BACKGROUND OF THE PROJECT.................................................................................................3
OBJECTIVES OF THE PROJECT.....................................................................................................5
SCOPE OF THE PROJECT................................................................................................................5
CHAPTER 2: REQUIREMENT ANALYSIS..........................................................................................6
DESCRIPTION OF RICH PICTURE (AS IS)....................................................................................6
RICH PICTURE OF EXISTING BUSINESS SYSTEM (AS IS)..................................................6
SIX ELEMENT ANALYSIS OF EXISTING BUSINESS SYSTEM (AS IS)...................................7
PROCESS DIAGRAM OF EXISTING BUSINESS SYSTEM (AS IS).........................................16
GATHER DATA AND PREPARE INITIAL CO PLO MAPPING..............................................16
COURSE PLANNING/PLAN THE COURSE FOR A PARTICULAR TERM.........................16
CONDUCT THE COURSE AND PERFORM REGULAR ASSESSMENT.............................17
PREPARE GRADE SHEET AND IMPROVEMENT REPORT.................................................18
EXISTING PROBLEMS & ANALYSIS OF THE PROBLEM........................................................19
DESCRIPTION OF RICH PICTURE (TO BE)................................................................................21
RICH PICTURE OF PROPOSED BUSINESS SYSTEM (TO BE)...........................................21
SIX ELEMENT ANALYSIS OF PROPOSED BUSINESS SYSTEM (TO BE)...........................22
PROCESS DIAGRAM OF PROPOSED BUSINESS SYSTEM (TO BE)...................................42
GATHER DATA AND PREPARE INITIAL CO PLO MAPPING..............................................42
COURSE PLANNING/PLAN THE COURSE FOR A PARTICULAR TERM.........................43
CONDUCT THE COURSE AND PERFORM REGULAR ASSESSMENT.............................44
PREPARE GRADE SHEET AND IMPROVEMENT REPORT.................................................45
CHAPTER 3: LOGICAL SYSTEM DESIGN.......................................................................................46
BUSINESS RULES............................................................................................................................46
EERD....................................................................................................................................................47
ERD TO RELATIONS........................................................................................................................48
NORMALIZATION..............................................................................................................................49
DATA DICTIONARY..........................................................................................................................49
CHAPTER 4: PHYSICAL SYSTEM DESIGN.....................................................................................53

2
Independent University Bangladesh
SPMS Group 4

CHAPTER 5: CONCLUSION...............................................................................................................90
PROBLEM & SOLUTION..................................................................................................................90
ADDITIONAL FEATURES & FUTURE DEVELOPMENT............................................................90
CONCLUSION AND RECOMMENDATIONS................................................................................90
REFERENCES........................................................................................................................................91

CHAPTER 1: INTRODUCTION
BACKGROUND OF THE ORGANIZATION
Independent University, Bangladesh a.k.a. IUB was established in 1993. It is a professional academy
fixated on creating students of high caliber, intelligence and overall turning them into professionals for the
world out there.

It currently has 6 schools of studies:

 School of Engineering and Computer Science

 School of Business

 School of Liberal Arts and Social Sciences

 School of Environmental Sciences and Management

 School of Life Sciences

 School of Public Health

IUB uses smart and new techniques of education which are robust, holistic, and excellent to help every
individual student to bloom in the perfect way.

It also focuses on the social life of students providing them with the options of joining from the numerous
clubs available, also hosting events such as sports activities, festivals, concerts etc.

BACKGROUND OF THE PROJECT


The project is to build a software system for IUB which can effectively evaluate and assess the students.
The system takes in the newly introduced assessment technique which uses Course Outcomes (COs)
and Program Learning Outcomes (PLOs). PLOs represent a specific skill set the student should gain or
expected to gain by the end of the course. The software tries to Map the PLOs to the COs and check
whether a student has gained the certain skill he is meant to have.

3
Independent University Bangladesh
SPMS Group 4

In the project we make the faculties input the PLOs they get from IEB and the COs into the system so that
it can Map them accordingly. This project is aimed to save time for everyone and make the hectic process
easier and smoother since it helps faculties get an insight on the students’ progress, the students to find
out where they are lacking.

4
Independent University Bangladesh
SPMS Group 4

OBJECTIVES OF THE PROJECT


Our software intends to make it easier for faculties to gain insight on the students and Figure out where
they are lacking meanwhile also letting the students know where they are weak and on what topics to
work on. The automated software along with easy-to-use interfaces will reduce the manual processes
drastically and give ideas about how teaching and the syllabus could be improved for the students, all
these would make the educational sector better, advanced, and robust.

SCOPE OF THE PROJECT


The Aim is to improve the current system with our proposed solution, where we are looking forward to

 Create a system which takes input with an easy to go interface.


 Make the system accessible by permission holders.
 MAP COs with the PLOs
 Data assembling and storing.
 Generating reports

Our initial response is to make it primarily for IUB, but this could potentially be used by other universities
and in many other sectors with small changes in the system code.

5
Independent University Bangladesh
SPMS Group 4

CHAPTER 2: REQUIREMENT ANALYSIS


DESCRIPTION OF RICH PICTURE (AS IS)
Rich pictures are modelled using diagrams and illustrated graphically which has the main elements and
relationship they have between them according to the business system in place.

RICH PICTURE OF EXISTING BUSINESS SYSTEM (AS IS)

Rich Picture (AS-IS)

6
Independent University Bangladesh
SPMS Group 4

SIX ELEMENT ANALYSIS OF EXISTING BUSINESS SYSTEM (AS IS)


Process System Roles

Human Non- Computing Software Database Network


computing Hardware
& Communication
Hardware

BAETE: Paper: Computer: Microsoft Office: OBE storage: Internet:

1. Makes [Link] 1. Uploads/ 1. Make notice, [Link]/access 1. Access the web to


accreditation down Downloads the reports, download and upload.
manual and the
manual. necessary Manual from accreditation
initial mapping in 2. Sharing the information.
notes. the website. manual etc. using
2. If the manual is cloud or physical
Microsoft Word. [Link] the website
verified after it is [Link] for 2. Used to storages.
and portals.
verified through a printing send mails 2. Use tables to
File Cabinet:
signature, upload tables about map and Intercom:

it online. mentioned in necessary manage using [Link] the


1. Connect to people
the manual, details. Microsoft Excel. necessary
3. If not required, within the office for any
printing the documents in
then make [Link] the 3. Make requirement.
manual and hard copy.
necessary information. presentations Networking devices
mapping
changes. to represent a (Router, Modem):
manually. [Link] the
summary of
Department: information. 1. Make necessary arrang
Pen: collected informati
1. Download the Printer: ements to access
on using Microsoft
[Link] for the Internet by BAETE
manual from PowerPoint
writing and 1. Prints
BAETE’s website, and department members
mapping on BAETE [Link] Microsoft
view it and print
paper. manual and Outlook for
the necessary
also other emailing
pages of the 2. Signing
relevant purposes.
manual. the
documents.
accredited PDF reader:
2. Finds the
manual from Scanner:
objectives of CO- 1. Reading the
BAETE. 1. Scans hard
PLO mapping necessary
from the manual. copy reports, documents.
Gather data
documents, list
and 3. Research on [Link] BAETE
and others for
prepare the topics accredited
future
mentioned in the manual.
initial CO reference.
manual.
PLO Web Browser:

mapping 4. Lists down all


1. Access
the courses under

7
Independent University Bangladesh
SPMS Group 4

Process System Roles

Human Non- Computing Software Database Network


computing Hardware
& Communication
Hardware

the OBE program information from


using pen and other sources for
paper and scans reference.
it.
2. Access the web
5. Gets the COs or any custom
from the course hosted server
description and and upload,
Course details. view and
update related
6. Decides the
data.
number of COs to
take in a course. [Link]/
Downloads the
7. Determine
Manual from the
which Bloom’s
website.
taxonomy is
suitable for the 4. Used to send
CO and the mails to those who
knowledge skill. are concerned
[1] about necessary
details and
8. Based on the
relevant
above information
documents.
and the course
level, the COs are
mapped with
PLOs.

9. Saves the
relevant
documents to
OBE storage/File
Cabinet.

Higher Pen and Computer: Microsoft Office: OBE storage: Internet:


Authority: Paper:

8
Independent University Bangladesh
SPMS Group 4

Process System Roles

Human Non- Computing Software Database Network


computing Hardware
& Communication
Hardware

1. Request for 1. 1. Department 1. Instructor 1. Store and 1. Access the web.


usage of BAETE Department gets a prepares the access data.
Accreditation gives template of the course outline, Intercom:

manual and OBE signatures OBE course question paper 2. Store course
outline. 1. Connect to people
Course outline using pen. outline. and marks
within the office for any
from UGC. scheme using
Stapler: 2. Researching requirement.
Microsoft Word.
2. Get permission online and
1. Staples Networking devices
to use the BAETE referring to Web Browser:
multiple (Router, Modem):
Accreditation previous
manual and OBE pages. materials. 1. Get the 1. Make necessary
Course outline template from arrangements to access
2. Staple 3. Instructor UGC’s website.
template from the Internet.
pages of modifies the
UGC.
course course outline, 2. Instructors will

Department: outline. creates a mark get the previous


Course semester course
scheme, and
Planning/Pl 1. Get BAETE chooses outline, question
an the Accreditation questions. paper format etc.

course for a manual and OBE

particular Course outline 4. Sets


from Higher schedules
term.
authority.

2. After getting
them, the initial
course outline
and CO-PLO
mapping will be
formed. [2]

3. Initially sets the


assessment
strategy and
schedule.

9
Independent University Bangladesh
SPMS Group 4

Process System Roles

Human Non- Computing Software Database Network


computing Hardware
& Communication
Hardware

4. Gives the initial


course outline to
the instructor.

5. Provide
previous
semester
materials from the
OBE storage to
the instructors.
(Materials such as
course outline,
question paper
format, CO/PLO/
Bloom's
Taxonomy and
Rubric based
evaluation etc.)

Instructor:

1. Gets the initial


course outline
and assessment
strategy from the
department.

2. If it is required
to get a previous
semester
materials
instructor can
request the
department to get
them from the
OBE storage.

10
Independent University Bangladesh
SPMS Group 4

Process System Roles

Human Non- Computing Software Database Network


computing Hardware
& Communication
Hardware

(Materials such as
course outline,
question paper
format, CO/PLO
mapping/ Bloom's
Taxonomy and
Rubric based
evaluation etc.)
[3]

3. If not required
then modify the
course outline
according to
his/her own style
of assessment.

4. Store course
outline.

5. Provide course
outline to the
students.

6. Then the
schedule of the
assessments is
set.

Department: Pen and Computer: Microsoft Office: Cloud storage: Internet:


paper:
1. The [Link] [Link] make 1. Storing [Link] the website
department along [Link] and access reports and other necessary and portals.
with instructors paper can previously documents using resources to
2. Upload and Download
map an initial set be used by stored data Microsoft Word. Google Drive,
the documents.
of COs department related to cloud, Dropbox,
2. Students make
and PLO’S and GitHub etc. for
[Link] graded assignments using

11
Independent University Bangladesh
SPMS Group 4

Process System Roles

Human Non- Computing Software Database Network


computing Hardware
& Communication
Hardware

answer script instructor for CO’s. Microsoft Word. ease of access. 3. Sharing the documents.
provided by the initial
2. Instructor 3. Making Networking devices
instructor in OBE mapping of
and student tabulation of data (Router, Modem):
storage. CO’s
both can use for easier
1. Making necessary
Instructor: [Link] the computer management
arrangements to access
sets for online class using Microsoft
1. Map an initial the Internet.
assessment and Excel.
set of COs with
plan assessments
the help of the 4. Making
department. through pen 3. Department, presentations
and paper. instructor and using Microsoft
2. Can request for
Student PowerPoint
a sample of [Link]
Uploading and
previous checks the Web Browser:
downloading
semester answer
information. 1. Accessing
question papers script
online learning
from the through pen. 4. Department,
platforms such as
department if instructor and
[Link] Google
required. Student
answer Classroom,
[Link] script Storing the Piazza etc.
chooses students information.
2. Accessing
Conduct the questions from his make use of
Mobile video
course and or her own pen and
Phone: conferencing
perform question paper paper.
platforms such as
regular bank or sets new 1. Students
Desk: Google Meet,
assessment questions take pictures of
Zoom, Microsoft
according to the 1. Students the answer
Teams etc.
provided question give exams script and

format. by sitting on generate PDF. 3. Researching


the desk. about a topic.
4. Keep a record Printer:

of attendance of Clock: 4. Providing


1. Students
the students. materials by the
1. Instructors print
instructor.
keep track of assignments
time passed and other
[Link] during related
assessments assessment

12
Independent University Bangladesh
SPMS Group 4

Process System Roles

Human Non- Computing Software Database Network


computing Hardware
& Communication
Hardware

according to the s. documents.


assessment plan
2. Department
and set question
and instructor
papers.
prints
6. Receive the documents.
assessments from
Scanner:
the students and
check all the 1. Scanning

assessments and questions or

give necessary assessments

marking
accordingly.

7. Can share the


marks to the
students and can
provide feedback
to students
regarding the
assessment and
receive feedback
from students if
necessary.

8. Provide graded
answer scripts to
the department.

Students:

1. Get question
paper from the
instructors.

2. Sit for exams


on a desk and do
assignments,
projects,
presentations. 3.

13
Independent University Bangladesh
SPMS Group 4

Process System Roles

Human Non- Computing Software Database Network


computing Hardware
& Communication
Hardware

Submit answer
scripts,
assignments,
projects, and
presentations etc.
to the instructors
within the
deadline.

4. Get feedback
and marks from
the instructor.

5. If a student has
any issue
regarding
assessments,
then inform the
instructor.

6. Gives feedback
on teachers’
performance
through faculty
evaluation.

14
Independent University Bangladesh
SPMS Group 4

Process System Roles

Human Non- Computing Software Database Network


computing Hardware
& Communication
Hardware

Student: Pen and Computer: Microsoft Office: OBE Storage: Internet:


Paper:
1. Ask the [Link] to 1. To access 1. Hard Copy of 1. Access the web.
instructor for a 1. Final prepare grade Microsoft Excel the grade sheet
Networking devices:
grade sheet grades of sheets. where the and CQI report
report. the students template of the are stored in 1. Make necessary
[Link] to
can be grade sheet is OBE Storage. arrangements to access
Instructor: prepare or
written in used to insert the the Internet.
access
1. Receive paper for marks.
previous CQI
assessments easy
reports. 2. Use the grade
such as quiz, reference.
sheet to analyze
presentation, lab Printer:
2. The CQI further and
etc.
report is 1. Print CQI provide a verdict
2. Mark the written in reports and for the CQI report
assessments. paper. grade sheets which can be
to store in OBE stored on
3. Record all the .
storage. Microsoft word if
marks and
prepare a grade necessary.

sheet according 3. Make


to the grade sheet presentations
template where using Microsoft
the CO and PLO PowerPoint to
are graded as represent the
well. findings of CQI.

Prepare 4. Share the Web Browser:


grade sheet grade sheet with
1. Access online
and the student.
learning platforms
improvement
5. Prepare a CQI such as Google
report
report according Classroom,
to the marksheet Piazza etc.
analyzing all the
2. Access video
available data in
conferencing
it.
platforms such as
[Link] the CQI Google Meet,
report and sends Zoom, Microsoft

15
Independent University Bangladesh
SPMS Group 4

Process System Roles

Human Non- Computing Software Database Network


computing Hardware
& Communication
Hardware

it to the Teams etc.


department
3. Research about
head/Higher
a topic.
Authority.

Department:

1. Stores the
grade sheet and
CQI in OBE
storage.

PROCESS DIAGRAM OF EXISTING BUSINESS SYSTEM (AS


IS)
GATHER DATA AND PREPARE INITIAL CO PLO MAPPING

Data collection and initial mapping

16
Independent University Bangladesh
SPMS Group 4

COURSE PLANNING/PLAN THE COURSE FOR A PARTICULAR TERM

Planning for a course

CONDUCT THE COURSE AND PERFORM REGULAR ASSESSMENT

Course conduct and assessments

17
Independent University Bangladesh
SPMS Group 4

PREPARE GRADE SHEET AND IMPROVEMENT REPORT

Grade sheet and report generation (improvement)

18
Independent University Bangladesh
SPMS Group 4

EXISTING PROBLEMS & ANALYSIS OF THE


PROBLEM
Process Stakeholders Problems Analysis Proposed solution

1) A system which will have all


necessary details about the courses.
 Level of the course.
 List of the courses in OBE
program.

1) This takes too much 2) Automatic system mapped PLO CO:


1) Department time to do manually.  Gives the option to choose the
does the initial number of CO’s and keywords.
1) Department mapping manually. 2) It is a problem to  Department chooses the
Gather data and prepare 2) Instructor handle all the PLOs and number of CO’s and the
initial CO PLO mapping 2) Instructor gets COs as it can get required keywords under the
the PLOs and disorganized. CO.
maps the COs if  Automatically the mapping will
needed. 3) Requires too much be done.
non computing
3) Verification hardware.
issues.
Course outline and course 1) UGC 1) To get the 1) The department must 1) If the CO/PLO/ Bloom's Taxonomy
planning 2) Department previous semester do a lot of tasks. and Rubric based evaluation of all
3) Instructor question paper semesters are stored online then it is
format, CO/PLO/ easy for instructors to get access. He or
Bloom's Taxonomy 2) Some of the faculties she does not have to request the
and Rubric based do not make changes in department to get it.
evaluation from the course outline in his/her
OBE storage, own strategy.
instructors must
request the
Department.

Conduct the course and 1) Instructor 1) Feedback of 1) If after a discussion 1) Our system will allow updates of the
perform regular 2) Student assessments are between instructor and database for marks.
assessment not efficiently student, the instructor
addressed. finds out that there 2) If the record of the feedback is stored
needs to be an update of in an automated system, then it will be
2) Record of the marks in an assessment, possible to access it easily if needed.
feedback is stored there is no efficient and
manually organized way to do it 3) If the question bank and mark
and store. scheme is stored in the SPMS
3) Question bank of database, then other instructors as well
a course is 2) Records of feedback as students can view them.
manually are not always stored
maintained by the properly and also not
instructor, which is efficient.
stored individually.
3) Question bank and
4) Mark Scheme of mark scheme is stored
a course is privately by the
manually instructor, no one else
maintained by the cannot access it.

19
Independent University Bangladesh
SPMS Group 4

instructor, which is
stored individually.

1) Marksheet generation
1) The instructor suffer because:
manually inserts 1) A system which can automatically
data into Microsoft generate reports and the grade sheet
Excel of marks of automatically when given marks as
all sorts of  Inefficient and input.
assessments taken hectic process
throughout the  Inconsistent mark 2) A system which will automatically
semester to make entry due to human generate all the stakeholders’
the grade sheet. error performance trends based on students’
2) The CQI report  Takes too much performance in a given period of time
is incomplete in the time. semesters.
current system. No  Disorganized 3) A system that will store CQI reports
Prepare Grade Sheet/
1) Instructor report generated
Improvement Report 2) CQI Generation suffer
2) Student for performance
3) Department trends of students, because:
4) VC/Dean teachers,
department, VC.
 Does not give insight
about the teaching
methods.
 Without such reports
the teaching system
cannot be made
better.
 Cannot Pinpoint the
issues within the
teaching system.

1) Teacher 1) Time consuming 1) A system which will lets students view


Individual Student CO and 1) Instructor evaluates and lets 2) Risk of error the PLOs achieved and let teachers
PLO distribution 2) Student the student know input the COs
about their
individual Marks

20
Independent University Bangladesh
SPMS Group 4

DESCRIPTION OF RICH PICTURE (TO BE)


Rich pictures are modelled using diagrams and illustrated graphically which has the main elements and
relationship they have between them according to the business system in place.

RICH PICTURE OF PROPOSED BUSINESS SYSTEM (TO BE)

Rich Picture (AS-IS)

21
Independent University Bangladesh
SPMS Group 4

SIX ELEMENT ANALYSIS OF PROPOSED BUSINESS SYSTEM (TO BE)

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
Gather data BAETE Paper: Computer: Microsoft OBE Internet: BAETE: N/A Computer: SPMS: SPM Internet:
and : [Link] 1. Uploads/ Office: storage: 1. Access the 1. Make 1. 1. Database: 1. Accessing to
prepare 1. Make down Downloads 1. Make [Link]/ web to download s Accessing Provides 1. Stores update and view
initial CO s necessary the Manual notice, access and upload. accredit websites initial CO the information.
PLO accredit notes. from the reports, manual 2. Sharing the ation and PLO automated Networking
mapping ation [Link] for website. accreditatio and the information. manual. software. mapping initial devices (Router,
manual. printing 2. Used to n manual initial [Link] the 2. Uploa 2. Update accordin mapping Modem):
2. If the tables send mails etc. using mapping website and d the the g to the for the 1. Make
manual mentioned about Microsoft in cloud or portals. manual information. course course necessary
is in the necessary Word. physical Intercom: on the 3. View the level and semester arrangements for
verified manual, details. 2. Use storages. 1. Connect to website. information. Bloom’s wise. web access and
after it printing the [Link] tables to File people within the Depart Taxonom 2. Stores activities.
is manual the map and Cabinet: office for any ment: y. the one-
verified and information. manage usi [Link] requirement. 1. Get Microsof one
through mapping [Link] ng ing the Networking the t Office: mapping
a manually. the Microsoft necessary devices accredit 1. Makin of the
signatur Pen: information. Excel. document (Router, ed g notice, sections.
e, [Link] for Printer: 3. Make s in hard Modem): manual reports
upload writing and 1. Prints presentatio copy. 1. Make necessa from etc.
it mapping BAETE ns ry arrangements BAETE’ PDF
online. on paper. manual and to represen to access s reader:
3. If not 2. Signing also other ta the Internet by website. 1.
require the relevant summary of BAETE and 2. Inputs Reading
d, then accredited documents. collected inf department the the
make manual Scanner: ormation us members course necessar
necess from 1. Scans ing ID in y
ary BAETE. hard copy Microsoft SPMS documen
change reports, PowerPoint and ts from
s. documents, [Link] generat websites
Depart list and Microsoft es initial and

22
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
ment: others for Outlook for mapping software.
1. future emailing accordin Web
Downlo reference. purposes. g to the Browser
ad the PDF course :
manual reader: level 1. Acces
from 1. Reading and sing
BAETE’ the Bloom’s websites
s necessary Taxono and
website documents. my. software.
, view it [Link] 3. 2.
and BAETE Verifies Updating
print accredited and and
the manual. saves viewing
necess Web the the
ary Browser: initial informati
pages 1. Access mapping on in
of the information . SPMS.
manual. from other Instruct 3. Get
2. Finds sources for or: manual
the reference. 1. from
objectiv 2. Access Choose BAETE’s
es of the web or s one to website.
CO- any custom one
PLO hosted mapping
mappin server for his
g from and upload, respecti
the view and ve
manual. update relat section
3. ed data. from the
Resear [Link]/ initial
ch on Downloads map and
the the Manual saves it.
topics from the
mention website.
ed in 4. Used to
the send mails

23
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
manual. to those
4. Lists who are
down concerned
all the about
courses necessary
under details and
the relevant
OBE documents.
progra
m using
pen
and
paper
and
scans
it.
5. Gets
the
COs
from
the
course
descript
ion and
Course
details.
6.
Decide
s the
number
of COs
to take
in a
course.
7.
Determi

24
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
ne
which
Bloom’s
taxono
my is
suitable
for the
CO and
the
knowle
dge
skill.
8.
Based
on the
above
informa
tion and
the
course
level,
the
COs
are
mappe
d with
PLOs.
9.
Saves
the
relevant
docume
nts to
OBE
storage
/File

25
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
Cabinet
.

Course
Planning/ Higher Pen and Computer: Microsoft OBE Internet: Higher N/A Computer: SPMS: SPM Internet:
Plan the Authori Paper: Office: storage: Authorit Database:
course for a ty: 1. 1. Access the y: 1. Setting 1. 1. Access the
particular 1. Department 1. Instructor 1. Store web. and Provides 1. Stores website and
term. 1. Departmen gets a prepares and 1. updating the the portals.
Reques t gives template of the course access Intercom: Request the course course previous
t for signatures the OBE outline, data. for template. outline course 2. Accessing
usage using pen. course question 1. Connect to usage of template. outlines SPMS and SPM
of outline. paper and 2. Store people within the BAETE 2. Viewing course Database.
BAETE Stapler: marks course office for any Accredit the 2. wise for
Accredi 2. scheme outline. requirement. ation precious Provides each
tation 1. Staples Researchin using manual materials the semester.
manual multiple g online Microsoft and from the previous
Networking
and pages. and Word. OBE SPMS course 2. Stores
devices
OBE referring to Course database. outline. the
(Router,
Course previous Web outline. question
2. Staple Modem):
outline materials. Browser: 3. Creating 3. bank and
pages of 1. Make
from 2. Get marks Provides questions
course necessary
UGC. 3. Instructor 1. Get the permissi scheme the set for the
outline. arrangements to
modifies template access the on to and setting question previous
2. Get the course from UGC’s Internet. use the questions. bank. semester
permiss outline, website. BAETE for the
ion to creates a Accredit Networkin PDF respective
use the mark 2. ation g devices reader: courses.
BAETE scheme, Instructors manual (Router,
Accredi and will get the and Modem): 3.
1.
tation chooses previous OBE 1. Making Integrated
Reading
manual questions. semester Course necessary with
the
and course outline arrangemen SPMS for
previous
OBE 4. Sets outline, from ts for web informatio
reports.
Course schedules question UGC access. n transfer

26
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
2.
outline paper and Operating Web when
templat format etc. store it all sorts of Browser needed.
e from in web :
UGC. SPMS. activities
1. Get
Depart Depart the
ment: ment: template
from
1. Get [Link] UGC’s
BAETE accredit website.
Accredi ation
tation manual 2.
manual and Accessin
and OBE g the
OBE course website
Course outline and
outline template SPMS.
from from
Higher SPMS.
authorit
y. 2.
Initially
2. After set
getting assess
them, ment
the plan and
initial required
course material
outline s in
and SPMS
CO- databas
PLO e.
mappin
g will Instruct

27
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware

be or:
formed.
[Link]
3. the
Initially previous
sets the semeste
assess r
ment material
strategy s from
and SPMS.
schedul [Link]
e. an
assess
4. ment
Gives plan and
the store it
initial in
course SPMS.
outline
to the
instruct
or.

5.
Provide
previou
s
semest
er
material
s from
the
OBE
storage

28
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware

to the
instruct
ors.
(Materi
als
such as
course
outline,
questio
n paper
format,
CO/PL
O/
Bloom's
Taxono
my and
Rubric
based
evaluati
on etc)

Instruc
tor:

1. Gets
the
initial
course
outline
and
assess
ment
strategy
from

29
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware

the
depart
ment.

2. If it is
require
d to get
a
previou
s
semest
er
material
s
instruct
or can
request
the
depart
ment to
get
them
from
the
OBE
storage
.
(Materi
als
such as
course
outline,
questio
n paper

30
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware

format,
CO/PL
O
mappin
g/
Bloom's
Taxono
my and
Rubric
based
evaluati
on etc.)

3. If not
require
d then
modify
the
course
outline
accordi
ng to
his/her
own
style of
assess
ment.

4. Store
course
outline.

5.
Provide

31
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware

course
outline
to the
student
s.

6. Then
the
schedul
e of the
assess
ments
is set.
Conduct Depart Pen and Computer: Microsoft Cloud Internet: Instruct Pen and Computer: Microsof SPM Internet:
the course ment: paper: [Link] Office: storage: [Link] the or: paper: [Link] t Office: database: [Link]
and 1. The [Link] and nt access [Link] 1. Storing website and [Link] [Link] nt access [Link] 1. Storing websites and
perform depart paper can previously s make necessary portals. initial set checks the previously ors make assessme web portals.
regular ment be used by stored data reports and resources 2. Upload and of COs, answer stored data other nt plan, 2. Upload and
assessmen along departmen related to other to Google Download the assess script related to documen graded download
t with t and PLO’S and documents Drive, documents. ment through a PLO’S and ts using answer documents.
instruct instructor CO’s. using cloud, 3. Sharing the plan and pen. CO’s. Microsoft script etc. 3. Sharing
ors for initial 2. Instructor Microsoft Dropbox, documents. other [Link] 2. Instructor Word. to the documents.
map an mapping of and student Word. GitHub Networking required answer and student 2. database Networking
initial CO’s both can 2. Students etc. for devices material script both can Students for ease of devices (Router,
set of [Link] use the make ease of (Router, s from students use the make access. Modem):
COs. sets computer assignment access. Modem): SPMS. make use computer assignme 1. Making
[Link] assessme for online s using 1. Making [Link] of pen and for online nts using necessary
s nt plan class and Microsoft necessary s paper. class and Microsoft arrangements to
graded through assessmen Word. arrangements to Questio Desk: assessment Word. access the
answer pen and ts 3. Making access the n Bank 1. Students s 3. Internet.
script paper. 3. tabulation Internet. from give exams [Link] Making
provide [Link] Department of data for SPMS by sitting and presentat
d by the checks the , instructor easier or sets on the downloadin ions
instruct answer and manageme new desk. g using

32
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
or in script Student nt using question Clock: information. Microsoft
OBE through Uploading Microsoft s 1. 4. Storing PowerPoi
storage pen. and Excel. accordin Instructors the nt.
. [Link] downloadin 4. Making g to the keep track information. Web
Instruc answer g presentatio provided of time Mobile Browser
tor: script information. ns using question passed Phone: :
1. Map students 4. Microsoft format. during 1. Students 1.
an make use Department PowerPoint 3. assessmen take Accessin
initial of pen and , instructor, Web Uploads ts. pictures of g online
set of paper. and Browser: new the answer learning
COs Desk: Student 1. question script and platforms
with the 1. Storing the Accessing s in the generate such as
help of Students information. online question PDF. Google
the give Mobile learning bank. Printer: Classroo
depart exams by Phone: platforms [Link] 1. Students m,
ment. sitting on 1. Students such as e print Piazza
2. Can the desk. take Google Questio assignment etc.
request Clock: pictures of Classroom, n paper s and other 2.
for a 1. the answer Piazza etc. for related Accessin
sample Instructors script and 2. assess documents. g video
of keep track generate Accessing ment. 2. conferen
previou of time PDF. video [Link] Department cing
s passed Printer: conferencin answer and platforms
semest during 1. Students g platforms scripts instructor such as
er assessme print such as from prints Google
questio nts. assignment Google students documents. Meet,
n s and other Meet, . Scanner: Zoom,
papers related Zoom, 5. Keep 1. Scanning Microsoft
from documents. Microsoft a record questions Teams
the 2. Teams etc. of or etc.
depart Department 3. attendan assessment 3.
ment if and Researchin ce of the s Research
require instructor g about a students ing about
d. prints topic. . a topic.
[Link] documents. 4. Providing 6. Give 4.
ctor materials necessa Instructor

33
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
choose Scanner: by the ry stores
s 1. Scanning instructor. marking and
questio questions accordin provides
ns from or gly and materials
his or assessmen store to the
her own ts graded students.
questio answer
n paper scripts
bank or in
sets SPMS.
new [Link]
questio a record
ns of
accordi students
ng to ’ issues
the which
provide were
d informed
questio in the
n SPM
format. databas
4. Keep e and
a recheck
record those
of papers.
attenda Student
nce of s:
the 1. Get
student question
s. papers
and sit
[Link] for
assess exams
ments and
accordi other
ng to types of

34
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
the assess
assess ments.
ment 2.
plan Submit
and set answer
questio scripts
n and
papers. other
6. types of
Receiv assess
e the ments
assess to the
ments instructo
from r within
the the
student deadline
s and .
check 3.
all the Student
assess s can
ments view
and his/her
give own
necess achieve
ary d PLOs
marking from
accordi SPMS.
ngly. [Link] any
7. Can query/is
share sue
the regardin
marks g PLO
to the achieve
student ment.
s and Student
can s can

35
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
provide inform
feedbac the
k to faculty.
student 5. Gives
s feedbac
regardi k on
ng the teachers
assess ’
ment perform
and ance
receive through
feedbac faculty
k from evaluati
student on.
s if
necess
ary.
8.
Provide
graded
answer
scripts
to the
depart
ment.
Studen
ts:
1. Get
questio
n paper
from
the
instruct
ors.
2. Sit
for

36
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
exams
on a
desk
and do
assign
ments,
projects
,
present
ations.
3.
Submit
answer
scripts,
assign
ments,
projects
, and
present
ations
etc. to
the
instruct
ors
within
the
deadlin
e.
4. Get
feedbac
k and
marks
from
the
instruct
or.

37
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
5. If a
student
has any
issue
regardi
ng
assess
ments,
then
inform
the
instruct
or.
6.
Gives
feedbac
k on
teacher
s’
perform
ance
through
faculty
evaluati
on.
Prepare Studen Pen and Computer: Microsoft OBE Internet: Student N/A Computer: SPMS: SPMS Internet:
grade sheet t: Paper: [Link] to Office: Storage: 1. Access the : [Link] to [Link] Database: 1. Access the
and 1. Ask 1. Final prepare 1. To 1. Hard web. [Link] insert/updat the [Link] web-browser and
improveme the grades of grade access Copy of Networking view the e the marks marks of eet of SPM.
nt report instruct the sheets. Microsoft the grade devices: PLOs in SPMS. students each Networking
or for a students [Link] to Excel sheet and 1. Make achieve 2. Used to in the course devices:
grade can be prepare or where the CQI report necessary d from generate System. and 1. Make
sheet written in access template of are stored arrangements to SPM. performanc 2. section is necessary
report. paper for previous the grade in OBE access the e trends in System stored in arrangements to
Instruc easy CQI sheet is Storage. Internet. terms of generate SPMS access the
tor: reference. reports. used to CO, PLO s graphs Storage. Internet.

38
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
1. 2. The CQI Printer: insert the Instruct and marks on
Receiv report is 1. Print CQI marks. or: to prepare a performa
e written in reports and 2. Use the [Link] CQI report. nce
assess paper. grade grade sheet the Printer: trends of
ments . sheets to to analyze assess 1. Print CQI students,
such as store in further and ment reports and teachers,
quiz, OBE provide a marks grade departme
present storage. verdict for such as sheets to nt, dean
ation, the CQI quiz, store in and vice
lab etc. report presenta OBE chancello
2. Mark which can tion, etc. storage. r based
the be stored 2. on GPA.
assess on Generat
ments. Microsoft es Web
3. word if student Browser
Record necessary. perform :
all the 3. Make ance [Link]
marks presentatio trends in SPM and
and ns using SPMS. other
prepare Microsoft [Link] 2.
a grade PowerPoint a CQI Access
sheet to report online
accordi represent for the learning
ng to the findings semeste platforms
the of CQI. r. such as
grade Web [Link] Google
sheet Browser: the CQI Classroo
templat 1. Access report to m,
e where online the Piazza
the CO learning Departm etc.
and platforms ent.
PLO such as
are Google Depart
graded Classroom, ment
as well. Piazza etc. [Link]
4. 2. Access view

39
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
Share video various
the conferencin perform
grade g platforms ance
sheet such as trends.
with the Google
student. Meet, 2. Store
5. Zoom, the
Prepare Microsoft grade
a CQI Teams etc. sheet
report 3. and CQI
accordi Research in
ng to about a SPMS.
the topic.
marksh
eet
analyzi
ng all
the
availabl
e data
in it.
[Link]
the CQI
report
and
sends it
to the
depart
ment
head/Hi
gher
Authorit
y.
6.
Depart
ment:

40
Independent University Bangladesh
SPMS Group 4

System Role

Existing Proposed
Process
Human Non- Computing Software Database Network Human Non- Computing Software Database Network
computin Hardware & computing Hardware &
g Communication Hardware Communication
Hardware
1.
Stores
the
grade
sheet
and
CQI in
OBE
storage
.

41
Independent University Bangladesh
SPMS Group 4

PROCESS DIAGRAM OF PROPOSED BUSINESS SYSTEM


(TO BE)

GATHER DATA AND PREPARE INITIAL CO PLO MAPPING

Data collection and initial mapping

42
Independent University Bangladesh
SPMS Group 4

COURSE PLANNING/PLAN THE COURSE FOR A PARTICULAR TERM

Planning for a course

43
Independent University Bangladesh
SPMS Group 4

CONDUCT THE COURSE AND PERFORM REGULAR ASSESSMENT

Course conduct and assessments

44
Independent University Bangladesh
SPMS Group 4

PREPARE GRADE SHEET AND IMPROVEMENT REPORT

Grade sheet and report generation (improvement)

45
Independent University Bangladesh
SPMS Group 4

CHAPTER 3: LOGICAL SYSTEM DESIGN


BUSINESS RULES
1. Each UNIVERSITY must have many schools and a SCHOOL must have on UNIVERSITY.

2. SCHOOL must have many DEPARTMENT and a DEPARTMENT must have one SCHOOL.

3. Each PROGRAM must have a DEPARTMENT and each DEPARTMENT must have one or many
PROGRAM.

4. Each COURSE may have many SECTION and each SECTION must have one COURSE.

5. Each SECTION must have one INSTRUCTOR and each INSTRUCTOR must have one or many
SECTION.

6. Each STUDENT must have one or many enrolled PROGRAM and each PROGRAM may have
many STUDENT.

7. Each STUDENT must enroll in a SECTION and each SECTION may have many STUDENT.

8. Each STUDENT must have a EVALUATION and each EVALUATION must have one or many
STUDENT.

9. Each CO must have one or many ASSESSMENT and each ASSESSMENT must have a CO.

10. Each PROGRAM must have many COURSE and each COURSE must have a PROGRAM.

11. Each PROGRAM must have many PLO and each PLO must have a PROGRAM.

12. Each CO must have many PLO and each PLO must have many CO.

46
Independent University Bangladesh
SPMS Group 4

EERD

EERD

47
Independent University Bangladesh
SPMS Group 4

ERD TO RELATIONS

Relational Schema

48
Independent University Bangladesh
SPMS Group 4

NORMALIZATION
Our relational Schema is created from ERD. After investigating each relation, we found that there is no
functional dependency, no transitive dependency, no Non key dependency on any Primary key. So, we
can conclude that all the relations above are solved up to BCNF.

DATA DICTIONARY

tbluniversity

Name Data Type Size Remark

cuniversityid VARCHAR 10 This is the primary key of this relation. This contains the ID of the
university. Example: “iub”

cuniversitynam VARCHAR 255 This is the name of the school. Example:


e “Independent University Bangladesh”.

caddress VARCHAR 255 This contains the address of university.

cemail VARCHAR 255 This contains the email address of the faculty.
Example:”[Link]”

vc VARCHAR 255 This contains the name of the VC.


Example: Tanweer Hasan

cphonenumber VARCHAR 20 This is the phone number of the university. Example:”01711111111”

tblschool

Name Data Type Size Remark

nschoolid INTEGER This is the primary key of this relation. This contains the ID of the school.
Example: “SECS”

cschoolnam VARCHAR 255 This is the name of the school. Example:


e “School of Engineering and Computer Science (SECS)”

ndeanid INTEGER This is the id of the dean. Example:”1234”

cdeanname VARCHAR 255 This is the name of the dean. Example:” faculty2”

cuniversityid VARCHAR 10 This is the foreign key of the table university. Example:”iub”

tbldepartment

49
Independent University Bangladesh
SPMS Group 4

Name Data Type Size Remark

cdepartmentid VARCHAR 10 This is the primary key of this relation. This contains the ID of the
[Link] : “CSE”

cdepartmentnam VARCHAR 255 This is the name of the department. Example: “Computer Science &
e Engineering (CSE)”

ndeanid INTEGER This contains the ID of the dean.

cheadname VARCHAR 255 This is the name of the head of the department. Example:
“Mahady Hasan”

nschoolid INTEGER This is the foreign key of the table school. Example:”SECS”

tblprogram

Name Data Type Size Remark

cprogramid INTEGER This is the primary key of this relation. This contains the ID of the program.
Example: “[Link]”

cprogramnam VARCHAR 255 This is the name of the program. Example: “Bachelor of Science”.
e

cdepartmentid VARCHAR 10 This is the foreign key of the department [Link]:”CSE”

ntotalcredits INTEGER This contains the number of total credits. Example:”143”

Tblpo

Name Data Type Size Remark

nploid INTEGER This is the primary key of this relation. This contains the ID of the PLO.
Example:

cploname VARCHAR 255 This is the name of the PLO. Example:” PLO1”

cplodetails TEXT This contains the details of PLO.

nprogramid INTEGER This is the foreign key of this relation. This contains the ID of the program.
Example: “[Link]”

nploindex INTEGER This contains the index of [Link]: “2”

tblco

Name Data Type Size Remark

ncoid INTEGER This is the primary key of this relation. This contains the ID of the CO. Example:

cconame VARCHAR 255 This is the name of the CO. Example: “CO1”

cplodetail TEXT This contains the details of CO.

50
Independent University Bangladesh
SPMS Group 4

nploid INTEGER This is the foreign key of this relation. This contains the ID of the PLO. Example:

nsectionid INTEGER This is the foreign key of this relation. This contains the ID of the section.

ccourseid VARCHAR 10 This is the foreign key of this relation. This contains the ID of the course.
Example: “CSE303”

ncoindex INTEGER This contains the index of CO. Example: “4”

tblfaculty
Name Data Type Size Remark

nfacultyid INTEGER This is the primary key of this relation. This contains the ID of faculty.
Example: “4344”

cfacultyname VARCHAR 255 This is the name of the faculty. Example: “Mahady Hasan”

cemail VARCHAR 255 This contains the email address of the faculty.
Example: “mahady@[Link]”

ndepartmenti INTEGER This is the foreign key of the department table. Example: “CSE”
d

tblsection

Name Data Type Size Remark

nsectionid INTEGER This is the primary key of this relation. This contains the ID of the
section.

nsectionno VARCHAR 10 This contains the section number. Example: “3”

csemester VARCHAR 30 This is the name of the semester. Example: “Summer”

ccourseid VARCHAR 10 This is the foreign key of the course table. Example: “CSE303”

nfacultytid INTEGER This is the foreign key of the faculty table. Example: “4233”

tblstudent
Name Data Type Size Remark

nstudentid INTEGER This is the primary key of this relation. This contains the ID of the student.
Example: “1821832”

51
Independent University Bangladesh
SPMS Group 4

cstudentnam VARCHAR 255 This is the name of the student. Example: “Abu Musa Sakib”
e

cemail VARCHAR 255 This contains the email address of the student.
Example: “1821322@[Link]”

cprogramid INTEGER This is the foreign key of the program table. Example: “[Link]”

cpassword VARCHAR 255 This contains the password.

tblevaluation

Name Data Siz Remark


Type e

nevaluationid INTEGER This is the primary key of this relation. This contains the ID of
evaluation.

nobtainedmarks INTEGER This contains the obtained marks. Example: “10”

nattendancepercentag INTEGER This contains the percentage of attendance. Example: “20%”


e

nassessmentid INTEGER This is foreign key of the assessment table.

nenrollmentid INTEGER This is foreign key of enrollment table.

tblcourse

Name Data Type Size Remark

ccourseid VARCHAR 10 This is the primary key of this relation. This contains the ID of course.
Example: “CSE303”

ccoursename VARCHAR 255 This contains the name of course. Example: “Database Management”

ncredit FLOAT This contains the number of credits. Example: “3”

ncourselevel INTEGER This contains the level of course. Example: “1”

ntotalco INTEGER This contains the number of total CO. Example: “4”

nprogramid INTEGER This is the foreign key of the program table. Example: “[Link]”

52
Independent University Bangladesh
SPMS Group 4

tblassessment

Name Data Type Size Remark

nassessmentid INTEGER This is the primary key of this relation. This contains the ID of
assessment.

nsectionid INTEGER This is the foreign key of this relation.

nquestionnumber INTEGER This contains the number of questions. Example: “1”

cquestioncontent VARCHAR 255 This contains the content of the question.

nmark INTEGER This contains the marks of question. Example: “90”

nattendancenumbe INTEGER This contains the number of attendance.


r

ncoid INTEGER This is the foreign key of the CO table.

ctype VARCHAR 20 This contains the type of assessments. Example: “final”

CHAPTER 4: PHYSICAL SYSTEM DESIGN

53
Independent University Bangladesh
SPMS Group 4

<?php
include '[Link]';
include '[Link]';

if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['email']) {


$email = $_POST['email'];
$password = $_POST['password'];

$flag = 0;

if($flag==0){
$query = "SELECT * FROM student WHERE email = '$email' AND pa
ssword = '$password'";
if($user = $conn->query($query)->fetch_assoc()){
$flag = 1;
$id = $user['id'];
$query = "SELECT university_id FROM school
WHERE id = ANY(SELECT school_id FROM department
WHERE id = ANY( SELECT department_id from program
WHERE id = ANY(SELECT program_id FROM student WHERE i
d = $id)))";
$_SESSION['id'] = $id;
$_SESSION['uni'] = $conn->query($query)->fetch_row()[0];
$_SESSION['role'] = 1;
$_SESSION['user'] = $id;

54
Independent University Bangladesh
SPMS Group 4

$_SESSION['name'] = $user['name'];

$query = "SELECT id FROM department


WHERE id = ANY( SELECT department_id from program
WHERE id = ANY(SELECT program_id FROM student WHERE id =
$id))";

$_SESSION['dep'] = $conn->query($query)->fetch_row()[0];
}
}

if($flag==0){
$query = "SELECT * FROM faculty WHERE email = '$email' AND pa
ssword = '$password'";
if($user = $conn->query($query)->fetch_assoc()){
$flag = 2;
$id = $user['id'];

$query = "SELECT university_id FROM school


WHERE id = ANY(SELECT school_id FROM department
WHERE id = ANY( SELECT department_id from faculty WHERE i
d = $id))";

$_SESSION['id'] = $id;
$_SESSION['uni'] = $conn->query($query)->fetch_row()[0];
$_SESSION['user'] = $id;
$_SESSION['role'] = 2;
$_SESSION['name'] = $user['name'];

$query = "SELECT department_id FROM faculty WHERE id = $i


d";
$_SESSION['dep'] = $conn->query($query)->fetch_row()[0];

$name = $user['name'];

$query = "SELECT * FROM school WHERE LOWER(dean) = LOWER(


'$name')";
if($flag == 2 && $school = $conn->query($query)-
>fetch_assoc()){
$_SESSION['role'] = 6;
$flag = 6;
$_SESSION['school'] = $school['id'];
}

55
Independent University Bangladesh
SPMS Group 4

$query = "SELECT * FROM department WHERE LOWER(head) = LO


WER('$name')";
if($flag == 2 && $department = $conn->query($query)-
>fetch_assoc()){
$_SESSION['role'] = 4;
$flag = 4;
$_SESSION['department'] = $department['id'];
$_SESSION['school'] = $department['school_id'];
}

}
}

if($flag==0){
$query = "SELECT * FROM admin WHERE email = '$email' AND pass
word = '$password'";
if($user = $conn->query($query)->fetch_assoc()){
$flag = 3;
$id = $user['id'];
$query = "SELECT university_id FROM admin WHERE id = $id"
;
$_SESSION['id'] = $id;
$_SESSION['uni'] = $conn->query($query)->fetch_row()[0];
$_SESSION['role'] = 3;
$_SESSION['user'] = $id;
$_SESSION['name'] = $user['name'];
}
}

if($flag==0){
session_unset();
header("Location: ../[Link]");
}

}else{
if(isset($_GET['logout'])){
session_unset();
}
}
middlewareCheck();
?>

56
Independent University Bangladesh
SPMS Group 4

<?php

include '[Link]';

if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id'])) {

$id = strtolower($_POST['id']);

$name = $_POST['name'];

$address = $_POST['address'];

$city = $_POST['city'];

$country = $_POST['country'];

$vc = $_POST['vc'];

$email = $_POST['email'];

$phone = $_POST['phone'];

57
Independent University Bangladesh
SPMS Group 4

$query = "INSERT INTO university (id, name, address, city, countr


y, vc, email, phone)

VALUES ('$id', '$name', '$address', '$city', '$country', '$vc


', '$email', '$phone')";

$admin_email = $_POST['admin-email'];

$admin_password = $_POST['admin-password'];

$query2 = "INSERT INTO admin (email, password, university_id)

VALUES ('$admin_email', '$admin_password', '$id')";

$conn->query($query);

$conn->query($query2);

header("Location: [Link]");

}else{

$query = "SELECT [Link], [Link], [Link], u


[Link], COUNT(DISTINCT([Link])) as school, COUNT(DISTINCT(dep
[Link])) as department FROM university LEFT JOIN (school LEFT JOIN de
partment ON [Link] = department.school_id) ON [Link] = universi
ty_id GROUP BY [Link]";

$datas = $conn->query($query);

?>

58
Independent University Bangladesh
SPMS Group 4

<?php
include '[Link]';

if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['name'])) {


$name = $_POST['name'];
$dean = $_POST['dean'];
$uni = $_SESSION['uni'];

$query = "INSERT INTO school (name, university_id, dean) VALUES (


'$name', '$uni', '$dean')";
$conn->query($query);

header("Location: [Link]");

}else{
$query = "SELECT [Link], [Link], [Link], COUNT(DISTI
NCT([Link])) as department, COUNT(DISTINCT([Link])) as program
FROM school LEFT JOIN (department LEFT JOIN program ON [Link] = pr
ogram.department_id) ON [Link] = school_id GROUP BY [Link]";
$schools = $conn->query($query);

59
Independent University Bangladesh
SPMS Group 4

}
?>

<?php
include '[Link]';

60
Independent University Bangladesh
SPMS Group 4

if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['name']) {


$name = $_POST['name'];
$department = $_POST['department'];
$total_credits = $_POST['total_credits'];
$total_plo = $_POST['total_plo'];

$query = "INSERT INTO program (name, department_id, total_credits


)
VALUES ('$name', '$department', '$total_credits')";

$conn->query($query);
$program_id = $conn->insert_id;

for($i=1; $i<=$total_plo; $i++){


$plo_name = $_POST['plo'.$i];
$query = "INSERT INTO plo (indx, name, program_id)
VALUES($i, '$plo_name', $program_id)";
$conn->query($query);
}

header("Location: [Link]");

}else{

$query = "SELECT [Link], [Link], [Link] as 'depa


rtment', COUNT(DISTINCT([Link])) as 'plo', COUNT(DISTINCT([Link])) as
course FROM program LEFT JOIN department ON program.department_id = depar
[Link] LEFT JOIN plo ON [Link] = plo.program_id LEFT JOIN course on
[Link] = course.program_id GROUP BY [Link]";

$programs = $conn->query($query);

}
$query = "SELECT id, name FROM department";
$departments = $conn->query($query);

?>

61
Independent University Bangladesh
SPMS Group 4

62
Independent University Bangladesh
SPMS Group 4

<?php
include '[Link]';

if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['id']) {

$program = $_POST['program'];
$id = strtolower($_POST['id']);
$name = $_POST['name'];
$level = $_POST['level'];
$credits = $_POST['credits'];
$total_co = $_POST['total_co'];

$query = "INSERT INTO course (id, name, credits, level, total_co,


program_id)
VALUES('$id', '$name', '$credits', '$level', '$total_co',
'$program')";

$conn->query($query);

63
Independent University Bangladesh
SPMS Group 4

$query = "SELECT COUNT(DISTINCT([Link])) as total_co FROM plo WHE


RE program_id = 1";
$total_plo = $conn->query($query)->fetch_row()[0];

for($i=1; $i<=$total_plo; $i++){


if(isset($_POST['plo-'.$i])){
$query = "SELECT id from plo WHERE indx = $i AND program_
id = $program";
$plo = $conn->query($query)->fetch_row()[0];
for($j=0; $j<sizeof($_POST['plo-'.$i]); $j++){
$co = $_POST['plo-'.$i][$j];
$query = "INSERT INTO co (indx, plo_id, course_id) VA
LUES($co, $plo, '$id')";
$conn->query($query);
echo $conn->error . '<br/>';
}

}
}

header("Location: [Link]");

}else{

$query = "SELECT [Link], [Link], [Link] as 'program


', UPPER([Link]) as 'department', [Link], [Link], CO
UNT(DISTINCT([Link])) as total_co
FROM course LEFT JOIN (program LEFT JOIN department on [Link]
partment_id = [Link]) on course.program_id = [Link]
LEFT JOIN co ON [Link] = co.course_id
GROUP BY [Link]";

$courses = $conn->query($query);

}
$query = "SELECT [Link], [Link], UPPER([Link]) as '
department' FROM program LEFT JOIN department ON program.department_id =
[Link]";
$programs = $conn->query($query);
?>

64
Independent University Bangladesh
SPMS Group 4

<?php
include '[Link]';

if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['num'])) {


$num = $_POST['num'];
$semester = $_POST['semester'] ;
$course = $_POST['course'];
$faculty = $_POST['faculty'];

$query = "INSERT INTO section (num, semester, course_id, faculty_


id)
VALUES ('$num', '$semester', '$course', $faculty)";

$conn->query($query);

$section_id = $conn->insert_id;

65
Independent University Bangladesh
SPMS Group 4

$file = fopen($_FILES['enrollment']['tmp_name'], "r");

fgetcsv($file);

while($id = fgetcsv($file)){
$student = $id[0];
$query = "INSERT INTO enrollment (student_id, section_id) VAL
UES ($student, $section_id)";
$conn->query($query);
}

header("Location: [Link]");

}else{

$query = "SELECT [Link], [Link], [Link], section.c


ourse_id, [Link], COUNT(enrollment.student_id) as 'total_student' F
ROM section LEFT JOIN enrollment ON [Link] = enrollment.section_id LE
FT JOIN faculty ON section.faculty_id = [Link] GROUP BY section_id";
$sections = $conn->query($query);

$query = "SELECT id, name FROM course";


$courses = $conn->query($query);

$query = "SELECT id, name FROM faculty";


$faculties = $conn->query($query);
}
?>

66
Independent University Bangladesh
SPMS Group 4

<?php
include '[Link]';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$section_id = $_POST['section_id'];
$query = "SELECT course_id FROM section WHERE id = $section_id";
$course_id = $conn->query($query)->fetch_row()[0];
$plo_list = $_POST['plo_list'];
foreach($plo_list as $plo_id){
$co = $_POST["plo".$plo_id];
if($co ==0){
continue;
}
$query = "INSERT INTO co (indx, plo_id, course_id, section_id
)

67
Independent University Bangladesh
SPMS Group 4

VALUES($co, $plo_id, '$course_id', $section_id)";


$conn->query($query);
}
header("Locaton: ../[Link]");

}else{

if(isset($_GET['section_id'])){
$section_id = $_GET['section_id'];
$query = "SELECT co.plo_id as 'plo_id', [Link] as 'plo_indx', [Link]
as 'co_id', [Link] as 'co_indx' FROM
co LEFT JOIN plo ON co.plo_id = [Link]
WHERE co.course_id = ANY (SELECT course_id from section WHERE id = $s
ection_id) AND section_id IS NULL
ORDER BY [Link]";
$plos = $conn->query($query);
}

?>

68
Independent University Bangladesh
SPMS Group 4

69
Independent University Bangladesh
SPMS Group 4

<?php
include '[Link]';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$section_id = $_POST['section_id'];
$type = strtolower($_POST['type']);
$total_q = $_POST['total_q'];

$query = "SELECT * FROM assessment WHERE type = '$type' AND secti


on_id = $section_id";
if($conn->query($query)->num_rows==0){
for($i=1; $i<=$total_q; $i++){
$mark = $_POST['mark'.$i];
$co = $_POST['co'.$i];
$newFileName = null;
$flag = 0;
if($_FILES['qc'.$i]){
$file_name = $_FILES['qc'.$i]['name'];
$file_size = $_FILES['qc'.$i]['size'];
$file_tmp = $_FILES['qc'.$i]['tmp_name'];
$strings = explode(".", $file_name);
$file_ext = strtolower(end($strings));

$newFileName = md5(time() . $file_name) . '.' . $file


_ext;

70
Independent University Bangladesh
SPMS Group 4

if(move_uploaded_file($file_tmp,"../uploads/".
$newFileName)){
$flag = 1;
}
}
if($flag==1){
$query = "INSERT INTO assessment (question_number, qu
estion_content, type, mark, co_number, section_id)
VALUES($i, '$newFileName', '$type', $mark, $c
o, $section_id)";
}else{
$query = "INSERT INTO assessment (question_number, ty
pe, mark, co_number, section_id)
VALUES($i, '$type', $mark, $co, $section_id)"
;
}

$conn->query($query);
}
}

$file = fopen($_FILES['evaluation']['tmp_name'], "r");

fgetcsv($file);

while($data = fgetcsv($file)){
$student_id = $data[0];
$query = "SELECT id FROM enrollment WHERE student_id = $stude
nt_id AND section_id = $section_id";
$enrollment_id = $conn->query($query)->fetch_assoc()['id'];
for($i=1; $i<=$total_q; $i++){
$query = "SELECT id FROM assessment WHERE question_number
= $i AND type = '$type' AND section_id = $section_id";
$assessment_id = $conn->query($query)->fetch_assoc()
['id'];
$mark = $data[$i];
$query = "INSERT INTO evaluation (enrollment_id, assessme
nt_id, obtained_mark)
VALUES($enrollment_id, $assessment_id, $mark)
";

$conn->query($query);
}
}

71
Independent University Bangladesh
SPMS Group 4

header("Location: [Link]");

}else{

$query = "SELECT * FROM section WHERE faculty_id = " . $_SESSION


['user'];
$sctns = $conn->query($query);

$query = "SELECT [Link] as 'semester', [Link] as '


section', section.course_id as 'course_id', [Link] as 'type',
COUNT(DISTINCT([Link])) as 'total_q', COUNT(DISTINCT(evalu
ation.enrollment_id)) as 'total_students'
FROM assessment LEFT JOIN section ON assessment.section_id = sect
[Link]
LEFT JOIN evaluation ON [Link] = evaluation.assessment_id
WHERE section.faculty_id = ".$_SESSION['user']."
GROUP BY assessment.section_id, [Link]";

$asmnts = $conn->query($query);
}

?>

72
Independent University Bangladesh
SPMS Group 4

Dept Wise :

<?php

$query = "SELECT department, program, semester, course_id, credits, s


tudent_id, SUM(obtained) as 'total' FROM
(SELECT [Link], [Link] as 'course_id', [Link], e
nrollment.student_id, [Link] as 'program', [Link] as 'depart
ment',
IF([Link] = 'final', (SUM(evaluation.obtained_mark) / SUM(as
[Link])) * 40, (SUM(evaluation.obtained_mark) / SUM([Link]
k)) * 30) as 'obtained', [Link]
FROM department LEFT JOIN program on [Link] = [Link]
nt_id
LEFT JOIN course on [Link] = course.program_id
LEFT JOIN section ON [Link] = section.course_id
LEFT JOIN assessment ON [Link] = assessment.section_id
LEFT JOIN evaluation ON [Link] = evaluation.assessment_id
LEFT JOIN co ON assessment.section_id = co.section_id AND assessment.
co_number = [Link]

73
Independent University Bangladesh
SPMS Group 4

LEFT JOIN plo ON co.plo_id = [Link]


LEFT JOIN enrollment ON evaluation.enrollment_id = [Link]
WHERE [Link] = LOWER('$semester')
GROUP BY [Link], enrollment.student_id, [Link], [Link]
) as iQuery
GROUP BY semester, student_id, course_id";

$result = $conn->query($query);

$data = array();

foreach($result as $r){
if(!array_key_exists($r['department'], $data)){
$data[$r['department']] = array();
}
if(!array_key_exists($r['student_id'], $data[$r['department']])){
$data[$r['department']][$r['student_id']] = array();
$data[$r['department']][$r['student_id']]['credits'] = 0;
$data[$r['department']][$r['student_id']]['gpa'] = 0;
$data[$r['department']][$r['student_id']]['credits'] += $
r['credits'];
if($r['total']>=85){
$data[$r['department']][$r['student_id']]['gpa']
+=($r['credits'] * 4.0);
}else if($r['total']>=80){
$data[$r['department']][$r['student_id']]['gpa']
+=($r['credits'] * 3.7);
}else if($r['total']>=75){
$data[$r['department']][$r['student_id']]['gpa']
+=($r['credits'] * 3.3);
}else if($r['total']>=70){
$data[$r['department']][$r['student_id']]['gpa']
+=($r['credits'] * 3.0);
}else if($r['total']>=65){
$data[$r['department']][$r['student_id']]['gpa']
+=($r['credits'] * 2.7);
}else if($r['total']>=60){
$data[$r['department']][$r['student_id']]['gpa']
+=($r['credits'] * 2.3);
}else if($r['total']>=55){
$data[$r['department']][$r['student_id']]['gpa']
+=($r['credits'] * 2.0);
}else if($r['total']>=50){
$data[$r['department']][$r['student_id']]['gpa']
+=($r['credits'] * 1.7);

74
Independent University Bangladesh
SPMS Group 4

}else if($r['total']>=45){
$data[$r['department']][$r['student_id']]['gpa']
+=($r['credits'] * 1.3);
}else if($r['total']>=40){
$data[$r['department']][$r['student_id']]['gpa']
+=($r['credits'] * 1.0);
}
}
}

$department = array();

foreach($data as $k => $dep){


$student = sizeof($dep);
if(!array_key_exists('tend', $dep)){
$dep['tend'] = 0;
}

$i=1;
foreach($dep as $stu){
if($stu['gpa']){
$dep['tend'] += round(($stu['gpa'] / $stu['credits']), 2)
;
}
$i++;
if($i>$student){
break;
}
}
$dep['tend'] /= $student;
$department[$k] = round($dep['tend'], 2);
}

?>

Program wise

<?php

$query = "SELECT department, program, semester, course_id, credits, s


tudent_id, SUM(obtained) as 'total' FROM

75
Independent University Bangladesh
SPMS Group 4

(SELECT [Link], [Link] as 'course_id', [Link], e


nrollment.student_id, [Link] as 'program', [Link] as 'depart
ment',
IF([Link] = 'final', (SUM(evaluation.obtained_mark) / SUM(as
[Link])) * 40, (SUM(evaluation.obtained_mark) / SUM([Link]
k)) * 30) as 'obtained', [Link]
FROM department LEFT JOIN program on [Link] = [Link]
nt_id
LEFT JOIN course on [Link] = course.program_id
LEFT JOIN section ON [Link] = section.course_id
LEFT JOIN assessment ON [Link] = assessment.section_id
LEFT JOIN evaluation ON [Link] = evaluation.assessment_id
LEFT JOIN co ON assessment.section_id = co.section_id AND assessment.
co_number = [Link]
LEFT JOIN plo ON co.plo_id = [Link]
LEFT JOIN enrollment ON evaluation.enrollment_id = [Link]
WHERE [Link] = LOWER('$semester')
GROUP BY [Link], enrollment.student_id, [Link], [Link]
) as iQuery
GROUP BY semester, student_id, course_id";

$result = $conn->query($query);

$data = array();

foreach($result as $r){
$name = $r['program']." in ".strtoupper($r['department']);
if(!array_key_exists($name, $data)){
$data[$name] = array();
}
if(!array_key_exists($r['student_id'], $data[$name])){
$data[$name][$r['student_id']] = array();
$data[$name][$r['student_id']]['credits'] = 0;
$data[$name][$r['student_id']]['gpa'] = 0;
$data[$name][$r['student_id']]['credits'] += $r['credits'];
if($r['total']>=85){
$data[$name][$r['student_id']]['gpa']+=($r['credits'] * 4
.0);
}else if($r['total']>=80){
$data[$name][$r['student_id']]['gpa']+=($r['credits'] * 3
.7);
}else if($r['total']>=75){
$data[$name][$r['student_id']]['gpa']+=($r['credits'] * 3
.3);
}else if($r['total']>=70){

76
Independent University Bangladesh
SPMS Group 4

$data[$name][$r['student_id']]['gpa']+=($r['credits'] * 3
.0);
}else if($r['total']>=65){
$data[$name][$r['student_id']]['gpa']+=($r['credits'] * 2
.7);
}else if($r['total']>=60){
$data[$name][$r['student_id']]['gpa']+=($r['credits'] * 2
.3);
}else if($r['total']>=55){
$data[$name][$r['student_id']]['gpa']+=($r['credits'] * 2
.0);
}else if($r['total']>=50){
$data[$name][$r['student_id']]['gpa']+=($r['credits'] * 1
.7);
}else if($r['total']>=45){
$data[$name][$r['student_id']]['gpa']+=($r['credits'] * 1
.3);
}else if($r['total']>=40){
$data[$name][$r['student_id']]['gpa']+=($r['credits'] * 1
.0);
}
}
}

$program = array();

foreach($data as $k => $prog){


$student = sizeof($prog);
if(!array_key_exists('tend', $prog)){
$prog['tend'] = 0;
}

$i=1;
foreach($prog as $stu){
if($stu['gpa']){
$prog['tend'] += round(($stu['gpa'] / $stu['credits']), 2
);
}
$i++;
if($i>$student){
break;
}
}
$prog['tend'] /= $student;
$program[$k] = round($prog['tend'], 2);

77
Independent University Bangladesh
SPMS Group 4

?>

Course-wise

<?php

$query = "SELECT department, program, semester, course, credits, stud


ent_id, SUM(obtained) as 'total' FROM
(SELECT [Link], [Link] as 'course', [Link], enro
llment.student_id, [Link] as 'program', [Link] as 'departmen
t',
IF([Link] = 'final', (SUM(evaluation.obtained_mark) / SUM(as
[Link])) * 40, (SUM(evaluation.obtained_mark) / SUM([Link]
k)) * 30) as 'obtained', [Link]
FROM department LEFT JOIN program on [Link] = [Link]
nt_id
LEFT JOIN course on [Link] = course.program_id
LEFT JOIN section ON [Link] = section.course_id
LEFT JOIN assessment ON [Link] = assessment.section_id
LEFT JOIN evaluation ON [Link] = evaluation.assessment_id
LEFT JOIN co ON assessment.section_id = co.section_id AND assessment.
co_number = [Link]
LEFT JOIN plo ON co.plo_id = [Link]
LEFT JOIN enrollment ON evaluation.enrollment_id = [Link]
WHERE [Link] = LOWER('$semester')
GROUP BY [Link], enrollment.student_id, [Link], [Link]
) as iQuery
GROUP BY semester, student_id, course";

$result = $conn->query($query);

$data = array();

foreach($result as $r){
if(!array_key_exists($r['course'], $data)){
$data[$r['course']] = array();
$data[$r['course']]['gpa']=0;
$data[$r['course']]['student']=0;
}

78
Independent University Bangladesh
SPMS Group 4

if($r['total']>=85){
$data[$r['course']]['gpa'] += 4.0;
}else if($r['total']>=80){
$data[$r['course']]['gpa'] += 3.7;
}else if($r['total']>=75){
$data[$r['course']]['gpa'] += 3.3;
}else if($r['total']>=70){
$data[$r['course']]['gpa'] += 3.0;
}else if($r['total']>=65){
$data[$r['course']]['gpa'] += 2.7;
}else if($r['total']>=60){
$data[$r['course']]['gpa'] += 2.3;
}else if($r['total']>=55){
$data[$r['course']]['gpa'] += 2.0;
}else if($r['total']>=50){
$data[$r['course']]['gpa'] += 1.7;
}else if($r['total']>=45){
$data[$r['course']]['gpa'] += 1.3;
}else if($r['total']>=40){
$data[$r['course']]['gpa'] += 1.0;
}

$data[$r['course']]['student']++;
}

$course = array();

foreach($data as $k => $crs){


$course[strtoupper($k)] = round(($crs['gpa'] / $crs['student']),
2);
}

?>

Faculty wise

<?php

$query = "SELECT department, program, semester, faculty, course, credits,


student_id, SUM(obtained) as 'total' FROM

79
Independent University Bangladesh
SPMS Group 4

(SELECT [Link], [Link] as 'faculty', [Link] as 'course


', [Link], enrollment.student_id, [Link] as 'program', depa
[Link] as 'department',
IF([Link] = 'final', (SUM(evaluation.obtained_mark) / SUM(assess
[Link])) * 40, (SUM(evaluation.obtained_mark) / SUM([Link]))
* 30) as 'obtained', [Link]
FROM department LEFT JOIN program on [Link] = program.department_i
d
LEFT JOIN course on [Link] = course.program_id
LEFT JOIN section ON [Link] = section.course_id
LEFT JOIN faculty ON section.faculty_id = [Link]
LEFT JOIN assessment ON [Link] = assessment.section_id
LEFT JOIN evaluation ON [Link] = evaluation.assessment_id
LEFT JOIN co ON assessment.section_id = co.section_id AND assessment.co_n
umber = [Link]
LEFT JOIN plo ON co.plo_id = [Link]
LEFT JOIN enrollment ON evaluation.enrollment_id = [Link]
WHERE [Link] = LOWER('$semester')
GROUP BY [Link], enrollment.student_id, [Link], [Link]) as
iQuery
GROUP BY semester, student_id, course";

$result = $conn->query($query);

$data = array();

foreach($result as $r){
if(!array_key_exists($r['faculty'], $data)){
$data[$r['faculty']] = array();
$data[$r['faculty']]['gpa']=0;
$data[$r['faculty']]['student']=0;
}

if($r['total']>=85){
$data[$r['faculty']]['gpa'] += 4.0;
}else if($r['total']>=80){
$data[$r['faculty']]['gpa'] += 3.7;
}else if($r['total']>=75){
$data[$r['faculty']]['gpa'] += 3.3;
}else if($r['total']>=70){
$data[$r['faculty']]['gpa'] += 3.0;
}else if($r['total']>=65){
$data[$r['faculty']]['gpa'] += 2.7;
}else if($r['total']>=60){

80
Independent University Bangladesh
SPMS Group 4

$data[$r['faculty']]['gpa'] += 2.3;
}else if($r['total']>=55){
$data[$r['faculty']]['gpa'] += 2.0;
}else if($r['total']>=50){
$data[$r['faculty']]['gpa'] += 1.7;
}else if($r['total']>=45){
$data[$r['faculty']]['gpa'] += 1.3;
}else if($r['total']>=40){
$data[$r['faculty']]['gpa'] += 1.0;
}

$data[$r['faculty']]['student']++;
}

$faculty = array();

foreach($data as $k => $fac){


$faculty[$k] = round(($fac['gpa'] / $fac['student']), 2);
}

?>

81
Independent University Bangladesh
SPMS Group 4

82
Independent University Bangladesh
SPMS Group 4

<?php

include '[Link]';

$error = 0;

$query = "SELECT section.course_id, [Link], [Link]


, assessment.co_number, IF(SUM(evaluation.obtained_mark)/
SUM([Link])>=0.40, 1, 0) as 'status', [Link]

FROM section LEFT JOIN assessment on [Link] = assessm


ent.section_id

LEFT JOIN evaluation ON [Link] = [Link]


ment_id

LEFT JOIN enrollment ON evaluation.enrollment_id = enroll


[Link]

LEFT JOIN co ON assessment.co_number = [Link] AND sectio


[Link] = co.section_id

LEFT JOIN plo ON co.plo_id = [Link]

GROUP BY enrollment.student_id, section.course_id, [Link]


dx

ORDER BY status DESC";

$result = $conn->query($query);

$plo_achieved = array();

$plo_attempted = array();

$co_achieved = array();

$co_attempted = array();

foreach($result as $r){

if(!array_key_exists($r['indx'], $plo_attempted)){

83
Independent University Bangladesh
SPMS Group 4

$plo_attempted[$r['indx']]=0;

$plo_achieved[$r['indx']]=0;

if(!array_key_exists($r['co_number'], $co_attempted)){

$co_attempted[$r['co_number']] = 0;

$co_achieved[$r['co_number']] = 0;

if($r['status']==1){

$plo_achieved[$r['indx']]++;

$co_achieved[$r['co_number']]++;

$plo_attempted[$r['indx']]++;

$co_attempted[$r['co_number']]++;

ksort($plo_attempted);

ksort($co_attempted);

$query = "SELECT section.course_id, [Link], [Link]


, assessment.co_number, IF(SUM(evaluation.obtained_mark)/
SUM([Link])>=0.40, 1, 0) as 'status', [Link]

FROM section LEFT JOIN course ON section.course_id = cour


[Link]

LEFT JOIN program ON course.program_id = [Link]

LEFT JOIN department ON program.department_id = departmen


[Link]

LEFT JOIN school ON department.school_id = [Link]

LEFT JOIN assessment on [Link] = assessment.section_i


d

84
Independent University Bangladesh
SPMS Group 4

LEFT JOIN evaluation ON [Link] = [Link]


ment_id

LEFT JOIN enrollment ON evaluation.enrollment_id = enroll


[Link]

LEFT JOIN co ON assessment.co_number = [Link] AND sectio


[Link] = co.section_id

LEFT JOIN plo ON co.plo_id = [Link]

";

if(isset($_GET['type']) && isset($_GET['name'])){

if($_GET['type'] == 'course'){

$query .= "WHERE section.course_id = LOWER('".


$_GET['name']."')";

}else if($_GET['type'] == 'program'){

$query .= "WHERE LOWER([Link]) = LOWER('".


$_GET['name']."')";

}else if($_GET['type'] == 'department'){

$query .= "WHERE LOWER([Link]) = LOWER('".


$_GET['name']."')";

}else{

$query .= "WHERE [Link] LIKE '%".$_GET['name']."%'";

$query .= "GROUP BY enrollment.student_id, section.course_id, plo


.indx

ORDER BY status DESC";

$result = $conn->query($query);

if(mysqli_num_rows($result)==0){

$error = 1;

85
Independent University Bangladesh
SPMS Group 4

$plo_achievedE = array();

$plo_attemptedE = array();

$co_achievedE = array();

$co_attemptedE = array();

foreach($result as $r){

if(!array_key_exists($r['indx'], $plo_attemptedE)){

$plo_attemptedE[$r['indx']]=0;

$plo_achievedE[$r['indx']]=0;

if(!array_key_exists($r['co_number'], $co_attemptedE)){

$co_attemptedE[$r['co_number']] = 0;

$co_achievedE[$r['co_number']] = 0;

if($r['status']==1){

$plo_achievedE[$r['indx']]++;

$co_achievedE[$r['co_number']]++;

$plo_attemptedE[$r['indx']]++;

$co_attemptedE[$r['co_number']]++;

ksort($plo_attemptedE);

ksort($co_attemptedE);

$query = "SELECT [Link] as'school', UPPER([Link]


_id) as 'department', CONCAT([Link], ' in ', UPPER([Link]
nt_id)) as 'program', [Link] as 'course', [Link] as 'plo', [Link] a

86
Independent University Bangladesh
SPMS Group 4

s 'co', SUM([Link]) as 'total', SUM(evaluation.obtained_mark) as


'obtained', COUNT(DISTINCT(enrollment.student_id)) as 'student'

FROM school LEFT JOIN department ON [Link] = departmen


t.school_id

LEFT JOIN program ON [Link] = program.department_i


d

LEFT JOIN course on [Link] = course.program_id

LEFT JOIN section ON [Link] = section.course_id

LEFT JOIN assessment ON [Link] = assessment.section_i


d

LEFT JOIN evaluation ON [Link] = [Link]


ment_id

LEFT JOIN co ON assessment.section_id = co.section_id AND


assessment.co_number = [Link]

LEFT JOIN plo ON co.plo_id = [Link]

LEFT JOIN enrollment ON evaluation.enrollment_id = enroll


[Link] ";

if($_GET['type'] == 'school'){

$query .= "WHERE [Link] LIKE '%".$_GET['name']."%'

GROUP BY [Link], [Link], [Link]

ORDER by [Link], [Link]";

}else if($_GET['type'] == 'department'){

$query .= "WHERE LOWER([Link]) = LOWER('".


$_GET['name']."')

GROUP BY [Link], [Link], [Link]

ORDER by [Link], [Link]";

}else if($_GET['type'] == 'program'){

$query .= "WHERE LOWER([Link]) = LOWER('".


$_GET['name']."')

GROUP BY [Link], [Link], [Link]

ORDER by [Link], [Link]";

87
Independent University Bangladesh
SPMS Group 4

if($_GET['type'] != 'course'){

$result = $conn->query($query);

$ploData = array();

foreach($result as $r){

$base = $r[$_GET['type']];

if(!array_key_exists($base, $ploData)){

$ploData[$base] = array();

$ploData[$base]['plo'] = array();

$ploData[$base]['co'] = array();

$plo = $r['plo'];

if(!array_key_exists($plo, $ploData[$base]['plo'])){

$ploData[$base]['plo'][$plo] = array();

$ploData[$base]['plo'][$plo]['total'] = 0;

$ploData[$base]['plo'][$plo]['obtained'] = 0;

$ploData[$base]['plo'][$plo]['total']+=$r['total'];

$ploData[$base]['plo'][$plo]['obtained']+=$r['obtained'];

$co = $r['co'];

if(!array_key_exists($co, $ploData[$base]['co'])){

$ploData[$base]['co'][$co] = array();

if(!array_key_exists($plo, $ploData[$base]['co'][$co])){

$ploData[$base]['co'][$co][$plo] = 0;

88
Independent University Bangladesh
SPMS Group 4

$ploData[$base]['co'][$co][$plo]+=$r['obtained'];

include 'd_student-[Link]';

}else{

$error = 1;

?>

<?php

89
Independent University Bangladesh
SPMS Group 4

<?php

$query = "SELECT department, program, semester, course, credits, stud


ent_id, SUM(obtained) as 'total' FROM
(SELECT [Link], [Link] as 'course', [Link], enro
llment.student_id, [Link] as 'program', [Link] as 'departmen
t',
IF([Link] = 'final', (SUM(evaluation.obtained_mark) / SUM(as
[Link])) * 40, (SUM(evaluation.obtained_mark) / SUM([Link]
k)) * 30) as 'obtained', [Link]
FROM department LEFT JOIN program on [Link] = [Link]
nt_id
LEFT JOIN course on [Link] = course.program_id
LEFT JOIN section ON [Link] = section.course_id
LEFT JOIN assessment ON [Link] = assessment.section_id
LEFT JOIN evaluation ON [Link] = evaluation.assessment_id
LEFT JOIN co ON assessment.section_id = co.section_id AND assessment.
co_number = [Link]
LEFT JOIN plo ON co.plo_id = [Link]
LEFT JOIN enrollment ON evaluation.enrollment_id = [Link]
WHERE [Link] = LOWER('$semester') AND section.faculty_id =
$id
GROUP BY [Link], enrollment.student_id, [Link], [Link]
) as iQuery
GROUP BY semester, student_id, course";

$result = $conn->query($query);

$data = array();

90
Independent University Bangladesh
SPMS Group 4

foreach($result as $r){
if(!array_key_exists($r['course'], $data)){
$data[$r['course']] = array();
$data[$r['course']]['mark']=0;
$data[$r['course']]['student']=0;
}

$data[$r['course']]['mark'] += $r['total'];
$data[$r['course']]['student']++;
}

$course = array();

foreach($data as $k => $crs){


$course[strtoupper($k)] = round(($crs['mark'] / $crs['student']),
2);
}

?>

91
Independent University Bangladesh
SPMS Group 4

CHAPTER 5: CONCLUSION
PROBLEM & SOLUTION
We have faced some problems while creating the Student Performance Monitoring System. Such as:

1) Initially we are not aware of CO PLO mapping, Bloom's Taxonomy, Rubric based evaluation, OBE
Course outline Template etc. Such problems were solved by our honorable faculty members’ help. They
suggested to research on those topics from Internet and gather more and more data on those and make a
checklist before creating rich picture.

2) Lack of knowledge on PHP, CSS, JAVASCRIPT, HTML, SQL was also a challenge for us. We learned
those from our honorable faculty members and through YouTube and practices.

3) We just had data from the School of Engineering (BSc in CSE). If we have some more data of other
schools, we could have represented the Dean page elaborately.

4) Due to short the time of semester hindered our ability to achieve the full potential of this software. We
have created the best possible software within this short period of time and limited resources.

ADDITIONAL FEATURES & FUTURE DEVELOPMENT


1) In our current system we are not able to make any course outline, if there was a fixed course outline,

then instructors would follow the same format and the grading system and assessments would be the
same.

2) We are also not able to connect iRAS with our system, if we could connect them, then it would be
helpful to count and monitor attendance through SPMS.

3) If we could add an option to store the accreditation manual, OBE curriculum, then it would be helpful to
access these things easily. We do not need to go to their website just to get those files.

CONCLUSION AND RECOMMENDATIONS


In our system we have tried our best to build a robust and the best version of SPMS software. Using this
system faculties can map initial CO PLO automatically and they can change the mapping if they want.
Dean, head of the department can see all the graphs and students can also see their progress. So, it is
very helpful for faculties and students to improve their method of teaching. the system can be used by
other universities and in other platforms with a small change.

92
Independent University Bangladesh
SPMS Group 4

REFERENCES

[1 "Bloom’s Taxonomy," [Online]. Available: [Link] [Accessed 23 5 2021].


]

[2 "UGC Portal," [Online]. Available:


] [Link]
e4c1bdfd_8db9_4af8_a538_34dbc84ed2b0/[Link]. [Accessed 23 5 2021].

[3 "Bloom's Taxonomy | Centre for Teaching Excellence | University of Waterloo," [Online]. Available:
] [Link]
courses-and-assignments/course-design/blooms-taxonomy#:~:text=Bloom%27s%20Taxonomy
%20comprises%20three%20learning,of%20the%20Taxonomy%20are%20hierarchical.. [Accessed 23 5
2021].

93
Independent University Bangladesh

You might also like