课程概述
《软件工程基础》围绕软件从需求到演化的全生命周期,系统介绍软件工程的基本概念、过程、方法与工具。课程强调质量、成本与效率的平衡,帮助学习者由算法实现转向系统开发,由经验驱动转向工程方法,由个人编程转向团队协作。
学习目标
理解算法、程序与软件的区别,掌握软件工程的目标、三要素及基本原则。
理解典型软件过程模型与敏捷方法,建立项目计划、跟踪、风险、质量和配置管理意识。
掌握需求获取、分析、建模、规约、确认与管理的基本方法。
理解概要设计与详细设计的任务,能够辨识面向对象和面向过程的主要模型及常见架构模式。
理解编码、调试、软件测试、部署、维护与演化的基本活动及其衔接。
认识大模型辅助软件开发的新方式,重视对生成产物的理解、控制与质量验证。
课程内容
软件工程导论:课程定位、工程化思维与大模型时代的软件工程师。
软件与软件工程:软件概念、分类与开源许可证,软件危机、发展历史、目标、原则及生成式开发。
软件过程与项目管理:经典过程模型、敏捷开发,以及过程、产品与团队管理。
需求工程:需求获取、精化与规约,面向对象和面向过程建模,需求确认、文档与管理。
软件概要设计:设计过程、架构模型与常见架构模式。
软件详细设计:用例与类设计、持久化设计、面向过程设计及文档评审。
软件实现:语言选择、编码技术、缺陷调试与用户文档。
软件测试:白盒与黑盒测试,单元、集成、确认、系统与验收测试及测试管理。
软件部署、维护与演化:部署方法、维护类型、重构与再工程。
学习组织
课程按九章组织49个知识点视频,另设开篇与最终章,共51个视频单元,配有中文字幕。建议按目录顺序学习,将需求、设计、实现和测试方法联系到熟悉的小型软件案例,关注各阶段产物之间的一致性与可追踪性。
适合人群
适合具备程序设计基础、希望系统学习软件工程方法的学习者,以及希望从个人编程进一步理解系统开发与团队协作的学习者。