Você está na página 1de 38

A MINOR PROJECT REPORT ON

AUTOMATION OF TRAINING & PLACEMENT


Submitted in Partial Fulfillment for the award of

Bachelor of Engineering in Computer science Engineering


(2008-2012)

Submitted to RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA


BHOPAL (M.P.)

Submitted By: Komal sukheja 0302CS081046 Kaushiki jha 0302CS081043 Anushree mishra 0302CS081019
Approved By Under the Guidance of

Mr.Vinod Singh
(Head of the Department) Computer Science

Mr.Santosh Soni
(computer science )

Department Of Computer Science Engineering

VINDHIYA INSTITUTE OF TECHNOLOGY AND SCIENCE SATNA (M.P.)

Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal (M.P) Vindhya Institute of Technology & Science Satna (M.P)

CERTIFICATE
This is to certify that the project entitled as
AUTOMATION
OF TRAINIG

&

PLACEMENT

SYSTEM which has

been

completed

&

submitted

by

Komal

sukheja,Kaushiki

jha

&

Anushree

mishra in partial fulfillment of the requirement for


the award of the degree of Bachelor of Engineering in Computer science for the session 2008-2012 is a bonafied work by them and has been completed under my guidance and supervision.It has not been submitted elsewhere for any other degree.
H.O.D Mr.Vinod Singh Guided By Mr.Santosh Soni

(Computer Science)

Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal (M.P) Vindhya Institute of Technology & SciencSatna (M.P)
(External Examiner) (Internal Examiner)

ACKNOWLEDGEMENT
A project like this one involves many people and would be incomplete without the mention of all those people whose guidance and encouragement helped in the successful completion of this project. Our heartily thanks to all faculty members of Department of Computer Science ,Vindhya Institute of Technology & Science, Satna for their effort towards our project. We would like to thanks our H.O.D Mr. Vinod Singh who has been a great source of inspiration for us and without whose humble guidance of project was never to shape. We are also indebted to our guide Mr.Santosh Soni for his encouragement, guidance and support.

We are also thankful to many people whose timely help but paucity of space is restricting us from mentioning their name. And finally we also thank to all my colleagues who were constant support during the whole project.
Komal sukheja 0302CS081046 Kaushiki jha 0302CS081043 Anushree mishra 0302CS081019

DECLARATION

We here by declare that the work which is being presented in the project report entittled

"AUTOMATION

OF

TRAINING

&

PLACEMENT SYSTEM

in partial fulfillment of the requirement of

the degree of Bachelor of Engineering in Computer Science branch is an authentic record of our work carried out under the able guidance of Vinod Singh. The work has been carried out at Vindhya Institute of Technology & Science, Satna.

Project Associate

Komal sukheja 0302CS081046 Kaushiki jha 0302CS081043 Anushree mishra 0302CS081019

INDEX
INRODCUTION OBJECTIVE REQUIREMENTS SOFTWARE MODEL DESIGN 11 12 14 6 7

USE INTERFACE DESIGN SOURCE CODE TESTING TEST CASES BIBLIOGRAPHY

18 24 32 36 38

Introduction

Training &placement cell is an organization that deals with calling the companies for recruitment, registering the students for campus as per eligibility criteria & conduct the complete process properly. The project is being produced by us for making the above process online & easy as discussed in the purpose.

objective
This project aims at developing a highly cost-effective & integrated web based distribute software system on client-sever model to automate the training & placement processes at VITS, Satna.

Purpose
1. To reduce the manual labor of the Training and Placement Process of our College, 2. To make the complete process easy & faster for both students & Training Placement Officer. 3. To reduce the crowd at TPOs office. 4. It will reduce the paper work and utilize the maximum capabilities of the Setup and organization as well as it will save time and money which are spending in making Reports and collecting data

Scope
1. This software project has a large scope. The students can store their information and they can be categorized unto various categories as per criteria. 2. Informations can be updated and this notification about the companies can be seen on the home page. 3. Students can see previous recruitments.

REQUIREMENTS
User requirements
1. Updates should be available timely on the home page. 2. Registration process should be easy and user friendly. 3. validations should be applied so that filtration burden reduces. 4 It should allow letting Administrator to change profile, to login and all facilities provided by project. 5.It will reduce the paper work and utilize the max

