学生选课管理信息系统设计与实现_第1页
学生选课管理信息系统设计与实现_第2页
学生选课管理信息系统设计与实现_第3页
学生选课管理信息系统设计与实现_第4页
学生选课管理信息系统设计与实现_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计报告课程:数据库课程设计 学号: 姓名: 班级: 教师: 计算机科学与技术学院学生选课管理信息系统的设计与实现一、课程设计任务完成学生选课管理信息系统的开发二、需求描述选课管理系统的主要目的是利用软件实现选课的录入、查询、修改等功能,针对不同表的用户(学生、教师、管理员)提供不同的操作,使学生选课及对其的管理更加方便,提高工作效率,降低管理成本。选课的管理一般包括选课查询和选课维护两部分,在实际的选课过程中,学生主要对课程进行选择,了解自己的选课情况,而教师除了能够对选择教师自己教授的课程的学生进行查询之外,还要对课程成绩进行录入,修改等操作。对于整个系统而言,为了便于对各种数据进行维

2、护,还要增设管理员,方便对学生和教师信息以及课程等基本信息的维护,从而达到灵活的管理选课的效果。本系统是一个单机版的小型的学生选课管理系统,在本系统中,开发了一个面向管理员、学生和教师这三个对象的教务平台,对学生提供的服务有选课服务;对教师提供的服务有登录成绩;对管理员提供的服务有学生信息管理、学生选课管理模块、课程信息管理模块和用户管理模块。三、系统总体设计1.系统架构设计学生选课管理信息系统的总目标是为用户提供迅速、高效的服务,避免手工处理的繁琐与误差,及时、准确地反学生选课情况、成绩情况,从而提高选课信息的效率,实现选课管理的规范化、自动化。在选课信息中,包括课程编号、课程名称、任课教师

3、、选课的学生情况等。在学生信息中,包括学号、姓名、所属院系、已选课情况等。在成绩信息中,包括课程编号、课程名称、学分、成绩。按一定条件可以查询,并将结果打印输出。具体的目标包括:(1)简便迅捷的用户登录服务(2)教师、学生、管理员的信息和选课相关信息(3)系统运行稳定可靠、各项维护功能齐全、易于维护(4)简单、友好的操作界面本实验实现的客房管理系统主要包括以下功能:(1).完成数据的录入和修改,并提交数据库保存。其中的数据包括:学生信息、课程设置、学生成绩以及操作员信息等;(2)实现信息查询。主要包括:学生信息查询、课程信息查询和成绩查询等;(3)具备一定的安全性管理功能。包括操作员的权限设置

4、、密码设置、重新登录和修改口令等功能。2.各模块功能: 学生选课管理信息系统学生信息管理模块学生选课管理模块用户管理模块课程信息管理学生选课模块成绩录入模块登录界面:登录界面是有帐号,密码两个JTextField,登录前要选择用户类别,登录帐号或密码输入错误会弹出相应的提示对话框。学生信息管理模块:管理员用于添加和删除学生信息的模块。用户管理模块:管理员用于添加和删除信息的模块。学生选课管理模块:管理员用于学生选课信息的管理。用户管理模块:管理员用于对登录用户的管理。课程信息管理模块:管理员用于对课程信息的管理。学生选课模块:该模块通过表格的形式将所有课程列出来,学生可以根据个人兴趣选择不同的

5、课程,且不能重复选课,否则会弹出对话框,提示用户查看已经选择了的课程。成绩录入模块:教师可以浏览选修自己课程的学生的信息并且录入该学生的成绩。3.数据库设计 (概要设计.)(1)E-R图授课教师学 分课程学生选课学生学号课程名课程号学生姓名所在班级学生性别学生年龄mn成绩(2)关系模式 学生(学生学号,学生姓名,学生性别,学生年龄,所在班级),课程(课程号,课程名,学分,授课教师)。选课主要包括2个实体,分别是学生、课程、及一个关系,即选修。一门课程可由多个学生选择,一个学生也可以选择多门课程,课程实体与学生实体是多对多关系。(3)数据库管理系统:Microsoft SQL Server 20

6、00(4)数据库命名:stu_cou表1 学生信息表Student的表结构主码列 名数据类型宽度小数位空否备 注PkSnumChar5N学号SnameChar8Y姓名SexChar2Y性别SageintY年龄SclassChar10Y所在班级表2 课程信息表Course的表结构主码列 名数据类型宽度小数位空否备 注PkCnumChar16N课程号CnameChar20Y课程名称CxfChar10Y学分CtchChar10Y修课教师 表3 选课表Choose的表结构主码列 名数据类型宽度小数位空否备 注PkSnumChar16N学号CnumChar16N课程号GradeDecimal101Y成绩

