课程总结
一、课程核心内容回顾
本课程以Web系统开发为主线,系统讲解了软件工程的全生命周期,包括需求分析、系统设计、编码实现、测试与维护等阶段。以下是关键知识点的梳理:
1. 软件工程方法论
生命周期模型:瀑布模型、敏捷开发(Scrum)、迭代模型的适用场景与优缺点。
需求分析:通过用户故事(User Story)、用例图(UCCD)定义功能需求,如电商系统中的“用户登录”“商品搜索”模块。
设计阶段:
架构设计:分层架构(前端/后端/数据库)、MVC模式。
数据库设计:ER图绘制、关系规范化(如学生管理系统的“学生-课程”表设计)。
2. Web开发技术栈实践
前端技术:HTML/CSS/JavaScript基础,Vue.js框架实现动态页面(如商品列表渲染)。
后端技术:Java Spring Boot或Python Django框架,RESTful API设计(如“/api/login”接口开发)。
数据库:MySQL的CRUD操作(增删改查),Redis缓存优化。
3. 项目管理与团队协作
版本控制:Git与GitHub的分支管理、协同开发流程。
测试方法:单元测试(JUnit)、接口测试(Postman)。
二、个人学习进展与成果
1. 从理论到实践的跨越
初期阶段:仅能理解抽象概念(如“高内聚低耦合”),但无法与实际代码关联。
突破点:通过小型项目实战(如“图书管理系统”),逐步掌握全流程开发:
需求分析:明确系统功能(图书录入、借阅记录查询)。
技术实现:
前端:Vue.js + Element UI构建交互界面;
后端:Spring Boot提供API接口;
数据库:MySQL存储图书信息。
成果:独立完成一个可运行的Web系统,支持基础CRUD功能。
2. 技能提升亮点
代码能力:从“复制粘贴”到能自主编写模块化代码(如封装API请求工具类)。
调试经验:学会通过日志(Log4j)和断点调试排查问题(如解决跨域访问错误)。
工程思维:理解“需求→设计→编码→测试”的闭环流程,而非仅关注局部功能。
3. 不足之处与反思
学习持续性不足:因缺乏明确目标,常出现“三天打鱼两天晒网”的情况,导致项目进度滞后。
原因分析:
对复杂功能(如权限控制)有畏难心理;
未制定每日学习计划,易被其他事务干扰。
改进措施:
将大任务拆解为小目标(如“今日完成登录接口”);
参与线上编程社区(如GitHub开源项目),增强外部监督。
三、课程改进建议
1. 增加具体案例的完整演示
希望老师以一个完整系统(如在线考试系统)为例,逐步展示:
如何从需求文档转化为UML设计图;
如何选择技术栈(如为什么用JWT实现认证);
如何部署到云服务器(阿里云/Nginx配置)。
2. 强化动手实践环节
减少纯理论课时,增加以下内容:
课堂编码Live Demo:现场演示“用户注册功能”从数据库设计到前端表单提交的完整实现;
分组项目实战:3-4人团队协作开发,模拟企业敏捷开发流程(每日站会、Sprint评审)。
3. 引入行业工具与最佳实践
讲解企业级工具链:
DevOps:用Docker容器化部署、Jenkins自动化测试;
监控与优化:Prometheus日志分析、SQL慢查询优化。
浙公网安备 33010602011771号