集美大学 计算机 郑如滨

教学博客

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

面向对象程序综合课程设计(2026版)

一. 课程设计选题

选题类型

  1. 可以在课程期间已开发的项目基础上继续进行开发(扩充、优化等)。
    如,可在AI驱动:90分钟Maven项目实战入门中的题目上进行扩展、完善。
  2. 可以仿照一个你熟悉的桌面或手机程序开发自己的程序。比如,开发一个QQ、日历与Todo、记事本等。
  3. 针对生活、学习中碰到的实际问题尝试编程解决,也可选择一个感兴趣的题目,如游戏等。但一定要和Java相关。
  4. 如果能力允许:可以选择手机应用开发、Web应用开发。
  5. 游戏类题目。
  6. 课程设计任务书的指定题目

鼓励课程设计中使用Java、Python第三方生态库与服务(有加分)。

其他参考题目

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

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

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

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

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

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

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

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

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

第三方生态常见类库与技术简介

序号 技术/工具 简要说明 参考资料
1 jsoup Java HTML解析库,用于网页抓取和数据提取 jsoup官网
2 HttpComponents Apache的HTTP协议工具集,其HttpClient组件是广泛使用的Java HTTP客户端库。 HttpComponents官网
3 Lucene Java全文检索引擎工具包,可用于构建搜索引擎 Lucene官网
Lucene入门教程
4 ElasticSearch 基于Lucene的分布式、近实时搜索引擎与分析引擎,支持全文检索和复杂数据分析。 ES官网下载
ES基本概念
Java API使用
5 ECharts 开源可视化图表库,用于网页图表展示(前端技术)。有Echarts Java允许在服务器端生成ECharts图表配置(JSON格式),然后传递给前端渲染,与前端ECharts库配合使用。 ECharts官网,Echarts Java中文说明
6 中文分词 用于中文文本分词处理的工具库 HanLP (https://github.com/hankcs/HanLP)
jie分词Java版
7 Apache POI Java处理Microsoft Office文档的库(Excel、Word等) POI官网
Excel快速入门
8 JSON处理库 用于Java对象与JSON格式序列化/反序列化的主流库(首选Jackson、Gson、Fastjson等) Jackson官网
Fastjson2
Jackson教程
9 日志框架 记录程序运行时的状态、事件和错误信息,以便开发者进行调试、监控和问题排查 Apache Log4j

二. 团队分组说明

  1. 组长负责制:负责合理的任务分配与划分、负责团队成员提交材料的规范性(报告格式、提交顺序、文件名格式)。
  2. 团队规模:2人,只有工作量大、有一定难度的项目允许3人组队。
  3. 成员责任:每个人都要负责一个相对完整的模块。必须包含代码编写工作,编程一定要规范。前期调查与系统功能分析与设计由所有组员共同完成。

说明:组长通常分数会高一档。

三. 课程设计其他要求

基本要求:

  1. 所有桌面程序都应可直接运行。不允许通过IDE启动运行。
  2. 数据库类
    1. 一定要使用老师提供的JDBCUitl.java或将数据库常用操作封装好的数据库工具类获取连接;
    2. 除非有充分理由,一定要使用DAO模式;
    3. 每个表一定要有数值型的自增id。
  3. 基于他人已有的代码的项目
    考核前一定要说明参考了什么代码。
    考核时主要讲解自己:新增、改进的功能。
  4. 网络类
    1. 一般都要使用多线程技术。
    2. 要搞清楚自己使用了什么网络协议?为什么使用这个网络协议。

四. 答辩

提前答辩: 自评优秀可提前到周三答辩,良好周四,中等与及格不得提前答辩。

答辩前:

  1. 组长请务必保证团队中每个成员在课堂派中已按规范提交好实验报告与代码
  2. 前请务必先自行演练一遍项目演示过程,最好准备一些用于演示的例子可以充分展示系统的核心、亮点功能
  3. 叫老师检查前,请务必保持项目处于可直接演示状态、以节省时间。
  4. 请提前填写“答辩预约表”云文档。

答辩中: 某个成员答辩时,请一个同学记录3-4个答辩问题,并简单记录同学回答情况。
答辩后: 每位成员整理并上传答辩记录表。

注意:获得优秀或者良好但选题比较新颖、有趣的小组请将自己团队课程设计博客链接发给本班学习委员汇总,经筛选后可放入本博客。

五.课程设计优秀案例

2026年(24级)

于鸿硕组:基于学院网站的搜索引擎:基于RAG技术与多模态大模型的Deepseek接入和创新命中算法
陈紫钰组:基于JavaMail的邮箱客户端:JavaMail、多线程、POI。
李羽凡:基于 Spring Boot 与大语言模型的海龟汤推理小游戏设计与实现:AI做DM的海龟汤Web小游戏
林宇钦:基于网络编程的游戏社交平台设计与实现:为传统单机游戏新增联机对战功能,依托 Java Socket 实现跨主机实时交互,同时整合好友互动、实时聊天等社交能力,构建了 “单机游戏 + 联机对战 + 社交互动” 一体化的桌面平台。
林沁茹组:QO聊天:基于“C/S架构+多线程”构建聊天室,支持在线、离线消息传送、文件传输,使用MySQL存储聊天数据。

2025年(23级)

陈泽浩小组:基于SpringBoot+Vue的学生管理系统:SpringBoot、Vue、postman调试
罗向通小组:贪吃蛇游戏:流程图较清晰

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服务器演示,希望可以进一步完善。

参考资料

  1. 项目目录结构(git版)参考模板-OnlineShop
  2. Java课程设计常见问题(程序打包与部署、数据库、JSP)
  3. Git入门1-如何在实验室和宿舍同步你的代码
  4. Git入门2-FAQ
  5. IntelliJ IDEA的基本使用及IDEA中Git的配置与使用
  6. 阿里巴巴Java开发手册(终极版):主要用于编码规范
posted on 2017-05-18 10:59  zhrb  阅读(32017)  评论(0)    收藏  举报