English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

게스트
1 / ?
수업 목록으로

미분 해석기 이야기

해밍의 첫 번째 시스템 공학 규칙: 컴포넌트를 최적화하면 시스템 성능을 망칠 가능성이 높다.

그는 자신의 경험에서 나온 이야기로 이를 설명합니다. 그는 미분 방정식을 기계적 적분으로 해결하는 아날로그 컴퓨터인 미분 해석기를 운영했습니다. 수요가 증가하자 두 장치가 독립적으로 또는 함께 작동할 수 있도록 첫 번째 장치와 연결될 수 있는 두 번째 장치를 주문했습니다.

자신의 기술에 자부심을 가진 제작자들은 새 장치의 증폭기를 개선했습니다. 해밍은 주장했습니다: 모든 개선은 전체 시스템 작동을 방해해서는 안 된다고. 인수 검수 날, 그는 고전적인 테스트를 실행했습니다: y'' + y = 0을 풀고, y와 y'를 그래프로 나타내고, 완벽한 원을 기대합니다. 즉시 실패했습니다.

원인: 개선된 증폭기들이 접지 회로를 통해 더 많은 전류를 소모했습니다. 원래 증폭기에서 잘 작동했던 부적절한 접지는 이제 누설 전류가 서브시스템 간에 결합되도록 허용했습니다. 한 컴포넌트(증폭기)의 개선이 인터페이스(접지)를 악화시켰고, 시스템이 실패했습니다.

수정은 간단했습니다 — 더 굵은 구리 접지 — 하지만 원리는 명확했습니다: 컴포넌트 개선은 그 인터페이스 동작을 바꿉니다. 나머지 시스템은 이전 인터페이스를 중심으로 설계되었습니다. 컴포넌트를 개선하면 인터페이스를 깨뜨리고, 시스템을 악화시킵니다.

시스템 공학: 컴포넌트 최적화가 시스템을 망치는 이유

컴포넌트 최적화 인식하기

해밍은 이 규칙이 '고립된 컴포넌트를 더 좋게 만들면 전체 시스템도 더 좋아질 것 같아 보인다'고 말하지만, 그것은 틀렸습니다. 실패는 인터페이스 매개입니다: 컴포넌트 개선이 인터페이스가 보는 신호를 변경합니다.

공학, 소프트웨어, 또는 조직 설계에서 단일 컴포넌트 또는 서브시스템을 개선했을 때 전체 시스템 성능이 악화된 구체적인 사례를 제시하십시오. 구체적으로 식별하십시오: 무엇이 개선되었는지, 어떤 인터페이스가 영향을 받았는지, 그리고 인터페이스 악화가 어떻게 시스템 수준의 해를 초래했는지.

컴포넌트보다 인터페이스

해밍의 실제적 결론: 시스템 엔지니어는 인터페이스를 먼저, 컴포넌트를 나중에 설계하고 검증해야 합니다. 완벽한 컴포넌트는 깨진 인터페이스로는 쓸모가 없습니다. 평범한 컴포넌트는 잘 정의된 인터페이스를 가지면 나중에 개선될 수 있습니다.

규칙 2: 시스템의 제약 조건(경계)은 종종 그 제약 조건 내의 최적값보다 더 중요합니다. 예상되는 작동점에서 성능을 최대화하도록 설계된 시스템은 종종 취약합니다: 예상 범위 외의 작은 편차가 실패를 초래합니다. 광범위한 범위에서 안전하게 작동하도록 설계되고 명확히 정의된 제약 조건을 가진 시스템은 견고합니다.

예: 정확히 25°C에서 100 Mbps의 트래픽에 대해 설계된 통신 시스템은 트래픽이 110 Mbps로 증가하거나 온도가 40°C로 상승하면 실패합니다. '어떤 온도에서도 60°C 이하에서 사용률이 90%를 초과하면 안 된다'는 제약 조건으로 설계된 시스템은 피크 성능이 약간 낮아도 더 유용합니다.

시스템 엔지니어의 일: A 또는 B를 개별적으로 최적화하는 것이 아니라, 제약 조건을 따르면서 A+B+C...를 전체로서 최적화하는 것입니다.

