公司人事管理系統(tǒng),公司,人事管理系統(tǒng)
課 程 設 計
課程設計名稱: 公司人事管理系統(tǒng)
專 業(yè) 班 級: 網(wǎng)絡系統(tǒng)管理1401班
學 生 姓 名 : 胡筱陽
學 號 : 201430910126
指 導 教 師 : 王雪濤
課程設計時間: 2014-2015第二學期
計算機網(wǎng)絡系統(tǒng)管理 專業(yè)課程設計任務書
學生姓名
胡筱陽
專業(yè)班級
網(wǎng)管1401
學號
201430910126
題 目
公司人事管理系統(tǒng)
課題性質
E.其它
課題來源
D.老師
指導教師
王雪濤
同組姓名
蘇云鵬
主要內容
此企業(yè)人事管理系統(tǒng)采用B/S結構、基于ASP.NET的程序設計,主要對企 業(yè)員工的信息以及人事相關的工作進行管理,以方便企業(yè)建立一個全面強大的員工數(shù)據(jù)庫管理系統(tǒng)。它在Microsoft Visual Studio.NET 2010開發(fā)環(huán)境下設計系統(tǒng)的前臺界面和使用C#語言編寫后臺操作程序,完成數(shù)據(jù)的輸入、查詢、修改、存儲、添加、刪除的基本功能;并使用SQL Server 2005數(shù)據(jù)庫形成后臺數(shù)據(jù)庫的支持及數(shù)據(jù)存儲。本文詳細介紹了企業(yè)人事管理系統(tǒng)的功能需求,系統(tǒng)的概要設計、詳細設計和具體實現(xiàn),并簡要介紹了系統(tǒng)開發(fā)所采用的過程及測試。
任務要求
本系統(tǒng)重點研究的問題有以下幾點:
①系統(tǒng)的功能需求
②系統(tǒng)的概要設計、詳細設計和具體實現(xiàn)
③系統(tǒng)網(wǎng)站的前臺界面設計、后臺編程設計
④系統(tǒng)調試過程及安全測試
參考文獻
李敏波.C#高級編程[M].北京:清華大學出版社,2000?
周存杰.Visual.?C#.NET.網(wǎng)絡核心編程[M].北京:清華大學出版社,2002?
袁然,王誠梅編著SQL?Server?2000中文版經(jīng)典實例教程[M].冶金工業(yè)出版社,2006.11?
鄭阿奇.SQL?Server?2000實用教程第二版川北京電子工業(yè)出2005?
崔森,陳明非.Visual?C#程序設計教程北京機械工業(yè)出版社,2007.1
審查意見
指導教師簽字:
教研室主任簽字: 年 月 日
說明:本表由指導教師填寫,由教研室主任審核后下達給選題學生,裝訂在設計(論文)首頁
實驗報告
一 需求分析
通過對人事系統(tǒng)的整個應用情況作全面的、詳細的調查,確定人事管理的目標,收集支持系統(tǒng)總的設計目標的基礎數(shù)據(jù)和對這些數(shù)據(jù)的要求,確定用戶的需求。考慮在用戶進入系統(tǒng)時應該做什么,進入系統(tǒng)之后又應該做什么,提供那些服務等。例如,對于人事信息服務子系統(tǒng),在用戶進入時首先得調用相關數(shù)據(jù)庫表,找出員工的相關情況;進入系統(tǒng)后,系統(tǒng)得提供員工信息的添加、修改、刪除功能。另外,針對本系統(tǒng)的特殊情況,同時也考慮系統(tǒng)的可移植性,在系統(tǒng)中增加了數(shù)據(jù)庫路徑的維護部分。最后,考慮到系統(tǒng)的安全性,還在系統(tǒng)中特別增加了加密界面的功能
二 程序流程圖
人事管理系統(tǒng)
1整體框架圖:
數(shù)據(jù)庫維護模塊
系統(tǒng)維護模塊
信息管理模塊
2具體功能框圖
登陸管理系統(tǒng)
是否登陸成功
是
否
添加管理人事信息
3 運行環(huán)境
硬件:CPU, 內存, 主板, 硬盤, 顯卡, 鍵盤, 顯示器等等。
軟件:Windows XP Visual Studio2013應用軟件。
4 開發(fā)工具和編程語言
開發(fā)工具:Visual Studio 2013
編程語言:C# 語言
5 詳細設計
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驗證碼
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 調試分析
(1)剛編譯完后有很多錯誤和警告,運行失敗,然后經(jīng)過修改錯誤警告慢慢減少,最終可以運行。
(2)程序綁定數(shù)據(jù)庫有很多問題。
(3)該程序中可能還存在一些小問題,比如有的時候調試不出來銳化的按鈕,并且我在編譯的過程中發(fā)現(xiàn)自己存在細節(jié)上的盲區(qū),有點粗心等,不注意細節(jié),其實自己也知道細節(jié)決定成敗,以后我會注意。
7測試結果
運行
登陸成功 修改信息
8 課程設計總結
在課程設計完成之際,我首先要感謝各位老師的悉心指導,他們嚴謹?shù)闹螌W態(tài)度,一絲不茍的敬業(yè)精神給我留下了深刻的印象。感謝他們在百忙之中一直督促關心著我的課程設計。他們的博學、勤勉以及平和的為人,使我油然而生敬意。通過這兩個星期的課設,使我對C#語言的有了更深入、更全面的了解,同時也發(fā)現(xiàn)自己的英文和函數(shù)基礎不是很好,對很多地方不是特別懂,甚至對有些概念都還很模糊,但通過這次課程設計,使我對C#語言有了新的認識。
參考文獻
李敏波.C#高級編程[M].北京:清華大學出版社,2000?
周存杰.Visual.?C#.NET.網(wǎng)絡核心編程[M].北京:清華大學出版社,2002?
袁然,王誠梅編著SQL?Server?2000中文版經(jīng)典實例教程[M].冶金工社,
2006.11?鄭阿奇.SQL?Server?2000實用教程第二版川北京電子工業(yè)2005?
崔森,陳明非.Visual?C#程序設計教程北京機械工業(yè)出版社,2007.1
18