多维软件视图
按阶段划分:构造时
/
运行时视图
按动态性划分:时刻
/
阶段视图
按构造对象的层次划分:代码
/
构件视图
软件建设的五大关键质量目标
可理解性
可维护性和适应性
可重用性
健壮性
高效性
“软件”一词最初是由艾伦·图灵提出的
软件=程序+Data+文档
软件=模块(组件)+数据/控制流
通常来说源代码被组织为基本的程序结构,如:函数、类、方法、接口等等。需要注意的是,这种视图下共三种相互关联形式:
词汇层面 : 简单来说就是程序中使用的字符串、语句、变量等等。
语法层面: 可以使用AST(Abstract Syntax Tree,程序的语法树)。AST:彻底结构化,将源代码变为一棵树,对树做各种操作。
语义层面: 通常是图形化或形式化的,一般使用 UML (统一建模语言)图。
使用类图(UML)来描述接口、类、属性、方法以及它们之间的关系
AST
:彻底结构化,将
源代码变为一棵树,
对树做各种操作
==
对
源代码的修改
AST
:彻底结构化,将
源代码变为一棵树,
对树做各种操作
==
对
源代码的修改
AST
:彻底结构化,将
源代码变为一棵树,
对树做各种操作
==
对
源代码的修改