集美大学 计算机 郑如滨

教学博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

参考资料

  1. Java课程设计参考资料(2020更新)
  2. Java课程设计常见问题(程序部署、数据库、JSP)
  3. 项目目录结构(git版)参考模板-OnlineShop
  4. 项目开发参考-阿里巴巴Java开发手册(正式版)
  5. Git入门1-如何在实验室和宿舍同步你的代码
  6. Git入门2-FAQ
  7. IntelliJ IDEA下Git的配置与使用(命令行下)

更多参考资料请查看QQ群文件中的课程设计目录。

一. 题目选择说明

课程设计的题目有两大类:

1. 传统题目

2. 综合性题目(有一定挑战性、有趣、实用)

2.1题目特点:

  1. 无固定题目要求
    可根据自己的想法自己出题,出提前最好和老师交流,以确定题目是否可行。
  2. 完成周期长、难度大、综合性强
    较难,完成周期长,需要提前启动。
    因为需要使用到诸多技术,综合性较强、难度大。
  3. 要使用到第三方类库

2.3 综合性题目

2.3.1 博客作业教学数据分析系统

根据Java班级博客中每次作业的数据,制作一个针对个人与老师的教学数据查看系统。个人可以查看自己作业完成情况、平时作业成绩映射到最终平时成绩、某次作业在班级的排名情况、个人作业完成度、个人PTA完成度(每次实验会提供相应的PTA成绩Excel表格)。老师可以观察一些总的统计结果,如每次作业的成绩分布、方差等数据分析功能、给教师的建议等功能。这些功能都要全自动化成。

  • 涉及技术:网络爬虫、图表展示、数据分析、Web、Excel表格读写

2.3.2 基于学院网站的搜索引擎

对学院网站进行抓取、建索(需要中文分词)、排序(可选)、搜索、摘要显示。
可以是GUI界面,也可以是Web界面。
建索方面:也可以自己开发倒排索引

  • 涉及技术:网络爬虫、中文分词、Web

2.3.3 垂直搜索引擎

只搜索某个领域的信息,比如去哪儿主要搜索旅店、出行相关信息,然后以组织好的页面呈现出来。
尝试针对集美大学的网站,设计一个图片搜索引擎或文档搜索引擎(doc, pdf, xls, xlsx)。

  • 涉及技术:网络爬虫、Web、中文分词、Lucene、读取各种文档相关技术。

2.3.4 文档搜索

针对自己硬盘指定目录的列表中的所有txt、doc、docx、pdf等文档进行内容搜索。
至少完成.txt文档的搜索。

  • 涉及技术:GUI、中文分词、Lucene

2.3.5 MBTI人格测试(2023年出)

仿制一个网上流行的MBTI人格测试系统。
你需要:
1. 搞清楚MBIT人格测试是什么、试用一个MBIT系统
2. 搜索MBTI现成的题库。
3. 系统分析与设计:系统具有什么功能?使用什么技术实现?前端、后端怎么选型?代码如何管理?
4. 任务分配与实施;
5. 测试、发布。

2.3.6 其他

游戏类:
请重点参考Java图形界面编程里面的Java游戏参考资料部分。

常见类库与技术参考资料

1. jsoup

网页解析工具。可用于简单的爬虫,爬取网上信息。

2. HttpComponents

使用Java代码操作HTTP。可以编写类似不通过网页查询成绩或者刷票这样的代码。

3. Lucene与ElasticSearch

Lucence一个基于Java全文检索引擎工具包,可以使用其制作简单的搜索引擎或者基于内容的桌面搜索。
参考资料:
LuceneLucene 全文检索入门

ElasticSearch是一个基于Lucene的搜索引擎框架。不仅支持分词、索引,还支持基于搜索引擎的搜索。
参考资料:
Java课程设计之——Elasticsearch篇
ES下载
ES简述:什么是 Elasticsearch?一篇搞懂
ES的基本操作
Elasticsearch Java API Client——使用java代码操作JS

4. ECharts

网页图表(前端技术)

5. 中文分词

ansj
IKAnalyzer
Chinese Segmentor

6. POI(使用Java代码处理office文档)

先到POI下载将所需类库下载下来,然后参考Excel表格的快速入门代码快速编写处理Excel表格的代码。注意:请使用最新版本的Eclipse。

7. JSON处理

JSON常用于前后端数据交互。流行的JSON处理类库有jackson, gson与fastjson。
国产阿里巴巴出品-Fastjson
高性能的 JSON 处理 Jackson
jackson入门教程

8. Git

Git入门参考
Git issue相关资料

9. Java FX

Java FX官网
OpenJFX中文社区

10. 安卓、Web、网络相关、游戏

待补充

二. 团队分组及要求

基本要求

