软件构造第一章知识点
知识点划分
1.软件构造的多维度视图
2.软件构造的阶段划分,各阶段的构造活动
3.内部/外部质量指标
4.软件配置原理SCM与版本控制系统
软件构造的多维度视图
按阶段划分:生成和运行时的视图
动态:时刻和时期的观点
按级别:代码和组件视图+每个视图的元素,关系,模型
1.构建时视图
idea→requirements→design→code→installable→/executable
1.代码级视图:源代码——如何逻辑的组织源代码,依赖关系(函数中的类,方法,接口)
2.组件级视图:体系结构——源代码的物理特性(文件,目录,包,库)
3.时间视图:源代码和组件在特定的时间
周期观点:如何随时间改变
1.构建时间时刻的代码级视图:
源代码逻辑的组织源代码
1.面向词汇的源代码
2.面向语法的程序结构(AST抽象语法树)
3.面向语义的程序结构(类图)
2.构建时间时刻的组件级视图
文件被封装成包,组件,子系统,可复用模块形成类库
库:存在自身的磁盘文件中,跨程序使用
静态链接:将类库文件复制到执行文件中称为可执行文件的一部分,发生在构建时,创建后无法将其从库分离
2.运行时视图
可执行程序:机器可读的顺序,CPU执行的指令以及相关的数据(完全编译程序:可加载到计算机的内存和执行)
库:常用对象代码的集合,被不同的程序重用(必须先和可执行程序连接)
可执行程序:1.可转换为本机代码(CPU能识别的机器码)
2.完全解释(被加载入内存进行解释执行)
3.解释字节码(与本机码类似,但需额外解释器+编译器)
动态链接:记录所需库,而不是将其复制在代码中,运行时加载到的库到内存中,然后同主程序连接
相对于静态链接:
1.可以升级到更新版本的库,而不需要重新创建可执行程序
2.多个运行中的程序可共享同一类库
内部/外部质量因素
1.易于理解
2.可修改
3.可维护
4.可重用
5.健壮性
软件构造模型
1.瀑布模型
2.增量模型
3.V模型
4.原型法
5.螺旋模型
SCM
SCM:追踪与控制软件中的变化
版本控制+建立基线