软件工程课程个人学习随笔与自我评估

一、个人技能树与技术偏好、自我评估​

(一)已具备的专业知识与能力​

  • 基础编程能力:熟练掌握C语言、C++、Python基础语法,具备变量、循环、条件判断、函数、列表、字典等基础语法的实操能力,能够独立完成简单算法题、小型控制台程序编写。

  • 计算机底层基础认知:掌握计算机基础常识,了解操作系统基本概念、计算机网络基础架构、HTTP/HTTPS基础协议;熟悉数据库基础理论,掌握MySQL基础增删改查(CRUD)操作,能够完成简单数据表设计与数据查询。​

  • 基础算法与逻辑能力:掌握数组、链表、栈、队列等基础数据结构,熟悉冒泡排序、选择排序、二分查找等基础算法,具备基本的程序逻辑梳理、问题拆解与代码调试能力。​

  • 自主学习与实操能力:能够通过官方文档、教学视频自主学习新技术,独立完成课程基础实操作业,具备简单项目的代码编写、错误排查与优化基础能力。能熟练配合ai等工具进行模型调试、爬虫采取数据等工作。

(二)感兴趣的技术方向​

  • 软件工程化方向:感兴趣软件项目开发全流程,包括需求分析、系统设计、代码规范、版本管理、项目迭代与团队协作开发,希望摆脱零散编码,掌握标准化软件开发流程。​同时有机会的话也希望能学习agent开发方向。

  • 智能开发辅助方向:乐于使用AI工具辅助代码编写、bug排查、代码优化,探索AI与软件工程结合的高效开发模式。

(三)目前欠缺的能力​

  • 工程化开发能力薄弱:缺乏标准化软件开发思维,不熟悉UML建模、需求分析、模块拆分、系统架构设计等工程化核心能力,编码多为碎片化练习,无完整项目开发经验。​

  • 框架与进阶技术欠缺:未系统学习主流前后端开发框架,无法独立搭建完整Web项目,对软件测试、性能优化、版本控制、项目部署等实操技术几乎空白。​

  • 团队协作与项目管理能力不足:仅具备个人独立编码能力,不熟悉团队开发流程、Git协作、任务分工、项目迭代管理等团队开发必备技能。​

  • 代码规范与优化意识薄弱:日常编码侧重功能实现,忽略代码规范性、可读性、复用性,缺乏代码重构、性能优化、异常处理的思维与实操能力。

二、个人代码量统计与学期目标​

(一)当前累计代码量​

截至目前,主要依托日常编程练习、课程作业,累计有效代码量约3000行,主要以Python、C、C++基础语法代码、简单算法代码、数据库基础操作代码为主,无大型工程项目代码。​

(二)本学期课程结束目标代码量​

完成本学期软件工程课程学习后,计划累计有效代码量达到8000行以上。新增代码主要来源于课程实操练习、小型软件项目开发、框架基础练习、规范化代码重构,重点积累工程化、结构化、规范化的项目代码,而非零散刷题代码。我认为我的代码量非常薄弱,且之前主要在ai的帮助下进行编写,希望通过这学期的学习加强代码编写的逻辑思维。

三、本课程学习期待与收获目标​

(一)最期待学习的知识​

  1. 软件工程核心理论:软件生命周期、需求分析、概要设计、详细设计、软件测试、项目维护等全流程理论知识。​

  2. 工程化实操技能:UML建模、模块化设计、代码规范、版本控制、软件测试方法、项目部署与迭代流程。​

  3. 团队开发与项目管理知识:团队协作开发模式、项目任务拆分、进度管理、文档编写、项目复盘方法。​

  4. 小型完整项目开发流程:从需求调研、方案设计、编码实现、测试优化到最终交付的完整软件开发流程。​

(二)希望获得的个人收获​

