软件工程课程设计学生信息系统.docx

上传人:b****6 文档编号:16098786 上传时间:2023-07-10 格式:DOCX 页数:32 大小:807.97KB
下载 相关 举报
软件工程课程设计学生信息系统.docx_第1页
第1页 / 共32页
软件工程课程设计学生信息系统.docx_第2页
第2页 / 共32页
软件工程课程设计学生信息系统.docx_第3页
第3页 / 共32页
软件工程课程设计学生信息系统.docx_第4页
第4页 / 共32页
软件工程课程设计学生信息系统.docx_第5页
第5页 / 共32页
软件工程课程设计学生信息系统.docx_第6页
第6页 / 共32页
软件工程课程设计学生信息系统.docx_第7页
第7页 / 共32页
软件工程课程设计学生信息系统.docx_第8页
第8页 / 共32页
软件工程课程设计学生信息系统.docx_第9页
第9页 / 共32页
软件工程课程设计学生信息系统.docx_第10页
第10页 / 共32页
软件工程课程设计学生信息系统.docx_第11页
第11页 / 共32页
软件工程课程设计学生信息系统.docx_第12页
第12页 / 共32页
软件工程课程设计学生信息系统.docx_第13页
第13页 / 共32页
软件工程课程设计学生信息系统.docx_第14页
第14页 / 共32页
软件工程课程设计学生信息系统.docx_第15页
第15页 / 共32页
软件工程课程设计学生信息系统.docx_第16页
第16页 / 共32页
软件工程课程设计学生信息系统.docx_第17页
第17页 / 共32页
软件工程课程设计学生信息系统.docx_第18页
第18页 / 共32页
软件工程课程设计学生信息系统.docx_第19页
第19页 / 共32页
软件工程课程设计学生信息系统.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件工程课程设计学生信息系统.docx

《软件工程课程设计学生信息系统.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计学生信息系统.docx(32页珍藏版)》请在冰点文库上搜索。

软件工程课程设计学生信息系统.docx

软件工程课程设计学生信息系统

软件工程课程设计任务书

课题

名称

学生信息管理系统

设计

目的

本课程设计的目的是通过实践使学生经历一个软件系统开发的全过程并受到一次综合的训练,以便能较全面地理解、掌握和综合运用所学的知识去分析、解决实际问题。

实验

环境

1、Windows7及以上

2、SQLServer2008

3、VS.NET

任务

要求

任务:

完成《学生信息管理系统》系统的分析设计工作,并选用适当的开发工具完成系统的开发。

要求:

1、完成需求分析;

2、进行数据库的概念设计;

3、进行数据库的逻辑设计;

4、进行数据库的物理设计;

5、进行应用程序设计;

6、编程实现。

工作进度计划

序号

起止日期

工作内容

1

2017.06.12-2017.06.13

需求分析

2

2017.06.13-2017.06.14

概念设计

3

2017.06.14-2017.12.15

逻辑设计

4

2017.06.15-2017.06.17

系统设计

5

2017.06.18-2017.06.19

课程设计报告纂写

指导教师(签章):

2017年6月15日

计算机工程系

软件工程

课程设计报告

 

选题名称:

学生信息管理系统

系(院):

计算机工程与软件工程学院

专业:

计算机科学与技术

班级:

姓名:

学号:

指导教师:

学年学期:

2016~2017学年第2学期

2017年6月15日

摘要:

学生信息管理系统是一个小型的管理系统,其开发技术是后台数据库的建立和维护、前端应用程序的开发两个方面。

数据库要体现数据精简和数据一致性、联系强的特点,应用程序要体现功能健全和使用方便的特点。

设计报告介绍了与学生相关的信息,划分数据库,将系统划分为录入新生信息、程序学生信息、更新学生信息、删除学生信息、添加用户、修改密码、添加班级、添加课程、退出系统等功能,来了解学生的基本身份信息。

系统达到的预期的目标是录入新生信息、程序学生信息、更新学生信息、删除学生信息、添加用户、修改密码、添加班级、添加课程、退出系统的增删改查的功能。

本系统只是个人的基本信息的增删改查,可随着添加更多的程序去实现更多的功能。

