从页面实现到工程思维 ——基于竞赛积分管理系统的软件工程实践总结
从页面实现到工程思维
——基于竞赛积分管理系统的软件工程实践总结
文章目录
一、作业基本信息
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 202501福大-软件工程实践-W班 |
| 这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
| 这个作业的目标 | 回顾课程学习与项目实践,总结工程能力成长 |
| 其他参考文献 | 《软件工程导论》 |
第一部分:课程回顾与总结
1. 我的成长与变化
在本学期的软件工程课程中,我最大的成长并不体现在“掌握了多少新语法”,而是逐步建立起 工程化的软件开发思维。
在竞赛积分管理系统项目中,我主要负责 Flutter 前端页面开发,包括:
- 管理员端:用户信息管理、反馈管理页面
- 辅导员端:学生奖项申报列表、详情审核页面
- 多种列表筛选、分页、弹窗与底部详情交互
在实践过程中我逐渐意识到:
软件工程关注的不是“功能能不能跑”,而是系统是否具备可维护性、可扩展性和可协作性。
2. 两个关键问题的重新思考
问题一:页面能跑就行吗?
在项目初期,我认为只要页面正常显示、功能实现即可。但随着项目推进,页面数量和逻辑复杂度不断提升,一些问题逐渐暴露:
- 页面结构不统一
- 组件复用率低
- 状态管理混乱,维护成本上升
在多次重构页面结构后,我逐步认识到:
良好的代码结构本身就是软件工程质量的重要组成部分。
问题二:需求变化是不是“麻烦”?
在奖项申报和反馈管理模块中,需求经历了多次调整,例如:
- 反馈功能从“只读”改为“可回复、可修改”
- 详情展示由简单弹窗升级为分页详情页
最初我对频繁的需求变更感到不适应,但在实践中逐渐理解到:
需求变化是软件开发的常态,工程能力的重要体现正是对变化的应对能力。
3. 五个阶段中的核心收获
| 阶段 | 最大收获 |
|---|---|
| 需求分析 | 学会从真实使用者角度理解需求 |
| 系统设计 | 页面模块拆分与职责边界意识 |
| 实现阶段 | Flutter 组件化与代码复用 |
| 测试阶段 | 主动发现交互和边界问题 |
| 发布阶段 | Git 提交规范与版本意识 |
4. 项目实践中的理解与心得
通过个人项目、结对编程和团队项目的实践,我逐渐形成了一些认识:
- 个人能力决定下限,团队协作决定上限
- 提前沟通比后期返工成本低得多
- 清晰命名和结构设计能显著提升维护效率
5. 七大课程目标自我评估
| 课程目标 | 掌握程度 | 说明 |
|---|---|---|
| 目标1 | 80 | 理解工程师责任与软件社会影响 |
| 目标2 | 85 | 能将模糊需求转化为清晰功能 |
| 目标3 | 80 | 理解系统与页面层次设计 |
| 目标4 | 75 | 能对不同实现方案进行评估 |
| 目标5 | 85 | 技术文档与表达能力提升 |
| 目标6 | 90 | 团队协作与沟通能力显著增强 |
| 目标7 | 70 | 项目管理经验仍需积累 |
第二部分:个人技术总结
1. 学习路线与角色定位
在团队项目中,我主要承担 Flutter 前端开发角色,重点负责:
- 多角色列表页面开发
- 底部弹层与详情页交互设计
- 页面结构优化与体验改进
在实际开发中,我逐渐从“写页面”转向“设计页面结构”。
2. 技术博客与实践总结
Flutter 中基于 showModalBottomSheet 的学生奖项详情弹层实践
概述:
本文总结了在 Flutter 中实现不透明底部弹层、分页展示详情信息及交互优化的方法,重点解决了弹层背景遮罩、布局自适应和状态切换问题。
(此处可在发布后补充技术博客链接)
第三部分:软件开发模式的思考
1. 项目开发过程回顾
竞赛积分管理系统采用多角色、多模块设计,在开发过程中不断根据实际使用反馈进行功能调整和优化。
2. 开发模式分析
项目整体采用 偏敏捷的软件开发模式:
- 快速迭代功能
- 及时响应需求变化
- 持续优化系统体验
但同时也暴露出文档不足的问题。
3. 个人思考与建议
在需求变化频繁的项目中,敏捷开发更具优势;而在需求明确、规模较大的系统中,应加强前期设计和文档规范。
结语
通过本课程与项目实践,我逐步完成了从“页面实现者”到“工程参与者”的转变。工程思维的建立,将对我今后的学习与开发实践产生持续而深远的影响。
更多推荐


所有评论(0)