Functional requirements
Section/ Requirement ID FR1.0 FR1.1 FR1.1.1 FR1.1.2

1.1.1. Functional Requirements Group 1

Requirement Definition The system shall register the student info properly In case of transaction failure the form should be reset Home page shall be updated timely Proper validations for prevention of unauthorized use

1.1.2. Functional Requirements Group 2


Section/ Requirement ID FR2.0 FR2.1 FR2.1.1 FR2.1.2 Requirement Definition The system shall have a mechanism to answer student queries -

Hardware requirements
265 mb RAM 2GB hard disk.

software requirements
Dot net framework IDE visual studio 2005 C# with ASP.Net backend MY SQL

Software model
The whole project will be done on Agile software development methodology. Agile is a combination of iterative and incremental development where requirements and solutions evolve through collaboration between self-organizing and cross functional teams.

These methodologies breaks tasks into small increments with minimal planning and do not directly involve long-term planning. Iterations are short time frames that typically last from one to four weeks. Each iteration involve a team working though a full software development cycle including planning, requirements analysis, design, coding unit testing, and acceptance testing. Thus all team members are involved in the whole process of project execution and in all stages of the project.

DESIGN

Data Flow Diagram

0 level DFD :-

Students

Registration

Level 1 DFD:-

First level of dfd

Registration form

Student info

Company criteria

Student database

home page

Signup page for student

Signup page for admin

Student registration page

Query page for student

see answer page for student

Admin main page

Query answering page for admin

Filter page for admin

List of registered students

Source code
Home page
using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class home : System.Web.UI.Page { SqlConnection cnn = new SqlConnection(); SqlCommand cmd = new SqlCommand(); SqlDataReader rdr; protected void Page_Load(object sender, EventArgs e) { cnn.ConnectionString = " Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\SqlAdmin\\My Documents\\Visual Studio 2005\\WebSites\\my project\\App_Data\\mydata.mdf;Integrated Security=True;User Instance=True"; cnn.Open();

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) {

} protected void TextBox2_TextChanged(object sender, EventArgs e)

{ } protected void GridView1_SelectedIndexChanged1(object sender, EventArgs e) { } protected void ImageButton1_Click1(object sender, ImageClickEventArgs e) { cmd.Connection = cnn; cmd.CommandText = " select * from login where id = '" + TextBox1.Text + "' and pass = '" + TextBox2.Text + "' and role = '" + DropDownList1.SelectedItem.Text + "'"; rdr = cmd.ExecuteReader(); if (rdr.HasRows) { if (DropDownList1.SelectedItem.Text == "student") { Session["id"] = TextBox1.Text; Response.Redirect("student.aspx"); } else { Session["id"] = TextBox1.Text; Response.Redirect("admin.aspx"); } }

else {

Label4.Text = " record not found "; } cnn.Close(); cmd.Dispose(); rdr.Close(); rdr.Dispose(); } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs { } }

e)

