C#学生信息管理系统课程设计.docx
《C#学生信息管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《C#学生信息管理系统课程设计.docx(31页珍藏版)》请在冰点文库上搜索。
C#学生信息管理系统课程设计
荆楚理工学院
课程设计成果
学院:
计算机工程学院班级:
计算机科学与技术一班
学生姓名:
李校颉学号:
*************
设计地点(单位)B5-103
设计题目:
基于C#的学生信息管理系统的实现
完成日期:
年月日
指导教师评语:
______________________________________________________________________________________________________________________________________________________________________________________________________________________________
成绩(五级记分制):
_________________
教师签名:
_________________________
摘要
本文描述的是基于Windows环境的学生管理系统,主要功能模块包括学生信息的添加、修改、查找、删除。
主要工具MicrosoftVisualStudio2010设计窗体,SQLserver2008建立数据库,实现学生信息管理的基本功能。
本篇报告介绍一个学生信息管理系统的从分析到设计最后到实现的全过程,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。
涉及到雪上信息管理的基本功能在本报告中都有描述。
Abstract
DescribedinthispaperisbasedontheWindowsenvironmentmanagementsystemforstudents,themainfunctionmodulesincludestudentinformationtoadd,modify,delete,search.ThemaintoolofMicrosoftVisualStudio2010SQLServer2008designform,database,informationmanagementstudentstoachievethebasicfunction.
Thisreportdescribesastudentinformationmanagementsystemfromanalysistodesigntothefinalrealizationoftheentireprocess,givesthestudentinformationmanagementsystemdesignandrealizationprocess,especiallyinthedetailsofanalysisfunctionandthefunctionoftherealizationofideas.Relatetothesnowonthebasicfunctionsofinformationmanagementinthisreportaredescribed.
关键词数据库,添加,修改,查找,删除
第一章概述
1.1设计目的
本课程设计的目的是使学生能熟练掌握简单的Window窗体应用程序的设计和ADD.net的应用,希望通过本次的锻炼学生实用c#语言解决实际问题的能力。
1.2开发工具的选择
本系统后台数据库采用MicrosoftSQLServer数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大、效率高;前台采用Microsoft公司的VisualStudio2008作为主要的开发工具,可与SQLServer2008数据库无缝连接。
1.3开发环境
系统开发平台:
MicrosoftVisualStudio2008
系统开发语言:
C#
数据库管理软件:
SQLServer2005
1.4本报告的主要内容
本报告详细的介绍了学生的信息管理的开发过程,主要设计到的工作如下:
系统的需求分析、系统的总设计、系统的概念设计、系统各模块的详细设计、系统运行与测试。
第二章需求分析
2.1系统需求简介
2.1.1
(1)根据查询条件实现学生信息的查询
(2)学生信息的添加、删除、修改
(3)对基本信息完成的增加、删除、修改时,需要注意表与表之间的关联
2.1.2功能需求的分析
本系统的功能需求分析如下:
学生信息查询:
学生可以根据学号、姓名进行查询
学生信息管理:
主要是用于学生信息更改、插入、删除
学生成绩录入:
用于学生成绩管理,录入学生成绩,也可以更新
2.1.3性能需求分析
(1)登录、用户界面需求:
简洁、易懂、易用、有好的用户界面
(2)安全保密需求:
只有凭借用户名和密码登录系统,才能进行信息的管理。
第三章总体设计
3.1设计概述
根据需求把整体系统分化成不同的模块,每个模块完成一个特性的子功能。
把着些模块结合起来组成一个整体。
逐一实现各种功能。
3.2系统总体结构及功能模块划分
经过对系统的需求分析,学生信息管理系统主要划分为三部分:
学生信息查询,学生信息管理,学生成绩录入三个功能模块。
如图3.2.1
图3.2.1系统的总体结构
3.2.1学生成绩查询模块
学生信息查询:
学生可以根据学号、姓名、专业进行查询。
如图3.2.2学生信息查询模块结构
图3.2.2学生信息管理模块结构
3.2.2学生信息管理模块
学生信息管理:
主要是用于学生信息更新、插入、删除,如图3.2.3学生管理模块结构
图3.2.3学生信息管理模块结构
3.3系统数据库概念结构设计
根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及他们之间的关系,为后面的逻辑结构设计打下基础。
3.3.1系统E-R图
系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。
如图3.3.1系统E-R图结构
图3.3.1系统E-R图结构
3.4.1用户登录安全性
系统设计了登陆界面,每个合法用户有用户名及密码,只有当用户输入正确的用户名及密码组合后才能够对学生信息进行操作。
第四章详细设计
4.1概述
详细设计阶段的根本目标是确定应该怎么样具有的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某个程序设计语言写的程序。
4.2系统程序流程图
程序流程图又称为程序框架图,它是历史悠久使用最广泛的描述软件的方法。
它可将整个程序的总体流程清楚明白的显示出来。
如图4.2.1系统总流程图结构。
图4.2.1系统总体流程图
4.3系统主要功能模块简介
4.3.1系统登录
用户凭借用户名及密码登录,成功登录后可以对学生信息进行操作。
用户界面如图4.3.1用户登录界面所示。
图4.3.1用户登陆界面
4.3.2学生信息添加模块
学生信息添加:
在程序主界面(图4.3.2程序主界面)通过信息录入项进入信息添加模块。
通过此模块,学生可以向数据库中添加学号、姓名、生日及选择性别。
(如图4.3.3所示)。
图4.3.2程序主界面
图4.3.3信息添加界面
4.3.3学生信息删除模块
学生信息删除:
信息删除模块如图4.3.4,可以通过删除模块进行学号或姓名进行信息的删除。
图4.3.4信息删除界面
4.3.4学生信息查找模块
学生信息查找:
信息查找模块如图4.3.5,可以通过查找模块进行学号或姓名的查找。
图4.3.5信息查找界面
4.3.5学生信息修改模块
学生信息修改:
信息修改如图4.3.6,可以通过修改模块进行信息的修改。
图4.3.6信息修改界面
第五章程序设计总结
在编程期间,不遇到点困哪似乎是不可能的,正是这些困难,我们才能会收到成功的喜悦,我们才能乐此不疲的进行下去。
这是我对此次编程的最大感悟。
下面来看看编写的艰辛历程:
在刚开始的阶段,我经常因为单词的拼错出现这样或那样的错误在数次的错误后我吸取教训在后来的编程中几乎不出现了这种错误。
剩下的错误就是引用或语法上的错误。
感到最深刻的是,窗体name后就不能随意更改了,更改后在编写的程序的程序中要相应的更新里面的内容。
当出现语法错误时我因经验的不足不足很难自己将其更改出来,但通过在网上查询几乎都能找到我想要的结果。
成功后留下的就是经验和成就感了,在经验和成就感的陪伴下我充满着信心、激情和执着。
期间还有很多老师和同学的帮助。
从中感受到了互动的优势和群众的力量。
第六章结束语
为期九周的课程设计结束了,在王老师辛勤代理及同学们的帮助下我逐渐的掌握了一些编程的基本知识!
毕竟我完成了教育部给我们规定的任务,期间,总有很多感触。
内心充满了感激之情,特别是我们的班主任王老师,在微机房里为我们一遍又一遍的从零点讲起细心教导,在我们编程过程中又一个一个的询问我们的掌握情况。
不论遇到什么问题,想想我们的老师,我们总会充满信心。
在老师的关怀下我成功了!
此时,言语已无法表达我对老师的感激了!
此时无声胜有声!
参考文献
[1]王山,萨师煊.高等教育出版社.数据库系统概论.
[2]王磊.实验教程.
[3]袁庆龙,候文义.Ni-P合金镀层组织形貌及显微硬度研究[J].太原理工大学学报,2001,32
(1):
51-53.
[4]刘国钧,王连成.图书馆史研究[M].北京:
高等教育出版社,1979:
15-18,31.
[5]孙品一.高校学报编辑工作现代化特征[C].中国高等学校自然科学学报研究会.科技编辑学论文集
(2).北京:
北京师范大学出版社,1998:
10-22.
[6]张和生.地质力学系统理论[D.太原:
太原理工大学,1998.
[7]冯西桥.核反应堆压力容器的LBB分析[R].北京:
清华大学核能技术设计研究院,1997.
[8]姜锡洲.一种温热外敷药制备方案[P].中国专利:
881056078,1983-08-12.
[9]GB/T16159—1996,汉语拼音正词法基本规则[S].北京:
中国标准出版社,1996.
[10]谢希德.创造学习的思路[N].人民日报,1998-12-25(10).
[11]王明亮.中国学术期刊标准化数据库系统工程的[EB/OL].
附录
程序代码
登陆程序代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingDataAccessLayer;
namespaceStudentMIS
{
publicpartialclassFormLogin:
Form
{
publicFormLogin()
{
InitializeComponent();
}
privatevoidbuttonok_Click(objectsender,EventArgse)
{
inttotal=newSQLHelper().login(textBoxusername.Text.Trim(),textBoxpassword.Text.Trim());
if(total>0)
{
FormMainmain=newFormMain();
main.Show();
this.Hide();
}
else
{
MessageBox.Show("用户名或密码错误","提示");
textBoxusername.Text="";
textBoxpassword.Text="";
textBoxusername.Focus();
}
}
privatevoidbuttoncancel_Click(objectsender,EventArgse)
{
textBoxusername.Text="";
textBoxpassword.Text="";
textBoxusername.Focus();
}
}
}
主函数程序代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingDataAccessLayer;
namespaceStudentMIS
{
publicpartialclassFormMain:
Form
{
publicFormMain()
{
InitializeComponent();
}
privatevoid信息录入ToolStripMenuItem_Click(objectsender,EventArgse)
{
FormAddStudentadd=newFormAddStudent();
add.ShowDialog();
if(add.DialogResult==DialogResult.OK)
{
bind();
}
}
BindingSourcebs=newBindingSource();
publicvoidbind()//刷新网格
{
bs.DataSource=newSQLHelper().CreateTable();
dataGridViewstudent.DataSource=bs;
}
privatevoidFormMain_Load(objectsender,EventArgse)
{
bind();
}
privatevoid信息删除ToolStripMenuItem_Click(objectsender,EventArgse)
{
FormDeleteStudentdelete=newFormDeleteStudent();
delete.ShowDialog();
if(delete.DialogResult==DialogResult.OK)
{
bind();
}
}
privatevoid查找信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
FormRearchStudentsearch=newFormRearchStudent();
search.ShowDialog();
if(search.DialogResult==DialogResult.OK)
{
bind();
}
}
privatevoid修改信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
FormUpdateStudentupdate=newFormUpdateStudent();
update.ShowDialog();
if(update.DialogResult==DialogResult.OK)
{
bind();
}
}
}
}
添加信息程序代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingDataAccessLayer;
usingSystem.Data.SqlClient;
namespaceStudentMIS
{
publicpartialclassFormAddStudent:
Form
{
publicFormAddStudent()
{
InitializeComponent();
}
privatevoidbuttonok_Click(objectsender,EventArgse)
{
stringsno=textBoxSno.Text.Trim();
stringsname=textBoxSname.Text.Trim();
stringsex=comboBoxsex.Text.Trim();
stringbirthday=textBoxbirthday.Text.Trim();
newStudentDAO().insert(sno,sname,sex,birthday);
this.DialogResult=DialogResult.OK;
MessageBox.Show("输入成功");
}
privatevoidbuttoncancel_Click(objectsender,EventArgse)
{
textBoxSno.Text="";
textBoxSname.Text="";
comboBoxsex.Text="男";
textBoxbirthday.Text="";
textBoxSno.Focus();
}
}
}
删除信息程序代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingDataAccessLayer;
namespaceStudentMIS
{
publicpartialclassFormDeleteStudent:
Form
{
publicFormDeleteStudent()
{
InitializeComponent();
}
privatevoidbuttonok_Click(objectsender,EventArgse)
{
newStudentDAO().deletebysno(textBoxsno.Text.Trim());
this.DialogResult=DialogResult.OK;
newStudentDAO().deletebyname(textBoxsname.Text.Trim());
MessageBox.Show("删除成功");
this.DialogResult=DialogResult.OK;
}
privatevoidbuttoncancel_Click(objectsender,EventArgse)
{
textBoxsno.Text="";
textBoxsname.Text="";
textBoxsno.Focus();
}
}
}
查找信息程序代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingDataAccessLayer;
namespaceStudentMIS
{
publicpartialclassFormRearchStudent:
Form
{
publicFormRearchStudent()
{
InitializeComponent();
}
BindingSourcebs=newBindingSource();
privatevoidbuttonsearchbysno_Click(objectsender,EventArgse)
{
bs.DataSource=newStudentDAO().searchbysno(textBoxsno.Text.Trim());
dataGridViewstudent.DataSource=bs;
}
privatevoidbuttonsearchbysname_Click(objectsender,EventArgse)
{
bs.DataSource=newStudentDAO().searchbysname(textBoxsname.Text.Trim());
dataGridViewstudent.DataSource=bs;
}
}
}
修改信息程序代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingDataAccessLayer;
namespaceStudentMIS
{
publicpartialclassFormUpdateStudent:
Form
{
publicFormUpdateStudent()
{
InitializeComponent();
}
BindingSourcebs=newBindingSource();
privatevoidbuttonsearch_Click(objectsender,EventArgse)
{
bs.DataSource=newStudentDAO().searchbysno(textBoxSno.Text.Trim());