Você está na página 1de 56

1

SDLC Model
FROM ANALYSIS

OUTPUT
DESIGN
INPUT
DESIGN
FILE
DESIGN

DETAILED SYSTEM
DOCUMENTATION

COST JUSTIFICATION & SYSTEM DESIGN

DESIGN SUBMITTED TO MANAMENT FOR


APPROVAL

PROCESSING

DESIGN
NO
DESIGN

ACCEPT

ABANDON
PROJECT

YES

TEST
PROGRAM
GO TO IMPLEMENTATION
2

HELP

LOGIN

REGISTRATION/SIGNUP

ADMIN LOGIN

ANGE PASSWARD

CH

LETE ACCOUNT

DE

WE
LCOME FORM

10

SE
TTING FORM

11

SEARCH BOOK

12

SE
ARCH BOOK FORM

13

14

15

16

ADMIN MODULE
ADMIN.ASPX
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class PageAdmin_Admin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}

ASSIGN ROLE.ASPX
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using System.Drawing;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
public partial class PageAdmin_AsignRole : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindRolesDetails();
BindUserDetails();
BindRoles();
}
}
protected void BindUserDetails()
{
ddlUsers.DataSource = Membership.GetAllUsers();
ddlUsers.DataTextField = "UserName";
ddlUsers.DataValueField = "UserName";

17
ddlUsers.DataBind();
ddlUsers.Items.Insert(0, new ListItem("--Select User--", "0"));
}
protected void BindRoles()
{
GridView1.DataSource = Roles.GetAllRoles();
GridView1.DataBind();
}
// This Method is used to bind roles
protected void BindRolesDetails()
{
gvRoles.DataSource = Roles.GetAllRoles();
gvRoles.DataBind();
}
// This Button Click event is used to Create new Role
protected void btnCreate_Click(object sender, EventArgs e)
{
string roleName = txtRole.Text.Trim();
if (!Roles.RoleExists(roleName))
{
Roles.CreateRole(roleName);
lblResult.Text = roleName + " Role Created Successfully";
lblResult.ForeColor = Color.Green;
txtRole.Text = string.Empty;
BindRolesDetails();
Response.Redirect("~/PageAdmin/AsignRole.aspx");
}
else
{
txtRole.Text = string.Empty;
lblResult.Text = roleName + " Role already exists";
lblResult.ForeColor = Color.Red;
}
}
// This RowDeleting event is used to delete Roles
protected void gvRoles_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
Label lableRole = (Label)gvRoles.Rows[e.RowIndex].FindControl("lblRole");
Roles.DeleteRole(lableRole.Text, false);
lblResult.ForeColor = Color.Green;
lblResult.Text = lableRole.Text + " Role Deleted Successfully";
BindRolesDetails();
Response.Redirect("~/PageAdmin/AsignRole.aspx");
}
protected void btnAssign_Click(object sender, EventArgs e)
{
string userName = ddlUsers.SelectedItem.Text;
string[] userRoles = Roles.GetRolesForUser(userName);
string errorMessage = string.Empty;
string successMessage = string.Empty;
string roleName = string.Empty;

18
int i = 0;
int j = 0;
foreach (GridViewRow gvrow in GridView1.Rows)
{
CheckBox chk = (CheckBox)gvrow.FindControl("chkRole");
Label lbl = (Label)gvrow.FindControl("lblRole");
roleName = lbl.Text;
if (chk.Checked)
{
int index = Array.IndexOf(userRoles, roleName);
if (index == -1)
{
Roles.AddUserToRole(userName, roleName);
successMessage += roleName + ", ";
j++;
}
}
else
{
int index = Array.IndexOf(userRoles, roleName);
if (index > -1)
{
// Remove the user from the role
string logName = Page.User.Identity.Name;
if(userName == logName)
{
lblError.Text = "Current user Can't be remove from role";
i++;
}
else
{
Roles.RemoveUserFromRole(userName, roleName);
errorMessage += roleName + ", ";
i++;
}
}
}
}
if (errorMessage != string.Empty)
{
if (i > 1)
{
lblError.Text = userName + " was removed from roles " + errorMessage.Substring(0,
errorMessage.Length - 2);
}
else
{
lblError.Text = userName + " was removed from role " + errorMessage.Substring(0,
errorMessage.Length - 2);
}
lblError.ForeColor = Color.Red;
}
else
{
lblError.Text = string.Empty;

19
}
if (successMessage != string.Empty)
{
if (j > 1)
{
lblSuccess.Text = successMessage.Substring(0, successMessage.Length - 2) + " roles
assigned to " + userName;
}
else
{
lblSuccess.Text = successMessage.Substring(0, successMessage.Length - 2) + " role
assigned to " + userName;
}
lblSuccess.ForeColor = Color.Green;
}
else
{
lblSuccess.Text = string.Empty;
}
}
protected void ddlUsers_SelectedIndexChanged(object sender, EventArgs e)
{
lblSuccess.Text = string.Empty;
lblError.Text = string.Empty;
string userName = ddlUsers.SelectedItem.Text;
string[] userRoles = Roles.GetRolesForUser(userName);
string rolename = string.Empty;
foreach (GridViewRow gvrow in GridView1.Rows)
{
CheckBox chk = (CheckBox)gvrow.FindControl("chkRole");
Label lbl = (Label)gvrow.FindControl("lblRole");
rolename = lbl.Text;
int index = Array.IndexOf(userRoles, rolename);
if (index > -1)
{
chk.Checked = true;
}
else
{
chk.Checked = false;
}
}
}
protected void btnBackup_Click(object sender, EventArgs e)
{
BackupData("OnlineLibrary", "sa", "12345", "AMIT-PC", "C:\\back");
}
protected void BackupData(String databaseName, String userName, String password, String
serverName, String destinationPath)
{
Backup sqlBackup = new Backup();

20
sqlBackup.Action = BackupActionType.Database;
sqlBackup.BackupSetDescription = "ArchiveDataBase:" +
DateTime.Now.ToShortDateString();
sqlBackup.BackupSetName = "Archive";
sqlBackup.Database = databaseName;
BackupDeviceItem deviceItem = new BackupDeviceItem(destinationPath, DeviceType.File);
ServerConnection connection = new ServerConnection(serverName, userName, password);
Server sqlServer = new Server(connection);
Database db = sqlServer.Databases[databaseName];
sqlBackup.Initialize = true;
sqlBackup.Checksum = true;
sqlBackup.ContinueAfterError = true;
sqlBackup.Devices.Add(deviceItem);
sqlBackup.Incremental = false;
sqlBackup.ExpirationDate = DateTime.Now.AddDays(3);
sqlBackup.LogTruncation = BackupTruncateLogType.Truncate;
sqlBackup.FormatMedia = false;
sqlBackup.SqlBackup(sqlServer);
}
}

