# 校园活动组织与报名系统 - 需求文档

## 1. 课程信息

- **课程名称**: 校园活动组织与报名系统
- **课题来源**: 教师自拟
- **课题类型**: 综合型
- **完成时间**: 2025年X月X日
- **课题分组**: 2-3人一组

## 2. 目的和意义

1. 软件工程方法的综合运用能力
2. Java语言解决实际问题的能力
3. 数据库设计与系统集成能力
4. 规范化文档编写能力

## 3. 需求概要

系统面向校园内的活动组织与参与场景,实现活动从发布 → 报名 → 签到 → 评价 → 统计分析的一体化管理。

## 4. 用户角色说明

### 4.1 普通学生用户
- 浏览活动
- 报名/取消报名
- 签到
- 对活动进行评分与评论

### 4.2 活动管理员
- 发布活动
- 管理报名信息
- 查看签到与评价
- 导出活动数据

## 5. 功能模块

### 5.1 活动发布与管理模块

管理员可以创建并管理校园活动,至少包含以下信息:
- 活动名称
- 活动简介
- 活动时间(开始时间、结束时间)
- 活动地点
- 报名人数上限
- 活动状态(未开始/报名中/已结束)

**功能列表**:
- 新增活动
- 修改活动信息
- 删除活动(或逻辑删除)
- 查询活动列表(按时间或状态)
- 以日历形式展示活动
- 检测活动时间冲突并提示

### 5.2 报名与取消报名模块

学生可以对活动进行报名和取消报名操作。

**功能列表**:
- 学生报名活动,报名成功后自动生成电子票(PDF),包含活动信息、学生姓名、二维码
- 系统检查:
  - 是否已报名
  - 是否时间冲突
  - 是否超过人数上限
- 学生取消报名(活动未开始前)

### 5.3 签到管理(二维码)模块

系统需支持活动签到功能。

**功能列表**:
- 管理员为某个活动生成签到二维码
- 学生通过"扫码"或者管理员扫学生电子票完成签到
- 系统记录签到时间

### 5.4 活动评分与评论模块

活动结束后,学生可对参加过的活动进行评价。

**功能列表**:
- 评分(如1-5分)
- 评论内容
- 每个学生对同一活动只能评价一次
- 管理员可查看所有评价

### 5.5 数据统计与导出

系统需具备基本统计能力,例如每个活动的报名人数、实际签到人数、平均评分。管理员可导出活动数据(如CSV或Excel)。

## 6. 提交成果

### 6.1 文档
包括软件需求分析说明书、软件设计说明书、软件使用手册。

### 6.2 作品
可以采用基于Java桌面应用(Swing/JavaFX)、前后端分离系统(后端Java)。

## 7. 评分标准

1. **功能完整性**: 50%
2. **数据库设计**: 20%
3. **软件文档规范性**: 30%

## 8. 答辩要求

答辩时交付纸质软件过程文档(每组1份)。