软件工程第一次随笔

技术栈梳理与自我复盘

一、当前技能树与自我评估

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

  1. 编程语言与算法基础
    • 熟练掌握 C/C++、Python 基础语法,能够独立完成常规逻辑的编码实现
    • 掌握常用数据结构与基础算法
  2. 基础开发与工具能力
    • 能够独立完成简单 Web 静态页面的开发
    • 熟练使用 VS Code等开发环境,掌握 Git 基础提交、分支操作,能够使用 Markdown 编写技术文档
  3. 计算机理论基础
    • 系统学习过数据结构、计算机组成原理、计算机网络等专业基础课,理解计算机底层运行逻辑与网络通信基本原理
  4. 自主学习与问题排查能力
    • 能够通过官方文档、技术社区独立解决常见开发问题,具备基础的报错信息检索与调试能力

(二)感兴趣的技术方向

人工智能:关注大模型应用落地方向,对 RAG、Agent 等开发模式有探索意愿,希望结合软件工程方法打造高质量 AI 应用

(三)目前欠缺的核心能力

  1. 软件架构与设计能力
    仅能实现零散功能点,缺乏对大型项目的整体架构设计、模块拆分与接口设计能力;对设计模式的理解停留在概念层面,无法灵活应用到实际项目中。
  2. 深度问题排查与性能优化能力
    对框架和工具多停留在“会用”层面,底层原理理解不深,遇到复杂 Bug 或性能问题时,定位与解决的效率较低。
  3. 需求分析与文档输出能力
    不擅长从业务需求转化为技术设计,输出的设计文档、接口文档不够规范严谨,缺乏标准化的文档输出习惯与意识。

二、代码量积累与学期目标

1. 当前代码量现状

累计代码量约4000-5000行,以语法练习、算法实现、小型实验代码为主

2. 本学期目标代码量

本学期软件工程课程结束后,期望累计有效代码量达到 8000-10000 行

三、对课程的期待与收获预期

  1. 掌握完整的软件开发生命周期方法论
    期待系统学习从需求分析、概要设计、详细设计、编码实现到测试、部署、维护的完整流程,建立“软件工程”的系统思维,摆脱“写代码就是做软件”的片面认知。

  2. 获得团队协作与项目管理的实战经验
    希望通过课程小组项目,实践敏捷开发流程,掌握 Git 多人协作、任务拆分、进度管理、团队沟通的方法,积累真实的团队开发经验,弥补过往单打独斗的短板。

  3. 提升代码质量与工程化能力
    期待学习代码规范、设计模式、单元测试、代码评审、重构等工程化方法,改掉“能跑就行”的粗放编码习惯,写出可维护、可扩展、符合工业标准的高质量代码。


软件工程课程学习指南

由chatgpt5.6生成

1. 软件工程基础

重点理解软件工程的基本概念,包括:

  • 软件生命周期
  • 软件开发过程
  • 软件危机及软件工程的意义
  • 常见开发模型:瀑布模型、增量模型、螺旋模型、敏捷开发

学习时要能比较不同开发模型的特点、优缺点及适用场景。

2. 软件需求分析

主要掌握:

  • 功能需求与非功能需求
  • 需求获取与需求分析
  • 软件需求规格说明书(SRS)
  • 用例图、用例描述
  • 需求验证与需求变更

重点是能够根据实际问题提取用户需求,并将其转换为规范的软件需求。

3. 软件设计

主要包括:

  • 软件体系结构设计
  • 模块划分
  • 高内聚、低耦合原则
  • 接口设计
  • 数据库设计
  • UML 建模

常见 UML 图包括用例图、类图、顺序图、活动图和状态图,需要掌握基本含义和绘制方法。

4. 软件实现

重点关注:

  • 编码规范
  • 模块化编程
  • 面向对象设计原则
  • 版本控制
  • Git 基本操作

建议通过小型项目练习代码组织、分支管理和团队协作。

5. 软件测试

需要掌握:

  • 单元测试
  • 集成测试
  • 系统测试
  • 验收测试
  • 黑盒测试与白盒测试
  • 测试用例设计

重点理解测试的目标不是证明程序“没有错误”,而是尽可能发现软件中的缺陷。

6. 软件维护与项目管理

主要内容包括:

  • 软件维护类型
  • 软件配置管理
  • 项目进度管理
  • 成本估算
  • 风险管理
  • 团队协作

可以结合 GitHub、GitLab 等工具理解实际的软件项目管理流程。

7. 推荐学习方法

建议按照 “理论 → 建模 → 实践 → 总结” 的顺序学习:

  1. 理解软件工程基本理论和开发流程。
  2. 学习 UML、需求分析和系统设计方法。
  3. 选择一个小型项目完成需求、设计、编码和测试。
  4. 使用 Git 管理代码和版本。
  5. 项目结束后整理需求文档、设计文档、测试报告和项目总结。

8. 考试复习重点

如果以课程考试为目标,可以重点复习:

  • 软件生命周期与开发模型
  • 需求分析
  • UML 图
  • 软件设计原则
  • 软件测试方法
  • 软件项目管理
  • 各阶段主要文档及作用

个人分析:

该学习指南整体结构合理,覆盖了软件工程课程的主要知识点,能够帮助我快速建立软件工程课程的知识框架,学习关注到重点内容,也可以作为预习和考试复习的提纲。但指南内容的一些具体方法和实践内容需要结合教材、课堂教学和课程项目进一步学习。总体而言,该指南对我的软件工程课程学习具有一定的指导和辅助作用。

posted @ 2026-09-09 17:28  ..Yolo  阅读(6)  评论(0)    收藏  举报