- 自由分组完成(一组一般不超过3人)
- **每个人都要负责一个相对完整的模块。必须包含代码编写工作,编程一定要规范**。
- 前期调查与系统功能分析与设计由所有组员共同完成。
- 需要有博客

进阶要求(B及以上)

- 使用git管理代码
- 使用静态代码扫描工具对项目进行扫描并改正

组长负责制

  • 每个小组必需有组长,否则考核不及格。
  • 组长需对项目的代码管理、代码质量、编码规范、进度推进、项目展示负责。
  • 组长可适当加分
    详细要求参看Java课程设计参考资料中的课程设计任务书文档。

三. 课程设计基本要求

所有桌面程序都应可直接运行。不允许:通过IDE启动运行。

1.游戏类

阅读Java图形界面编程里面的两份文档:
Java游戏入门1-Java 2D games tutorial
Java游戏入门2-南洋理工大学的-Java Game Programming
老师考核时,可能从这篇文章中的一些概念出发进行提问。

2.数据库类

基本要求:

  1. 一定要使用老师提供的JDBCUitl.java或将数据库常用操作封装好的数据库工具类;
  2. 一定要使用DAO模式;
  3. 每个表一定要有数值型的自增id。

可选:
1.数据库连接池。

3.基于他人已有的代码的项目

考核前一定要说明参考了什么代码。
考核时主要讲解自己:新增、改进的功能。

4.网络类

基本要求:

  1. 直接操作Socket的一般都要使用多线程技术。
  2. 要搞清楚自己使用了什么网络协议?为什么使用这个网络协议。

可选:

  1. 涉及HTTP操作的使用JDK 11的HTTP Client或其他第三方类库。

四. 考核及提交材料说明

考核前请务必在IDE中使用阿里巴巴代码规范扫描插件对项目代码进行扫描,并解决项目中的所有警告。
负责编写博客的同学请在博客中列出改正前2-3个不同类型的扫描警告结果,并描述改正过程,请放入团队博客3.9。

1.考核过程

  1. 先将课程设计报告与项目压缩包上传至课堂派相应作业进行查重,查重超过30%不予通过。
  2. 叫老师检查之前,请事先准备好所有待检查事项(项目需可直接运行、课堂派提交电子版实验报告)。
  3. 将考核表格交给老师演示项目(组长先讲,组员再讲自己的模块)。老师根据考核表格中每个人负责的部分进行详细提问。然后在课堂派上打分。
    • 组长:演示项目及自己负责代码
    • 组员:自己负责模块(要达到代码级别掌握)

2. Java语言课程设计考核表格打印版(每组1份)

里面自己负责的模块需填写,不能留空。

3. 团队课程设计博客(每组1份)

3.1 团队名称、团队成员介绍、任务分配,团队成员课程设计博客链接(以表格形式呈现),标明组长
3.2 如果有参考他人代码,请给出项目所参考的其他项目的博客与链接
3.3 本项目的git地址。
3.4 项目git提交记录截图(要体现出每个人的提交记录及提交说明)。
3.5 前期调查(主要包含别人做得怎么样、怎么做的内容)
3.6 项目功能架构图、主要功能流程图
3.7 面向对象设计包图类图。如果类太多,可仅列出主要类。
3.8 项目运行截图或屏幕录制
3.9 项目关键代码分模块描述:模块名称-文字说明-关键代码(注意:不得直接复制所有源代码,仅粘贴最关键代码)。
3.10 项目代码扫描结果及改正。
3.11 项目总结(包括不足与展望、想要进一步完成的任务)
3.12 可选:其他,如感想等。

4. 课程设计报告电子版(每人1份)

每个人的课程设计报告基本内容如下,详见《面向对象程序综合设计》课程设计报告模板.docx文件。

  • 团队课程设计博客链接
  • 个人负责模块或任务说明
  • 可选:自己的代码提交记录截图
  • 自己负责模块或任务详细说明。
  1. 文字描述
  2. 关键代码截图
  3. 可选:使用JUnit为自己编写的方法进行测试的测试用例。
  • 课程设计感想

5. 课程设计代码(每组1份)

由组长提交。即,组长提交的资料包含两部分内容:

  1. word版 课程设计报告(个人版)
  2. 系统代码压缩包

文件名格式:班级-学号-小组名-姓名-课程设计名称
4个班汇总课程设计报告,放入一张光盘。

6. 其他

获得A的或者B但有价值的小组请将自己团队课程设计博客链接发给本班学习委员汇总。

五.课程设计优秀案例

2024年(22级)

孙岚组 —— 基于网页的时间管理系统 关键词:Web应用、Servlet、HTML、Maven、AJAX、Echarts、git。
傅锦煌组 ——类京东购物车设计关键词:Web应用、Springboot、MySQL、Vue、git、Element-UI。
庄晓兵组——大球吃小球 关键词:游戏、Gui、碰撞处理、MySql、分数统计。
黄国玉组——基于星火大模型v3.0的JAVA AI小工具关键词:大模型、WindowBuild,Gui、图片理解、文件读写。