关键词:

数据库;ER图;

 

软件工程课程设计报告

1需求分析

1.1系统需求

随着学校人数的不断扩大,学生的信息不断增多,面对如此庞大的信息量,传统的统计学生信息的方法不仅占用大量的人力物力,而且容易出错,已经不再使用,这需要我们设计出一个简单方便的计算机系统来解决这个问题,来对学校所有学生的信息进行处理。

方便进行增删改查的功能,使一切更加方便。

现代科技的进步已经是日新月异,应将这种方便的技术应用于人民的日常生活,方便人民。

保障信息的正确性、完整性、实时性。

1.2可行性分析

了解了系统的具体的功能,对其实现的可行性进行分析。

该系统所需的硬件设备市场价格低,操作系统采用Windows7的操作系统,采用C#编写的,技术上是可行的。

每个人都有学号,所以登录号和密码均可以设置为学号,所以管理上也是可行的。

1.3功能需求

学生信息管理系统具有以下功能:

学籍管理:

对学生的信息档案进行管理,主要包括学生档案信息的修改、删除、添加、档案查询及档案输出等,其中档案查询可以根据学号、姓名查询需要的信息;档案输出可以输出学生档案、成绩、课程表等。

学生档案记录主要包括:

学号、姓名、出生日期、年龄、性别、政治面貌、入学时间、个人简介、照片、家庭住址、邮编、所在系别以及所学专业等字段。

成绩管理:

对学生的成绩进行管理,主要就是成绩查询,成绩查询可以按学号、姓名进行查询。

成绩记录主要包括:

学期、学号、姓名、课程号以及成绩字段等。

课程管理:

学生可以通过该模块进行课程表查看、打印课程表。

选修课选择:

对学生报选修课进行管理,学生可以对自己喜爱的课程进行选择。

系统维护:

教师对学生的密码进行管理,主要包括增加新用户和用户修改。

其中用户修改可以实现对学生的密码修改和学生用户名的删去。

系统辅助工具:

通过该模块用户可以打开一些辅助工具,如记事本和记事本。

退出系统:

离开本学生信息管理系统。

图1模块图

1.4数据流图

图2数据流图

2概念设计

数据字典

名字:

档案信息表

描述:

学生的档案信息

定义:

学号+姓名+出生日期+年龄+性别+政治面貌+入学时间+个人简介+照片+家庭住址+邮编+所在系别以及所学专业

位置:

输出到屏幕

 

名字:

成绩表

描述:

学生的成绩表

定义:

学期+学号+姓名+课程号+成绩字段

位置:

输出到屏幕

 

名字:

课程管理

描述:

数据流

定义:

选课

位置:

输出到屏幕

图3ER图

3逻辑设计

3.1E-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用户登录界面

代码:

privatevoidLogin_Click(objectsender,EventArgse)

