SlideShare a Scribd company logo
1 of 30
Download to read offline
Take care of the first round of seat allocation
Take care of the second round of seat allocation
Take care of registration fee payments
Providing information like counselling dates,slots etc.
Assigning roll numbers to the students who've secured seats in the institutes.
Admin
User
Login using the credentials provided.
Select choices.
Edit/Remove Choices.
Save choices.
Submit choices
Obtain information like counseling dates, slots etc..
Will be informed about the first counseling result.
Paying registration fee
Will be assigned a roll number.
Will be informed about the second counseling result.
:student
LoginClicked(Reg:int,pass:string)
.connectToDataBase()
:DataBase
.checkPassword(RegNo:int,password:string)
correct or not
.displayCredintials()
:DisplayCredintials .getName(RegNo:int)
Name
.getCategory(RegNo:int)
category
opt
If category is not GE
:getCategoryAcceptance(RegNo:int,category:string)
opt
if category not accepted then category = GE
else category = respective category
.getRank(RegNo:int)
rank
opt
if category accepted
.getCategoryRank(RegNo:int)
Category Rank
.nextButtonClicked()
:Choices
.AlreadySubmitted(RegNo:int)
submitted or not
opt
if not submitted .displayPrefrences(RegNo:int)
displayChoices'
.getPrefrences(RegNo:int)
prefrences
.AddButtonClicked()
.saveButtonClicked()
.savePrefrences(RegNo:int,prefrences:string)
submitButtonClicked()
.savePrefrences(RegNo:int,prefrences:string)
.submitted(RegNo:int)
.RemoveButtonClicked()
.removeSelectedPreferences()
.displayAddedPreferences(preferences:string)
opt
if submitted .displayPrefrences(RegNo:int)
.PrintButtonClicked()
.printPreferences()
opt
if loginned
accepted or not
Allotment
-Dbase:Database
+AllotmentPass(Dbase:DataBase):void
+counsellingDates():void
+adjustList(Dbase:DataBase):void
+refund(Dbase:DataBase):void
+roll_noAllocation(Dbase:DataBase):void
Responsibilities
-- This class will run the whole allotment process.
:allotment
:DataBase
.AllotmentPass(Dbase)
.adjustList(Dbase)
.AllotmentPass(Dbase)
.refund(Dbase)
DataBase
+connectToDataBase():void
+checkPassword(RegNo:int,password:string):bool
+getName(RegNo:int):string;
+getCategory(RegNo:int):string
+getCategoryAcceptance(RegNo:int,category:string):bool
+getRank(RegNo:int):int
+getCategoryRank(RegNo:int,category:string):int
+AlreadySubmitted(RegNo:int):bool
+getPrefrences(RegNo:int):string
+savePrefrences(RegNo:int,prefrences:string):void
+submitted(RegNo:int):void
.roll_noAllocation(Dbase)
.counsellingDates()
IIT JEE Seat Allocation System
And Admission Process
-Group 3
Team Leaders:
PYDI PEDDIGARI VENKAT SAI - 10010149
ABHISHEK JOSHI - 10010102
Members of the Team:
9010156 TEJINDER SINGH
10010169 VIMAL BHUSHAN CHOUDHARY
10010166 SUDHANSHU MITTAL
10010159 SAURAV KUMAR PATEL
10010102 ABHISHEK JOSHI
07010145 SUMAN KUMAR
10010163 SHIVANGI SRIVASTAVA
10010154 ROHIT SINGLA
10010161 SHEFALI R KALYANI
10010123 HEMANT KUMAR MEENA
10010109 AMERINENI ROHITH
10010173 RANTI DEV SHARMA
10010149 PYDI PEDDIGARI VENKAT SAI
10010146 PRATEEK RASTOGI
10010125 JUVVIGUNTA NARASIMHA TEJA
10010153 REVANTH BHATTARAM
10010135 MUDIT GUPTA
10010106 ADITYA SHARMA
10010120 GAURAV VERMA
10010167 SUNKU VINESH REDDY
10010152 RANUVA SAI TEJA
10010176 ANUJ GUPTA
Write UP
Users of the Software: Students who have been qualified and given a rank
Admin of the Software: The JEE authorities who maintain the database of all the
candidates information and also the information of the no of vacancies(seats) available in
each branch of every IIT
The main objectives of the software are as follows:
We represent these objectives in the form of Use Case diagrams for the User of the
software and the Admin
Description of Use Case Diagram for User:
The following are the features available to the user (in this case, the student):
 Login Using Credentials Provided: The user will be provided a username and
password with which he can log in.
 Select Choices: The user can fill his choice sheet by selecting the available courses.
 Edit/Remove Choices: The user has the ability to change the preference order of
his selected choices. Additionally, he can remove a previously selected course.
 Save Choices And Logout: The user can save the choice sheet at any point of time
and can resume editing later.
 Submit Choices: The user can submit his final choice sheet after confirmation.
 First Counseling Result: The user gets to find out the seat allotted after the first
counseling.
 Paying Registration Fee: The user has to pay the registration fee after the first
allotment to confirm the seat allotted to him/her.
 Second Counseling Result: The user gets to find out the seat allotted to him after
second counseling.
 Assignment of Roll Number: After the entire seat allocation procedure, the user is
assigned a unique roll number by the institute where he received admission.
Description of Use Case Diagram for Admin:
The following are the features available to the Administrator:
 Providing Login Credentials: The admin is supposed to provide login credentials to
each student.
 Providing Information: The admin will have to provide information like counseling
dates, slots, and previous year statistics like opening and closing ranks of each
course, etc... to the students.
 First Round of Seat Allotment: The admin will have to take care of the first round
of seat allocation. The results of the first round of seat allotment have to be made
available to all the candidates.
 Registration Fee Payments: The admin will have to handle the process of
registration fee payment. A list of candidates who have paid the registration fees
should be prepared.
 Remove Candidates: The candidates who haven’t paid the registration fees
thereby opting out of the counseling procedure will have to be removed from the
database.
 Second Round of Seat Allotment: The admin will have to take care of the second
round of seat allocation. The results of the second round of seat allotment have to
be made available to all the candidates.
 Assigning Roll Numbers: After the entire seat allocation procedure, the admin has
to assign a unique roll number to each student.
So now, as the functions that a user and an admin can perform are clear, we go with the
explanation of the Databases, detailing the Tables present in the Database and the fields
present in each table including details of the type of data of each field.
DATABASE DESIGN
1. The Database for the software will contain the following tables
 CML list
 OBC list
 SC list
 ST list
 GE-PD list
 OBC-PD list
 SC-PD list
 ST-PD list
 Tables relating to the number of seats available in each branch of each IIT for
