软工实践团队总结
软工实践团队总结
2026 春软工实践团队总结博客
团队:一马当先
项目: 文员办公助手Agent
GitHub:https://github.com/easyfirst14536/take-the-lead
一句话总结:艰苦但不失收获
一、前言
本学期软件工程课程实践,我们团队以文员办公助手为核心项目,完成了为期一学期的完整软件项目开发实战。相较于以往课堂上碎片化、单一化的代码作业,本次项目是我们首次完整接触真实软件开发流程,从需求调研分析、项目架构设计、前后端功能开发、智能功能集成,到功能测试优化、版本迭代发布、文档整理归档,全程自主落地、分工协作、迭代优化。本项目聚焦日常文职办公场景,针对性解决文档录入、图片文字提取、文件管理等办公痛点,依托全新技术栈实现智能化办公辅助功能。历经数月的打磨攻坚,我们顺利完成项目全部既定功能,实现了从零基础想法构思到可落地、可使用、可迭代的完整软件产品交付。基于本次全程实战经历,我们对软件工程的核心思想、团队开发模式、工程化规范标准都有了全新且深刻的认知,也积累了宝贵的全栈项目开发经验。
二、项目部署
| 部分 | 文件 | 行数 | 说明 |
|---|---|---|---|
| 后端 (Backend) | server.js (Express 服务) | 366 | API + 路由 + 中间件 |
| ocr.py (Python OCR) | 56 | 文字识别模块 | |
| tests/utils.test.js (测试) | 168 | 后端单测 | |
| 后端合计 | 590 | ||
| 前端 (Frontend) | index.html | 1,080 | 单页应用 (Tailwind + Marked.js) |
| tests/frontend.test.js (测试) | 179 | 前端测试 | |
| 前端合计 | 1,259 | ||
| 桌面端 (Electron) | main.js | 261 | 主进程 |
| preload.js | 20 | 预加载脚本 | |
| Electron 合计 | 281 | ||
| 构建脚本 | scripts/afterPack.js | 106 | 打包脚本 |
| 脚本合计 | 106 | ||
| 项目配置 | package.json, README.md, PRODUCT.md | ~184 | 非代码 |
| 总源码 (不含文档 / 配置) | — | 2,236 行 |
这个项目的特点
- 后端精简(590 行)— Express 框架,做了合理的路由拆分,工作量不大
- 前端集中在一个 HTML(1,080 行)— 虽然是单文件但包含了完整 UI,Tailwind 编译后量大但手写量不多
- Electron 壳(281 行)— 标准封装,模式化代码多
- OCR 用 Python(56 行)— 核心逻辑短,但环境配置可能坑多
- 测试覆盖 — 前后端都写了测试,这点不错
功能使用
https://lijiahaoleyuan.cn/(网址可直接打开)
文本归整模式(默认)
适用场景: 微信群通知、会议笔录、零散笔记等非结构化文本。
操作步骤:
- 确认界面左上角模式为"文本归整"(按钮显示为"🔄 切换至发票模式")
- 在左侧文本框中粘贴或输入混乱文本
- 点击 ✨ 一键整理 按钮
- 观察右侧 流式预览 区域实时显示 AI 生成的 Markdown 表格
- 完成后下方出现 可编辑表格
- 单击单元格即可修正内容
- 点击 ✅ 确认表格 → 出现导出按钮
- 选择导出格式:PDF / Word / CSV
示例输入:
周三下午两点行政部开会,小王带纸质报销单,李经理需要补合同编号;微信群里说财务周五前收齐供应商信息。采购部需要三台笔记本电脑预算 15000 元,请各部门下周二前提交预算。
发票/报销模式
适用场景: 电子发票、出租车票、报销单等财务单据的批量处理。
操作步骤:
- 点击 🔄 发票模式 按钮
- 出现图片上传区,可上传发票图片或 PDF 文件
- (可选)粘贴发票文字信息
- 点击 📄 批量提取 按钮
- AI 提取发票信息,输出结构化表格(固定表头:序号 / 类型 / 发票号 / 日期 / 金额 / 收款方 / 费用类别 / 备注)
- 编辑确认 → 导出
图片处理流程:
上传图片/PDF → RapidOCR 提取文字 → DeepSeek 格式化
→ 填入文本框 → 用户提交 → 流式输出表格
图片上传限制:最大 10MB,PDF 最多 10 页。
语音输入
操作步骤:
- 点击 🎤 语音 按钮
- 浏览器请求麦克风权限,点击"允许"
- 开始说话(中文)
- 识别结果自动填入文本框
- 继续编辑或直接提交
⚠ 语音输入需要 Chrome 浏览器,且需允许麦克风权限。
语音只是辅助输入手段,不改变当前模式(文本/发票)。
拖放输入
支持两种拖放方式:
- 拖放文本:从其他窗口选中文本拖入文本框区域
- 拖放文件:直接拖入图片或 PDF 文件,自动进入识别流程
可编辑表格操作
| 操作 | 方法 |
|---|---|
| 编辑单元格 | 单击单元格,直接输入 |
| 确认表格 | 点击 ✅ 确认表格 |
| 行预览 | 鼠标悬停表格行,浮窗显示该行完整数据 |
| 导出 | 确认后选择 PDF / Word / CSV |
导出格式说明
| 格式 | 特点 | 打开方式 |
|---|---|---|
| 用 A4 纸张渲染,支持多页 | 任何 PDF 阅读器 | |
| Word | HTML 格式 .doc 文件 | Word / WPS 直接打开 |
| CSV | UTF-8 with BOM | Excel / WPS 表格直接打开,中文正常显示 |
三、学期回顾
三、学期回顾
3.1 回顾你对于软件工程课程的想象
开学时,我对这门课的期待很简单:从零落地一个实用型软件项目,真正体会软件工程的开发流程。
在此之前,编程对我来说只是零散的课堂作业、碎片化的代码练习,代码写完即结束,没有项目思维、没有工程规范。我不懂分层架构、不懂模块化开发,不会规范管理项目文件,对版本控制、项目迭代、文档编写、项目发布等软件工程核心流程完全没有概念,也从未尝试过将一个解决实际场景需求的想法,一步步落地成可以正常使用的完整软件工具。
达到期待的方面:
独立协作完成了面向职场场景的文员办公助手完整应用开发,落地实用办公功能;
熟练掌握 Git 版本控制与团队协同开发,学会分支管理、代码合并、冲突解决,告别无序代码开发;
深刻理解前后端分离架构逻辑,掌握项目分层、模块化开发的工程思维,摆脱单文件堆砌代码的写法;
实战掌握 FastAPI 后端开发、PaddleOCR 本地文字识别、静态前端开发、桌面端打包等多元技术栈,突破课内基础语法局限;
完整走完需求分析、架构设计、功能开发、测试调试、版本迭代、、项目文档撰写的全流程,真正体验了真实的软件开发生命周期。
仍然不足的方面:
前端仅使用原生 HTML/CSS/JS 开发,未接触 Vue/React 主流框架,页面组件化、工程化能力不足;
项目仅支持本地部署运行,未完成云端服务器部署,不具备线上访问、线上服务的能力;
代码性能优化、高适配兼容、异常兜底机制仍有欠缺,偏向功能实现,缺少精细化打磨。
团队四人人在三个月内,需要同时完成后端接口开发、AI问答功能、前端界面开发、功能测试调试与全套文档整理,兼顾广度与落地性,能完整跑通全部核心办公功能、交付可用项目已经全力以赴。“先实现核心功能,完成从0到1的落地,再逐步优化迭代”,这不仅是我们的开发节奏,也是新手团队实战落地的真实写照。
3.2 团队分工与个人工作投入
本次搜题 Agent 项目开发采用职责明确、分工细化、互补协作的四人团队模式,每位成员各司其职、相互配合,高效推进项目从需求分析、架构设计、功能开发、测试迭代到结题答辩的全流程工作,具体成员分工、阶段耗时、整体投入如下表格所示。
一、成员角色分工表
| 成员 | 承担角色与具体工作 |
|---|---|
| 庄伟浩 | 后端开发、FastAPI 接口开发、GitHub 仓库管理、版本迭代与代码管控、环境兼容与底层 Bug 修复 |
| 张逸川 | 前端页面开发、界面 UI 设计与交互优化、项目原型设计、前端适配与体验优化 |
| 刘佳浩 | 项目整体架构设计、技术栈选型、代码分层规范制定、模块解耦优化、项目整体结构梳理与架构迭代 |
| 章其忠 | 项目单元测试与功能测试、全流程 Bug 排查与回归测试、项目文档撰写、答辩 PPT 制作、总结博客整理与成果归档 |
二、各阶段团队作业耗时表
| 课程阶段作业 | 累计花费时间 |
|---|---|
| 第一次团队作业 | 3 天 |
| 第二次团队作业 | 5天 |
| 第一次团队项目作业 | 一周 |
| 第二次团队项目作业 | 一周 |
| 第三次团队项目作业 | 两周 |
| 第四次团队项目作业 | 两周 |
| 四、总结收获与新技术学习 |
4.1 个人与团队整体收获
经过一整个学期的软件工程实践与文员办公助手 项目开发,我们团队最大的收获不再是单纯的“学会写代码”,而是真正建立了软件工程的工程化思维。在此之前,我们的编程学习大多停留在碎片化作业层面,只追求代码跑通、答案正确,完全没有项目结构、模块化、迭代开发、测试维护的概念。而在本次完整的项目实战中,我们从零体验了真实软件的生命周期:从需求分析、原型设计、架构搭建、前后端开发、功能集成、测试排错到版本发布、文档归档、答辩总结,补齐了我们课内学习缺失的工程实践短板。
在团队协作层面,四人分工模式让我们体会到了规范化开发的重要性。每个人各司其职、相互补位:架构、后端、前端、测试文档四条线并行推进,既保证了开发效率,又避免了代码冗余与功能冲突。我们熟练掌握了Git多人协同开发规范,学会了分支管理、代码合并、冲突处理,告别了以往单打独斗的编程模式,懂得了项目开发中沟通对齐、分工协作、迭代优化的重要意义,真正理解了软件工程并非单一的代码编写,而是团队协作、规范开发、持续优化的系统性工程。
4.2 新技术与新能力收获
本次开发文员办公助手项目,我们突破了课本局限,自主学习并落地运用了大量全新技术栈,实现了从基础语法学习到项目工程化落地的跨越。在后端开发上,我们熟练掌握FastAPI框架的使用,能够独立搭建服务、设计接口、处理请求逻辑,完成前后端数据交互;在智能功能层面,自主学习PaddleOCR本地文字识别技术,实现图片文字提取、文档识别等办公核心功能,掌握了AI视觉技术的工程化落地方法。在前端开发上,熟练运用原生HTML、CSS、JS完成页面搭建与交互设计,掌握界面美化、响应式适配、用户交互优化的实操技巧。同时,我们积累了项目架构设计、模块化分层开发、功能测试调试、项目打包部署、版本迭代发布的实战能力,学会了自主查阅官方文档、排查环境报错、解决技术兼容问题,极大提升了独立攻坚与自主学习能力。
五、致谢
时光荏苒,为期一学期的软件工程课程实践圆满落幕。从最初对项目开发一无所知、对工程化概念懵懂不解,到最终完整交付可用的文员办公助手项目,我们的成长与收获离不开每一位帮助过我们的人。
首先,衷心感谢软件工程课程授课老师。老师在课堂上细致讲解软件工程核心理论、项目开发规范、团队协作准则,为我们的项目开发奠定了扎实的理论基础。同时,在项目迭代过程中,老师耐心为我们答疑解惑,指导我们优化项目架构、规范开发流程、完善项目文档,纠正我们开发过程中的误区,让我们得以规避诸多工程问题,顺利完成项目全流程开发与交付。
其次,感谢并肩同行的团队成员。本次项目四人分工明确、各司其职,从需求调研、架构设计、代码开发、功能测试到文档撰写、答辩筹备,每个人都全力以赴、互帮互助。面对陌生的技术栈、繁琐的环境调试、棘手的程序Bug,我们一同查阅资料、熬夜攻坚、交流探讨,在分歧中磨合、在困难中成长。这段协作经历,不仅让我们收获了技术能力的提升,更培养了彼此的团队默契与协作意识,成为我们本学期最珍贵的收获之一。
最后,感谢一学期坚持学习、不断试错的自己。从零起步搭建完整项目,克服技术陌生、开发卡顿、迭代繁琐等诸多难题,我们跳出舒适区,完成了从课堂作业到实战项目的蜕变。本次软件工程实践,不仅提升了我们的代码开发与工程落地能力,更让我们树立了严谨、规范、务实的编程思维,为今后的软件开发学习与项目开发积累了宝贵的实战经验。
前路漫漫,步履不停。本次课程实践的所有收获与成长,都将成为我们未来深耕计算机领域、探索软件开发道路的坚实底气。
浙公网安备 33010602011771号