DELETEUSER.ASPX
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
public partial class PageAdmin_DeleteUser : System.Web.UI.Page
{
SqlConnection con;
SqlCommand cmd;
string str = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnDelReq_Click(object sender, EventArgs e)
{

21
con = new SqlConnection(str);
delInfo.Visible =true;
gvDelete.Visible = true;
gvdeleteduser.Visible = false;
lblDelInfo.Visible = false;
try
{
SqlDataAdapter da = new SqlDataAdapter("select * from DeleteRequest",con);
DataSet ds = new DataSet();
da.Fill(ds,"DeleteRequest");
gvDelete.DataSource = ds;
gvDelete.DataBind();
}
catch
{
lbldelete.Visible = true;
lbldelete.Text = "No request to delete the account";
lbldelete.ForeColor = Color.Green;
}
}
protected void btnDeleted_Click(object sender, EventArgs e)
{
con = new SqlConnection(str);
lblDelInfo.Visible = true;
gvdeleteduser.Visible = true;
gvDelete.Visible = false;
delInfo.Visible = false;
SqlDataAdapter adpDeleted = new SqlDataAdapter("select * from DeleteAccount",con);
DataSet ds = new DataSet();
adpDeleted.Fill(ds,"DeleteAccount");
gvdeleteduser.DataSource = ds;
gvdeleteduser.DataBind();
}
protected void gvDelete_SelectedIndexChanged(object sender, EventArgs e)
{
con = new SqlConnection(str);
try
{
string usrname = gvDelete.SelectedRow.Cells[1].Text;
string usremail= gvDelete.SelectedRow.Cells[2].Text;
con.Open();
SqlCommand delMember = new SqlCommand("delete dbo.aspnet_Membership where
email=@em",con);
delMember.Parameters.AddWithValue("@em",usremail);
SqlCommand delUser = new SqlCommand("delete dbo.aspnet_Users where
Username='"+usrname+"'",con);
SqlCommand dellibuser = new SqlCommand("delete Library_User where
UserName='"+usrname+"'",con);
SqlCommand delReq = new SqlCommand("delete DeleteRequest where
UserName='"+usrname+"'",con);
int Menbr = delMember.ExecuteNonQuery();
int usr = delUser.ExecuteNonQuery();
int libuser = dellibuser.ExecuteNonQuery();
int req = delReq.ExecuteNonQuery();
if((Menbr >= 1) & (usr >= 1) & (libuser >= 1))

22
{
lbldelete.Text="Account of "+usrname+" has been deleted successfully";
lbldelete.Visible = true;
lbldelete.ForeColor = Color.Green;
}
else
{
lbldelete.Text = "Account of " + usrname + " has not been deleted successfully. Please try
again later.";
lbldelete.Visible = true;
lbldelete.ForeColor = Color.Red;
}
}
catch
{
lbldelete.Text = "Account has not been deleted successfully. Please try again later.";
lbldelete.Visible = true;
lbldelete.ForeColor = Color.Red;
}
}
}

ISSUE RECORD.ASPX
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
public partial class PageAdmin_IssueRecords : System.Web.UI.Page
{
SqlConnection con;
DataSet ds = new DataSet();
string str = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
string usr_name, Bk_name, selectedBook;
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
GetData();
}
}
public void GetData()
{
con = new SqlConnection(str);
con.Open();

23
SqlDataAdapter daIssue = new SqlDataAdapter("select * from RequestInfo", con);
daIssue.Fill(ds, "RequestInfo");
gdIssue.DataSource = ds;
gdIssue.DataBind();
con.Close();
}
protected void gdIssue_SelectedIndexChanged(object sender, EventArgs e)
{
con = new SqlConnection(str);
con.Open();
DateTime today = DateTime.Now;
DateTime mailDate = today.AddDays(20);
selectedBook = gdIssue.SelectedRow.Cells[2].Text;
usr_name = gdIssue.SelectedRow.Cells[4].Text;
string req_rtrn_date = gdIssue.SelectedRow.Cells[6].Text;
string idate=DateTime.Now.ToShortDateString();
SqlDataAdapter daBkIssue = new SqlDataAdapter("select * from InfoBook where
BID='"+selectedBook+"'",con);
DataSet dsselect = new DataSet();
daBkIssue.Fill(dsselect, "InfoBook");
int bk_ID = Convert.ToInt32(selectedBook);
Bk_name = dsselect.Tables[0].Rows[0]["BookName"].ToString();
string bk_cat = dsselect.Tables[0].Rows[0]["Category"].ToString();
gdIssue.SelectedRow.Visible = false;
/////// issueing book to user
SqlCommand insrtInssue = new SqlCommand("insert into
IssueRecords(UserName,BID,BookName,Category,IssueDate,ReturnDate,MailSendDate) values
(@1,@2,@3,@4,@5,@6,@7)", con);
insrtInssue.Parameters.AddWithValue("@1",usr_name);
insrtInssue.Parameters.AddWithValue("@2",bk_ID);
insrtInssue.Parameters.AddWithValue("@3",Bk_name);
insrtInssue.Parameters.AddWithValue("@4",bk_cat);
insrtInssue.Parameters.AddWithValue("@5",idate);
insrtInssue.Parameters.AddWithValue("@6",req_rtrn_date);
insrtInssue.Parameters.AddWithValue("@7",mailDate);
int sucees=insrtInssue.ExecuteNonQuery();
if (sucees >= 1)
{
lblMsg.Text = "Book has been issued the user.";
lblMsg.Visible = true;
lblMsg.ForeColor = Color.Green;
}
else
{
lblMsg.Text = "Book has not been issued the user.";
lblMsg.Visible = true;
lblMsg.ForeColor = Color.Red;
}
///// updating info of issued book

24
SqlCommand cmdInfoUpdate = new SqlCommand("update InfoBook set Available='false' where
BID='"+bk_ID+"'", con);
cmdInfoUpdate.ExecuteNonQuery();
/////// deleting request of issued book
SqlCommand cmdDelreq = new SqlCommand("delete RequestInfo where BID='"+bk_ID+"'",
con);
cmdDelreq.ExecuteNonQuery();
con.Close();
}
protected void gdIssue_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gdIssue.PageIndex = e.NewPageIndex;
gdIssue.DataBind();
}
}

RETURNBOOK.ASPX
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
public partial class PageAdmin_ReturnRestore : System.Web.UI.Page
{
string str = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
SqlConnection con;
SqlCommand cmd;
string getQuery;
protected void Page_Load(object sender, EventArgs e)
{
getQuery = "select Issue_ID as 'Issue Id', IssueDate as 'Issue Date', ReturnDate as 'Return Date' ,
UserName as 'User Name' , BookName as 'Book Name', Category ,ActualReturnDate from
IssueRecords";
getData(getQuery,0);
}
public void getData(string query, int i)
{
con = new SqlConnection(str);

25

cmd = new SqlCommand(query, con);


if (i == 0)
{
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridIssue.DataSource = ds;
GridIssue.DataBind();
con.Close();
}
else
{
con.Open();
SqlDataAdapter da2 = new SqlDataAdapter(cmd);
DataSet ds2 = new DataSet();
da2.Fill(ds2);
GridReturned.DataSource = ds2;
GridReturned.DataBind();
con.Close();
}
}
protected void GridIssue_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridIssue.PageIndex = e.NewPageIndex;
getQuery = "select Issue_ID as 'Issue Id', IssueDate as 'Issue Date', ReturnDate as 'Return Date' ,
UserName as 'User Name' , BookName as 'Book Name', Category ,ActualReturnDate from
IssueRecords";
getData(getQuery, 0);
}
protected void GridReturned_SelectedIndexChanged(object sender, EventArgs e)
{
string sel_BID = GridReturned.SelectedRow.Cells[2].Text;
string sel_IID = GridReturned.SelectedRow.Cells[1].Text;
string sel_Uname = GridReturned.SelectedRow.Cells[3].Text;
getQuery = "update InfoBook set Available='" + true + "',Requested='" + false + "' where BID="
+ sel_BID + "";
change(getQuery);
getQuery = "update IssueRecords set ActualReturnDate='" +
DateTime.Now.ToShortDateString() + "' where Issue_ID='" + sel_IID + "'";
change(getQuery);
Response.Redirect("ReturnRestore.aspx");
}
public int change(string query)
{
con = new SqlConnection(str);
con.Open();
cmd = new SqlCommand(query, con);
int flag = cmd.ExecuteNonQuery();

26
con.Close();
return flag;
}
protected void imgPDF_Click(object sender, ImageClickEventArgs e)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Issue_Records.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridIssue.AllowPaging = false;
getQuery = "select Issue_ID as 'Issue Id', IssueDate as 'Issue Date', ReturnDate as 'Return Date' ,
UserName as 'User Name' , BookName as 'Book Name', Category ,ActualReturnDate from
IssueRecords";
getData(getQuery, 0);
GridIssue.RenderControl(hw);
GridIssue.HeaderRow.Style.Add("width", "15%");
GridIssue.HeaderRow.Style.Add("font-size", "10px");
GridIssue.HeaderRow.Style.Add("HorizontalAlign", "Center");
GridIssue.Style.Add("text-decoration", "none");
GridIssue.Style.Add("font-family", "Arial, Helvetica, sans-serif;");
GridIssue.Style.Add("font-size", "8px");
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A2, 7f, 7f, 7f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}
protected void imgExcel_Click(object sender, ImageClickEventArgs e)
{
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", string.Format("attachment; filename={0}",
"Issue_Records.xls"));
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
GridIssue.AllowPaging = false;
getQuery = "select Issue_ID as 'Issue Id', IssueDate as 'Issue Date', ReturnDate as 'Return Date' ,
UserName as 'User Name' , BookName as 'Book Name', Category ,ActualReturnDate from
IssueRecords";
getData(getQuery, 0);
GridIssue.RenderControl(htw);
Response.Write(sw.ToString());

27
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
}

STOREINFORMATION.ASPX
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
public partial class PageAdmin_StoreInfo : System.Web.UI.Page
{
string str = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
addYear();
}
}
private void addYear()
{
int x = DateTime.Now.Year;
List<string> str = new List<string>();
for (int i = x; i >= 1975; i--)
{
str.Add(i.ToString());
}
ddlYear.DataSource = str;
ddlYear.DataBind();
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{

28
SqlConnection con = new SqlConnection(str);
con.Open();
Label2.Text = ddlYear.SelectedItem.ToString();
string df = ddlYear.SelectedItem.ToString();
SqlCommand cmd = new SqlCommand("insert into InfoBook
(ISBN,BookName,AuthorName,Publisher,Category,PublishYear,Copies) values
(@1,@2,@3,@4,@5,@6,@7) ", con);
cmd.Parameters.AddWithValue("@1", txtIsbn.Text);
cmd.Parameters.AddWithValue("@2", txtbk_name.Text);
cmd.Parameters.AddWithValue("@3", txtAuth_name.Text);
cmd.Parameters.AddWithValue("@4", txtPublisher.Text);
cmd.Parameters.AddWithValue("@5", ddlCat.SelectedValue);
cmd.Parameters.AddWithValue("@6", df);
cmd.Parameters.AddWithValue("@7",txtCopies.Text);
//cmd.Parameters.AddWithValue("@7", true);
//cmd.Parameters.AddWithValue("@8", false);
int i = cmd.ExecuteNonQuery();
if (i >= 1)
{
txtIsbn.Text = "";
txtbk_name.Text = "";
txtAuth_name.Text = "";
txtPublisher.Text = "";
ddlCat.SelectedIndex = 0;
ddlYear.SelectedIndex = 0;
txtCopies.Text = "";
storeMsg.Text = "Data Stored Successfully.";
storeMsg.ForeColor = Color.Green;
}
con.Close();
}
catch(Exception exp)
{
storeMsg.Text = exp.Message;
}
}
}