7、表4 管理员表User的表结构主码列 名数据类型宽度小数位空否备 注PkUsernameChar16N管理员姓名UsercodeChar16Y登陆密码UsertypeChar10Y类型四.系统界面设计1.系统登陆用户输入用户名和密码,系统查询数据库中的信息对用户名和密码进行验证。如果用户名或密码不正确则不能进入系统。如果用户名存在且密码正确,系统会自动根据该用户所在的表进入不同的界面且显示该用户相对应的基本信息。2. 学生界面a. 基本信息 学生登陆成功,可看到自己的基本信息包括学号、姓名、性别、年龄、系别。b. 选课 可查看学生本人的选课情况,包括课程名、授课老师、课室、分数。并可进一步进行

8、选择和删除。3. 教师界面a. 查看学生信息 可查看选择自己教授的课程的学生名单,并可进一步对选择该门课程的学生成绩进行录入和修改。4.管理员界面学生信息管理模块:管理员用于添加和删除学生信息的模块。用户管理模块:管理员用于添加和删除信息的模块。学生选课管理模块:管理员用于学生选课信息的管理。用户管理模块:管理员用于对登录用户的管理。系统登陆界面protected void btnin_Click(object sender, EventArgs e) string strCon = Data Source=localhost;Database=stu_cou;Integrated Secur

9、ity=true; SqlConnection conn = new SqlConnection(strCon); conn.Open();/打开数据库连接 SqlCommand cmd = new SqlCommand();/创建SqlCommand对象 cmd.Connection = conn;/关联conn cmd.CommandText = select * from user where username= + tbuserid.Text + and usercode= + tbusercode.Text + ;/设置CommanText为SQL语句 SqlDataReader d

10、r = cmd.ExecuteReader();/创建SqlDataReader对象 if (dr.Read() = true)/读入数据 Response.Redirect(choose.aspx?ch=+DropDownList1.SelectedItem.Text +& user=+tbuserid.Text); else Label4.Visible = true;/用户名或密码输入不正确 conn.Close(); 管理员界面管理员以用户类别为管理员,用户名为3001,密码123登录成功进入管理员的信息管理界面,通过点击“学生信息管理”和“教师信息管理”进入不同的管理界面,学生信息管

11、理界面如下:, 课程信息管理界面如下:学生选课管理界面如下:用户管理界面如下:protected void Page_Load(object sender, EventArgs e) string choose = Request.Paramsch; string username = Request.Paramsuser; if (choose =管理员) Panel2.Visible = true; if (choose = 学生) Panel3.Visible = true; lblsid.Text = username; if (choose = 教师) Panel4.Visible

12、= true; lbltid.Text = username; 学生界面以学生帐号(如:帐号: 1001)登陆成功后进入如下界面: protected void Button1_Click(object sender, EventArgs e) string strCon = Data Source=localhost;Database=stu_cou;Integrated Security=true; SqlConnection conn = new SqlConnection(strCon); conn.Open(); SqlCommand cmd1 = new SqlCommand();

