
   
   
          Business Information Systems Project
   
          Title: Electronic Thesis Submission
   
          Software release specification
   
   
   
   
   
           Students involved in the Project:
           =======================
   
           1) Bikash Kumar Agrwalla (96005017)
           2) Prahlad Fogla (96005021)
           3) Siva Rama Krishna (96005030)
           4) Anshul Kothari (96005031)
   
   
   
           Contents :
           ------
   
           Chapter 1  :  Introduction and Motivation        ..............  2
   
           Chapter 2  :  Interactions with people    ....................  3
   
           Chapter 3  :  Information Description    .....................  5
   
           Chapter 4  :  Functional Description  .......................  11
   
           Chapter 5  :  Integrity Issues    ............................ 14
   
           Chapter 6  :  Future Work   ...................................15
   
   
   
   
   Chapter 1
   ==========
   
   Introduction & Motivation
   =========================
   
       Each year around 1500 students submit their seminar/btp/mtp/phd
   thesis. Right now, to do this, students have to get 3/4 hard copies 
   of their thesis. And the approval is done usually during the presentation, 
   though in some cases the students have to show the rough drafts which 
   goes through 1/2 stages of corrections by the respective guide, which 
   increases the number of hard copies to be taken.
   
       With present form of submission, it is difficult for some one to get
   the useful papers. And still more difficult is the task of getting
   statistics regarding the thesis topics. There is a need for querying the
   abstracts to get the useful information regarding the thesis.
   
       So the need for a database maintaining all the useful informations
   regarding the thesis arises. There is an online thesis submission
   system already developed but the current system support only the submission
   of abstracts, and the database features of querying the abstracts etc are
   absent.
   
       This project aims at applying data base features for storing the
   thesis and providing an user friendly interface along with querying the
   thesis.  Being Central to all thesis submissions, various statistics can be
   maintained which in turn can be put to good uses. Various security issues are
   addressed.
   
   
   ========================================================================
   
   Chapter 2
   ==========
   
   Interactions with people
   =================
   
   The following are the different groups of people with whom the Project
   will interact.
   
   1) Students:
   -----------
   
       In this there are two different groups divided according to whether 
       the student is submitting a thesis or not.
   
        1.1) Thesis Submitting Students:
       ---------------------
   
           This group of students are the one who will be submitting
       their thesis for Seminar,BTP,MTP, Phd or any other type created by
       the Superuser. The students have a unique ROLL NUMBER. We require 
       information about the students while submitting the thesis for the 
       first time, which includes fields like name,address etc.
   
       1.2) General Students:
       ---------------
   
           This group of students are the one who will not be submitting
       thesis. We do not require any information regarding such students.
       This group interacts with the database for querying purposes.
   
   2) Faculty:
   --------
   
           Even in this there are two categories depending on whether
       they are the guides of the thesis submitting students.
   
       2.1) Guides :
       ---------
            This group of faculty are the one who will be guiding the
       thesis submitting students.The faculty in this group are assumed
       to have a unique login id. They also have fields like name,address
       etc. This group will be interacting with the database both for
       querying and also regarding the thesis submission of students under 
       them.
   
       2.2) General Faculty :
       --------------
   
           This group of faculty are the one who will not be guiding
       any students for thesis submission. We do not require any
       information regarding the faculty in this group. This group
       interacts with the database for querying purposes only.
   
   3) Superuser:
   -------------
   
           There is one SUPERUSER who is allowed to insert or delete in
   students, faculty, student_faculty and auth_table. The superuser is
   allowed to assign students to their corresponding Guides and Co-Guide
   and is also allowed to create new Superusers.
   
   ============================================================
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   Chapter 3
   ==========
   
   Information Description
   =================
   
       Information Flow:
       =============
   
           The entire steps for the thesis submission will be as follows:
           --------------------------------------
   
           1) SuperUser will create the login id of the students, faculty
   	   and will enter the data corresponding to assigning students to 
	   their respective guide and co-guide.
   
           2) Students will register by giving their details and also the
           details of their thesis.
   
           3) Faculty will login and then will be served with a list of
   	   all the students doing a thesis under him. He will select from it
           the student whose thesis he wants to approve.
   
           4) Faculty will then see the thesis and approve the thesis
           (if correct) of the students working under them.
           If they find the thesis not perfect then they will mail the
           student regarding the errors or any corrections of his thesis.
   
           5) Students then resubmit their thesis with corrections.
   
           6) Then again step 4.
   
      Query Engine:
       ==========
   
           1) This will allow the users to query the thesis stored in the
           data base according to various fields.
   
           2) The various fields on which the user wants to query are to
   	   be submitted to the engine.
   
           3) The query result after querying the data base is displayed
           to the user.
   
           4) The user can also query the thesis by navigating along the
           links provided.
   
       Data base Structure:
       ===================
   
           This includes the specification of the different entities and
   their attributes and the relationships among the different entities.
   --------------------------------------------
   
       Entities:
       ======
   
           1) Entity "Students"
           -------------------
           Attributes:
           -----------
               1.1) SROLL
                   This will be a unique 10 digit roll number associated
                   to each student. This is the PRIMARY KEY.
		   
               1.2) SNAME
                   This will contain the name of the student which is
                   stored in a 30 character string.
		   
               1.3) DNO
                   This will contain the Department Number ( 10
                   character) of the student.
		   
               1.4) SADDRESS
                   This will contain the address of the student.This
                   contains the entire address viz. House No,State etc
                   (200 char long)  as a single string.
		   
               1.5) SEMAIL
                   This will contain the email address of the student(40
                   char long).
		   
           2) Entity "Faculty"
           -------------------
           Attributes:
           -----------
               2.1) LOGINID
                   This contains the login id of the faculty which is at
   		   most 10 character long.
                   Assumption: The login id of faculty is unique.
		   
              2.2) FNAME
                   This contains the name of the faculty (Max 30 char).
		   
              2.3) DNO
                   This contains the Department code of the faculty (Max
                   10 char).
		   
              2.4) FEMAIL
                   This contains the email address of the faculty (Max 40
                   char).
		   
           3) Entity "Thesis"
           ------------------
           Attributes:
           -----------
               3.1) SERIALNO
                   This contains the serial number of the thesis.
                   A unique serial number is given to every thesis.
                   This is the PRIMARY KEY. It is not visible to the user.
                   It is implicitly generated by the system for ease of
                   querying and storing the table.
		   
               3.2) TITLE
                   This contains the title of the thesis (Max 100 char).
		   
               3.3) TYPE
                   This contains the type of the thesis.
                   It includes the types Seminar,BTP,MTP,Phd etc.
		   
               3.4) Keyword1
                   This contains the first Keyword (Max 20 char).
		   
               3.5) Keyword2
                   This contains the second Keyword (Max 20 char).
		   
               3.6) Keyword3
                   This contains the third Keyword (Max 20 char).
		   
               3.7) Keyword4
                   This contains the fourth Keyword (Max 20 char).
		   
               3.8) Filename
                   This contains the file name of the file containing
                   the thesis. It will be derived from the roll no of the
                   student and the type of the thesis.
		   
               3.9) YEAR
                   This contains the Year of submission of the thesis (4
                   char Long).
		   
               3.10) ABSTRACT
                   This contains the Abstract of the thesis (1000 char Long).
		   
               3.11) STATUS
                   This contains whether the thesis has been approved by
                   the Guide or not (Value in 'y' or 'n').
   
   
           4) Entity "Thesis_Deadline"
   
           Attributes:
           -------
   
               4.1) TYPE
                   This contains the type of the thesis (Max 10 char).
		   
               4.2) DNO
                   This tells about the dept whose submission date
                   is the given deadline.
		   
               4.3) Deadline
                   The submission date of a mtp/btp/phd/seminar etc of a
                   dept.
   
           (Thesis Type, Dept-Code ) constitute the combined Primary key
           of the entity. The entity is used to generate remainder and warning
           messages by the trigger system.
   
   
           5) Entity "Auth_table" 
	   
	   This table is used for authorization.
   
           Attributes:
           -------
   
               5.1) LOGIN
                   This contains the login id of the student or faculty
                   (Max 10 char). 
		   
               5.2) PASSWORD
                   This is the password of the corresponding user (Max 10
                   char)
		   
               5.3) DNO
                   This is the department number of the corresponding user.
                   Dno is the foreign key which references to table department.
		   
               5.4) TYPE
                   This shows whether this login is of a student or a
   		   faculty. It takes only two values namely "Student" 
		   and "Faculty".
   
   
           6) Entity "Department" 
	   
	   This table contains the DNO and DNAME
           for each department.
   
           Attributes:
           -------
   
               6.1) DNO
                   This is the Unique Department Number (Max 10 char) and
                   is the PRIMARY KEY.
		   
               6.2) DNAME
                   This is the Name of the Department (Max 60 char)
   
   
           7) Entity "Types" This table contains the types of the thesis.
   
           Attributes:
           -------
   
               7.1) TYPE
                   This is the only field in this table and contains all
                   the types of thesis that are permitted. The Superuser 
		   can insert in this table and create new types(Max 10 char).
   
   
     -----------------------------  ----------------
   
       Relationships:
       ==========
   
           1) Student_Faculty : Relation between
   
           Entity 1 : Students
           Entity 2 : Faculty
   
               This is a many to many relationship between Students and
   Faculty.  The primary key is that of primary key of Students and
   Faculty .
   
               Attributes in the corresponding Table:
               -------
               1.1) SROLL
                   This contains the roll no of the student.
		   
               1.2) LOGINID
                   This is the login id of the Guide under which the
   		   student is working (Max 10 char)

               1.3) TYPE
                   This indicates whether the student having roll no =
                   sroll and working under faculty with corresponding 
		   loginid is a seminar/btp/mtp/phd etc student.
		   
               1.4) Co_loginid
                   This is the Login id of the Co-Guide of the student.
                   This is optional.
   
   
   
   
           2)  Student_thesis 
	   
	   Relation between
   
           Entity 1 : Students
           Entity 2 : Thesis
   
               This will in general be a one to one relationship. But no
           assumption is made here. So Primary Key is that of Student and
           Thesis combined.
   
           Attributes in the corresponding Table: 
	   
	   The table contains for each student, the roll no of the student 
	   along with the serial no of the thesis submitted by the student. 
	   The sroll and serialno constitute the combined primary key
   
               2.1) SERIALNO
                   This is the Serial no (Integer) of the thesis
                   submitted by the student.
		   
               2.2) SROLL
                   This is the Roll no (Max 10 char) of the student who
                   has submitted the corresponding thesis.
   
               2.3) TYPE
                   This is the Type of the thesis (Max 20 char) .
		   
           -------
   
       Data Dictionary:
       ============
   
           1) Students:
           -----------
   
               1.1) SROLL: numeric(10)
   
               1.2) SNAME : alpha(Variable length Max 30 )
   
               1.3) DNO : alphanumeric(Variable length MAX 10)
   
               1.4) SEMAIL : alphanumeric(variable length)
   
               1.5) SAddress : alphanumeric(Variable length Max 40)
   
           2) Faculty:
           -----------
   
               2.1) LOGINID : alphanumeric(Variable length Max 10)
   
               2.2) FNAME : alpha(Variable length Max 30)
   
               2.3) DNO : alphanumeric(Variable length MAX 10)
   
               2.4) FEMAIL : alphanumeric(variable length Max 40)
   
            3) Thesis:
            ----------
   
               3.1) Serailno : numeric(Variable length)
   
               3.2) Title : alphanumeric(Variable length Max 100)
   
               3.3) Type : alphanumeric(Variable length Max 10)
   
               3.4) Keyword1 : alphanumeric(Variable length Max 20)
   
               3.5) Keyword2 : alphanumeric(Variable length Max 20)
   
               3.6) Keyword3 : alphanumeric(Variable length Max 20)
   
               3.7) Keyword4 : alphanumeric(Variable length Max 20)
   
               3.8) Filename : alphanumeric(Variable length Max 20)
   
               3.9) Abstract : alphanumeric(Variable length Max 1000)
   
               3.10) Status : alphanumeric(Variable length Max 1)
   
           4) Auth_Table:
           -----------
   
               4.1) LOGIN : alphanumeric(Variable length Max 10)
   
               4.2) Password : alphanumeric(Variable length Max 10)
   
               4.3) DNO : alphanumeric(Variable length MAX 10)
   
               4.3) Type : alphanumeric(Variable length MAX 15) (indicate
                    Student/Faculty)
   
           5) department:
           -----------
   
               5.1) DNO : alphanumeric(Variable length Max 10)
   
               5.2) Dname : alphanumeric(Variable length Max 60)
   
           6) Thesis_Deadline:
           -----------
   
               6.1) Type : alphanumeric(Variable length Max 10)
   
               6.2) Dno : alphanumeric(Variable length Max 10)
   
               6.3) Deadline: date
   
           7) Student_thesis:
           -----------
   
               7.1) Serialno : Integer
   
               7.2) Sroll : alphanumeric(Variable length Max 10)
   
           8) types:
           -----------
   
               8.1) Types : alphanumeric(Variable length Max 20)
   
           9) Student_faculty:
           -----------
   
               9.1) Sroll : alphanumeric(Variable length Max 10)
   
               9.2) Loginid : alphanumeric(Variable length Max 10)
   
               9.3) Co_Loginid : alphanumeric(Variable length Max 10)
   
               9.4) type : alphanumeric(Variable length Max 10)
   
   ====================================================
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   Chapter 4
   ==========
   Functional Description
   ======================
   
   Modules in the Data Flow Diagram:
   -----------------------
   
   1) Authentication :
   ------------
   
   User loginid/RollNumber and password are taken for authentication.
   Then these fields are checked to see if the user is present in the
   data base.  Then depending on the kind of user appropriate branching is 
   taken.  At this authentication step, three different types of users are
   identified.
   
   (i) Students, (ii) Faculty, (iii) SuperUser .
   For Querying proposes, the user don't need to be authenticated.
   
   2) Submission :
   ----------
   
   This module takes the data from the form filled by the student and then
   adds to the database. The form also contains the url for the file
   containing thesis of the student. If the thesis is retrieved properly
   without any error then the guide of the student is informed of the
   same. For informing the faculty his email address is taken from the
   faculty table. And if the thesis is not retrieved properly then
   the student is informed of the same. For that the email address of
   the student is taken from the student table.A serial number is
   given when the thesis is submitted for the first time.
   
   When the student is resubmitting a thesis most of the static
   variables like name,address, etc are filled before hand and if
   user changes them then change is made in the data-base also.
   
   3) Approval :
   ---------
   This module is for approving the thesis of the students by the faculty
   under whom the students are working.This has two parts:
   
       3.1) Approval form:
       ------------
           This will take the login id of the faculty and give the roll
       numbers of all the students working under him.He then selects the
       roll numbers of the students whose thesis he want to approve.
   
       3.2) Approval:
       ---------
           After getting the thesis of the concerned student the faculty will
       check for any errors and if it is perfect then he will approve the
       thesis.After that the table for thesis along with student and thesis 
       relation is updated.
       
       An automatically generated serial number of the thesis is inserted.
       Once approved the student will be informed of the same.For that
       it will take the email address of the student from the student
       table.  In case the thesis is not perfect then the student will be
       informed of the same.Also we can give a choice to faculty to comment
       on the thesis and that comment can be mailed to the appropriate student.
   
   4) SuperUser :
   ----------
   
   This module allows the superuser to insert and delete new students, faculty
   and also introduce new thesis types into the data base.  The superuser is 
   also allowed to assign guides to students.  This is the only interface 
   provided for inserting new tuples into the database.
   
   5) Trigger :
   -------
   This module is for reminding the concerned groups of their deadlines.
   For that the email addresses of the faculty and the student are taken
   from the corresponding tables.The dead lines are taken from the
   table containing the relationship between thesis and their deadlines.
   
   6) Query engine :
   -----------
   
   This module is for different query purposes on the database.
   
   It provides two types of interfaces. (i) Searching and (ii) Browsing.
   It will take the following fields from General users as the keys
   for querying by search:
   
   1) User name
   2) Roll Number
   3) Department
   4) Name of the Guide
   5) Year of Submission
   6) Thesis type
   7) Keywords
   
   The following will be probable accesses by the query engine:
   ---------------------------------------
   
   1) To Student table:
   
       It sends the fields Student Roll Number and the User Name
   to the Student table and gets the required result.
   
   2) To Faculty table:
   
       It sends the fields faculty Userid of the Guide to the
   Faculty table and gets the required result.
   
   3) To Thesis table:
   
       It sends the fields Thesis title of the Thesis,Keywords,
   Year of Submission and the Dead lines to the Thesis table
   and gets the required result.
   
   4) To Student faculty relationship:
   
       It sends the fields Student Roll No,Faculty User id
   to the Relationship and gets required result.
   
   5) To Student Thesis relationship:
   
       It sends the fields Student Roll No to the Relationship
   and gets required result.
   
   The user is also allowed to browse the data base in some particular
   order. 
   
   ===================================================================
   
   
   
   Chapter 5
   ===========
   
   Integrity and Security Issues
   =====================
   
   The various security measures to be taken are :
   
   1) No student should be allowed to change its thesis
   once it is approved.
   
   2) No Faculty other than the guide and Co-guide of the thesis can
   approve the thesis.
   
   3) No person other than the Data Base Administrator
   should have access to thesis entity.Also the student
   record can be changed by only the student himself.
   
   4)Also Only the superuser is allowed to insert/delete
   tuples from the tables.
   
   Every student can have to enter more than one type of the
   thesis.So when a student tries to submit another thesis ,his
   previous data has to shown which he'll be allowed to change if
   he wishes.Also in case of re-submission we show the data related
   to the prev. submission such as keywords,title..
   
   ===================================================
   
   
   
   
   
   
   
   
   
   
   
   
   
   6  Future Work
   ===============
   
   * As an extension , The statistic information regarding various topics
   can be maintained and various inferences can be drawn from these,like
   the popular thesis topics, popular Guide , Trend in Seminar..
   
   * In this project , we are assuming that the names of S/B/M/P students
   along with their guides (for each dept) are feed into the system
   by the system administrator . If a Seminar allocation Project is
   undertaken , than the output from that project can be fed directly
   into
   the data base of the ETS project.
   
   * An Online thesis evaluation project if taken up, can, along with this
   project , allow the thesis submission to go online completely.
   
   * The Query Part can be extended by providing features like Refining
   the already executed query based on further information.
   
   ======================================================================
