1、 通过进入各个大学的学生信息管理系统的深入了解,界面分析、询问,还有各种书籍上的介绍,再加上我作为一名学生自身对学生信息管理系统的了解等对整体课程设计的进行了详细的分析。 2.3 数据字典 用户的需求具体体现在各种信息的查询、修改、删除,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。针对一般学生信息管理系统的需求,能过对学生学习过程的内容和数据流程分析,设计如下所示的数据项和数据结构:学生信息管理:通过这一模块,可以实现学生基本情况的添加、修改、删除,数据项包括学生学号、学生姓名、性别、年龄、所在系。
2、学生信息查询:通过这一模块,使用查询条件学号,姓名,性别可以查询各个学生的情况,数据项包括学生学号、学生姓名、性别、年龄、所在系。学生成绩管理:通过这一模块,可以实现学生成绩情况的添加、修改、删除,数据项包括学号、课程号、成绩 。通过这一模块,使用学号查询条件,可以实现学生成绩情况的查询,数据项包括学号、课程号、成绩 。学生课程管理:通过这一模块,可以实现学生课程的添加、修改、删除,数据项包括课程号、课程名、先行课、学分。学生奖学金管理:通过这一模块,可以实现已获奖学金信息的添加、修改、删除,数据项包括学号、姓名、已获奖学金。管理员选项:通过这一模块,可以实现对学生信息管理系统管理人员的添加,
3、数据项包括用户名和 密码。三、数据库的概念设计 首先设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。该设计规划出的实体有:学生实体、课程实体。四、数据库的逻辑设计现在需要将上面的数据库概念结构转化为SQL Server 2005数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,开成数据库中的表格以及各个表格之间的关系。学生信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。1.学生基本信息表student 学生基本信息表student列名数据类型可
4、否为空说明snoVARCHAR(50)NOT NULL学号(主键)snameNULL姓名ssex性别sage年龄sdept所在系2.课程基本信息表course课程基本信息表coursecno课程号(主键)cname课程名cpno先行课ccredit课程学分3学生成绩信息表sc学生成绩信息表scgrade成绩4管理员信息表stu_user管理员信息表stu_userusername用户名(主键)passwd密码5学生奖学金信息表stujc管理员信息表stujc NULLsjc奖学金五、系统完成的主要功能系统功能分析是在系统开发的总体任务的基础上完成的。本设计中学生信息管理系统需要完成的功能主要有
5、:有关学生学籍信息的基本操作,包括查询所在班级进行学生基本信息操作(查询、修改、删除)、查询某个学生的学生基本信息操作等。有关学生课程信息的基本操作,包括查询所在班级进行学生所选课程信息操作(查询、修改、删除)、查询某个学生所学课程的基本操作等。有关学生成绩信息的基本操作,包括查询所在班级进行学生所选课程成绩操作(查询、修改、删除)、查询某个学生所学课程成绩的基本操作等。对各项功能进行集中、分块,按照结构化程序设计的要求,系统功能模块图如下:六、实现的主要技术手段和方法一、创建数据库文件.mdf1开始菜单打开Microsoft Visual Stdio2010新建项目选择windows窗体应用
6、程序右键项目名添加新建项选择数据基于服务的数据库2数据库连接方法SqlConnection myConnection = new SqlConnection(Data Source=.SQLEXPRESS;AttachDBFilename=|DataDirectory|stu_managesystem.mdf;Integrated Security=True;User Instance=True);二、学生信息处理1学生信息的管理功能,此部分实现了对学生基本信息添加修改删除操作。关键代码如下namespace stu_managesystem public partial class stu_
7、inf : Form public stu_inf() InitializeComponent(); SqlConnection myConnection; SqlCommand sqlCommand; private void stu_inf_Load(object sender, EventArgs e) / myConnection = new SqlConnection(); myConnection = new SqlConnection( sqlCommand = new SqlCommand(); sqlCommand.Connection = myConnection; sql
8、Command.CommandType = CommandType.Text; sqlCommand.CommandText = select * from student; myConnection.Open(); SqlDataReader dreader = sqlCommand.ExecuteReader(CommandBehavior.CloseConnection); while (dreader.Read() ListViewItem newItem = listView1.Items.Add(dreadersno.ToString().Trim(); newItem.SubIt
9、ems.Add(dreadersnamessexsagesdept dreader.Close(); private void listView1_SelectedIndexChanged(object sender, EventArgs e) if (listView1.SelectedItems.Count 0) textBox1.Text = listView1.SelectedItems0.Text; textBox2.Text = listView1.SelectedItems0.SubItems1.Text; textBox3.Text = listView1.SelectedIt
10、ems0.SubItems2.Text; textBox4.Text = listView1.SelectedItems0.SubItems3.Text; textBox5.Text = listView1.SelectedItems0.SubItems4.Text; private void button1_Click(object sender, EventArgs e) if (button1.Text = 添加) button1.Text = 保存 textBox1.Text = textBox2.Text = textBox3.Text = textBox4.Text = textB
11、ox5.Text = textBox1.Focus(); textBox1.ReadOnly = false; textBox2.ReadOnly = false; textBox3.ReadOnly = false; textBox4.ReadOnly = false; textBox5.ReadOnly = false; button2.Enabled = false; button3.Enabled = false; elseinsert into student values( + textBox1.Text + , + textBox2.Text + + textBox3.Text
12、+ + textBox4.Text + + textBox5.Text + ) int cmdresults = sqlCommand.ExecuteNonQuery(); myConnection.Close(); if (cmdresults = 1) textBox1.ReadOnly = true; textBox2.ReadOnly = true; textBox3.ReadOnly = true; textBox4.ReadOnly = true; textBox5.ReadOnly = true; button2.Enabled = true; button3.Enabled =
13、 true; ListViewItem newItem = listView1.Items.Add(textBox1.Text); newItem.SubItems.Add(textBox2.Text); newItem.SubItems.Add(textBox3.Text); newItem.SubItems.Add(textBox4.Text); newItem.SubItems.Add(textBox5.Text); MessageBox.Show(插入数据成功插入数据失败 void TextBox1TextChanged(object sender, EventArgs e)2学生信息
14、查询功能,此部分实现了对学生信息的查询功能。 public partial class stu_ser : public stu_ser() private SqlDataAdapter sqlDataAdapter; private DataSet dsScore; private void stu_ser_Load(object sender, EventArgs e) / SqlConnection myConnection = new SqlConnection(); SqlConnection myConnection = new SqlConnection( SqlCommand
15、sqlCommand = new SqlCommand(); sqlDataAdapter = new SqlDataAdapter(); sqlDataAdapter.SelectCommand = sqlCommand; SqlCommandBuilder builder = new SqlCommandBuilder(sqlDataAdapter); dsScore = new DataSet(); sqlDataAdapter.Fill(dsScore, student this.BindingContextdsScore, .PositionChanged += new EventH
16、andler(BindingManagerBase_PositionChanged); dataGridView1.DataSource = dsScore; dataGridView1.DataMember = ShowPosition(); /setState(true); private void ShowPosition() int iCnt, iPos; iCnt = this.BindingContextdsScore, .Count; iPos = this.BindingContextdsScore, .Position + 1; private void BindingMan
17、agerBase_PositionChanged(object sender, EventArgs e) if (textBox1.Text = MessageBox.Show(学号不能为空 string a = textBox1.Text;select * from student where sno= + a + 3学生成绩管理,此部分实现了对学生基本成绩添加、修改、删除操作。关键代码与学生信息管理相似4学生成绩查询,此部分实现了对学生成绩的查询操作。关键代码与学生信息查询相似5.学生课程管理,此部分实现了对学生课程信息的添加、修改、删除操作。6.学生奖学金管理,此部分实现了对学生已获奖学
18、金信息的添加、修改、删除操作。 关键代码与学生信息管理相似 7.管理员添加,此部分实现了对管理人员添加操作。 public partial class add_user : public add_user()用户名不能为空 if (textBox2.Text = 密码不为空 string b = textBox2.Text; DB_CZ u = new DB_CZ(); string sql = insert into stu_user values( + b + u.ExcSql(sql);添加成功 private void add_user_Load(object sender, Even
19、tArgs e)8.关闭,此部分实现了对软件的关闭退出功能 private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e) this.Close();七、结论这次的课程设计可以说是为毕业设计做的一个预演,真的做起来困难重重,深刻体会到做一个软件,里面需要的很多知识我们没有接触过,去图书馆找书的时候发现,我们学的仅仅是皮毛,还有很多东西需要我们去发掘,就算是借一本书看完它,我们还是会发现还有很多知识没有吃透,这需要我们不断的实践,不断地自学习,不断地发现问题去思考问题。从需求分析阶段不断地搜索资料,想充分了解自己所做的课题在客
20、户或者公司中的需求,由于软件工程这门课学的不深,画数据流图等等软件设计流程做起来很生疏,翻阅课本,和软件工程课老师上课的讲解,总算整了一个像样点的需求分析,经过不断地测试,不断地改进,其中还是发下了不少问题,第一次做这些工作,没有任何经验,甚至无从下手,还是很谢谢老师和同学的帮忙,从中也学到了一些代码的写法,为什么要这样写,通过和同学的讨论,找到一些书本上没有的方法,如何数据绑定等等,怎样从数据库中将数据提取出来放到一个文本框或者标签内,这些东西是组成界面的东西,虽然小,但是可以体现整个软件的水平,其实并不需要建多少数据库的表,写多少复杂的存储过程,是不是用了数据库函数,触发器等等,但是至少要弄明白这些东西如果操作,清晰思路才能将功能分清晰。经过一段时间的学习与实践,学生信息理系统基本上开发好了。人如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标,大学毕业出去即是面临找工作,从学习这个专业,到以后做这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1