公司人事管理系統(tǒng),公司,人事管理系統(tǒng)
軟件 學(xué)院課程設(shè)計(jì)成績(jī)?cè)u(píng)價(jià)表
課程名稱:ASP.NET程序設(shè)計(jì)
設(shè)計(jì)題目;貼吧管理系統(tǒng)
專業(yè):網(wǎng)絡(luò)系統(tǒng)管理 班級(jí):1401 姓名:趙聘卿 學(xué)號(hào):201430910124
序號(hào)
評(píng)審項(xiàng)目
分 數(shù)
滿分標(biāo)準(zhǔn)說(shuō)明
1
內(nèi) 容
思路清晰;語(yǔ)言表達(dá)準(zhǔn)確,概念清楚,論點(diǎn)正確;實(shí)驗(yàn)方法科學(xué),分析歸納合理;結(jié)論嚴(yán)謹(jǐn),設(shè)計(jì)有應(yīng)用價(jià)值。任務(wù)飽滿,做了大量的工作。
2
創(chuàng) 新
內(nèi)容新穎,題目能反映新技術(shù),對(duì)前人工作有改進(jìn)或突破,或有獨(dú)特見(jiàn)解
3
完整性、實(shí)用性
整體構(gòu)思合理,理論依據(jù)充分,設(shè)計(jì)完整,實(shí)用性強(qiáng)
4
數(shù)據(jù)準(zhǔn)確、可靠
數(shù)據(jù)準(zhǔn)確,公式推導(dǎo)正確
5
規(guī) 范 性
設(shè)計(jì)格式、繪圖、圖紙、實(shí)驗(yàn)數(shù)據(jù)、標(biāo)準(zhǔn)的運(yùn)用等符合有關(guān)標(biāo)準(zhǔn)和規(guī)定
6
紀(jì) 律 性
能很好的遵守各項(xiàng)紀(jì)律,設(shè)計(jì)過(guò)程認(rèn)真;
7
答 辯
準(zhǔn)備工作充分,回答問(wèn)題有理論依據(jù),基本概念清楚。主要問(wèn)題回答簡(jiǎn)明準(zhǔn)確。在規(guī)定的時(shí)間內(nèi)作完報(bào)告。
總 分
綜
合
意
見(jiàn)
指導(dǎo)教師 年 月 日
課 程 設(shè) 計(jì)
課程設(shè)計(jì)名稱: 圖書(shū)信息管理系統(tǒng)
專 業(yè) 班 級(jí): 網(wǎng)絡(luò)系統(tǒng)管理1401班
學(xué) 生 姓 名 : 趙聘卿
學(xué) 號(hào) : 201430910124
指 導(dǎo) 教 師 : 王雪濤
課程設(shè)計(jì)時(shí)間: 2014-2015-2
網(wǎng)絡(luò)系統(tǒng)管理 專業(yè)課程設(shè)計(jì)任務(wù)書(shū)
學(xué)生姓名
趙聘卿
專業(yè)班級(jí)
網(wǎng)管1401
學(xué)號(hào)
201430910124
題 目
圖書(shū)信息管理系統(tǒng)
課題性質(zhì)
其它
課題來(lái)源
自擬
指導(dǎo)教師
王雪濤
同組姓名
主要內(nèi)容
1、了解圖書(shū)信息管理系統(tǒng)的基本原理及用途。
2、了解圖書(shū)信息管理的直接操作法,內(nèi)存法及指針?lè)ǖ母髯蕴攸c(diǎn),并掌握指針?lè)ǖ膱D像處理編程
3、掌握?qǐng)D書(shū)信息管理系統(tǒng)的基礎(chǔ)處理的C#編程技術(shù)
任務(wù)要求
1、通過(guò)書(shū)本查詢和運(yùn)用Internet,收集和調(diào)查有關(guān)資料、完善信息。
2、綜合運(yùn)用和融化所學(xué)理論知識(shí),提高分析和解決實(shí)際問(wèn)題的能力,采用Visual Studio + SQL Server服務(wù)平臺(tái),C+語(yǔ)言編程來(lái)書(shū)寫(xiě)和完善圖書(shū)信息;
3、完成需求分析報(bào)告,報(bào)告中對(duì)關(guān)鍵部分給出圖表說(shuō)明。要求格式規(guī)范,工作量飽滿。
參考文獻(xiàn)
1、《Web程序設(shè)計(jì)—ASP.NET 網(wǎng)站開(kāi)發(fā)》 陳作聰 王永皎 程鳳娟 清華大學(xué)出版社
2、《C#語(yǔ)言程序設(shè)計(jì)教程》(第二版) 劉甫迎 劉光會(huì) 王蓉 電子工業(yè)出版社
審查意見(jiàn)
指導(dǎo)教師簽字:
教研室主任簽字: 年 月 日
說(shuō)明:本表由指導(dǎo)教師填寫(xiě),由教研室主任審核后下達(dá)給選題學(xué)生,裝訂在設(shè)計(jì)(論文)首頁(yè)
圖書(shū)信息管理系統(tǒng)
一 需求分析
圖書(shū)館管理系統(tǒng)需要滿足來(lái)自三方面的需求:圖書(shū)借閱者、圖書(shū)館工作人員和圖書(shū)館管理人員。
其中幾個(gè)重要的功能包括系統(tǒng)登錄模塊,書(shū)庫(kù)信息管理,讀者信息管理,管理員賬號(hào)信息管理,等功能模塊。
登錄模塊是系統(tǒng)的首頁(yè)面是對(duì)用戶登錄模塊進(jìn)行管理的功能模塊,用戶輸入帳號(hào)和密碼選擇用戶角色登錄成功后根據(jù)角色的不同分別進(jìn)入不同的管理模塊。
讀者管理模塊包括添加讀者信息,修改讀者信息等功能模塊。
修改登錄密碼提供了一個(gè)登錄成功的用戶可以修改自己的密碼防止密碼的泄漏,登錄用戶首先要輸入系統(tǒng)原來(lái)的密碼,然后輸入新的密碼點(diǎn)擊修改密碼確認(rèn)后就修改了原來(lái)的密碼,下次登錄使用新的密碼進(jìn)行登錄。
用戶信息管理是對(duì)登錄帳號(hào)信息進(jìn)行管理的功能模塊,用戶信息包括登錄帳號(hào),登錄密碼,系統(tǒng)用戶包括系統(tǒng)管理員和圖書(shū)管理員2個(gè)用戶角色分別對(duì)不同的功能模塊進(jìn)行操作。
二 程序流程圖
圖書(shū)信息管理系統(tǒng)
1整體框架圖
系統(tǒng)管理
讀者管理
書(shū)庫(kù)管理
讀者查看
賬號(hào)管理
數(shù)據(jù)庫(kù)管理
管理讀者信息
添加讀者信息
添加圖書(shū)信息
查詢圖書(shū)信息
查詢信息
修改信息
編號(hào)
2數(shù)據(jù)庫(kù)E-R框架圖
管理員信息
登錄賬號(hào)
登錄密碼
登錄
登錄
圖書(shū)名稱
郵箱
登陸賬號(hào)號(hào)
圖書(shū)信息
用戶信息
借閱次數(shù)
圖書(shū)類(lèi)別
登錄密碼
電話
出版處
價(jià)格
證件號(hào)碼
編號(hào)
作者
性別
編號(hào)
3 運(yùn)行環(huán)境
硬件:CPU, 內(nèi)存, 主板, 硬盤(pán), 顯卡, 鍵盤(pán), 顯示器等等。
操作系統(tǒng):Windows XP
數(shù)據(jù)庫(kù)系統(tǒng):SQL Server 2005
4 開(kāi)發(fā)工具和編程語(yǔ)言
開(kāi)發(fā)平臺(tái): Visual Studio 2010
開(kāi)發(fā)工具: Visual Studio .NET
編程語(yǔ)言: C#
5 數(shù)據(jù)庫(kù)設(shè)計(jì)
(1)用戶信息表
表1用戶信息表(users)
(2)讀者信息表
表2讀者信息表(reader)
(3)圖書(shū)類(lèi)型信息表
表3圖書(shū)類(lèi)型信息表(bookType)
(4)圖書(shū)信息表
表4圖書(shū)信息表(books)
(5) 借閱歸還信息表
表5借閱歸還信息表(bookBorrow)
6 asp.net設(shè)計(jì)
(1) 數(shù)據(jù)庫(kù)的連接
數(shù)據(jù)庫(kù)連接我們采用比較流行的WEB.CONFIG文件進(jìn)行配置數(shù)據(jù)庫(kù)的連接,這樣可以實(shí)現(xiàn)配置一次就可以在整個(gè)程序中使用這個(gè)數(shù)據(jù)庫(kù)連接。
2)登錄模塊詳細(xì)設(shè)計(jì)
登錄模塊是系統(tǒng)的首頁(yè)面是對(duì)用戶登錄模塊進(jìn)行管理的功能模塊,用戶輸入帳號(hào)和密碼選擇用戶角色登錄成功后根據(jù)角色的不同分別進(jìn)入不同的管理模塊。
圖三系統(tǒng)登錄的運(yùn)行效果圖:
管理員登陸關(guān)鍵代碼如下:
protected void Image1_ServerClick(object sender, ImageClickEventArgs e)
{
string sqlstr;
sqlstr = "select * from users where userName='" + this.Text1.Value.Trim() + "'";
SqlConnection scon = new SqlConnection(SqlHelper.connstring);
scon.Open();
SqlDataAdapter myDataAdapter = new SqlDataAdapter(sqlstr, scon);
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet, "users");
if (myDataSet.Tables[0].Rows.Count > 0)
{
string strPwd = myDataSet.Tables[0].Rows[0]["userPwd"].ToString();
string UserName = myDataSet.Tables[0].Rows[0]["userName"].ToString();
string PowerName = myDataSet.Tables[0].Rows[0]["PowerName"].ToString();
string UserId = myDataSet.Tables[0].Rows[0]["userId"].ToString();
scon.Close();
if (strPwd != Password1.Value.Trim())
{
Alert.AlertAndRedirect("密碼錯(cuò)誤", "Login.aspx");
}
else
{
Session["Sysuser"] = UserName;
Session["PowerName"] = PowerName;
Session["UserId"] = UserId;
Session["userName"] = UserName;
Response.Redirect("main.aspx?Name=" + UserName + "&Power=" + PowerName);
}
}
else
{
Alert.AlertAndRedirect("賬號(hào)或密碼錯(cuò)誤", "Login.aspx");
scon.Close();
}
}
3) 查詢圖書(shū)信息
查詢圖書(shū)信息用2個(gè)頁(yè)面實(shí)現(xiàn)查詢功能,首先輸入圖書(shū)查詢的條件,然后通過(guò)頁(yè)面?zhèn)髦蛋巡樵儣l件信息傳值到圖書(shū)信息顯示界面,然后在綁定數(shù)據(jù)庫(kù)信息顯示查詢的圖書(shū)信息。
圖四圖書(shū)查詢的運(yùn)行效果圖:
關(guān)鍵代碼如下:
public void bindBook()
{
string bookBarCode = Request.QueryString["bookBarCode"].ToString();
string bookName = Request.QueryString["bookName"].ToString();
string bookType = Request.QueryString["bookType"].ToString();
string sql = "select * from books where 1=1 ";
if (bookBarCode != "")
{
sql += " and bookBarCode like '%" + bookBarCode + "%' ";
}
if (bookName != "")
{
sql += " and bookName like '%" + bookName + "%' ";
}
if (bookType != "選擇類(lèi)別")
{
sql += " and bookType like '%" + bookType + "%' ";
}
if (dataOperate.getDataset(sql, "books").Tables[0].Rows.Count == 0)
{
Label1.Text = "沒(méi)有符合條件的記錄";
}
else
{
gvBookManage.DataSource = dataOperate.getDataset(sql, "books"); //獲取圖書(shū)信息數(shù)據(jù)源
gvBookManage.DataKeyNames = new string[] { "bookBarCode" }; //設(shè)置主鍵字段
gvBookManage.DataBind();
Label1.Text = "";
} }
4)添加圖書(shū)信息
添加圖書(shū)信息是圖書(shū)管理員對(duì)圖書(shū)信息進(jìn)行添加的功能模塊。基本的圖書(shū)信息包括圖書(shū)的編號(hào),圖書(shū)的名稱,圖書(shū)的出版社,圖書(shū)的價(jià)格等基本信息。
圖五
添加圖書(shū)的運(yùn)行效果圖:
關(guān)鍵代碼如下:
protected void btnSave_Click(object sender, EventArgs e)
{
string bookBarcode = txtBarCode.Text; //獲取圖書(shū)條形碼信息
string bookName = txtBookName.Text; //獲取圖書(shū)名稱信息
string bookType = ddlBookType.SelectedValue; //獲取圖書(shū)類(lèi)型信息
string bookcase = ddlBookcase.SelectedValue; //獲取書(shū)架信息
string author = txtAuthor.Text; //獲取圖書(shū)作者信息
string price = txtPrice.Text;
string ds = TextBox1.Text;
//獲取圖書(shū)價(jià)格信息
string sql = "";
//判斷當(dāng)前對(duì)圖書(shū)信息的操作
if (id == "add")
{
sql = "insert into books(bookBarCode,bookName,bookType,bookcase,author,price,ds,publishingId,publishingName,ZongNum,KeJieNum,RuKuTime) values('" + bookBarcode + "','" + bookName + "','" + bookType + "','" + bookcase + "','" +
author + "'," + price + ",'" + ds +
"','"+DropDownList1.SelectedValue+"','"+DropDownList1.SelectedItem.Text+"','"+TextBox2.Text+
"','"+TextBox3.Text+"','"+TextBox4.Text+"')";
}
Else
sql = "update books set bookName='" + bookName + "',bookType='" + bookType + "',bookcase='" + bookcase + "',author='" + author + "',price=" + price + " ,ds='" + ds + "',publishingId='" + DropDownList1.SelectedValue + "',publishingName='" + DropDownList1.SelectedItem.Text + "',ZongNum='" + TextBox2.Text + "',KeJieNum='" + TextBox3.Text + "',RuKuTime='"+TextBox4.Text+"' where bookBarcode='" + bookBarcode + "'";
if (dataOperate.execSQL(sql)) //判斷添加或修改是否成功
{
Response.Write("");
}
else
{
RegisterStartupScript("", "");
}
}
5)添加讀者信息
管理員可以在后臺(tái)添加讀者的信息,把讀者信息添加到數(shù)據(jù)庫(kù)中,讀者信息包括讀者的帳號(hào),密碼,讀者編號(hào),讀者的電話等信息。
圖六添加讀者的運(yùn)行效果圖:
關(guān)鍵代碼如下:
protected void btnSave_Click(object sender, EventArgs e)
{
string readerBarCode = txtReaderBarCode.Text;
string readerName = txtReaderName.Text;
string sex = "";
if (radbtnMan.Checked)
{
sex = "男";
}
else
{
sex = "女";
}
string certificateType = ddlCertificateType.SelectedItem.Text;
string certificate = txtCertificate.Text;
string tel = txtTel.Text;
string email = txtEmail.Text;
string remark = txtRemark.Text;
string sql = "";
if (barcode == "add")
{
sql = "insert into reader(readerBarCode,userName,sex,certificateType,certificate,tel,email,remark,userPwd,reade
rType)values('" + readerBarCode + "','" + readerName + "','" + sex + "','" + certificateType + "','" +
certificate + "','" + tel + "','" + email + "','" + remark + "','" + TextBox1.Text + "','" + ddlCertificateType.SelectedItem.Text + "')";
}
else
{
sql = "update reader set userName='" + readerName + "',sex='" + sex + "',certificateType='" + certificateType + "',certificate='" +
certificate + "',tel='" + tel + "',email='" + email + "',remark='" + remark + "' where readerBarCode='" + barcode + "'";
}
if (dataOperate.execSQL(sql))
{
RegisterStartupScript("", "");
}
else
RegisterStartupScript("", "");
}
6)帳號(hào)信息管理
系統(tǒng)管理員可以在后臺(tái)太添加使用系統(tǒng)的用戶信息就是對(duì)帳號(hào)的管理,帳號(hào)管理包括添加帳號(hào),修改帳號(hào),刪除帳號(hào)等功能。
圖七添加帳號(hào)的運(yùn)行效果圖:
關(guān)鍵代碼如下:
protected void btnAdd_Click(object sender, EventArgs e)
{
string userName = txtUserName.Text;
string pass = txtPass.Text;
if (id == "add")
{
string sql = "insert into users(userName,userPwd,PowerName)values('" + userName + "','" + pass + "','超級(jí)管理員')";
if (dataOperate.execSQL(sql))
{
RegisterStartupScript("", "");
}
else
{
////RegisterStartupScript("", "");
}
}
else
{
string sql = "update users set userName='" + userName + "',userPwd='" + pass + "' where userId=" + id;
if (dataOperate.execSQL(sql))
{
RegisterStartupScript("", "");
}
else
{
////RegisterStartupScript("", "");
}
}
7) 系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的增刪改查操作
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
///
/// dataOperate 的摘要說(shuō)明
///
public class dataOperate
{
static SqlConnection con;
public dataOperate()
{
//
// TODO: 在此處添加構(gòu)造函數(shù)邏輯
//
}
//執(zhí)行數(shù)據(jù)庫(kù)的添加刪除更新操作
public static bool execSQL(string sql)
{
SqlConnection con = createCon();
con.Open();
SqlCommand com = new SqlCommand(sql, con);
try
{
com.ExecuteNonQuery();
con.Close();
}
catch (Exception e)
{
con.Close();
return false;
}
return true;
}
//查找記錄是否存在
public static int seleSQL(string sql)
{
SqlConnection con = createCon();
con.Open();
SqlCommand com = new SqlCommand(sql, con);
try
{
return Convert.ToInt32(com.ExecuteScalar());
con.Close();
}
catch (Exception e)
{
con.Close();
return 0;
}
}
//返回所有記錄
public static DataSet getDataset(string sql, string table)
{
SqlConnection con = createCon();
con.Open();
DataSet ds;
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
ds = new DataSet();
sda.Fill(ds, table);
return ds;
}
//返回一條記錄
public static SqlDataReader getRow(string sql)
{
SqlConnection con = createCon();
con.Open();
SqlCommand com = new SqlCommand(sql, con);
return com.ExecuteReader();
}
public static SqlConnection createCon()
{
con = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString);
return con;
}
}
6 調(diào)試分析
(1)剛完成時(shí)有很多錯(cuò)誤和警告,運(yùn)行失敗,然后經(jīng)過(guò)修改錯(cuò)誤警告慢慢減少,最終可以運(yùn)行。
(2)在調(diào)試過(guò)程中對(duì)知識(shí)點(diǎn)的掌握不牢固,程序中可能還存在各種問(wèn)題,比如有的時(shí)候調(diào)試不出來(lái)結(jié)果,并且我在完成的過(guò)程中發(fā)現(xiàn)自己存在細(xì)節(jié)上的盲區(qū),有點(diǎn)粗心等,不注意細(xì)節(jié)。
(3)字母大小寫(xiě)忘記區(qū)分,控件的屬性功能不熟悉.
課程設(shè)計(jì)總結(jié)
在課程設(shè)計(jì)完成之際,我首先要感謝各位老師的悉心指導(dǎo),他們嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,一絲不茍的敬業(yè)精神給我留下了深刻的印象。感謝他們?cè)诎倜χ幸恢倍酱訇P(guān)心著我的課程設(shè)計(jì)。他們的博學(xué)、勤勉以及平和的為人,使我油然而生敬意。通過(guò)這兩個(gè)星期的課設(shè),使我對(duì)C#語(yǔ)言的有了更深入、更全面的了解,同時(shí)也發(fā)現(xiàn)自己的英文和函數(shù)基礎(chǔ)不是很好,對(duì)很多地方不是特別懂,甚至對(duì)有些概念都還很模糊,但通過(guò)這次課程設(shè)計(jì),使我對(duì)C#語(yǔ)言有了新的認(rèn)識(shí)。
再次感謝周老師給我這個(gè)機(jī)會(huì)加入到數(shù)字圖像處理項(xiàng)目中來(lái),使我能夠?qū)W習(xí)到許多圖像處理學(xué)科前沿的知識(shí),而且通過(guò)實(shí)際項(xiàng)目開(kāi)發(fā),積累了寶貴的實(shí)踐經(jīng)驗(yàn),提高了我用Visual C#編程的能力。
參考文獻(xiàn)
1、《Web程序設(shè)計(jì)—ASP.NET網(wǎng)站開(kāi)發(fā)》陳作聰 王永皎 程鳳娟 清華大學(xué)出版社
2、《網(wǎng)頁(yè)設(shè)計(jì)制作與上級(jí)指導(dǎo)》陳秋江 朱海東 第1版 清華大學(xué)出版社
3、《ASP.NET網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì)》高怡新 第2版 人民郵電出版社
4、《基于Web的編程技術(shù)》范樂(lè) 于強(qiáng) 第1版 鐵道電出版社
5、《ASP.NET Web編程實(shí)例教程》馬照亭 北京希望電子出版社
6、 肖金秀等.《ASP.NET網(wǎng)絡(luò)編程技術(shù)》肖金秀 清華大學(xué)出版社
19
軟件 學(xué)院課程設(shè)計(jì)成績(jī)?cè)u(píng)價(jià)表
課程名稱:ASP.NET網(wǎng)頁(yè)設(shè)計(jì)
設(shè)計(jì)題目:公司人事管理
專業(yè):計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)管理 班級(jí):1401 姓名:胡筱陽(yáng) 學(xué)號(hào):201430910126
序號(hào)
評(píng)審項(xiàng)目
分 數(shù)
滿分標(biāo)準(zhǔn)說(shuō)明
1
內(nèi) 容
思路清晰;語(yǔ)言表達(dá)準(zhǔn)確,概念清楚,論點(diǎn)正確;實(shí)驗(yàn)方法科學(xué),分析歸納合理;結(jié)論嚴(yán)謹(jǐn),設(shè)計(jì)有應(yīng)用價(jià)值。任務(wù)飽滿,做了大量的工作。
2
創(chuàng) 新
內(nèi)容新穎,題目能反映新技術(shù),對(duì)前人工作有改進(jìn)或突破,或有獨(dú)特見(jiàn)解
3
完整性、實(shí)用性
整體構(gòu)思合理,理論依據(jù)充分,設(shè)計(jì)完整,實(shí)用性強(qiáng)
4
數(shù)據(jù)準(zhǔn)確、可靠
數(shù)據(jù)準(zhǔn)確,公式推導(dǎo)正確
5
規(guī) 范 性
設(shè)計(jì)格式、繪圖、圖紙、實(shí)驗(yàn)數(shù)據(jù)、標(biāo)準(zhǔn)的運(yùn)用等符合有關(guān)標(biāo)準(zhǔn)和規(guī)定
6
紀(jì) 律 性
能很好的遵守各項(xiàng)紀(jì)律,設(shè)計(jì)過(guò)程認(rèn)真;
7
答 辯
準(zhǔn)備工作充分,回答問(wèn)題有理論依據(jù),基本概念清楚。主要問(wèn)題回答簡(jiǎn)明準(zhǔn)確。在規(guī)定的時(shí)間內(nèi)作完報(bào)告。
總 分
綜
合
意
見(jiàn)
指導(dǎo)教師 年 月 日
課 程 設(shè) 計(jì)
課程設(shè)計(jì)名稱: 公司人事管理系統(tǒng)
專 業(yè) 班 級(jí): 網(wǎng)絡(luò)系統(tǒng)管理1401班
學(xué) 生 姓 名 : 胡筱陽(yáng)
學(xué) 號(hào) : 201430910126
指 導(dǎo) 教 師 : 王雪濤
課程設(shè)計(jì)時(shí)間: 2014-2015第二學(xué)期
計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)管理 專業(yè)課程設(shè)計(jì)任務(wù)書(shū)
學(xué)生姓名
胡筱陽(yáng)
專業(yè)班級(jí)
網(wǎng)管1401
學(xué)號(hào)
201430910126
題 目
公司人事管理系統(tǒng)
課題性質(zhì)
E.其它
課題來(lái)源
D.老師
指導(dǎo)教師
王雪濤
同組姓名
蘇云鵬
主要內(nèi)容
此企業(yè)人事管理系統(tǒng)采用B/S結(jié)構(gòu)、基于ASP.NET的程序設(shè)計(jì),主要對(duì)企 業(yè)員工的信息以及人事相關(guān)的工作進(jìn)行管理,以方便企業(yè)建立一個(gè)全面強(qiáng)大的員工數(shù)據(jù)庫(kù)管理系統(tǒng)。它在Microsoft Visual Studio.NET 2010開(kāi)發(fā)環(huán)境下設(shè)計(jì)系統(tǒng)的前臺(tái)界面和使用C#語(yǔ)言編寫(xiě)后臺(tái)操作程序,完成數(shù)據(jù)的輸入、查詢、修改、存儲(chǔ)、添加、刪除的基本功能;并使用SQL Server 2005數(shù)據(jù)庫(kù)形成后臺(tái)數(shù)據(jù)庫(kù)的支持及數(shù)據(jù)存儲(chǔ)。本文詳細(xì)介紹了企業(yè)人事管理系統(tǒng)的功能需求,系統(tǒng)的概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)和具體實(shí)現(xiàn),并簡(jiǎn)要介紹了系統(tǒng)開(kāi)發(fā)所采用的過(guò)程及測(cè)試。
任務(wù)要求
本系統(tǒng)重點(diǎn)研究的問(wèn)題有以下幾點(diǎn):
①系統(tǒng)的功能需求
②系統(tǒng)的概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)和具體實(shí)現(xiàn)
③系統(tǒng)網(wǎng)站的前臺(tái)界面設(shè)計(jì)、后臺(tái)編程設(shè)計(jì)
④系統(tǒng)調(diào)試過(guò)程及安全測(cè)試
參考文獻(xiàn)
李敏波.C#高級(jí)編程[M].北京:清華大學(xué)出版社,2000?
周存杰.Visual.?C#.NET.網(wǎng)絡(luò)核心編程[M].北京:清華大學(xué)出版社,2002?
袁然,王誠(chéng)梅編著SQL?Server?2000中文版經(jīng)典實(shí)例教程[M].冶金工業(yè)出版社,2006.11?
鄭阿奇.SQL?Server?2000實(shí)用教程第二版川北京電子工業(yè)出2005?
崔森,陳明非.Visual?C#程序設(shè)計(jì)教程北京機(jī)械工業(yè)出版社,2007.1
審查意見(jiàn)
指導(dǎo)教師簽字:
教研室主任簽字: 年 月 日
說(shuō)明:本表由指導(dǎo)教師填寫(xiě),由教研室主任審核后下達(dá)給選題學(xué)生,裝訂在設(shè)計(jì)(論文)首頁(yè)
實(shí)驗(yàn)報(bào)告
一 需求分析
通過(guò)對(duì)人事系統(tǒng)的整個(gè)應(yīng)用情況作全面的、詳細(xì)的調(diào)查,確定人事管理的目標(biāo),收集支持系統(tǒng)總的設(shè)計(jì)目標(biāo)的基礎(chǔ)數(shù)據(jù)和對(duì)這些數(shù)據(jù)的要求,確定用戶的需求??紤]在用戶進(jìn)入系統(tǒng)時(shí)應(yīng)該做什么,進(jìn)入系統(tǒng)之后又應(yīng)該做什么,提供那些服務(wù)等。例如,對(duì)于人事信息服務(wù)子系統(tǒng),在用戶進(jìn)入時(shí)首先得調(diào)用相關(guān)數(shù)據(jù)庫(kù)表,找出員工的相關(guān)情況;進(jìn)入系統(tǒng)后,系統(tǒng)得提供員工信息的添加、修改、刪除功能。另外,針對(duì)本系統(tǒng)的特殊情況,同時(shí)也考慮系統(tǒng)的可移植性,在系統(tǒng)中增加了數(shù)據(jù)庫(kù)路徑的維護(hù)部分。最后,考慮到系統(tǒng)的安全性,還在系統(tǒng)中特別增加了加密界面的功能
二 程序流程圖
人事管理系統(tǒng)
1整體框架圖:
數(shù)據(jù)庫(kù)維護(hù)模塊
系統(tǒng)維護(hù)模塊
信息管理模塊
2具體功能框圖
登陸管理系統(tǒng)
是否登陸成功
是
否
添加管理人事信息
3 運(yùn)行環(huán)境
硬件:CPU, 內(nèi)存, 主板, 硬盤(pán), 顯卡, 鍵盤(pán), 顯示器等等。
軟件:Windows XP Visual Studio2013應(yīng)用軟件。
4 開(kāi)發(fā)工具和編程語(yǔ)言
開(kāi)發(fā)工具:Visual Studio 2013
編程語(yǔ)言:C# 語(yǔ)言
5 詳細(xì)設(shè)計(jì)
1) 登陸系統(tǒng)
using System; using System.Data;
using System.Configuration; using System.Collections; using System.Web;
using System.Web.Security; using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Net;// using System.IO;
public partial class Default8 : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
//TextBox1.Text = Request["STAFFNAME"]; //TextBox1.Text = Request["userid"]; }
private void UpLoadFile()// {
// string name1 = Request["STAFFNAME"].ToString(); //string id1 = Request["STAFFNAME"].ToString();
//string filename11 = name1.ToString().Trim() + ; //string filename11 = name1.ToString().Trim() if (FileUpload1.HasFile) {
if (FileUpload1.PostedFile != null) {
// string folder = "\\"+ Request["STAFFNAME"].ToString().Trim(); //string folder = "\\" + Request["STAFFNAME"].ToString().Trim(); //string banji = folder.Substring(0, 9);
string str;
// str = Server.MapPath(".") + "\\UploadFile\\" + "\\" + folder; str = Server.MapPath(".") + "\\UploadFile" + "\\"
this.FolderCreate(str);
HttpPostedFile hpf = this.FileUpload1.PostedFile; string FileSize =
2) 修改密碼
using System;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls; using
System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;
using
System.Data.SqlClient;
public partialclassDefault3 System.Web.UI.PageDatacondataconn =neDatacon(); protectedvoidPage_Loa
objectsender, EventArgs e)
{
} protectedvoidButton1_Clickobjectsender,EventArge)
{ qlConnection
con = dataconn.getcon(); con.Open();
//SqlCommand com = con.CreateCommand();
//com.CommandText = "select count(*) from examstu_info where stu_id='"
+TextBox1.Text.ToString().Trim() + "'"
//int count2 = Convert.ToInt32(com.ExecuteScalar()); //if (count2 > 0)
//{ stringQuerystr =select USERNAME,PASSWORD from T_USER where USERNAME='"extBox1.Text.ToString().Trim() + SqlCommandmyCommand =newSqlCommand(Querystr, con); SqlDataReadermyDataReader = myCommand.ExecuteReader();
myDataReader.Read(
//TextBox2.Text = myDataReader.GetValue(0).ToString();
TextBox3.Text = myDataReader.GetValue(0).ToString();
TextBox4.Text = myDataReader.GetValue(1).ToString();
con.Close()
protectedvoid
Button2_Click(object sender, EventArgse) { SqlConnectioncon = dataconn.getcon();
con.Open(); stringsqlname =
"update T_USER set PASSWORD=" +
"'" + TextBox4.Text +
"'" +"where
USERNAME="
+
"'" + TextBox3.Text + ;SqlCommandcmdname = newSqlCommand(sqlname, con); cmdname.ExecuteNonQuery(); con.Close(); } protected
void
Button3_Click(object
sender,
EventArgse)
{ protectedvoidButton1_Click1(objectsender, EventArgse)
{ SqlConnectioncon = dataconn.getcon(); con.Open(); //SqlCommand com = con.CreateCommand(); //com.CommandText = "select count(*) from examstu_info where stu_id='" +TextBox1.Text.ToString().Trim() + "'"
//int count2 = Convert.ToInt32(com.ExecuteScalar()); //if (count2 > 0)//
{ stringQuerystr = select USERNAME,PASSWORD from T_USER where USERNAME='"TextBox1.Text.ToString().Trim() + SqlCommand myCommand = newSqlCommand(Querystr, con); SqlDataReadermyDataReader = myCommand.ExecuteReader();
myDataReader.Read(); //TextBox2.Text = myDataReader.GetValue(0).ToString();
TextBox3.Text = myDataReader.GetValue(0).ToString();
TextBox4.Text = myDataReader.GetValue(1).ToString();
con.Close();
}
}
3驗(yàn)證碼
usinSystem;?
usingSystem.Data;?
usingSystem.Configuration;?
usingSystem.Collections;?
usingSystem.Web;?
usingSystem.Web.Security;?
usingSystem.Web.UI;?
usingSystem.Web.UI.WebControls;?
usingSystem.Web.UI.WebControls.WebParts;?
usingSystem.Web.UI.HtmlControls;?
usingSystem.Drawing;?
usingSystem.Drawing.Design;?
usingSystem.Drawing.Drawing2D;?
usingSystem.Drawing.Printing;?
usingSystem.Drawing.Imaging;?
Using System.IO;?
public partial class CreateCheckCode : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
CreateCheckCodeImage(GenCode(4)); } /**/
///
///
///
///
private string GenCode(int num) {
string[] source ={ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
string code = ""; Random rd = new Random(); int i;
for (i = 0; i < num; i++) {
code += source[rd.Next(0, source.Length)];
//code += str.Substring(rd.Next(0, str.Length), 1); }
return code; } /**/
///
///
///
private void CreateCheckCodeImage(string checkCode) {
if (checkCode.Trim() == "" || checkCode == null) return;
Session["Code"] = checkCode;
System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)(checkCode.Length * 15), 22);
Graphics g = Graphics.FromImage(image); try
{
Random random = newRand g.Clear(Color.White); int
i; for
(i = 0; i < 30; i++)
{ int x1 = random.Next(image.Width);
intx2 = random.Next(image.Width); int
y1 = random.Next(image.Height);
inty2 = random.Next(image.Height);
g.DrawLine(newPen
Color.Gainsboro), x1, y1, x2, y2);
Fontfont = new
System.Drawing.
Fon
"Arial"12,
(System.Drawing.
FontStyle.Bold)); System.Drawing.Drawing2D.LinearGradientBrush
brush =
new
System.Drawing.Drawing2D.
LinearGradientBrush
(new
Rectangle
(0, 0, image.Width, image.Height),
Color
.MidnightBlue,
Color
.Green, 1.2F,
g.DrawString(checkCode, font, brush, 2, 2);
g.DrawRectanglenew
PenColor
.YellowGreen), 0, 0, image.Width - 1, image.Height - System.IO.MemoryStream ms = newSystem.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/Gif" Response.BinaryWrite(ms.ToArray());
} catch
{
g.Dispose(); image.Dispose(); }
}
}
6 調(diào)試分析
(1)剛編譯完后有很多錯(cuò)誤和警告,運(yùn)行失敗,然后經(jīng)過(guò)修改錯(cuò)誤警告慢慢減少,最終可以運(yùn)行。
(2)程序綁定數(shù)據(jù)庫(kù)有很多問(wèn)題。
(3)該程序中可能還存在一些小問(wèn)題,比如有的時(shí)候調(diào)試不出來(lái)銳化的按鈕,并且我在編譯的過(guò)程中發(fā)現(xiàn)自己存在細(xì)節(jié)上的盲區(qū),有點(diǎn)粗心等,不注意細(xì)節(jié),其實(shí)自己也知道細(xì)節(jié)決定成敗,以后我會(huì)注意。
7測(cè)試結(jié)果
運(yùn)行
登陸成功 修改信息
8 課程設(shè)計(jì)總結(jié)
在課程設(shè)計(jì)完成之際,我首先要感謝各位老師的悉心指導(dǎo),他們嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,一絲不茍的敬業(yè)精神給我留下了深刻的印象。感謝他們?cè)诎倜χ幸恢倍酱訇P(guān)心著我的課程設(shè)計(jì)。他們的博學(xué)、勤勉以及平和的為人,使我油然而生敬意。通過(guò)這兩個(gè)星期的課設(shè),使我對(duì)C#語(yǔ)言的有了更深入、更全面的了解,同時(shí)也發(fā)現(xiàn)自己的英文和函數(shù)基礎(chǔ)不是很好,對(duì)很多地方不是特別懂,甚至對(duì)有些概念都還很模糊,但通過(guò)這次課程設(shè)計(jì),使我對(duì)C#語(yǔ)言有了新的認(rèn)識(shí)。
參考文獻(xiàn)
李敏波.C#高級(jí)編程[M].北京:清華大學(xué)出版社,2000?
周存杰.Visual.?C#.NET.網(wǎng)絡(luò)核心編程[M].北京:清華大學(xué)出版社,2002?
袁然,王誠(chéng)梅編著SQL?Server?2000中文版經(jīng)典實(shí)例教程[M].冶金工社,
2006.11?鄭阿奇.SQL?Server?2000實(shí)用教程第二版川北京電子工業(yè)2005?
崔森,陳明非.Visual?C#程序設(shè)計(jì)教程北京機(jī)械工業(yè)出版社,2007.1
18