all categories.(There will be 17 such tables going by the current number)
2. In what follows are the description of the fields of the tables of which the fields
common to all the tables are listed below with their MS Access datatypes.
3. CML List
 CML Rank Number{0}
4. OBC List
 OBC Rank Number{0}
 Category Acceptance Yes/No{No}
5. SC List
 SC Rank Number{0}
 Category Acceptance Yes/No{No}
6. ST List
 ST Rank Number{0}
 Category Acceptance Yes/No{No}
7. GE-PD List
 GE-PD Rank Number{0}
 Category Acceptance Yes/No{No}
8. OBC-PD List
 Name Text{none}
 JEE Roll No[will be used for login] Number{xxxxxxx}
 Preferences Memo{xxxx}
 Fees paid Yes/No{No}
 Category Text{GE}
 Branch Allotted Text{xxxx}
 Choice Submitted Yes/No{No}
 Marks obtained in each subject[3] Number{0}
 Password[will be used for login] Text{none}
 OBC-PD Rank Number
 Category Acceptance Yes/No
9. SC-PD List
 SC-PD Rank Number{0}
 Category Acceptance Yes/No{No}
10. ST-PD List
 ST-PD Rank Number{0}
 Category Acceptance Yes/No{No}
11. Tables containing information related to the number of seats available in each branch of
each IIT for all categories
 There will be a table for each IIT.
 The fields of a table of one such IIT are shown below
I. Branch-Code Text{none}
II. GE seats Number{0}
III. GE-PD seats Number{0}
IV. OBC seats Number{0}
V. OBC-PD seats Number{0}
VI. SC seats Number{0}
VII. SC-PD seats Number{0}
VIII. ST seats Number{0}
IX. ST-PD seats Number{0}
X. DS Seats Number{2}
To cover more features we can cover/add fields listed below [if time permits]
I. GE opening rank Number{0}
II. GE closing rank Number{0}
III. Category rank(SC/ST/OBC etc) Number{0}
Where bold italics indicates that it is to be used as the primary key, and bold indicate that it can also be
used as the primary key. Also the values in the curly brackets indicate the default values of the respective
fields. The numbers in the square brackets indicate the number of columns in the table, for example
Marks in each subject[3] means one column for physics, math, chemistry respectively.
Some points to be noted in case of Databases are as follows:
1. The relevant student information is stored in the database, out of which only JEE Roll No and the
password are used to gain access to the page where he can enter the preferences.
2. The preferences entered by the candidate are enter into the database as soon as he presses the save
button and are stored in the following format:-
For example if preferences of the candidate are W010,B010,B011,D011 in the order mentioned, then it
will be stored in the database as W010,B010,B011,D011.These can be tokenized with ‘,’ as the delimiter
and then used.
3. As soon as the student presses the submit button then his/her choices are freezed and “Choice
Submitted” is made into Yes.
4. The password field although is stored as a Text field but it can be encrypted using some simple function
so that confidential data is not tampered with.
5. After the first allotment, if fees is paid by the candidate then only “Fees Paid” field should be made Yes
otherwise No should be retained, that’s why default value is important here.
6. Similar thing applies to “Category” field as well if a candidate fails to produce a certificate of his/her
category, then he/she is automatically designated as GE candidate, once again the default value is
important.
7. The DS seats are over and above the seats as mentioned in the counseling brochure.
8. The DS candidates once they have been allocated seats under the DS category, will be removed from
the CML list, and the other DS Candidates are treated as GE candidates[default value].
Now, we divide the software into the following modules:
 Front End Module: Through which the user can login with certain credentials and then use the
software based on a user interface to fill the choices, save and submit the choices(i.e. the
preferences) of IITs etc.
 Back End Module: This is the module which is the key part of the software. This has the entire
algorithm for Seat allocation process to all candidates and it performs the allocation in two rounds
of allotment. The information required from the database tables is processed and is accessed in this
module to generate the results for seat allotment. Moreover, two rounds of allotment are involved
here. This module also comprises of tasks of fee refund and rolls no allocation.
How to follow these diagrams:
 The information about the classes(which includes attributes, and their methods) with the
relationships among them is clearly stated in the Class Diagrams attatched.
 What follows is the description of the methods present in the class diagrams of each class used in
the diagram
 So, by understanding these methods, you can proceed with the understanding of the sequence
diagrams used in the project.
 The sequence diagrams give an outline of the logic of execution of both the front end and the back
end.
Description of class diagrams with their methods:
After the user fills the required forms and clicks on the login button, the registration number and password are sent
as arguments to loginClicked(Reg:int,pass:string) which is a member of “student” class.
We will now describe the functioning of the various classes:
student:
loginClicked(Reg:int,pass:string): In this function, we call the connectToDatabase() function which is used to connect
to the database.
checkPassword(RegNo:int,password:string): This function checks if the password entered by the user is correct.
Once the user the user is logged in, the following process takes place:
 displayCredentials() function (a member of DisplayCredentials class) is called.
 The nextButtonClicked() function (a member of Choices class) is called when the user clicks on the “Next”
button.
DisplayCredentials:
displayCredentials(): This function will obtain the required information from the database and display it.
getName(RegNo:int): This function is used to obtain the name of a student.
getCategory(RegNo:int): The function is used to obtain the category of a student.
Note: If the category of the candidate is not GE then, getCategoryAcceptance(Regno:int,category:string) is used to
find out if the candidate has submitted the caste certificate. If the candidate fails to submit the caste certificate, then
category of that candidate is changed to GE.
getRank(RegNo:int): This function is used to obtain the CML rank of the candidate.
getCategoryRank(RegNo:int,category:string): This function is used to obtain the category rank of the candidate.
Choices:
nextButtonClicked(): When this function is called, the control flow is as follows :
AlreadySubmitted(RegNo:int) (a member of Database class) is called which checks if the candidate has already
submitted his choice sheet.
Now, we have two cases:
Case 1: If the candidate has not submitted the choices then,
 displayPreferences(region:int) function in displaychoices class is called which displays the saved choice sheet.
 The user has the choice of adding a course to his choice sheet. This can be done by selecting a course from the
