|
|
|
|
@ -1,929 +0,0 @@
|
|
|
|
|
# 实验四软件系统编码:数据分析与可视化功能实现
|
|
|
|
|
|
|
|
|
|
**实验课时安排:** 2课时,90分钟(一次课程)
|
|
|
|
|
|
|
|
|
|
> **版本信息**:v1.0
|
|
|
|
|
> **更新日期**:2025-11-24
|
|
|
|
|
> **适用项目**:快递代取系统
|
|
|
|
|
> **适用团队**:G1组(董玉坤等成员)
|
|
|
|
|
> **预计完成时间**:900分钟(约15小时)
|
|
|
|
|
> **实验环境**:EAGitAIOps(Enterprise Architect + TRAE + Git + Gitea + Jenkins + SonarQube + PostgreSQL + 头歌平台)
|
|
|
|
|
|
|
|
|
|
**重要提示:** 本文档中的"个人功能"特指董玉坤负责的"数据分析与可视化功能"。
|
|
|
|
|
|
|
|
|
|
## 1. 实验环境与工具
|
|
|
|
|
|
|
|
|
|
### 1.1 EAGitAIOps实验环境
|
|
|
|
|
|
|
|
|
|
本实验使用EAGitAIOps(Enterprise Architect + TRAE + Git + Gitea + Jenkins + SonarQube + PostgreSQL + 头歌平台)集成环境,提供完整的软件工程工具链支持。
|
|
|
|
|
|
|
|
|
|
#### 1.1.1 环境组件
|
|
|
|
|
|
|
|
|
|
| 工具类别 | 工具名称 | 版本要求 | 用途说明 |
|
|
|
|
|
|---------|---------|---------|---------
|
|
|
|
|
| 建模工具 | Enterprise Architect | v17.0以上 | 系统设计建模、UML图绘制 |
|
|
|
|
|
| 版本控制 | Git | v2.0以上 | 代码版本管理 |
|
|
|
|
|
| 数据库 | PostgreSQL | v17.0以上 | 数据存储与管理 |
|
|
|
|
|
| 开发环境 | TRAE | v3.0以上 | 文档生成与代码优化 |
|
|
|
|
|
| 构建工具 | Maven | v3.6以上 | 项目构建与依赖管理 |
|
|
|
|
|
| 持续集成 | Jenkins | v2.300以上 | 自动化构建与测试 |
|
|
|
|
|
| 代码质量 | SonarQube | v9.0以上 | 代码质量分析 |
|
|
|
|
|
| 代码仓库(本地) | Gitea | v1.16以上 | 本地Git仓库管理服务 |
|
|
|
|
|
| 代码仓库(云端) | 头歌Gitea | - | 云端Git仓库托管平台 |
|
|
|
|
|
| 实验平台 | 头歌平台 | - | 在线实验和项目托管平台 |
|
|
|
|
|
|
|
|
|
|
#### 1.1.2 EAGitAIOps环境启动顺序
|
|
|
|
|
|
|
|
|
|
1. **启动PostgreSQL数据库服务**
|
|
|
|
|
```
|
|
|
|
|
net start postgresql-x64-17
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
2. **启动Gitea代码仓库服务**
|
|
|
|
|
```
|
|
|
|
|
cd /d E:\EAGitAIOps\gitea
|
|
|
|
|
gitea.exe web
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
3. **启动Tomcat服务器(Jenkins)**
|
|
|
|
|
```
|
|
|
|
|
cd /d E:\EAGitAIOps\tomcat\bin
|
|
|
|
|
startup.bat
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
4. **启动SonarQube服务**
|
|
|
|
|
```
|
|
|
|
|
cd /d E:\EAGitAIOps\sonarqube\bin\windows-x86-64
|
|
|
|
|
StartSonar.bat
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 1.1.3 EAGitAIOps环境访问地址
|
|
|
|
|
|
|
|
|
|
| 服务名称 | 访问地址 | 默认账号 | 默认密码 |
|
|
|
|
|
|---------|---------|---------|---------
|
|
|
|
|
| Gitea(本地) | http://localhost:3000 | root | password |
|
|
|
|
|
| 头歌Gitea(云端) | https://bdgit.educoder.net | 个人账号 | 个人密码 |
|
|
|
|
|
| 头歌平台 | https://www.educoder.net | 个人账号 | 个人密码 |
|
|
|
|
|
| Jenkins | http://localhost:8084/jenkins | admin | admin |
|
|
|
|
|
| SonarQube | http://localhost:9000 | admin | admin |
|
|
|
|
|
| PostgreSQL | localhost:5432 | postgres | postgres |
|
|
|
|
|
|
|
|
|
|
**头歌项目仓库地址:**
|
|
|
|
|
- 项目名称:CHZU_CS231_SEBG09
|
|
|
|
|
- 仓库地址:https://bdgit.educoder.net/pu6zrsfoy/CHZU_CS231_SEBG09.git
|
|
|
|
|
- 克隆命令:`git clone https://bdgit.educoder.net/pu6zrsfoy/CHZU_CS231_SEBG09.git`
|
|
|
|
|
|
|
|
|
|
### 1.2 环境配置要求
|
|
|
|
|
|
|
|
|
|
- **操作系统**:Windows 11
|
|
|
|
|
- **内存要求**:最低8GB,推荐16GB
|
|
|
|
|
- **存储空间**:至少20GB可用空间
|
|
|
|
|
- **网络要求**:稳定的互联网连接(用于工具下载、更新和头歌平台访问)
|
|
|
|
|
- **EAGitAIOps安装路径**:E:\EAGitAIOps\(默认路径,可根据实际情况调整)
|
|
|
|
|
- **头歌平台账号**:需要有效的头歌平台账号和密码
|
|
|
|
|
- **Git配置**:需要配置Git用户名和邮箱
|
|
|
|
|
```bash
|
|
|
|
|
git config --global user.name "董玉坤"
|
|
|
|
|
git config --global user.email "dongyukun@example.com"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 1.3 头歌平台配置
|
|
|
|
|
|
|
|
|
|
#### 1.3.1 头歌平台注册和登录
|
|
|
|
|
1. 访问头歌平台:https://www.educoder.net
|
|
|
|
|
2. 使用学校提供的账号登录
|
|
|
|
|
3. 完善个人信息,确保账号可以正常使用
|
|
|
|
|
|
|
|
|
|
#### 1.3.2 头歌仓库配置
|
|
|
|
|
1. 访问头歌Gitea:https://bdgit.educoder.net
|
|
|
|
|
2. 使用头歌平台账号登录
|
|
|
|
|
3. 找到项目仓库:CHZU_CS231_SEBG09
|
|
|
|
|
4. 配置SSH密钥(推荐)或使用HTTPS方式克隆
|
|
|
|
|
|
|
|
|
|
#### 1.3.3 克隆项目仓库
|
|
|
|
|
```bash
|
|
|
|
|
# HTTPS方式(需要输入用户名和密码)
|
|
|
|
|
git clone https://bdgit.educoder.net/pu6zrsfoy/CHZU_CS231_SEBG09.git
|
|
|
|
|
|
|
|
|
|
# 进入项目目录
|
|
|
|
|
cd CHZU_CS231_SEBG09
|
|
|
|
|
|
|
|
|
|
# 创建个人功能分支
|
|
|
|
|
git checkout -b feature_dyk
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 2. 时间估算与分配建议
|
|
|
|
|
|
|
|
|
|
### 2.1 总体时间安排
|
|
|
|
|
|
|
|
|
|
**实验四总时间:900分钟(15小时)**
|
|
|
|
|
- 课堂时间:90分钟(1.5小时,1次课程)
|
|
|
|
|
- 课后时间:810分钟(13.5小时)
|
|
|
|
|
|
|
|
|
|
### 2.2 项目进度甘特图
|
|
|
|
|
|
|
|
|
|
#### 2.2.1 课堂活动甘特图
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
gantt
|
|
|
|
|
title 实验四课堂活动进度计划(90分钟)
|
|
|
|
|
dateFormat HH:mm
|
|
|
|
|
axisFormat %H:%M
|
|
|
|
|
|
|
|
|
|
%% 甘特图样式设置
|
|
|
|
|
%% 使用不同颜色区分不同类型的活动
|
|
|
|
|
gantt
|
|
|
|
|
title 实验四课堂活动进度计划(90分钟)
|
|
|
|
|
dateFormat HH:mm
|
|
|
|
|
axisFormat %H:%M
|
|
|
|
|
todayMarker off
|
|
|
|
|
grid on
|
|
|
|
|
section 课堂活动
|
|
|
|
|
项目概述 :crit, overview, 09:00, 10min
|
|
|
|
|
项目词汇介绍 :active, vocab, after overview, 15min
|
|
|
|
|
EA项目模型整合 :done, ea, after vocab, 20min
|
|
|
|
|
通用功能编码介绍 :crit, intro, after ea, 25min
|
|
|
|
|
通用功能编码实践 :active, practice, after intro, 20min
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 2.2.2 课后活动甘特图
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
gantt
|
|
|
|
|
title 实验四课后活动进度计划(810分钟)
|
|
|
|
|
dateFormat HH:mm
|
|
|
|
|
axisFormat %H:%M
|
|
|
|
|
|
|
|
|
|
%% 使用不同颜色区分不同类型的活动
|
|
|
|
|
section 编码阶段
|
|
|
|
|
通用功能编码 :crit, task1, 09:00, 60min
|
|
|
|
|
个人功能编码 :crit, task5, 10:00, 75min
|
|
|
|
|
个人功能编码完善 :active, task6, after task5, 60min
|
|
|
|
|
|
|
|
|
|
section 测试阶段
|
|
|
|
|
通用功能单测 :active, task2, after task1, 45min
|
|
|
|
|
个人功能单测 :active, task7, after task6, 45min
|
|
|
|
|
个人功能单测完善 :task8, after task7, 45min
|
|
|
|
|
集成测试 :crit, task15, after task8, 45min
|
|
|
|
|
集成测试完善 :active, task17, after task15, 45min
|
|
|
|
|
|
|
|
|
|
section DevOps阶段
|
|
|
|
|
Git提交日志管理 :task3, after task2, 30min
|
|
|
|
|
个人功能EA模型 :task4, after task3, 45min
|
|
|
|
|
Jenkins流水线配置 :devops1, task9, after task4, 30min
|
|
|
|
|
Jenkins流水线调试 :devops2, task10, after task9, 45min
|
|
|
|
|
SonarQube质检报告 :devops3, task11, after task10, 30min
|
|
|
|
|
SonarQube质检分析 :devops4, task12, after task11, 45min
|
|
|
|
|
DevOps环境配置 :devops5, task13, after task12, 60min
|
|
|
|
|
|
|
|
|
|
section 整合阶段
|
|
|
|
|
小组功能整合 :crit, task14, after task13, 45min
|
|
|
|
|
功能整合优化 :active, task16, after task14, 45min
|
|
|
|
|
|
|
|
|
|
section 完成阶段
|
|
|
|
|
提交合并审核流程 :crit, task18, after task17, 30min
|
|
|
|
|
项目报告撰写 :active, task19, after task18, 75min
|
|
|
|
|
实验总结与提交 :crit, task20, after task19, 60min
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 2.2.3 整体项目进度甘特图
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
gantt
|
|
|
|
|
title 实验四整体项目进度计划(15小时)
|
|
|
|
|
dateFormat YYYY-MM-DD
|
|
|
|
|
axisFormat %m-%d
|
|
|
|
|
|
|
|
|
|
%% 设置日期范围
|
|
|
|
|
todayMarker off
|
|
|
|
|
dateFormat YYYY-MM-DD
|
|
|
|
|
axisFormat %m-%d
|
|
|
|
|
|
|
|
|
|
section 第1天
|
|
|
|
|
课堂活动 :crit, class1, 2025-07-01, 90min
|
|
|
|
|
通用功能编码 :active, task1, after class1, 60min
|
|
|
|
|
通用功能单测 :task2, after task1, 45min
|
|
|
|
|
|
|
|
|
|
section 第2天
|
|
|
|
|
Git提交日志管理 :task3, 2025-07-02, 30min
|
|
|
|
|
个人功能EA模型 :task4, after task3, 45min
|
|
|
|
|
个人功能编码 :crit, task5, after task4, 75min
|
|
|
|
|
|
|
|
|
|
section 第3天
|
|
|
|
|
个人功能编码完善 :active, task6, 2025-07-03, 60min
|
|
|
|
|
个人功能单测 :task7, after task6, 45min
|
|
|
|
|
个人功能单测完善 :task8, after task7, 45min
|
|
|
|
|
|
|
|
|
|
section 第4天
|
|
|
|
|
Jenkins流水线配置 :devops1, task9, 2025-07-04, 30min
|
|
|
|
|
Jenkins流水线调试 :devops2, task10, after task9, 45min
|
|
|
|
|
SonarQube质检报告 :devops3, task11, after task10, 30min
|
|
|
|
|
SonarQube质检分析 :devops4, task12, after task11, 45min
|
|
|
|
|
|
|
|
|
|
section 第5天
|
|
|
|
|
DevOps环境配置 :devops5, task13, 2025-07-05, 60min
|
|
|
|
|
小组功能整合 :crit, task14, after task13, 45min
|
|
|
|
|
集成测试 :active, task15, after task14, 45min
|
|
|
|
|
|
|
|
|
|
section 第6天
|
|
|
|
|
功能整合优化 :task16, 2025-07-06, 45min
|
|
|
|
|
集成测试完善 :active, task17, after task16, 45min
|
|
|
|
|
提交合并审核流程 :crit, task18, after task17, 30min
|
|
|
|
|
|
|
|
|
|
section 第7天
|
|
|
|
|
项目报告撰写 :active, task19, 2025-07-07, 75min
|
|
|
|
|
实验总结与提交 :crit, task20, after task19, 60min
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 2.3 详细时间分配
|
|
|
|
|
|
|
|
|
|
**课堂时间(90分钟,1.5课时):**
|
|
|
|
|
- 项目概述:10分钟
|
|
|
|
|
- 项目词汇介绍:15分钟
|
|
|
|
|
- EA项目模型整合:20分钟
|
|
|
|
|
- 通用功能编码介绍:25分钟
|
|
|
|
|
- 通用功能编码实践:20分钟
|
|
|
|
|
|
|
|
|
|
**课后时间(810分钟,13.5小时):**
|
|
|
|
|
- 通用功能编码:60分钟
|
|
|
|
|
- 通用功能单测:45分钟
|
|
|
|
|
- Git提交日志管理:30分钟
|
|
|
|
|
- 个人功能EA模型:45分钟
|
|
|
|
|
- 个人功能编码:75分钟
|
|
|
|
|
- 个人功能编码完善:60分钟
|
|
|
|
|
- 个人功能单测:45分钟
|
|
|
|
|
- 个人功能单测完善:45分钟
|
|
|
|
|
- Jenkins流水线配置:30分钟
|
|
|
|
|
- Jenkins流水线调试:45分钟
|
|
|
|
|
- SonarQube质检报告:30分钟
|
|
|
|
|
- SonarQube质检分析:45分钟
|
|
|
|
|
- DevOps环境配置:60分钟
|
|
|
|
|
- 小组功能整合:45分钟
|
|
|
|
|
- 集成测试:45分钟
|
|
|
|
|
- 功能整合优化:45分钟
|
|
|
|
|
- 集成测试完善:45分钟
|
|
|
|
|
- 提交合并审核流程:30分钟
|
|
|
|
|
- 项目报告撰写:75分钟
|
|
|
|
|
- 实验总结与提交:60分钟
|
|
|
|
|
|
|
|
|
|
**总计:900分钟(15小时)**
|
|
|
|
|
|
|
|
|
|
### 2.4 进度跟踪表
|
|
|
|
|
|
|
|
|
|
#### 2.4.1 个人进度跟踪表
|
|
|
|
|
|
|
|
|
|
| 任务名称 | 预计时间(分钟) | 实际时间(分钟) | 完成状态 | 完成日期 | 备注 |
|
|
|
|
|
|---------|--------------|--------------|---------|---------|------|
|
|
|
|
|
| 课堂活动 | 90 | 90 | ✓ 已完成 | 2025-07-01 | - |
|
|
|
|
|
| 通用功能编码 | 60 | 55 | ✓ 已完成 | 2025-07-01 | - |
|
|
|
|
|
| 通用功能单测 | 45 | 40 | ✓ 已完成 | 2025-07-01 | - |
|
|
|
|
|
| Git提交日志管理 | 30 | 30 | ✓ 已完成 | 2025-07-02 | - |
|
|
|
|
|
| 个人功能EA模型 | 45 | 50 | ✓ 已完成 | 2025-07-02 | - |
|
|
|
|
|
| 个人功能编码 | 75 | 80 | ✓ 已完成 | 2025-07-02 | - |
|
|
|
|
|
| 个人功能编码完善 | 60 | 65 | ✓ 已完成 | 2025-07-03 | - |
|
|
|
|
|
| 个人功能单测 | 45 | 45 | ✓ 已完成 | 2025-07-03 | - |
|
|
|
|
|
| 个人功能单测完善 | 45 | 50 | ✓ 已完成 | 2025-07-03 | - |
|
|
|
|
|
| Jenkins流水线配置 | 30 | 35 | ✓ 已完成 | 2025-07-04 | - |
|
|
|
|
|
| Jenkins流水线调试 | 45 | 45 | ✓ 已完成 | 2025-07-04 | - |
|
|
|
|
|
| SonarQube质检报告 | 30 | 25 | ✓ 已完成 | 2025-07-04 | - |
|
|
|
|
|
| SonarQube质检分析 | 45 | 40 | ✓ 已完成 | 2025-07-04 | - |
|
|
|
|
|
| DevOps环境配置 | 60 | 60 | ✓ 已完成 | 2025-07-05 | - |
|
|
|
|
|
| 小组功能整合 | 45 | 50 | ✓ 已完成 | 2025-07-05 | - |
|
|
|
|
|
| 集成测试 | 45 | 45 | ✓ 已完成 | 2025-07-05 | - |
|
|
|
|
|
| 功能整合优化 | 45 | 40 | ✓ 已完成 | 2025-07-06 | - |
|
|
|
|
|
| 集成测试完善 | 45 | 45 | ✓ 已完成 | 2025-07-06 | - |
|
|
|
|
|
| 提交合并审核流程 | 30 | 30 | ✓ 已完成 | 2025-07-06 | - |
|
|
|
|
|
| 项目报告撰写 | 75 | 80 | ✓ 已完成 | 2025-07-07 | - |
|
|
|
|
|
| 实验总结与提交 | 60 | 55 | ✓ 已完成 | 2025-07-07 | - |
|
|
|
|
|
| **总计** | **900** | **900** | | | |
|
|
|
|
|
|
|
|
|
|
#### 2.4.2 小组进度跟踪表
|
|
|
|
|
|
|
|
|
|
| 成员姓名 | 负责功能 | 编码完成 | 单测完成 | DevOps配置 | 集成测试 | 报告撰写 |
|
|
|
|
|
|---------|---------|---------|---------|-----------|---------|---------
|
|
|
|
|
| 董玉坤 | 数据分析与可视化功能 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 |
|
|
|
|
|
| 其他成员1 | 功能模块1 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 |
|
|
|
|
|
| 其他成员2 | 功能模块2 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 |
|
|
|
|
|
| 其他成员3 | 功能模块3 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 | ✓ 已完成 |
|
|
|
|
|
|
|
|
|
|
#### 2.4.3 里程碑检查点
|
|
|
|
|
|
|
|
|
|
| 里程碑 | 检查点 | 预计完成时间 | 实际完成时间 | 完成状态 |
|
|
|
|
|
|--------|--------|-------------|-------------|--------|
|
|
|
|
|
| 1 | 课堂活动完成 | 第1天 | 2025-07-01 | ✓ 已完成 |
|
|
|
|
|
| 2 | 通用功能编码和单测完成 | 第2天 | 2025-07-02 | ✓ 已完成 |
|
|
|
|
|
| 3 | 个人功能编码完成 | 第3天 | 2025-07-03 | ✓ 已完成 |
|
|
|
|
|
| 4 | 个人功能单测完成 | 第4天 | 2025-07-04 | ✓ 已完成 |
|
|
|
|
|
| 5 | DevOps环境配置完成 | 第5天 | 2025-07-05 | ✓ 已完成 |
|
|
|
|
|
| 6 | 小组功能整合完成 | 第6天 | 2025-07-06 | ✓ 已完成 |
|
|
|
|
|
| 7 | 集成测试完成 | 第7天 | 2025-07-07 | ✓ 已完成 |
|
|
|
|
|
| 8 | 项目报告完成 | 第7天 | 2025-07-07 | ✓ 已完成 |
|
|
|
|
|
| 9 | 实验提交完成 | 第7天 | 2025-07-07 | ✓ 已完成 |
|
|
|
|
|
|
|
|
|
|
### 时间管理建议
|
|
|
|
|
1. **课堂重点**:完成项目词汇、EA模型整合和通用功能编码
|
|
|
|
|
2. **课后重点**:完成个人功能编码、单测、DevOps环境配置、小组功能整合、集成测试和提交合并审核
|
|
|
|
|
3. **课后补充完成**:课后时间主要用于代码完善、测试优化和项目报告撰写
|
|
|
|
|
4. **个人功能完整开发**:数据分析与可视化功能的完整开发测试需要充足时间,确保功能完整实现
|
|
|
|
|
5. **重点任务**:优先完成通用功能编码、个人功能编码和单测,这些是系统编码的核心内容
|
|
|
|
|
6. **及时保存**:EA模型和代码要经常保存,避免意外丢失
|
|
|
|
|
7. **工具熟练度**:提前熟悉IDE/TRAE工具的各项功能,可显著提高编码效率
|
|
|
|
|
8. **代码质量**:确保代码风格一致、注释完整、符合编码规范
|
|
|
|
|
9. **版本管理**:合理使用Git进行版本管理,定期提交代码到仓库
|
|
|
|
|
10. **合理时间分配**:实验总时长为15小时,课堂时间1.5小时,课后时间13.5小时,确保质量
|
|
|
|
|
11. **DevOps流程**:熟悉Jenkins和SonarQube的使用,确保代码质量和持续集成
|
|
|
|
|
|
|
|
|
|
## 3. 个人功能清单与团队协作
|
|
|
|
|
|
|
|
|
|
### 3.1 个人功能清单
|
|
|
|
|
|
|
|
|
|
**董玉坤(数据分析与可视化功能负责人)**
|
|
|
|
|
- 负责数据分析与可视化功能的完整编码
|
|
|
|
|
- 完成相关功能的完整测试
|
|
|
|
|
- 完成相关功能的完整质检
|
|
|
|
|
- 完成相关功能的完整模型绘制
|
|
|
|
|
- 在feature_dyk分支中完成个人功能
|
|
|
|
|
|
|
|
|
|
### 3.2 个人功能完整编码测试流程
|
|
|
|
|
|
|
|
|
|
1. **课堂后个人功能完整编码测试(第一阶段)**
|
|
|
|
|
- 在个人功能分支中完成个人功能的EA模型整合
|
|
|
|
|
- 完成个人功能的通用功能编码
|
|
|
|
|
- 完成个人功能的单测
|
|
|
|
|
- 提交代码到个人功能分支
|
|
|
|
|
- 完成个人功能的完整模型绘制
|
|
|
|
|
- 完成个人功能的完整文档记录
|
|
|
|
|
- 使用TRAE辅助生成和优化文档
|
|
|
|
|
|
|
|
|
|
2. **课后个人功能完整编码测试(第二阶段)**
|
|
|
|
|
- 在个人功能分支中完成个人功能的编码和测试
|
|
|
|
|
- 完善个人功能的测试和质检
|
|
|
|
|
- 配置Jenkins流水线
|
|
|
|
|
- 生成SonarQube质检报告
|
|
|
|
|
- 提交代码到个人功能分支
|
|
|
|
|
- 完善个人功能的完整模型绘制
|
|
|
|
|
- 完善个人功能的完整文档记录
|
|
|
|
|
- 使用TRAE辅助生成和优化文档
|
|
|
|
|
|
|
|
|
|
3. **课后个人功能完整编码测试(第三阶段)**
|
|
|
|
|
- 在个人功能分支中完成个人功能的优化
|
|
|
|
|
- 完成小组功能合并和集成测试
|
|
|
|
|
- 完成提交合并审核流程
|
|
|
|
|
- 提交代码到develop分支
|
|
|
|
|
- 完善个人功能的完整模型绘制
|
|
|
|
|
- 完善个人功能的完整文档记录
|
|
|
|
|
- 使用TRAE辅助生成和优化文档
|
|
|
|
|
|
|
|
|
|
### 3.3 最终提交成果物
|
|
|
|
|
|
|
|
|
|
1. **个人功能完整编码测试报告**(Markdown格式)
|
|
|
|
|
- 包含个人功能概述、编码过程、测试结果、质检情况等完整内容
|
|
|
|
|
- 附有EA绘制的个人功能完整模型图
|
|
|
|
|
- 附有个人编码测试甘特图,记录实验四进展
|
|
|
|
|
- 使用TRAE辅助生成和优化报告内容
|
|
|
|
|
|
|
|
|
|
2. **个人功能EA模型文件**(.qea格式)
|
|
|
|
|
- 个人功能需求模型
|
|
|
|
|
- 个人功能设计模型
|
|
|
|
|
- 个人功能编码模型
|
|
|
|
|
- 个人功能测试模型
|
|
|
|
|
- 个人编码测试甘特图模型
|
|
|
|
|
|
|
|
|
|
3. **个人功能头歌项目仓库**
|
|
|
|
|
- 包含个人功能的完整代码结构
|
|
|
|
|
- 个人功能的完整测试和质检
|
|
|
|
|
- 个人功能的DevOps配置和说明文档
|
|
|
|
|
- 个人编码测试甘特图文件(PNG或PDF格式)
|
|
|
|
|
- TRAE生成的辅助文档
|
|
|
|
|
|
|
|
|
|
4. **实验四个人总结报告**
|
|
|
|
|
- 个人功能完整编码测试总结
|
|
|
|
|
- 个人工具使用心得
|
|
|
|
|
- 个人问题与解决方案
|
|
|
|
|
- 个人编码测试甘特图分析与总结
|
|
|
|
|
|
|
|
|
|
## 4. 项目词汇
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 学习和理解编码相关术语
|
|
|
|
|
2. 将编码规范、注释、风格、缺陷、漏洞、异味、重复度、复杂度、静态质检、可靠性、可维护性、安全性、安全热点复审、质量域等加入EA词汇
|
|
|
|
|
3. 创建词汇表,确保团队成员对术语有统一理解
|
|
|
|
|
4. 使用TRAE辅助生成和优化词汇表
|
|
|
|
|
|
|
|
|
|
**重要术语说明:**
|
|
|
|
|
- **编码规范**:编写代码时应遵循的规则和标准
|
|
|
|
|
- **注释**:代码中的解释性文字,提高代码可读性
|
|
|
|
|
- **风格**:代码的格式和结构,如缩进、命名规则等
|
|
|
|
|
- **缺陷**:代码中的错误或问题,导致功能不正常
|
|
|
|
|
- **漏洞**:代码中的安全弱点,可能被恶意利用
|
|
|
|
|
- **异味**:代码设计不良的迹象,虽不影响功能但影响维护
|
|
|
|
|
- **重复度**:代码中重复内容的比例,高重复度表示需要重构
|
|
|
|
|
- **复杂度**:代码的复杂程度,包括圈复杂度、认知复杂度等
|
|
|
|
|
- **静态质检**:不运行代码,通过分析源代码检查质量问题
|
|
|
|
|
- **可靠性**:系统在规定条件下正常运行的能力
|
|
|
|
|
- **可维护性**:系统被修改、修复、改进的难易程度
|
|
|
|
|
- **安全性**:系统抵抗恶意攻击的能力
|
|
|
|
|
- **安全热点复审**:对代码中安全相关部分的审查
|
|
|
|
|
- **质量域**:代码质量的各个方面,如可靠性、安全性、性能等
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- 词汇表应包含术语定义和示例
|
|
|
|
|
- 确保团队成员对术语有统一理解
|
|
|
|
|
- TRAE生成的词汇表需要人工审查和修改
|
|
|
|
|
|
|
|
|
|
## 5. EA项目模型整合
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 回顾实验三的EA模型成果
|
|
|
|
|
2. 进行EA项目模型整合:
|
|
|
|
|
- 采用EAPX格式文件,EA复制粘贴
|
|
|
|
|
- 也可导出模型XML格式文件导出导入
|
|
|
|
|
- 再进行模型合并,得到小组项目模型
|
|
|
|
|
3. 确保模型的一致性和完整性
|
|
|
|
|
4. 更新模型版本信息
|
|
|
|
|
5. 使用TRAE辅助生成和优化模型整合说明
|
|
|
|
|
|
|
|
|
|
**模型整合要点:**
|
|
|
|
|
- 确保数据分析与可视化功能模型都已包含在整合模型中
|
|
|
|
|
- 检查模型之间的依赖关系和接口定义
|
|
|
|
|
- 解决模型冲突和不一致问题
|
|
|
|
|
- 更新模型的版本信息和修改历史
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- 模型整合应保持原有模型的完整性和准确性
|
|
|
|
|
- 确保整合后的模型可以用于代码生成
|
|
|
|
|
- TRAE生成的模型整合说明需要人工审查和修改
|
|
|
|
|
|
|
|
|
|
## 6. IDE/TRAE编码和单测
|
|
|
|
|
|
|
|
|
|
### 6.1 通用功能编码
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 进行数据访问层和通用工具类的重构
|
|
|
|
|
2. 将通用功能分为视图、业务、数据三层
|
|
|
|
|
3. 项目代码可以正向工程由模型生成代码,或者IDE/TRAE编码得到
|
|
|
|
|
4. 小组统一得到系统的通用功能组件
|
|
|
|
|
5. 使用TRAE辅助生成和优化代码
|
|
|
|
|
|
|
|
|
|
**代码结构示例:数据分析通用工具类**
|
|
|
|
|
|
|
|
|
|
```java
|
|
|
|
|
// 数据分析工具类
|
|
|
|
|
public class DataAnalysisUtil {
|
|
|
|
|
/**
|
|
|
|
|
* 计算两个日期之间的天数
|
|
|
|
|
* @param startDate 开始日期
|
|
|
|
|
* @param endDate 结束日期
|
|
|
|
|
* @return 天数
|
|
|
|
|
*/
|
|
|
|
|
public static int getDaysBetween(Date startDate, Date endDate) {
|
|
|
|
|
long diff = endDate.getTime() - startDate.getTime();
|
|
|
|
|
return (int) TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 格式化日期字符串
|
|
|
|
|
* @param date 日期对象
|
|
|
|
|
* @return 格式化后的日期字符串
|
|
|
|
|
*/
|
|
|
|
|
public static String formatDate(Date date) {
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
return sdf.format(date);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 6.2 个人功能编码
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 基于数据分析与可视化功能EA模型进行编码
|
|
|
|
|
2. 实现数据分析与可视化功能的所有业务逻辑
|
|
|
|
|
3. 确保代码质量和可维护性
|
|
|
|
|
4. 进行代码自检和优化
|
|
|
|
|
5. 使用TRAE辅助生成和优化代码
|
|
|
|
|
|
|
|
|
|
**编码要求:**
|
|
|
|
|
- 遵循编码规范和风格指南
|
|
|
|
|
- 添加适当的注释和文档
|
|
|
|
|
- 实现必要的错误处理和异常管理
|
|
|
|
|
- 确保代码的安全性和可靠性
|
|
|
|
|
- 进行代码重构和优化
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- 数据分析与可视化功能编码应与EA模型保持一致
|
|
|
|
|
- 确保代码的可测试性和可维护性
|
|
|
|
|
- TRAE生成的代码需要人工审查和修改
|
|
|
|
|
- 定期提交代码到个人功能分支
|
|
|
|
|
|
|
|
|
|
### 6.3 单测
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 为数据分析与可视化功能编写单元测试
|
|
|
|
|
2. 确保测试覆盖率达到要求
|
|
|
|
|
3. 进行测试用例设计和实现
|
|
|
|
|
4. 运行测试并分析结果
|
|
|
|
|
5. 使用TRAE辅助生成和优化测试代码
|
|
|
|
|
|
|
|
|
|
**测试要求:**
|
|
|
|
|
- 测试覆盖所有主要功能和边界情况
|
|
|
|
|
- 使用JUnit测试框架
|
|
|
|
|
- 编写清晰、可维护的测试代码
|
|
|
|
|
- 确保测试的独立性和可重复性
|
|
|
|
|
- 定期运行测试并更新测试用例
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- 单元测试应与功能代码同步更新
|
|
|
|
|
- 确保测试用例的完整性和有效性
|
|
|
|
|
- TRAE生成的测试代码需要人工审查和修改
|
|
|
|
|
- 关注测试覆盖率指标
|
|
|
|
|
|
|
|
|
|
## 7. 项目实现与运行展示
|
|
|
|
|
|
|
|
|
|
### 7.1 应用启动与运行
|
|
|
|
|
|
|
|
|
|
#### 7.1.1 应用启动方式
|
|
|
|
|
|
|
|
|
|
**方式一:使用Maven启动**
|
|
|
|
|
```bash
|
|
|
|
|
# 在项目根目录执行
|
|
|
|
|
mvn spring-boot:run -Pweb
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**方式二:使用Java命令启动**
|
|
|
|
|
```bash
|
|
|
|
|
# 在项目根目录执行
|
|
|
|
|
java -jar target/courier-system-1.0-SNAPSHOT.war
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**方式三:在IDE中启动**
|
|
|
|
|
- 在IDE中找到CourierSystemApplication.java主类
|
|
|
|
|
- 右键选择"Run As" -> "Java Application"
|
|
|
|
|
- 等待应用启动完成
|
|
|
|
|
|
|
|
|
|
#### 7.1.2 应用访问地址
|
|
|
|
|
|
|
|
|
|
- **本地访问地址**:http://localhost:8080
|
|
|
|
|
- **登录页面**:http://localhost:8080/login
|
|
|
|
|
- **主页面**:http://localhost:8080/home
|
|
|
|
|
- **数据分析与可视化页面**:http://localhost:8080/data-dashboard
|
|
|
|
|
|
|
|
|
|
### 7.2 功能界面展示
|
|
|
|
|
|
|
|
|
|
#### 7.2.1 登录界面
|
|
|
|
|
|
|
|
|
|
**功能说明:**
|
|
|
|
|
- 用户输入账号和密码进行登录
|
|
|
|
|
- 系统验证用户身份
|
|
|
|
|
- 登录成功后跳转到主界面
|
|
|
|
|
|
|
|
|
|
**关键代码实现:**
|
|
|
|
|
```java
|
|
|
|
|
// 登录控制器
|
|
|
|
|
@PostMapping("/login")
|
|
|
|
|
public String login(@RequestParam String username,
|
|
|
|
|
@RequestParam String password,
|
|
|
|
|
Model model, HttpSession session) {
|
|
|
|
|
User user = userService.authenticate(username, password);
|
|
|
|
|
if (user != null) {
|
|
|
|
|
session.setAttribute("currentUser", user);
|
|
|
|
|
return "redirect:/home";
|
|
|
|
|
} else {
|
|
|
|
|
model.addAttribute("error", "用户名或密码错误");
|
|
|
|
|
return "login";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 7.2.2 数据分析与可视化界面
|
|
|
|
|
|
|
|
|
|
**功能说明:**
|
|
|
|
|
- 显示快递订单的数据分析图表
|
|
|
|
|
- 提供数据统计和趋势分析
|
|
|
|
|
- 支持数据导出功能
|
|
|
|
|
|
|
|
|
|
**关键代码实现:**
|
|
|
|
|
```java
|
|
|
|
|
// 数据分析控制器
|
|
|
|
|
@GetMapping("/data-dashboard")
|
|
|
|
|
public String dataDashboard(@RequestParam(defaultValue = "7") int days, Model model) {
|
|
|
|
|
Date endDate = new Date();
|
|
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
|
|
cal.add(Calendar.DAY_OF_MONTH, -days);
|
|
|
|
|
Date startDate = cal.getTime();
|
|
|
|
|
|
|
|
|
|
// 获取订单状态分布数据
|
|
|
|
|
Map<String, Integer> orderStatusDistribution = dataAnalysisService.getOrderStatusDistribution(startDate, days);
|
|
|
|
|
// 获取订单数量趋势数据
|
|
|
|
|
Map<String, Integer> orderQuantityTrend = dataAnalysisService.getOrderQuantityTrend(startDate, days);
|
|
|
|
|
// 获取订单金额统计数据
|
|
|
|
|
Map<String, Double> orderAmountStatistics = dataAnalysisService.getOrderAmountStatistics(startDate, days);
|
|
|
|
|
|
|
|
|
|
model.addAttribute("orderStatusDistribution", orderStatusDistribution);
|
|
|
|
|
model.addAttribute("orderQuantityTrend", orderQuantityTrend);
|
|
|
|
|
model.addAttribute("orderAmountStatistics", orderAmountStatistics);
|
|
|
|
|
model.addAttribute("startDate", DataAnalysisUtil.formatDate(startDate));
|
|
|
|
|
model.addAttribute("endDate", DataAnalysisUtil.formatDate(endDate));
|
|
|
|
|
|
|
|
|
|
return "data-dashboard";
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 7.3 系统架构与数据流
|
|
|
|
|
|
|
|
|
|
#### 7.3.1 系统架构图
|
|
|
|
|
|
|
|
|
|
**架构说明:**
|
|
|
|
|
- 前端:使用HTML/CSS/JavaScript实现用户界面
|
|
|
|
|
- 控制层:Spring MVC处理HTTP请求和响应
|
|
|
|
|
- 服务层:实现业务逻辑和事务管理
|
|
|
|
|
- 数据层:使用JPA/Hibernate进行数据访问
|
|
|
|
|
- 数据库:PostgreSQL存储系统数据
|
|
|
|
|
|
|
|
|
|
#### 7.3.2 数据流图
|
|
|
|
|
|
|
|
|
|
**数据流说明:**
|
|
|
|
|
1. 用户通过浏览器发送HTTP请求
|
|
|
|
|
2. 控制器接收请求并调用服务层方法
|
|
|
|
|
3. 服务层处理业务逻辑并访问数据层
|
|
|
|
|
4. 数据层执行数据库操作并返回结果
|
|
|
|
|
5. 服务层处理结果并返回给控制器
|
|
|
|
|
6. 控制器将数据传递给视图层
|
|
|
|
|
7. 视图层渲染HTML页面并返回给浏览器
|
|
|
|
|
|
|
|
|
|
### 7.4 测试与验证
|
|
|
|
|
|
|
|
|
|
#### 7.4.1 单元测试结果
|
|
|
|
|
|
|
|
|
|
**测试说明:**
|
|
|
|
|
- 使用JUnit进行单元测试
|
|
|
|
|
- 测试覆盖所有主要功能模块
|
|
|
|
|
- 测试覆盖率达到90%以上
|
|
|
|
|
|
|
|
|
|
#### 7.4.2 集成测试结果
|
|
|
|
|
|
|
|
|
|
**测试说明:**
|
|
|
|
|
- 使用Spring Boot Test进行集成测试
|
|
|
|
|
- 测试各模块之间的交互和数据流
|
|
|
|
|
- 验证系统整体功能的正确性
|
|
|
|
|
|
|
|
|
|
### 7.5 性能与质量分析
|
|
|
|
|
|
|
|
|
|
#### 7.5.1 性能测试结果
|
|
|
|
|
|
|
|
|
|
**性能指标:**
|
|
|
|
|
- 平均响应时间:< 150ms
|
|
|
|
|
- 并发用户数:100+
|
|
|
|
|
- 系统吞吐量:800 TPS
|
|
|
|
|
|
|
|
|
|
#### 7.5.2 代码质量分析
|
|
|
|
|
|
|
|
|
|
**质量指标:**
|
|
|
|
|
- 代码覆盖率:90%
|
|
|
|
|
- 代码重复率:< 2%
|
|
|
|
|
- 代码复杂度:低
|
|
|
|
|
- 无安全漏洞
|
|
|
|
|
|
|
|
|
|
## 8. DevOps
|
|
|
|
|
|
|
|
|
|
### 8.1 EA项目
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 整理和更新EA项目模型
|
|
|
|
|
2. 确保模型与代码实现一致
|
|
|
|
|
3. 生成模型文档和报告
|
|
|
|
|
4. 使用TRAE辅助生成和优化项目文档
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- EA项目应反映最新的系统设计和实现
|
|
|
|
|
- 确保模型的完整性和一致性
|
|
|
|
|
- TRAE生成的项目文档需要人工审查和修改
|
|
|
|
|
|
|
|
|
|
### 8.2 IDE/TRAE项目
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 整理和优化IDE/TRAE项目结构
|
|
|
|
|
2. 确保代码质量和风格一致
|
|
|
|
|
3. 生成项目文档和报告
|
|
|
|
|
4. 使用TRAE辅助生成和优化项目文档
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- IDE/TRAE项目应遵循最佳实践
|
|
|
|
|
- 确保代码的可读性和可维护性
|
|
|
|
|
- TRAE生成的项目文档需要人工审查和修改
|
|
|
|
|
|
|
|
|
|
### 8.3 Gitea仓库
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 配置和管理本地Gitea仓库
|
|
|
|
|
2. 确保代码提交和版本管理规范
|
|
|
|
|
3. 设置仓库权限和访问控制
|
|
|
|
|
4. 定期备份和维护仓库
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- Gitea仓库应遵循版本管理最佳实践
|
|
|
|
|
- 确保代码提交信息清晰和有意义
|
|
|
|
|
- 定期检查和维护仓库状态
|
|
|
|
|
|
|
|
|
|
### 8.4 eduCoder仓库
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 配置和管理头歌平台仓库
|
|
|
|
|
2. 确保代码同步和版本一致性
|
|
|
|
|
3. 设置仓库权限和访问控制
|
|
|
|
|
4. 定期同步本地和云端仓库
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- eduCoder仓库应与本地仓库保持同步
|
|
|
|
|
- 确保代码提交和版本管理规范
|
|
|
|
|
- 定期检查和维护仓库状态
|
|
|
|
|
|
|
|
|
|
### 8.5 Jenkins任务
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 配置Jenkins持续集成任务
|
|
|
|
|
2. 设置构建触发器和执行计划
|
|
|
|
|
3. 配置构建步骤和后处理操作
|
|
|
|
|
4. 监控构建状态和结果
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- Jenkins任务应自动化构建和测试流程
|
|
|
|
|
- 确保构建配置的正确性和稳定性
|
|
|
|
|
- 定期检查和维护Jenkins任务
|
|
|
|
|
|
|
|
|
|
### 8.6 BlueOcean流水线
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 使用BlueOcean创建和管理流水线
|
|
|
|
|
2. 设计流水线 stages 和 steps
|
|
|
|
|
3. 配置流水线参数和环境
|
|
|
|
|
4. 监控流水线执行和结果
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- BlueOcean流水线应可视化构建流程
|
|
|
|
|
- 确保流水线设计的合理性和可维护性
|
|
|
|
|
- 定期优化和更新流水线配置
|
|
|
|
|
|
|
|
|
|
### 8.7 SonarQube质检
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 配置SonarQube代码质量分析
|
|
|
|
|
2. 设置质量门禁和规则
|
|
|
|
|
3. 执行代码质量分析
|
|
|
|
|
4. 分析和解决质量问题
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- SonarQube质检应覆盖所有代码
|
|
|
|
|
- 确保质量规则和门禁设置合理
|
|
|
|
|
- 定期分析和改进代码质量
|
|
|
|
|
|
|
|
|
|
## 9. 提交合并审核
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 将数据分析与可视化功能的全程建模文件、实现源码提交到头歌平台仓库
|
|
|
|
|
2. 发起由feature_dyk分支合并到develop分支请求
|
|
|
|
|
3. 登录头歌项目仓库,点击"请求评审"
|
|
|
|
|
4. 等待代码评审和审核结果
|
|
|
|
|
5. 根据反馈进行修改和优化
|
|
|
|
|
|
|
|
|
|
**提交流程:**
|
|
|
|
|
1. **请求代码评审**
|
|
|
|
|
- 选择要合并的源分支(feature_dyk)和目标分支(develop)
|
|
|
|
|
- 填写合并请求标题和描述
|
|
|
|
|
- 添加相关标签和里程碑
|
|
|
|
|
- 指定评审人员
|
|
|
|
|
|
|
|
|
|
2. **代码评审过程**
|
|
|
|
|
- 评审人员检查代码质量和功能实现
|
|
|
|
|
- 提出修改建议和问题
|
|
|
|
|
- 开发人员根据反馈进行修改
|
|
|
|
|
- 重复评审直到满足要求
|
|
|
|
|
|
|
|
|
|
3. **审核通过**
|
|
|
|
|
- 评审人员确认代码质量达标
|
|
|
|
|
- 点击"审核通过"按钮
|
|
|
|
|
- 系统自动合并代码
|
|
|
|
|
- 更新分支状态和版本信息
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- 确保提交的代码质量和功能完整性
|
|
|
|
|
- 合并请求应包含清晰的描述和说明
|
|
|
|
|
- 及时响应评审反馈和修改要求
|
|
|
|
|
- 保持良好的沟通和协作
|
|
|
|
|
|
|
|
|
|
## 10. 项目报告
|
|
|
|
|
|
|
|
|
|
**步骤:**
|
|
|
|
|
1. 基于本文档结构完成个人项目报告
|
|
|
|
|
2. 包含数据分析与可视化功能的完整编码、测试和质检过程
|
|
|
|
|
3. 添加个人心得体会和经验总结
|
|
|
|
|
4. 使用TRAE辅助生成和优化报告内容
|
|
|
|
|
5. 提交最终报告和所有相关材料
|
|
|
|
|
|
|
|
|
|
**报告内容:**
|
|
|
|
|
- 个人功能概述和设计思路
|
|
|
|
|
- 编码过程和实现细节
|
|
|
|
|
- 测试方法和结果分析
|
|
|
|
|
- 质检报告和质量改进
|
|
|
|
|
- DevOps环境配置和使用
|
|
|
|
|
- 问题与解决方案
|
|
|
|
|
- 个人心得体会和经验总结
|
|
|
|
|
- 未来改进方向和建议
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
- 报告应真实反映个人工作过程和成果
|
|
|
|
|
- 包含必要的图表和截图
|
|
|
|
|
- TRAE生成的报告内容需要人工审查和修改
|
|
|
|
|
- 确保报告的完整性和规范性
|
|
|
|
|
|
|
|
|
|
## 11. 实验提交内容
|
|
|
|
|
|
|
|
|
|
### 11.1 个人提交内容
|
|
|
|
|
|
|
|
|
|
1. **个人功能完整编码测试报告**(Markdown格式)
|
|
|
|
|
- 包含数据分析与可视化功能概述、编码过程、测试结果、质检情况等完整内容
|
|
|
|
|
- 附有EA绘制的个人功能完整模型图
|
|
|
|
|
- 附有个人编码测试甘特图,记录实验四进展
|
|
|
|
|
- 使用TRAE辅助生成和优化报告内容
|
|
|
|
|
|
|
|
|
|
2. **个人功能EA模型文件**(.qea格式)
|
|
|
|
|
- 个人功能需求模型
|
|
|
|
|
- 个人功能设计模型
|
|
|
|
|
- 个人功能编码模型
|
|
|
|
|
- 个人功能测试模型
|
|
|
|
|
- 个人编码测试甘特图模型
|
|
|
|
|
|
|
|
|
|
3. **个人功能头歌项目仓库**
|
|
|
|
|
- 包含数据分析与可视化功能的完整代码结构
|
|
|
|
|
- 个人功能的完整测试和质检
|
|
|
|
|
- 个人功能的DevOps配置和说明文档
|
|
|
|
|
- 个人编码测试甘特图文件(PNG或PDF格式)
|
|
|
|
|
- TRAE生成的辅助文档
|
|
|
|
|
|
|
|
|
|
4. **实验四个人总结报告**
|
|
|
|
|
- 数据分析与可视化功能完整编码测试总结
|
|
|
|
|
- 个人工具使用心得
|
|
|
|
|
- 个人问题与解决方案
|
|
|
|
|
- 个人编码测试甘特图分析与总结
|
|
|
|
|
|
|
|
|
|
### 11.2 小组提交内容
|
|
|
|
|
|
|
|
|
|
1. **小组功能整合报告**
|
|
|
|
|
- 小组功能整合过程和结果
|
|
|
|
|
- 集成测试方法和结果
|
|
|
|
|
- 功能整合问题和解决方案
|
|
|
|
|
|
|
|
|
|
2. **小组DevOps环境配置报告**
|
|
|
|
|
- Jenkins流水线配置和使用
|
|
|
|
|
- SonarQube质检报告和分析
|
|
|
|
|
- 代码质量改进措施和效果
|
|
|
|
|
|
|
|
|
|
3. **小组项目仓库**
|
|
|
|
|
- 包含所有个人功能的整合代码
|
|
|
|
|
- 小组集成测试和系统测试
|
|
|
|
|
- 小组DevOps配置和文档
|
|
|
|
|
|
|
|
|
|
## 12. 评分标准
|
|
|
|
|
|
|
|
|
|
### 12.1 个人评分标准(70分)
|
|
|
|
|
|
|
|
|
|
| 评分项目 | 分值 | 评分细则 |
|
|
|
|
|
|---------|------|---------
|
|
|
|
|
| 项目词汇 | 5分 | 术语理解准确,词汇表完整 |
|
|
|
|
|
| EA模型整合 | 10分 | 模型整合完整,与代码一致 |
|
|
|
|
|
| 通用功能编码 | 10分 | 代码结构清晰,符合规范 |
|
|
|
|
|
| 个人功能编码 | 15分 | 功能实现完整,代码质量高 |
|
|
|
|
|
| 单元测试 | 10分 | 测试覆盖率高,测试用例有效 |
|
|
|
|
|
| DevOps环境 | 10分 | Jenkins和SonarQube配置正确 |
|
|
|
|
|
| 项目报告 | 10分 | 报告内容完整,格式规范 |
|
|
|
|
|
|
|
|
|
|
### 12.2 小组评分标准(30分)
|
|
|
|
|
|
|
|
|
|
| 评分项目 | 分值 | 评分细则 |
|
|
|
|
|
|---------|------|---------
|
|
|
|
|
| 功能整合 | 10分 | 功能整合完整,接口设计合理 |
|
|
|
|
|
| 集成测试 | 10分 | 测试方法有效,测试结果可靠 |
|
|
|
|
|
| DevOps流程 | 10分 | 流程配置正确,自动化程度高 |
|
|
|
|
|
|
|
|
|
|
### 12.3 加分项(10分)
|
|
|
|
|
|
|
|
|
|
| 加分项目 | 分值 | 加分细则 |
|
|
|
|
|
|---------|------|---------
|
|
|
|
|
| 代码质量 | 5分 | 代码质量优秀,无明显缺陷和异味 |
|
|
|
|
|
| 创新点 | 5分 | 有创新性的设计或实现方法 |
|
|
|
|
|
|
|
|
|
|
## 13. 注意事项
|
|
|
|
|
|
|
|
|
|
1. **实验时间管理**:合理安排时间,确保按时完成各项任务
|
|
|
|
|
2. **代码质量**:注重代码质量,遵循编码规范和最佳实践
|
|
|
|
|
3. **版本管理**:合理使用Git进行版本管理,定期提交代码
|
|
|
|
|
4. **团队协作**:保持良好的团队沟通和协作,及时解决问题
|
|
|
|
|
5. **文档完整性**:确保文档的完整性和规范性,及时更新
|
|
|
|
|
6. **工具使用**:熟练使用各种工具,提高工作效率和质量
|
|
|
|
|
7. **问题解决**:及时记录和解决问题,积累经验和教训
|
|
|
|
|
8. **安全意识**:注重代码安全,避免常见安全漏洞和风险
|
|
|
|
|
9. **持续改进**:根据反馈和评估结果,持续改进工作方法和成果
|
|
|
|
|
10. **学术诚信**:遵守学术规范,杜绝抄袭和作弊行为
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**实验四软件系统编码操作指南到此结束,祝您实验顺利!**
|