교육 시스템: 시스템 공학 설계 실패

해밍은 자신의 원리를 교육에 적용합니다. 수십 년에 걸쳐 대학들은 개별 수학 과정을 최적화했습니다: 미적분학은 필수 사항으로 축소되었고, 선형대수학은 정리되고 강화되었습니다. 각 과정은 개별적으로 평가할 때 더 좋아 보입니다.

하지만 시스템으로 보면 큰 격차가 나타났습니다:

- 수학적 귀납법: 고등학교 이후 거의 언급되지 않습니다.

- 복소수: 대수학에서 간단히 도입되었다가, 선형대수학의 후반부에서 복소 고유값이 나타날 때까지 회피됩니다. 학생들은 두 개의 새롭고 어려운 개념에 선행 준비 없이 동시에 직면합니다.

- 미정계수법: 간단히 언급됩니다.

- 불가능성 증명: 거의 전적으로 부재합니다.

- 이산 수학: 크게 무시됩니다.

각 컴포넌트(각 과정)의 최적화는 인터페이스 격차를 만들었습니다: 과정 간의 개념적 다리가 부족합니다. 시스템의 출력 — 교육받은 엔지니어와 과학자 — 는 각 과정의 출력 지표가 개선되었음에도 불구하고 고통을 겪었습니다.

해밍의 분석: 개별 과정을 위한 벼락공부는 컴포넌트 최적화로, 교육 시스템을 악화시킵니다. 자신의 교육 경험에서 특정 인터페이스 격차를 식별하십시오 — 두 과정이나 과목이 연결되지 못해서 다음에 올 것에 대비하지 못한 곳. 시스템 공학 용어로 설명하십시오: 인터페이스가 무엇인지, 각 컴포넌트가 무엇을 가정했는지, 그리고 불일치가 어떻게 나타났는지.

깨진 부분을 고치려는 자연스러운 충동 저항하기

해밍의 관찰: 시스템 공학에 대해 올바른 말을 하기는 쉽습니다. 매우 적은 수의 사람들이 순간이 올 때 실제로 그렇게 할 수 있습니다.

시스템이 실패할 때의 자연스러운 반응: 가장 분명하게 깨진 컴포넌트를 식별하고 수정합니다. 이것은 컴포넌트 생각입니다. 시스템이 실패한 것은 컴포넌트의 상호 작용, 인터페이스, 제약 조건을 포함하는 이유 때문입니다 — 하지만 가장 명백한 실패는 보통 단일 컴포넌트입니다.

시스템 엔지니어의 규율: 명백한 실패를 수정하기 전에, 묻으십시오: 왜 시스템이 이 컴포넌트에서 이 실패를 생성했습니까? 컴포넌트가 실제로 성능 부진인가요, 아니면 나머지 시스템에 의해 설계 범위 밖에서 작동하도록 요구되고 있습니까? 컴포넌트 증상을 수정하면 시스템 실패가 그대로 남습니다.

큰 조직의 커뮤니케이션 병목은 이 패턴을 따릅니다: 부서가 통신을 제대로 하지 못합니다(명백한 실패). 컴포넌트 수정: 더 나은 의사소통자를 고용합니다. 시스템 수정: 동일한 조정을 달성하기 위해 더 적은 커뮤니케이션이 필요하도록 정보 흐름 아키텍처를 재설계합니다.

시스템 진단

구별: 컴포넌트 수정은 증상을 다룹니다. 시스템 수정은 원인을 다룹니다. 원인은 보통 시스템의 구조 — 어떤 컴포넌트가 존재하는지, 어떤 인터페이스가 그들을 연결하는지, 어떤 제약 조건이 그들의 작동을 경계 짓는지를 포함합니다.

명백한 문제에 대한 '수정'이 전체 상황을 악화시켰거나 도움이 되지 않았던 실제 상황(당신의 일, 당신의 조직, 또는 문서화된 사례)을 설명하십시오. 컴포넌트 증상이 아닌 시스템 원인을 다루기 때문입니다. 적용된 컴포넌트 수정, 무시된 시스템 원인, 그리고 시스템 수준의 개입이 무엇이었을지를 설명하십시오.