list and then clicking on the Add button. When the user clicks on the button the AddButtonClicked() function
is called which in turn calls displayAddedPreferences(preference:string) which displays the new list with the
latest choice at the bottom.
 If the user clicks on the Save button then the saveButtonclicked() function is called which in turn calls the
savePreferences(regNo:int,Preferences:string) function. The choice sheet is saved.
 If the user clicks on the Submit button then the submitButtonclicked() function is called which in turn calls the
savePreferences(regNo:int,Preferences:string) function. The choice sheet is saved and then submitted.
 The user can select multiple choices in his choices and can click on the remove button. The
removeselectedpreferences() function is called which removes the selected preferences from the list.
Case 2: If the candidate has already submitted the list then,
 displayPreferences(region:int) function (a member of DisplayChoices class) is called which displays the
submitted choice sheet.
 The user has the option of clicking on the Print button which will call the PrintPreferences() function which
prints the choice sheet.
DisplayChoices:
DisplayPreferences(region:int): This function is used to display the candidate’s choice sheet. This function in turn
calls getPreferences(region:int) which gets the list of preferences separated by ',' .
displayAddedPreferences(preference:string): This function is used to display the modified choice sheet after
addition of a few choices.
PrintPreferences(): This function is used to print the choice sheet.
removeselectedPreferences(): This function is called when the user selects a few choices in his choice sheet and
clicks on the Remove button. This function removes the selected choices from the list.
DataBase:
connectToDataBase(): This function is used to connect to the database.
checkPassword(RegNo:int,password:string): This function checks if the user has entered the right password.
getName(RegNo:int): This function is used to obtain the name of a candidate. The name is extracted from the Name
column in the CML list table.
getCategory(RegNo:int): This function is used to obtain the category of the candidate. The category is extracted
from the Category column in the CML list table.
getCategoryAcceptance(Regno:int,category:string): This function returns the value in the Category Acceptance
column of the candidate with Registration Number=Regno in the required Category list table.
getRank(RegNo:int): This function returns the CML rank of a student(with Registration Number=Regno) by searching
in the CML list table.
getCategoryRank(RegNo:int,category:string): This function returns the category rank of a candidate (with
Registration Number=Regno) by searching in the required Category list table.
AlreadySubmitted(RegNo:int): This function checks if the user has already submitted the choice sheet by checking
the Choice Submitted column.
getPreferences(regNo:int): This function returns the preferences of the candidate by extracting details from the
respective column.
savePreferences(region:int,Preferences:string): This function updates the preferences of a candidate.
submitted(regNo:int): This function changes the submitted column (of the entry with Registration Number=Regno)
to Yes.
Allotment class:
1. It is responsible for doing the following things
a. Running the first allotment pass, the corresponding function is AllotmentPass(Dbase).
b. Assigning the counseling dates to the various IIT’s, the corresponding function is
counsellingDates().
c. Adjusting the list i.e filtering out those candidates who did not pay the fees, the corresponding
function is adjustList(Dbase).
d. Running the second allotment pass, using the same Allotment Pass function.
e. Refunding the candidates their fees if they don’t get a seat even after the second allocation, the
corresponding function is refund(Dbase).
2. It has a dependency with the DataBase class since it accesses all the data in the DataBase.
3. Whenever AllotmentPass() is mentioned, refer “Allotment Pass” activity diagram.
4. Whenever counsellingDates() is mentioned, the function just assigns a window of four days to each IIT
,that too non-overlapping one after the another.
5. adjustList(Dbase) filters out the candidates who did not pay the fees i.e the candidates whose “Fees
Paid” field is set to No after the first allotment.
6. refund(Dbase) refunds the cadidates their fees if they don’t get a seat even after the second allotment,
and setting the “Fees Paid” field to No.
Activity Diagrams:
The following activity diagrams have been used:
 Complete Seat Allocation Diagram
 Allotment Pass Diagram
 Adjust List Diagram
 Basic Algorithm Diagram
 Seat Allocation Diagram
 GEN Allocation Diagram
 OBC Allocation Diagram
 SC Allocation Diagram
 ST Allocation Diagram
 GEN-PD Allocation Diagram
 OBC-PD Allocation Diagram
 SC-PD Allocation Diagram
 ST-PD Allocation Diagram
 Roll No Allocation Diagram
Complete Logic/Flow of Execution of the Software:
The sequence of execution of the software is as follows:
 From the user interface provided, all the students would fill in their respective preferences and it will
be put in a field in the database(as described above in the database section).This is in brief, the
Frontend module execution.
 Now, we have the list of all candidates who have got a rank in our students table
 We form the CML list as follows:
Step 1: From the AIR rank list,first remove the DS candidates who have been allocated the
seats(which is done manually)
Step 2: To this list first append all the OBC candidates who have got an OBC rank but do not have an
AIR rank
Step 3: To this list append all OBC-PD candidtaes who have got an OBC-PD rank but do not have an
OBC rank
Step 4: Repeat the steps 3 and 4 for SC
Step 5: Repeat the steps 3 and 4 for ST
 For the further running of algorithmic passes we consider these CML lists itself.
 So, what remains in the software is just the Backend module execution.
Backend Module Execution:
 Here, execution of the entire seat allocation algorithm forms the main part of the backend module
execution.
 As mentioned before, it has got several functions as follows:
Allocate seats in the first allotment
Adjust the list (i.e. exclude the candidates who have not paid reg. fees)
Generate counseling dates
Allocate seats in the second allotment
Refund of fees to those who have not got a seat
Allocation of roll nos in the respective IIT
To understand this backend module execution follow the following diagram sequence as guided in
the following part of the document:
 Note: Whenever we have a circle containing some Text like this, this indicates that this “Allotment
Pass” is referred somewhere else in another diagram which describes the complete algorithm to be
followed for just this entity “Allotment Pass”. For example, here this Allotment Pass entity has been
expanded as a whole algorithm in “Allotment Pass Diagram”. So, in that diagram, whatever has
been elaborated under Allotment Pass entity refers to the algorithm that should be incorporated in
the actual diagram that we are looking at now.
 Go to “Complete Seat Allocation Diagram”: This diagram is the one which contains the complete
outer flow of execution of the back end module.
This has got some sub entities like:
“Allotment Pass” entity -- which is referred under “Allotment Pass diagram”
“Adjust List” entity – which is referred under “Adjust List Diagram”
“Roll no Allocation” entity – which is referred under “Roll no allocation diagram”
To describe in brief, it has 1st
round, 2nd
round of allotment in main and also has adjust list(which
adjusts the list) and some other functions like counseling dates generation, fee refund and roll no
allocation
 Now, as we have to address those individual entities that we have referred to, we go those
