软件开发综合项目实训

把一个真实需求
做成可运行 · 可验证 · 可交付的软件

本课程以软件项目为载体,训练学生借助 AI 编程工具完成需求分析、系统设计、开发实现、软件测试与部署交付,并判断 AI 的产出是否真的符合要求。

课时主线:五环节软件工程闭环 先修:前端 · Java · Java Web 课程目标解读
课程起点

学生已经会写前端、Java 和 Java Web —— 那还差什么?

会

技术栈已具备

页面能写、接口能调、数据库能连。缺的不是"能不能做出来"。

难

从"题目"到"真需求"

真实项目没有明确题干:谁用、在什么场景用、边界在哪、做到什么程度算完成。

问

判断 AI 的产出对不对

AI 写出来的代码能跑,但未必对;能解释、能修改、能验证,才是真能力。

技术不再是瓶颈,能否把需求讲清楚、把结果验明白,才是这门课要解决的问题。
课程定位

后端 API、前端页面、JS 调用是"载体",判断力才是"核心"

技术载体 · 必要但不充分

接口要能跑通,页面要能交互。这些是项目落地的手段,但完成它们并不等于完成了一个软件项目。

→

课程核心 · 能否说清"为什么这样做"

能解释关键流程、能修改关键逻辑、能验证系统行为,并判断 AI 做出来的东西是否符合要求。

一句反问贯穿全课:这段代码,这个设计决策,你能不能讲明白它为什么成立?
课程主线

课程被组织成一条完整的软件工程主线

需求分析

用户 · 场景 · 边界
验收标准

›

系统设计

模块划分 · 数据
流程 · 交互

›

开发实现

任务拆分 · 上下文
分步实现 · 版本

›

软件测试

按需求设计用例
定位 · 验证修复

›

项目交付

部署 · 演示验收
文档 · 复盘不足

每个环节都有两栏标准:学生必须掌握的能力,以及 AI 可以怎样参与——两者都不越界,才是本课程的边界。
课程主线 · 上半

五个环节,学生各自要掌握什么能力

环节学生需要掌握的能力
需求分析明确用户、场景、问题、功能边界与验收标准
系统设计划分模块,设计数据、业务流程和界面交互
开发实现拆分任务,提供上下文,分步实现,管理版本
软件测试根据需求设计测试,定位问题,验证修复
项目交付部署运行、演示验收、编写说明、总结不足
能力表述里反复出现两个动作动词:明确(把模糊变具体)和验证(把相信变证据)。
课程主线 · 下半

AI 在每个环节的定位是"辅助",不是"代做"

环节AI 可以怎样参与责任归属
需求分析辅助访谈、发现遗漏、梳理需求需求由谁定义,由谁签字
系统设计提供设计方案,比较取舍,生成原型取舍判断由人做
开发实现编写代码、解释代码、辅助调试与重构修改与提交由人做
软件测试生成测试用例、辅助执行与分析用例依据需求,由人确认
项目交付辅助部署、整理文档与检查交付物交付物由人签字负责
AI 产出的每一个环节结果,学生都要能复述其依据;说不出依据,就等于没有交付。
教学关键 · 其一

软件工程要真正进入开发过程,而不是事后补文档

要避免的做法

先让 AI 把整个项目做完,再回头补一套需求文档和设计文档——文档与系统对不上,验收无从谈起。

→

要求:每次新增功能都走一个小闭环

明确需求与验收标准 → 必要的设计 → AI 辅助实现 → 测试验证 → 提交版本。

明确需求
与验收标准
功能边界是什么
→
必要的设计只为本次改动做设计
→
AI 辅助实现提供上下文与约束
→
测试验证按验收标准逐条验
→
提交版本可追溯的变更记录
文档随项目逐步形成,保持简洁,并且始终与实际系统一致。
教学关键 · 其二

AI 编程能力不能只看"会不会提问"

只看提问,会漏掉真正的能力

  • 会不会把大任务拆成可交付的小任务
  • 会不会提供相关代码与明确约束
  • 会不会逐项检查 AI 的修改
  • 会不会真正运行测试,而不是看着像对的

结果不对时,看的是这一段路

  • 找证据:报错、日志、失败用例在哪
  • 判性质:是理解错、约束错,还是方案本身错
  • 调方案:改提示、改上下文,或推翻重来
  • 再验证:改完必须回到测试闭环里
学生不必手写每一行代码,但应当能够解释关键流程、修改关键逻辑、验证系统行为。
示例 · 校园二手交易系统

考核的落点在"规则",页面和接口只是规则的具体实现

1

商品状态如何流转

待售 → 已下单 → 已完成 / 已取消,状态机是否闭合?非法状态跳转是否被拦截?

2

谁有权下架商品

卖家本人、还是任何人都能操作?权限判断放在前端还是后端?绕过前端还守得住吗?

3

重复提交怎么处理

用户连点两次、请求超时重发,会不会产生两笔订单?用什么机制挡住?

4

如何验证这些规则

每条规则都要有对应的测试用例,并且能说明"通过用例即代表规则成立"的理由。

能把这四个问题讲清楚并验明白,说明学生掌握了工程方法;只交出一堆能跑的页面,说明没有。
课程目标

本课程以软件项目为载体,培养学生使用 AI 编程工具开展需求分析、系统设计、开发实现、软件测试与部署交付的综合能力。

重点提升任务分解、人机协作、方案判断与质量验证能力。

关键词:真实需求 · 小闭环迭代 · 文档与系统一致 · 证据驱动的问题定位
收尾

如果只带走三句话

壹

技术是载体,判断是核心

API、页面、JS 调用都要做,但"为什么这样做、做得对不对"才是这门课的评分点。

贰

每个功能走完一个小闭环

需求 → 设计 → AI 实现 → 测试 → 提交版本,文档随项目长出来,不事后补。

叁

用证据说话,而不是靠感觉

不看代码"像不像对",看测试"是不是过";不对时先找证据,再调方案。

起点是前端与 Java,终点是一个别人能验收的软件。
封面
← → 或空格翻页 · F 全屏