一. 软件构造的多维度视图:
1. 构造阶段
Code-level 代码的逻辑组织:functions, classes, methods, interfaces
Component-level 代码的物理组织:files, directories, packages, libraries
Moment view 指特定时刻的软件形态
Period view 指软件形态随时间的变化
(1) Build-time, moment, and code-level view
词汇层面:Lexical-oriented source code
半结构化:近乎自然语言的风格+遵循特定的编程语法。(前者方便程序员,后者方便编译器)
语法层面:Syntax-oriented program structure: e.g., Abstract Syntax Tree (AST)
AST:彻底结构化,将源代码变为一棵树,对树进行各种操作==对源代码进行修改
语义层面:Semantics-oriented program structure: e.g., Class Diagram(UML类图)
语义:源代码具体想实现什么目标?从源代码到现实世界<