individual entity diagrams…
 “Allotment Pass Diagram”: This is the diagram which runs a certain flow as follows:
Run “Basic Algo” entity – This is present in the “Basic Algorithm diagram”
Check through certain conditional flow as described in the diagram and again execute the
remaining flow as suggested in the diagram flow.
The flow is very clear to be understood in the diagram itself
So describe in few words, this Allotment Pass algorithm is just one round of allotment of seats
 “Adjust List Diagram”: This is the algo to scan through the CML list and see if they have Not agreed
for 2nd allotment from the 'Fees Paid' field of CML list and then,if a branch has been allocated for
that candidate under whichever category, increase the no.of seats for that branch by 1 and
Moreover remove that candidate from the initial CML list considered
 “Basic Algo Diagram”: This algorithmic entity is a single pass of “seat allocation” on all the
candidates appearing in the CML list prepared.
This has “Seat Allocation” entity – which can be referred in the “Seat Allocation Diagram”
 “Seat Allocation Diagram”: This algorithmic entity on the whole works on the algorithm/logic to be
followed for the seat allocation of a particular candidate and gives the result accordingly.
It hase got various sub entities as follows:
“GE ALLOC” entity : referred in the “GEN Allocation Diagram”
“OBC ALLOC” entity: referred in the “OBC Allocation Diagram”
“SC ALLOC” entity: referred in the “SC Allocation Diagram”
“ST ALLOC” entity: referred in the “ST Allocation Diagram”
“GE/PD ALLOC” entity : referred in the “GEN-PD Allocation Diagram”
“OBC/PD ALLOC” entity: referred in the “OBC-PD Allocation Diagram”
“SC/PD ALLOC” entity: referred in the “SC-PD Allocation Diagram”
“ST/PD ALLOC” entity: referred in the “ST-PD Allocation Diagram”
Well, the logic for the Seat allocation diagram is stated clearly in the “Seat Allocation Diagram” to
be understood.
Now, we have to address those individual entities which are stated above. The logic for these
entities has been stated in their respective activity diagrams:
 “GEN Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat
for a candidate of GEN category
 “OBC Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat
for a candidate of OBC category. In this case, in whichever case, the candidate can get a better
preference, i.e., if he is under OBC or GEN is considered and the seat would be allocated
accordingly.
The same logic is followed for SC,ST,GEN-PD,OBC-PD,SC-PD,ST-PD for the following diagrams.
 “SC Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat for a
candidate of SC category
 “ST Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat for a
candidate of ST category
 “GEN-PD Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a
seat for a candidate of GEN-PD category
 “OBC-PD Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a
seat for a candidate of OBC-PD category
 “SC-PD Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat
for a candidate of SC-PD category
 “ST-PD Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat
for a candidate of ST-PD category
 All these algorithm entities listed above now do not have sub entities anymore
 Now, whatever sub entities that are referred to have terminated and hence revert back to their
super entity(just like a nested function)(This sentence is to just get a feel of the execution of the
algorithm going on)
 We have one more entity left to be described…
 “Roll No Allocation Diagram”: This algorithmic entity allocates the roll no’s for all the students who
have been given a seat after the 2nd
allotment process(which is indeed, interpreted in the activity
diagrams)
So, this all the work flow that would be followed.
So, this is all the summary of the process and the work flow involved in this software in different
modules,which are both front end and back end

More Related Content

What's hot (7)

Phase Shift Keying & π/4 -Quadrature Phase Shift Keying
Phase Shift Keying & π/4 -Quadrature Phase Shift KeyingPhase Shift Keying & π/4 -Quadrature Phase Shift Keying
Phase Shift Keying & π/4 -Quadrature Phase Shift Keying
 
quadrature amplitude modulation
quadrature amplitude modulationquadrature amplitude modulation
quadrature amplitude modulation
 
Comparator
ComparatorComparator
Comparator
 
L 1 5 sampling quantizing encoding pcm
L 1 5 sampling quantizing encoding pcmL 1 5 sampling quantizing encoding pcm
L 1 5 sampling quantizing encoding pcm
 
Digital modulation techniques
Digital modulation techniquesDigital modulation techniques
Digital modulation techniques
 
GMSK with GSM
GMSK with GSMGMSK with GSM
GMSK with GSM
 
Double sideband suppressed carrier (dsb sc) modulation
Double sideband suppressed carrier (dsb sc) modulationDouble sideband suppressed carrier (dsb sc) modulation
Double sideband suppressed carrier (dsb sc) modulation
 

Similar to IIT JEE Seat Allocation System

Student Name CourseCIS339Session (month, year)032019.docx
Student Name CourseCIS339Session (month, year)032019.docxStudent Name CourseCIS339Session (month, year)032019.docx
Student Name CourseCIS339Session (month, year)032019.docx
cpatriciarpatricia
 
Student result mamagement
Student result mamagementStudent result mamagement
Student result mamagement
Mickey
 

Similar to IIT JEE Seat Allocation System (20)

2. DD-sample.docx
2. DD-sample.docx2. DD-sample.docx
2. DD-sample.docx
 
Student Name CourseCIS339Session (month, year)032019.docx
Student Name CourseCIS339Session (month, year)032019.docxStudent Name CourseCIS339Session (month, year)032019.docx
Student Name CourseCIS339Session (month, year)032019.docx
 
Course registration system dfd
Course registration system dfdCourse registration system dfd
Course registration system dfd
 
Student Result Mamagement
Student Result MamagementStudent Result Mamagement
Student Result Mamagement
 
Vivek resume
Vivek resumeVivek resume
Vivek resume
 
Web Technology End semester Examination Questions
Web Technology End semester Examination QuestionsWeb Technology End semester Examination Questions
Web Technology End semester Examination Questions
 
Student Progress Report, Result Analysis & Time Table Generation
Student Progress Report, Result Analysis & Time Table GenerationStudent Progress Report, Result Analysis & Time Table Generation
Student Progress Report, Result Analysis & Time Table Generation
 
training and placement cell portal
training and placement cell portal training and placement cell portal
training and placement cell portal
 
Prathima technologies school pro brochure
Prathima technologies school pro brochurePrathima technologies school pro brochure
Prathima technologies school pro brochure
 
Project Management (2017) slip question (MUM University)
Project Management (2017) slip question (MUM University)Project Management (2017) slip question (MUM University)
Project Management (2017) slip question (MUM University)
 
