1、I基于 WEB 的软件工程案例教学平台-案例库及检索子系统的设计摘 要随着互联网的快速发展,现代互联网教育、教学平台的范围不断扩张,但是基于软件工程的案例教学领域尚未普及,结合目前案例教学的实际表现:没有一个统一的管理平台来管理老师和学生;网络资源复杂,获取有针对性的案例信息比较困难;案例管理比较复杂,分类管理比较麻烦。因此,本课题从学生用户对案例资源检索需求出发深入调查研究之后,发现学生很难找到一个相关案例检索的平台,最终在研究相关资源需求和技术需求的基础上,提出基于 web 的软件工程案例教学平台案例库及检索子系统的设计这一课题。本课题主要研究案例教学平台的案例库的构建和检索子系统的实现,
2、采用现在流行的 J2EE 开发框架。在项目开发阶段始终坚持代码的低耦合、高内聚,使系统维护更新比较方便。整个系统主要分为案例库系统和检索系统两大模块。在案例库中主要有案例增加、批量上传案例相关文件、案例信息修改、案例查询、案例删除等功能;检索子系统主要包含根据案例名称模糊检索案例,根据上传用户名检索案例,根据案例名称、案例上传用户名、案例相关关键字、案例相关技术等一项或多项组合进行高级查询。基于软件工程的案例教学平台中案例库和检索子系统的设计,采用 B/S 架构,初步实现了案例库和检索子系统的相关功能。本系统摆脱传统的 C/S 架构所带来的部署不方便,在互联网技术应用更加深入和普及的今天,此系
3、统一定会在将来的更好的服务于广大用户,使用户更加方便、快捷、高效的工作。关键词:软件工程;案例库;检索系统;struts2;javaIISoftware engineering case teaching platform based on WEB-Case base and retrieval subsystemAbstractWith the rapid development of the Internet, the scope of the modern Internet education, teaching platform continues to expand, but cas
4、e-based teaching software engineering is not yet universal, the actual performance of the current Case Teaching: Without a unified management platform to manage teachers and students; network complex resources, access to targeted information more difficult cases; more complex case management, catego
5、ry management is too much trouble. Thus, after the subject from the student user demand for Case Retrieval departure thorough investigation and study, we found that students difficult to find a related case retrieval platform, ultimately based on research related resources and technical needs on the
6、 proposed “web-based software engineering case Teaching platform - case database and retrieval subsystem design, “the subject.Construction and retrieval subsystems to achieve this project platform Case Teaching main case base, using the now popular J2EE development framework. In the project developm
7、ent phase always adhere to the code of low coupling, high cohesion, to make the system more convenient maintenance updates. The whole system is divided into case library and retrieval systems two modules. In the case of the library there are cases of increased bulk upload documents relevant to the c
8、ase, modify case information, case inquiry, case delete functions; retrieval subsystem comprising the Case Name Case fuzzy search, retrieval based on user name Upload the case, according to the case name, case Upload a user name, a combination of one or more keywords related cases, case-related tech
9、nology and other advanced queries.Design Case Teaching Platform Software Engineering in the case base and retrieval subsystem based on the use of B / S structure, the initial realization of the features of the case library and retrieval subsystem. The system away from the traditional C / S structure
10、 brought about by the deployment of convenient, more in-depth application of Internet technology and the popularity of tomorrow, the system will be in the future to better serve the majority of users, allowing users to more convenient, fast, efficient work.Key Words: Software engineering;case librar
11、y; retrieval system;struts2; java目录摘 要 .IAbstract.II1 绪论 .11.1 背景介绍 .11.2 系统设计的意义 .11.3 国内外相关研究情况 .11.4 课题研究内容 .21.5 论文结构 .22 软件开发相关的技术 .42.1 JSP 简介 .42.2 Struts 2.X 简介 .42.3 Spring 简介 .52.4 MySql 简介 .53 需求分析 .73.1 需求分析概述 .73.2 系统功能需求分析 .73.3 系统非功能需求 .94 系统详细设计 .104.1 系统结构 .104.1.1 系统框架图 .104.2 模块介绍
12、 .104.3 数据库结构设计 .114.3.1 数据表 E-R 图.124.3.2 数据表概要说明.124.3.2 物理结构设计.125 系统实现 .155.1 开发环境及工具 .155.2 模块说明程序流程设计 .155.2.1 功能设计.155.2.2 程序结构设计.165.2.3 系统界面设计.175.2.3 系统页面效果如下图所示:.175.3 重要模块实现细节 .195.3.1 案例库管理模块设计.195.3.2 案例库检索模块设计.235.3.3 用户模块设计.256 测试 .306.1 软件测试的目标 .306.2 测试计划及执行情况 .306.3 测试评价 .357 结论 .
13、36参考文献 .37致 谢 .391 绪论11 绪论1.1 背景介绍随着现代互联网技术的快速发展,传统教育也在寻求新的教育教学方式,逐渐的也走向了网络化、信息化和现代化。网络技术的快速发展改变了教学方法、手段的同时也带来了教学理念、教学内容的急速变更,其中应用计算机进行案例教学已成为现代教育技术改革创新的热点之一。网络教学是利用计算机技术、网络技术以及多媒体技术,在互联网络环境下实行教育教学的一种新途径,作为一种重要的辅助手段,补充传统的课堂教学。网络教学可以充分依靠先进的教学手段、教学技术、教学资源、教学思想,给广大用户提供了良好的自主学习环境,大幅度的促进并提升了教学效率、教学效果和教学水
14、平。案例教学,是一种开放式、互动式的新型教学方式。案例教学可以充分依靠先进的教学手段、教学技术教学资源、教学思想,给广大用户提供了良好的自主学习环境和项目导向,大幅度的促进并提升了教学效率、教学效果和教学水平,还可以促进高校教师和学生之间的交互联系与沟通,在传统课堂教学过程一些弊端得以弥补。为此,为广大师生开发建设案例教学平台已成为一种重要需求。1.2 系统设计的意义案例教学是一种通过模拟或者重现现实生活中的一些场景,让学生把自己纳入案例场景,通过讨论或者研讨来进行学习的一种教学方法。在多种教学方式中,案例教学很早就被各国名牌学校所引进,于此同时也表现出来它的优势。在教育方法中,得到了有很好的
15、称赞。由于教育资源分配不均以及其他一些软件、硬件方面的因素,使得教育差异化比较大。而当代互联网的高速发展,各种资源逐步在实现高度共享。将案例教学整合到互联网上,不仅可以解决各地教育资源分配不均衡,同时利用互联网的创新方式,可以不断的创新和改革教育模式,提高教育质量。本系统指在帮助老师和学生更加有针对性的获取教育资源,将案例教学分类管里,提供检索入口,简化老师和学生在寻找资源中的无用操作。1.3 国内外相关研究情况在欧美,在政府的大力支持下,各个学校纷纷对教学进行数字化改造,加强了各学校案例教学案例库的建设。早在 70 年代的时候,国外就已经有人开始研究了案例教学,并最早应用于医学上,现在已经应
16、用于很多教学领域。随着互联网的快速发展,案例教学也被迁移至互联网上,来应对信息的快速传播。案例库的建设也成了必然的需要,这不仅可以加快信息共享,也方便了学生、毕业设计(论文)2教师对资源获取的便捷性。在 2013 年电子科技大学徐天南的毕业设计课题中研究过网络教学的案例库系统,他主要是建立了一个老师和学生的交流平台。老师可以提供案例方案或者上传案例文件,来供学生浏览下载学习。这也是一个完整意义上的案例教学系统。本科题主要在案例库建设和检索系统中进行进一步的优化,使得案例库整个组织架构更加的丰富,检索效率更高,更有针对性。1.4 课题研究内容本课题是案例教学平台的一个重要组成部分,主要包括案例库
17、和检索子系统。在研究过程中本课题结合现有的临近教学平台的相关经验,同时结合软件工程案例教学平台独有的特点,进行综合分析、调研。最终确定研究的主要内容。在本课题中将实现一个操作简单、功能丰富的案例库子系统和检索子系统。其中案例库子系统要实现对案例的分类存储,灵活的管理;检索子系统要提供简单、快捷的检索方式。本课题主要实现两种检索方式:一种是根据案例标题检索,另一种是根据案例的分类、标题、关键字、相关技术、上传用户等条件中的一种或几种进行联合检索。1.5 论文结构基于案例库和检索子系统的相关需求,作者设计并实现案例库和检索子系统。本文组织结构如下:第一章:绪论部分。简单介绍案例库及检索子系统的研究
18、意义、选题背景,并根据应用现状,提出研究内容和实现目标。第二章:相关技术介绍。简单介绍本课题采用的相关技术,同时对使用的struts2、hibernate、spring 等开源框架进行简单介绍。第三章:案例库和检索子系统需求分析。包括需求分析、系统用例分析、业务流程分析、数据库设计以及总体技术路线。第四章:案例库和检索子系统概要设计。系统体系结构、数据库设计以及总体设计路线。第五章:案例库和检索子系统功能模块设计与实现。包括案例库和检索子系统总体设计、案例库模块设计、案例检索模块设计、案例管理模块和相关关键技术的应用。第六章:系统测试。对系统进行整体测试,并对测试结果进行说明。第七章:总结。对
19、本课题的研究过程和结果进行总结。2 软件开发相关技术32 软件开发相关的技术2.1 JSP 简介JSP 技术是用 JAVA 语言作为脚本语言的,JSP 网页为整个服务器端的JAVA 库单元提供了一个接口来服务于 HTTP 的应用程序。 JSP(JavaServer Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。 在传统的网页 HTML 文件(*.htm,*.html)中加入 Java 程序片段(Scriptlet)和 JSP 标记(tag) ,就构成了 JSP 网页(*.jsp) 。Web 服务器在遇到访问JSP 网页,首先执行其中的
20、程序片段,然后将执行结果以 HTML 格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无 Plugin,无ActiveX,无 Java Applet,甚至无 Frame。JavaServer Pages(JSP) 技术提供了一种简单快速的方法来创建显示动态生成内容的 Web 页面。由业界处于领先地位的 Sun 公司制定了相关的 JSP 技术规范,该规范定义了如何在服务器和 JSP 页面间进行交互,还描述了页面的格式和语法。JSP 页面
21、使用 XML 标签和 scriptlets(一种使用 Java 语言编写的脚本代码) ,封装了生成页面内容的逻辑。它将各种格式的标签(HTML 或者 XML)直接传递回响应页面。通过这种方式,JSP 页面实现了页面逻辑与其设计和显示的分离。JSP 技术是 Java 系列技术的一部分。JSP 页面被编译成 servlet,并可能调用 JavaBeans 组件(beans) 或 Enterprise JavaBeans 组件(企业 beans) ,以便在服务器端处理。因此,JSP 技术在构建可升级的基于 web 的应用程序时扮演了重要角色。JSP 页面并不局限于任何特定的平台或 web 服务器上。
22、JSP 规范在业界有着广泛的适应性。2.2 Struts 2.X 简介Struts2 是一个基于 MVC 设计模式的 Web 应用框架,它本质上相当于一个servlet,在 MVC 设计模式中, Struts2 作为控制器 (Controler)来建立模型与视图的数据交互。Struts 2 是 Struts 的下一代产品,是在 struts 1 和 WebWork 的技术基础上进行了合并的全新的 Struts 2 框架。其全新的 Struts 2 的体系结构与Struts 1 的体系结构差别巨大。Struts 2 以 WebWork 为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业
23、务逻辑控制器能够与 ServletAPI 完全脱离开,西安工业大学毕业设计(论文)4所以 Struts 2 可以理解为 WebWork 的更新产品。虽然从 Struts 1 到 Struts 2 有着太大的变化,但是相对于 WebWork,Struts 2 的变化很小。2.3 Spring 简介Spring 是一个开源框架,它由 Rod Johnson 创建。它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量从大小与开销两方面而言