2023年(21级)

李睿组——基于学院网站的搜索引擎关键词:搜索引擎、Elasticsearch、IK analyzer(基于Java的中文分词工具包)、Servlet、JSP、HTML+CSS,JavaScript、jQuery&jQuery-UI、Bootstrap5、Jsoup(爬虫)。
黄荣波组——Pokemon(宝可梦) 关键词:Web应用、宝可梦、Servlet、Filter、Mybatis、Html、CSS、JSON、Vue框架、Ajax技术(Axios)、Element-UI。
刘兆丰组——网络聊天室应用 关键词:桌面端应用、网络编程、多线程、文件传输、DAO、正则表达式。刘兆丰-网络聊天室 关键词:聊天室详解
郭楠组——学生成绩管理系统 关键词:桌面端应用、随机生成大量数据、POI、Excel数据文件、数据可视化。
方雨涵组——双人三国杀单机游戏 关键词:桌面端应用、GUI(完善)、游戏逻辑实现(较复杂)、游戏AI(简易)、DAO。

2022年(20级)

骆锟宏、陈剑组——学生在线论坛--SOFP 关键词:Web、MVC、Dao、Vue、Ajax、Servlet、JDBC、Bootstrap、论坛。
郑力宁组——简易课堂派--课堂派的三端构建 关键词:桌面端应用、Dao、Dbutils、网络编程、文件传输。
汪月月组——QQ聊天室 关键词:桌面端应用、网络编程、多线程、搜索和查找。
陈锐组——集大版“黄金矿工”--集大矿工 关键词:桌面端应用、游戏、碰撞检测。
杨振鹏组——五子棋 关键词:桌面端应用、游戏。
曾治勋组——图书馆选座系统 关键词:桌面端应用、JDBC、easyExcel、poi、Dao、Druid。
吕以晴组——FlyingBird 关键词:桌面端应用、游戏、碰撞检测。

2021年(19级)

林智凯组-Java 课程设计:LWZ - Online Judge学生端(选题介绍) 关键字:在线程序评测、OJ、PTA。
杨涛组-JAVA课程设计——飞机大战(团队) 关键字:游戏。
苏雅琴组-人脸识别员工考勤系统 关键字:人脸识别。
陈艺彬组-基于SpringBoot和Bootstrap的教学论坛系统 关键字:SpringBoot与Bootstrap。
朱振豪组-大富翁 关键字:游戏

2020年(18级)

谢晓淞组-基于ElasticSeach的计算机学院的搜索引擎。关键词:搜索关键词联想,jsoup爬虫,jquery-ui的时间选择。
温海杰组-基于Socket的聊天室。关键词:socket、文件传输、多线程。
李天明-基于Netty与JavaFX的聊天程序。关键词:c/s结构、Netty、JavaFX。
陈玲清组-基于JZoom的音乐播放器。关键词:JZoom、目录树JTree、音频处理AudioInputStream、文件选择JFileChooser、时间控制Timer。
叶鸿章、张庚组-支持网络对战的扫雷游戏。关键词:socket,网络多人对战、扫雷。
吴美婷、林舒馨组-基于VUE与Axios的个人博客。关键词:Web、VUE、Axios、MyBatis、Bootstrap、DAO。
商梅淳组-基于JavaFX的卡牌游戏。关键词:游戏、JavaFX
范华、蔡德鑫组-基于JBox2D引擎的愤怒的小鸟游戏。关键字:JBox2D物理引擎
郭东阳组-桌面宠物online。关键词:Swing、,桌面活动。

2019年(17级)

天气分析,功能及类设计有待完善。
JAVA面向对象编程课程设计——网络版单机斗地主,功能还算完整,看看能否实现多人斗地主。
JAVA课程设计——植物大战僵尸(团队)
魔塔,pc端游戏、报告中未能充分体现作品的功能。
多源教学数据管理系统,仅有数据展示功能、缺数据分析功能

2018年(16级)

2016-HTTP服务器,使用Java实现的简易HTTP服务器
2016-计算机学院搜索引擎,实现了网络爬虫、搜索引擎功能,复杂度高。

2017年(15级)

博客作业教学数据分析系统,包含数据爬取、展示与分析。
“永不言弃”小游戏,比较完整的PC端小游戏、游戏交互性有待提高。
学生成绩管理,比较完整
使用JAVA实现简易HTTP服务器,使用Java实现的简单HTTP服务器演示,希望可以进一步完善。

posted on 2017-05-18 10:59  zhrb  阅读(30298)  评论(0编辑  收藏  举报