Student result mamagement
Student result mamagementStudent result mamagement
Student result mamagement
 
Distributed Exam system
Distributed Exam systemDistributed Exam system
Distributed Exam system
 
CS2357_OOAD_CS2357_OOAD_CS2357_OOAD_CS2357_OOAD
CS2357_OOAD_CS2357_OOAD_CS2357_OOAD_CS2357_OOADCS2357_OOAD_CS2357_OOAD_CS2357_OOAD_CS2357_OOAD
CS2357_OOAD_CS2357_OOAD_CS2357_OOAD_CS2357_OOAD
 
Course registration system
Course registration systemCourse registration system
Course registration system
 
Detailed_Design
Detailed_DesignDetailed_Design
Detailed_Design
 
Vivek resume(1)
Vivek resume(1)Vivek resume(1)
Vivek resume(1)
 
Choice_Filling PPT TNEA.pdf
Choice_Filling PPT TNEA.pdfChoice_Filling PPT TNEA.pdf
Choice_Filling PPT TNEA.pdf
 
SCORE CARD
SCORE CARDSCORE CARD
SCORE CARD
 
Best Student Selection Using Extended Promethee II Method
Best Student Selection Using Extended Promethee II MethodBest Student Selection Using Extended Promethee II Method
Best Student Selection Using Extended Promethee II Method
 
