软件构造复习1-

1-1 软件构造的多维视图

Multi-dimensional software views
Multi-dimensional software views
【1】构造阶段 Building-time Views

idea -> requirement -> design -> code -> installable/executable package.

代码层:logically orgnized(函数、类、方法、接口)
模块层:physically orgnized (文件、目录、包、库)

Syntax-oriented program structure
AST(Abstract Syntax Tree)
将源代码变成一棵树,对数的操作->对源代码的修改
在这里插入图片描述
Semantics-oriented program structure
[语义----源代码想实现…]

使用UML描述
在这里插入图片描述
(2)Building-time,period,and code level view

代码变化
Code churn
注重记录不同版本之间的变化和不同时期的修改。

(3)Build-time,moment,and component-level view

源代码由文件和目录组织
模块化
可重复使用的模块以库的形式存在

库函数(store in disk files磁盘文件)
Source of libraries : I/O,GUI,SDK,第三方,own publish…
链接库:
1)Static linking 静态链接
库被拷贝到代码里成为整体,执行时无需提供库文件。
发生在构造阶段
缺点:难以升级

(4)Build-time,period,and component-level view

  • 各项软件实体随时间如何变化
  • 配置项 Software Configuration Item(SCI)
  • 版本 Version

VCS—Version Control System 版本控制系统

【2】Runtime Views
运行时:程序被载入目标机器,开始执行
代码层面:逻辑实体在内存中如何呈现
软件层面:物理实体在物理硬件中如何呈现
(参考上学期CSAPP内容

2)Dynamic linking 动态链接
仅仅做出标记在哪里(需要什么库文件,这些库文件在哪里)
优点:易于升级

(5)Run-time,moment,and code-level view

  • 代码快照图Snapshot diagram

  • 利用内存信息转储

在这里插入图片描述
(6)Run-time ,period and code-level view

  • Sequence diagram in UML
  • 执行跟踪(用日志方式记录)

(7)Run-time ,moment,and component-level view

  • Deployment diagram in UML(部署图表)

(8)Run-time,period ,and component-level view

  • 系统层面的日志

总结图:在这里插入图片描述

1-2 软件构造的质量目标

【1】External quality factors

(1) Correctness(正确性)
a prime quality
通过测试和调试,typing and assertions

(2)Robustness(鲁棒性)
健壮性是软件系统对异常条件作出的反应(不会导致灾难性的事件发生)

(3)Extendibility(易拓展性)
越大的系统越难以拓展

两个重要的原则:

  1. 简单的体系结构比复杂的体系结构更能适应变化
  2. 自治性越强的模块更适应变化(离散化)

(4)Reusability(复用性)

利用共性,避免重复实现

(5)Compatibility(兼容性)
标准化的重要性
标准的文件格式
标准的数据结构
标准的使用接口

(6)Efficiency(效率)
对资源少需求

(7)Portability(可移植性)
各种软件硬件环境

(8)Ease of use(易用性)

(9)Functionality(功能性)
过多的功能可能会带来一致性的缺失

(10)Timeliness(时效性)

【2】Internal quality factors
设计中要求高内聚和低耦合
可读性,可懂性,简洁


内外因素需要有一定的取舍,功能之间也要有取舍,因为他们之间经常出现一些矛盾

How OOP improves quality
在这里插入图片描述

Five key quality objectives of software constraction
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值