软件构造
简介
这门课的目标:理解构造与涉及的原理,在高级程序设计语言的基础上,认识软件构造的质量标准与目标,掌握面向抽象编程与面向对象编程
功能->质量
具体->抽象
编程->工程 系统分析与评价能力
手工->工具 利用现代软件构造工具的能力
程序开发的典型流程:
讨论 写代码 试错 改错 但是缺少分析阶段
所以 需要考虑非功能质量属性
设计目标:编程的“视野”
设计原则:编程的“标尺”
设计模型:编程的“经验””
1.1 软件构造中的多维视图
三个维度看软件系统的构成
- 按阶段划分:构造时/运行时视图
- 按动态性划分:时刻/阶段视图
- 按构造对象层次划分:代码/构建视图
软件构造就是视图的转换
软件应该是一个模块化的结构
软件开发需要经过六个流程:
- planning
- analysis
- design
- implementation
- testing & integration
- maintenance