最主要是提升团队协作开发能力,熟练掌握团队开发流程,适配工程项目开发模式。​其次养成规范编码、代码优化、严谨测试的开发习惯,提升代码质量与问题解决能力。若能建立系统化的软件工程思维,跳出单纯“写代码”的认知,理解软件开发是规范化、流程化、团队化的工程活动,​再掌握标准化开发流程与工具使用,能够独立完成小型软件项目的设计、开发、测试与文档编写,那再好不过了。

​四、利用豆包生成软件工程课程学习指南及合理性分析

(一)豆包生成的软件工程课程学习指南​

  1. 整体学习目标​

通过本课程学习,系统掌握软件工程的基础理论、核心方法与工程实操技能,理解软件生命周期全流程,掌握规范化软件开发、软件设计、软件测试与项目管理方法,具备独立完成小型软件项目开发、参与团队项目协作的能力,建立标准化、工程化的软件开发思维,为后续专业学习、项目实践与就业奠定基础。​

  1. 核心学习内容​

一是软件工程基础理论:软件工程定义、特性、发展历程,软件危机与软件工程解决方案,软件生命周期(可行性研究、需求分析、系统设计、编码实现、测试、维护),常见软件开发模型(瀑布模型、迭代模型、敏捷开发模型)。​

二是软件需求与设计:需求获取、需求分析、需求规格说明书编写,结构化设计、面向对象设计,UML常用图类(用例图、类图、时序图、活动图)绘制,软件模块化、接口设计、架构设计基础。

三是软件编码与规范:主流编程语言编码规范,代码复用、模块化开发思想,代码重构基础,异常处理与程序健壮性设计。​

四是软件测试与质量保障:软件测试核心概念、测试分类(黑盒、白盒、单元测试、集成测试),测试用例设计方法,软件缺陷管理,软件质量评估标准。​

五是软件项目管理与团队协作:项目进度管理、风险管理、资源管理,Git版本控制工具使用,团队分工协作、项目文档编写(需求文档、设计文档、测试报告、总结报告)。​

  1. 分阶段学习计划

第一阶段(基础入门期):吃透软件工程基础概念与软件生命周期,区分各类开发模型的适用场景,掌握软件开发的核心逻辑,完成基础概念背诵与理解,搭建课程知识框架。​

第二阶段(核心能力建设期):重点学习需求分析、UML建模、系统设计知识,结合案例练习绘图与文档编写,同步规范个人编码习惯,掌握基础代码优化方法。​

第三阶段(实操实战期):学习软件测试方法与项目管理知识,参与小型团队项目,完整走完项目开发全流程,完成编码、测试、文档撰写、项目复盘全套实操。​

第四阶段(总结提升期):梳理课程知识点,整合项目实操经验,查漏补缺,形成个人软件工程知识体系,熟练掌握工程化开发流程。​

  1. 必备实操任务​

(1)独立完成1次小型软件需求分析,撰写规范的需求规格说明书;

(2)针对小型系统完成UML建模,绘制核心业务对应各类视图。

(二)合理性分析

首先它最大的优点就是知识点很全,刚好覆盖了我们这门课要学的所有重点,从软件生命周期、各种开发模型,到画图、写需求文档、软件测试、团队协作这些内容都包含了,没有乱七八糟的超纲内容,也没有遗漏关键知识点,贴合我们的课程学习内容,用来搭建自己的学习框架特别合适。​

其次它的学习规划很合理,是循序渐进的。从最基础的理论理解,到练习画图、写文档,再到上手做项目、最后复盘总结,这个节奏很贴合我们一学期的学习进度。不会一上来就让做很难的项目。

但它的内容比较通用,没有针对性,不会根据个人基础好坏调整学习内容,对基础弱的人没有入门铺垫,学起来还是会有点迷茫。同时它只说了要做什么任务,但没说具体怎么做、做到什么标准算合格,比如画图格式、文档模板、测试用例怎么写都没有参考案例,自己实操的时候容易做得不标准、不规范。除此之外,也没有结合我们平时作业、期末复习的节奏来规划,只能当作基础学习框架。

posted @ 2026-09-07 22:44  广陵鸭梨  阅读(10)  评论(0)    收藏  举报