版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . . . 1 / 54信息管理学教学设计与实现摘要本文针对教学过程中存在的薄弱环节,比如教学手段单一、教学模式过于传统,按照当前比较流行的MVC 设计思想,采用 JSP 技术实现了一个信息管理学教学课程,该主要拥有疑难解答、论坛讨论、资源共享、后台维护等功能。设计过程中对于独立的模块采用当前比较成熟的三方开源组件,从整体方面提高系统的性能可靠性和可维护性。关键词 MVC 模式;JSP 技术;DIV+CSS 布局;COS 组件;教学 . . . 2 / 54TeachingTeaching WebsiteWebsite DesignDesign andand ImplementationIm
2、plementation ofof InformationInformation ManagementManagementAbstract:Abstract: This paper directs the weak links in the process of teaching, such as means of teaching single and mode of teaching traditionally. According to more popular MVC design ideas, I use JSP technology to achieve an informatio
3、n management curriculum website; the site has troubleshooting, resource sharing, and background maintenance and other functions. It is necessary for independent module in the design to use the three-party open source components mature to improve the overall performance of the system reliability and
4、maintainability.KeyKey words:words:MVC Mode;JSP Technology;Div+css Layout;Cos Components;Teaching Website . . . 3 / 54目录引言11 技术简介21.1JAVA概述21.2JSP 技术概述21.3MVC 设计模式概述42 需求分析52.1 建设技术现状分析52.2 课题需求分析62.2.1 课题描述62.2.2 可行性分析62.2.3 技术方案计划62.2.4 数据流程图72.2.5 数据字典83 设计123.1 总体结构设计123.2 系统功能结构设计123.3 界面设计133.
5、4 数据库设计143.4.1 数据库的概念模型143.4.2 数据库的逻辑模型153.4.3 数据库结构的详细设计154 实现174.1 核心代码编写174.2 测试运行21致26参考文献27科技外文文献28附录 A:程序源代码37附录 B:使用说明书51 . . . 1 / 54引引 言言随着网络技术的飞速发展和面向对象技术的不断成熟,对于基于 Web 的开发起到了极大推动作用,更进一步推动了 J2EE 在 Web 领域的推广普与。随着 21 世纪全面信息化工程的展开,基于网络的分布式系统在医学、金融、教育等领域得到广泛的使用。在高等院校教学过程中,我们不难发现其中存在如下缺点:1.重教材,
6、轻学生在传统的教学中,最大的一个特点就是教教科书,教科书是依据教学大纲编写的,在某种程度上具有一定权威性,而且考试主要测试的都是教材上的知识,这就导致了掌握教科书的程度成了评价学生的唯一尺度。传统的教学课堂缺少活力,师生之间缺乏思想上的沟通,而起勉强凭借记忆学到的知识不能直接运用于实际。2.重结论,轻过程传统的教学设计特别关注结论的记取,却忽视了学生对知识的体验过程。传统教学设计受应试教育的影响,试图走一条捷径,将前人的知识经验以最高的效率传递给学生,学生得到的是现成的结论,无需学生自己动手实践就可以将知识结论存储于自己的大脑里,这恰恰剥夺了学生思考的权力,导致学生只记得现成的理论,缺乏质疑的
7、能力、创新的能力,这在很大程度上扼杀了学生思想活动。虽然有上述缺点,但是传统教学模式教师亲身言教、师生面对面的情感的交流是任何现有手段都无法替代的。因此从上世纪末期,各种便捷化的现代设施进入了教学课堂,极大提高了学生学习兴趣和整体的教学效率。纵然有这些现代化设施的辅助,但是面临 21 世纪快速的信息化步伐,这些措施仍然显得不足。在当前 Internet 流行的时代,如何在学生和老师之间建立一个便捷、高效的教学和交流的平台,显得至关重要,在许多高等院校大学里面,基于网络的课程教学平台已经实施运行,与传统教学模式相辅相成这是一种适应当前学生心理与信息化潮流的选择。本课题就针对信息管理学课程的教学特
8、点,使用 JSP 技术实现一个教学课程。主要为了给师生提供一个方便的交流平台,在这里可以进行留言、讨论、资源共享等交流活动,最终改善教学环节中存在的诸多不足。相信通过此次课题的设计成果,在很大程度上可以弥补当前信息管理学课程教学中的一些问题,从另一方面可以激发学生的学习兴趣,改善师生之间的教学关系,使学生能在这个平台之上知无不言、言无不尽。 . . . 2 / 541 1技术简介技术简介1.11.1JavaJava 概述概述Java 技术是一种计算机编程工具,是 Sun Mierosystems 公司于 1991 年开发的,Java 于 1995年进入互联网领域。Java 技术不仅仅是一门编程
9、语言,也是一个平台,它基于 Java 虚拟机技术,借助它建立了跨平台的优势。Java 编程语言与众不同之处在于:Java 程序既是编译型的(转换为一种称为 Java 字节码的中间语言),又是解释型的(JVM 对字节码进行解析和运行)。编译只进行一次, 而解释在每次运行程序时都会进行。编译后的字节码采用一种针对 JVM 优化过的机器码形式;解释器是 JVM 的实现。Java 平台是一种纯软件平台,它有三个版本 Java SE、JavaEE、JavaME。Java SE (Java Platform, Standard Edition),它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的
10、 Java 应用程序。Java SE 还包含了支持 Java Web 服务开发的类,并为 Java EE 这个版本提供基础。Java EE (Java Platform,Enterprise Edition),Java 的企业级版本。Java ME(Java Platform,Micro Edition),应用领域像各种移动设备和嵌入式设备。课程是基于 Web 平台的系统,考虑到 Java 技术的跨平台、运行速度快(只解释一次),因此选用 JavaEE 与 JavaSE 版本作为其开发语言。开发过程中,类的实现是核心问题。在用面向对象风格所写的系统中,所有的数据都被封装在类的实例中,而整个程序
11、则被封装在一个更高级的类中。1.21.2JSPJSP 技术概述技术概述JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 script,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 script 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功
12、能。 JSP 与 Servlet 一样,是在服务器端执行的,通常返回给客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。 JSP 的 1.0 规的最后版本是 1999 年 9 月推出的,12 月又推出了 1.1 规。目前较新的是 JSP1.2 规,JSP2.0 规的征求意见稿也已出台。 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后对这些 Java代码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需要 JavaServlet 和 JS
13、P 配合才能完成。JSP 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自 JSP 推出后,众多大公司都支持 JSP 技术的服务器,如 IBM、Oracle、Bea 公司等,所以JSP 迅速成为商业应用的服务器端语言。 JSP 可用一种简单易懂的等式表示为:HTML+Java=JSP。JSP 具有如下优势:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比 ASP.net 的局限性是显而易见的。 (3)强大的可伸缩
14、性。从只有一个小的 Jar 文件就可以运行 Servlet 或者 JSP,到由多台服务器进行集群和负载均衡,到多台 Application 进行事务处理,消息处理,一台服务器到无数台服务器,Java 显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与 ASP 很像,Java 已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。 (5)支持服务器端组件。web 应用需要强大的服务器端组件来支持,开发人员需要利用其他工 . . . 3 / 54具设计实现复杂功能的组件供 web 页面调用,以增强系统性能。JSP 可以使用成熟的
15、JAVA BEANS 组件来实现复杂商务功能。JSP 存在的以下缺点:(1)与 ASP 一样,Java 的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2)Java 的运行速度是用 class 常驻存来完成的,所以它在一些情况下所使用的存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java 文件和.class 文件,以与对应的版本文件。JSP 的置对象:(1)request 对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。它
16、是 ServletRequest 的实例。(2)response 对象:对客户的请求做出动态的响应,向客户端发送数据。(3)session 对象: 什么是 session:session 对象是一个 JSP 置对象,它在第一个 JSP 页面被装载时自动创建,完成会话期管理。 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要 session 对象。 session 对象的 ID:当一个客户首次访问服务器上的一个 JS
17、P 页面时,JSP 引擎产生一个 session对象,同时分配一个 String 类型的 ID 号,JSP 引擎同时将这个 ID 号发送到客户端,存放在Cookie 中,这样 session 对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配给客户新的 session 对象,直到客户关闭浏览器后,服务器端该客户的session 对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的 session 对象。session 对象存在一定时间过期问题,所以存在 session 中的名值对会在一定时间后失去,可以
18、通过更改 session 有效时间来避免这种情况。同时编程时尽量避免将大量有效信息存储在session 中,request 是一个不错的替代对象。(4)application 对象:什么是 application: 服务器启动后就产生了这个 application 对象,当客户在所访问的的各个页面之间浏览时,这个 application 对象都是同一个,直到服务器关闭。但是与 session 不同的是,所有客户的 application 对象都是同一个,即所有客户共享这个置的 application 对象。 application 对象常用方法: public void setAttribut
19、e(String key,Object obj): 将参数Object 指定的对象 obj 添加到 application 对象中,并为添加的对象指定一个索引关键字。 public Object getAttribute(String key): 获取 application 对象中含有关键字的对象。(5)out 对象:out 对象是一个输出流,用来向客户端输出数据。out 对象用于各种数据的输出。(6)page java.lang.Object: 对应 this 关键字。JSP 网页本身,page 对象是当前页面转换后的 Servlet 类的实例。从转换后的 Servlet 类的代码中,可以
20、看到这种关系:Object page = this;在JSP 页面中,很少使用 page 对象。(7)config 对象:javax.servlet.ServletConfig 的实例,该实例代表该 JSP 的配置信息。常用的方法有 getInitParameter(String paramNarne) 与 getInitParameternarnes() 等方法。事实上,JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在 Servlet 中有效。(8)exception 对象:java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处
21、理页面,即编译指令 page 的 isErrorPage 属性为 true 时,该对象才可以使用。常用的方法有 getMessage()和 printStackTrace()等。(9)pageContext 对象:javax.servlet.JSP.PageContext 的实例,该对象代表该 JSP 页面上 . . . 4 / 54下文,使用该对象可以访问页面中的共享数据。常用的方法有 getServletContext()和getServletConfig()等。1.31.3MVCMVC 设计模式概述设计模式概述MVC 是一种目前广泛流行的软件设计模式,早在 70 年代,IBM 就推出了
22、Sanfronscisico 项目计划,其实就是 MVC 设计模式的研究。近来,随着 J2EE 的成熟,它正在成为在 J2EE 平台上推荐的一种设计模型,也是广大 Java 开发者非常感兴趣的设计模型。MVC 模式也逐渐在 PHP 和ColdFusion 开发者中运用,并有增长趋势。随着网络应用的快速增加,MVC 模式对于 Web 应用的开发无疑是一种非常先进的设计思想,无论你选择哪种语言,无论应用多复杂,它都能为你理解分析应用模型时提供最基本的分析方法,为你构造产品提供清晰的设计框架,为你的软件工程提供规的依据。MVC 英文即 Model-View-Controller,即把一个应用的输入、
23、处理、输出流程按照Model、View、Controller 的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图(View)代表用户交互界面,对于 Web 应用来说,可以概括为 HTML 界面,但有可能为XHTML、XML 和 Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC 设计模式对于视图的处理仅限于视图上数据的采集和处理,以与用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以与将用户界面的输入数据和请求传递给控制和模型。模型
24、(Model):就是业务流程/状态的处理以与业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC 最主要的核心。目前流行的 E 模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC 设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也
25、不能太近。MVC 并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC 定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持续化) 。比如将一订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选
26、择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。经验表明,MVC 由于将应用分为三层,意味着代码文件增多,因此,对于文件的管理需要费点心思。综合上述,MVC 是构筑软件非常好的基本模式,至少将业务处理与显示分离,强迫将应用分为模型、视图以与控制层, 使得你会认真考虑应用的额外复杂性,把这些想法融进到架构中,增加了应用的可拓展性。如果能把握到这一点,MVC 模式会使
27、得你的应用更加强壮,更加有弹性,更加个性化。 . . . 5 / 542 2需求分析需求分析2.12.1建设技术现状分析建设技术现状分析为了对目前精品课程网络学习平台建设的技术构成和应用现状有较准确的把握,我参考 CNKI上对近几年度公示的国家级精品课程教学的技术构成分析结论。调查样本:近几年国家精品课程(本科),以学科为序,共 370 多门。选择此样本空间的理由是评审本科精品课程的课程达到全部公示课程的 6l,基本能反映目前精品课程网络学习平台的现状,其次越是新建的越能体现出新技术的运用状况,反映这个领域的技术水平,故对很早以前公示的课程不予考虑;有些精品课程的专家评审和平时开展教学的是分离
28、的,笔者选择平时教学用网络课程,因为此项研究的主要目的是发现精品课程网络学习平台构建技术应用的主要问题,提高精品课程在优质资源共享和教学中的有效性,真正发挥精品课程这个巨大优质教学资源的能量。研究方法:容分析法。测试浏览器为 IE60 和 Firefox,主要测试的可访问性、兼容性和用户体验;代码分析工具选用 Firebug、WebDeveloper,主要查看页面源代码和服务器端编程语言。每个测试三到四个页面,分别是首页、二级(三级) 页面和师生互动交流页面。有效数据:公示中67 门课程因为权限限制失效或服务器原因无法打开页面,7 门公安类课程没有出现在公示网址提供的入口页面,故此次分析的有效
29、样本为 364 门课程。通过使用修改工具查看源代码,分析其技术架构,在 IE 和 Firefox 中测试的兼容性和用户体验获得的统计数据,总结出四方面的问题。(1) 传统布局 VS web 标准只有 217的精品课程网络平台实现了表现和结构的分离,html 代码简洁并具结构性。其余的约有五分之一的没有使用一个 div 标签,完全使用传统的 table 布局定位,大部分将 div 和table 混杂在一起,用表格布局,在局部使用 div 控制是常见的一种方式,这样形成 web 页面后不利之处一是大量样式设计代码混合在表格、单元格之间,使得可读性大大降低,不易维护修改页面。二是复杂的表格使得最后生
30、成的网页代码除了表格本身的代码,还有许多无意义的透明 gif 占位图与其他元素,文件量庞大,代码臃肿,最终导致浏览器下载与解析速度变慢。(2) 静态 VS 动态调查发现多达 63 个精品课程网络平台仍然采用静态的形式,并且在宽屏已成为主流显示设备的情况下, 分辨率宽度仅为 760px 左右,显然技术瓶颈是这些教学资源作为优质的网络共享学习平台的一个大问题。动态精品课程中我们重点分析了后台编程技术。445的采用技术已趋稳定和成熟的 asp 技术,网络上有大量的 asp 后台管理源代码与 CMS 下载,配合设计良好的前台模板可以较轻松高效地完成精品课程建站需求,但从未来发展角度来考量,这类 CMS
31、 系统生成的页面不符合 W3C 提出的 web 标准,是典型的 div+table 的方式,asp 与 Ajax 也不能很好结合。新一代后台编程技术的运用分别是 JSP 占 19.8,Php 占 8 ,Aspnet 占 4.4 。JSP 的跨平台性,应用逻辑的可重用性,以与与页面设计的分离等特性都能很好地满足 web20 时代网络学习平台构建需求,从调查数据我们也可印证这种趋势。(3) Web2.0 VS Web1.0近几年随着教学模式从以“教” 为主到强调以“学”为主的转变,精品课程网络学习平台的开发理念应从强调支持个别化教学环境的设计发展到支持个别化学习、合作学习、探索学习等多种学习模式的
32、学习环境的设计。这也与 Web20 强调人人参与、分享、协作、以个人为中心的概念相一致。分析结果显示 web20 时代在改善用户体验方面极度推崇的 Ajax 技术在精品课程学习平台中鲜少运用,在大型门户和博客中很成功的 RSS 在精品课程的网络学习平台中难寻踪影,主要原因不在功能需求而在于技术开发的难度上。例如,Ajax 是利用 JavaScript 等客户端脚本,通过 xml Request 发送请求到服务器端,调用服务器端的功能函数,获得响应结果并把结果无刷新的显示在客户端浏览器的一种技术。前端的行为主要 JavaScript 完成,设计和调试 JavaScript 的工具并不多,而且和服
33、务器端脚本混合起来有一种缺乏结构化的感觉。现有的 Ajax 解决方案,在net 平台上主要有 A,但是这些方案都缺乏对 ASP.net 空间的有力支持,至今没有一种开发工具 . . . 6 / 54可以完美的支持和封装 Ajax。(4)通用平台 vS 度身定做分析结果表明有 179的精品课程网络课程由专业公司制作,其中教学设计与技术契合度较好,能实现教学资源提供、学习支持与交流、学习评价、管理和导航等网络教学平台诸要素的主要有清华教育技术研究所推出的网络课程平台、天空教室和 Blackboard 三个通用平台。与许多商业相比,精品课程网络学习平台明显缺乏扎实的技术支持,资金的分配是导致现状的重
34、要原因。其一,在精品课程评审中“网络教学环境”只是 15 个二级评审指标之一,从建设者角度不可能在这一项投入过多,但从学习者角度来看,教师的授课和网络学习资源共享才是最重要的受益部分。其二从网络平台的建设机制分析, 建设要么委托专业公司来做要么课程组自己开发或交由学校教育技术中心制作维护,专业公司开发的通用平台功能完备,运行稳定,技术支持完善,技术更新快,用户体验好,缺点就是构建的平台缺乏个性不能完全突出不同课程的精髓和教学特色。调查发现,个人或学校教育技术中心制作的网络学习平台最主要问题是技术水平参差不齐,开发过程不遵循技术规和标准,稳定性、兼容性、可访问性不能令人满意。如调查中不少只通过
35、IE 浏览测试,在其他浏览器中出现移位错乱现象,图片没有替代显示等问题。2.22.2课题需求分析课题需求分析.1 课课题描述题描述课程教学建设是高校课程建设的重要容之一,也是高校教学信息化的重要组成部分。教学向学生提供了一个在线的学习与交流平台,让学生能够不受时间和空间的限制,随时随地利用网上丰富的教学资源进行自主学习,方便师生网上互动,从一定程度上提高了工作效率和教学质量。利用JSP、HTML、DBMS 等技术,实现信息管理学课程教学。主要容:包括课程概况(包括历史沿革、课程特色、课程荣誉、教学效果、教材建设) 、师资队伍(包括课程负责人简介、人员构成、主讲教师) 、理论教学
36、(包括课程大纲、教学日历、电子教案、教学课件、习题练习) 、实践教学(包括实验室介绍、实验指导、课程设计指导) 、在线答疑、下载中心、在线课堂、后台管理等版块。.2可行性分析可行性分析通过对当前现有设计的借鉴分析,认真分析了本课题设计的功能需求、性能需求和可靠性需求和用户界面等需求。接下来就从技术可行性、经济可行性和社会可行性三方面进行细致的分析:(1)技术可行性随着当前 Java Web 技术的兴起,JSP 技术越来越成熟和完善,围绕 JSP 技术的开发应用技术比如 JavaScript、el 表达式、Java Bean 组件等和较为方便的基于 Java 项目开发的开源开发环
37、境Eclipse、Tomcat,极促使了基于 B/S 模式的 Java 项目的实际开发。由于 java 语言本身具有跨平台型,因此这也极方便了项目在不同操作系统环境下的移植,在当前比较主流的操作系统 Windows、Linux 等都能对项目发布、部署和运行有极大的可融合性,这就奠定了本课题在技术领域是绝对可行的。(2)经济可行性对于本课题完全由自己进行开发,所以在经济方面也是可行的。(3)社会可行性在高校当前的信息化建设环境下,每个学校都有自己的以教务处理为核心的高校专网,因此,老师和学生都已经熟悉了相关的操纵流程习惯,因此此课题的设计成果只需要在校园专网上进行拓展就行,这在学校领导和师生之间
38、都是乐意接受的,因此社会性可行性也可行。.3技术方案计划技术方案计划针对以往教学开发过程可能存在的问题,提出如下技术方案计划:1)整体软件结构设计采用标准 MVC 设计模式,提高软件的层次性、可维护性和开发的高效性。 . . . 7 / 542)视图层 page 的布局采用主流的 DIV+CSS 布局方式,提升代码的可读性和可维护性;并且最大限度的实现 page 的数据显示和业务逻辑相分离。3)在视图层-控制层采用当前比较成熟、流行的 Servlet 组件,最大可能性的提高系统的兼容性、国际化需求。4)对系统中独立的业务模块功能,尽可能采用当前成熟的三方组建,这在很大程度上能提
39、高系统的开发进度和系统运行效率,减少人为的编码漏洞和不稳定行。5) javascript Ajax 技术应该大力使用,极力改善用户体验,极大减少网络通信量。.4数据流程图数据流程图系统顶层数据流图如图 2.1 所示。课程老师学生学生教学网站网站资源D1课程老师 注册信息课程资源统计信息学习资源图 2.1 系统顶层数据流图系统详细数据流图如图 2.2 所示。 . . . 8 / 54学生课程负责人是否注册注册P1登录P2No留言P3论坛发言P4D1学生记录D2留言记录D3论坛记录登录P5学生管理P5留言管理P6论坛管理P7访问公共页面P8下载资源P9D4下载资源一一般般请请求求服
40、服务务身身份份信信息息留言信息论坛信息学学生生信信息息身身份份验验证证信信息息后后台台管管理理需需求求资源管理P10教师管理P11D10教师记录身份权限图 2.2 系统详细数据流图.5 数据字典数据字典(1)主要的数据流定义1)数据流名称:学生信息位置:学生P1定义:学生信息=用户名+密码+专业班级(比如:信管 082)说明:学生注册账号的时候,密码请仔细保存,本系统不提供密码修改或者找回功能。用户名必须是唯一的,注册时用户输入的用户名会进行动态有效性验证。2)数据流名称:留言信息位置:学生P3定义:留言信息=+班级+留言容说明:留言人必须留下自己的班级信息和联系方式,课程老师
41、回复的时候出现问题会联系。留言容限于 255 个字符,考虑到系统并发运行时的性能。3)数据流名称:论坛信息位置:学生P4定义:论坛信息=论题 ID+评论+时间说明:只有本的注册用户才能进行评价。 . . . 9 / 544)数据流名称:身份权限位置:P5P11 定义:由系统设计的时候定义决定说明:所有的课程负责老师中,只有 admin 才能添加、删除、修改其他的老师的信息,而其他老师只能管理自己的账号信息。5)数据流名称:身份验证信息位置:课程负责人P5 定义:身份权限=账号+密码说明:所有的课程负责老师中,只有 admin 才能添加、删除、修改其他的老师的信息,而其他老师只能管理自己的账号信
42、息。6)数据流名称:维护需求位置:P5P6,P7,P11 定义:由课程负责人的维护需求决定说明:登陆后课程老师都可以进行学生管理、论坛管理、留言管理和下载资源管理等。7)数据流名称:一般请求服务位置:学生P8,P9定义:查看需求而定说明:这部分是本课程的主要信息介绍,学生可任意访问查看。(2)主要的处理过程定义1) 处理过程编号:P1处理过程名称:注册输入:学生输出:D1处理说明:进行新学生信息的注册功能,用于论坛模块的登陆。2) 处理过程编号:P4处理过程名称:论坛发言输入:学生输出:D3处理说明:登陆用户进行论坛信息浏览,可以对自己喜欢或者感兴趣的帖子进行评论发言。3) 处理过程编号:P9
43、处理过程名称:下载资源输入:学生输出:处理说明:这是共享资源的下载模块,所有访问本的用户都可以进行下载资源操作,方便学生交流资源共享。4) 处理过程编号:P10处理过程名称:资源管理输入:P10输出:D4处理说明:这是共享资源的管理模块,后台课程负责老师登陆后可以进行资源的查看、删除和上传等。5) 处理过程编号:P5处理过程名称:学生管理输入:D1,P5输出:处理说明:对注册的学生信息进行维护操作,查看和删除。 . . . 10 / 546) 处理过程编号:P6处理过程名称:留言管理输入:P5,D2输出:处理说明:课程负责老师对学生的留言进行维护操作,查看、回复和删除功能。7) 处理过程编号:
44、P7处理过程名称:论坛管理输入:D3,P5输出:处理说明:课程负责老师对论坛模块进行维护,包括主题、评论的维护。8) 处理过程编号:P11处理过程名称:教师管理输入:D10,P11输出:D10处理说明:账号为 admin 的负责人对课程老师信息进行管理,包括添加、删除和更新。9) 处理过程编号:P2处理过程名称:登陆输入:学生输出:P3,P4处理说明:注册过的学生凭借该账号和密码进行论坛模块的使用。10) 处理过程编号:P3处理过程名称:留言输入:P2输出:D2处理说明:所有访问本的学生都可以留言讨论。11) 处理过程编号:P8处理过程名称:访问公共页面输入:学生输出:学生处理说明:所有访问本
45、的学生都可以进行公共资源的访问查看。(3)主要的数据存储定义1) 数据存储编号:D1数据存储名称:用户记录输入:P1输出:P5数据结构:用户记录=账号+密码+专业班级存取方式:联机处理;主要是检索处理;以索引检索为主。说明:账号具有唯一性和非空性。2) 数据存储编号:D2数据存储名称:留言记录输入:P3输出:P6数据结构:留言记录=记录 ID+留言者名称+班级+留言容存取方式:联机处理;主要是检索和回复操作;随即检索为主。说明:记录 ID 自动递增生成唯一且非空,留言容少于 255 个字符。3) 数据存储编号:D3 . . . 11 / 54数据存储名称:论坛记录输入:P4输出:P7数据结构:
46、论坛记录=记录 ID+论贴编号+评论人+评论时间+评论容存取方式:联机处理;主要是检索和回复操作;随即检索为主。说明:记录 ID 自动递增生成唯一且非空,评论容少于 255 个字符。4) 数据存储编号:D4数据存储名称:下载资源输入:P9输出:P9数据结构:本地文件存储数据结构存取方式:联机读取或者上传,按目录结构存储于服务器的本地硬盘说明:共享资源存放在服务器的特定目录下面,文件名称唯一。5) 数据存储编号:D10数据存储名称:下教师记录输入:P11输出:P11数据结构:账号+密码存取方式:联机处理;主要是检索和更新操作;随即检索为主。说明:admin 账号为课程总负责人,拥有对其他课程老师
47、进行管理的权限,理论上不能进行更新删除操作,若删除只能在数据库中进行添加该用户,因此请谨慎操作。 . . . 12 / 543 3设计设计3.13.1总体结构设计总体结构设计系统体系结构与实现方法本采用 B/S 的浏览器/服务器模式结构,总体架构如图 3.1 所示。Web server(Tomcat)用户浏览器端Sql server数据库用户请求 响应结果Sql操作请求处理结果图 3.1 总体架构图图中 Web 服务器和数据库服务器位于同一主机上,主要任务就是承担网络监听和请求响应连接、数据库管理、数据存取和数据传输功能。用户 PC 机器相当于系统终端,面向用户,承担着用户的请求发送和响应接收
48、任务。3.23.2系统功能结构设计系统功能结构设计系统功能结构如图 3.2 所示。信息管理学教学网站课程概述历史沿革课程特色课程荣誉教学效果教材建设理论教学课程大纲教学日历电子教案教学课件习题练习师资队伍课程大纲教学日历电子教案后台管理用户资料维护发布信息维护论坛专区维护留言信息维护课程资源维护实践教学实验室介绍实验指导课程指导图 3.2 系统功能结构图 . . . 13 / 54其他功能描述:在线课堂:通过树形结构组织课程目录体系,然后用户可以点击任意一章的某一节,在页面会显示对应容。下载中心:用户可以将自己喜欢的资料上传至服务器端,与其他用户共享,然后在下载区可以下载资源列表中的任意资源。
49、在线答疑:包括在线留言和课程论坛两部分,在线留言没有限制要求任何访问的用户都可以留言询问课程相关问题难题,但是课程论坛部分必须注册本的账号,登陆之后才能查看各论坛标题与进行回复等。后台管理:首页有一个消息发布小窗口,课程负责人可以与时更新发布信息。这一切操作在后台有操作接口。注册用户的资料维护工作,比如:删除某些长期不使用的账号信息。用户留言信息与课程负责人的回复信息维护,可以删除那些时间较旧的历史信息;由于课程论坛模块的数据量很大,所以要有专门的维护模块,分别对标题信息与相应的回复集进行科学维护管理。课程教师账号信息维护,其中有个超级管理员,具有对其他普通管理员进行添加、删除的权限,普通管理
50、员只能更改自己的账号信息。3.33.3界面设计界面设计界面的整体布局设计规则:整体采用 Div+css 布局,对于局部的需求可采用 table 进行嵌套,但是最大限度的减少 table布局的出现,从而提高页面代码的可读性。所有界面应该在整体上保持相似或者一样的感觉,有利于用户的熟悉。界面的整体整体颜色基调规则:整个前台以浅蓝色基调为主,给人一种清新、爽朗的感觉。Iframe 的使用:在页面设计过程中,对于同一模块的功能尽可能的在同一处理区进行操作,符合用户的日常习惯。通过 iframe 嵌套,将请求的处理页面放置于我们设定的框架中。尽量在模块设计过程中提高彼此之间的协调性。图片与文字的搭配组合
51、规则:由于图形生成复杂,与文字指令界面相比,图形不能表达复杂的复合指令,当指令数目太大时,不宜在屏幕上进行安排选单。另外,鼠标选项有些情况下慢于键盘操作速度。可见图示界面并非十全十美,为了提高整体的协调性和美观,应该遵循以下几点:(1)正确使用图形的表达能力。图形适宜于表达印象感、整体性和关联性的信息,而单一的、精确地、不具关联性的一般资料宜于用文字表达。滥用图形表示有时候会造成画面混乱,使用户难以理解。(2)使用的基调颜色、图示、词汇、选取方式、交流顺序等,其意义与效果要注意前后一致,以免引起混乱。(3)图片太多会占用过多系统资源,处理速度变慢,因而在要求快速响应、硬件资源档次较低的环境中不
52、宜使用。界面框架模板如图 3.3 所示。 . . . 14 / 54页面顶部网站主题图片(蓝色基调)网站功能导航条页面底部网站设计作者、版权等相关公示信息(后台入口)页面的中央区域主要的信息显示区域,要求布局美观、图文并茂,必要时可采用iframe框架进行嵌套定位布局图 3.3 界面框架模板图3.43.4数据库设计数据库设计.1数据库的概念模型数据库的概念模型课程老师实体属性如图 3.4 所示。图 3.4 课程老师实体属性图学生实体属性如图 3.5 所示。图 3.5 学生实体属性图消息实体属性如图 3.6 所示。消息编码发布时间标题内容图 3.6 消息实体属性图留言实体属性如图
53、 3.7 所示。留言编码邮箱留言时间留言者留言内容图 3.7 留言实体属性图论贴实体属性如图 3.8 所示。 . . . 15 / 54论贴编码创建时间主题图 3.8 论贴实体属性图实体间关系如图 3.9 所示。课程老师回复内容学生学生论贴留言消息管理回复评论发布负责MMNMN1图 3.9 实体联系图.2数据库的逻辑模型数据库的逻辑模型将系统的概念模型转换成关系数据库的数据模型,其关系模式为(带下划线为主码):课程老师(账号,密码);学生(账号,密码,班级);消息(编号,标题,容,发布时间,老师账号);留言(编号,回复老师编号,留言者,所在班级, ,留言容,留言时间,回复结果)
54、;论贴(编号,主题,创建人,创建时间);评论(编号,论贴 ID,评论人,评论时间,评论容);将本系统的数据库名称定为:web。.3 数据库结构的详细设计数据库结构的详细设计关系属性的设计包括属性名、数据类型、数据长度、该属性是否允许为空值、是否为主键、是否为索引项与约束条件。以下详细列出了本系统的数据库各表的属性设计情况。课程老师表描述了老师信息在数据库的具体存储实现,其详细属性如表 3.1 所示。表 3.1 web 数据库课程老师表属性名数据类型长度允许空主键或索引约束条件账号varchar20NO主键密码varchar25NO输入不显示学生表描述了学生信息在数据库的具体存储
55、实现,包括账号、密码和学生所在班级的描述,其详细属性如表 3.2 所示。表 3.2 web 数据库学生表属性名数据类型长度允许空主键或索引约束条件 . . . 16 / 54账号varchar20NO主键密码varchar20NO输入不显示班级varchar20NO消息表描述了老师发布的课程讯息在数据库的存储实现,包括消息编号、标题、具体容和发布的时间的具体描述,其详细属性如表 3.3 所示。表 3.3 web 数据库消息表属性名数据类型长度允许空主键或索引约束条件编号intNO主键标识列标题varchar50NO容textNO发布时间datetimeMO取系统时间留言表描述了留言信息在数据库
56、的具体实现,包括编号、留言者信息、所在班级、联系、留言容等属性,其具体属性如表 3.4 所示。表 3.4 web 数据库留言表属性名数据类型长度允许空主键或索引约束条件编号intNO主键留言者varchar20NO所在班级varchar20varchar30NO有效留言容textNO留言时间datetimeNO取系统时间回复结果text教师添加论贴表描述了学生发的帖子的具体信息在数据库的实现,包括主题、创建时间和创建人信息,其具体属性如表 3.5 所示。表 3.5 web 数据库论贴表属性名数据类型长度允许空主键或索引约束条件编号intNO主键主题varchar40NO创建人varcharNO
57、注册用户创建时间datetimeNO取系统时间评论表描述了学生对论贴的评论消息在数据库的实现,详细属性如表 3.6 所示。表 3.6 web 数据库评论表属性名数据类型长度允许空主键或索引约束条件编号intNO主键论贴编号intNO索引项评论人varchar20NO注册用户评论时间datetimeNO取系统时间评论容textNO4 4实现实现4.14.1核心代码编写核心代码编写(1)数据分页的实现由于本后台数据库采用的是 SqlServer2005,因此分页设计的实现是基于 Top 关键字的。总的设计思想是:设计了一个分页模版类,具体的实体类只要继承这个模板类,做自己的特定实现就行。以下是模板
58、类代码: . . . 17 / 54public abstract class Page /* * 获取查询记录总数的结果集 * param dao * return * throws Exception */protected abstract ResultSet getCountResult(Dao dao) throws Exception;/* * 获取指定行围的结果集 * param start 起始行(不含) * param end 结束行 * param dao * return * throws Exception */protected abstract ResultSet
59、getPageResultSet(int start,int end, Dao dao) throws Exception;/* * 将结果集中的当前记录放入一个 JavaBean 对象中 * param rs * return * throws SQLException * throws Exception */protected abstract Object createBeanFromRs(ResultSet rs) throws Exception;/* * 获得首页页码 * return */public int getFirst()return 1;/* * 获得上页页码 * r
60、eturn */public int getPrior()return current-1totalPageCount?totalPageCount:(current+1); . . . 18 / 54/* * 获取尾页页码 * return */public int getLast()return totalPageCount;/* * 获取总页数 * return */public int getTotalPageCount()return totalPageCount;/* * 获得当前页码 * return */public int getCurrent()return current
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 10288-2026羽绒羽毛检验方法
- GB/T 24294.1-2026网络安全技术基于互联网电子政务信息安全实施指南第1部分:总则
- 八年级英语下册 Unit 5 单元自测· 湖北省卷专用(试题版A4)
- 上海人事外包合同
- 业务流程外包合同
- 中建铁投外包合同
- 乐至韵达外包合同
- 产品视频外包合同
- DB13-T 6253-2026 海域使用现状调查与监测指南
- 保洁施工外包合同
- 2026年安全生产月活动启动部署和主题宣贯课件附讲义教案和案例
- 2026年公务员遴选笔试真题及答案
- JJG 1078-2026医用数字摄影系统(DR)X射线辐射源检定规程
- 印刷工艺与质量标准手册
- 2026广东惠州市交通投资集团有限公司社会招聘22人备考题库及答案详解(考点梳理)
- 2026年二级建造师《建设工程施工管理》必刷200题及完整答案详解【各地真题】
- 煤矿排矸场、矸石山生态环境治理工程施工组织设计
- 呼吸科光动力治疗应用
- 2026年春人教版(新教材)初中生物八年级下册(全册)教学设计附目录P125
- 惰性气体应急事故演练方案
- 重庆的桥课件
评论
0/150
提交评论