# javaGUI课程系统 **Repository Path**: zhuo_zou/java-gui-course-system ## Basic Information - **Project Name**: javaGUI课程系统 - **Description**: 课程 javaGUI - **Primary Language**: Java - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-06-06 - **Last Updated**: 2025-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学生签到平台系统 一个基于Java Swing的桌面应用程序,用于管理学生考勤签到。 ## 系统特性 ### 1. 用户与基础管理 - **人员信息管理**:管理系统用户(管理员、教师、学生) - **课程信息管理**:管理课程信息和教师分配 - **学生信息维护**:管理学生基本信息和班级归属 ### 2. 签到管理 - **课堂签到**:学生实时签到功能 - **异常处理**:处理迟到、缺勤、请假等异常情况 - **实时展示**:实时显示签到状态和统计信息 ### 3. 考勤统计 - **个人查询**:学生查看个人考勤记录 - **课程分析**:教师查看课程考勤统计 - **数据导出**:导出考勤数据为Excel格式 ### 4. 系统配置 - **规则设置**:配置考勤规则和时间参数 - **权限管理**:管理不同角色的系统权限 - **消息通知**:配置系统通知和提醒功能 ## 技术栈 - **Java**: JDK 1.8+ - **GUI框架**: Java Swing - **数据库**: MySQL 5.7+ - **数据库连接**: JDBC - **构建工具**: Maven ## 系统要求 - JDK 1.8 或更高版本 - MySQL 5.7 或更高版本 - 至少 512MB 内存 - 至少 100MB 磁盘空间 ## 安装和配置 ### 1. 数据库配置 1. 安装MySQL数据库 2. 创建数据库: ```sql CREATE DATABASE student_attendance CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 3. 修改配置文件 `src/main/resources/system.properties` 中的数据库连接信息: ```properties db.url=jdbc:mysql://localhost:3306/student_attendance db.username=your_username db.password=your_password ``` ### 2. 编译和运行 1. 克隆项目到本地 2. 使用Maven编译项目: ```bash mvn clean compile ``` 3. 运行应用程序: ```bash mvn exec:java -Dexec.mainClass="org.example.App" ``` 或者直接运行主类: ```bash java -cp target/classes org.example.App ``` ## 使用说明 ### 首次启动 1. 启动应用程序后,系统会自动创建数据库表结构 2. 系统会创建默认管理员账户: - 用户名:admin - 密码:admin123 3. 使用默认账户登录后,请及时修改密码 ### 用户角色 #### 管理员 (Admin) - 管理所有用户信息 - 管理所有课程和学生信息 - 查看所有考勤数据和统计 - 配置系统参数和权限 #### 教师 (Teacher) - 管理自己负责的课程 - 查看和管理课程学生考勤 - 标记学生考勤状态 - 查看课程考勤统计 #### 学生 (Student) - 进行课堂签到 - 查看个人考勤记录 - 查看个人考勤统计 ### 主要功能操作 #### 学生签到 1. 学生登录系统 2. 进入"签到管理"模块 3. 选择对应课程进行签到 4. 系统记录签到时间和状态 #### 考勤管理 1. 教师登录系统 2. 进入"签到管理"模块 3. 选择课程和日期 4. 查看学生签到情况 5. 可手动标记学生考勤状态 #### 数据统计 1. 进入"考勤统计"模块 2. 选择查询条件(课程、时间范围等) 3. 查看统计图表和数据 4. 导出统计报告 ## 项目结构 ``` src/ ├── main/ │ ├── java/ │ │ └── org/ │ │ └── example/ │ │ ├── App.java # 主入口类 │ │ ├── dao/ # 数据访问层 │ │ │ ├── AttendanceDAO.java │ │ │ ├── CourseDAO.java │ │ │ ├── StudentDAO.java │ │ │ └── UserDAO.java │ │ ├── entity/ # 实体类 │ │ │ ├── Attendance.java │ │ │ ├── Course.java │ │ │ ├── Student.java │ │ │ └── User.java │ │ ├── gui/ # 图形界面 │ │ │ ├── AttendanceManagementFrame.java │ │ │ ├── AttendanceMarkDialog.java │ │ │ ├── AttendanceStatisticsFrame.java │ │ │ ├── CourseEditDialog.java │ │ │ ├── CourseManagementFrame.java │ │ │ ├── CourseStudentManagementFrame.java │ │ │ ├── LoginFrame.java │ │ │ ├── MainFrame.java │ │ │ ├── StudentEditDialog.java │ │ │ ├── StudentManagementFrame.java │ │ │ ├── SystemConfigFrame.java │ │ │ ├── UserEditDialog.java │ │ │ └── UserManagementFrame.java │ │ ├── service/ # 业务逻辑层 │ │ │ ├── AttendanceService.java │ │ │ └── UserService.java │ │ └── util/ # 工具类 │ │ └── DatabaseUtil.java │ └── resources/ │ └── system.properties # 系统配置文件 └── pom.xml # Maven配置文件 ``` ## 配置说明 系统配置文件位于 `src/main/resources/system.properties`,包含以下配置项: - **考勤规则**:迟到阈值、缺勤阈值等 - **权限管理**:各角色权限设置 - **消息通知**:通知功能开关 - **数据库连接**:数据库连接参数 - **系统维护**:备份、日志等配置 ## 故障排除 ### 常见问题 1. **数据库连接失败** - 检查MySQL服务是否启动 - 验证数据库连接参数 - 确认数据库用户权限 2. **界面显示异常** - 检查Java版本是否为1.8+ - 尝试重新启动应用程序 3. **功能操作失败** - 检查用户权限设置 - 查看系统日志信息 ### 日志查看 系统运行日志会输出到控制台,包含详细的错误信息和调试信息。 ## 开发说明 ### 代码规范 - 使用Java标准命名规范 - 类名使用PascalCase - 方法名和变量名使用camelCase - 常量使用UPPER_SNAKE_CASE ### 数据库设计 系统使用关系型数据库设计,主要表结构: - `users`: 用户信息表 - `students`: 学生信息表 - `courses`: 课程信息表 - `attendance`: 考勤记录表 - `course_students`: 课程学生关联表 ## 许可证 本项目仅供学习和研究使用。 ## 联系方式 如有问题或建议,请联系开发团队。