版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z.计算机与软件工程学院数据库原理及应用课程设计报告课题名称:学生信息管理系统专业:计算机与科学技术班级::**:指导教师:2016年6月14号课程设计任务及进度表课题名称学生信息管理系统设计目的通过对管理系统的设计和开发,了解了数据库的设计与开发的全过程,到达稳固数据库理论知识、锻炼实践能力和构建合理知识构造的目的。实验环境操作系统:Windows7;数据库管理系统:SQLServer2008;编程环境:任务要求1.搜集学生信息管理问题方面的资料,进展需求分析;2.完成概念设计、逻辑设计等各阶段的设计;3.编写程序代码,系统调试;4.撰写课程设计报告;5.参加辩论。工作进度方案序号起止日期工作容1查询资料、选择课题2需求分析、总体设计3系统整体设计、编写程序代码、调试程序4撰写课程设计报告-.z.摘要该工程开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.目前社会上信息管理系统开展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的开展,商业化的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作学生信息管理系统是一个教育单位不可缺少的局部,它的内容对于学校的决策者和管理者来说都至关重要。本文介绍了学生信息管理系统的开发整个过程,阐述了系统分析、系统设计、数据库设计和系统实施的全过程。关键词信息管理,分析,设计,开发目录TOC\o"1-2"\h\z\u1引言12工程需求分析12.1方案的可行性分析12.2方案需求分析13工程概念设计13.1模块单元设计13.2ER图设计14工程逻辑构造设计14.1将概念模式转换成关系模式14.2子模式设计14.3数据库设计15编码实现15.1界面设计15.2数据库操作16工程测试结果1结论1致1参考文献1-.z.1引言学生信息管理系统已经成为了一个教育单位不可缺少的局部。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点。如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据。这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。作为计算机应用的一局部,使用计算机对学校的各类信息进展管理,具有手工管理所无法比较的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、本钱低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。2工程需求分析2.1方案的可行性分析2.1.1技术可行性本系统主要采用框架开发。是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。加上SQLSever的连接,完全可以满足本系统的开发需要,因此技术上是可行的的。2.1.2经济可行性本系统为自主开发,耗时1周,因其本身就是比较小的系统,功能简单,且使用的开发工具都是现有的。所以在经济上是可行的。2.2方案需求分析2.2.1功能需求学生管理系统的几个主要功能如下:(1)提供学生录入信息功能可以输入学生的姓名,**,选修课,实验课,必修课和总分。(2)查询学生信息功能根据学生**来查询学生信息。(3)删除学生信息功能提供**,查找是否有此人信息,然后选择删除学生信息。(4)插入学生信息功能输入学生**,插入该学生的**的后面2.2.2性能需求本软件系统各种特点决定了系统需要具有以下几个主要特性:(1)多样性。现在,计算机语言越来越普及,用户面临的选择越来越多。想要保证对用户的吸引力,就必须要在多样性上下功夫了。所以,系统的多样性、功能的多样性一直都是软件系统开发的重点。(2)平安性。数据是软件的灵魂,如何保证数据的平安性,是系统开发时必须考虑的一个重要问题。开发者应防止程序出现漏洞,防止黑客进展攻击,及时进展数据备份,建立一个完善的多层次的平安保障体系,保障系统的平安。(3)可扩展性。需求变更一直是开发中难以防止的问题。系统在进展设计时应充分考虑到需求变更的可能性,降低系统扩展功能时的复杂度。3工程概念设计3.1模块单元设计学生信息管理学生信息管理学生管理员选课操作信息查询学生管理课程管理成绩管理信息查询图3-1总概要设计3.1.1系统管理模块系统管理模块,进入系统后,可以选择退出系统:系统管理系统管理退出图3-2系统管理模块学生管理模块学生管理模块,包括学生信息添加,删除,修改。学生管理学生管理学生信息添加学生信息修改学生信息删除图3-3学生管理模块课程管理模块课程管理模块,包括课程信息添加,修改,删除。课程管理课程管理课程信息添加课程信息修改课程信息删除图3-4课程管理模块成绩管理模块成绩管理模块,包括成绩的添加,修改。成绩管理成绩管理成绩添加成绩修改图3-5成绩管理模块信息管理模块信息查询模块,包括学生查询,课程查询,成绩查询。信息查询信息查询学生信息查询课程信息查询学生成绩查询图3-6信息管理模块3.2ER图设计学生**学生**姓名性别家庭住址祖籍所在学院专业入学年份出生日期图3-7学生信息实体ER图课程信息实体ER图课课程课程号课程名任课教师课程类型上课地点上课时间图3-8课程信息实体ER图4工程逻辑构造设计4.1将概念模式转换成关系模式以下是学生管理信息系统的关系模型:(1)学生〔,班级,**,性别,,出生日期〕Student(name,class,student_ID,se*,telephone,dateofbirth)(2)班级课程〔课程名称,专业,学期,年级〕Class_course(course_name,major,school,grade)(3)班级〔班级名,教室,年制,备注〕Class(class_name,classroom,years,note)(4)成绩〔编号,分数,课程,考号,等级〕Score(number,score,course,e*am_number,grade)4.2子模式设计针对不同的应用需求,分别设计对应的子模式。(1)学生〔,班级,**,性别,,出生日期〕View_Student(name,class,student_ID,se*,telephone,dateofbirth)(2)班级课程〔课程名称,专业,学期,年级〕View_Class_course(course_name,major,school,grade)(3)班级〔班级名,教室,年制,备注〕View_Class(class_name,classroom,years,note)(4)成绩〔编号,分数,课程,考号,等级〕View_Score(number,score,course,e*am_number,grade)4.3数据库设计表设计图4-1管理员表图4-2课程表图4-3分数表图4-4学生表4.3.2数据库加载图4-5数据库加载5编码实现5.1界面设计5.1.1账户信息管理图5-1账户信息管理界面代码实现:namespaceStudent_MI{publicpartialclassFormAccount:Form{publicFormAccount(){InitializeComponent();}privatevoidFormAccount_Load(objectsender,EventArgse){if(UserHelper.userType!=UserType.Admin){for(inti=0;i<this.Controls.Count;i++){if(this.Controls[i].GetType().Equals(typeof(Button))){this.Controls[i].Enabled=false;}}}this.button3.Enabled=true;//this.adminTableAdapter.Fill(this.studentManagerDataSet4.Admin);stringsqltr="select*FromAdmin";SqlCommandcmd=DBHelper.con.CreateCommand();cmdmandTe*t=sqltr;cmdmandType=CommandType.Te*t;SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);this.dataGridView1.DataSource=ds.Tables[0];this.lbInfo.Te*t="登录人:"+UserHelper.user;}privatevoidbutton1_Click(objectsender,EventArgse){FormAddAccountfas=newFormAddAccount();if(fas.ShowDialog()==DialogResult.OK){stringsqltr="select*FromAdmin";SqlCommandcmd=DBHelper.con.CreateCommand();cmdmandTe*t=sqltr;cmdmandType=CommandType.Te*t;SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);//this.adminBindingSource.DataSource=ds.Tables[0];this.dataGridView1.DataSource=ds.Tables[0];intc=this.adminBindingSource.Count;this.dataGridView1.Refresh();}}privatevoidbutton2_Click(objectsender,EventArgse){this.adminTableAdapter.Update(this.studentManagerDataSet4.Admin);}privatevoidbutton4_Click(objectsender,EventArgse){try{if(this.dataGridView1.SelectedRows.Count>0){DataGridViewRowdrw=dataGridView1.SelectedRows[0];DataGridViewCellcell=drw.Cells["idDataGridViewTe*tBo*Column"];stringsql="DELETE[Admin]Where[id]="+cell.Value.ToString();newSqlHelper().E*ecuteNonQuery(sql,CommandType.Te*t);dataGridView1.Rows.Remove(drw);}MessageBo*.Show("删除数据成功!");}catch{}}privatevoidbutton3_Click(objectsender,EventArgse){FormAccountSearchfaa=newFormAccountSearch();faa.ShowDialog();}privatevoid关于ToolStripMenuItem_Click(objectsender,EventArgse){FormAboutfa=newFormAbout();fa.ShowDialog();}privatevoid退出*ToolStripMenuItem_Click(objectsender,EventArgse){this.Close();}}}5.1.2课程信息管理图5-2课程管理界面代码实现:namespaceStudent_MI{publicpartialclassFormCourse:Form{publicFormCourse(){InitializeComponent();}privatevoidFormCourse_Load(objectsender,EventArgse){if(UserHelper.userType!=UserType.Admin){for(inti=0;i<this.Controls.Count;i++){if(this.Controls[i].GetType().Equals(typeof(Button))){this.Controls[i].Enabled=false;}}}this.button3.Enabled=true;this.courseTableAdapter.Fill(this.studentManagerDataSet2.Course);this.lbInfo.Te*t="登录人:"+UserHelper.user;}privatevoidbutton2_Click(objectsender,EventArgse){this.courseTableAdapter.Update(this.studentManagerDataSet2.Course);}privatevoidbutton1_Click(objectsender,EventArgse){FormAddCoursefas=newFormAddCourse();if(fas.ShowDialog()==DialogResult.OK){//刷新stringsqltr="select*FromCourse";SqlCommandcmd=DBHelper.con.CreateCommand();cmdmandTe*t=sqltr;cmdmandType=CommandType.Te*t;SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);this.courseBindingSource.DataSource=ds.Tables[0];intc=this.courseBindingSource.Count;this.dataGridView1.Refresh();}}privatevoidbutton4_Click(objectsender,EventArgse){try{if(this.dataGridView1.SelectedRows.Count>0){DataGridViewRowdrw=dataGridView1.SelectedRows[0];DataGridViewCellcell=drw.Cells["cNumberDataGridViewTe*tBo*Column"];stringsql="DELETE[Course]Where[CNumber]="+cell.Value.ToString();newSqlHelper().E*ecuteNonQuery(sql,CommandType.Te*t);dataGridView1.Rows.Remove(drw);}MessageBo*.Show("删除数据成功!");}catch{}}privatevoidbutton3_Click(objectsender,EventArgse){FormCourseSearchfas=newFormCourseSearch();fas.ShowDialog();}privatevoid关于ToolStripMenuItem_Click(objectsender,EventArgse){FormAboutfa=newFormAbout();fa.ShowDialog();}privatevoid退出*ToolStripMenuItem_Click(objectsender,EventArgse){this.Close();}}}5.1.3成绩信息管理图5-3成绩管理界面代码实现:namespaceStudent_MI{publicpartialclassFormSource:Form{publicFormSource(){InitializeComponent();}privatevoidFormSource_Load(objectsender,EventArgse){if(UserHelper.userType==UserType.Student){for(inti=0;i<this.Controls.Count;i++){if(this.Controls[i].GetType().Equals(typeof(Button))){this.Controls[i].Enabled=false;}}}this.button4.Enabled=true;this.scoreTableAdapter.Fill(this.studentManagerDataSet3.Score);this.lbInfo.Te*t="登录人:"+UserHelper.user;}privatevoidbutton1_Click(objectsender,EventArgse){FormAddScorefas=newFormAddScore();if(fas.ShowDialog()==DialogResult.OK){//刷新stringsqltr="select*From[Score]";SqlCommandcmd=DBHelper.con.CreateCommand();cmdmandTe*t=sqltr;cmdmandType=CommandType.Te*t;SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);this.dataGridView1.DataSource=ds.Tables[0];intc=this.scoreBindingSource.Count;this.dataGridView1.Refresh();}}privatevoidbutton2_Click(objectsender,EventArgse){this.scoreTableAdapter.Update(this.studentManagerDataSet3.Score);}privatevoidtoolStrip1_ItemClicked(objectsender,ToolStripItemClickedEventArgse){}privatevoidbutton4_Click(objectsender,EventArgse){FormScoreManagefsm=newFormScoreManage();fsm.ShowDialog();}privatevoidbutton5_Click(objectsender,EventArgse){try{if(this.dataGridView1.SelectedRows.Count>0){DataGridViewRowdrw=dataGridView1.SelectedRows[0];DataGridViewCellcell=drw.Cells["idDataGridViewTe*tBo*Column"];stringsql="DELETE[Score]Where[id]="+cell.Value.ToString();newSqlHelper().E*ecuteNonQuery(sql,CommandType.Te*t);dataGridView1.Rows.Remove(drw);}MessageBo*.Show("删除数据成功!");}catch{}}privatevoid关于AToolStripMenuItem_Click(objectsender,EventArgse){FormAboutfa=newFormAbout();fa.ShowDialog();}privatevoid退出*ToolStripMenuItem_Click(objectsender,EventArgse){this.Close();}}}5.1.4学生信息管理图5-4学生信息界面代码实现:namespaceStudent_MI{publicpartialclassFormStudents:Form{publicFormStudents(){InitializeComponent();}privatevoidFormStudents_FormClosing(objectsender,FormClosingEventArgse){}privatevoidFormStudents_Load(objectsender,EventArgse){//UserHelper.userType=UserType.Student;if(UserHelper.userType!=UserType.Admin){for(inti=0;i<this.Controls.Count;i++){if(this.Controls[i].GetType().Equals(typeof(Button))){this.Controls[i].Enabled=false;}}}this.button5.Enabled=true;//TODO:这行代码将数据加载到表"〞中。您可以根据需要移动或移除它。this.studentTableAdapter1.Fill(this.studentManagerDataSet.Student);this.studentTableAdapter.Fill(this.studentManagerDataSet1.Student);this.lbInfo.Te*t="登录人:"+UserHelper.user;}privatevoidbutton1_Click(objectsender,EventArgse){FormAddStudentfas=newFormAddStudent();if(fas.ShowDialog()==DialogResult.OK){//刷新stringsqltr="select*FromStudent";SqlCommandcmd=DBHelper.con.CreateCommand();cmdmandTe*t=sqltr;cmdmandType=CommandType.Te*t;SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);this.studentBindingSource.DataSource=ds.Tables[0];intc=this.studentBindingSource.Count;this.dataGridView1.Refresh();}}privatevoidbutton4_Click(objectsender,EventArgse){this.studentTableAdapter.Update(this.studentManagerDataSet1.Student);}privatevoidbutton2_Click(objectsender,EventArgse){try{if(this.dataGridView1.SelectedRows.Count>0){DataGridViewRowdrw=dataGridView1.SelectedRows[0];DataGridViewCellcell=drw.Cells["sNumberDataGridViewTe*tBo*Column"];stringsql="DELETE[Student]Where[SNumber]="+cell.Value.ToString();newSqlHelper().E*ecuteNonQuery(sql,CommandType.Te*t);dataGridView1.Rows.Remove(drw);}MessageBo*.Show("删除数据成功!");}catch{}}privatevoidbutton5_Click(objectsender,EventArgse){FormStudentSearchfas=newFormStudentSearch();fas.ShowDialog();}privatevoid关于AToolStripMenuItem_Click(objectsender,EventArgse){FormAboutfa=newFormAbout();fa.ShowDialog();}privatevoid退出*ToolStripMenuItem_Click(objectsender,EventArgse){this.Close();}}}5.2数据库操作namespaceStudent_MI{publicclassSqlHelper{privateSqlConnectionconn=null;privateSqlCommandcmd=null;privateSqlDataReadersdr=null;//下载于publicSqlHelper(){stringconnStr="DataSource=.\\SQL2008;InitialCatalog=StudentManager;uid=sa;pwd=sa";conn=newSqlConnection(connStr);}privateSqlConnectionGetConn(){if(conn.State==ConnectionState.Closed){conn.Open();}returnconn;}///<summary>///执行不带参数的增删改SQL语句或存储过程///</summary>///<paramname="cmdTe*t">增删改SQL语句或存储过程</param>///<paramname="ct">命令类型</param>///<returns></returns>publicintE*ecuteNonQuery(stringcmdTe*t,CommandTypect){intres;try{cmd=newSqlCommand(cmdTe*t,GetConn());cmdmandType=ct;res=cmd.E*ecuteNonQuery();}catch(E*ceptione*){throwe*;}finally{if(conn.State==ConnectionState.Open){conn.Close();}}returnres;}///<summary>///执行带参数的增删改SQL语句或存储过程///</summary>///<paramname="cmdTe*t">增删改SQL语句或存储过程</param>///<paramname="ct">命令类型</param>///<returns></returns>publicintE*ecuteNonQuery(stringcmdTe*t,SqlParameter[]paras,CommandTypect){intres;try{using(cmd=newSqlCommand(cmdTe*t,GetConn())){cmdmandType=ct;cmd.Parameters.AddRange(paras);res=cmd.E*ecuteNonQuery();}}catch(E*ceptione*){throwe*;}returnres;}///<summary>///执行查询SQL语句或存储过程///</summary>///<paramname="cmdTe*t">查询SQL语句或存储过程</param>///<paramname="ct">命令类型</param>///<returns></returns>publicDataTableE*ecuteQuery(stringcmdTe*t,CommandTypect){DataTabledt=newDataTable();cmd=newSqlCommand(cmdTe*t,GetConn());cmdmandType=ct;try{using(sdr=cmd.E*ecuteReader(CommandBehavior.CloseConnection)){dt.Load(sdr);}}catch(E*ceptione*){throwe*;}finally{if(conn.State==ConnectionState.Open){conn.Close();}}returndt;}///<summary>///执行带参数的查询SQL语句或存储过程///</summ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44693.4-2026危险化学品企业工艺平稳性第4部分:开工过程管理规范
- 护理实践中的创新与技术应用
- 河南省周口市川汇区18中市级名校2026年初三二轮复习研四性考试(四)物理试题含解析
- 湖北省武汉市黄陂区部分校2025-2026学年初三中考仿真模拟卷物理试题含解析
- 2026年濉溪县重点达标名校初三3月综合练习(一模)物理试题含解析
- 肿瘤患者的预防与筛查
- 四川省南充市顺庆区重点名校2026年初三下学期期末模拟卷(二)数学试题含解析
- 江苏省苏州市园区一中学2026年初三第一次中考适应性统考物理试题含解析
- 肝性脑病与肝移植
- 预防口腔溃疡复发的护理策略
- 校园VI设计案例体系解析
- 招标代理公司制度与流程汇编
- 低碳-零碳产业园运行管理规范DB15-T 3993-2025
- DB35∕T 84-2020 造林技术规程
- 《基于FCFF模型的三一重工企业价值评估的案例分析报告》16000字【论文】
- 第5课 隋唐时期的民族交往与交融 教案2024-2025学年七年级历史下册新课标
- 2025年春新湘教版数学七年级下册课件 1.1.4 单项式的乘法 1.1.5 多项式的乘法
- 2025年驾照C1证考试科目一必考题库750题及答案
- 云南省相对集中行政处罚权事项指导目录(2024年版)
- 考点24 人与环境-五年(2020-2024年)高考生物学真题专项分类汇编
- 概率论与数理统计章节练习题及答案
评论
0/150
提交评论