版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.PAGE23 / NUMPAGES27.软件工程课程设计任务书课题名称学生信息管理系统设计目的本课程设计的目的是通过实践使学生经历一个软件系统开发的全过程并受到一次综合的训练,以便能较全面地理解、掌握和综合运用所学的知识去分析、解决实际问题。实验环境1、Windows 7及以上2、SQL Server20083、VS.NET任务要求任务:完成学生信息管理系统系统的分析设计工作,并选用适当的开发工具完成系统的开发。要求:1、完成需求分析;2、进行数据库的概念设计;3、进行数据库的逻辑设计;4、进行数据库的物理设计;5、进行应用程序设计;6、编程实现。工作进度计划序号起止日期工 作 容12017
2、.06.122017.06.13需求分析22017.06.132017.06.14概念设计32017.06.142017.12.15逻辑设计42017.06.152017.06.17系统设计52017.06.182017.06.19课程设计报告纂写指导教师(签章):2017年6月15日 计算机工程系软件工程课程设计报告选题名称: 学生信息管理系统系(院):计算机工程与软件工程学院 专 业:计算机科学与技术 班 级:姓 名:学 号:指导教师:学年学期:2016 2017学年 第2学期2017年6月15日黑体,小四号。摘要:学生信息管理系统是一个小型的管理系统,其开发技术是后台数据库的建立和维护、
3、前端应用程序的开发两个方面。数据库要体现数据精简和数据一致性、联系强的特点,应用程序要体现功能健全和使用方便的特点。设计报告介绍了与学生相关的信息,划分数据库,将系统划分为录入新生信息、程序学生信息、更新学生信息、删除学生信息、添加用户、修改密码、添加班级、添加课程、退出系统等功能,来了解学生的基本身份信息。系统达到的预期的目标是录入新生信息、程序学生信息、更新学生信息、删除学生信息、添加用户、修改密码、添加班级、添加课程、退出系统的增删改查的功能。本系统只是个人的基本信息的增删改查,可随着添加更多的程序去实现更多的功能。关键词:数据库;ER图;目 录TOC o 1-3 h z uHYPERL
4、INK l _Toc1856040451 需求分析 PAGEREF _Toc185604045 h 1HYPERLINK l _Toc1856040462 概念设计 PAGEREF _Toc185604046 h 1HYPERLINK l _Toc1856040473 逻辑设计 PAGEREF _Toc185604047 h 1HYPERLINK l _Toc1856040504编程实现 PAGEREF _Toc185604050 h 1HYPERLINK l _Toc185604051总结与体会 PAGEREF _Toc185604051 h 3HYPERLINK l _Toc1856040
5、52致 PAGEREF _Toc185604052 h 4HYPERLINK l _Toc185604053参考文献 PAGEREF _Toc185604053 h 5软件工程课程设计报告1 需求分析1.1 系统需求随着学校人数的不断扩大,学生的信息不断增多,面对如此庞大的信息量,传统的统计学生信息的方法不仅占用大量的人力物力,而且容易出错,已经不再使用,这需要我们设计出一个简单方便的计算机系统来解决这个问题,来对学校所有学生的信息进行处理。方便进行增删改查的功能,使一切更加方便。现代科技的进步已经是日新月异,应将这种方便的技术应用于人民的日常生活,方便人民。保障信息的正确性、完整性、实时性。
6、1.2 可行性分析了解了系统的具体的功能,对其实现的可行性进行分析。该系统所需的硬件设备市场价格低,操作系统采用Windows7的操作系统,采用C#编写的,技术上是可行的。每个人都有学号,所以登录号和密码均可以设置为学号,所以管理上也是可行的。1.3 功能需求学生信息管理系统具有以下功能:学籍管理:对学生的信息档案进行管理,主要包括学生档案信息的修改、删除、添加、档案查询及档案输出等,其中档案查询可以根据学号、查询需要的信息;档案输出可以输出学生档案、成绩、课程表等。学生档案记录主要包括:学号、出生日期、年龄、性别、政治面貌、入学时间、个人简介、照片、家庭住址、邮编、所在系别以及所学专业等字段
7、。成绩管理:对学生的成绩进行管理,主要就是成绩查询,成绩查询可以按学号、进行查询。成绩记录主要包括:学期、学号、课程号以及成绩字段等。课程管理:学生可以通过该模块进行课程表查看、打印课程表。选修课选择:对学生报选修课进行管理,学生可以对自己喜爱的课程进行选择。系统维护:教师对学生的密码进行管理,主要包括增加新用户和用户修改。其中用户修改可以实现对学生的密码修改和学生用户名的删去。系统辅助工具:通过该模块用户可以打开一些辅助工具,如记事本和记事本。退出系统:离开本学生信息管理系统。学生信息管理系统学生信息管理系统维护退出系统录入新生信息查询学生信息更新学生信息删除学生信息修改密码添加用户添加班级
8、添加课程退出系统图1 模块图1.4 数据流图学生信息管理系统学生信息班级信息课程信息个人信息学生信息班级信息用户信息系统原始数据输入系统输出数据图2 数据流图2 概念设计数据字典名字:档案信息表描述:学生的档案信息定义:学号+出生日期+年龄+性别+政治面貌+入学时间+个人简介+照片+家庭住址+邮编+所在系别以及所学专业位置:输出到屏幕名字:成绩表描述:学生的成绩表定义:学期+学号+课程号+成绩字段位置:输出到屏幕名字:课程管理描述:数据流定义:选课 位置:输出到屏幕学生学号姓名性别年龄民族籍贯政治面貌班级职位身份证号所学专业班级MN最大人数年级班级号课程课程号课程名学分图3 ER图3 逻辑设计
9、3.1 E-R模型向关系模式的转换(1)若实体间的联系是1:1的,可以在两个实体类型转换成的两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。(2)若实体间的联系是1:N的,则在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。(3)若实体间的联系是M:N的,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。课程关系模式(课程号,课程名,学分)学生关系模式(学号,性别,年龄,民族,籍贯,班级,政治面貌,号,职位,所学专业)班级关系模式(学号,课程号,班级号,年级,最大人数)3.2 表
10、格设计3.2.1 用户信息表表3-1用户信息表列名数据类型允许空UserNameVarchar(10)否PasswordVarchar(10)是3.2.2 班级信息表表3-2班级信息表列名数据类型允许空ClassNumberVarchar(10)是GradeVarchar(10)是MaxNumberVarchar(10)是StudentNumberVarchar(10)否CourseNumberVarchar(10)否3.2.3 课程信息表表3-3课程信息表列名数据类型允许空CourseNumberVarchar(10)否CourseNameVarchar(10)是CreditVarchar(
11、10)是3.2.4 学生信息表表3-4学生信息表列名数据类型允许空NameVarchar(10)是StudentNumberVarchar(10)否SexVarchar(10)是AgeVarchar(10)是【National】Varchar(10)是HomeVarchar(10)是ClassVarchar(10)是PoliticVarchar(10)是IdNumberVarchar(10)是PositionVarchar(10)是SkillVarchar(10)是4编程实现4.1 用户登录图4-1 用户登录界面代码:privatevoid Login_Click(object sender,
12、 EventArgs e) string ConnString = Data Source=ADMIN-PC;DataBase=MSM;User ID=sa;Pwd=123;SqlConnection conn = newSqlConnection(ConnString);string sql=string.Format(select Password from UserInfo where UserName=0,UserName.Text.Trim();try conn.Open();SqlCommand cmd = newSqlCommand(sql, conn);SqlDataReade
13、r reader = cmd.ExecuteReader();if (reader.Read() if (this.Password.Text.Trim() = (string)readerPassword.ToString().Trim() this.Hide();Interface inter = newInterface(); inter.Show(); else MessageBox.Show(密码出错!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information);this.UserName.Clear();this.Passwor
14、d.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 登录主界面代码:privatevoid EntryNewInformation_Click(object sender, EventArgs e) EntryNewInfor
15、mation eni = newEntryNewInformation(); eni.Show(); privatevoid InquireStuInformation_Click(object sender, EventArgs e) InquireStuInformation isi = newInquireStuInformation(); isi.Show(); privatevoid UpdateNewInformation_Click(object sender, EventArgs e) UpdateNewInformation uni = newUpdateNewInforma
16、tion(); uni.Show(); privatevoid AddUser_Click(object sender, EventArgs e) AddUser au = newAddUser(); au.Show(); privatevoid ChangePassword_Click(object sender, EventArgs e) ChangePassword cp = newChangePassword(); cp.Show(); privatevoid AddClass_Click(object sender, EventArgs e) AddClass ac = newAdd
17、Class(); ac.Show(); privatevoid AddCourse_Click(object sender, EventArgs e) AddCourse aco=newAddCourse(); aco.Show(); privatevoid ExitSystem_Click(object sender, EventArgs e) if (MessageBox.Show(您确定要退出吗, 操作提示, MessageBoxButtons.YesNo) = DialogResult.Yes)this.Close(); privatevoid DeleteStuRecord_Clic
18、k(object sender, EventArgs e) DeleteStuRecord dsr = newDeleteStuRecord(); dsr.Show(); 4.3 录入新生信息图4-3 录入新生信息代码:privatevoid Keep_Click(object sender, EventArgs e) string ConnString = Data Source=ADMIN-PC;DataBase=MSM;User ID=sa;Pwd=123;SqlConnection conn = newSqlConnection(ConnString);if (this.Student
19、Number.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);
20、 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.Pol
21、itic.Text, this.IdNumber.Text, this.Position.Text, this.Skill.Text);SqlCommand cmd = newSqlCommand(sql, conn);try conn.Open();int count = cmd.ExecuteNonQuery();if (count 1) MessageBox.Show(录入失败, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Error); else MessageBox.Show(录入成功!, 操作提示, MessageBoxButtons.OK
22、, MessageBoxIcon.Information); catch(Exception ex)MessageBox.Show(出错信息! + ex.Message); finallyconn.Close(); 4.4 查询学生信息图4-4 查询学生信息代码:privatevoid Inquire_Click(object sender, EventArgs e) string ConnString = Data Source=ADMIN-PC;Initial Catalog=MSM;User ID=sa;Pwd=123;SqlConnection conn = newSqlConnect
23、ion(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.O
24、pen();string sql = string.Format(select * from StudentInfo where Name=0, this.NameInquire.Text);SqlCommand cmd = newSqlCommand(sql, conn);SqlDataReader reader = cmd.ExecuteReader(); if (!reader.HasRows) MessageBox.Show(对不起,没有您要查找的用户, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else this
25、.listView1.Items.Clear();while (reader.Read() Name = (string)reader0; StudentNumber = (string)reader1; Sex=(string)reader2; Age=(string)reader3; National=(string)reader4; Home=(string)reader5; Class=(string)reader6; Politic=(string)reader7; IdNumber = (string)reader8; Position = (string)reader9; Ski
26、ll = (string)reader10;ListViewItem lvitem = newListViewItem(Name); lvitem.Tag = (string)readerName;this.listView1.Items.Add(lvitem); lvitem.SubItems.AddRange(newstring StudentNumber, Sex, Age, National, Home, Class, Politic, IdNumber, Position, Skill ); reader.Close(); catch(Exception ex)MessageBox.
27、Show(出错信息! + ex.Message); finallyconn.Close(); 4.5 更新学生信息图4-5 更新学生信息时显示图4-6 更新学生信息后显示代码: 首先在查找主段的基础上,将查找的值一次赋给TextBox所对应的值。privatevoid KeepChange_Click(object sender, EventArgs e) string ConnString = Data Source=ADMIN-PC;DataBase=MSM;User ID=sa;Pwd=123;SqlConnection conn = newSqlConnection(ConnStrin
28、g);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.Tex
29、t != 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()
30、, this.NIdNumber.Text.Trim(), this.NPosition.Text.Trim(), this.NSkill.Text.Trim(),this.NameInquire.Text.Trim();SqlCommand cmd = newSqlCommand(sql, conn); conn.Open();try int count = cmd.ExecuteNonQuery();if (count 1) MessageBox.Show(更新出错, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Error); else Messa
31、geBox.Show(更新成功!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); catch(Exception ex)MessageBox.Show(出错信息! + ex.Message); finallyconn.Close(); else MessageBox.Show(请输入更新信息, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); UserView();/修改后调用,使TextBox里的值放到listView1中 4.6 删除学生信息图4-7 删除学生
32、信息图4-8 删除学生信息后检验代码: 在查找主段的基础上。privatevoid Delete_Click(object sender, EventArgs e) string ConnString = Data Source=ADMIN-PC;Initial Catalog=MSM;User ID=sa;Pwd=123;SqlConnection conn = newSqlConnection(ConnString);if (this.NameInquire.Text = ) MessageBox.Show(请输入查询信息, 操作提示, MessageBoxButtons.OK, Mess
33、ageBoxIcon.Information); else try conn.Open();string sql = string.Format(delete from StudentInfo where Name=0, this.NameInquire.Text);SqlCommand cmd = newSqlCommand(sql, conn);int count = cmd.ExecuteNonQuery();if (count 1) MessageBox.Show(删除失败!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Error); els
34、e MessageBox.Show(删除成功!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); catch(Exception ex)MessageBox.Show(出错信息! + ex.Message); finallyconn.Close(); 4.7 添加用户图4-9 添加用户 图4-10 操作提示代码:privatevoid Sure_Click(object sender, EventArgs e) string ConnString = Data Source=ADMIN-PC;DataBase=MSM;User
35、ID=sa;Pwd=123;SqlConnection conn = newSqlConnection(ConnString);if (this.UserName.Text = | this.UserPassword.Text = | this.Passwords.Text = ) if (this.UserName.Text = & this.UserPassword.Text = this.Passwords.Text) MessageBox.Show(请输入用户名!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information);this
36、.UserPassword.Clear();this.Passwords.Clear(); MessageBox.Show(请输入完整信息, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else string sql = string.Format(insert into UserInfo(UserName,Password) values(0,1), this.UserName.Text, this.UserPassword.Text);SqlCommand cmd = newSqlCommand(sql, conn);t
37、ry conn.Open();int count = cmd.ExecuteNonQuery();if (count 1) MessageBox.Show(添加出错!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else if (this.Passwords.Text = this.UserPassword.Text) MessageBox.Show(添加成功!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show(确定
38、密码出错,请重新输入, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information);this.Passwords.Clear();this.Passwords.Focus(); catch(Exception ex) MessageBox.Show(出错信息! + ex.Message); finallyconn.Close(); 4.8 修改密码图4-11 修改密码代码:privatevoid KeepChange_Click(object sender, EventArgs e) string ConnString = Data Sour
39、ce=ADMIN-PC;DataBase=MSM;User ID=sa;Pwd=123;SqlConnection conn = newSqlConnection(ConnString);if (this.UserName.Text = | this.NewPassword.Text = | this.Passwords.Text = ) MessageBox.Show(请输入完整信息, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Error); else try conn.Open();string sql = string.Format(updat
40、e UserInfo set Password=0, this.NewPassword.Text);SqlCommand cmd = newSqlCommand(sql, conn);int count = cmd.ExecuteNonQuery();if (count 1) MessageBox.Show(修改失败!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); else if (this.NewPassword.Text != this.Passwords.Text) this.Passwords.Clear();this.Pa
41、sswords.Focus();MessageBox.Show(确定密码错误!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); else MessageBox.Show(修改成功!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); catch(Exception ex) MessageBox.Show(出错信息! + ex.Message); finallyconn.Close(); 4.9 添加班级图4-12 添加班级代码:privatevoid KeepChange
42、_Click(object sender, EventArgs e) string ConnString = Data Source=ADMIN-PC;DataBase=MSM;User ID=sa;Pwd=123;SqlConnection conn = newSqlConnection(ConnString);if (this.ClassNumber.Text = | this.Grade.Text = | this.MaxNumber.Text = |this.StudentNumber.Text=|this.CourseNumber.Text=) MessageBox.Show(请输入
43、完整信息!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else string sql = string.Format(insert into ClassInfo(ClassNumber,Grade,MaxNumber,StudentNumber,CourseNumber) values(0,1,2,3,4), this.ClassNumber.Text, this.Grade.Text, this.MaxNumber.Text,this.StudentNumber.Text,this.CourseNumber.Text)
44、;SqlCommand cmd = newSqlCommand(sql, conn);try conn.Open();int count = cmd.ExecuteNonQuery();if (count 1) MessageBox.Show(添加失败!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show(添加成功!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); catch(Exception ex) MessageBo
45、x.Show(出错信息! + ex.Message); finallyconn.Close(); 4.10 添加课程图4-13 添加课程 图4-14 操作提示代码:privatevoid KeepChange_Click(object sender, EventArgs e) string ConnString = Data Source=ADMIN-PC;DataBase=MSM;User ID=sa;Pwd=123;SqlConnection conn = newSqlConnection(ConnString);if (this.CourseNumber.Text = | this.Co
46、urseName.Text = | this.Credit.Text = ) MessageBox.Show(请输入完整信息!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else string sql = string.Format(insert into CourseInfo(CourseNumber,CourseName,Credit) values(0,1,2), this.CourseNumber.Text, this.CourseName.Text, this.Credit.Text);SqlCommand cmd = newSqlCommand(sql, conn);try conn.Open();int count = cmd.ExecuteNonQuery();if (count 1) MessageBox.Show(添加失败!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show(添加成功!, 操作提示, MessageBoxButtons.OK, MessageBoxIcon.Information); catch(Exce
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 收入结算合同范例
- 护手霜包装课程设计
- 幼儿认识时钟课程设计
- 折叠架课程设计
- 宠物经济统计学课程设计
- 作物栽培学课程设计
- 托班入园课程设计
- 微电流源课程设计器件表
- 应聘大专老师课程设计
- 小班语音领域课程设计
- 小儿全麻患者术后护理
- 黑龙江省哈尔滨市2023-2024学年八年级上学期语文期末模拟考试试卷(含答案)
- 理论力学(浙江大学)知到智慧树章节答案
- 云南省普通高中2023-2024学年高一上学期1月期末学业水平考试技术试卷
- 2024年百科知识竞赛题库及答案(共三套)
- JGJ-T490-2021钢框架内填墙板结构技术标准
- 2024年移动解决方案经理认证考试题库大全-中(多选题)
- 破碎锤项目营销计划书
- 愚公移山英文 -中国故事英文版课件
- 国开经济学(本)1-14章练习试题及答案
- 三相桥式有源逆变电路的仿真Word版
评论
0/150
提交评论