.
软件工程课程设计任务书
课题 名称 学生信息管理系统 本课程设计的目的是通过实践使学生经历一个软件系统开发的全过程并设计 受到一次综合的训练,以便能较全面地理解、掌握和综合运用所学的知识去分目的 析、解决实际问题。 1、Windows 7及以上 2、SQL Server2008 3、VS.NET 任务: 完成《学生信息管理系统》系统的分析设计工作,并选用适当的开发工具完成系统的开发。 要求: 任务 要求 1、完成需求分析; 2、进行数据库的概念设计; 3、进行数据库的逻辑设计; 4、进行数据库的物理设计; 5、进行应用程序设计; 6、编程实现。 工作进度计划 序号 1 2 3 4 5 起止日期 2017.06.12-2017.06.13 需求分析 2017.06.13-2017.06.14 概念设计 2017.06.14-2017.12.15 逻辑设计 2017.06.15-2017.06.17 系统设计 2017.06.18-2017.06.19 课程设计报告纂写 工 作 内 容 实验 环境 指导教师(签章):
2017 年 6 月 15 日
..
.
计算机工程系
软件工程 课程设计报告
选题名称: 学生信息管理系统 系(院): 计 算 机 工 程与软件工程学院 专 业: 计算机科学与技术 班 级: 姓 名: 学 号: 指导教师: 学年学期: 2016 ~ 2017 学年 第 2 学期
2017 年 6 月 15 日
..
. 摘要: 黑体,小四号。 学生信息管理系统是一个小型的管理系统,其开发技术是后台数据库的建立和维护、前端应用程序的开发两个方面。数据库要体现数据精简和数据一致性、联系强的特点,应用程序要体现功能健全和使用方便的特点。
设计报告介绍了与学生相关的信息,划分数据库,将系统划分为录入新生信息、程序学生信息、更新学生信息、删除学生信息、添加用户、修改密码、添加班级、添加课程、退出系统等功能,来了解学生的基本身份信息。系统达到的预期的目标是录入新生信息、程序学生信息、更新学生信息、删除学生信息、添加用户、修改密码、添加班级、添加课程、退出系统的增删改查的功能。本系统只是个人的基本信息的增删改查,可随着添加更多的程序去实现更多的功能。 关键词:数据库;ER图;
..
.
目 录
1 需求分析 ................................................................................................................................. 5 2 概念设计 ................................................................................................................................. 7 3 逻辑设计 ................................................................................................................................. 8 4 编程实现 ............................................................................................................................... 10 总结与体会 ................................................................................................................................. 25 致 谢 ....................................................................................................................................... 26 参考文献 ..................................................................................................................................... 27
..
.
软件工程课程设计报告
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 Password 数据类型 Varchar(10) Varchar(10) 允许空 否 是 3.2.2 班级信息表
表3-2班级信息表
列名
ClassNumber Grade
MaxNumber StudentNumber CourseNumber 数据类型 Varchar(10) Varchar(10) Varchar(10) Varchar(10) Varchar(10) 允许空 是 是 是 否 否 3.2.3 课程信息表
表3-3课程信息表
列名 CourseNumber CourseName Credit 数据类型 Varchar(10) Varchar(10) Varchar(10) 允许空 否 是 是 3.2.4 学生信息表
表3-4学生信息表
列名 Name StudentNumber Sex Age
【National】 ..
数据类型 Varchar(10) Varchar(10) Varchar(10) Varchar(10) Varchar(10) 允许空 是 否 是 是 是 . Home Class Politic IdNumber Position Skill
Varchar(10) Varchar(10) Varchar(10) Varchar(10) Varchar(10) Varchar(10) 是 是 是 是 是 是
4 编程实现 4.1 用户登录
图4-1 用户登录界面
代码:
private void Login_Click(object sender, EventArgs e) {
string ConnString = \ID=sa;Pwd=123\;
SqlConnection conn = new SqlConnection(ConnString);
string sql=string.Format(\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[\].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 = \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(\
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 = \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(\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[\]; 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 = \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(\
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 = \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(\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.Information); } }
catch(Exception ex)
{ MessageBox.Show(\出错信息!\ + ex.Message); }
..
.
finally
{ conn.Close(); } } }
4.7 添加用户
图4-9 添加用户 图4-10 操作提示
代码:
private void Sure_Click(object sender, EventArgs e) {
string ConnString = \ID=sa;Pwd=123\;
SqlConnection conn = new SqlConnection(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.UserPassword.Clear(); this.Passwords.Clear(); }
MessageBox.Show(\请输入完整信息\, \操作提示\, MessageBoxButtons.OK, MessageBoxIcon.Information); } else {
string sql = string.Format(\
UserInfo(UserName,Password) values('{0}','{1}')\, this.UserName.Text, this.UserPassword.Text);
SqlCommand cmd = new SqlCommand(sql, conn); try
..
.
{
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(\确定密码出错,请重新输入\, \操作提示\, MessageBoxButtons.OK, MessageBoxIcon.Information); this.Passwords.Clear(); this.Passwords.Focus(); } } }
catch(Exception ex)
{ MessageBox.Show(\出错信息!\ + ex.Message); } finally
{ conn.Close(); } } }
4.8 修改密码
图4-11 修改密码
代码:
private void KeepChange_Click(object sender, EventArgs e) {
string ConnString = \
..
.
ID=sa;Pwd=123\;
SqlConnection conn = new SqlConnection(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(\Password='{0}'\, this.NewPassword.Text);
SqlCommand cmd = new SqlCommand(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.Passwords.Focus();
MessageBox.Show(\确定密码错误!\, \操作提示\, MessageBoxButtons.OK, MessageBoxIcon.Warning); } else {
MessageBox.Show(\修改成功!\, \操作提示\, MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
catch(Exception ex)
{ MessageBox.Show(\出错信息!\ + ex.Message); } finally
{ conn.Close(); } } }
..
.
4.9 添加班级
图4-12 添加班级
代码:
private void KeepChange_Click(object sender, EventArgs e) {
string ConnString = \ID=sa;Pwd=123\;
SqlConnection conn = new SqlConnection(ConnString);
if (this.ClassNumber.Text == \ || this.Grade.Text == \ || this.MaxNumber.Text ==
\||this.StudentNumber.Text==\||this.CourseNumber.Text==\) {
MessageBox.Show(\请输入完整信息!\, \操作提示\, MessageBoxButtons.OK, MessageBoxIcon.Information); } else {
string sql = string.Format(\
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); SqlCommand cmd = new SqlCommand(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)
{ MessageBox.Show(\出错信息!\ + ex.Message); } finally
{ conn.Close(); } } }
4.10 添加课程
图4-13 添加课程 图4-14 操作提示
代码:
private void KeepChange_Click(object sender, EventArgs e) {
string ConnString = \ID=sa;Pwd=123\;
SqlConnection conn = new SqlConnection(ConnString);
if (this.CourseNumber.Text == \ || this.CourseName.Text == \ || this.Credit.Text == \) {
MessageBox.Show(\请输入完整信息!\, \操作提示\, MessageBoxButtons.OK, MessageBoxIcon.Information); } else {
string sql = string.Format(\
CourseInfo(CourseNumber,CourseName,Credit) values('{0}','{1}','{2}')\, this.CourseNumber.Text, this.CourseName.Text, this.Credit.Text); SqlCommand cmd = new SqlCommand(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)
{ MessageBox.Show(\出错信息!\ + ex.Message); } finally
{ conn.Close(); } } }
..
.
总结与体会
本课程设计是对书本知识的巩固和平时试验的一个拓广,结合了C#知识和本学期学习的数据库知识,在理论的基础上,将两者有力的结合起来。实验开始时,对两者的相连一窍不通,在老师和同学的指导下才猛然醒悟。从需求分析,概念设计,逻辑设计,物理设计,实施到运行和维护,更深刻的了解了数据库开发过程中的相关知识点。对于数据库的增删改查的功能得到进一步的了解。
学期临末迎来了这学期的课程设计,虽然有了上学期做课程设计的经验,但真的做起来还是困难重重。虽然难题多多,但收获也多多。去年的课程设计就让我学到了很多,今年sql server 2008及asp.net的课程设计,我的收获也真的颇丰。今年的课程设计使我对以前的知识有了进一步的巩固与理解,也对自己的不足之处有了了解。对于系统的需求要明确,这样才能做到有的放矢。特别是对于系统中数据的存储和重要算法的设计,设计的不好会出现大量的冗余,不仅浪费存储空间,还影响查询效率。通过需求分析、设计、编码实现、测试本程序基本符合本次课程设计的要求,并能顺利运行,界面清晰易理解,且具备各项基本功能;但是代码比较烦琐,如果不是在指导老师和同学的帮助下,以及到图书馆查阅相关的资料,是很难完成的,毕竟c#语言是我自己学的知识。虽然查阅了许多资料,但是还是出现了很多问题。出现问题不要慌,自己找原因,最终肯定会迎刃而解的。本来还想要让程序的功能更多些,只是个人能力不够,想到一些功能却运行不起来,只能完成基本的功能!其实,有写程序看起来很难,只要你经过慢慢的摸索,一步一步的编写,以少积多,最终会解决疑难问题! 本次课程设计和理论实践相结合,这样不仅仅锻炼了我做事的能力,同时也提高了我的思维能力。这次的实践让我学会了要全面地去思考问题。
回想刚刚过去的忙碌的一周,感触颇多,收获颇丰。这星期通过翻阅各种参考文献,对有些知识尤其是asp.net方面的知识有了新的了解,对C#也懂了一点,也对网页制作有了兴趣。收获最大的地方就是锻炼了自己的独立思考能力和解决问题的能力。 最后,在这里对老师和同学给予的帮助表示最诚挚的感谢!
..
.
致 谢
通过毕业设计过程我会到了许多知识,这也是在大学里又一次比较完整的完成一个小项目,虽然过程中遇到了许多困难,在同学和老师的帮助下一一克服了。通过不断的发现问题,总结问题和解决问题的过程,使我在此次毕业设计活动中不断的提高,和得到了宝贵的经验。
课程设计老师和同学们的的关心和指导下完成的,本人对学生选课系统有了较深刻的认识,也具备了一定的实际开发经验。认识到开发系统首先要明确用户的需求,然后进行系统分析,其次构建系统模型、建立完善的数据库,接着编写代码,最后测试系统。对顺利完成本课题起到了极大的作用,在此向他们表示衷心的感谢!
..
.
参考文献
1.刘金岭,冯万利.数据库系统及应用教程——SQL Server 2008.清华大学
出版社,2016.12
2.沈士根,汪承焱,许小东.Web程序设计——ASP.NET实用网站开发.清华
大学出版社.2014.2
3.《用ASP轻松开发Web网站》刘 杰等 北京希望电子出版社 2000.9 4.《ASP网页制作教程》王国荣 人民邮电出版社 2000.6 5. 张绣兰. ASP网站建设实录.北京希望电子出版社. 2008
..
.
指导教师评语
学号 选题 名称 序号 姓名 班级 学生信息管理系统 评价内容 权重(%) 得分 1 考勤记录、学习态度、工作作风与表现。 10 2 是否完成设计任务;能否运行、可操作性如何等。 30 报告的格式规范程度、是否图文并茂、语3 言规范及流畅程度;主题是否鲜明、重心是否突出、论述是否充分、结论是否正确;是否提出了自己的独到见解。 30 4 自我陈述、回答问题的正确性、用语准确性、逻辑思维、是否具有独到见解等。 30 合计 指导教师(签章): 年 月 日
..
相关推荐: