从页面实现到工程思维

——基于竞赛积分管理系统的软件工程实践总结


一、作业基本信息

项目内容
这个作业属于哪个课程202501福大-软件工程实践-W班
这个作业要求在哪里软件工程实践总结&个人技术博客
这个作业的目标回顾课程学习与项目实践,总结工程能力成长
其他参考文献《软件工程导论》

第一部分:课程回顾与总结

1. 我的成长与变化

在本学期的软件工程课程中,我最大的成长并不体现在“掌握了多少新语法”,而是逐步建立起 工程化的软件开发思维

在竞赛积分管理系统项目中,我主要负责 Flutter 前端页面开发,包括:

  • 管理员端:用户信息管理、反馈管理页面
  • 辅导员端:学生奖项申报列表、详情审核页面
  • 多种列表筛选、分页、弹窗与底部详情交互

在实践过程中我逐渐意识到:
软件工程关注的不是“功能能不能跑”,而是系统是否具备可维护性、可扩展性和可协作性。


2. 两个关键问题的重新思考

问题一:页面能跑就行吗?

在项目初期,我认为只要页面正常显示、功能实现即可。但随着项目推进,页面数量和逻辑复杂度不断提升,一些问题逐渐暴露:

  • 页面结构不统一
  • 组件复用率低
  • 状态管理混乱,维护成本上升

在多次重构页面结构后,我逐步认识到:

良好的代码结构本身就是软件工程质量的重要组成部分。


问题二:需求变化是不是“麻烦”?

在奖项申报和反馈管理模块中,需求经历了多次调整,例如:

  • 反馈功能从“只读”改为“可回复、可修改”
  • 详情展示由简单弹窗升级为分页详情页

最初我对频繁的需求变更感到不适应,但在实践中逐渐理解到:
需求变化是软件开发的常态,工程能力的重要体现正是对变化的应对能力。


3. 五个阶段中的核心收获

阶段最大收获
需求分析学会从真实使用者角度理解需求
系统设计页面模块拆分与职责边界意识
实现阶段Flutter 组件化与代码复用
测试阶段主动发现交互和边界问题
发布阶段Git 提交规范与版本意识

4. 项目实践中的理解与心得

通过个人项目、结对编程和团队项目的实践,我逐渐形成了一些认识:

  • 个人能力决定下限,团队协作决定上限
  • 提前沟通比后期返工成本低得多
  • 清晰命名和结构设计能显著提升维护效率

5. 七大课程目标自我评估

课程目标掌握程度说明
目标180理解工程师责任与软件社会影响
目标285能将模糊需求转化为清晰功能
目标380理解系统与页面层次设计
目标475能对不同实现方案进行评估
目标585技术文档与表达能力提升
目标690团队协作与沟通能力显著增强
目标770项目管理经验仍需积累

第二部分:个人技术总结

1. 学习路线与角色定位

在团队项目中,我主要承担 Flutter 前端开发角色,重点负责:

  • 多角色列表页面开发
  • 底部弹层与详情页交互设计
  • 页面结构优化与体验改进

在实际开发中,我逐渐从“写页面”转向“设计页面结构”。


2. 技术博客与实践总结

Flutter 中基于 showModalBottomSheet 的学生奖项详情弹层实践

概述:
本文总结了在 Flutter 中实现不透明底部弹层、分页展示详情信息及交互优化的方法,重点解决了弹层背景遮罩、布局自适应和状态切换问题。

(此处可在发布后补充技术博客链接)


第三部分:软件开发模式的思考

1. 项目开发过程回顾

竞赛积分管理系统采用多角色、多模块设计,在开发过程中不断根据实际使用反馈进行功能调整和优化。


2. 开发模式分析

项目整体采用 偏敏捷的软件开发模式

  • 快速迭代功能
  • 及时响应需求变化
  • 持续优化系统体验

但同时也暴露出文档不足的问题。


3. 个人思考与建议

在需求变化频繁的项目中,敏捷开发更具优势;而在需求明确、规模较大的系统中,应加强前期设计和文档规范。


结语

通过本课程与项目实践,我逐步完成了从“页面实现者”到“工程参与者”的转变。工程思维的建立,将对我今后的学习与开发实践产生持续而深远的影响。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