하드웨어 설계자
Hardware architect(자동화 및 엔지니어링 환경에서 하드웨어 엔지니어 또는 설계자는 아날로그, 디지털 또는 전자기계 시스템의 하위 전문성을 포함하여 전자공학 및 전기공학 분야를 포괄한다.)
하드웨어 시스템 설계자 또는 하드웨어 설계자는 다음을 담당한다.
- 시스템 설계자 또는 고객 이해관계자와의 인터페이스하드웨어 설계자가 상당한 소프트웨어와 시스템 설계자를 요구하지 않는 충분히 크고 복잡한 하드웨어 시스템에는 오늘날 매우 드문 일이다.따라서 하드웨어 설계자는 사용자, 스폰서 또는 기타 고객 이해관계자와 직접 접촉하기 보다는 일반적으로 시스템 설계자와 인터페이스한다.그러나 시스템 설계자가 없는 경우 하드웨어에서 이들의 (진화)가 실현될 필요가 있다고 판단하기 위해서는 하드웨어 시스템 설계자가 클라이언트 이해관계자와 직접 접촉할 수 있도록 준비해야 한다.하드웨어 설계자는 소프트웨어 설계자 또는 엔지니어 또는 다른 기계 또는 전기 기술자와 직접 접촉해야 할 수도 있다.
- 사용자의 요구 및 기타 제약 조건(예: 비용 및 일정)에 따라 최고 수준의 하드웨어 요구 사항 생성.
- 이 일련의 높은 수준의 요구 사항이 일관되고 완전하며 정확하며 작동적으로 정의되도록 보장.
- 비용 편익 분석을 수행하여 하드웨어 요구 사항을 충족하기 위한 최선의 방법 또는 접근법 결정, 상용 기성품 또는 이미 개발된 구성요소를 최대한 활용
- 파티셔닝 알고리즘(및 기타 프로세스)을 개발하여 모든 현재 및 예측 가능한(하드웨어) 요구사항을 별도의 하드웨어 파티션에 할당함으로써 파티션 간 및 사용자와 시스템 간 최소 통신이 필요함.
- 단일 하드웨어 엔지니어 또는 엔지니어 팀이 각각 처리할 수 있는 서브시스템 및 구성요소로 대형 하드웨어 시스템을 분할(성공 계층)
- 최대 강건한 하드웨어 아키텍처가 개발되도록 보장.
- 설계자, 시험 엔지니어 및 사용자와 함께 일련의 합격 시험 요건 생성. 이 요건들은 특히 컴퓨터-인간 인터페이스에 대해 모든 높은 수준의 하드웨어 요건을 충족하였음을 결정한다.
- 스케치, 모델, 초기 사용자 매뉴얼, 프로토타입과 같은 제품을 생성하여 사용자와 엔지니어가 지속적으로 최신 상태를 유지하고 시스템이 진화하는 동안 제공될 수 있도록 합의.
배경
대형 시스템 아키텍처는 설계는 고사하고 한 사람이 상상하기에 너무 큰 시스템을 다루는 방법으로 개발되었다.이러한 규모의 시스템이 빠르게 표준이 되고 있기 때문에 대형 시스템의 문제를 해결하기 위해 건축적 접근법과 건축가가 점점 더 필요하다.
사용자 및 후원자
그룹으로서 엔지니어들은 인간의 욕구를 편안하게 이해하고 대응한다는 평판이나 인간적으로 기능적이고 미적으로 만족스러운 제품을 개발한다는 평판이 없다.건축가들은 인간의 욕구를 이해하고 인간적으로 기능적이고 미적으로 만족스러운 제품을 개발할 것으로 기대된다.훌륭한 건축가는 사용자/스폰서자와 엔지니어 사이의 번역가, 심지어 서로 다른 전문 분야의 엔지니어들 사이에서도 번역가 역할을 한다.또한 훌륭한 설계자는 최종 제품에 대한 사용자의 비전과 해당 비전으로부터 요구사항을 도출하고 구현하는 프로세스를 관리하는 주체가 된다.
사용자/스폰서들이 원하는 것이 아니라 실제로 무엇을 원하는지 결정하는 것은 엔지니어링이 아니라 예술이다.건축가는 정확한 절차를 따르지 않는다.S/He는 사용자/스폰서와 매우 상호작용적인 방식으로 의사소통하며, 함께 사용자/스폰서들은 엔지니어링된 시스템에 필요한 진정한 요구사항을 추출한다.하드웨어 설계자는 최종 사용자(또는 시스템 설계자)와 지속적으로 통신해야 한다.따라서 설계자는 사용자의 환경과 문제를 숙지해야 한다.엔지니어는 잠재적인 엔지니어링 솔루션 공간에 대한 지식만 있으면 된다.
높은 수준의 요구 사항
사용자/스폰서는 설계자를 사용자의 대표로 보고 설계자를 통해 모든 입력을 제공해야 한다.상호 오해의 가능성이 매우 높기 때문에 프로젝트 엔지니어와의 직접적인 상호작용은 일반적으로 금지된다.사용자 요구 사항의 사양은 사용자와 하드웨어 설계자(또는 시스템과 하드웨어 설계자)의 공동 제품이어야 한다. 사용자는 자신의 니즈와 위시리스트를 가져오고, 설계자는 비용 및 시간 제약 내에서 실행 가능한 것으로 증명될 수 있는 사항에 대한 지식을 가져온다.사용자가 필요로 하는 사항을 일련의 높은 수준의 요구 사항으로 변환할 때 또한 첫 번째 버전의 합격 시험을 작성하기에 가장 좋은 시간이며, 그 이후에는 요구 사항을 최신 상태로 종교적으로 유지해야 한다.그러면 사용자는 자신이 무엇을 받고 있는지 확실히 알 수 있을 것이다.그것은 또한 시험할 수 없는 요건, 오해, 그리고 요건에 대한 소름끼치는 것에 대한 안전장치가 된다.
첫 번째 수준의 하드웨어 엔지니어링 요구사항의 개발은 순수하게 분석적인 연습이 아니며 하드웨어 설계자와 엔지니어가 모두 참여해야 한다.비용, 일정, 전력 또는 공간과 같은 제약을 충족하기 위해 타협이 이루어져야 하는 경우, 설계자는 최종 제품과 전체적인 외관과 느낌이 사용자의 의도에서 크게 벗어나지 않도록 해야 한다.엔지니어는 제약을 최적화하지만 작동 가능하고 신뢰할 수 있는 제품을 보장하는 설계를 개발하는 데 집중해야 한다.설계자는 제품의 편안함과 유용성에 주로 관심이 있고, 엔지니어는 제품의 생산성과 유용성에 주로 관심이 있다.
사용자에게 필요한 서비스의 제공은 엔지니어링된 시스템의 진정한 기능이다.그러나 시스템이 점점 더 커지고 복잡해지고, 시스템이 단순한 하드웨어 구성요소에서 멀어질수록 전통적인 하드웨어 개발 원칙의 좁은 적용은 불충분하다는 것을 알게 된다. 즉 하드웨어 아키텍처의 보다 일반적인 원칙을 (하위) 시스템 설계에 적용하는 것이 필요한 것으로 보인다.하드웨어 아키텍처는 완성된 최종 제품의 단순화된 모델이기도 하다. 하드웨어 구성요소와 서로 간의 관계를 정의하여 전체 사용자가 염두에 둔 것, 특히 컴퓨터-휴먼 인터페이스에 대해 일관되고 완전하며 정확한 표현으로 보일 수 있도록 하는 것이 주된 기능이다.또한 구성요소가 함께 적합하고 원하는 방식으로 관련되는지 확인하는 데도 사용된다.
사용자 세계의 아키텍처와 공학적 하드웨어 아키텍처를 구별할 필요가 있다.전자는 사용자 세계의 문제와 해결책을 대표하고 다룬다.주로 공학적 시스템의 컴퓨터-인간 인터페이스(CHI)에 포착된다.엔지니어링된 시스템은 엔지니어링 솔루션을 나타낸다. 즉, 엔지니어가 CI를 지원하는 기술 인프라의 구성 요소를 개발 및/또는 선택 및 결합하는 방법을 제안하는 방식이다.설계자가 없는 경우, 엔지니어는 하드웨어의 관점에서 생각하기 때문에 두 아키텍처를 혼동하는 불행한 경향이 있지만, 사용자는 합리적인 시간 내에 A지점에서 B지점으로 사람을 끌어들이는 문제를 해결하고 에너지의 합리적인 지출로 해결하거나 필요한 정보를 얻는 측면에서 생각하고 있을 수 있다.고객 및 직원에게 전달.하드웨어 설계자는 사용자 세계의 아키텍처와 (모든 잠재적으로 유용한) 하드웨어 엔지니어링 아키텍처에 대한 지식을 결합할 것으로 예상된다.전자는 사용자와의 공동활동이며, 후자는 엔지니어와의 공동활동이다.제품은 사용자의 요구 사항을 반영하는 일련의 높은 수준의 요구 사항으로, 기술자가 하드웨어 시스템 설계 요구 사항을 개발하는 데 사용할 수 있다.
요구사항은 프로젝트의 과정, 특히 긴 과정 동안에 진화하기 때문에 하드웨어 시스템이 사용자에 의해 수용될 때까지 설계자가 필요하다: 개발 과정 동안에 이루어진 어떠한 변화와 해석도 사용자의 관점을 손상시키지 않는 최고의 보험이다.
비용 편익 분석
대부분의 하드웨어 엔지니어들은 전문가들이다.그들은 하드웨어 설계와 개발의 응용 분야를 친밀하게 알고 있으며, 실무적 상황, 즉 현실적 문제 해결, 하드웨어 전문 분야 내에서 다양한 솔루션의 비용 편익 평가, 설계하는 모든 것의 정확한 작동을 보장한다.하드웨어 설계자는 일반론자다.이들은 어떤 하드웨어 기술이나 접근법에도 전문가가 될 것으로 기대되지는 않지만, 많은 하드웨어에 대해 잘 알고 있으며, 특정 상황에 대한 적용 가능성을 판단할 수 있을 것으로 예상된다.그들은 또한 그들의 지식을 실제 상황에 적용시키지만, 예를 들어 특별하게 개발된 하드웨어 요소와 상용화된 하드웨어 구성요소들을 사용하여 다양한 하드웨어 기술의 비용/이익을 평가하고 시스템 전체가 사용자의 기대에 따라 수행되도록 보장한다.
상용화되거나 이미 개발된 많은 하드웨어 구성요소는 비용, 대응, 처리량 등과 같은 제약조건에 따라 독립적으로 선택할 수 있다.어떤 경우에는 설계자가 이미 도움 없이 엔드 시스템을 조립할 수 있다.또는 구성요소를 선택하고 특수 목적 기능을 설계 및 구축하기 위해 여전히 하드웨어 엔지니어의 도움이 필요할 수 있다.또한 설계자(또는 엔지니어)는 안전, 보안, 통신, 특수 목적 하드웨어, 그래픽, 인적 요인, 시험 및 평가, 품질 관리, RMA, 인터페이스 관리 등 전문가의 도움을 받을 수 있다.효과적인 하드웨어 아키텍처 팀은 중요한 전문 분야의 전문가에게 즉시 접근할 수 있어야 한다.
파티셔닝 및 계층화
건축을 계획하는 건축가는 건축물이 거주자들에게 즐겁고 유용하게 쓰이도록 하기 위해 전반적인 설계를 한다.건축가 한 사람만으로도 단독주택을 지을 수 있는 정도일 수 있지만, 참신한 고층건물을 설계할 때 발생하는 세부적인 문제를 해결하기 위해서는 이외에도 많은 기술자가 필요할 수도 있다.작업이 충분히 크고 복잡한 경우, 아키텍처의 일부는 구성요소로 설계될 수 있다.즉, 우리가 주택단지를 건설하고 있다면, 우리는 건축팀의 일원으로 단지 건축가 한 사람, 그리고 건물 유형별로 한 사람을 가질 수 있다.
또한 대형 하드웨어 시스템은 설계자와 많은 엔지니어링 인재를 필요로 한다.설계 시스템이 충분히 크고 복잡하다면, 하드웨어 시스템 설계 책임자는 모두 공동 설계 팀의 일원이 될 수 있지만 업무의 일부를 하위 설계자에게 이연할 수 있다.그러나 건축가를 절대로 공학 감독자로 보아서는 안 된다.
설계자는 하드웨어 요건을 단일 하드웨어 엔지니어 또는 엔지니어링 관리자 또는 하위 설계자의 범위에 포함되는 주요 구성요소 또는 하위시스템에 하위 할당해야 한다.이상적으로는 그러한 각 하드웨어 구성요소/하위 시스템은 시뮬레이션된 입력을 공급하고 출력을 기록하기 위해 간단한 테스트베드만 사용하여 전체 구성요소로 시험될 수 있는 충분히 독립된 객체다.즉, 항공 교통 관제 시스템이 그것을 위한 데이터 관리 서브시스템을 설계하고 구축하기 위해 어떻게 작동하는지 알 필요가 없다.서브시스템이 작동할 것으로 예상되는 제약조건만 알면 된다.
훌륭한 설계자는 시스템이 아무리 복잡하더라도 각 (하위) 시스템 또는 계층에 대해 비교적 간단하고 "깨끗한" 개념에 기초하여 구축되도록 보장한다. 즉, 특별한 교육 없이 모든 사람, 특히 사용자가 쉽게 이해할 수 있다.설계자는 각 파티션이 잘 정의되고 깨끗한 슬러지, 해결책, 쇼트컷 또는 혼동된 세부사항과 예외를 확실히 하기 위해 최소한의 규칙을 사용할 것이다.사용자가 진화해야 할 때(시스템이 현장화 및 사용 중), 예외, 특수 사례 및 "정밀 인쇄"가 포함된 하나의 단순한 개념보다 후속적으로 진화하는 것이 훨씬 쉽다.
하드웨어 아키텍처 계층화는 각 계층에서 그것을 충분히 단순하게 유지하여 그것이 하나의 마음에서 이해할 수 있도록 유지하는데 중요하다.계층이 상승함에 따라, 하위 계층의 전체 시스템은 상위 계층에서 단순한 구성요소가 되며, 최상위 계층에서 모두 사라질 수 있다.
합격시험
합격 시험은 항상 설계자의 주된 책임으로 남아 있다.설계자가 하드웨어가 원래 계획된 대로이며 모든 하위 설계자와 엔지니어가 목표를 달성했음을 사용자에게 증명하는 주요 수단이다.대형 프로젝트는 사용자가 필요로 하는 방식(예: 문제가 변경됨에 따라)에 따라 변경되거나 사용자에게 예상되는 변경(예: 비용 또는 일정상의 이유)과 함께 동적인 경향이 있다.그러나 합격 시험은 항상 최신 상태를 유지해야 한다.그것들은 최종 제품이 어떻게 동작할 것인지에 대해 사용자에게 계속 알려지는 주요한 수단이다.그리고 그들은 모든 하위 인력이 설계, 구축 및 테스트해야 하는 주요 목표의 역할을 한다.
사용자 및 엔지니어와의 원활한 커뮤니케이션
건축 설계자는 스케치, 모델, 도면을 사용한다.하드웨어 시스템 설계자는 스케치, 모델 및 프로토타입을 사용하여 사용자 또는 시스템 설계자, 엔지니어 및 하위 설계자와 서로 다른 솔루션 및 결과를 논의해야 한다.사용자 매뉴얼의 초안 버전은 특히 프로토타입과 함께 매우 유용하다.사용자와 통신하는 수단으로서 일련의 (엔지니어링) 요건은 분명히 피해야 한다.법률계약이 변호사들을 위한 것인 만큼, 잘 작성된 요건 세트 또는 명세서는 공학회만이 이해할 수 있다.
사람
참고 항목
- 시스템 아키텍처 / 시스템 설계자
- 소프트웨어 아키텍처 / 소프트웨어 설계자
- 하드웨어 아키텍처
- 시스템 엔지니어링/시스템 엔지니어
- 소프트웨어 엔지니어링/소프트웨어 엔지니어
- 요구사항분석
- 시스템 설계
- 전기공학
- 전자공학