Learn software engineering fundamentals through a comprehensive course covering essential topics from code quality and testing to project management and system design. Master key concepts including unit testing, agile development with Scrum, requirements engineering, object-oriented analysis, behavioral modeling, and software architecture. Practice with Python development environments, Git version control, and modern collaboration tools while exploring GUI design principles, software testing strategies, and system maintenance. Develop practical skills through hands-on exercises, quizzes, and discussions across 14 detailed chapters that progress from basic programming practices to advanced software delivery concepts. Gain insights from industry professionals and real-world case studies while building a strong foundation in professional software development methodologies.
Overview
Syllabus
- 第1章 初识软件工程
- 1.1 软件无处不在
- 1.2 软件的本质特性
- 1.3 软件工程的产生与发展
- 1.4 软件工程的基本概念
- 1.5 软件质量实现
- 1.6 业界人士谈软件工程
- 测验题
- 讨论题
- 第2章 编写高质量代码
- 2.1 编程过程与规范
- 2.2 良好的编程实践
- 2.3 Python集成开发环境
- 2.4 代码静态检查
- 2.5 代码性能分析
- 2.6 结对编程实践
- 2.7 刘贺谈软件工程
- 测验题
- 第3章 单元测试
- 3.1 单元测试概述
- 3.2 黑盒测试方法
- 3.3 白盒测试方法
- 3.4 单元测试工具
- 测验题
- 第4章 软件开发过程
- 4.1 软件过程
- 4.2 软件过程模型
- 4.3 敏捷开发过程
- 4.4 微软公司开发过程
- 测验题
- 第5章 团队开发管理
- 5.1 团队组织与管理
- 5.2 项目沟通管理
- 5.3 软件项目计划
- 5.4 软件项目估算
- 测验题
- 讨论题
- 第6章 敏捷开发与配置管理
- 6.1 敏捷开发之Scrum
- 6.2 用户故事与估算
- 6.3 团队协作工具Tower
- 6.4 配置管理
- 6.5 配置管理工具Git
- 测验题
- 作业题
- 第7章 需求获取
- 7.1 需求工程师
- 7.2 需求定义
- 7.3 需求的类型
- 7.4 需求工程过程
- 7.5 需求的主要来源
- 7.6 需求获取技术
- 7.7 撰写需求文档
- 测验题
- 讨论题
- 第8章 用例建模
- 8.1 用例建模概念
- 8.2 用例建模过程
- 8.3 用例建模精讲
- 8.4 建模工具介绍
- 8.5 微信抢票应用案例
- 测验题
- 讨论题
- 第9章 面向对象分析与设计
- 9.1 面向对象分析
- 9.2 CRC卡片分拣法
- 9.3 面向对象设计
- 9.4 类图建模
- 测验题
- 讨论题
- 第10章 行为建模
- 10.1 顺序图概念
- 10.2 顺序图建模
- 10.3 顺序图风格
- 10.4 状态建模
- 10.5 状态图
- 10.6 状态图精讲
- 测验题
- 讨论题
- 第11章 软件系统设计
- 11.1 软件体系结构概念
- 11.2 软件设计原则
- 11.3 软件体系结构风格(一)
- 11.4 软件体系结构风格(二)
- 11.5 软件体系结构风格(三)
- 11.6 软件设计过程
- 11.7 Web系统架构设计
- 11.8 数据库选择策略
- 测验题
- 作业题
- 第12章 软件交互设计
- 12.1 交互设计概述
- 12.2 交互设计目标
- 12.3 GUI设计原则
- 12.4 KLM效率模型
- 12.5 Fitts定律
- 12.6 交互设计过程
- 测验题
- 第13章 软件系统测试
- 13.1 软件测试概念
- 13.2 软件测试类型
- 13.3 软件功能测试
- 13.4 软件性能测试
- 测验题
- 第14章 软件交付与维护
- 14.1 软件部署与交付
- 14.2 软件演化与维护
- 测验题
- 期末考试
- 学习感悟和建议【必答题喔】
Taught by
Qiang Liu and Lin Liu