区块链 - 基础知识 - 第一讲

  • 软件系统的分层
    • 应用层与实现层
      主观上对系统按照用户需求和内在技术原理进行分层,其实就是在区分应用层与实现层。
      • 应用层的一切都是从用户需求出发的
      • 实现层的一切都是使这些需求落地实现的内容,实现层中的所有内容理论上都是技术性的,并且都会被当做达成目标的方法。
    • 功能性与非功能性
      考虑一个系统能够做什么和这个系统做的怎么样式有区别的,这就是对系统做功能性和非功能性划分的基础。
      • 功能性特征的例子包括通过网络发送数据、播放音乐、拍摄照片和修改图片中的一个特定的像素。
      • 非功能性特征的例子包括一个好看的可视化用户界面,快速运行的软件,以及安全、私密地保存用户数据的能力。

对手机使用两种划分方法的示例

分层 功能性特征 非功能性特征
应用层 拍照片
打电话
发邮件
上网
玩游戏
拥有漂亮的用户界面
操作简单
拍出的照片效果很好
应用层 永久保存本地数据
自动连接最近的基站
使用硬件加速优化屏幕的动画效果
高效存储数据
省电
确保用户隐私的安全性

应用层的功能是系统中最抢眼的部分,因为它满足了用户的明确需求,这些部分一般来说就是用户愿意学并深入了解的;另一方面,实现层的非功能性特征很少会被视作系统的主要组成部分,而且他们往往会被人们忽视。

完备性
完备性在任何软件系统中都是重要的非功能性特征。
- 数据完备性: 软件系统中的数据要完整、正确且无冲突
- 行为完备性: 软件系统要可顺利运行,并且保证不存在逻辑错误
- 安全性: 软件系统只对认证用户授权有限的数据访问与使用功能

你可能感兴趣的:(区块链,区块链)