野外偷拍_野外紧急设计

2023-11-20

关于本系列

系列文章旨在为人们经常讨论但难以捉摸的软件体系结构和设计概念提供新的视角。 通过具体的示例,尼尔·福特为您提供了进化架构和紧急设计的敏捷实践的坚实基础。 通过将重要的架构和设计决策推迟到最后一个负责任的时刻,可以防止不必要的复杂性破坏您的软件项目。

我在本系列中的许多示例都依赖于精益软件的概念,即将决策推迟到最后一个负责任的时刻 。 但是,您怎么知道那一刻何时到来? 您怎么知道在更好的道路出现之前您可以推动设计决策走多远? 什么样的项目从紧急设计中受益最大? 最终的Evolution Architecture和紧急设计部分将回答这些问题,然后回顾整个系列的一些要点。

首先,我从唐纳德·拉姆斯菲尔德的诗歌开始。

未知的未知数

有已知的未知数。 就是说有些事情我们现在知道我们不知道。 但也有未知的未知数。 有些事情我们不知道,我们不知道。

- 美国前国防部长唐纳德·拉姆斯菲尔德

拉姆斯菲尔德区分未知类别,从我们知道存在但尚未发现的未知开始。 但是他也承认事物的存在超出了我们的知识或经验,以至于我们甚至都不知道寻找它们:“未知的未知数”。

拉姆斯菲尔德在谈论战争的不确定性,但他本来可以谈论软件。 如果您编写了任何非同寻常的软件,则可能涉及未知的未知数问题,这是软件设计中最大的问题之一。 您认为自己对实施解决方案时会遇到的问题有深刻的了解,但是不可避免地会出现意外问题。 例如,与开源框架进行交互并不像您想的那么简单,或者一个问题比最初看起来要细微得多,需要仔细得多的思考。

意外的设计问题不断出现,因为软件的容错能力很低-远低于物理系统。 例如,考虑一下您周围的建筑物。 建造建筑物是一个多人,数月(或数年)的项目。 现在考虑在相似的时间范围内构建的多人软件项目。 这些项目的规模相似,但是物理建筑物对结构缺陷的容忍度更高。 如果电灯开关板不能完全覆盖电线容纳墙壁上的Kong,则建筑物不会倒下。 然而,软件中的小缺陷会使它崩溃。 与原子相比,位的故障容忍度是不可原谅的。 当然,软件(较软)也更容易修复:我们可以铲平漏洞(修复漏洞)并立即重新制造房屋。

如果机翼从飞机上掉下来,法医工程师将首先关注机翼在飞机上的附着位置:在物理系统中,功能误差通常很高。 但是在软件中,执行一行代码通常会引起不稳定,这种不稳定情况在成百上千个看似无关的代码行中都不会显现出来。 <

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

野外偷拍_野外紧急设计 的相关文章

