图书信息管理系统
系别:计算机科学与技术 班级:计11-3班 姓名: 学号:
总成绩: 评语:
指导教师签字: 日期:
目录
一 课题主要内容介绍................................................. 1
1.1课题概述 .................................................... 1 1.2 课题设计背景与意义.......................................... 2 1.3运行环境说明 ................................................ 2 二 系统设计......................................................... 2
2.1 需求分析.................................................... 2 2.2 系统设计思想与原则.......................................... 2 2.3 业务流程.................................................... 3 2.4 数据流程图.................................................. 5
2.4.1 数据E-R 图............................................ 5 2.4.2 数据流程图............................................ 6 2.5 系统流程图.................................................. 6 2.6系统功能模块划分 ............................................ 7
2.6.1管理员功能 ............................................ 7 2.6.2用户功能 .............................................. 7 2.7 数据库设计.................................................. 8
2.7.1 数据库逻辑结构设计.................................... 8 2.7.2 数据库详细设计........................................ 9
三 系统实现........................................................ 12
3.1 主要模块实现及说明......................................... 12
3.1.1 主程序流程图......................................... 12 3.1.2 主要模块代码......................................... 12 3.2 运行中遇到的问题........................................... 29 四 系统测试与结果.................................................. 29
4.1系统测试的目的和意义 ....................................... 29 4.2 系统测试................................................... 30
4.2.1 读者身份............................................. 30 4.2.2 管理员身份........................................... 38 4.3 系统测试结果分析........................................... 44 五 课题收获与总结.................................................. 45
5.1 课程设计心得............................................... 45
一 课题主要内容介绍
1.1课题概述
设计一个以数据库为中心的图书馆信息管理系统 ● 系统维护
权限设置
角色设定(角色分读者、图书馆业务人员、系统管理员);
● 图书信息维护:
图书数据录入 图书信息修改 图书信息删除
● 读者信息维护
读者数据录入 读者信息修改 读者信息删除
● 查询图书
按照条形码查找图书 按照书名查找图书 按照类别查找图书 按照作者查找图书 按照书架查找图书
● 借书
如果借书证能借书并且图书馆有这本书,则能借;
● 还书
如果没有超期,则能还;
● 异常处理
无图书证或图书证异常不能借阅 无书不能借阅 图书超期罚款 图书超期未还提醒
● 统计
读者借书排名 图书借出排名 还书超期排名 需要图形统计;
1.2 课题设计背景与意义
图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高
1.3运行环境说明
语言:
C#语言 操作系统:
Microsoft Visual Studio 2010 数据库:
SQL Server 2008R2
二 系统设计
2.1 需求分析
1) 必须学生和教师才能借书,可以归还图书,如果超期要显示罚款,缴纳罚款处理后,才允许继续借书。
2) 所有用户都可以在网页上搜索图书(可按多种条件搜索,如作者,出版社,书名),显示在网页上的图书要有详细信息(书的信息,是否在馆,在哪个借阅处)。
3) 管理员可以添加图书,修改图书,删除图书等。还可以添加用户,修改,删除用户信息。还可以查看所有人员的信息 。可以查看读者借书排名,图书借出排名,还书超期排名。
2.2 系统设计思想与原则
∙ 本系统要达到的目标有如下几点: 1)书入库操作要简单方便; 2)读者能查询图书借阅状态; 3)读者自助续借图书的功能 ; 4)读者账号管理挂失功能 ; ∙ 开发本系统的可行性
由于本系统可使学校图书馆工作发生“简捷化、快速化、自动化”的改革,加之如今的社会各行各业都在走信息化管理的道路,可见开发本系统的重要性。在得到学校大力支持的前提下,本系统的开发在经济上得到了可靠的保证。开发人员由我校信息专业的同学组成,所以开发人员安全免费,这无疑给系统开发带来了更大的简便。
2.3 业务流程
顶层图:
图2-1 登录系统业务流程图
1 借书
图2-2 借书业务流程图
2还书
图2-3还书业务流程图
3 图书信息维护
图2-4 图书信息维护业务流程图
4读者信息维护
图2-5 读者信息维护业务流程图
2.4 数据流程图
2.4.1 数据E-R 图
图2-6 数据E-R 图
2.4.2 数据流程图
顶层数据流程图
图2-7 数据流程图
2.5 系统流程图
图2-8系统流程图
2.6系统功能模块划分
2.6.1管理员功能
图2-9 管理员功能模块划分
2.6.2用户功能
图2-10用户功能模块划分
2.7 数据库设计
2.7.1 数据库逻辑结构设计
图书模型设计
图2-11 图书模型设计
借还书模型设计
图2-12 借还书模型设计
读者模型设计
图2-13 读者模型设计
2.7.2 数据库详细设计
1 读者表
2-14 读者数据库表
图2-15读者表的设计
2 图书表
图2-16图书表
图2-17 图书表设计
3 管理员表
图2-18 管理员表
图2-19 管理员表设计
4 借还书
图2-20 借还书表
图2-21 借还书表设计
三 系统实现
3.1 主要模块实现及说明
3.1.1 主程序流程图
、
图3-1 主程序流程图
3.1.2 主要模块代码
1 登录界面
图3-2 登录主界面
登录主界面代码:
int j = comboBox1.SelectedIndex;
string shenfen = comboBox1.Items[j].ToString(); userid = textBox1.Text;//内容赋值,将textBox 输入的内容赋值到变量中 string pwd = textBox2.Text; textBox1.Clear();
textBox2.Clear();
string connString = "Data Source= . ;Initial Catalog=TSGL; User ID=sa; pwd=sa";// 创建 Connection 对象
SqlConnection connection = new SqlConnection(connString);// 打开数据库连接
connection.Open(); int count=0;
if (shenfen == "教师")//通过身份判断在不同表中寻找数值 {
string str_sql1 = "select count(*) from Teacher where UserName='" + userid + "' and PassWord='" + pwd + "'";//SQL语句 SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = str_sql1;
count = Convert.ToInt32(command.ExecuteScalar()); }
else if (shenfen == "学生") {
string str_sql1 = "select count(*) from Student where UserName='" + userid + "' and PassWord='" + pwd + "'";
SqlCommand command = new SqlCommand(); command.Connection = connection;
command.CommandText = str_sql1; count = Convert.ToInt32(command.ExecuteScalar()); } else
if (shenfen == "管理员") {
string str_sql1 = "select count(*) from Worker where UserName='" + userid + "' and PassWord='" + pwd + "' and Status='" + shenfen + "'";
SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = str_sql1;
count = Convert.ToInt32(command.ExecuteScalar()); }
f2 = this;
if (count > 0 && shenfen == "教师" ) {
f2.Hide();
Form1 f1 = new Form1(shenfen,userid); f1.Show(); }
else if (count > 0 && shenfen == "管理员") {
f2.Hide();
Form1 f1 = new Form1(shenfen,userid); f1.Show(); }
else if (count > 0 && shenfen == "学生") {
f2.Hide();
Form1 f1 = new Form1(shenfen,userid); f1.Show(); }
else {
MessageBox.Show("用户名或密码错误");
//comboBox1.Items.Clear();// combobox清空只有此操作一种与textbox.clear 效果不一致。他的作用是删除combobox 编辑项中的所有项 }
简要说明:输入用户名和密码,选择要登录的身份。如果用户名或者密码出错,则会弹出错误提示,并会清空之前填写的信息;如果身份选择与用户名不符合,也将弹出提示错误。
2 主界面
图3-3 管理系统主要界面
管理系统界面代码:
Private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) {
string dt = System.DateTime.Now.ToString(); label8.Text = dt;
string connString = "Data Source= . ;Initial Catalog=TSGL; User ID=sa; pwd=sa";// 创建 Connection 对象
SqlConnection connection = new SqlConnection(connString); // 打开数据库连接
connection.Open();
label9.Text = str1; //将身份登录自动显示 string name=""; //将身份名字自动显示 if (str1 == "管理员") {
string str_sql1 = "select * from Worker"; SqlCommand command = new SqlCommand(str_sql1,connection);
command.Connection = connection; command.CommandText = str_sql1;
SqlDataReader reader = command.ExecuteReader(); while(reader.Read()) {
if(reader["UserName"].ToString()==str2) name = reader["Name"].ToString(); label7.Text = name; }
// count = Convert.ToInt32(command.ExecuteScalar()); }
else if (str1 == "教师") {
string str_sql1 = "select * from Teacher"; SqlCommand command = new SqlCommand(str_sql1, connection);
command.Connection = connection; command.CommandText = str_sql1;
SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) {
if (reader["UserName"].ToString() == str2) name = reader["Name"].ToString(); label7.Text = name; } }
else if (str1 == "学生")
{
string str_sql1 = "select * from Student"; SqlCommand command = new SqlCommand(str_sql1, connection);
command.Connection = connection; command.CommandText = str_sql1;
SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) {
if (reader["UserName"].ToString() == str2) name = reader["Name"].ToString(); label7.Text = name; } }
connection.Close(); }
//当点击借书按钮则跳转借书页面
private void 借书ToolStripMenuItem_Click(object sender, EventArgs e) {
if (str1 == "游客")//通过身份判断是否能访问界面 {
MessageBox.Show("对不起,您没有操作权限"); }
else if (str1 == "管理员" || str1 == "操作人员") {
MessageBox.Show("对不起,您所在的权限无法执行此操作"); } else {
lendbook us1 = new lendbook(str1, str2); panel1.Controls.Clear(); panel1.Controls.Add(us1);
us1.Show(); } }
private void 图书信息ToolStripMenuItem_Click(object sender, EventArgs e) {
searchbook us4 = new searchbook(); panel1.Controls.Clear(); panel1.Controls.Add(us4); us4.Show(); }
//当点击不同按钮,则跳转不同功能页面
private void 借阅历史ToolStripMenuItem_Click(object sender, EventArgs e) {
lendhistory us6 = new lendhistory(str1, str2); panel1.Controls.Clear(); panel1.Controls.Add(us6); us6.Show(); }
private void 罚款历史ToolStripMenuItem_Click(object sender, EventArgs e) {
fakuanhistory us7 = new fakuanhistory(str1, str2); panel1.Controls.Clear(); panel1.Controls.Add(us7); us7.Show();
}
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) {
if (str1 == "教师" || str1 == "学生" || str1 == "游客")
MessageBox.Show("对不起,您没有操作权限");
else
{
deletebook us20 = new deletebook();
panel1.Controls.Clear();
panel1.Controls.Add(us20);
us20.Show();
}
}
private void 人员信息删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (str1 == "教师" || str1 == "学生" || str1 == "操作人员" || str1 == "游客")
{
MessageBox.Show("对不起,您没有操作权限");
}
else
{
UserControl16 us16 = new UserControl16();
panel1.Controls.Clear();
panel1.Controls.Add(us16);
us16.Show();
}
}
简要说明:单击不同按钮,则会弹出相应功能的界面,并可以进行相应的操作。右边则会有登录人的身份,姓名,日期的提示。还有可以注销系统,回到登录界面。
3 借书系统
private void button2_Click(object sender, EventArgs e)
{
Bookid = this.textBox3.Text;//内容赋值,将textBox 输入的内容赋值到变量中
string BorrowYear = this.textBox7.Text;
string BorrowMonth = this.textBox8.Text;
string BorrowDay = this.textBox9.Text;
string ReturnYear = this.textBox5.Text;
string ReturnMonth = this.textBox11.Text;
string ReturnDay = this.textBox10.Text;
string connString = "Data Source= . ;Initial Catalog=TSGL; User ID=sa; pwd=sa";
// 创建 Connection 对象
SqlConnection connection = new SqlConnection(connString); // 打开数据库连接
connection.Open();
int count = 0;
if (str1 == "学生")
{
count = 0;
string str_sql1 = "select count(*) from Student where ID ='" + textBox1.Text + "'and authority = '可借' ";
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandText = str_sql1;
count= Convert.ToInt32(command.ExecuteScalar()); if (count != 0)
{
//将输入数据写入数据库
string str_sql = "insert into BorrowBook values ('" + textBox1.Text + "' , '" + Bookid + "', '" + BorrowYear + "', '" + BorrowMonth + "', '" + BorrowDay + "', '" + ReturnYear + "', '" + ReturnMonth + "', '" + ReturnDay + "',0)";
SqlCommand cmd = new SqlCommand(str_sql,
connection); //用于执行SQL 语句
cmd.ExecuteNonQuery();
connection.Close();
string connString1 = "Data Source= . ;Initial Catalog=TSGL; User ID=sa; pwd=sa";
// 创建 Connection 对象
SqlConnection connection1 = new
SqlConnection(connString1);
// 打开数据库连接
connection1.Open();
string sql1 = "select BookName,BookWriter,BookBorn from Book where BookId in(select Bookid from BorrowBook where
BorrowBook.ID='" + textBox1.Text + "' and BorrowBook.OkReturn !='已还')";
cmd = new SqlCommand(sql1, connection1); //用于执行SQL 语句
cmd.ExecuteNonQuery();
DataSet ds1 = new DataSet();
SqlDataAdapter da1 = new SqlDataAdapter(sql1, connection1);
da1.Fill(ds1);
dataGridView1.DataSource = ds1.Tables[0];
string sql2 = "update Book set BookRentNum
=BookRentNum+1 , BookCount = BookCount-1 where Book.BookId ='" + textBox3.Text + "'";
cmd = new SqlCommand(sql2, connection1); //用于执行SQL 语句
cmd.ExecuteNonQuery();
string sql3 = "update Student set BorrowNum =BorrowNum+1 where Student.ID ='" + textBox1.Text + "'";
cmd = new SqlCommand(sql3, connection1); //用于执行SQL 语句
cmd.ExecuteNonQuery();
connection1.Close();
}
else
{
MessageBox.Show("对不起,您的帐号已被冻结,请及时缴纳罚款解冻");
}
}
简要说明:直接显示读者的相关资料,然后填写想要借阅的图书的编号,及归还日期。双击按钮之后,在右侧则会显示借阅的状态。如果出现所借图书没有库存,则弹出提示;如果读者超期还书,则提醒帐号已被冻结。
4 添加删除信息
图3-4 人员信息删除界面
删除代码:
private void button1_Click_1(object sender, EventArgs e)
{
string connString = "Data Source= . ;Initial Catalog=TSGL; User ID=sa; pwd=sa";
// 创建 Connection 对象
SqlConnection connection = new SqlConnection(connString); // 打开数据库连接
connection.Open();
//将输入数据写入数据库
string str_sql = "insert into Worker values ('" +
textBox1.Text + "' , '" + textBox3.Text + "', '" + textBox7.Text + "', '" + textBox4.Text + "', '" + textBox5.Text + "', '" + textBox2.Text + "', '" + textBox6.Text+ "')";
SqlCommand cmd = new SqlCommand(str_sql, connection); //用于执行SQL 语句
cmd.ExecuteNonQuery();
MessageBox.Show("管理员添加成功!");
connection.Close();
}
//删除不想要的信息
private void button1_Click_1(object sender, EventArgs e)
{
int j = comboBox1.SelectedIndex;
string shenfen = comboBox1.Items[j].ToString();
if (shenfen =="学生" )
{
string connString = "Data Source= . ;Initial
Catalog=TSGL; User ID=sa; pwd=sa";// 创建 Connection 对象
SqlConnection connection = new
SqlConnection(connString);
// 打开数据库连接
connection.Open();//将输入数据写入数据库
string str_sql = "delete from Student where ID ='" + textBox1.Text + "'";
SqlCommand cmd = new SqlCommand(str_sql, connection); //用于执行SQL 语句
cmd.ExecuteNonQuery();
MessageBox.Show("学生删除成功!");
connection.Close();
}
else if(shenfen == "教师")
{
string connString = "Data Source= . ;Initial
Catalog=TSGL; User ID=sa; pwd=sa";// 创建 Connection 对象
SqlConnection connection = new
SqlConnection(connString);
// 打开数据库连接
connection.Open();//将输入数据写入数据库
string str_sql = "delete from Teacher where ID ='" + textBox1.Text + "'";
SqlCommand cmd = new SqlCommand(str_sql, connection); //用于执行SQL 语句
cmd.ExecuteNonQuery();
MessageBox.Show("教师删除成功!");
connection.Close();
}
else if(shenfen =="工作人员")
{
string connString = "Data Source= . ;Initial
Catalog=TSGL; User ID=sa; pwd=sa";
// 创建 Connection 对象
SqlConnection connection = new
SqlConnection(connString);
// 打开数据库连接
connection.Open();
//将输入数据写入数据库
string str_sql = "delete from Worker where ID ='" + textBox1.Text + "'";
SqlCommand cmd = new SqlCommand(str_sql, connection); //用于执行SQL 语句
cmd.ExecuteNonQuery();
MessageBox.Show("管理员删除成功!");
connection.Close();
}
}
5 查询图书信息
图3-5 图书信息检索界面
检索代码:
public partial class searchbook : UserControl
{
public searchbook()
{
InitializeComponent();
string connString = "Data Source= . ;Initial Catalog=TSGL; User ID=sa; pwd=sa";
// 创建 Connection 对象
SqlConnection connection = new SqlConnection(connString); // 打开数据库连接
connection.Open();
//显示图书信息
string sql1 = "select
BookID,BookType,BookWriter,BookName,BookBorn,BookCount,BookRentNum from Book where BookCount>0";
SqlDataAdapter da1 = new SqlDataAdapter(sql1, connection); DataSet ds1 = new DataSet();
da1.Fill(ds1);
dataGridView1.DataSource = ds1.Tables[0];
}
private void button1_Click(object sender, EventArgs e) {
textBox1.Clear();
}
private void button2_Click(object sender, EventArgs e) {
//int i = comboBox1.SelectedIndex;
//int j = comboBox1.SelectedIndex;
//string BookType = comboBox1.Items[i].ToString(); //string BookBorn = comboBox2.Items[j].ToString();
string connString = "Data Source= . ;Initial Catalog=TSGL; User ID=sa; pwd=sa";
// 创建 Connection 对象
SqlConnection connection = new SqlConnection(connString); // 打开数据库连接
connection.Open();
string sql1 = "select
BookId,BookType,BookName,BookWriter,BookBorn,BookCount,BookRentNum from Book where BookType = '" + textBox1.Text + "' or BookName='" + textBox1.Text + "' or BookBorn='" + textBox1.Text + "'";
SqlDataAdapter da1 = new SqlDataAdapter(sql1, connection); DataSet ds1 = new DataSet();
da1.Fill(ds1);
dataGridView1.DataSource = ds1.Tables[0];
connection.Close();
}
6 修改图书信息
图3-6 修改图书信息界面
修改图书信息代码:
public partial class xiugaibook : UserControl
{
public xiugaibook()
{
InitializeComponent();
string connString = "Data Source= . ;Initial Catalog=TSGL; User ID=sa; pwd=sa";
// 创建 Connection 对象
SqlConnection connection = new SqlConnection(connString); // 打开数据库连接
connection.Open();
//显示图书信息
string sql1 = "select
BookID,BookType,BookWriter,BookName,BookBorn,BookCount,BookRent,BookR entNum from Book";
SqlDataAdapter da1 = new SqlDataAdapter(sql1, connection); DataSet ds1 = new DataSet();
da1.Fill(ds1);
dataGridView1.DataSource = ds1.Tables[0];
}
private void button1_Click(object sender, EventArgs e) {
string connString = "Data Source= . ;Initial Catalog=TSGL; User ID=sa; pwd=sa";
// 创建 Connection 对象
SqlConnection connection = new SqlConnection(connString); // 打开数据库连接
connection.Open();
//将输入数据写入数据库
string ID = textBox5.Text;
string Type = textBox2.Text;
string Name = textBox1.Text;
string Writer = textBox3.Text;
string Born = textBox4.Text;
string Count = textBox6.Text;
string Rent = textBox8.Text;
string RentNum = textBox7.Text;
string str_sql = "update Book set BookType='" + Type +
"',BookName='" + Name + "',BookWriter='" + Writer + "',BookBorn='" + Born + "',BookCount='" + Count + "',BookRent='" + Rent + "',BookRentNum='" + RentNum + "' where BookId ='" + ID + "' ";
SqlCommand cmd = new SqlCommand(str_sql, connection); //用于执行SQL 语句
cmd.ExecuteNonQuery();
MessageBox.Show("图书修改成功!");
//显示图书信息
string sql1 = "select
BookID,BookType,BookWriter,BookName,BookBorn,BookCount,BookRent,BookR entNum from Book";
SqlDataAdapter da1 = new SqlDataAdapter(sql1, connection); DataSet ds1 = new DataSet();
da1.Fill(ds1);
dataGridView1.DataSource = ds1.Tables[0];
connection.Close();
}
}
3.2 运行中遇到的问题
问题1:在运行过程中,发现界面上的数据显示不完整。
解决方法:想要显示数据库中的表的信息,就要在后台代码中正确的编写数据库相连的代码,并且,查询语句也要正确。经过参考之前的经验,发现在一开始数据库连接出现错误,查询语句编写也有问题,经过改正,就能正确的显示想要的数据。
问题2:主界面显示各个功能,跳转出现错误。
解决方法:在添加控件menustrip 后,后台编写代码时,在panel 属性中编写时,如;panel1.Controls.Clear();panel1.Controls.Add(us1);忽略了大小写问题,导致页面跳转出现错误。
问题3:在超期还书后时,该读者状态应为冻结,需要缴纳罚款后才能继续借书。但是出现没缴纳罚款也能借书。 解决方法:添加语句string str_sql1 = "select count(*) from Student where ID ='" + textBox1.Text + "'and authority = '可¨¦借¨¨' ";确保读者状态为可借才可以继续借书,否则弹出错误。
四 系统测试与结果
4.1系统测试的目的和意义
系统测试的目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。
4.2 系统测试
4.2.1 读者身份 系统运行,进入登录界面
图4-1 登录界面
输入用户名和密码,并且选择身份后确认登录
图4-2 输入用户名和密码
当密码输入错误时,则提示
图4-3 出现错误提示
查阅图书信息
图4-4 图书信息预览
图4-5 借书功能界面
借书成功后右侧显示图书信息
图4-6 借书成功后界面
图4-7 还书界面
在规定日期内还书,则提示还书成功
图4-8 还书成功后界面
超期还书,则会提示借书权限冻结,要缴纳罚款
图4-9 超期还书提示
图4-10 缴费界面
缴纳罚款后,借书权限解冻,可以继续借书
图4-11 缴费成功后界面
查看借阅历史
图4-12 借阅历史界面
读者自己信息,可以修改密码
图4-13 读者信息界面
可以查看罚款历史
图4-14 罚款历史界面
学生想要查看所有人员信息,则会提示没有权限
图4-15 越权限界面
可以注销登录,并且在右边显示身份,当前日期
图4-16 主界面上方
4.2.2 管理员身份
管理员可以查询所有用户的信息
图4-17 所有读者信息界面
查询工作人员的所有信息
图4-18 所有工作人员信息界面
图书信息增加
图4-19 图书信息增加界面
图4-20 图书信息增加成功后界面
图书信息删除
图4-21 图书信息删除界面
图4-22 图书信息删除成功后界面
图书信息修改
图4-23 图书信息修改
图4-24 图书信息修改成功后界面
添加学生信息
图4-25 添加学生信息
添加工作人员信息
图4-26 添加工作人员信息
人员信息的删除
图4-27 学生信息删除
当身份选择与ID 编号不同时,则提示错误
图4-28 删除信息提示错误
图书借出排名
图4-29 图书借出排名
点击退出,则直接退出系统
图4-30 退出系统
4.3 系统测试结果分析
通过四组实际中的数据对本系统进行测试,证明本系统性能稳定,可靠性高,并通过反复测试,证明本系统有长期稳定性。根据测试,证明了本系统的功能、性能与项目需求分析相符,达到了设计要求,使功能实现与设计思想达到了一致。
五 课题收获与总结
5.1 课程设计心得
在本次课程设计中,使我更加扎实的掌握了有关数据库操作,与.net 编程方面的知识,从而设计出了小型企业人事信息管理系统。虽然在设计过程中遇到了许多问题,譬如在设计思想中使用三层架构的模式,但是最终通过思考和上网查阅相关资料使这些问题得到了解决,也暴露出了在前期上课学习过程中,有些知识掌握的并不牢固等问题,但是通过本次小学期的实践,使我对数据库与.net 的知识加深了理解,应用的也更熟练了一些。
通过本次课程设计,给了我很多专业知识以及专业技能上的提升,让我对抽象理论有了具体的认识。掌握了三层架构的设计思想,了解了.net 语言的编程方法,加深了对数据库操作方面的理解,并提高了我改善系统性能实现方面的能力,通过查询相关资料,也学会了很多编程过程中语句编写的问题和运行时错误的解决方法。
我认为,在本次小学期软件课程设计中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高,更重要的是,让我懂得了理论与实践相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正掌握,真正的有所提升。