哈工大软件构造知识点总结(1)

本文根据课程ppt整理而成,仅供参考。

一、Views and Quality Objectives of Software Construction

多角度看待软件:

按阶段划分:构造时/运行时视图

按动态性划分:时刻/阶段视图

按构造对象的层次划分:代码/构件视图

软件构造:不同视角间的转化

从无到有(代码)

从代码到部分

从构建到运行

从时刻到时间段

软件构造五个关键质量指标:

可理解性、可变性和可维护性、可复用性、鲁棒性、高效性

1.Multi-dimensional software views

(1)Build-time Views

代码变化(code churn):从一个版本到另一个版本向文件添加、修改或删除的行。

库:存储在自己的磁盘文件中,收集一组可以在各种程序中重用的代码函数,在构建的时候,库函数可以被视为标准语言的扩展,其使用方式与开发人员编写的函数相同。

链接库的两种方式:静态链接、动态链接

静态链接:库是单个对象文件的集合,在构建过程中,当链接器工具确定需要函数时,他会从库中提取相应的对象文件并将其复制到可执行的程序中。静态链接发生在构造阶段。

软件版本控制:为计算机软件的唯一状态分配唯一版本名称或版本号的过程。在给定的版本号类别(主要、次要)中,这些编号通常按递增顺序分配,并与软件的新开发相对应。在细粒度级别,版本控制通常用于跟踪电子信息的增量不同版本,无论此信息是否是计算机软件。

(2)Run-time Views

可执行程序:CPU 执行的机器可读指令序列以及关联的数据值。

库:可由不同程序重用的常用目标代码的集合。大多数操作系统都包含一组开发人员可以重用的标准库,而不是要求每个程序都提供自己的库。库不能直接在目标计算机上加载和执行,它必须首先与可执行程序链接。

动态链接:动态链接方法不会将目标文件复制到可执行映像中; 相反,它会指出成功执行程序需要哪些库。当程序开始运行时,库将作为单独的实体加载到内存中,然后与主程序连接。动态库是通过联接对象文件构造的磁盘文件。然后将库收集到发布包中并安装在目标计算机上。 只有这样,它才能加载到机器的内存中。

内存信息转储:硬盘上的文件,其中包含进程内存内容的副本,当进程因某些类型的内部错误或信号而中止时生成。

二、Quality properties of software systems

外部质量因素:速度或易用性等质量,其用户可能会检测到软件产品中是否存在。外部质量因素影响用户。

其他适用于软件产品的品质,例如模块化或可读性,是内部因素,只有能够访问实际软件文本的开发人员才能察觉到。内部质量因素影响软件本身和它的开发者。

实现外部因素的关键在于内部因素:为了使用户享受可见的品质,设计者和实现者必须应用内部技术来确保隐藏的品质。

1. External quality factors

正确性是软件产品执行其确切任务的能力,由其规范定义。

鲁棒性是软件系统对异常情况做出适当反应的能力。鲁棒性是为了确保如果确实出现这种情况,系统不会造成灾难性事件; 它应该生成适当的错误消息,干净地终止其执行,或进入所谓的“优雅降级”模式。

可扩展性是使软件产品适应规范变化的便利性。

两个原则对于提高可扩展性至关重要:简约主义设计、分离主义设计。

可复用性是软件元素用于构建许多不同应用程序的能力。

高效性是软件系统对硬件资源提出尽可能少的要求的能力,例如处理器时间、内部和外部存储器占用的空间、通信设备中使用的带宽。

及时性是软件系统在其用户需要的时间或之前发布的能力。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值