一、 软件构造的多维度视图和质量目标
软件系统描述的三个维度:
- 按阶段:构建时间和运行时视图
- 按动态:瞬时和周期视图
- 按层次:代码和组件视图
每个视图的元素、关系和模型
软件构建:视图之间的转换
- 代码
- 代码组件
- 构建时间 运行时
- 瞬时周期
软件系统的质量属性
- 外部与内部质量因素
- 重要的外部质量因素
- 质量因素之间的权衡
软件构建的五个关键质量目标
- 易于理解:优雅和美观的代码 / 可理解性
- 可迎接变化:可维护性和适应性
- 开发成本低:设计以及与重用:可重用性
- 免于错误:健壮性
- 运行效率高:性能
二、软件构造过程与配置管理
▪ 软件开发生命周期(SDLC)概述
▪ 传统软件过程模型
– 瀑布模型、增量模型、原型模型、迭代模型
▪ 敏捷开发
▪ 协同软件开发
▪ 软件配置管理(SCM)
▪ Git作为SCM工具
软件构建的一般过程:设计 → 编程 / 重构 → 调试 → 测试 → 构建 → 发布
– 编程 / 重构
– 代码审查和静态代码分析
– 调试(转储和日志记录)和测试
– 动态代码分析 / 性能分析
▪ 狭义软件构建过程(构建):验证 → 编译 → 链接 → 测试 → 打包 → 安装 → 部署
– 构建系统:组件和流程
– 构建变体和构建语言
– 构建工具:Make、Ant、Maven、Gradle、Eclipse