PAGE COMMON
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class PageUser_login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

29
if (Page.User.Identity.IsAuthenticated)
{
Response.Redirect("~/PageCommon/index.aspx");
}
}
private void chkType()
{
LoginView logInView = (LoginView)this.Master.FindControl("HeadLoginView");
HyperLink rdirect = (HyperLink)logInView.FindControl("HyperLink1");
}
}

NEWUSER.ASPX
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class PageUser_NewUser : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(Page.User.Identity.IsAuthenticated)
{
Response.Redirect("~/PageCommon/index.aspx");
}
}
}

SEARCH BOOK
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
public partial class PageCommon_Search : System.Web.UI.Page
{

30
SqlConnection con;
SqlCommand cmd;
string str = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void imgSearchbooks_Click(object sender, ImageClickEventArgs e)
{
DataSet ds = new DataSet();
if (txtBookname.Text == string.Empty && txtAuthorname.Text == string.Empty &&
dlCategory.SelectedValue == "-Select-")
{
Panel1.Visible = true;
lblmsg.ForeColor = Color.Green;
gpanel.Visible = false;
}
else
{
Panel1.Visible = false;
gpanel.Visible = true;
try
{
con = new SqlConnection(str);
con.Open();
SqlDataAdapter adpAll = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where
BookName='"+txtBookname.Text+"' and AuthorName='"+txtAuthorname.Text+"' and
Category='"+dlCategory.SelectedValue+"'",con);
SqlDataAdapter adpBook = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where BookName='"+
txtBookname.Text +"' ",con);
SqlDataAdapter adpAuthor = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where AuthorName='" +
txtAuthorname.Text + "'", con);
SqlDataAdapter adpCat = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where Category='" +
dlCategory.SelectedValue + "'", con);
SqlDataAdapter adpBook_Author = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where BookName='" +
txtBookname.Text + "' and AuthorName='" + txtAuthorname.Text + "'", con);
SqlDataAdapter adpBook_Cat = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where BookName='" +
txtBookname.Text + "' and Category='" + dlCategory.SelectedValue + "'", con);
SqlDataAdapter adpAuthor_cat = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where AuthorName='" +
txtAuthorname.Text + "' and Category='" + dlCategory.SelectedValue + "'", con);
if (txtBookname.Text == string.Empty && txtAuthorname.Text == string.Empty &&
dlCategory.SelectedValue != "-Select-")
{

31
adpCat.Fill(ds, "InfoBook");
GridShow.DataSource = ds;
GridShow.DataBind();
}
else if (txtBookname.Text == string.Empty && dlCategory.SelectedValue == "-Select-")
{
adpAuthor.Fill(ds, "InfoBook");
GridShow.DataSource = ds;
GridShow.DataBind();
}
else if (txtAuthorname.Text == string.Empty && dlCategory.SelectedValue == "-Select-")
{
adpBook.Fill(ds, "InfoBook");
GridShow.DataSource = ds;
GridShow.DataBind();
}
else if (txtBookname.Text != string.Empty && txtAuthorname.Text != string.Empty &&
dlCategory.SelectedValue != "-Select-")
{
adpAll.Fill(ds, "InfoBook");
GridShow.DataSource = ds;
GridShow.DataBind();
}
else if (txtBookname.Text != string.Empty && txtAuthorname.Text != string.Empty &&
dlCategory.SelectedValue == "-Select-")
{
adpBook_Author.Fill(ds, "InfoBook");
GridShow.DataSource = ds;
GridShow.DataBind();
}
else if (txtBookname.Text != string.Empty && txtAuthorname.Text == string.Empty &&
dlCategory.SelectedValue != "-Select-")
{
adpBook_Cat.Fill(ds, "InfoBook");
GridShow.DataSource = ds;
GridShow.DataBind();
}
else if (txtBookname.Text == string.Empty && txtAuthorname.Text != string.Empty &&
dlCategory.SelectedValue != "-Select-")
{
adpAuthor_cat.Fill(ds, "InfoBook");
GridShow.DataSource = ds;
GridShow.DataBind();
}

