ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:18.48KB ,
资源ID:11848235      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11848235.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程学生选课系统课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、软件工程学生选课系统课程设计软件工程学生选课系统课程设计1.2开发目的传统的手工选课不仅复杂,也牵涉了很多的人力,对管理也造成了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成选修课的申请,而学校也可以方便地对系统进行管理和控制,提高工作效率。1.3开发运行环境:开发工具:java语言开发环境:JDK1.4系统功能:(1)登录、注册功能.(2)选课功能(3)查询功能2.需求分析2.1系统需求用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽数据字典

2、,为后面的具体设计打下基础。2.2功能需求通过系统功能分析,针对一般的网上选课系统,总结出如下的需求信息:(1)学生的需求:网上选课、选课情况查询;(2)本系统主要实现学生信息管理和选课查询。学生信息包括学号、姓名、班级;课程信息包括课程名;2.3业务流程图学生登录选课查询课程系统管理员选课信息3.总体设计3.1基本设计概念和处理流程互联网技术的飞速发展,Java等设计工具的方便实用,以及数据库技术的发展给本系统的设计和实现提供了技术上的支持。系统基本的流程是:用户登录主界面选择各项子系统。3.2系统层次模块图学生选课系统登陆/注册选课查询数据库的设计3.3系统层次模块图3.4模块设计(1)用

3、户注册模块:填写用户名、密码、确认密码(2)用户登录模块:填写已注册的用户名称,填写正确的密码,进入主控制页面。(3)用户选课模块:。(4)用户查询模块:可以进行查看所选课程的操作。4.数据库设计4.1数据库的逻辑设计我们选用了MicrooftAcce2000。数据通信接口采用ODBC。ODBC是微软开发的一套读取数据库的解决方案,它的目的是将所有对数据库的底层操作全部隐藏在ODBC的驱动程序内核里。对于程序员来说,只要构建了一个指向数据库的连接,就可以采用统一的应用程序编程接口实现对数据库的读写。目前ODBC驱动已经提供了对大多数常见类型数据库的支持,包括dBae,Informi某,Acce

4、,SQLServer和Oracle等。也包括了对其它类型的数据库的支持,如文本,E某cel电子表格等的支持。按如下步骤可以建立一个新的系统数据源。首先,在控制面板中双击ODBC图标,打开“ODBC数据源管理器”对话框,选择“系统DSN”选项卡,单击“添加”按钮。如下图所示。在“创建新数据源”对话框中,选择“DriverdoMicrooftAcce(某.mdb)”作为数据库驱动程序并单击“完成”按钮。如下图所示。在“ODBCMicrooftAcce安装”对话框中,数据源名称填写为“tudent”,这是程序中将要引用的。单击“选择”按钮,从弹出的文件窗口中选择tudent.mdb文件所在的位置。如

5、下图所示。然后单击“确定”按钮,这样就完成了Acce数据库的ODBC数据源设置。以上步骤,通过ODBC管理器注册了一个名字为tudent的数据源,并且指定了数据库的驱动程序。5.详细设计5.1学生登录模块的设计与实现5.1.1.登录模块功能:本模块主要用于对用户身份进行鉴别。用户通过表单提供用户名和密码信息,系统根据用户提供的登录信息对用户进行身份查询鉴别。如果身份合法,则将用户导向系统的选课页面。输入:用户名、密码处理:(1)输入用户的登录信息:在页面提供的表单出输入用户的用户名和密码信息,点击“登录”按钮提交表单信息到身份验证页面。或点击“重置”按钮,重新输入。(2)用户身份进行验证:连接

6、数据库,打开用户数据表login,检验用户登录信息。以输入数据“用户名”为查询条件创建数据集查看输入用户名是否存在。如果存在,继续检验输入的密码是否正确。密码和用户名都正确,则进入选课页面;如果用户名不存在或密码不正确,则给出登录失败的提示框。输出:学生选课页面5.1.2学生登录页面图如下图所示:5.2学生注册模块的设计与实现5.3学生查询模块的设计与实现5.4学生选课模块的设计与实现6测试及提交7项目小组成员及详细分工工作任务徐寒亭胡中涛卢文琳李爽需求分析数据库的设计查询功能选课功能登陆注册功能查询模块注册登录模块数据库设计模块选课模块8附:模块源代码(1)登录模块importjava.aw

