软件构造七

考点总结:

软件构造的多维视图

按阶段划分:构造时(Build-time)/运行时(Run-time)

按动态性划分:时刻(Moment)/阶段(Period)

按构造对象的层次:代码(Code)/构件(Component)

1. 构造(build)阶段 Code+Moment:代码的逻辑组织 源代码被组织成方法、类、接口等。 词汇层面(半结构化,近乎自然语言的编程风格+特定的编程语法)、语法层 面(AST,抽象语法树)、语义层面(UML 表达需求和设计思想)、

Code+Period:代码变化

Component+Moment:代码的物理组织 代码被放入文件、包、库等形成物理组件。 库:操作系统提供的库+编程语言提供的库+第三方公司的库+自己积累的库 我们需要告诉 IDE 和 JVM 在哪里寻找某些库,链接技术解决这一问题。链接 可以分为静态链接和动态链接。静态链接发生在 build 阶段,库被整体拷贝 进入代码形成整体,执行的时候无需提供库文件。

Component+Period:各软件实体随时间如何变化 配置项(SCI)、版本、版本控制

2. 运行(run)阶段 可执行程序:原生机器码、程序完全解释执行、解释型字节码 动态链接:发生在运行阶段,库文件不会再 build 阶段被加入可执行软件 中,仅仅做出标记,在程序运行时,根据标记装载至内存;发布软件时,记 得将程序所依赖的所有动态库都复制给用户。

Code+Moment:逻辑实体如何在内存中呈现 代码快照图(Code Snapshot)、内存信息转储(Memory dump)

Code+Period: 执行追踪(勇敢日志记录程序的调用)、多线程 Component+Moment: 数据库、网络等

Component+Period: 事件日志:记录系统层面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值