随机推荐

  • windows服务器被当矿机的问题处理实战-conhosts.exe

    windows服务器被当矿机的问题处理实战 conhosts exe 服务器最近比较卡 调开任务管理器查看 CPU占用偏高 发现进程 conhosts exe 占用CPU 75 通过pid查询 该进程通过syn sent向陌生IP 163
  • STM32G30C8T6hal库串口非固定长度

    1 由于从标准库转到hal库 还是特别不适应 串口测试遇到了一下问题 记录一下 2 hal库串口的配置不再赘述 hal库串口接收完毕可调用回调函数 接收的字节为固定长度才会回调 感觉非常麻烦 而且要重新开启接收中断 特别不适用于项目 想按照
  • 最新网络工程毕设选题题目推荐

    文章目录 0 简介 1 如何选题 2 最新网络工程选题 2 1 Java web SSM 系统 2 2 大数据方向 2 3 人工智能方向 2 4 其他方向 4 最后 0 简介 学长搜集分享最新的网络工程专业毕设毕设选题 难度适中 适合作为毕
  • python爬虫,多线程与生产者消费者模式

    使用队列完成生产者消费者模式 使用类创建多线程提高爬虫速度 https sc chinaz com tupian index html https sc chinaz com tupian index 2 html https sc chi
  • elasticsearch 安装教程

    一 jdk安装 es要求jdk版本在1 8以上 所以先安装jdk1 8 安装步骤 1 安装完Centos6 5的Base Server版会默认安装OpenJDK 首先需要删除OpenJDK 命令 rpm qa grep java 显示如下
  • 头条员工自爆:拿遍BAT和TMD的offer,面试过于NB!

    最近看到一位今日头条员工在脉脉发帖称 最近两次找工作 BAT TMD的offer几乎拿了个遍 但一般一家只能待两年 原因是面试的时候表现过于NB 导致下家对自己期望值过高 实际工作中面临的阻力很大的时候就会退缩 自己的能力项可能是面试 每次
  • Android 网络管理

    系统中对网络的判断和选在是在Connectivityervice这个服务中来处理的 在系统启动的时候会启动这个系统服务 系统启动完毕后 ConnectivityService在系统启动的时候就启动了 在android内部 用framewor
  • 如何学好C语言的数据结构与算法?

    C语言的数据结构与算法 难就难在链表 学会了链表 可能后面就一点都不难了 书籍推荐 数据结构与算法分析 C语言描述版 要深入学习的话可以选择这本书 因为针对链表的讲解是比较详细的 所以可以很快理解链表 跟着书上一点点实现基本操作 增删改查
  • Vue中的过滤器

    过滤器 定义 对要显示的数据进行特定格式化后再显示 适用于一些简单逻辑的处理 语法 1 注册过滤器 Vue filter name callback 全局 或 new Vue filters 局部 2 使用过滤器 xxx 过滤器名 或 v
  • 动态修改日志级别,太有用了!

    首发于公众号 BiggerBoy 背景 我们在系统中一般都会打印一些日志 并且在开发 测试 生产各个环境中的日志级别可能不一样 在开发过程中为了方便调试打印了很多debug日志 但是生产环境为了性能 为了节约存储资源 我们会将日志级别设置为
  • linux shell进行数值计算

    出于项目需要 需要用脚本执行计算 最简单的方法1 这里写算式 可以写变量 Desktop cat test sh a 102 c a 123 echo a a echo a 123 c Desktop test sh a 102 a 123
  • 【软件测试】用例篇

    一 什么是测试用例 测试用例 向被测试系统发起的一组集合 这组集合包含测试数据 测试步骤 测试平台 预期结果 二 为什么在测试前要设计测试用例 三 基于需求设计测试用例 3 1测试是我们测试人员进行测试的依据 3 2测试人员首先要分析需求
  • A-LOAM总结-(前端+后端)算法流程分析

    文章目录 scanRegistration cpp 雷达信息预处理进程 laserOdometry cpp laserMapping cpp A LOAM算法流程 主要运行以下3个cpp文件 流程框图在文末 scanRegistration
  • (C语言)输出数组的最大值及其对应下标的最小值

    本题源自pintia cn 题目要求 代码 测试结果图 PTA测试结果 题目要求 本题要求编写程序 找出给定的n个数中的最大值及其对应的最小下标 下标从0开始 输入格式 输入在第一行中给出一个正整数n 1
  • 为什么学完Python后的薪资这么高?

    人工智能和大数据概念的兴起 带动了Python的快速增长 Python语言逻辑简洁 入门简单 生态丰富 几乎成为几个新兴领域的不二选择 而除了这两个领域 Python还有更多的适用领域 爬虫 web 自动化运维等领域都非常适合Python发
  • 详细的Python Flask的操作

    本篇文章是Python Flask 建站框架入门课程 编程实战微课 w3cschool微课的学习笔记 根据课程整理而来 本人使用版本如下 Python 3 10 0 Flask 2 2 2 简介 Flask是一个轻量级的可定制的web框架
  • 推荐|5种商业AI产品的技术架构设计!

    来源 达观数据 概要 今天我们就特别推荐达观数据的几个商业产品设计技术架构 希望对于广大技术有帮助 做任何一个商业产品设计 技术架构都是首先要考虑的 特别是面对海量数据的AI商业项目更是如此 今天我们就特别推荐达观数据的几个商业产品设计技术
  • Vue中key

    相信很多小伙伴跟我一样在使用v for的时候对key值的存在和必要性有疑问 通过ESlint进行代码检查的时候不加上key还会报错 想知道key为什么存在可以先想想key为什么产生 会不会是尤雨溪灵光一闪就给Vue添加上了key 也有可能
  • 大数据简介

    预备篇 目录 知识 大数据简介 计算机单位 大数据的五个 v Hadoop Hadoop概述 Hadoop的历史 Hadoop三大发行版本 1 Apache Hadoop 2 Cloudera Hadoop 3 Hortonworks Ha
  • 野外偷拍_野外紧急设计

    关于本系列 本系列文章旨在为人们经常讨论但难以捉摸的软件体系结构和设计概念提供新的视角 通过具体的示例 尼尔 福特为您提供了进化架构和紧急设计的敏捷实践的坚实基础 通过将重要的架构和设计决策推迟到最后一个负责任的时刻 可以防止不必要的复杂性