《课程设计选题管理系统.doc》由会员分享,可在线阅读,更多相关《课程设计选题管理系统.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流课程设计选题管理系统.精品文档.数据库原理及应用课程设计报告题 目: 课程设计选题管理系统 所在学院: 信息工程学院 班 级: 计科1002 学 号: 101304219 姓 名: 宋震宇 指导教师: 陈才扣 2013年1月 4 日目录 一、概述3二、需求分析3三、概念设计4四、逻辑设计5五、系统实现7 六、小结19一、 概述 课程设计选题管理是高校必不可缺的组成部分,一直以来,学院教学管理工作人员使用传统人工的方式进行课程设计选题的管理,模式多种多样。随着大学越来越多,学生在课程设计的选择上工作量越来越大,这都将导致学生和老师浪费更多的时间
2、在选择上面。 就目前的情况来看来各个学校在处理问题时,基本上都是靠人力,收工完成。这种管理方式存在着许多缺点,如:效率低、容易出错,实时性和互动性不强等,在发挥学生特长、更有效地通过课程设计强化学生知识体系的目标不吻合,也无法实现学分制下教学管理的要求。所以在此基础上开发一个课程设计选题管理系统是十分有必要的。项目开发的课程设计选题管理系统能够满足不同特点的学生对课题的不同要求,有利于发挥学生的特点,让学生根据自己的实际爱好,按要求自由选择课题,让水平比较高的学生选择难度大一些的课题,水平较高的学生有充分发挥才能的空间,让水平不是特别高的学生选择适合自己的难度适当的题目。通过选择课题,使各类学
3、生的知识水平、实践潜力都得到充分调动,解决问题的潜力得到充分发挥。而且能够充分利用各种教育资源,建立,优化课题组织结构,调动教师与学生教和学的积极性,进一步提高学生的质量,提高办学水平,具有十分重要的作用。作为计算机应用的一部分,使用计算机对课题信息进行管理,具有人工管理所无法比拟的优点例如:操作方便,使用简单,自主性强等。这些优点能够极大地提高学校课程设计课题管理的质量,进一步提高办学水平和办学效率,有利于贯彻“以人为本”的教育原则,适应当今时代对高等教育的客观要求,培养出更多一专多能的学生。 基于网络数据库的学生课程设计选题系统是在网络环境的支持下,开展学生选题和信息查询的一种先进模式,发
4、挥学生选择课题的自主性,提高学校课题管理效率。网络选题具有其它技术手段无可比拟的优越性,因此世界各国尤其是发达国家无不对此给予高度的重视。发达国家主要从硬件和实践上建立网络选题环境,并建起信息传递式、合作学习模式等几种主要的选题模式. 本系统以windows为操作系统,运用了MySql的数据库技术,开发Java窗口,界面简洁,功能相对齐全的“课程设计选题管理系统”。 该系统只有当用户通过正确口令和身份验证才能进入该系统进行相关操作。二、 需求分析2.1 软件设计的目的及背景 “课程设计选题管理系统”是办公自动化的具体体现,在信息时代的今天,学校的教学管理已经基本上实现了自动化办公和网上管理,而
5、各种各样的办公软件在市场上也随处可见,课程设计的课题及志愿管理也应该由一个专门的软件进行管理。每学期课程设计的选题是一个很麻烦的事情,如果采用手工操作或软件设计不当,将是一件难以想象的麻烦事,他不仅回花费老师很大精力,而且会达不到预想的效果。2.2 软件设计的思想与目标 该系统的设计目的主要是方便教师、学生两种用户,所有操作都在网上完成。基于不同用户对象的应用程序是不一样的,用户对象包括学生、老师。他们访问数据,对系统实现和数据库方面的知识没有什么要求,只需简单的界面操作。下面简单介绍这两个用户对象的功能模块;学生可对有关课题进行查询,采用题号查询方式,可以方便学生了解课题的相关信息(课题内容
6、、课题名称等)。教师浏览所有课题,也可以申请课题,同时可以查看有无学生选择自己的课题。系统的安全性是不可忽略的方面,本系统的合法用户是学生以及老师。在进入系统前都要进行身份验证。我们的目标是要让该平台来代替以前教务管理人员的工作。把课题申报和选题处理都通过网络来交互实现。该平台实质上是一个基于CS结构的数据库应用系统,由数据库、数据库管理系统、应用系统和用户组成。2.3 用户简介 毕业设计选题管理系统主要针对学生及教师用户,由于现在网络技术和信息技术的飞速发展,学生填报志愿、教师申请课题如果还是单机版的管理,那工作程序将是相当烦琐的。所以,为了方便学生选题,方便教师对自己课题的查看,该系统的设
7、计采用了基于C/S的操作平台。这样,不同的用户就可以随时随地对自己的信息进行管理了2.4 数据库需求 在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。2.3 应用环境需求
8、 Windows XP,SQL Server 2008三、概念设计 用户实体由姓名、密码、身份组成: 用户姓名密码身份 E-R模型1 题目实体由题号、题目、内容、所选学生组成:E-R模型2题目题号题目预选学生内容学生 学生实体由姓名、学号、性别、年龄、地址、出生日期、班级、系别组成:学生姓名学号性别地址出生系别 E-R模型3年龄班级四、逻辑设计4.1 逻辑设计的任务和目标 以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据
9、组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。4.2 将E-R图转换为关系模型 实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系可以转换
10、为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。具有相同码的关系模式可合并。4.3 数据库模式定义 数据库的模式定义包括三个方面: (1)数据的逻辑结构; (2)数据之间的联系; (3)数据有关的完整性约束、安全性要求。 表4.3.1用户信息表属性名数据类型是否允许为空说明namechar 否用户姓名passwordchar 否密码shenfenchar 否身份 表4.3.2题目信息表属性名数据类型是否允许为空说明tihaochar否
11、题号timuchar 否题目neirongchar 否内容studentchar 否学生yuxuanstudentchar 否预选学生 表4.3.3学生信息表属性名数据类型是否允许为空说明stnamechar否姓名stcodechar 否学号stsexychar 否性别stagechar 否年龄staddresschar 否地址stbirthdaychar 否出生日期classchar 否班级majorchar 否系别五、系统实现登陆界面:loginframe() Toolkit kit = Toolkit.getDefaultToolkit();Dimension screenSize =
12、kit.getScreenSize();int width = screenSize.width;int height = screenSize.height;int x = (width - WIDTH) / 2;int y = (height - HETGHT) / 2;ImageIcon start = new ImageIcon(D:1_副本.png);loginframe = new JFrame(-选题系统-);loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);GridBagLayout lay = new Grid
13、BagLayout();setLayout(lay);loginframe.add(this, BorderLayout.WEST);loginframe.setSize(WIDTH, HETGHT);loginframe.setResizable(false);ok = new JButton(登录);cancel = new JButton(退出);JLabel name = new JLabel( 用户名 );JLabel password = new JLabel( 密码 );teacher=new JRadioButton(教师,true);student=new JRadioBut
14、ton(学生);ButtonGroup group=new ButtonGroup();group.add(teacher);group.add(student);JLabel headlog = new JLabel();headlog.setIcon(start);nameinput = new JTextField(15);passwordinput = new JPasswordField(15);GridBagConstraints constraints = new GridBagConstraints();constraints.fill = GridBagConstraints
15、.NONE;constraints.anchor = GridBagConstraints.CENTER;constraints.weightx = 4;constraints.weighty = 5;add(headlog, constraints, 0, 0, 4, 1);add(name, constraints, 2, 1, 1, 1);add(password, constraints, 2, 2, 1, 1);add(nameinput, constraints, 3, 1, 1, 1);add(passwordinput, constraints, 3, 2, 1, 1);add
16、(teacher, constraints, 2, 3, 1, 1);add(student, constraints, 3, 3, 1, 1);add(ok, constraints, 2, 4, 1, 1);add(cancel, constraints, 3, 4, 4, 1);loginframe.setLocation(x, y);loginframe.setVisible(true);getRootPane().setDefaultButton(ok);ok.addActionListener(this);cancel.addActionListener(this);teacher
17、.addActionListener(this);student.addActionListener(this);教师界面:class teachermainframe extends JPanel implements ActionListener static final int WIDTH = 1000;static final int HETGHT = 500;private JFrame usermainframe;private JMenu timu,xuanti,xuesheng, help,quanxian;private JMenuItem studentadd,helpa,
18、 about, timuadd,timuchange,timudelete,timusearch,xueshengsearch,xuantiqueren,xuantisearch;public void add(Component c, GridBagConstraints constraints, int x, int y,int w, int h) constraints.gridx = x;constraints.gridy = y;constraints.gridwidth = w;constraints.gridheight = h;add(c, constraints);publi
19、c teachermainframe() Toolkit kit = Toolkit.getDefaultToolkit();Dimension screenSize = kit.getScreenSize();int width = screenSize.width;int height = screenSize.height;int x = (width - WIDTH) / 2;int y = (height - HETGHT) / 2;usermainframe = new JFrame(-选题管理系统-);usermainframe.setDefaultCloseOperation(
20、JFrame.EXIT_ON_CLOSE);GridBagLayout lay = new GridBagLayout();setLayout(lay);usermainframe.add(this, BorderLayout.WEST);usermainframe.setSize(1000, 500);usermainframe.setLocation(x, y);usermainframe.setResizable(false);usermainframe.setVisible(true);String path = D:5.png;ImageIcon background = new I
21、mageIcon(path);JLabel label = new JLabel(background);label.setBounds(0, 0, usermainframe.getWidth(),usermainframe.getHeight();JPanel imagePanel = (JPanel) usermainframe.getContentPane();imagePanel.setOpaque(false);usermainframe.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE);JPanel content
22、Pane = new JPanel() public void paint(Graphics g) Graphics2D g2 = (Graphics2D) g;g2.setFont(new Font(华文行楷, Font.BOLD, 56);g2.shear(0.0, 00.0);g2.drawString(-教师界面-, 280, 230);usermainframe.add(contentPane);JMenuBar menubar = new JMenuBar();usermainframe.setJMenuBar(menubar);timu = new JMenu(题目管理);xue
23、sheng = new JMenu(学生管理);xuanti = new JMenu(选题管理);help = new JMenu(帮助);quanxian = new JMenu(权限);about = new JMenuItem(关于);helpa = new JMenuItem(帮助手册);timuadd = new JMenuItem(题目添加);timuchange = new JMenuItem(题目修改);timudelete = new JMenuItem(题目删除);timusearch = new JMenuItem(题目查询);xueshengsearch = new J
24、MenuItem(学生查询);xuantiqueren=new JMenuItem(选题确认);xuantisearch=new JMenuItem(选题查询);studentadd = new JMenuItem(添加用户);menubar.add(timu);menubar.add(xuesheng);menubar.add(xuanti);menubar.add(help);menubar.add(quanxian);quanxian.add(studentadd);timu.add(timuadd);timu.add(timuchange);timu.add(timudelete);t
25、imu.add(timusearch);xuesheng.add(xueshengsearch);xuanti.add(xuantiqueren);xuanti.add(xuantisearch);help.add(helpa);help.add(about);helpa.addActionListener(this);about.addActionListener(this);xueshengsearch.addActionListener(this);timuadd.addActionListener(this);timuchange.addActionListener(this);tim
26、udelete.addActionListener(this);timusearch.addActionListener(this);xuantiqueren.addActionListener(this);xuantisearch.addActionListener(this);studentadd.addActionListener(this);教师题目管理界面:public void actionPerformed(ActionEvent e) Object source = e.getSource();if (source = about) String message = 课程设计选
27、题管理系统 V1.0 版 ;JOptionPane.showMessageDialog(null, message); else if (source = helpa) String message = 帮助功能待续. ;JOptionPane.showMessageDialog(null, message);else if (source = studentadd) yonghuaddframe main=new yonghuaddframe();else if (source = xueshengsearch) String sql=select * from studentBean wh
28、ere class=二班and major=计算机系;studentinformationframe main=new studentinformationframe(sql);else if (source = timuadd|source =timuchange|source =timudelete|source =timusearch) String sql=select * from timuBean;timuinformationframe main=new timuinformationframe(sql);else if (source = xuantiqueren) timuq
29、urenframe main=new timuqurenframe();else if (source = xuantisearch) timusearchframe main=new timusearchframe();学生管理界面:权限界面:class yonghuaddframe extends JPanel implements ActionListener static final int WIDTH = 400;static final int HETGHT = 300;private static final long serialVersionUID = 1L;private
30、JButton ok,chage;JFrame flatAddframe;private String inputname,inputquanxian, inputpassword;private JComboBox duty;private JTextField passwordinput,nameinput;private String oldname,password;private int num=0;static userBean ss;private String dutyinput;public void add(Component c, GridBagConstraints c
31、onstraints, int x, int y,int w, int h) constraints.gridx = x;constraints.gridy = y;constraints.gridwidth = w;constraints.gridheight = h;add(c, constraints);public yonghuaddframe() flatAddframe = new JFrame();flatAddframe.setTitle(用户添加界面);String str = 用户添加界面;flatAddframe.setDefaultCloseOperation(JFra
32、me.DISPOSE_ON_CLOSE);flatAddframe.setSize(WIDTH, HETGHT);flatAddframe.setVisible(true);Toolkit kit = Toolkit.getDefaultToolkit();Dimension screenSize = kit.getScreenSize();int width = screenSize.width;int height = screenSize.height;int x = (width - WIDTH) / 2;int y = (height - HETGHT) / 2;flatAddfra
33、me.setLocation(x, y);flatAddframe.setResizable(false);flatAddframe.add(this, BorderLayout.CENTER);GridBagLayout lay = new GridBagLayout();setLayout(lay);JLabel name = new JLabel(用户);JLabel password = new JLabel(密码);JLabel quanxian = new JLabel(权限);JLabel title = new JLabel(str);duty = new JComboBox(
34、);duty.addItem(教师);duty.addItem(学生);nameinput = new JTextField(10);passwordinput = new JTextField(10);GridBagConstraints constarints = new GridBagConstraints();constarints.fill = GridBagConstraints.NONE;constarints.weightx = 4;constarints.weighty = 6;ok = new JButton(确认添加);add(title, constarints, 0,
35、 0, 4, 1);add(name, constarints, 0, 1, 1, 1);add(nameinput, constarints, 1, 1, 1, 1);add(password, constarints, 0, 2, 1, 1);add(passwordinput, constarints, 1, 2, 1, 1);add(quanxian, constarints, 2, 2, 1, 1);add(duty, constarints, 3, 2, 1, 1);add(ok, constarints, 3, 5, 1, 1);ok.addActionListener(this
36、);学生界面:public studentmainframe(final String oldname) nameee=oldname;Toolkit kit = Toolkit.getDefaultToolkit();Dimension screenSize = kit.getScreenSize();int width = screenSize.width;int height = screenSize.height;int x = (width - WIDTH) / 2;int y = (height - HETGHT) / 2;usermainframe = new JFrame(-选
37、题管理系统-);usermainframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);GridBagLayout lay = new GridBagLayout();setLayout(lay);usermainframe.add(this, BorderLayout.WEST);usermainframe.setSize(1000, 500);usermainframe.setLocation(x, y);usermainframe.setResizable(false);usermainframe.setVisible(true);Str
38、ing path = D:5.png;ImageIcon background = new ImageIcon(path);JLabel label = new JLabel(background);label.setBounds(0, 0, usermainframe.getWidth(),usermainframe.getHeight();JPanel imagePanel = (JPanel) usermainframe.getContentPane();imagePanel.setOpaque(false);usermainframe.getLayeredPane().add(labe
39、l,new Integer(Integer.MIN_VALUE);JPanel contentPane = new JPanel() public void paint(Graphics g) Graphics2D g2 = (Graphics2D) g;g2.setFont(new Font(华文行楷, Font.BOLD, 56);g2.shear(0.0, 00.0);g2.drawString(-学生界面-, 280, 230);usermainframe.add(contentPane);JMenuBar menubar = new JMenuBar();usermainframe.
40、setJMenuBar(menubar);timu = new JMenu(课题管理);help = new JMenu(帮助);about = new JMenuItem(关于);helpa = new JMenuItem(帮助手册);xuanti = new JMenuItem(选择课题);menubar.add(timu);menubar.add(help);timu.add(xuanti);help.add(helpa);help.add(about);helpa.addActionListener(this);about.addActionListener(this);xuanti.
41、addActionListener(this);学生课题管理界面:class xuanzetimuframe extends JPanelstatic final int WIDTH=700; static final int HETGHT=400; private static final long serialVersionUID=1L; final JComboBox tihaoinput; final JTextField timuinput; final JTextField neironginput; JFrame studentinfoframe; storesystem2 st
42、ore=new storesystem2(); Connection con=store.getConnection(); private GridBagConstraints constarints; public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h) constraints.gridx=x; constraints.gridy=y; constraints.gridwidth=w; constraints.gridheight=h; add(c,constraints); public xuanzetimuframe(final String oldname) String str=课题选择界面; String sql=select * from timuBean; studentinfoframe=new JFrame(); studentinfoframe.setTitle(str); studentinfoframe.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); studentinfoframe.setSize(WIDTH,HETGHT)