13、 SqlCommand cmd2 = new SqlCommand(); cmd1.Connection = conn; cmd2.Connection = conn; cmd1.CommandText = select cnum from cou where cname= + DropDownList1.SelectedItem.Text + ; SqlDataReader dr = cmd1.ExecuteReader(); string num = ; while (dr.Read()/读入数据 num = drcnum.ToString(); cmd2.CommandText = in

14、sert into choose(snum,cnum) values( + lblsid.Text + , + num + ); if (cmd2.ExecuteNonQuery() 0)/Command对象的ExecteNonQuery方法执行不返回结果的SQL语句,执行SQL语句并返回受影响的记录行数 Label4.Text =选课成功!; Label4.Visible=true; else Label4.Text =选课失败!; Label4.Visible=true; conn.Close(); 教师界面以教师帐号(如:教师号2001,)登陆成功后进入如下界面: protected v

15、oid Button2_Click(object sender, EventArgs e) string strCon = Data Source=localhost;Database=stu_cou;Integrated Security=true; SqlConnection conn = new SqlConnection(strCon); conn.Open(); SqlCommand cmd1 = new SqlCommand(); SqlCommand cmd2 = new SqlCommand(); cmd1.Connection = conn; cmd2.Connection

16、= conn; cmd1.CommandText = select cnum from cou where cname= + DropDownList2.SelectedItem.Text + ; SqlDataReader dr = cmd1.ExecuteReader(); string num = ; while (dr.Read()/读入数据 num = drcnum.ToString(); cmd2.CommandText = insert into choose(grade) values( + tbgrade.Text + ) where snum= + DropDownList

17、3.SelectedItem.Text + and cnum= + num + ; if (cmd2.ExecuteNonQuery() 0)/Command对象的ExecteNonQuery方法执行不返回结果的SQL语句,执行SQL 语句并返回受影响的记录行数 Label4.Text =录入成功成功!; Label4.Visible=true; else Label4.Text =录入失败!; Label4.Visible=true; conn.Close(); 五、课程设计体会通过本次试验培养了我们利用所学的数据库原理及应用的知识,选择某一编程工具,进行数据库应用系统的开发,同时培养学生独

18、立思考问题、团队合作解决问题的能力和计算机应用编程的能力。在设计过程中我们选择开发工具,利用前面设计的数据库,建立一个基于C/S结构的数据库管理系统,涉及了数据维护(输入,修改,删除)、数据查询与统计等。根据所选设计项目,对项目进行需求分析和设计方法,形成一个问题的解决方案,我们先对问题进行分析,明确问题的目标和解决问题的思路,同样设计出问题的解决方案,最后采用一种开发工具进行设计和实现来解决问题。该系统主要实现了学生选课管理的功能,这个系统是我和队友周运共同完成的,从需求分析,界面的搭建,到数据库的连接,表格,存储过程和存储过程等的建立,在这段时间的摸索中,我确实学到了很多东西,特别是对以前

19、不太了解的数据源控件有了更深刻的了解。比如gridview,对于它的用法我在网上找了很多资料以及gridview的建立有各种不同的方法等,都是我有了更深的了解。另外,我们对图形用户界面的设计了解较少,刚开始不能很好的设计出交互性较好的界面,随着不断的测试,也改善了不少,但还是缺乏一般应用软件的界面感。在对数据完整性和安全性设计时考虑不周到,没有联想到所有的错误输入,导致输入数据不正确时不能很好的提示用户。对于数据库,我尽量将对数据库的操作放在存储过程中,这样的抽象和封装使得源程序代码更加容易理解,而且在web应用系统中也可以避免发生不安全的状况,我想这是一个号的程序员应当要养成的习惯,在这次的

20、课程设计中,层次化,模块化,抽象化也是我学到的一个重要的经验,参考一些资料后发现模块化能使程序设计更加简单,设计代码时目标更加明确,效率更高。同时通过这几天的编写,我也发现了自己的很多不足,自己知识的很多漏洞,看到了自己理论联系实际的能力还是比较脆弱。尤其是编写大型的程序所要拥有的知识和技能比较缺乏。程序编好了,还要经过调试和修改,这步也很关键,好的程序是经过了无数次的修改和调试才产生的。我的程序基本上能够满足要求,但还有一些地方需要改进,在今后我应该在多看书的同时还要加强实践的练习。才能进一步提高自己的编程能力。 四、一辈子孤单并不可怕,如果我们可以从中提炼出自由,那我们就是幸福的。许多长久

21、的关系都以为忘记了当初所坚持与拥有的,最后又开始羡慕起孤单的人。五、恋爱,在感情上,当你想征服对方的时候,实际上已经在一定程度上被对方征服了。首先是对方对你的吸引,然后才是你征服对方的欲望。六、没有心如刀割,不再依依不舍,只有,沉默相隔七、和你在一起只是我不想给任何人机会。八、一个人总要走陌生的路,看陌生的风景,听陌生的歌,然后在某个不经意的瞬间,你会发现,原本是费尽心机想要忘记的事情真的就那么忘记了。九、无论我们爱过还是就这样错过,我都会感谢你。因为遇见你,我才知道思念一个人的滋味;因为遇见你,我才知道感情真的不能勉强;因为遇见你,我才知道我的心不是真的死了;因为遇见你,我才知道我也能拥有美

22、丽的记忆。所以,无论你怎么对待我,我都会用心去宽恕你的狠,用心去铭记你的好。十、爱情需要的是彼此互相的照顾,当我们心爱的人累了,我们不是坐在一边不理,而是多陪对方谈谈心,对方需要什么的时候,自己尽量的满足对方的需求,至少可以让对方知道,在自己身边的感觉是如此的温暖。十一、自从你出现後,我才知道原来有人爱是那麽的美好十二、有的人与人之间的相遇就像是流星,瞬间迸发出令人羡慕的火花,却注定只是匆匆而过。十三、有一些人,这一辈子都不会在一起,但是有一种感觉却可以藏在心里守一辈子。十四、不要轻易说爱,许下的承诺就是欠下的债!十五、不管你是多么的爱对方,但千万不可当第三者。细想,默然。因为知道,这样的故事一开始便注定了结局,一开始就注定在这个故事里,很多人会受伤。离开的总是要离开,挽留不住,就像彼岸花,穷其一生,花叶仍是生生相错。十六、什么叫快乐?就是掩饰自己的悲伤对每个人微笑。十七、爱情与视力无关,任你看得再怎么清楚,在爱里只有模糊。因为太聪明太理智就没有办法恋爱,爱情根本是盲目的。十八、恋爱就像剪头发,这种事情不到最后是不知道结果的,结果能否令每个人皆大欢喜,无人保障,但是一切都是自己的选择。十九、因为爱过,所以慈悲:因为懂得,所以宽容。二十、那些随风散

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论