Академический Документы
Профессиональный Документы
Культура Документы
The Online Certification Exam project caters to various organizational needs viz. testing the quality of
participants’ grasp of the training imparted to them, gauging the technical comprehension of staff,
measuring the expertise of incumbent candidates, etc.
User
RegdUsers Authentication
Sign-Up
Sign-In
3
4
Database Diagram
Not Required
Table: QuestCategories
Column Name Datatype Description
CategId INTEGER IDENT Category of a particular questions viz. Coding, Technology, etc.
CategName VARCHAR(15) Short Description of this category.
Descr VARCHAR(50) Long Description of this category.
GoodText VARCHAR(255) Long description of candidate’s expertise in this category.
FairText VARCHAR(255) Long description of candidate’s merits and demerits in this categ.
BadText VARCHAR(255) Long desc of areas where candidate needs to concentrate more.
Table: ExamCategories
Column Name Datatype Description
CategId INTEGER IDENT Exam Code viz. SQL Server, HTML, ASP, Java, etc.
CategName VARCHAR(15) Short Description of this category.
Descr VARCHAR(50) Long Description of this category.
GoodText VARCHAR(255) Long description of candidate’s expertise in this category.
FairText VARCHAR(255) Long description of candidate’s merits and demerits in this categ.
BadText VARCHAR(255) Long desc of areas where candidate needs to concentrate more.
MaxQuestions NUMERIC(4, 2) Total number of questions for this particular exam.
PassingScore NUMERIC(4, 2) Required minimum score to pass this particular exam.
MaxScore NUMERIC(4, 2) Maximum score for this exam.
Table: RegisteredUsers
Column Name Datatype Description
UserId VARCHAR(15) Unique string to identify a particular examinee/candidate.
Password VARCHAR(15) Case-sensitive identification string for every user.
FirstName VARCHAR(25) First Name of candidate.
LastName VARCHAR(25) Last Name of candidate.
CompanyName VARCHAR(50) Candidate’s current company. Can also contain Nulls.
Desig VARCHAR(25) Candidate’s designation at current workplace. Can contain Nulls.
Add1 VARCHAR(50) Street & Area name of candidate’s mailing address.
Add2 VARCHAR(50) State, City and Country of candidate’s mailing address.
Pin VARCHAR(7) Zip Code/PIN Code of candidate.
JobIndustryId INTEGER IDENT Foreign Key linking to the JobIndustries table.
JobFunctionId INTEGER IDENT Foreign Key linking to the JobFunctions table.
DiscloseResults BIT Whether candidate wants his certification results to be disclosed.
SubscribeNewsLetter BIT Whether candidate wants to receive mail-outs from this site.
Table: RegisteredEmployers
Column Name Datatype Description
EmployerId INTEGER IDENT Unique identification for headhunters and employers.
FirstName VARCHAR(25)
LastName VARCHAR(25)
CompanyName VARCHAR(50)
Desig VARCHAR(25)
Add1 VARCHAR(50)
Add2 VARCHAR(50)
Pin VARCHAR(7)
Email VARCHAR(99)
SubscribeNewsLetter BIT Whether this guy wants to subscribe to the site’s newsletter.
Descr VARCHAR(4)
Table: Questions
Column Name Datatype Description
QNo VARCHAR(4) Question Id. Must start with “S” or “M” only. (Single/Multiple Choice)
QText VARCHAR(255) Text for this question.
QCateg VARCHAR(4) Foreign key that links to the QuestCategories table.
ExamCateg VARCHAR(4) Foreign key that links to the ExamCategories table.
Score NUMERIC(4, 2) Marks carried by this particular question.
Table: Answers
Column Name Datatype Description
ANo CHAR(4) Unique identification for every answer. Must start with “A” only.
AText VARCHAR(255) Text for this answer.
QNo VARCHAR(4) The question number for which this answer is one of the choices.
Correct BIT Whether this answer is (or is one of) the right choices.
This approach will use the six in-built objects of ASP’s Object Model in collaboration with Microsoft’s ISAPI
Extensions MSADO15.DLL and CDONTS.DLL. As a programmer, you will be responsible for developing
HTML pages that carry user responses between the client browser and Web Server. The ASP code bound
to your HTML pages should handle all server-side processing including RDBMS Access, Flat File Access,
Session Management and Application Management.
This approach will use the six in-built objects of ASP’s Object Model in collaboration with your custom
DLLs that handle all database traffic. As a programmer, you will be responsible for developing HTML
pages that talk to a custom DLL. This custom DLL should take care of talking to the RDBMS.
Remember, you should never instanciate a database connection if you’re using the 3-Tiered
Approach ! The DLL that you develop, should handle all RDBMS Access and Flat File Access. Session and
Application management must be done using your ASP pages.
Flow of Events
Candidate keys-in his user id and password (or) clicks the New User hyperlink on start page.
If user id/password combination is correct, he/she is taken to the CHOOSE EXAM screen, where
he/she selects his/her choice of exams from a drop-down listbox and clicks SUBMIT.
If candidate selects New User, he/she fills-up all fields in the RegisteredUser table through an ASP
page and is then taken to the CHOOSE EXAM screen.
Upon SUBMIT of the information in CHOOSE EXAM screen, the candidate is taken to a page that
displays Maximum Questions for this exam, duration of each question (180 seconds is standard for all
questions) and other rules of the examination. This page has an OK button, which takes the
candidate to the first question.
omaari_501
When user clicks the Submit button, he/she is taken to the CHOOSE EXAM screen.
As a programmer, you are responsible for remembering the exam category, current question, max
questions and candidate’s score throughout the site. As of now, the best way to implement all this is
using Session variables. Please ensure that you submit the answer to a separate ASP page for evaluation.
You can then jump to the next question after evaluating the answer (whether correct or not).
Modus Operandii
Here’s a quick hint about how to proceed with the development of the site:
Store the Maximum Questions value in a session variable. (refer the ExamCategories table)
Store the current question in a session variable and increment it when a question is displayed.
Store the candidate’s score in a separate session variable and increment it if an answer is right.