con.Close();
}
catch(Exception exp)
{
}
}

32

}
}

LOGIN.ASPX
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class PageUser_login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Page.User.Identity.IsAuthenticated)
{
Response.Redirect("~/PageCommon/index.aspx");
}
}
private void chkType()
{
LoginView logInView = (LoginView)this.Master.FindControl("HeadLoginView");
HyperLink rdirect = (HyperLink)logInView.FindControl("HyperLink1");
}
}

USER MODULE
Page user.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
using System.Net.Mail;
public partial class PageUser_Issue : System.Web.UI.Page
{
SqlConnection con;
SqlCommand cmd;

33
string str = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
string bk_ID, bk_NAME, name;
DateTime fdate;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void imgSearchbooks_Click(object sender, ImageClickEventArgs e)
{
lblReq.Text = "";
lblmsg.Text = "";
lblDateChk.Text = "";
txtDate.Text = "";
DataSet ds = new DataSet();
lblBookStatus.Visible = false;
grdBookList.Visible = true;
if (txtBookname.Text == string.Empty && txtAuthorname.Text == string.Empty &&
dlCategory.SelectedValue == "-Select-")
{
//Panel1.Visible = true;
//lblmsg.ForeColor = Color.Green;
}
else
{
try
{
con = new SqlConnection(str);
con.Open();
SqlDataAdapter adpAll = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where BookName='" +
txtBookname.Text + "' and AuthorName='" + txtAuthorname.Text + "' and Category='" +
dlCategory.SelectedValue + "'", con);
SqlDataAdapter adpBook = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where BookName='" +
txtBookname.Text + "' ", con);
SqlDataAdapter adpAuthor = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where AuthorName='" +
txtAuthorname.Text + "'", con);
SqlDataAdapter adpCat = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where Category='" +
dlCategory.SelectedValue + "'", con);
SqlDataAdapter adpBook_Author = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where BookName='" +
txtBookname.Text + "' and AuthorName='" + txtAuthorname.Text + "'", con);
SqlDataAdapter adpBook_Cat = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where BookName='" +
txtBookname.Text + "' and Category='" + dlCategory.SelectedValue + "'", con);
SqlDataAdapter adpAuthor_cat = new SqlDataAdapter("select
ISBN,BookName,AuthorName,Category,Book_ID from InfoBook where AuthorName='" +
txtAuthorname.Text + "' and Category='" + dlCategory.SelectedValue + "'", con);
if (txtBookname.Text == string.Empty && txtAuthorname.Text == string.Empty &&
dlCategory.SelectedValue != "-Select-")
{

34
adpCat.Fill(ds, "InfoBook");
grdBookList.DataSource = ds;
grdBookList.DataBind();
}
else if (txtBookname.Text == string.Empty && dlCategory.SelectedValue == "-Select-")
{
adpAuthor.Fill(ds, "InfoBook");
grdBookList.DataSource = ds;
grdBookList.DataBind();
}
else if (txtAuthorname.Text == string.Empty && dlCategory.SelectedValue == "-Select-")
{
adpBook.Fill(ds, "InfoBook");
grdBookList.DataSource = ds;
grdBookList.DataBind();
}
else if (txtBookname.Text != string.Empty && txtAuthorname.Text != string.Empty &&
dlCategory.SelectedValue != "-Select-")
{
adpAll.Fill(ds, "InfoBook");
grdBookList.DataSource = ds;
grdBookList.DataBind();
}
else if (txtBookname.Text != string.Empty && txtAuthorname.Text != string.Empty &&
dlCategory.SelectedValue == "-Select-")
{
adpBook_Author.Fill(ds, "InfoBook");
grdBookList.DataSource = ds;
grdBookList.DataBind();
}
else if (txtBookname.Text != string.Empty && txtAuthorname.Text == string.Empty &&
dlCategory.SelectedValue != "-Select-")
{
adpBook_Cat.Fill(ds, "InfoBook");
grdBookList.DataSource = ds;
grdBookList.DataBind();
}
else if (txtBookname.Text == string.Empty && txtAuthorname.Text != string.Empty &&
dlCategory.SelectedValue != "-Select-")
{
adpAuthor_cat.Fill(ds, "InfoBook");
grdBookList.DataSource = ds;
grdBookList.DataBind();
}
else
{
con.Close();
}
}
catch (Exception exp)
{
}
}
}