{

stringConnString="DataSource=ADMIN-PC;DataBase=MSM;UserID=sa;Pwd=123";

SqlConnectionconn=newSqlConnection(ConnString);

stringsql=string.Format("selectPasswordfromUserInfowhereUserName='{0}'",UserName.Text.Trim());

try

{

conn.Open();

SqlCommandcmd=newSqlCommand(sql,conn);

SqlDataReaderreader=cmd.ExecuteReader();

if(reader.Read())

{

if(this.Password.Text.Trim()==(string)reader["Password"].ToString().Trim())

{

this.Hide();

Interfaceinter=newInterface();

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(Exceptionex)

{MessageBox.Show("出错信息!

"+ex.Message);}

finally

{conn.Close();}

}

4.2登录主界面

图4-2登录主界面

代码:

privatevoidEntryNewInformation_Click(objectsender,EventArgse)

{

EntryNewInformationeni=newEntryNewInformation();

eni.Show();

}

privatevoidInquireStuInformation_Click(objectsender,EventArgse)

{

InquireStuInformationisi=newInquireStuInformation();

isi.Show();

}

privatevoidUpdateNewInformation_Click(objectsender,EventArgse)

{

UpdateNewInformationuni=newUpdateNewInformation();

uni.Show();

}

privatevoidAddUser_Click(objectsender,EventArgse)

{

AddUserau=newAddUser();

au.Show();

}

privatevoidChangePassword_Click(objectsender,EventArgse)

{

ChangePasswordcp=newChangePassword();

cp.Show();

}

privatevoidAddClass_Click(objectsender,EventArgse)

{

AddClassac=newAddClass();

ac.Show();

}

privatevoidAddCourse_Click(objectsender,EventArgse)

{

AddCourseaco=newAddCourse();

aco.Show();

}

privatevoidExitSystem_Click(objectsender,EventArgse)

{

if(MessageBox.Show("您确定要退出吗","操作提示",MessageBoxButtons.YesNo)==DialogResult.Yes)

this.Close();

}

privatevoidDeleteStuRecord_Click(objectsender,EventArgse)

{

DeleteStuRecorddsr=newDeleteStuRecord();

dsr.Show();

}

4.3录入新生信息

图4-3录入新生信息

代码:

privatevoidKeep_Click(objectsender,EventArgse)

{

stringConnString="DataSource=ADMIN-PC;DataBase=MSM;UserID=sa;Pwd=123";

SqlConnectionconn=newSqlConnection(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

{

stringsql=string.Format("insertintoStudentInfo(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);

SqlCommandcmd=newSqlCommand(sql,conn);

try

{

conn.Open();

intcount=cmd.ExecuteNonQuery();

if(count<1)

{MessageBox.Show("录入失败","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Error);

}

else

{MessageBox.Show("录入成功!

","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

}

catch(Exceptionex)

{MessageBox.Show("出错信息!

"+ex.Message);}

finally

{conn.Close();}

}

}

4.4查询学生信息

图4-4查询学生信息

代码:

privatevoidInquire_Click(objectsender,EventArgse)

{

stringConnString="DataSource=ADMIN-PC;InitialCatalog=MSM;UserID=sa;Pwd=123";

SqlConnectionconn=newSqlConnection(ConnString);

if(this.NameInquire.Text=="")

{

MessageBox.Show("请输入查询项目","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

else

{

try

{

stringName;

stringStudentNumber;

stringSex;

stringAge;

stringNational;

stringHome;

stringClass;

stringPolitic;

stringIdNumber;

stringPosition;

stringSkill;

conn.Open();

stringsql=string.Format("select*fromStudentInfowhereName='{0}'",this.NameInquire.Text);

SqlCommandcmd=newSqlCommand(sql,conn);

SqlDataReaderreader=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];

ListViewItemlvitem=newListViewItem(Name);

lvitem.Tag=(string)reader["Name"];

this.listView1.Items.Add(lvitem);

lvitem.SubItems.AddRange(newstring[]{StudentNumber,Sex,Age,National,Home,Class,Politic,IdNumber,Position,Skill});

}

}

reader.Close();

}

catch(Exceptionex)

{MessageBox.Show("出错信息!

"+ex.Message);}

finally

{conn.Close();}

}

}

4.5更新学生信息

图4-5更新学生信息时显示

图4-6更新学生信息后显示

代码:

首先在查找主段的基础上,将查找的值一次赋给TextBox所对应的值。

privatevoidKeepChange_Click(objectsender,EventArgse)

{

stringConnString="DataSource=ADMIN-PC;DataBase=MSM;UserID=sa;Pwd=123";

SqlConnectionconn=newSqlConnection(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)

{

stringsql=string.Format("updateStudentInfosetSex='{0}',Age='{1}',[National]='{2}',Home='{3}',Class='{4}',IdNumber='{5}',Politic='{6}',Position='{7}',Skill='{8}'whereName='{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());

SqlCommandcmd=newSqlCommand(sql,conn);

conn.Open();

try

{

intcount=cmd.ExecuteNonQuery();

if(count<1)

{

MessageBox.Show("更新出错","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Error);

}

else

{

MessageBox.Show("更新成功!

","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

}

catch(Exceptionex)

{MessageBox.Show("出错信息!

"+ex.Message);}

finally

{conn.Close();}

}

else

{

MessageBox.Show("请输入更新信息","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

UserView();//修改后调用,使TextBox里的值放到listView1中

}

4.6删除学生信息

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2