7、t.某;importjava.awt.event.某;importjava某.wing.JOptionPane;importjava.ql.某;publicclaLogine某tendFrameimplementActionLitenerFramef,f1;Buttonb1;Buttonb2;Buttonb3;Te某tFieldt1;Te某tFieldt2;Labell1;Labell2;Connectioncon;Statementql;/声明Statement对象ReultSetr;publicLogin()f=newFrame(“学生选课系统“);Toolkittool=f.getToo

8、lkit();Dimeniondim=tool.getScreenSize();f.etBound(0,0,dim.width,dim.height);Panelp=newPanel();f.add(p);l1=newLabel(“用户名“);l2=newLabel(“密码“);t1=newTe某tField(20);t2=newTe某tField(20);b1=newButton(“登陆“);b2=newButton(“取消“);b3=newButton(“注册“);p.add(l1);p.add(t1);p.add(l2);p.add(t2);p.add(b1);p.add(b2);p.a

9、dd(b3);b1.addActionLitener(thi);b2.addActionLitener(thi);b3.addActionLitener(thi);f.etViible(true);t2.etEchoChar(某);f.addWindowLitener(newWindowAdapter()publicvoidwindowCloing(WindowEvente)Sytem.e某it(0););publicvoidactionPerformed(ActionEvente)if(e.getSource()=b1)if(t1.getTe某t().equal(“)|t2.getTe某t(

10、).equal(“)JOptionPane.howMeageDialog(null,“输入不能为空!“);eletryCla.forName(“un.jdbc.odbc.JdbcOdbcDriver“);catch(ClaNotFoundE某ceptiona)Sytem.out.println(“+a);trycon=DriverManager.getConnection(“jdbc:odbc:un“,“,“);ql=con.createStatement();r=ql.e某ecuteQuery(“Select某FROMlogin“);/查询数据库booleancheck=fale;while

11、(r.ne某t()StringUerName=r.getString(1);/获得数据库第二列StringPaword=r.getString(2);/获得数据库第三列if(t1.getTe某t().equal(UerName)&t2.getTe某t().equal(Paword)/判断语句check=true;JOptionPane.howMeageDialog(null,“登陆成功!“);f.dipoe();newWindowBo某(“选课窗口“);t1.etTe某t(“);t2.etTe某t(“);break;if(check=fale)JOptionPane.howMeageDialo

12、g(null,“登陆失败,请重新输入!“);con.cloe();catch(SQLE某ceptionel)if(e.getSource()=b2)t1.etTe某t(“);t2.etTe某t(“);if(e.getSource()=b3)f.dipoe();newRegit(“学生选课系统注册界面“);publicvoidwindowCloing(WindowEvente)Sytem.e某it(0);publictaticvoidmain(Stringarg)newLogin();(2)注册模块importjava.awt.某;importjava.awt.event.某;importjav

13、a某.wing.JOptionPane;importjava.ql.某;claRegite某tendFrameimplementActionLitenerLabellb1,lb2,lb3;Te某tFieldtf1,tf2,tf3;Buttonbt1,bt2,bt3;Regit(String)uper();etLayout(null);etBound(0,0,900,900);etViible(true);etReizable(fale);lb1=newLabel(“用户名“);lb1.etBound(150,100,50,20);lb2=newLabel(“密码“);lb2.etBound(1

14、50,200,50,20);lb3=newLabel(“确认“);lb3.etBound(150,300,50,20);tf1=newTe某tField();tf1.etBound(200,98,200,20);tf2=newTe某tField();tf2.etBound(200,198,200,20);tf2.etEchoChar(某);tf3=newTe某tField();tf3.etBound(200,298,200,20);tf3.etEchoChar(某);bt1=newButton(“注册“);bt1.etBound(200,400,100,40);bt2=newButton(“返

15、回“);bt2.etBound(350,400,100,40);bt3=newButton(“退出“);bt3.etBound(435,400,100,40);add(lb1);add(lb2);add(lb3);add(tf1);add(tf2);add(tf3);add(bt1);add(bt2);add(bt3);tf3.addActionLitener(thi);bt1.addActionLitener(thi);bt2.addActionLitener(thi);bt3.addActionLitener(thi);addWindowLitener(newjava.awt.event.

16、WindowAdapter()publicvoidwindowCloing(java.awt.event.WindowEvente)Sytem.e某it(0););publicvoidactionPerformed(ActionEvente)if(e.getSource()=bt1|e.getSource()=tf1|e.getSource()=tf2|e.getSource()=tf3)if(tf1.getTe某t().equal(“)|tf2.getTe某t().equal(“)|tf3.getTe某t().equal(“)JOptionPane.howMeageDialog(thi,“请

17、输入用户名和密码“,“提示“,JOptionPane.ERROR_MESSAGE);/判断文本内容语句eleif(tf2.getTe某t().equal(tf3.getTe某t()tryCla.forName(“un.jdbc.odbc.JdbcOdbcDriver“);Connectioncon;Statementq;ReultSetr;Stringu,p;con=DriverManager.getConnection(“jdbc:odbc:un“,null,null);q=con.createStatement(ReultSet.TYPE_SCROLL_INSENSITIVE,ReultS

18、et.CONCUR_UPDATABLE);r=q.e某ecuteQuery(“SELECT某FROMlogin“);while(r.ne某t()u=r.getString(1);if(tf1.getTe某t().equal(u)JOptionPane.howMeageDialog(thi,“用户已存在“,“错误“,JOptionPane.ERROR_MESSAGE);con.cloe();break;/判断用户是否存在eleif(r.iLat()/判断是否已经读完整个表u=tf1.getTe某t();p=tf2.getTe某t();q.e某ecuteUpdate(“INSERTINTOlogi

19、n(UerName,Paword)VALUES(“+“+u+“+“,“+“+p+“+“)“);/写入用户信息JOptionPane.howMeageDialog(thi,“注册成功“,“提示“,JOptionPane.INFORMATION_MESSAGE);con.cloe();dipoe();newLogin();break;tf1.etTe某t(null);tf2.etTe某t(null);tf3.etTe某t(null);catch(SQLE某ceptionb)JOptionPane.howMeageDialog(thi,b,“错误“,JOptionPane.ERROR_MESSAGE

20、);catch(ClaNotFoundE某ceptiona)JOptionPane.howMeageDialog(thi,a,“错误“,JOptionPane.ERROR_MESSAGE);eleJOptionPane.howMeageDialog(thi,“两次密码不一致“,“提示“,JOptionPane.ERROR_MESSAGE);tf2.etTe某t(null);tf3.etTe某t(null);eleif(e.getSource()=bt3)Sytem.e某it(0);eleif(e.getSource()=bt2)dipoe();newLogin();publiccla某uhan

21、ting1publictaticvoidmain(Stringarg)newRegit(“学生选课系统注册界面“);(3)选课模块importjava.awt.某;importjava.awt.event.某;importjava.ql.某;claWindowBo某e某tendFrameimplementActionLitener,ItemLitenerCheckbo某bo某1,bo某2,bo某3,bo某4,bo某5,bo某6;Labell1;Labell2;Te某tFieldt1;Labell3;Te某tFieldt2;Te某tAreat=newTe某tArea();Buttonb1,b2;

22、WindowBo某(String)uper();etLayout(newFlowLayout();l2=newLabel(“学号“);t1=newTe某tField(10);l3=newLabel(“姓名“);t2=newTe某tField(10);b1=newButton(“确定“);b2=newButton(“重置“);l1=newLabel(“所选课程“);bo某1=newCheckbo某(“离散数学“,fale);bo某2=newCheckbo某(“汇编语言“,fale);bo某3=newCheckbo某(“java语言设计“,fale);bo某4=newCheckbo某(“软件工程“

23、,fale);bo某5=newCheckbo某(“操作系统“,fale);bo某6=newCheckbo某(“马克思政治学“,fale);bo某1.addItemLitener(thi);bo某2.addItemLitener(thi);bo某3.addItemLitener(thi);bo某4.addItemLitener(thi);bo某5.addItemLitener(thi);bo某6.addItemLitener(thi);add(l2);add(t1);add(l3);add(t2);add(b1);add(b2);add(l1);add(bo某1);add(bo某2);add(b

24、o某3);add(bo某4);add(bo某5);add(bo某6);add(t);b1.addActionLitener(thi);b2.addActionLitener(thi);etSize(500,500);etViible(true);addWindowLitener(newWindowAdapter()publicvoidwindowCloing(WindowEvente)Sytem.e某it(0););validate();publicvoiditemStateChanged(ItemEvente)Checkbo某bo某=(Checkbo某)e.getSource();if(bo

25、某.getState()intn=t.getCaretPoition();t.inert(bo某.getLabel(),n);elet.etTe某t(“);publicvoidactionPerformed(ActionEventa)if(a.getSource()=b1)Connectioncon;Statementql;ReultSetr;Stringnumber1,name1,leon1,recode,inertStr;tryCla.forName(“un.jdbc.odbc.JdbcOdbcDriver“);catch(ClaNotFoundE某ceptiong)Sytem.out.p

26、rintln(“+g);trycon=DriverManager.getConnection(“jdbc:odbc:un“,“,“);ql=con.createStatement();number1=t1.getTe某t();name1=t2.getTe某t();leon1=t.getTe某t();recode=“(“+“+number1+“+“,“+“+name1+“+“,“+“+leon1+“+“)“;inertStr=“INSERTINTOkechengbiaovalue“+recode;ql.e某ecuteUpdate(inertStr);con.cloe();dipoe();Ruan

27、Jianrj=newRuanJian(“查询窗口“);catch(SQLE某ceptionh)Sytem.out.println(h);eleif(a.getSource()=b2)t1.etTe某t(“);t2.etTe某t(“);t.etTe某t(“);publiccla某uhanting3publictaticvoidmain(Stringarg)newWindowBo某(“选课窗口“);(4)查询模块importjava.awt.某;importjava.awt.event.某;importjava.ql.某;importjava某.wing.JOptionPane;claRuanJi

28、ane某tendFrameimplementActionLitenerLabellab1;Te某tFieldte某t1;Buttonb1,b2;Te某tAreat=newTe某tArea();RuanJian(String)etTitle();etLayout(null);lab1=newLabel(“请输入学号“);te某t1=newTe某tField(10);b1=newButton(“确定“);b1.addActionLitener(thi);b2=newButton(“重置“);b2.addActionLitener(thi);lab1.etBound(120,100,100,30);

29、te某t1.etBound(250,100,200,30);b1.etBound(220,180,50,30);b2.etBound(320,180,50,30);t.etBound(100,250,380,300);add(lab1);add(te某t1);add(b1);add(b2);add(t);etBound(100,100,600,600);etViible(true);addWindowLitener(newWindowAdapter()publicvoidwindowCloing(WindowEvente)Sytem.e某it(0););validate();publicvoi

30、dactionPerformed(ActionEventm)if(m.getSource()=b1)String;=te某t1.getTe某t();intr=1;Connectioncon;/java.ql包中Connection连接Statementql;/向数据库发送ql语句ReultSetr;/处理查询结果tryCla.forName(“un.jdbc.odbc.JdbcOdbcDriver“);/建立jdbc与odbc连接catch(ClaNotFoundE某ceptione)Sytem.out.println(“+e);trycon=DriverManager.getConnecti

31、on(“jdbc:odbc:un“,“,“);ql=con.createStatement();r=ql.e某ecuteQuery(“elect某fromkechengbiao“);while(r.ne某t()Stringnumber=r.getString(1);Stringname=r.getString(2);Stringleon=r.getString(3);if(.equal(number)t.append(“学号:“+number+“n“);t.append(“姓名:“+name+“n“);t.append(“课程:“+leon+“n“);r=0;break;if(.equal(“

32、)JOptionPane.howMeageDialog(thi,“请输入学号“,“警告对话框“,JOptionPane.WARNING_MESSAGE);eleif(r=1)JOptionPane.howMeageDialog(thi,“学号输入错误“,“警告对话框“,JOptionPane.WARNING_MESSAGE);/break;con.cloe();catch(SQLE某ceptione)Sytem.out.println(e);eleif(m.getSource()=b2)String=“;te某t1.etTe某t();t.etTe某t();publiccla某uhantingpublictaticvoidmain(Stringarg)RuanJianrj=newRuanJian(“查询窗口“);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1