《最新C#学生成绩管理系统课程设计剖析.doc》由会员分享,可在线阅读,更多相关《最新C#学生成绩管理系统课程设计剖析.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC#学生成绩管理系统课程设计剖析需求分析 目录一、设计目的1二、需求分析22.1系统需求简介42.1.1系统目标42.1.2功能需求分析42.1.3性能需求分析42.2系统业务功能分析42.2.1具体分析有两个角色:老师和学生52.2.2流程图5三、模块分析及设计5四、数据库设计64.1数据字典64.1.1数据流64.1.2 数据存储64.2 E-R图74.3系统数据
2、库的设计8五、设计过程及要点95.1数据库及窗体设计9 5.2 主要代码11六、设计总结12七、参考资料13-一、设计目的 为了提高高校学生成绩信息的管理效率,方便学生和教师对学生成绩信息进行查询、方便学校里面管理员去管理和查询学生信息,建立一个学生成绩管理系统,使学生信息管理工作规范化,系统化,程序化,避免学生成绩管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生信息是必须而且十分迫切的工作。本次课程设计题目为学生成绩管理系统,涉及成绩管理系统的登录界面、老师对学生成绩的查询、学生对学生成绩的查询、以及老师对学生成绩的增删改查分析统计等内容。本功能实现对学生信息、
3、教师信息情况信息的管理和统计、课程信息和成绩信息查看及维护。 本课程设计的目的是使学生能熟练掌握简单的简单Windows窗体应用程序的设计和数据库的应用,希望通过本次课程设计锻炼学生使用C#语言解决实际问题的能力。本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2008作为主要开发工具,可与SQL Server 2005数据库无缝链接。本报告详细的介绍了学生信息管理系统的开发过程,主要涉及到的工作如下:设计目的 、需求分析、模块分
4、析及设计、数据库设计、制作过程及要点、设计总结。二、需求分析2.1系统需求简介 2.1.1系统目标 根据查询条件实现学生信息的查询 学生选课信息查询、成绩信息的查询 (3) 学生信息、课程信息、成绩信息的增加、删除、修改 (4) 对基本信息完成增加、删除、修改时,需注意表与表之间的关联 2.1.2功能需求分析 本系统的功能需求分析如下: 学生信息查询:学生可以根据学号、姓名、专业进行查询. 学生信息管理:主要是用于学生信息更新、插入、删除; 学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新。 2.1.3性能需求分析 (1) 登录、用户界面需求:简洁、易懂、易用、友好的用户界面。 (2)
5、 安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管 理等。2.2系统业务功能分析2.2.1具体分析有两个角色:老师和学生 学生只能有查询的权利,其中包括按学号查询,按姓名查询和按课程号查询; 而老师则有查询以及对学生成绩增删改查分析统计功能,而分析主要是分析每一课程的及格人数,不及格人数和及格率等,统计则是统计各个班级和课程成绩的升序排序等。2.2.2流程图图一 总流程图三、模块分析及设计 学生成绩管理系统包括 5个模块:登录及主界面,成绩添加,成绩查询,成绩增删改,成绩分析与统计。登陆及主界面:用户人员在登录界面中输入用户名与密码。通过用户名与数据库里的用户表相比配,将学生与教
6、师区分开,二者各自进入自己的页面。二者拥有各自权限,分别拥有不同的功能。成绩添加:主要实现学生成绩的添加功能,将学生的各种信息添加到数据库中。成绩查询:主要三种方式,按学号,按姓名,按课程号查询学生的成绩。成绩增删改:主要是老师对学生的各项信息或成绩的修改,删除,添加等,以实现学生成绩管理系统的及时更新。成绩分析统计:对学生成绩的分析统计包括各个学生或课程的及格人数,不及格人数,及格率,学生成绩的排序等等。四、数据库设计4.1数据字典4.1.1数据流课程信息:课程号,课程名称,学期,课程时间,学分等信息学生信息:学号,姓名,专业,性别,生日,年龄,现状等信息教师信息:教师编号,姓名等信息4.1
7、.2 数据存储成绩表:包括学生姓名,学号,课程号,成绩等信息登录信息表:包括学生学号,密码及教师编号,密码等信息4.2 E-R图图二 学生信息E-R图图三 课程信息E-R图图四 教师信息E-R图图五 总E-R图4.3系统数据库的设计综合以上分析,要实现系统功能,应该建立如下表:表一 课程表表二 学生表表三 成绩表表四 教师表表五 用户表五、设计过程及要点这次课程设计我主要做数据库和登陆界面的设计并实现该系统的登录功能。5.1数据库及窗体设计其中数据库我一共设计了五个表,分别是学生表,课程表,成绩表,教师表和用户表,这些表的详细信息已经在上面有了介绍。然后就是登录功能的实现。图六 登录窗体登录窗
8、体主要用了3个label控件,2个textbox控件,2个radioButton控件,2个button控件,实现了教师跟学生的登录,用户名跟密码输入正确后,选择老师或者学生后分别进入各自的主界面,在主界面中可以对学生的成绩进行查询,删除等等操作。老师和学生的主界面分别如下图:图七 学生主界面图八 教师主界面5.2 主要代码namespace WindowsFormsApplication1 public partial class 登录 : Form public 登录() InitializeComponent(); sqlhelper = new Sqlhelper(server=.;da
9、tabase=xscj;integrated security=true); Sqlhelper sqlhelper private void button1_Click(object sender, EventArgs e) string sn; string str = server=.;database=xscj;integrated security=true; SqlConnection conn = new SqlConnection(str); conn.Open(); if (radioButton1.Checked) string cstr = select * from u
10、ser where type=教师and uid= + textBox1.Text.Trim() + and password= +textBox2.Text.Trim() + ; SqlCommand comm = new SqlCommand(cstr, conn); SqlDataReader dr = comm.ExecuteReader(); if (dr.Read() sn = textBox1.Text.Trim(); 教师界面 f1 = new 教师界面(); f1.Show(); this.Visible = false; else MessageBox.Show(输入有误,
11、请重新输入!); textBox1.Text = ; textBox2.Text = ; if (radioButton2.Checked) string cstr = select * from user where type=学生and uid= +textBox1.Text.Trim() + and password= + textBox2.Text.Trim() + ; SqlCommand comm = new SqlCommand(cstr, conn); SqlDataReader dr = comm.ExecuteReader(); if (dr.Read() sn = tex
12、tBox1.Text.Trim(); 学生界面 f2 = new 学生界面(); f2.Show(); this.Visible = false; else MessageBox.Show(输入有误,请重新输入!); textBox1.Text = ; textBox2.Text = ; conn.Close(); conn.Dispose(); 六、设计总结为期一周的课程设计结束了,在老师和同学的帮助下,我基本完成系统的设计。我们小组按照系统工程软件设计的要求,从设计目的 、需求分析、模块分析及设计、数据库设计等各个步骤,分步完成系统的各项任务,实现了系统中的学生信息查询,学生信息增删改,学
13、生信息添加等模块的功能。 在这短短的五天里收获如下: 巩固和加深了对C#的理解,提高综合运用本课程所学知识的能力。 2、培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。 3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。4、更加深刻的了解了小组团队协作的重要性,只有整个小组的人通力合作才可能会完成一个项目并且进步。 根据我在课程设计中遇到的问题,我将在以后的学习当中注意以下几点: 认真上好专业实验课,多在实践中锻炼自己。 2、写程序的过程中要考虑周到,严密。 3、在做设计的时候要有信心,有耐心,切勿浮躁。 4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。 5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。七、参考资料1 钱能. C+程序设计,2008,16(2):233-2372 钱能. C+程序设计试验指导 ,2008.34(3):35-38 3 谭浩强. C程序设计. 北京:清华大学出版社,2001
限制150内