35

protected void grdBookList_PageIndexChanging(object sender, GridViewPageEventArgs e)


{
grdBookList.PageIndex = e.NewPageIndex;
grdBookList.DataBind();
}
public bool chkAvial(string query)
{
con = new SqlConnection(str);
con.Open();
SqlCommand cmdChk = new SqlCommand(query, con);
SqlDataReader dr = cmdChk.ExecuteReader();
if(dr.Read())
{
con.Close();
return true;
}
else
{
con.Close();
return false;
}
}
protected void grdBookList_SelectedIndexChanged(object sender, EventArgs e)
{
name = Page.User.Identity.Name;
string selectedbook = grdBookList.SelectedRow.Cells[5].Text;
// ------------ checking complete profile
if(!chkAvial("select UserName from Library_User where UserName='" + name + "'"))
{
lblReq.Visible = true;
lblReq.Text = "Please Complete Your Profile First";
}
else if(txtDate.Text == string.Empty)
{
lblDateChk.Text = "Please select the return Date of this book";
lblDateChk.Visible = true;
lblDateChk.ForeColor = Color.Red;
lblReq.Visible = false;
}
else
{
lblReq.Visible = true;
lblReq.Text = "You Have Already Requested For This Book.";
lblDateChk.Visible = false;
string reqDate = DateTime.Now.ToShortDateString();
con = new SqlConnection(str);

36
con.Open();
SqlDataAdapter adpSelect = new SqlDataAdapter("select BID,BookName,Available from
InfoBook where Book_ID='" + selectedbook + "'", con);
DataSet dsSelect = new DataSet();
adpSelect.Fill(dsSelect, "InfoBook");
bk_ID = dsSelect.Tables[0].Rows[0]["BID"].ToString();
bk_NAME = dsSelect.Tables[0].Rows[0]["BookName"].ToString();
con.Close();
if (chkAvial("select BID,UserName from RequestInfo where BID='" + bk_ID + "' and
UserName='" + name + "' "))
{
lblReq.Visible = true;
lblReq.Text = "You Have Already Requested For This Book.";
}
else
{
grdBookList.SelectedRow.Visible = false;
string temp = "insert into RequestInfo values('" + bk_ID + "','" + bk_NAME + "','" + name
+ "','" + reqDate + "','" + fdate + "')";
if (change(temp) > 0)
{
lblReq.Visible = true;
lblReq.Text = "Request has been forwarded to administrator";
lblmsg.Visible = true;
lblmsg.Text = "You can issue only two books at a time. Only last two selection will be
consider";
}
else
{
lblReq.Text = "Items is not available.";
}
}
}
}
public int change(string chngQuery)
{
con = new SqlConnection(str);
con.Open();
SqlCommand insCmd = new SqlCommand(chngQuery, con);
int i= insCmd.ExecuteNonQuery();
con.Close();
return i;
}
protected void txtDate_TextChanged(object sender, EventArgs e)
{
if (txtDate.Text != string.Empty)
{
fdate = Convert.ToDateTime(txtDate.Text);

37
DateTime tdate = DateTime.Now;
DateTime cdate = tdate.AddDays(20);
if (fdate > cdate)
{
txtDate.Text = "";
lblDateChk.Text = "Date Can not be more than 20 days";
lblDateChk.Visible = true;
ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(this.GetType(), "startupScript", "moredate();", true);
}
}
}
}

Myprofile.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
using System.Net.Mail;
using System.Web.Security;
public partial class PageUser_MyProfile : System.Web.UI.Page
{
SqlConnection con;
SqlCommand cmd;
string str = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
string email,uname;
string chk;
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
chkProfile();
}
}
private void chkProfile()
{
uname = Page.User.Identity.Name;
con = new SqlConnection(str);
con.Open();
SqlCommand cmd = new SqlCommand("select * from Library_User where UserName='" +
uname + "'", con);
SqlDataReader dr = cmd.ExecuteReader();

38
if (dr.Read())
{
txtName.Text = dr.GetString(1);
txtAge.Text = dr.GetInt32(2).ToString();
txtDesign.Text = dr.GetString(3).ToString();
txtContact.Text = dr.GetSqlValue(5).ToString();
txtAddress.Text = dr.GetString(6).ToString();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
uname = Page.User.Identity.Name;
email= Membership.GetUser(uname).Email;
con = new SqlConnection(str);
SqlConnection conchk = new SqlConnection(str);
conchk.Open();
con.Open();
try
{
SqlCommand cmdChk=new SqlCommand("select * from Library_User where UserName='" +
uname + "'", conchk);
SqlDataReader drChk=cmdChk.ExecuteReader();
if(!drChk.Read())
{
cmd = new SqlCommand("insert into Library_User
(UserName,Fullname,Age,Designation,EmailID,ContactNo,Address) values
(@1,@2,@3,@4,@5,@6,@7)", con);
cmd.Parameters.AddWithValue("@1", uname);
cmd.Parameters.AddWithValue("@2", txtName.Text);
cmd.Parameters.AddWithValue("@3", int.Parse(txtAge.Text));
cmd.Parameters.AddWithValue("@4", txtDesign.Text);
cmd.Parameters.AddWithValue("@5", email);
cmd.Parameters.AddWithValue("@6", long.Parse(txtContact.Text));
cmd.Parameters.AddWithValue("@7", txtAddress.Text);
Label1.Text = "Record Inserted Successfully";
}
else
{
cmd = new SqlCommand("update Library_User set Fullname='" + txtName.Text+ "' , age='"
+ int.Parse(txtAge.Text) + "',Designation='" + txtDesign.Text + "',ContactNo='" +
int.Parse(txtContact.Text) + "',Address='"+txtAddress.Text+"' ",con);
Label1.Text = "Profile Updated Successfully";
}
conchk.Close();
cmd.ExecuteNonQuery();
}
catch (Exception exp)
{
Label1.Text = exp.Message;
}
con.Close();

39
}
}

setting.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
using System.Net.Mail;
public partial class PageUser_Setting : System.Web.UI.Page
{
string str = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnCheckDeatails_Click(object sender, EventArgs e)
{
string name = Page.User.Identity.Name;
SqlConnection con = new SqlConnection(str);
con.Open();
SqlDataAdapter adpCheck = new SqlDataAdapter("select
BookName,ReturnDate,ActualReturnDate from IssueRecords where UserName='" + name + "' and
ActualReturnDate is null ", con);
DataSet ds = new DataSet();
adpCheck.Fill(ds, "IssueRecords");
gvAccDetails.DataSource = ds;
gvAccDetails.DataBind();
if (ds.Tables[0].Rows.Count == 0)
{
pnlConfirm.Visible = true;
lblmsg.Visible = true;
}
else
{
pnlConfirm.Visible = false;
lblmsg.Text = "You Can Not Delete Your Account.. Please Clear All Your Account Details.";
lblmsg.Visible = true;
lblmsg.ForeColor = Color.Red;
}
con.Close();
}
protected void btnyes_Click(object sender, EventArgs e)
{
string name = Page.User.Identity.Name;
SqlConnection con = new SqlConnection(str);

40
con.Open();
lblMsg1.Text = "Please, Clear All Your Account Details ..!!";
lblMsg2.Text = "Your Request Has Been Sent To Admin.. !!";
lblMsg2.Visible = true;
lblMsg1.Visible = true;
lblMsg1.ForeColor = Color.Red;
lblMsg2.ForeColor = Color.Green;
SqlDataAdapter adpusrMail = new SqlDataAdapter("Select UserName,EmailID from
Library_User where UserName='" + name + "'", con);
DataSet dsuser = new DataSet();
adpusrMail.Fill(dsuser, "Library_User");
string Umail = dsuser.Tables[0].Rows[0]["EmailID"].ToString();
SqlCommand cmdInsert = new SqlCommand("insert into DeleteRequest values ('" + name + "','"
+ Umail + "',default)", con);
int insertFalg = cmdInsert.ExecuteNonQuery();
}
protected void btnNo_Click(object sender, EventArgs e)
{
Response.Redirect("UserHome.aspx");
}
}

userreturnbook.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
using System.Net.Mail;
public partial class PageUser_UserReturnBook : System.Web.UI.Page
{
string str = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnNotify_Click(object sender, EventArgs e)
{
try
{
string name = Page.User.Identity.Name;
SqlConnection con = new SqlConnection(str);
SqlDataAdapter adpSelect = new SqlDataAdapter("IF EXISTS (select
Issue_ID,BookName,Category,IssueDate,ReturnDate from IssueRecords where UserName='" + name
+ "' and ActualReturnDate is null) BEGIN (select

41
Issue_ID,BookName,Category,IssueDate,ReturnDate from IssueRecords where UserName='" + name
+ "' and ActualReturnDate is null)END", con);
DataSet dsSelect = new DataSet();
adpSelect.Fill(dsSelect, "IssueRecords");
gvRetBook.DataSource = dsSelect;
gvRetBook.DataBind();

lblMsg3.Text = "The issued book will be recieved by library within 3 working days";
lblMsg3.Visible = true;
string BookName = dsSelect.Tables[0].Rows[0]["BookName"].ToString();
string Return_date = dsSelect.Tables[0].Rows[0]["ReturnDate"].ToString();
lbl.Text="Please, Return the book you have issued. You are required to pay the fine of RS. 20
per day from the return date.The details of book you have issued : ";
lbl.Visible = true;
lblBook.Text = BookName;
lblBook.Visible = true;
lblReturnDate.Text = Return_date;
lblReturnDate.Visible = true;
}
catch
{
lblMsg1.Text = "You Have Not Issued Any Book";
lblMsg1.Visible = true;
}
}
}

web.config

42

<?xml version="1.0"?>
<!-For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="connect" connectionString="Data Source=VAISHAIPRESSPC\MSSQL2008;Initial Catalog=OnlineLibrary;User ID=sa;Password=sql"/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Windows.Forms, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.DirectoryServices, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="Microsoft.SqlServer.Smo, Version=10.0.0.0,
Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.SqlServer.SmoExtended,
Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.SqlServer.ConnectionInfo,
Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.SqlServer.ConnectionInfoExtended,
Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.SqlServer.Management.Sdk.Sfc,
Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
</assemblies>
</compilation>
<authentication mode="Forms">
<forms loginUrl="~/PageUser/login.aspx" timeout="2880"/>
</authentication>

43
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider" connectionStringName="connect"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true"
requiresUniqueEmail="true" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/"/>
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider"
type="System.Web.Profile.SqlProfileProvider" connectionStringName="connect"
applicationName="/"/>
</providers>
</profile>
<roleManager enabled="true">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider" connectionStringName="connect"
applicationName="/"/>
<add name="AspNetWindowsTokenRoleProvider"
type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
</providers>
</roleManager>
</system.web>
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None"/>
</appSettings>
<system.webServer>
<defaultDocument>
<files>
<clear/>

44
<add value="PageCommon/index.aspx"/>
</files>
</defaultDocument>
</system.webServer>
</configuration>

TESTING
Testing Techniques

45
The time dependent asynchronous nature of many real-time application adds anew
and potential difficult element of mix time. Not only does the test case designer have to
consider white-box testing black-box testing cases but also event handling (i.e. interrupt
processing) the timing of the data, and the parallelism of the tasks (process) that handle the
data.

Comprehensive test case design methods for real-time system have yet to evolve. However an
overall four step strategy can be proposed:

Task Testing
Behavioral Testing
Inter task Testing
System Testing

System Testing
Software and hardware are integrated and a full range of the system test are conducted in an
attempt to attempts to uncover error at the software / hardware interface. Most real-time
system process interrupts. The tester develops a list of all possible interrupts and the
processing that occurs as a consequence of the interrupts. Tests are then Signed to asses the
following system characteristics:

Are interrupts priorities properly assigned and properly handle?


Is processing for each interrupts handled correctly?
Does the performance of each interrupts-handling procedure conform to
requirements?

46
Does a high volume of interrupts arriving at critical times create problem in
Function of performance?

47

1. White-Box Testing
It is also called glass box testing. It is a test case design method that uses the control structure
of the procedural design to derive test cases. In this all statement in the program has been
executed at least once during testing that all logical conditions have been exercised. Using
white box testing methods , software engineer can derive test cases that

Guarantee that all independent paths within a module have been exercised at least
once.
Exercise all loops at their boundaries and within their operational bounds.
Exercise all logical decision on their true and false sides.
Exercise internal data structure to assure their validity.

Basic path testing, a white box technique, makes use of program graphs to drive the set of
linearly independent tests that will insure coverage. Conditional and data flow testing further
exercise program logic, and loop testing complements other white box technique by
providing a procedure for exercising loops of varying degrees of complexity.

Installation
To install the network management software on your computer network. Some follows the
instructions of step to step: Insert the setup CD in CD-Drive of a computer and double click the setup.
Install the software by setup.
Follow the step to install the software.

48

Feasibility
Feasibility of project can project can be e7lained in two terms below:

Technical Feasibility
Our project is technically feasible, as we have taken visual basic as our front end. Advantages
of language are achieved as:-

Good interface for user.


Allow changes as when required.
It is rapid action development tool, which makes processing fast.
Coding make technical processing easy.
VB is event driven which means use is in control of application.
VB is infinitely extensible through the use of Active-X control.
Dynamically linked libraries and add-ins.

49

Methodology Adopted
To solve the actual problem in an agency setting, software engineer or a team of
engineers must incorporate a development strategy encompasses the process method
and tool and generic phase. This strategy is often referred to as a process model or a
software engineering paradigm. A process model for software engineering is chosen
base on the nature of the project and application, the methods and tools to used, and
the controls and deliverables that are required.All software development can be
categorized as a problem solving loop in which four distinct stages are encounters.
Status quo represents the current states of affairs; problem definition identifies the
specific problem to be solve; technical development solve the problem through the
application of some technology, and the solution integration delivers the result those
who requested the solution in the place.
Problem definition

Status
Quo

Technical
Developments

Solution
Integration

There is a verity of different process model for software engineering. Each represents
attempts to bring order to an inherently chaotic activity it is important to remember that each
of model of the models has been categories.

Linear sequential model:-

50
Some linear sequential some time called classic life cycle waterfall model. The linear
sequential model suggests a systemic sequential approach to software development that
begins system at the level and progresses through analysis, design, coding, testing and
support. Below figure illustrate the linear sequential model for the software engineering the
linear sequential model encompasses following activities:-

System / Information engineering and modeling :


Because a software is a part time of a large system, were beginning by established
requirement for all system element the allocating some subset of these requirements to
software. This system view essential when software must interact with other element such as
hardware, people and database. System engineering and analysis encompasses requirements
gathering at the system level with a small amount of top level design analysis.

Software requirement analysis :The requirements gathering process is intensified and focused specifically on Software. To
understand the nature of program to be built, The software engineer must understand the
information domain for the software as well as require function, behavior, performance, and
interface.

51

Design
Software design is actually multi step process that focuses on four distinct attribute of
program; datastructre, software architecture, interface representation and procedural detail.
The design process translates requirements into a representation of the software that can be
accessed for quality before coding begins.

Coding:
The design must be translate in to a machine-readable form. The code generation step
performs this task. If design is perform in a detailed manner, code generation can
accomplished mechanistically.

Testing:Once code has been generated program testing being. The testing process focuses on the
logical internals of the software, ensuring that all statements have been tested and on
functional externals; that is conducting tests to uncover error and ensure that the defined input
will produce the actual results that agree with required results.

System / in Supports
Software will under go change after it is delivered to the customer, change will occur because
error have been encountered, because the software must to adopted to accommodate changes
in its external environments. Because

the customer requirements functional and

performance enhancements.

Analysis

De

52

Fig: linear sequential model

SECURITY OF THE SYSTEM:Computer is a versatile instruction with almost enormous capacity computation at

unimaginable speed. The end user is concerned about security along with

an

increased

dependence on the computer. In system development, the project manager must consider
measures for marinating data and controlling secret at all time. This involves built in
hardware feature, programs procedures to protect candidate system from unauthorized access.
The level of protection depends on the sensitivity of the data, the reliability of the user, & the
complexity of the system. A well designed system includes control procedure to provide
physical protection (hardware security) and restrict system access (database security).

Application security
In our project, going password an application security. In our project, if the user type wrong
password and user name then he/she cannot enter inside the project, if the users want to users
want to use or run the project then he/she must enter the correct user name and password. If
the user type three times wrong password and click three times enter then our project will
close and he/she not enter any type.

Transaction Security
In this project, several kinds of transaction securities have been provided such as: A. We cannot enter the wrong value/data
B. We can change the login and password code if we know user name and password.
C. We can take modified/deleted records

53

Database security
The database security is most essential to avoid theft or leakage of confidential data. A
control must be kept over the issue of data file, so that possibilities of destruction are
minimized. Any person not open database. If he/she know password then he/she open
database.

The security arrangement should be provided by computer installation initially at time it is


being established rather then being added later on. Security is like sheet belt it does not
guarantee there will be not accident. However, when accident does occur it may be found too
much cheaper, it may records. The system security problem can be divided into following
related issues.

System security:Hardware security


Hardware security includes arrangement for detection of fire fighting equipment, alternative
arrangement to meet emergency requirement alternatively and uninterrupted power
arrangement and hardware insurance in case of own hardware equipment.

Software security
Software security may need striker control on person an access to the processing center, the
data file storage and the programs file. A copy of all program May be file stored away from
the computer installation as a security measure.

LIMITATION

54

We invested lots of time & effort to develop present system but still few short coming are
their time or lack of e7ertise a Asp.net. Bike Agency very vast & to development it
completely within a six months course is almost impossible.

Our system is also having few limitations: There is no automatically facility of saving to main database.
Any from which will directly close may loss database information.
There is no facility of trial balance and profit loss.
There is no automatically edit the records.

55

CONCLUSION
This project is facilitating to its best to a particular E LIBRARY MANAGEMENT
SYSTEM. I have tried my best to do each and every aspect of the Collection of book
Information. I go to survey to the entire the bike agency. This was a great activity which was
performed by me my project provides me really a grate thing which I have achieve in my
study period.

56

BIBLIOGRAPHY
Visual Basic .net
JEFFREY R.SHAPISO
VB.net Black Book
Steven holzner
Introduction to VB.net
Robert j. oberge
Application Development Using VB.vet
Robert j. oberge
Also using Google Search Engine
www.google.com

Você também pode gostar