signup page
using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page { SqlConnection cnn = new SqlConnection(); SqlCommand cmd = new SqlCommand(); SqlCommand comm = new SqlCommand(); SqlDataReader rdr; protected void Page_Load(object sender, EventArgs e) { cnn = new SqlConnection(" Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\SqlAdmin\\My Documents\\Visual Studio 2005\\WebSites\\my project\\App_Data\\mydata.mdf;Integrated Security=True;User Instance=True"); cnn.Open(); cmd.Connection = cnn; cmd.CommandText = " select * from login where id = '" + TextBox1.Text + "' and role = '" + DropDownList1.SelectedItem.Text + "'"; rdr = cmd.ExecuteReader(); if (Page.IsPostBack == false) { Panel2.Visible = false; TextBox1.Visible = false; TextBox2.Visible = false; TextBox3.Visible = false; ImageButton1.Visible = false; Label1.Visible = false; Label2.Visible = false; Label3.Visible = false; } } protected void TextBox3_TextChanged(object sender, EventArgs e) { } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { if (DropDownList1.SelectedItem.ToString() == "admin") { Panel2.Visible = true; } else {

TextBox1.Visible = true; TextBox2.Visible = true; TextBox3.Visible = true; ImageButton1.Visible = true; Label1.Visible = true; Label2.Visible = true; Label3.Visible = true; } } protected void Button2_Click(object sender, EventArgs e) { if (TextBox4.Text == "@admin") { TextBox1.Visible = true; TextBox2.Visible = true; TextBox3.Visible = true; ImageButton1.Visible = true; Label1.Visible = true; Label2.Visible = true; Label3.Visible = else { }

true ; }

Labelmsg.Text = " wrong key";

cmd.Dispose(); } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { if (rdr.HasRows) { Labelmsg.Text = " user already exists "; } else { rdr.Close(); rdr.Dispose(); comm.Connection = cnn; comm.CommandText = "insert into login(id,pass,role)values(@id,@pass,@role)"; comm.Parameters.AddWithValue("@id", TextBox1.Text); comm.Parameters.AddWithValue("@pass", TextBox2.Text); comm.Parameters.AddWithValue("@role", DropDownList1.Text.ToString()); comm.ExecuteNonQuery(); Labelmsg.Text = " u r successfully registered "; cnn.Close(); }

student registration page


using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page { SqlConnection cnn = new SqlConnection(); SqlCommand cmd = new SqlCommand(); SqlDataReader rdr; protected void Page_Load(object sender, EventArgs e) { cnn.ConnectionString = " Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\SqlAdmin\\My Documents\\Visual Studio 2005\\WebSites\\my project\\App_Data\\mydata.mdf;Integrated Security=True;User Instance=True"; cnn.Open(); cmd.Connection = cnn; TextBox14.Text = Session["id"].ToString(); cmd.CommandText = " select * from student where id = '" + TextBox14.Text + "'"; rdr = cmd.ExecuteReader(); if (!Page.IsPostBack) { if (rdr.HasRows) { rdr.Read(); TextBox1.Text = rdr["id"].ToString(); TextBox2.Text = rdr["rollno"].ToString(); TextBox3.Text = rdr["name"].ToString(); TextBox4.Text = rdr["fname"].ToString(); TextBox5.Text = rdr["address"].ToString(); TextBox6.Text = rdr["contact"].ToString(); TextBox7.Text = rdr["email"].ToString(); TextBox8.Text = rdr["inst"].ToString(); TextBox9.Text = rdr["batch"].ToString(); TextBox10.Text = rdr["branch"].ToString(); TextBox11.Text = rdr["per12"].ToString(); TextBox12.Text = rdr["per10"].ToString(); TextBox13.Text = rdr["agg"].ToString(); } else {

TextBox1.Text = Session["id"].ToString(); TextBox2.Text = ""; TextBox3.Text = ""; TextBox4.Text = ""; TextBox5.Text = ""; TextBox6.Text = ""; TextBox7.Text = ""; TextBox8.Text = ""; TextBox9.Text = ""; TextBox10.Text = ""; TextBox11.Text = ""; TextBox12.Text = ""; TextBox13.Text = ""; } } cmd.Dispose(); rdr.Close(); rdr.Dispose(); cnn.Close(); protected void Button3_Click(object sender, EventArgs e) { cnn.Open(); cmd.Connection = cnn; cmd.CommandText = " update student set id='" + TextBox1.Text + "',rollno='" + TextBox2.Text + "',name='" + TextBox3.Text + "',fname='" + TextBox4.Text + "',address='" + TextBox5.Text + "',contact='" + TextBox6.Text + "',email='" + TextBox7.Text + "',inst='" + TextBox8.Text + "',batch='" + TextBox9.Text + "',branch='" + TextBox10.Text + "',per12='" + TextBox11 + "',per10='" + TextBox12.Text + "',agg='" + TextBox13 + "where id ='" + TextBox1.Text + "'"; lblmsg.Text = "record updated"; cmd.Dispose(); cnn.Close(); } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { cnn.Open(); cmd = new SqlCommand("insert into student(id,rollno,name,fname,address,contact,email,inst,batch,branch,per12,pe r10,agg)values(@id,@rollno,@name,@fname,@address,@contact,@email,@inst,@batch ,@branch,@per12,@per10,@agg)", cnn); cmd.Parameters.AddWithValue("@id", TextBox1.Text); cmd.Parameters.AddWithValue("@rollno", TextBox2.Text); cmd.Parameters.AddWithValue("@name", TextBox3.Text); cmd.Parameters.AddWithValue("@fname", TextBox4.Text); cmd.Parameters.AddWithValue("@address", TextBox5.Text); cmd.Parameters.AddWithValue("@contact", TextBox6.Text); cmd.Parameters.AddWithValue("@email", TextBox7.Text); cmd.Parameters.AddWithValue("@inst", TextBox8.Text); cmd.Parameters.AddWithValue("@batch", TextBox9.Text); cmd.Parameters.AddWithValue("@branch", TextBox10.Text);

cmd.Parameters.AddWithValue("@per12", TextBox11.Text); cmd.Parameters.AddWithValue("@per10", TextBox12.Text); cmd.Parameters.AddWithValue("@agg", TextBox13.Text); cmd.ExecuteNonQuery(); lblmsg.Text = "you are successfully registered"; cmd.Dispose(); cnn.Close(); } protected void Button1_Click1(object sender, EventArgs e) { cmd.Connection = cnn; cmd.CommandText = " delete from student where id ='" + TextBox1.Text + "'"; Label4.Text = "account deleted"; } protected void TextBox13_TextChanged(object sender, EventArgs e) { } }

student query page


using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class stdquery : System.Web.UI.Page { SqlConnection cnn = new SqlConnection (); SqlCommand cmd = new SqlCommand (); protected void Page_Load(object sender, EventArgs e) { cnn.ConnectionString = " Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\SqlAdmin\\My Documents\\Visual Studio 2005\\WebSites\\my project\\App_Data\\mydata.mdf;Integrated Security=True;User Instance=True"; cnn.Open(); if (Page.IsPostBack == false) { TextBox1.Text = Session["id"].ToString(); }

} protected void Button1_Click(object sender, EventArgs e) { cmd.Connection = cnn; cmd.CommandText = "insert into query(userid,que)values(@userid,@que)"; cmd.Parameters.AddWithValue("@userid", TextBox1.Text); cmd.Parameters.AddWithValue("@que", TextBox2.Text); cmd.ExecuteNonQuery(); Label5.Text = "quetion posted"; cmd.Dispose(); cnn.Close(); } protected void Button2_Click(object sender, EventArgs e) { TextBox2.Text = ""; } }

admin page
using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page { SqlConnection cnn = new SqlConnection(); SqlCommand cmd = new SqlCommand(); SqlDataReader rdr; DataTable dt; SqlDataAdapter adt; protected void Page_Load(object sender, EventArgs e) { dt = new DataTable(); cnn.ConnectionString = " Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\SqlAdmin\\My Documents\\Visual Studio 2005\\WebSites\\my project\\App_Data\\mydata.mdf;Integrated Security=True;User Instance=True"; cnn.Open(); adt = new SqlDataAdapter("select*from company", cnn); adt.Fill(dt); if (Page.IsPostBack == false) { if (dt.Rows.Count == 0) { return; } else { DataRow _row = dt.Rows[0]; //shows first record on load event TextBox1.Text = Convert.ToString(_row["cname"]); TextBox2.Text = Convert.ToString(_row["date"]); TextBox3.Text = Convert.ToString(_row["venue"]); TextBox4.Text = Convert.ToString(_row["eligibility"]); TextBox5.Text = Convert.ToString(_row["percentage"]); cnn.Close();}}} TextBox6.Text = "1";

Admin query page


using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class adminquery : System.Web.UI.Page { SqlConnection cnn = new SqlConnection(); SqlCommand cmd = new SqlCommand(); SqlDataAdapter adt; DataTable dt; protected void Page_Load(object sender, EventArgs e) { dt = new DataTable(); cnn.ConnectionString = " Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\SqlAdmin\\My Documents\\Visual Studio 2005\\WebSites\\my project\\App_Data\\mydata.mdf;Integrated Security=True;User Instance=True"; cnn.Open(); adt = new SqlDataAdapter("select*from query", cnn); adt.Fill(dt); if (dt.Rows.Count == 0) { return; } else { if(Page.IsPostBack ==false) { DataRow _row = dt.Rows[0]; TextBox1.Text = Convert.ToString(_row["userid"]); TextBox2.Text = Convert.ToString(_row["que"]); TextBox3.Text = Convert.ToString(_row["ans"]); TextBox4.Text = "1"; } } } protected void TextBox2_TextChanged(object sender, EventArgs e) { }

protected void TextBox3_TextChanged(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { cmd.Connection = cnn; cmd.CommandText = " update query set que ='"+ TextBox2 .Text +"',ans='"+TextBox3 .Text +"' where userid='"+TextBox1 .Text +"' and que = '"+TextBox2 .Text +"'"; cmd.ExecuteNonQuery(); Label4.Text = " ANSWER POSTED "; cnn.Close();

} protected void Button3_Click(object sender, EventArgs e) { try { if (int.Parse(TextBox4.Text) < dt.Rows.Count) { DataRow _row = dt.Rows[int.Parse(TextBox4.Text) + 1]; TextBox1.Text = Convert.ToString(_row["userid"]); TextBox2.Text = Convert.ToString(_row["que"]); TextBox3.Text = Convert.ToString(_row["ans"]); int p = int.Parse(TextBox4.Text) + 1; TextBox4.Text = p.ToString(); Label4.Text = ""; } } catch(Exception e1) { Label4 .Text =e1.Message .ToString (); } } protected void Button2_Click(object sender, EventArgs e) { try { if (int.Parse(TextBox4.Text) > 0) { DataRow _row = dt.Rows[int.Parse(TextBox4.Text) - 1]; TextBox1.Text = Convert.ToString(_row["userid"]); TextBox2.Text = Convert.ToString(_row["que"]); TextBox3.Text = Convert.ToString(_row["ans"]); int p = int.Parse(TextBox4.Text) - 1;

TextBox4.Text = p.ToString(); Label4.Text = ""; } } catch (Exception ex) { Label4.Text = ex.Message.ToString(); } }

TESTING
CLASS TESTING

10.1) SYSTEM TESTING 1 ) TESTING


Testing is one of the most important of software development process. The objective of testing is to find the maximum number of errors. Testing Objectives: Testing is a process of executing a program with the intent of finding an error. A good test case is one that has a high probability of finding an undiscovered error.

The above objectives imply a dramatic change in viewpoint. They move counter to the commonly held view that a successful test is one in which no errors are found. Testing cannot show the absence of defects, it can only show that software errors are present. Object oriented testing begins with class testing. A series of tests are conducted to exercise class operations to check whether errors exist as one collaborates with other classes. As classes are integrated to form a subsystem , thread-based ,used based, and cluster testing along with fault based approaches are applied to fully exercise collaborating classes. The smallest testable module or unit is class. Each of the operations of the class are tested and the state behavior in response to these operations.If more than one class is present, thread based testing ,use based testing and cluster testing is performed . Thread based testing integrates the set of classes required to respond to one input or event for the system. Each thread is integrated

and tested individually. In use based testing independent classes that use very few of server classes are tested . Then the classes dependent on these classes are tested. In cluster testing all collaborating classes are tested to uncover errors in collaborations

Steps to be followed for test case design 1. 2. 3. a. b. c. d. e. Each test case should be uniquely identified and explicitly associated with the class to be tested The purpose of the test should be stated. A list of steps be developed for each test and should contain A list of specified states for object that is to be tested A list of messages and operations that will be exercised as a

consequence of the test. A list of exceptions that may occur as the object is tested A list of external conditions Supplementary information that will aid in understanding otr implementing test.

System Testing
System testing is done to ensure that the system built is in conformance with the requirements specified in the software requirements document. System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic As a rule, system testing takes, as its input, all of the "integrated" software components that have successfully passed integration testing and also the software system itself integrated with any applicable hardware system(s). The purpose of integration testing is to detect any inconsistencies between the software units that are integrated together or between any of the assemblages and the hardware.

TEST CASES

11.1) TEST CASE 1


Input: invalid user name and password Expected O/P: Message saying record not found Action Taken: Reset.

11.2) TEST CASE 2


Input: signup with existing user id Expected O/P: message saying user already exists Action Taken: reset

11.3) TEST CASE 3


Input:try to signup as admin Expected O/P: admin key requested Action Taken: check admin key and then proceed accordingly

Scope of improvement
1.) facility inform the students about their eligibility through mail can be done facility to download the hall tickets can be provided to students sample test papers for different companies can be provided to students

2.) 3.)

4.)

Bibliography

13.3) INTERNET
13.3.1) http://www.wikepedia.com 13.3.2) http://www.google.com