1、论文题目:学生信息管理系统的开发与实现系 部: 计算机信息技术工程系 专 业: 计算机应用技术 姓 名: 学 号: 201403060114 指导教师: 2015年 1 月 8 日原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承担。论文作者签名: 日 期: 目录摘要6第一章 绪论11.1开发背景、目的11.2 现有系统存在问题的分析11.3 网站开发目标与意义11.3.1 网站开发
2、目标11.3.2 网站开发的意义21.3.3国内外研究的背景和现状分析21.4本网站主要研究的内容3第二章 开发工具42.1 网站的开发方法、开发工具及其语言特点42.2 ASP.NET简介42.3Dreamweaver简介42.4 SQLite 简介5第三章 网站分析63.1需求分析63.2数据库分析7第四章 网站设计104.1管理员模块114.11管理员的登录界面114.1.2新闻动态管理界面224.1.3产品信息管理界面254.1.4用户信息管理界面284.3公共模块284.2.1模版设计294.2.2列表内容模版294.2.3内容页模版30第五章 网站的测试315.1网站测试方法315
3、.2测试实例315.2.1登录模块测试315.2.2管理员模块的相关操作325.2.3用户的相关操作325.3测试结论32第六章 总结与展望33参考文献34致谢35摘要随着信息技术的飞速发展,电子商务、电子政务及办公信息化成为未来的必然趋势,Web在计算机领域得到最为广泛的应用,动态网页的设计也成为Web开发的核心内容。 ASP是微软公司开发的服务器端脚本运行环境,是目前开发动态网页的主流技术之一,它简单易学、功能强大且易于扩充,深受Web开发人员的喜爱,常用于开发基于InternetIntranet平台的Web应用程序。互联网应用技术成了这些热门应用的必备知识。本网站在开发过程中,注意使其符
4、合操作的业务流程,并力求网站的全面性、通用性,使得本网站不只适用于一家旅游机构。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对网站了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。本论文主要从系统分析、系统设计与使用等几个方面进行介绍。关键字:信息管理系统 信息化 数据库第一章 绪论本毕业论文是以学校学生信息管理系统开发为背景,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为绪论、系统分析、概要设计、详细设计、系统实现、开发总结、
5、致谢、参考文献等。1.1开发背景、目的随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行1。计算机科学不断的发展,给信息共享提供了有利的客观条件。随着数字信息的全球化,对信息共享的需求日益增大。现在,不仅企业、集团、单位需要共享自身的信息,个人信息共享的需求也是迫不急待。数字化的世界中,人与人的交流方式和传统的交流方式相比有所改变。旅游系统网站是适应这种人际交流方式的改变,迎合个人信息共享的需求,并
6、在此基础上快速发展起来的一种简单激动的网站。旅游系统网站的出现,给Internet世界的个人旅游带来了极大的方便。因此可见,随着我国经济的迅速发展,信息技术在其上的应用会更加地广泛和深入。 1.2 现有网站存在问题的分析1. 旅游网站重复建设率高,效益低 我国大部分的旅游网站在开发初期,由于缺少对旅游行业和网络运营的全而了解,未能找准切入点,使旅游网站建成之后缺乏特色与“卖点”,往往照搬照抄其它旅游网站的现成模式,成为欧美等网络业发达国家网站的中文翻版,或者是大型网站的缩影。其结果是版而设计相似,内容雷同,重复建设问题严重,既没有形成具有一定规模的经营模式,也没有达到网上促销、预订的高成功率,
7、使整个旅游业电子商务的销售额少得可怜。 2. 网站信息匮乏,内容陈旧,服务项目单一 我国旅游网站普遍存在网页设计杂乱无章、旅游信息更新不及时、内容陈旧、没有明显的旅游标志等问题,而且景点介绍单调,缺乏图片和动态演示;就管理信息系统而言,也存在建设不完善、地域和内容不完整等问题;就旅游网站所服务的对象而言,也是比较单一的,因为旅游网站的主要访问者是商务旅行者,而商务旅行和私人旅行这两类旅游在对交通工具、住宿餐饮、旅途活动等方而的需求都不尽相同,在旅行时间方而更是差异很大。目前国内的大部分网站所提供的服务内容都是针对私人旅游的,如机票、饭店的预定服务等,由于服务方式和价格体系相似,缺乏个性化、针对
8、性的服务,所以对客户的吸引力不大,这就导致旅游网站的利润有限。 3. 旅游交易安全低,缺乏信用保障 旅游产品交易的安全性问题是旅游网站发展的瓶颈。是否能够确保在动态、开放的旅游网站上,安全的完成旅游产品的整个交易过程,是旅游者选择网站上购买旅游产品首要考虑的问题之一。而我国大部分电子商务网站在线支付手段不健全,缺乏统一的标准体系,在线交易的安全性更是令人担忧。恶意订购、交易出错的现象屡见不鲜,所以,消费者对旅游产品的网上交易信赖度不高。因此,交易不安全问题成为旅游网站发展中最大的障碍。 4. 旅游网站的产品及其价格缺乏竞争力 我国大部分旅游网站的网页设计缺乏智能性与人性化,再加上网站导航系统不
9、健全,致使旅游产品在旅游网站上显得杂乱无章,让消费者感到眼花缭乱。而且在线交易过程复杂,难以顺利完成,这使很多旅游者宁可去旅行社购买旅游产品,也不愿意坐在家里或者办公室完成网上交易;从价格方而来说,很多旅游产业发达的国家,网上的旅游产品销售价格相对便宜,不管是航空公司还是酒店都相对于传统渠道会有不错的折扣和优惠,而在我国却恰恰相反,比起旅行社的组团批量购买,网上的售价相对较高,致使旅游网站的产品价格缺少竞争力。1.3 网站开发目标与意义1.3.1 网站开发目标论文以旅游网站为例开展研究,分析了系统建设过程中的相关技术,对所涉及的软件平台、软件系统、安全系统的进行理论分析,对系统规划实施中的需求
10、分析、系统结构设计、硬件集成、软件配置等各环节进行研究,并提出性能测试所需内容。1.3.2 网站开发的意义当前,随着计算机技术与通信技术的发展,网络的规模也逐渐增大。网络的元素也随之而不断增加。有的利用其进行进行通信,有的利用其作为商业用途,在网络上进行出售、收购、宣传等用途。从而使得网络越来越成为现今社会上必不可少的元素,而网站就是这个网络的一个很大的元素。 所谓网站(Website),就是指在网际网路(因特网)上,根据一定的规则,使用HTML等工具制作的用於展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,就像布告栏一样,人们可以通过网站来发布自己想要公开的资讯(信息),或者利用
11、网站来提供相关的网路服务(网络服务)。人们可以通过网页浏览器来访问网站,获取自己需要的资讯(信息)或者享受网路服务。1.3.3国内外研究的背景和现状分析随着国内外经济的持续发展,各个景点规模的扩大,游客的数量也成倍增长,旅游模式也发生了变革,并随着计算机科学技术的不断发展,使得信息管理系统在各个领域发挥着越来越重要的作用5。国内外的大中型软件公司有很多也曾做过很多旅游网站的设计,开发技术也比国内的成熟,在开发过程中遵循了可扩展性和包容性,使得网站能接纳已有的数据结构,在今后扩展时有效地保护已有的资源,在需要变化时,能方便地调整结构,易于扩充功能,升级方便,即满足当前的业务需求,又为今后的扩展留
12、有很大的空间。而在信息标准化和规范化的基础上,对信息进行合理的布局,使得相关人员可以按照各自的权限进行信息查询和维护。从应用的发展来看,信息化的发展给各个社会组织带来了查询信息的变革。高校作为社会组织的一部分,其查询模式必然深受信息化的影响,旅游网站必将随着计算机技术的发展迅速普及和提高。从技术的发展来看,旅游网站的开发技术已经日益成熟。计算机和网络技术的不断发展为学校的信息化建设提供了得天独厚的技术条件;各个局域网、城域网的建成和完善为实现信息查询的网络化提供了硬件设施保障;先进的软件系统开发工具、好的图形用户界面操作系统的推广,高效汉字处理技术的不断改进,都为旅游网站的开发、应用提供了强有
13、力的支持。1.4本网站主要研究的内容旅游网站是一个功能实用、操作方便,简单明了的网站。系统是在asp环境下开发的,采用sqlite作为数据库平台,完成对数据的整理6。实现不同角色对数据增、删、改、查等功能的基本目标,从而推动迈向系统化、规范化、自动化的步伐。本网站需要实现的功能:1 .网站主题的确立2 .掌握建网工具3 .确定网站风格4 .确定网站界面第二章 开发工具2.1 网站的开发方法、开发工具及其语言特点旅游网站的开发是一个复杂的工程,它涉及到计算机处理技术、系统理论、组织结构、管理功能等各方面的问题,至今没有一种统一完备的开发方法。但是每一种开发方法都要遵循相应的开发策略:系统要解决的
14、问题。系统可行性研究,确定系统要实现的目标。系统开发原则。系统开发前的准备工作。系统开发方法的选择和开发计划的制定。2.2 ASP.NET简介ASP(Application Service Provider)是Microsoft公司开发的服务器断的脚本环境是目前流行的开放式的WEB应用程序开发技术。ASP的主要特性是能够把脚本、HTML、组件和强大的WEB数据库访问功能结合在一起,形成一个能在服务器上运行的应用程序,并把按用户的要求专门制作的HTML页面送给客户端浏览器。ASP属于ActiveX技术中的服务器端技术,与通常在客户端实现动态页面的技术(如 Java Applet ActiveX控
15、件和VBScript等)不同,ASP中的命令和脚本都是在服务器端解释执行,将执行后的结果生成HTML页面并发送给浏览器。由于脚本在服务器端执行,因而开发者不必担心浏览器是否能执行脚本。同时,由于只是将HTML页面发送到浏览器,在浏览器上看不到ASP程序,因此可以防止程序被窃取。另外,ASP还具有许多显著的优点。例如,ASP运行在Web服务器的同一进程中,能更快、更有效地处理客户请求;ASP提供了更简单、更方便的数据库访问方法,使开发基于数据库驱动的Web应用程序更容易;ASP支持VBScript和Jscript,能以插件形式支持其他脚本语言。2.3 Dreamweaver简介Dramweave
16、r MX 2004 是一款专业的 HTML 编辑器,用于对 Web 站点、Web 页和 Web 应用程序进行设计、编码和开发。Dreamweaver 可提供在可视化编辑环境中工作, 利用 Dreamweaver 中的可视化编辑功能,可以快速地创建页面而无需编写任何代码。同时,如果 要 用手工直接编码,Dreamweaver 还包括许多与编码相关的工具和功能。并且,借助 Dreamweaver,还可以使用服务器语言(例如 ASP、ASP.NET、ColdFusion 标记语言 (CFML)、JSP 和 PHP)生成支持动态数据库的 Web 应用程序。 2.4 SQLite 简介 SQLite是一
17、款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了10。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2015年已经有1
18、5个年头,SQLite也迎来了一个版本 SQLite 3已经发布。不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。同时它还支持事务处理功能等等。也有人说它象Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。比如SQLite 支持跨平台,操作简单,能够使用很多语言直
19、接创建数据库,而不象Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么你可以考虑使用SQLite。到2013年10月17日最新版本是 3.8.1 。能在上面获得源代码和文档。同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士。第三章 网站分析3.1需求分析网上旅游产品购买的需求,这两方面分别是电子旅游产品的购买者、管理人员。购买者的需求是查询电子产品店所存的电子产品、个人购买情况及个人信息的修改;管理人员对购买者的购买要求进行操作,同时形成给购买者按购买多少或次数进行等级升级;购买者可直接查看自己所需
20、电子产品的情况,如果购买者根据本人用户名和密码登录系统,还可以进行本人购买旅游产品情况的查询和维护部分个人信息。一般情况下,购买者只应该查询和维护本人得个人信息,若查询和维护其他购买者的购买旅游产品情况和个人信息,就要知道其他购物者的用户名和密码。这些是很难得到的,特别是密码,所以不但满足了购买者的要求,还保护了购买者的个人隐私。3.3数据库分析“数据库”就是为了实现一定的目的按某种规则组织起来的“数据”的“集合”。它由一个称为数据库管理系统的软件进行管理。数据的存取方式独立于使用它的应用程序。 数据库的主要特征: 数据共享 数据具有最小冗余 数据的完整性 数据的安全性 数据的独立性数据库结构
21、的设计是软件开发的首要条件,设计较好、全面的数据库结构,对于软件开发来说是成功的基石,数据库结构设计不全面,会严重影响软件系统的开发利用率与进程。第四章 系统设计4.1登录模块学生信息管理系统的登录界面如图4-1所示:图4-1 登录界面学生信息管理系统可由管理员和学生两种身份的人使用。管理员和学生身份登录所能操作的功能有很大的区别。系统初始化一个系统管理员,登录名:admin 密码:admin 学生登录系统的登录名为admin,密码也为admin,登录后可以修改密码。界面实现代码如下:private void initUI()/ 添加logo图片panelLogo = new JPanel()
22、;JLabel panel = new JLabel(new ImageIcon(srclogo.jpg);panelLogo.add(panel);panelSet = new JPanel(new GridLayout(3,1);/ 添加输入UIJPanel item = new JPanel(new FlowLayout();userNameField.setColumns(13);item.add(new JLabel(用户名:);item.add(userNameField);panelSet.add(item);item = new JPanel(new FlowLayout();
23、passWordField.setColumns(13);item.add(new JLabel(密码:);item.add(passWordField);panelSet.add(item);item = new JPanel();item.add(new JLabel(角色:);permissionBox.addItem(管理员);permissionBox.addItem(学生);permissionBox.setPreferredSize(new Dimension(146, 20);item.add(permissionBox);panelSet.add(item);/ 添加选项按钮
24、panelSele = new JPanel();loginBtn= new JButton(登录);resetBtn = new JButton(重置);cancelBtn = new JButton(取消);panelSele.add(loginBtn);panelSele.add(resetBtn);panelSele.add(cancelBtn);this.add(panelLogo);this.add(panelSet);this.add(panelSele);4.2管理员模块4.2.1管理员的登录界面管理员的登录界面,用户名,密码输入正确可登录此界面,主要实现学生信息管理,课程信息
25、管理,选课信息管理,成绩信息管理,用户信息管理,退出管理系统等功能。如图4-2所示: 图4-2 管理员登录界面如果登录密码不正确,出现提示“密码不正确,请重新输入。”如图4-3所示:图4-3 提示对话框主要功能实现代码如下:public void actionPerformed(ActionEvent e) if(e.getSource() = loginBtn)String userName = userNameField.getText().trim();System.out.println(userName: + userName);if(!isEmpty(userName)JOptio
26、nPane.showMessageDialog(null, 登录名和密码不能为空!);return;String passWord = new String(passWordField.getPassword();System.out.println(passWord: + passWord);if(!isEmpty(passWord)JOptionPane.showMessageDialog(null, 登录名和密码不能为空!);return;/ 判断用户名密码是否正确if(DataBaseDao.isLogin(userName, passWord)/ 进入主界面this.setDefau
27、ltCloseOperation(DO_NOTHING_ON_CLOSE);this.setVisible(false);/ 如果是管理员if(permissionBox.getSelectedIndex() = 0) new ManagerFrame();elsenew StudentFrame();System.out.println(登录成功);else JOptionPane.showMessageDialog(null, 密码不正确,请重新输入。);else if(e.getSource() = resetBtn)userNameField.setText();passWordFie
28、ld.setText();else if(e.getSource() = cancelBtn)System.exit(0);4.2.2学生信息管理界面 1、学生信息管理界面有增加学生信息,删除学生信息,修改学生信息,查询学生信息,显示学生信息等功能,如图4-4所示:图4-4 学生信息管理界面 2、学生信息管理系统的增加学生信息界面,如所示图4-5所示:图4-5 增加学生信息界面如果增加学生信息记录,点击增加按钮,出现增加学生信息界面,输入学号,姓名,年龄,性别,院系后,点击确定按钮,出现“增加成功”对话框,如图4-6所示,点击取消按钮,返回增加学生信息界面。图4-6 提示对话框如果添加的学号已
29、存在,出现提示“学号已存在”对话框,如图4-7所示:图4-7 提示对话框主要功能实现代码:public void insertst()/插入记录String xh = null;String xm = null;int n1 = 0;xh = tsno.getText();xm = tsname.getText();try n1 = Integer.parseInt(String) tsage.getText();if(this.getTitle() = 修改)/如果是修改记录,先删除再增加try this.connDB();int rs1 = stmt.executeUpdate(delet
30、e from s where sno = + xh + ); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();String str = insert into s values( + xh +, + xm + , + n1 + , + xb + , + yx + );this.connDB();/连接数据库try stmt.executeUpdate(str);JOptionPane.showMessageDialog(null, this.getTitle() + 成功!,提示,JOptionP
31、ane.INFORMATION_MESSAGE,new ImageIcon(menu4.gift);this.setVisible(false); catch (SQLException e) JOptionPane.showMessageDialog(null, 学号已存在!);tsno.setText(); catch (NumberFormatException e) /判断年龄是否为数字JOptionPane.showMessageDialog(null, 年龄必须是整数!); tsage.setText(); isNewsm = false;3、如果删除学生信息记录,点击显示按钮,显
32、示所有的增加成功后的学生信息,选中其中一条,点击删除按钮,出现提示“记录删除成功”对话框,如图4-8所示:图4-8 提示对话框如果没有选中需要删除的学生信息记录,将出现提示“请选择要删除的记录!”对话框,如图4-9所示:图4-9 提示对话框主要功能实现代码:public void delete()/删除某个学生的基本信息String xh = null;String xm = null;int n1 = 0;String xb = null;String yx = null;int row = -1;row = sTable.getSelectedRow();if(row = -1)/判断要删
33、除的信息是否被选中JOptionPane.showMessageDialog(null, 请选择要删除的记录!);elseif(!bstd)/判断选择的是不是查询后的结果int j1 = 0;try rs = stmt.executeQuery(select * from s);while(rs.next()& j1 = row)/找出当前被选中的记录在数据库中的对应xh = rs.getString(sno);xm = rs.getString(sn);n1 = rs.getInt(sa);xb = rs.getString(ss);yx = rs.getString(sd);j1+; ca
34、tch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();int i1 = 0;try int rs1 = stmt.executeUpdate(delete from s where sno= + xh + );/删除数据库中当前被选中的记录stmt.executeUpdate(delete from unpw where un = + xh + );/删除对应的用户表中的记录JOptionPane.showMessageDialog(null, 记录删除成功!);this.dispose();new
35、StudentX().display(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();elsetry int rs1 = stmt.executeUpdate(delete from s where sno = + mxh + );stmt.executeUpdate(delete from unpw where un = + mxh + );JOptionPane.showMessageDialog(null, 记录删除成功!);this.dispose();new StudentX
36、().display(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();4、如果修改学生信息记录,选中需要修改的学生信息,点击修改按钮按钮,可以修改姓名,年龄,性别,院系,如图4-10所示,点击确定按钮,出现提示“修改成功”对话框,如图4-11所示:图4-10 修改学生信息界面图4-11 提示对话框如果没有选中要修改的学生信息记录,将出现提示“请选择要修改的记录!”如图4-12所示:图4-12 提示对话框主要功能实现代码:public void update()/修改某个学生的基本信息S
37、tring xh = null;String xm = null;int n1 = 0;String xb = null;String yx = null;int row = -1;row = sTable.getSelectedRow();if(row = -1)JOptionPane.showMessageDialog(null, 请选择要修改的记录!);elseint j1 = 0;try if(!bstd)/判断选择的是不是查询后的结果rs = stmt.executeQuery(select * from s);elsers = stmt.executeQuery(select *
38、from s where sno = + mxh + );while(rs.next()&j1= row)/找出当前被选中的记录在数据库中的对应xh = rs.getString(sno);xm = rs.getString(sn);n1 = rs.getInt(sa);xb = rs.getString(ss);yx = rs.getString(sd);j1+; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();StudentAdd sadd = new StudentAdd(xb,yx)
39、;sadd.setTitle(修改);sadd.tsno.setText(xh);sadd.tsname.setText(xm);sadd.tsage.setText( + n1);sadd.tsno.setEnabled(false);this.dispose();5、如果查询学生信息记录,点击查询按钮,弹出输入学号对话框如图4-13所示,然后输入学号,点击确定按钮,就会显示查询结果如图4-14所示:图4-13 输入学号界面图4-14 查询学生信息界面如果没有输入学号,点击确定按钮,出现提示“学号不能为空,请重新输入!”对话框如图4-15所示:图4-15 提示对话框主要功能实现代码:publ
40、ic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubxh = tsno.getText();/取得当前输入学号的值if(xh.equals()/判断是否输入了学号JOptionPane.showMessageDialog(null, 学号不能为空,请重新输入!);elsethis.dispose();new StudentX(this).select();6、点击显示按钮,显示所有学生信息记录如图4-16所示:图4-16 显示学生信息界面主要功能实现代码:public void select()/显示某
41、个查询的结果 mxh = sst.xh;playerInfo = new Object15;String columnNames = 学号, 姓名, 年龄, 性别, 院系 ;try rs = stmt.executeQuery(select * from s where sno= + mxh + );while (rs.next() playerInfo00 = rs.getString(sno);playerInfo01 = rs.getString(sn);playerInfo02 = rs.getInt(sa);playerInfo03 = rs.getString(ss);player
42、Info04 = rs.getString(sd); catch (SQLException e) e.printStackTrace();if (playerInfo01 = null) this.dispose();JOptionPane.showMessageDialog(null, 学号不存在!);new StudentX().display(); else sTable = new JTable(playerInfo, columnNames);/ 创建网格p1.add(sTable).show();scroll = new JScrollPane(sTable);this.add(scroll);4.2.3课程信息管理界面1、课程信息管理界面有增加课程信息,删除课程信息,修改课程信息,