软件工程课程设计学生信息管理系统样本.doc
《软件工程课程设计学生信息管理系统样本.doc》由会员分享,可在线阅读,更多相关《软件工程课程设计学生信息管理系统样本.doc(41页珍藏版)》请在咨信网上搜索。
软件工程课程设计任务书 课题 名称 学生信息管理系统 设计 目的 本课程设计的目的是经过实践使学生经历一个软件系统开发的全过程并受到一次综合的训练, 以便能较全面地理解、 掌握和综合运用所学的知识去分析、 解决实际问题。 实验 环境 1、 Windows 7及以上 2、 SQL Server 3、 VS.NET 任务 要求 任务: 完成《学生信息管理系统》系统的分析设计工作, 并选用适当的开发工具完成系统的开发。 要求: 1、 完成需求分析; 2、 进行数据库的概念设计; 3、 进行数据库的逻辑设计; 4、 进行数据库的物理设计; 5、 进行应用程序设计; 6、 编程实现。 工作进度计划 序号 起止日期 工 作 内 容 1 .06.12- .06.13 需求分析 2 .06.13- .06.14 概念设计 3 .06.14- .12.15 逻辑设计 4 .06.15- .06.17 系统设计 5 .06.18- .06.19 课程设计报告纂写 指导教师( 签章) : 年 6 月 15 日 计算机工程系 软件工程 课程设计报告 选题名称: 学生信息管理系统 系( 院) : 计 算 机 工 程与软件工程学院 专 业: 计算机科学与技术 班 级: 姓 名: 学 号: 指导教师: 年学期: ~ 年 第 2 学期 年 6 月 15 日 黑体, 小四号。 摘要: 学生信息管理系统是一个小型的管理系统, 其开发技术是后台数据库的建立和维护、 前端应用程序的开发两个方面。数据库要体现数据精简和数据一致性、 联系强的特点, 应用程序要体现功能健全和使用方便的特点。 设计报告介绍了与学生相关的信息, 划分数据库, 将系统划分为录入新生信息、 程序学生信息、 更新学生信息、 删除学生信息、 添加用户、 修改密码、 添加班级、 添加课程、 退出系统等功能, 来了解学生的基本身份信息。系统达到的预期的目标是录入新生信息、 程序学生信息、 更新学生信息、 删除学生信息、 添加用户、 修改密码、 添加班级、 添加课程、 退出系统的增删改查的功能。本系统只是个人的基本信息的增删改查, 可随着添加更多的程序去实现更多的功能。 关键词: 数据库; ER图; 目 录 1 需求分析 1 2 概念设计 1 3 逻辑设计 1 4 编程实现 1 总结与体会 3 致 谢 4 参考文献 5 软件工程课程设计报告 1 需求分析 1.1 系统需求 随着学校人数的不断扩大, 学生的信息不断增多, 面对如此庞大的信息量, 传统的统计学生信息的方法不但占用大量的人力物力, 而且容易出错, 已经不再使用, 这需要我们设计出一个简单方便的计算机系统来解决这个问题, 来对学校所有学生的信息进行处理。方便进行增删改查的功能, 使一切更加方便。 现代科技的进步已经是日新月异, 应将这种方便的技术应用于人民的日常生活, 方便人民。保障信息的正确性、 完整性、 实时性。 1.2 可行性分析 了解了系统的具体的功能, 对其实现的可行性进行分析。该系统所需的硬件设备市场价格低, 操作系统采用Windows7的操作系统, 采用C#编写的, 技术上是可行的。每个人都有学号, 因此登录号和密码均能够设置为学号, 因此管理上也是可行的。 1.3 功能需求 学生信息管理系统具有以下功能: 学籍管理: 对学生的信息档案进行管理, 主要包括学生档案信息的修改、 删除、 添加、 档案查询及档案输出等, 其中档案查询能够根据学号、 姓名查询需要的信息; 档案输出能够输出学生档案、 成绩、 课程表等。学生档案记录主要包括: 学号、 姓名、 出生日期、 年龄、 性别、 政治面貌、 入学时间、 个人简介、 照片、 家庭住址、 邮编、 所在系别以及所学专业等字段。 成绩管理: 对学生的成绩进行管理, 主要就是成绩查询, 成绩查询能够按学号、 姓名进行查询。成绩记录主要包括: 学期、 学号、 姓名、 课程号以及成绩字段等。 课程管理: 学生能够经过该模块进行课程表查看、 打印课程表。 选修课选择: 对学生报选修课进行管理, 学生能够对自己喜爱的课程进行选择。 系统维护: 教师对学生的密码进行管理, 主要包括增加新用户和用户修改。其中用户修改能够实现对学生的密码修改和学生用户名的删去。 系统辅助工具: 经过该模块用户能够打开一些辅助工具, 如记事本和记事本。 退出系统: 离开本学生信息管理系统。 学生信息管理系统 学生信息管理 系统维护 退出系统 录入新生信息 查询学生信息 更新学生信息 删除学生信息 修改密码 添加用户 添加班级 添加课程 退出系统 图1 模块图 1.4 数据流图 学生信息管理系统 学生信息 班级信息 课程信息 个人信息 学生信息 班级信息 用户信息 系统原始数据输入 系统输出数据 图2 数据流图 2 概念设计 数据字典 名字: 档案信息表 描述: 学生的档案信息 定义: 学号+姓名+出生日期+年龄+性别+政治面貌+入学时间+个人简介+照片+家庭住址+邮编+所在系别以及所学专业 位置: 输出到屏幕 名字: 成绩表 描述: 学生的成绩表 定义: 学期+学号+姓名+课程号+成绩字段 位置: 输出到屏幕 名字: 课程管理 描述: 数据流 定义: 选课 位置: 输出到屏幕 学生 学号 姓名 性别 年龄 民族 籍贯 政治面貌 班级 职位 身份证号 所学专业 班级 M N 最大人数 年级 班级号 课程 课程号 课程名 学分 图3 ER图 3 逻辑设计 3.1 E-R模型向关系模式的转换 ( 1) 若实体间的联系是1:1的, 能够在两个实体类型转换成的两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。 ( 2) 若实体间的联系是1:N的, 则在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。 ( 3) 若实体间的联系是M: N的, 则将联系类型也转换成关系模式, 其属性为两端实体类型的键加上联系类型的属性, 而键为两端实体键的组合。 课程关系模式( 课程号, 课程名, 学分) 学生关系模式( 学号, 姓名, 性别, 年龄, 民族, 籍贯, 班级, 政治面貌, 身份证号, 职位, 所学专业) 班级关系模式( 学号, 课程号, 班级号, 年级, 最大人数) 3.2 表格设计 3.2.1 用户信息表 表3-1用户信息表 列名 数据类型 允许空 UserName Varchar(10) 否 Password Varchar(10) 是 3.2.2 班级信息表 表3-2班级信息表 列名 数据类型 允许空 ClassNumber Varchar(10) 是 Grade Varchar(10) 是 MaxNumber Varchar(10) 是 StudentNumber Varchar(10) 否 CourseNumber Varchar(10) 否 3.2.3 课程信息表 表3-3课程信息表 列名 数据类型 允许空 CourseNumber Varchar(10) 否 CourseName Varchar(10) 是 Credit Varchar(10) 是 3.2.4 学生信息表 表3-4学生信息表 列名 数据类型 允许空 Name Varchar(10) 是 StudentNumber Varchar(10) 否 Sex Varchar(10) 是 Age Varchar(10) 是 【National】 Varchar(10) 是 Home Varchar(10) 是 Class Varchar(10) 是 Politic Varchar(10) 是 IdNumber Varchar(10) 是 Position Varchar(10) 是 Skill Varchar(10) 是 4 编程实现 4.1 用户登录 图4-1 用户登录界面 代码: private void Login_Click(object sender, EventArgs e) { string ConnString = "Data Source=ADMIN-PC;DataBase=MSM;User ID=sa;Pwd=123"; SqlConnection conn = new SqlConnection(ConnString); string sql=string.Format("select Password from UserInfo where UserName='{0}'",UserName.Text.Trim()); try { conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) { if (this.Password.Text.Trim() == (string)reader["Password"].ToString().Trim()) { this.Hide(); Interface inter = new Interface(); inter.Show(); } else { MessageBox.Show("密码出错!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.UserName.Clear(); this.Password.Clear(); this.UserName.Focus(); } } else { MessageBox.Show("此用户不存在!", "存在提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch(Exception ex) { MessageBox.Show("出错信息!" + ex.Message); } finally { conn.Close(); } } 4.2 登录主界面 图4-2 登录主界面 代码: private void EntryNewInformation_Click(object sender, EventArgs e) { EntryNewInformation eni = new EntryNewInformation(); eni.Show(); } private void InquireStuInformation_Click(object sender, EventArgs e) { InquireStuInformation isi = new InquireStuInformation(); isi.Show(); } private void UpdateNewInformation_Click(object sender, EventArgs e) { UpdateNewInformation uni = new UpdateNewInformation(); uni.Show(); } private void AddUser_Click(object sender, EventArgs e) { AddUser au = new AddUser(); au.Show(); } private void ChangePassword_Click(object sender, EventArgs e) { ChangePassword cp = new ChangePassword(); cp.Show(); } private void AddClass_Click(object sender, EventArgs e) { AddClass ac = new AddClass(); ac.Show(); } private void AddCourse_Click(object sender, EventArgs e) { AddCourse aco=new AddCourse(); aco.Show(); } private void ExitSystem_Click(object sender, EventArgs e) { if (MessageBox.Show("您确定要退出吗", "操作提示", MessageBoxButtons.YesNo) == DialogResult.Yes) this.Close(); } private void DeleteStuRecord_Click(object sender, EventArgs e) { DeleteStuRecord dsr = new DeleteStuRecord(); dsr.Show(); } 4.3 录入新生信息 图4-3 录入新生信息 代码: private void Keep_Click(object sender, EventArgs e) { string ConnString = "Data Source=ADMIN-PC;DataBase=MSM;User ID=sa;Pwd=123"; SqlConnection conn = new SqlConnection(ConnString); if (this.StudentNumber.Text==""||this.Name.Text == "" || this.Sex.Text == "" || this.Age.Text == "" || this.National.Text == "" || this.Home.Text == "" || this.Class.Text == "" || this.IdNumber.Text == "" || this.Politic.Text == "" || this.Position.Text == "" || this.Skill.Text == "") { MessageBox.Show("请输入完整信息!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { string sql = string.Format("insert into StudentInfo(Name,StudentNumber,Sex,Age,[National],Home,Class,Politic,IdNumber,Position,Skill) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}')", this.Name.Text,this.StudentNumber.Text, this.Sex.Text, this.Age.Text, this.National.Text, this.Home.Text, this.Class.Text, this.Politic.Text, this.IdNumber.Text, this.Position.Text, this.Skill.Text); SqlCommand cmd = new SqlCommand(sql, conn); try { conn.Open(); int count = cmd.ExecuteNonQuery(); if (count < 1) { MessageBox.Show("录入失败", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("录入成功!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch(Exception ex) { MessageBox.Show("出错信息!" + ex.Message); } finally { conn.Close(); } } } 4.4 查询学生信息 图4-4 查询学生信息 代码: private void Inquire_Click(object sender, EventArgs e) { string ConnString = "Data Source=ADMIN-PC;Initial Catalog=MSM;User ID=sa;Pwd=123"; SqlConnection conn = new SqlConnection(ConnString); if (this.NameInquire.Text == "") { MessageBox.Show("请输入查询项目", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { try { string Name; string StudentNumber; string Sex; string Age; string National; string Home; string Class; string Politic; string IdNumber; string Position; string Skill; conn.Open(); string sql = string.Format("select * from StudentInfo where Name='{0}'", this.NameInquire.Text); SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader reader = cmd.ExecuteReader(); if (!reader.HasRows) { MessageBox.Show("对不起, 没有您要查找的用户", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { this.listView1.Items.Clear(); while (reader.Read()) { Name = (string)reader[0]; StudentNumber = (string)reader[1]; Sex=(string)reader[2]; Age=(string)reader[3]; National=(string)reader[4]; Home=(string)reader[5]; Class=(string)reader[6]; Politic=(string)reader[7]; IdNumber = (string)reader[8]; Position = (string)reader[9]; Skill = (string)reader[10]; ListViewItem lvitem = new ListViewItem(Name); lvitem.Tag = (string)reader["Name"]; this.listView1.Items.Add(lvitem); lvitem.SubItems.AddRange(new string[] { StudentNumber, Sex, Age, National, Home, Class, Politic, IdNumber, Position, Skill }); } } reader.Close(); } catch(Exception ex) { MessageBox.Show("出错信息!" + ex.Message); } finally { conn.Close(); } } } 4.5 更新学生信息 图4-5 更新学生信息时显示 图4-6 更新学生信息后显示 代码: 首先在查找主段的基础上, 将查找的值一次赋给TextBox所对应的值。 private void KeepChange_Click(object sender, EventArgs e) { string ConnString = "Data Source=ADMIN-PC;DataBase=MSM;User ID=sa;Pwd=123"; SqlConnection conn = new SqlConnection(ConnString); if (this.NName.Text!= null || this.NStudentNumber.Text!=null||this.NSex.Text != null || this.NAge.Text != null || this.NNational.Text != null || this.NHome.Text != null || this.NClass.Text != null || this.NIdNumber.Text != null || this.NPolitic.Text != null || this.NPosition.Text != null || this.NSkill.Text != null) { string sql = string.Format("update StudentInfo set Sex='{0}',Age='{1}',[National]='{2}',Home='{3}',Class='{4}',IdNumber='{5}',Politic='{6}',Position='{7}',Skill='{8}' where Name='{9}'",this.NSex.Text.Trim(), this.NAge.Text.Trim(), this.NNational.Text.Trim(), this.NHome.Text.Trim(), this.NClass.Text.Trim(), this.NPolitic.Text.Trim(), this.NIdNumber.Text.Trim(), this.NPosition.Text.Trim(), this.NSkill.Text.Trim(),this.NameInquire.Text.Trim()); SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); try { int count = cmd.ExecuteNonQuery(); if (count < 1) { MessageBox.Show("更新出错", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("更新成功!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch(Exception ex) { MessageBox.Show("出错信息!" + ex.Message); } finally { conn.Close(); } } else { MessageBox.Show("请输入更新信息", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } UserView(); //修改后调用, 使TextBox里的值放到listView1中 } 4.6 删除学生信息 图4-7 删除学生信息 图4-8 删除学生信息后检验 代码: 在查找主段的基础上。 private void Delete_Click(object sender, EventArgs e) { string ConnString = "Data Source=ADMIN-PC;Initial Catalog=MSM;User ID=sa;Pwd=123"; SqlConnection conn = new SqlConnection(ConnString); if (this.NameInquire.Text == "") { MessageBox.Show("请输入查询信息", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { try { conn.Open(); string sql = string.Format("delete from StudentInfo where Name='{0}'", this.NameInquire.Text); SqlCommand cmd = new SqlCommand(sql, conn); int count = cmd.ExecuteNonQuery(); if (count < 1) { MessageBox.Show("删除失败!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("删除成功!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.In- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 学生 信息管理 系统 样本
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文