Project Management (Practical Qustion Paper) [CBSGS - 75:25 Pattern] {April -...
Project Management (Practical Qustion Paper) [CBSGS - 75:25 Pattern] {April -...Project Management (Practical Qustion Paper) [CBSGS - 75:25 Pattern] {April -...
Project Management (Practical Qustion Paper) [CBSGS - 75:25 Pattern] {April -...
 

More from Priyatham Bollimpalli

The problem of Spatio-Temporal Invariant Points in Videos
The problem of Spatio-Temporal Invariant Points in VideosThe problem of Spatio-Temporal Invariant Points in Videos
The problem of Spatio-Temporal Invariant Points in Videos
Priyatham Bollimpalli
 

More from Priyatham Bollimpalli (10)

Meta Machine Learning: Hyperparameter Optimization
Meta Machine Learning: Hyperparameter OptimizationMeta Machine Learning: Hyperparameter Optimization
Meta Machine Learning: Hyperparameter Optimization
 
Science and Ethics: The Manhattan Project during World War II
Science and Ethics: The Manhattan Project during World War IIScience and Ethics: The Manhattan Project during World War II
Science and Ethics: The Manhattan Project during World War II
 
Kernel Descriptors for Visual Recognition
Kernel Descriptors for Visual RecognitionKernel Descriptors for Visual Recognition
Kernel Descriptors for Visual Recognition
 
Auction Portal
Auction PortalAuction Portal
Auction Portal
 
Design and Fabrication of 4-bit processor
Design and Fabrication of  4-bit processorDesign and Fabrication of  4-bit processor
Design and Fabrication of 4-bit processor
 
Library Management System
Library  Management  SystemLibrary  Management  System
Library Management System
 
Interface for Finding Close Matches from Translation Memory
Interface for Finding Close Matches from Translation MemoryInterface for Finding Close Matches from Translation Memory
Interface for Finding Close Matches from Translation Memory
 
GCC RTL and Machine Description
GCC RTL and Machine DescriptionGCC RTL and Machine Description
GCC RTL and Machine Description
 
The problem of Spatio-Temporal Invariant Points in Videos
The problem of Spatio-Temporal Invariant Points in VideosThe problem of Spatio-Temporal Invariant Points in Videos
The problem of Spatio-Temporal Invariant Points in Videos
 
Literature Survey on Interest Points based Watermarking
Literature Survey on Interest Points based WatermarkingLiterature Survey on Interest Points based Watermarking
Literature Survey on Interest Points based Watermarking
 

Recently uploaded

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 

Recently uploaded (20)

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 

IIT JEE Seat Allocation System

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Take care of the first round of seat allocation Take care of the second round of seat allocation Take care of registration fee payments Providing information like counselling dates,slots etc. Assigning roll numbers to the students who've secured seats in the institutes. Admin
  • 16. User Login using the credentials provided. Select choices. Edit/Remove Choices. Save choices. Submit choices Obtain information like counseling dates, slots etc.. Will be informed about the first counseling result. Paying registration fee Will be assigned a roll number. Will be informed about the second counseling result.
  • 17.
  • 18. :student LoginClicked(Reg:int,pass:string) .connectToDataBase() :DataBase .checkPassword(RegNo:int,password:string) correct or not .displayCredintials() :DisplayCredintials .getName(RegNo:int) Name .getCategory(RegNo:int) category opt If category is not GE :getCategoryAcceptance(RegNo:int,category:string) opt if category not accepted then category = GE else category = respective category .getRank(RegNo:int) rank opt if category accepted .getCategoryRank(RegNo:int) Category Rank .nextButtonClicked() :Choices .AlreadySubmitted(RegNo:int) submitted or not opt if not submitted .displayPrefrences(RegNo:int) displayChoices' .getPrefrences(RegNo:int) prefrences .AddButtonClicked() .saveButtonClicked() .savePrefrences(RegNo:int,prefrences:string) submitButtonClicked() .savePrefrences(RegNo:int,prefrences:string) .submitted(RegNo:int) .RemoveButtonClicked() .removeSelectedPreferences() .displayAddedPreferences(preferences:string) opt if submitted .displayPrefrences(RegNo:int) .PrintButtonClicked() .printPreferences() opt if loginned accepted or not
  • 19. Allotment -Dbase:Database +AllotmentPass(Dbase:DataBase):void +counsellingDates():void +adjustList(Dbase:DataBase):void +refund(Dbase:DataBase):void +roll_noAllocation(Dbase:DataBase):void Responsibilities -- This class will run the whole allotment process. :allotment :DataBase .AllotmentPass(Dbase) .adjustList(Dbase) .AllotmentPass(Dbase) .refund(Dbase) DataBase +connectToDataBase():void +checkPassword(RegNo:int,password:string):bool +getName(RegNo:int):string; +getCategory(RegNo:int):string +getCategoryAcceptance(RegNo:int,category:string):bool +getRank(RegNo:int):int +getCategoryRank(RegNo:int,category:string):int +AlreadySubmitted(RegNo:int):bool +getPrefrences(RegNo:int):string +savePrefrences(RegNo:int,prefrences:string):void +submitted(RegNo:int):void .roll_noAllocation(Dbase) .counsellingDates()
  • 20. IIT JEE Seat Allocation System And Admission Process -Group 3 Team Leaders: PYDI PEDDIGARI VENKAT SAI - 10010149 ABHISHEK JOSHI - 10010102 Members of the Team: 9010156 TEJINDER SINGH 10010169 VIMAL BHUSHAN CHOUDHARY 10010166 SUDHANSHU MITTAL 10010159 SAURAV KUMAR PATEL 10010102 ABHISHEK JOSHI 07010145 SUMAN KUMAR 10010163 SHIVANGI SRIVASTAVA 10010154 ROHIT SINGLA 10010161 SHEFALI R KALYANI 10010123 HEMANT KUMAR MEENA 10010109 AMERINENI ROHITH 10010173 RANTI DEV SHARMA 10010149 PYDI PEDDIGARI VENKAT SAI 10010146 PRATEEK RASTOGI 10010125 JUVVIGUNTA NARASIMHA TEJA 10010153 REVANTH BHATTARAM 10010135 MUDIT GUPTA 10010106 ADITYA SHARMA 10010120 GAURAV VERMA 10010167 SUNKU VINESH REDDY 10010152 RANUVA SAI TEJA 10010176 ANUJ GUPTA
  • 21. Write UP Users of the Software: Students who have been qualified and given a rank Admin of the Software: The JEE authorities who maintain the database of all the candidates information and also the information of the no of vacancies(seats) available in each branch of every IIT The main objectives of the software are as follows: We represent these objectives in the form of Use Case diagrams for the User of the software and the Admin Description of Use Case Diagram for User: The following are the features available to the user (in this case, the student):  Login Using Credentials Provided: The user will be provided a username and password with which he can log in.  Select Choices: The user can fill his choice sheet by selecting the available courses.  Edit/Remove Choices: The user has the ability to change the preference order of his selected choices. Additionally, he can remove a previously selected course.  Save Choices And Logout: The user can save the choice sheet at any point of time and can resume editing later.  Submit Choices: The user can submit his final choice sheet after confirmation.  First Counseling Result: The user gets to find out the seat allotted after the first counseling.  Paying Registration Fee: The user has to pay the registration fee after the first allotment to confirm the seat allotted to him/her.  Second Counseling Result: The user gets to find out the seat allotted to him after second counseling.  Assignment of Roll Number: After the entire seat allocation procedure, the user is assigned a unique roll number by the institute where he received admission.
  • 22. Description of Use Case Diagram for Admin: The following are the features available to the Administrator:  Providing Login Credentials: The admin is supposed to provide login credentials to each student.  Providing Information: The admin will have to provide information like counseling dates, slots, and previous year statistics like opening and closing ranks of each course, etc... to the students.  First Round of Seat Allotment: The admin will have to take care of the first round of seat allocation. The results of the first round of seat allotment have to be made available to all the candidates.  Registration Fee Payments: The admin will have to handle the process of registration fee payment. A list of candidates who have paid the registration fees should be prepared.  Remove Candidates: The candidates who haven’t paid the registration fees thereby opting out of the counseling procedure will have to be removed from the database.  Second Round of Seat Allotment: The admin will have to take care of the second round of seat allocation. The results of the second round of seat allotment have to be made available to all the candidates.  Assigning Roll Numbers: After the entire seat allocation procedure, the admin has to assign a unique roll number to each student. So now, as the functions that a user and an admin can perform are clear, we go with the explanation of the Databases, detailing the Tables present in the Database and the fields present in each table including details of the type of data of each field.
  • 23. DATABASE DESIGN 1. The Database for the software will contain the following tables  CML list  OBC list  SC list  ST list  GE-PD list  OBC-PD list  SC-PD list  ST-PD list  Tables relating to the number of seats available in each branch of each IIT for all categories.(There will be 17 such tables going by the current number) 2. In what follows are the description of the fields of the tables of which the fields common to all the tables are listed below with their MS Access datatypes. 3. CML List  CML Rank Number{0} 4. OBC List  OBC Rank Number{0}  Category Acceptance Yes/No{No} 5. SC List  SC Rank Number{0}  Category Acceptance Yes/No{No} 6. ST List  ST Rank Number{0}  Category Acceptance Yes/No{No} 7. GE-PD List  GE-PD Rank Number{0}  Category Acceptance Yes/No{No} 8. OBC-PD List  Name Text{none}  JEE Roll No[will be used for login] Number{xxxxxxx}  Preferences Memo{xxxx}  Fees paid Yes/No{No}  Category Text{GE}  Branch Allotted Text{xxxx}  Choice Submitted Yes/No{No}  Marks obtained in each subject[3] Number{0}  Password[will be used for login] Text{none}
  • 24.  OBC-PD Rank Number  Category Acceptance Yes/No 9. SC-PD List  SC-PD Rank Number{0}  Category Acceptance Yes/No{No} 10. ST-PD List  ST-PD Rank Number{0}  Category Acceptance Yes/No{No} 11. Tables containing information related to the number of seats available in each branch of each IIT for all categories  There will be a table for each IIT.  The fields of a table of one such IIT are shown below I. Branch-Code Text{none} II. GE seats Number{0} III. GE-PD seats Number{0} IV. OBC seats Number{0} V. OBC-PD seats Number{0} VI. SC seats Number{0} VII. SC-PD seats Number{0} VIII. ST seats Number{0} IX. ST-PD seats Number{0} X. DS Seats Number{2} To cover more features we can cover/add fields listed below [if time permits] I. GE opening rank Number{0} II. GE closing rank Number{0} III. Category rank(SC/ST/OBC etc) Number{0} Where bold italics indicates that it is to be used as the primary key, and bold indicate that it can also be used as the primary key. Also the values in the curly brackets indicate the default values of the respective fields. The numbers in the square brackets indicate the number of columns in the table, for example Marks in each subject[3] means one column for physics, math, chemistry respectively. Some points to be noted in case of Databases are as follows: 1. The relevant student information is stored in the database, out of which only JEE Roll No and the password are used to gain access to the page where he can enter the preferences. 2. The preferences entered by the candidate are enter into the database as soon as he presses the save button and are stored in the following format:- For example if preferences of the candidate are W010,B010,B011,D011 in the order mentioned, then it will be stored in the database as W010,B010,B011,D011.These can be tokenized with ‘,’ as the delimiter and then used. 3. As soon as the student presses the submit button then his/her choices are freezed and “Choice
  • 25. Submitted” is made into Yes. 4. The password field although is stored as a Text field but it can be encrypted using some simple function so that confidential data is not tampered with. 5. After the first allotment, if fees is paid by the candidate then only “Fees Paid” field should be made Yes otherwise No should be retained, that’s why default value is important here. 6. Similar thing applies to “Category” field as well if a candidate fails to produce a certificate of his/her category, then he/she is automatically designated as GE candidate, once again the default value is important. 7. The DS seats are over and above the seats as mentioned in the counseling brochure. 8. The DS candidates once they have been allocated seats under the DS category, will be removed from the CML list, and the other DS Candidates are treated as GE candidates[default value]. Now, we divide the software into the following modules:  Front End Module: Through which the user can login with certain credentials and then use the software based on a user interface to fill the choices, save and submit the choices(i.e. the preferences) of IITs etc.  Back End Module: This is the module which is the key part of the software. This has the entire algorithm for Seat allocation process to all candidates and it performs the allocation in two rounds of allotment. The information required from the database tables is processed and is accessed in this module to generate the results for seat allotment. Moreover, two rounds of allotment are involved here. This module also comprises of tasks of fee refund and rolls no allocation. How to follow these diagrams:  The information about the classes(which includes attributes, and their methods) with the relationships among them is clearly stated in the Class Diagrams attatched.  What follows is the description of the methods present in the class diagrams of each class used in the diagram  So, by understanding these methods, you can proceed with the understanding of the sequence diagrams used in the project.  The sequence diagrams give an outline of the logic of execution of both the front end and the back end. Description of class diagrams with their methods: After the user fills the required forms and clicks on the login button, the registration number and password are sent as arguments to loginClicked(Reg:int,pass:string) which is a member of “student” class. We will now describe the functioning of the various classes: student: loginClicked(Reg:int,pass:string): In this function, we call the connectToDatabase() function which is used to connect to the database. checkPassword(RegNo:int,password:string): This function checks if the password entered by the user is correct. Once the user the user is logged in, the following process takes place:  displayCredentials() function (a member of DisplayCredentials class) is called.  The nextButtonClicked() function (a member of Choices class) is called when the user clicks on the “Next”
  • 26. button. DisplayCredentials: displayCredentials(): This function will obtain the required information from the database and display it. getName(RegNo:int): This function is used to obtain the name of a student. getCategory(RegNo:int): The function is used to obtain the category of a student. Note: If the category of the candidate is not GE then, getCategoryAcceptance(Regno:int,category:string) is used to find out if the candidate has submitted the caste certificate. If the candidate fails to submit the caste certificate, then category of that candidate is changed to GE. getRank(RegNo:int): This function is used to obtain the CML rank of the candidate. getCategoryRank(RegNo:int,category:string): This function is used to obtain the category rank of the candidate. Choices: nextButtonClicked(): When this function is called, the control flow is as follows : AlreadySubmitted(RegNo:int) (a member of Database class) is called which checks if the candidate has already submitted his choice sheet. Now, we have two cases: Case 1: If the candidate has not submitted the choices then,  displayPreferences(region:int) function in displaychoices class is called which displays the saved choice sheet.  The user has the choice of adding a course to his choice sheet. This can be done by selecting a course from the list and then clicking on the Add button. When the user clicks on the button the AddButtonClicked() function is called which in turn calls displayAddedPreferences(preference:string) which displays the new list with the latest choice at the bottom.  If the user clicks on the Save button then the saveButtonclicked() function is called which in turn calls the savePreferences(regNo:int,Preferences:string) function. The choice sheet is saved.  If the user clicks on the Submit button then the submitButtonclicked() function is called which in turn calls the savePreferences(regNo:int,Preferences:string) function. The choice sheet is saved and then submitted.  The user can select multiple choices in his choices and can click on the remove button. The removeselectedpreferences() function is called which removes the selected preferences from the list. Case 2: If the candidate has already submitted the list then,  displayPreferences(region:int) function (a member of DisplayChoices class) is called which displays the submitted choice sheet.  The user has the option of clicking on the Print button which will call the PrintPreferences() function which prints the choice sheet. DisplayChoices: DisplayPreferences(region:int): This function is used to display the candidate’s choice sheet. This function in turn calls getPreferences(region:int) which gets the list of preferences separated by ',' . displayAddedPreferences(preference:string): This function is used to display the modified choice sheet after addition of a few choices. PrintPreferences(): This function is used to print the choice sheet. removeselectedPreferences(): This function is called when the user selects a few choices in his choice sheet and
  • 27. clicks on the Remove button. This function removes the selected choices from the list. DataBase: connectToDataBase(): This function is used to connect to the database. checkPassword(RegNo:int,password:string): This function checks if the user has entered the right password. getName(RegNo:int): This function is used to obtain the name of a candidate. The name is extracted from the Name column in the CML list table. getCategory(RegNo:int): This function is used to obtain the category of the candidate. The category is extracted from the Category column in the CML list table. getCategoryAcceptance(Regno:int,category:string): This function returns the value in the Category Acceptance column of the candidate with Registration Number=Regno in the required Category list table. getRank(RegNo:int): This function returns the CML rank of a student(with Registration Number=Regno) by searching in the CML list table. getCategoryRank(RegNo:int,category:string): This function returns the category rank of a candidate (with Registration Number=Regno) by searching in the required Category list table. AlreadySubmitted(RegNo:int): This function checks if the user has already submitted the choice sheet by checking the Choice Submitted column. getPreferences(regNo:int): This function returns the preferences of the candidate by extracting details from the respective column. savePreferences(region:int,Preferences:string): This function updates the preferences of a candidate. submitted(regNo:int): This function changes the submitted column (of the entry with Registration Number=Regno) to Yes. Allotment class: 1. It is responsible for doing the following things a. Running the first allotment pass, the corresponding function is AllotmentPass(Dbase). b. Assigning the counseling dates to the various IIT’s, the corresponding function is counsellingDates(). c. Adjusting the list i.e filtering out those candidates who did not pay the fees, the corresponding function is adjustList(Dbase). d. Running the second allotment pass, using the same Allotment Pass function. e. Refunding the candidates their fees if they don’t get a seat even after the second allocation, the corresponding function is refund(Dbase). 2. It has a dependency with the DataBase class since it accesses all the data in the DataBase. 3. Whenever AllotmentPass() is mentioned, refer “Allotment Pass” activity diagram.
  • 28. 4. Whenever counsellingDates() is mentioned, the function just assigns a window of four days to each IIT ,that too non-overlapping one after the another. 5. adjustList(Dbase) filters out the candidates who did not pay the fees i.e the candidates whose “Fees Paid” field is set to No after the first allotment. 6. refund(Dbase) refunds the cadidates their fees if they don’t get a seat even after the second allotment, and setting the “Fees Paid” field to No. Activity Diagrams: The following activity diagrams have been used:  Complete Seat Allocation Diagram  Allotment Pass Diagram  Adjust List Diagram  Basic Algorithm Diagram  Seat Allocation Diagram  GEN Allocation Diagram  OBC Allocation Diagram  SC Allocation Diagram  ST Allocation Diagram  GEN-PD Allocation Diagram  OBC-PD Allocation Diagram  SC-PD Allocation Diagram  ST-PD Allocation Diagram  Roll No Allocation Diagram Complete Logic/Flow of Execution of the Software: The sequence of execution of the software is as follows:  From the user interface provided, all the students would fill in their respective preferences and it will be put in a field in the database(as described above in the database section).This is in brief, the Frontend module execution.  Now, we have the list of all candidates who have got a rank in our students table  We form the CML list as follows: Step 1: From the AIR rank list,first remove the DS candidates who have been allocated the seats(which is done manually) Step 2: To this list first append all the OBC candidates who have got an OBC rank but do not have an AIR rank Step 3: To this list append all OBC-PD candidtaes who have got an OBC-PD rank but do not have an OBC rank Step 4: Repeat the steps 3 and 4 for SC Step 5: Repeat the steps 3 and 4 for ST  For the further running of algorithmic passes we consider these CML lists itself.  So, what remains in the software is just the Backend module execution. Backend Module Execution:  Here, execution of the entire seat allocation algorithm forms the main part of the backend module execution.  As mentioned before, it has got several functions as follows: Allocate seats in the first allotment
  • 29. Adjust the list (i.e. exclude the candidates who have not paid reg. fees) Generate counseling dates Allocate seats in the second allotment Refund of fees to those who have not got a seat Allocation of roll nos in the respective IIT To understand this backend module execution follow the following diagram sequence as guided in the following part of the document:  Note: Whenever we have a circle containing some Text like this, this indicates that this “Allotment Pass” is referred somewhere else in another diagram which describes the complete algorithm to be followed for just this entity “Allotment Pass”. For example, here this Allotment Pass entity has been expanded as a whole algorithm in “Allotment Pass Diagram”. So, in that diagram, whatever has been elaborated under Allotment Pass entity refers to the algorithm that should be incorporated in the actual diagram that we are looking at now.  Go to “Complete Seat Allocation Diagram”: This diagram is the one which contains the complete outer flow of execution of the back end module. This has got some sub entities like: “Allotment Pass” entity -- which is referred under “Allotment Pass diagram” “Adjust List” entity – which is referred under “Adjust List Diagram” “Roll no Allocation” entity – which is referred under “Roll no allocation diagram” To describe in brief, it has 1st round, 2nd round of allotment in main and also has adjust list(which adjusts the list) and some other functions like counseling dates generation, fee refund and roll no allocation  Now, as we have to address those individual entities that we have referred to, we go those individual entity diagrams…  “Allotment Pass Diagram”: This is the diagram which runs a certain flow as follows: Run “Basic Algo” entity – This is present in the “Basic Algorithm diagram” Check through certain conditional flow as described in the diagram and again execute the remaining flow as suggested in the diagram flow. The flow is very clear to be understood in the diagram itself So describe in few words, this Allotment Pass algorithm is just one round of allotment of seats  “Adjust List Diagram”: This is the algo to scan through the CML list and see if they have Not agreed for 2nd allotment from the 'Fees Paid' field of CML list and then,if a branch has been allocated for that candidate under whichever category, increase the no.of seats for that branch by 1 and Moreover remove that candidate from the initial CML list considered  “Basic Algo Diagram”: This algorithmic entity is a single pass of “seat allocation” on all the candidates appearing in the CML list prepared. This has “Seat Allocation” entity – which can be referred in the “Seat Allocation Diagram”  “Seat Allocation Diagram”: This algorithmic entity on the whole works on the algorithm/logic to be followed for the seat allocation of a particular candidate and gives the result accordingly. It hase got various sub entities as follows: “GE ALLOC” entity : referred in the “GEN Allocation Diagram” “OBC ALLOC” entity: referred in the “OBC Allocation Diagram” “SC ALLOC” entity: referred in the “SC Allocation Diagram” “ST ALLOC” entity: referred in the “ST Allocation Diagram”
  • 30. “GE/PD ALLOC” entity : referred in the “GEN-PD Allocation Diagram” “OBC/PD ALLOC” entity: referred in the “OBC-PD Allocation Diagram” “SC/PD ALLOC” entity: referred in the “SC-PD Allocation Diagram” “ST/PD ALLOC” entity: referred in the “ST-PD Allocation Diagram” Well, the logic for the Seat allocation diagram is stated clearly in the “Seat Allocation Diagram” to be understood. Now, we have to address those individual entities which are stated above. The logic for these entities has been stated in their respective activity diagrams:  “GEN Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat for a candidate of GEN category  “OBC Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat for a candidate of OBC category. In this case, in whichever case, the candidate can get a better preference, i.e., if he is under OBC or GEN is considered and the seat would be allocated accordingly. The same logic is followed for SC,ST,GEN-PD,OBC-PD,SC-PD,ST-PD for the following diagrams.  “SC Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat for a candidate of SC category  “ST Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat for a candidate of ST category  “GEN-PD Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat for a candidate of GEN-PD category  “OBC-PD Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat for a candidate of OBC-PD category  “SC-PD Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat for a candidate of SC-PD category  “ST-PD Allocation Diagram”: This algorithmic entity works on the algorithm/logic to allocate a seat for a candidate of ST-PD category  All these algorithm entities listed above now do not have sub entities anymore  Now, whatever sub entities that are referred to have terminated and hence revert back to their super entity(just like a nested function)(This sentence is to just get a feel of the execution of the algorithm going on)  We have one more entity left to be described…  “Roll No Allocation Diagram”: This algorithmic entity allocates the roll no’s for all the students who have been given a seat after the 2nd allotment process(which is indeed, interpreted in the activity diagrams) So, this all the work flow that would be followed. So, this is all the summary of the process and the work flow involved in this software in different modules,which are both front end and back end