인터페이스와 기술. 인터페이스 구현을 위한 주요 기술은 다음과 같습니다.

  • 이런!
  • 지난 월요일 저는 운이 좋게도 한 국제 기업의 선임 .Net 개발자 인터뷰를 할 수 있었습니다. 인터뷰 중에 .Net과 관련된 여러 가지 질문이 포함된 테스트를 해보라는 요청을 받았습니다. 특히, 질문 중 하나에서는 다음과 같은 여러 진술을 평가(참/거짓)해야 했습니다.

    .Net에서는 int와 같은 모든 요소 배열이 기본적으로 IList를 구현하므로 foreach 문에서 컬렉션으로 사용할 수 있습니다.

    이 질문에 신속하게 부정적인 답변을 하고 여백에 별도로 적습니다. foreach에는 IList가 아닌 IEnumerable의 구현이 필요하므로 다음 질문으로 넘어갔습니다. 그러나 집으로 가는 길에 나는 다음 질문에 괴로워했습니다. 어레이가 여전히 이 인터페이스를 구현합니까?

    IList에 대해 이 인터페이스가 컬렉션의 요소 수를 포함하는 IEnumerable, 인덱서 및 Count 속성뿐만 아니라 IsFixedCollection()과 같이 거의 사용되지 않는 몇 가지 속성을 제공한다는 것을 어렴풋이 기억했습니다. 배열에는 해당 크기에 대한 Length 속성이 있으며 IEnumerable의 Count는 LINQ의 확장 메서드입니다. 이는 해당 메서드가 클래스에서 구현된 경우 가능하지 않습니다. 따라서 배열이 IList 인터페이스를 구현할 수 없다는 것이 밝혀졌지만 모호한 느낌이 나를 괴롭혔습니다. 그래서 인터뷰가 끝난 다음날 저녁에 저는 조사를 좀 해 보기로 했습니다.

    클래스 시스템.배열

    Reflector.Net이 설치되어 있지 않았기 때문에 정수 배열로 어떤 종류의 인터페이스가 구현되는지 알아보기 위해 C#으로 짧은 프로그램을 작성했습니다.

    Var v = 새로운 int (1, 2, 3); var t = v.GetType(); var i = t.GetInterfaces(); foreach(var tp in i) Console.WriteLine(tp.Name);

    콘솔 창에서 수신된 인터페이스의 전체 목록은 다음과 같습니다.

    ICloneable IList ICollection IEnumerable IStructuralComparable IStructuralEquatable IList`1 ICollection`1 IEnumerable`1 IReadOnlyList`1 IReadOnlyCollection`1

    따라서, .Net의 배열은 여전히 ​​IList 인터페이스와 일반화된 버전 IList를 구현합니다.<> .

    더 완전한 정보를 얻기 위해 System.Array 클래스의 다이어그램을 만들었습니다.

    내 실수는 즉시 내 눈을 사로잡았습니다. Count는 IList의 속성이 아니라 상속 체인의 이전 인터페이스인 ICollection의 속성이었습니다. 그러나 인터페이스의 다른 속성인 IsFixedSize 및 IsReadOnly가 구현되었지만 배열 자체에는 더 이상 이러한 속성이 없으며 IList 인터페이스의 다른 많은 속성도 없었습니다. 이것이 어떻게 가능합니까?

    C#에서 인터페이스를 구현할 수 있다는 점을 기억하면 모든 것이 즉시 제자리에 들어갑니다.
    암시적으로도 그렇지만 명시적으로도 마찬가지입니다. 나는 사례에서 그러한 구현의 예를 제공하는 교과서에서 이러한 가능성에 대해 알고있었습니다. 기본 클래스에 인터페이스 메서드와 이름이 같은 메서드가 이미 포함되어 있는 경우. ReSharper에서도 이 기능을 보았습니다. 그러나 지금까지 나는 내 프로젝트에서 인터페이스를 명시적으로 구현해야 할 필요성을 직접적으로 느껴본 적이 없습니다.

    인터페이스의 명시적 구현과 암시적 구현 비교

    다음 두 가지 유형의 인터페이스 구현을 비교해 보겠습니다.
    기준
    암시적 구현
    명시적 구현
    기본 구문
    인터페이스 ITest( void DoTest(); ) 공용 클래스 ImplicitTest: ITest( 공용 void DoTest() ( ) )
    인터페이스 ITest( void DoTest(); ) 공용 클래스 ExplicitTest: ITest( void ITest.DoTest() ( ) )
    시계
    암시적 구현은 항상 공개되었으므로 메서드와 속성에 직접 액세스할 수 있습니다.
    var imp = new ImplicitTest(); imp.DoTest();
    명시적 구현은 항상 비공개입니다.
    구현에 액세스하려면 클래스 인스턴스를 인터페이스로 캐스팅해야 합니다(인터페이스로 업캐스트).
    var exp = new ExplicitTest(); ((ITest)exp).DoTest();
    다형성
    인터페이스의 암시적 구현은 가상일 수 있으므로 이 구현을 하위 클래스에서 다시 작성할 수 있습니다.
    명시적 구현은 항상 정적입니다. 하위 클래스에서는 재정의(override)하거나 차단(새)할 수 없습니다. 메모 1
    추상 클래스 및 구현
    암시적 구현은 추상화될 수 있으며 하위 클래스에서만 구현될 수 있습니다.
    명시적 구현은 추상일 수 없지만 클래스 자체는 다른 추상 메서드를 가질 수 있고 추상 자체일 수 있습니다. 메모 2

    노트:
    메모 1 - 주석에 올바르게 언급된 대로 구현은 하위 클래스에서 인터페이스의 명시적인 구현을 반복하여 재정의할 수 있습니다(기사의 첫 번째 주석 참조).

    메모 2 - 블로그 중 하나에서는 클래스 자체가 추상적일 수 없다고 말합니다. 아마도 이전 버전의 일부 컴파일러에서는 이것이 사실이었을 것입니다. 제 실험에서는 아무런 문제 없이 추상 클래스에서 인터페이스를 명시적으로 구현할 수 있었습니다.

    인터페이스의 명시적인 구현이 필요한 이유는 무엇입니까?

    MSDN에 따르면 명시적 인터페이스 구현은 클래스에 의해 구현된 여러 인터페이스에 동일한 서명이 있는 메서드가 있는 경우 필요합니다. 이 문제는 일반적으로 영어권 세계에서 "죽음의 치명적인 다이아몬드"라는 냉담한 이름으로 알려져 있으며, 이는 러시아어로 "다이아몬드 문제"로 번역됩니다. 다음은 그러한 상황의 예입니다.

    /* 목록 1 */ 인터페이스 IJogger ( void Run(); ) 인터페이스 ISkier ( void Run(); ) public class Athlete: ISkier, IJogger ( public void Run() ( Console.WriteLine("나는 운동선수, 스키 선수 또는 조깅하는 사람?"); ) )

    그런데 이 예제는 C#의 올바른 코드입니다. 즉, (올바르게) 컴파일하고 실행하는 반면 Run() 메서드는 클래스 자체의 메서드이자 최대 두 개의 인터페이스 구현입니다. 이렇게 하면 다양한 인터페이스와 클래스 자체에 대해 하나의 구현을 가질 수 있습니다. 다음 코드로 이를 확인할 수 있습니다.

    /* 목록 2 */ var sp = new Athlete(); sp.실행(); (ISkier로 sp).Run(); (SP는 IJogger로).Run();

    이 코드를 실행한 결과는 다음과 같습니다. "나는 운동선수인가요, 스키 선수인가요, 아니면 조깅하는 사람인가요?", 콘솔에 세 번 인쇄되었습니다.

    여기에서 명시적인 인터페이스 구현을 사용하여 세 가지 경우를 모두 구분할 수 있습니다.

    /* 목록 3 */ public class Sportsman ( public virtual void Run() ( Console.WriteLine("나는 스포츠맨입니다"); ) ) public class Athlete: Sportsman, Iskier, IJogger ( public override void Run() ( Console. WriteLine("나는 운동선수입니다"); ) void ISkier.Run() ( Console.WriteLine("나는 스키 선수입니다"); ) void IJogger.Run() ( Console.WriteLine("나는 조깅하는 사람입니다"); ) )

    이 경우 목록 2의 코드를 실행하면 콘솔에 세 줄이 표시됩니다. "나는 운동선수입니다", "나는 스키어입니다"그리고 "나는 조깅하는 사람이다".

    다양한 인터페이스 구현의 장단점

    구현 가시성 및 선택적 구현
    위에서 이미 설명한 것처럼 암시적 구현은 구문상 일반 클래스 메서드와 다르지 않습니다(그리고 이 메서드가 이미 조상 클래스에 정의된 경우 이 구문에서 메서드는 자손에 숨겨지고 코드는 다음과 같습니다). 메서드 숨기기에 대한 컴파일러 경고 문제 없이 컴파일되었습니다.) 또한 명시적이든 암시적이든 하나의 인터페이스의 개별 메서드를 선택적으로 구현할 수 있습니다.

    /* 목록 4 */ 공용 클래스 Code ( public void Run() ( Console.WriteLine("나는 클래스 메서드입니다"); ) ) 인터페이스 ICommand ( void Run(); void Execute(); ) 공용 클래스 CodeCommand: Code , ICommand ( // 암시적 인터페이스 메서드 구현 // => public 구현 // 암시적 기본 클래스 메서드 숨기기(여기서 경고) public void Run() ( base.Run(); ) // 명시적 인터페이스 메서드 구현 // => private 구현 무효 ICommand.Execute() () )

    이를 통해 개별 인터페이스 메서드의 구현을 클래스의 기본 메서드로 사용할 수 있으며 해당 인터페이스로 캐스팅한 후에만 비공개이고 표시되는 메서드의 명시적 구현과 달리 IntelliSense 등을 통해 액세스할 수 있습니다.

    반면, 메서드를 비공개로 구현하는 기능을 사용하면 메서드를 완전히 구현하는 동안 여러 인터페이스 메서드를 숨길 수 있습니다. .Net의 배열을 사용한 첫 번째 예로 돌아가면 배열이 예를 들어 ICollection 인터페이스의 Count 속성 구현을 숨기고 이 속성을 Length라는 이름으로 노출하는 것을 볼 수 있습니다(아마도 이는 호환성을 유지하려는 시도일 것입니다). C++ STL 및 Java 사용). 따라서 구현된 인터페이스의 특정 메소드를 숨기고 다른 메소드는 숨기지(=공개) 않을 수 있습니다.

    그러나 여기서 문제는 대부분의 경우 어떤 인터페이스가 클래스에 의해 "암시적으로" 구현되는지 추측하는 것이 전혀 불가능하다는 것입니다. 왜냐하면 이러한 인터페이스의 메서드나 속성이 IntelliSense에 표시되지 않기 때문입니다(System.Array의 예는 다음과 같습니다). 여기서도 유익합니다). 이러한 구현을 식별하는 유일한 방법은 리플렉션을 사용하는 것입니다(예: Visual Studio의 개체 브라우저 사용).

    인터페이스 리팩토링
    인터페이스의 암시적(공개) 구현은 클래스의 공개 메소드 구현과 다르지 않으므로 인터페이스를 리팩토링하고 인터페이스에서 공개 메소드를 제거하는 경우(예: Run() 및 Execute 메소드를 결합하는 경우) () 모든 암시적 구현에서 위 ICommand 인터페이스의 메서드를 하나의 메서드 Run( )으로 변환하면 메서드는 개방형 액세스로 유지되며 리팩토링 후에도 지원되어야 할 가능성이 매우 높습니다. 왜냐하면 이 공용 메서드는 이미 다른 메서드에 다양한 종속성을 갖고 있을 수 있기 때문입니다. 시스템의 구성 요소. 그 결과, 이전 인터페이스 메서드의 특정(그리고 다른 클래스, 아마도 다른) 구현 사이에 종속성이 이미 존재하기 때문에 "구현이 아닌 인터페이스에 대한" 프로그래밍 원칙을 위반하게 됩니다.

    /* 목록 5 */ 인터페이스 IFingers ( void Thumb(); void IndexFinger(); // 사용되지 않는 인터페이스 메서드 // void MiddleFinger(); ) public class HumanPalm: IFingers ( public void Thumb() () public void IndexFinger( ) () // 여기에 "매달려 있는" 공용 메서드가 있습니다. public void MiddleFinger() () ) public class AnthropoidHand: IFingers ( void IFingers.Thumb() () void IFingers.IndexFinger() () // 여기에는 컴파일러 오류가 있습니다. IFingers.MiddleFinger() () )

    인터페이스의 비공개 구현의 경우 더 이상 존재하지 않는 메서드를 명시적으로 구현하는 모든 클래스는 컴파일을 중지하지만 불필요해진 구현을 제거(또는 새 메서드로 리팩터링)한 후에는 컴파일이 중지됩니다. 어떤 인터페이스에도 연결되지 않은 "추가" 공개 메서드입니다. 물론 인터페이스 자체에 대한 종속성을 리팩토링해야 할 수도 있지만, 적어도 여기서는 "구현이 아닌 프로그램-인터페이스" 원칙을 위반하는 일은 없을 것입니다.

    속성의 경우, 암시적으로 구현된 인터페이스 속성(속성)을 사용하면 외부적으로나 클래스 자체에서 직접 접근자 메서드(getter 및 setter)를 통해 해당 속성에 액세스할 수 있습니다. 이로 인해 불필요한 효과가 발생할 수 있습니다(예: 초기화 속성 중 불필요한 데이터 유효성 검사). .

    /* 목록 6 */ 인터페이스 IProperty ( int Amount ( get; set; ) ) public class ClassWithProperty: IProperty ( // 암시적 구현, public public int Amount ( get; set; ) public ClassWithProperty() ( // 내부 호출 public setter Amount = 1000; ) ) public class ClassWithExplicitProperty: IProperty ( // 명시적 구현, private int IProperty.Amount ( get; set; ) public ClassWithExplicitProperty() ( // 내부 호출이 불가능합니다 // 여기서 컴파일러 오류가 발생했습니다. Amount = 1000; ) )

    인터페이스 속성을 명시적으로 구현할 때 이러한 속성은 비공개로 유지되며 액세스하려면 "긴" 경로를 선택하고 초기화가 발생하는 추가 비공개 필드를 선언해야 합니다. 결과적으로 속성 접근자가 외부 액세스에만 사용되는 더 깔끔한 코드가 생성됩니다.

    지역 변수 및 클래스 필드의 명시적 유형 사용
    인터페이스를 명시적으로 구현하는 경우 클래스 인스턴스가 아니라 인터페이스 인스턴스를 사용하여 작업한다는 점을 명시적으로 나타내야 합니다. 따라서 예를 들어 var 서비스 단어를 사용하여 C#에서 유형 추론을 사용하고 지역 변수를 선언하는 것이 불가능해집니다. 대신 지역 변수를 선언할 때뿐 아니라 메서드 시그니처와 클래스 필드에서도 인터페이스 유형을 명시적으로 선언해야 합니다.

    따라서 한편으로는 코드의 유연성을 다소 떨어뜨리는 것처럼 보이지만(예를 들어 ReSharper는 기본적으로 가능한 경우 항상 var를 사용한 선언 사용을 제안함) 시스템이 성장함에 따라 특정 구현에 대한 바인딩과 관련된 잠재적인 문제를 방지합니다. 그리고 그 양이 늘어납니다. 이 점은 많은 사람들에게 논란의 여지가 있는 것처럼 보일 수 있지만, 여러 사람이 프로젝트를 진행하는 경우, 심지어 세계 각지에서 작업하는 경우 명시적 타이핑을 사용하면 코드의 가독성이 향상되고 비용이 절감되므로 매우 유용할 수 있습니다. 그것을 유지하는 것.

    모든 기술 장치와 마찬가지로 컴퓨터는 기계와 사람 모두에게 필수인 특정 규칙 집합을 통해 사람과 정보를 교환합니다. 이러한 규칙을 컴퓨터 문헌에서는 인터페이스라고 합니다. 인터페이스는 이해할 수도 있고 이해하기 어려울 수도 있고, 친숙할 수도 있고 그렇지 않을 수도 있습니다. 많은 형용사가 적용됩니다. 하지만 한 가지 변함없는 사실은 존재하며, 피할 수 없다는 것입니다.

    상호 작용- 이는 운영 체제와 사용자 및 컴퓨터 네트워크의 인접 수준 간의 상호 작용에 대한 규칙입니다. 인간-컴퓨터 통신 기술은 인터페이스에 달려 있습니다.

    상호 작용- 우선 이것은 일련의 규칙입니다. 다른 규칙과 마찬가지로 일반화하여 "코드"로 수집하고 공통 특성에 따라 그룹화할 수 있습니다. 따라서 우리는 인간과 컴퓨터 사이의 유사한 상호 작용 방식의 조합으로 "인터페이스 유형"이라는 개념을 갖게 되었습니다. 우리는 다양한 인간-컴퓨터 통신 인터페이스에 대해 다음과 같은 개략적인 분류를 제안할 수 있습니다(그림 1).

    배치 기술.역사적으로 이러한 유형의 기술이 먼저 나타났습니다. Sues와 Zuse(독일, 1937)의 중계 기계에는 이미 존재했습니다. 그 아이디어는 간단합니다. 일련의 기호가 컴퓨터 입력에 제공되며 특정 규칙에 따라 실행을 위해 시작된 프로그램 순서가 표시됩니다. 다음 프로그램이 실행된 후 다음 프로그램이 시작됩니다. 기계는 특정 규칙에 따라 자체적으로 명령과 데이터를 찾습니다. 이 시퀀스는 예를 들어 천공 종이 테이프, 천공 카드 더미 또는 전자 타자기(CONSUL 유형)의 키를 누르는 시퀀스일 수 있습니다. 또한 기계는 펀치, 영숫자 인쇄 장치(ADP) 또는 타자기 리본으로 메시지를 출력합니다.

    이러한 기계는 정보가 지속적으로 공급되고 상태에 대해 지속적으로 전 세계에 "알려주는" "블랙 박스"(보다 정확하게는 "화이트 캐비닛")입니다. 여기에 있는 사람은 기계 작동에 거의 영향을 미치지 않습니다. 기계 작동을 일시 중지하고 프로그램을 변경하고 컴퓨터를 다시 시작할 수만 있습니다. 그 후 기계가 더 강력해지고 동시에 여러 사용자에게 서비스를 제공할 수 있게 되자 사용자는 "나는 기계에 데이터를 보냈습니다. 기계가 응답하기를 기다리고 있습니다. 그러면 기계가 전혀 응답할까요?"와 같이 영원히 기다렸습니다. - 가볍게 말하면 지루해졌습니다. 또한 컴퓨터 센터는 신문에 이어 폐지의 두 번째 주요 "생산자"가 되었습니다. 따라서 영숫자 디스플레이의 출현으로 진정한 사용자 친화적 기술인 명령줄 시대가 시작되었습니다.

    명령 인터페이스.

    명령 인터페이스는 이러한 유형의 인터페이스에서 사람이 컴퓨터에 "명령"을 제공하고 컴퓨터가 이를 실행하고 결과를 사람에게 제공하기 때문에 소위 말하는 것입니다. 명령 인터페이스는 배치 기술과 명령줄 기술의 형태로 구현됩니다.


    이 기술을 사용하면 사람이 컴퓨터에 정보를 입력하는 유일한 방법은 키보드이고, 컴퓨터는 영숫자 디스플레이(모니터)를 사용하여 사람에게 정보를 표시합니다. 이 조합(모니터 + 키보드)을 터미널 또는 콘솔이라고 부르게 되었습니다.

    명령은 명령줄에 입력됩니다. 명령줄은 프롬프트 기호와 깜박이는 직사각형(커서)입니다. 키를 누르면 커서 위치에 기호가 나타나고 커서 자체가 오른쪽으로 이동합니다. Enter(또는 Return) 키를 누르면 명령이 끝나고 다음 줄의 시작 부분으로 이동합니다. 이 위치에서 컴퓨터가 작업 결과를 모니터에 표시합니다. 그런 다음 프로세스가 반복됩니다.

    명령줄 기술은 이미 흑백 영숫자 디스플레이에서 작동했습니다. 문자, 숫자, 구두점만 입력이 가능했기 때문에 디스플레이의 기술적 특성은 크지 않았습니다. 텔레비전 수신기와 심지어 오실로스코프 튜브도 모니터로 사용할 수 있습니다.

    이 두 기술은 모두 명령 인터페이스의 형태로 구현됩니다. 명령은 기계에 입력으로 제공되고 기계는 이에 "응답"합니다.

    명령 인터페이스로 작업할 때 텍스트 파일이 주된 파일 유형이 되었습니다. 텍스트 파일은 키보드를 사용해서만 생성할 수 있었습니다. 명령줄 인터페이스가 가장 널리 사용된 시기는 UNIX 운영 체제의 출현과 다중 플랫폼 CP/M 운영 체제를 갖춘 최초의 8비트 개인용 컴퓨터의 출현이었습니다.

    WIMP 인터페이스(창 - 창, 이미지 - 이미지, 메뉴 - 메뉴, 포인터 - 포인터). 이러한 유형의 인터페이스의 특징은 사용자와의 대화가 명령을 사용하지 않고 메뉴, 창 및 기타 요소와 같은 그래픽 이미지를 사용하여 수행된다는 것입니다. 이 인터페이스에서는 명령이 기계에 제공되지만 이는 그래픽 이미지를 통해 "간접적으로" 수행됩니다. 그래픽 인터페이스에 대한 아이디어는 70년대 중반 Xerox Palo Alto Research Center(PARC)에서 시각적 인터페이스의 개념이 개발되면서 시작되었습니다. 그래픽 인터페이스의 전제 조건은 명령에 대한 컴퓨터의 반응 시간 감소, RAM 용량 증가, 컴퓨터 기술 기반 개발이었습니다. 물론 개념의 하드웨어 기반은 컴퓨터에 영숫자 디스플레이가 등장한 것이었고 이러한 디스플레이에는 이미 문자의 "깜박임", 색상 반전(검은 배경에 흰색 문자의 윤곽선을 반대로 변경, 즉, 흰색 배경에 검정색 문자), 밑줄이 그어진 문자입니다. 이러한 효과는 전체 화면에 적용되지 않고 한 명 이상의 캐릭터에만 적용됩니다. 다음 단계는 8색 팔레트(즉, 색상 세트)를 사용하여 배경에 16색 문자를 이러한 효과와 함께 표시할 수 있는 컬러 디스플레이를 만드는 것이었습니다. 다양한 색상의 화면에 여러 점의 형태로 그래픽 이미지를 표시할 수 있는 그래픽 디스플레이의 출현 이후에는 화면 사용에 있어 상상력의 한계가 없어졌습니다! 그래픽 인터페이스를 갖춘 최초의 시스템인 PARC 그룹의 8010 Star Information System은 1981년 최초의 IBM 컴퓨터가 출시되기 4개월 전에 등장했습니다. 처음에는 시각적 인터페이스가 프로그램에서만 사용되었습니다. 점차적으로 그는 Atari 및 Apple Macintosh 컴퓨터에서 먼저 사용된 다음 IBM 호환 컴퓨터에서 사용되는 운영 체제로 전환하기 시작했습니다.

    이러한 개념의 영향을 받아 예전부터 응용 프로그램별로 키보드와 마우스의 사용을 통일하는 과정이 있었습니다. 이 두 가지 추세의 융합으로 인해 직원 재교육에 소요되는 시간과 비용을 최소화하면서 모든 소프트웨어 제품을 사용할 수 있는 사용자 인터페이스가 탄생했습니다. 이 부분에서는 모든 애플리케이션과 운영 체제에 공통적으로 적용되는 이 인터페이스에 대해 설명합니다.

    그래픽 사용자 인터페이스는 개발 과정에서 두 단계를 거쳤으며 간단한 그래픽 인터페이스와 "순수한" WIMP 인터페이스라는 두 가지 기술 수준으로 구현되었습니다.

    첫 번째 단계에서 GUI는 명령줄 기술과 매우 유사했습니다. 명령줄 기술과의 차이점은 다음과 같습니다.

    Ú 문자를 표시할 때 색상, 반전 이미지, 밑줄 및 깜박임으로 일부 문자를 강조 표시하는 것이 허용되었습니다. 덕분에 이미지의 표현력이 높아졌다.

    Ú 그래픽 인터페이스의 특정 구현에 따라 커서는 깜박이는 직사각형으로 나타날 수 있을 뿐만 아니라 여러 문자 및 화면의 일부를 덮는 영역으로 나타날 수도 있습니다. 이 선택된 영역은 선택되지 않은 다른 부분과 다릅니다(일반적으로 색상별로).

    Ú Enter 키를 눌러도 항상 명령이 실행되고 다음 줄로 이동하는 것은 아닙니다. 아무 키나 누를 때의 반응은 커서가 화면의 어디에 있었는지에 따라 크게 달라집니다.

    Ú Enter 키 외에도 "회색" 커서 제어 키가 키보드에서 점점 더 많이 사용되고 있습니다(이 시리즈 3호의 키보드 관련 섹션 참조).

    Ú 이 버전의 그래픽 인터페이스에서는 이미 조작기가 사용되기 시작했습니다(예: 마우스, 트랙볼 등 - 그림 A.4 참조). 이를 통해 화면의 원하는 부분을 빠르게 선택하고 커서를 이동할 수 있습니다. .

    요약하자면, 이 인터페이스의 특징은 다음과 같습니다.

    Ú 화면 영역 선택.

    Ú 상황에 따라 키보드 키를 재정의합니다.

    Ú 조작기와 회색 키보드 키를 사용하여 커서를 제어합니다.

    Ú 컬러 모니터의 광범위한 사용.

    이러한 유형의 인터페이스의 출현은 MS-DOS 운영 체제의 광범위한 사용과 일치합니다. 이 인터페이스를 대중에게 소개한 것은 바로 그녀였습니다. 덕분에 80년대에는 이러한 유형의 인터페이스가 개선되어 문자 표시 및 기타 모니터 매개변수의 특성이 개선되었습니다.

    이러한 유형의 인터페이스를 사용하는 일반적인 예는 Nortron Commander 파일 셸과 Multi-Edit 텍스트 편집기입니다. 그리고 텍스트 편집기인 Lexicon, ChiWriter 및 Dos용 Microsoft Word 워드 프로세서는 이 인터페이스가 얼마나 그 자체를 능가했는지 보여주는 예입니다.

    그래픽 인터페이스 개발의 두 번째 단계는 "순수한" WIMP 인터페이스였습니다. 이 하위 유형의 인터페이스는 다음과 같은 특징이 있습니다.

    Ú 프로그램, 파일 및 문서에 대한 모든 작업은 창(프레임으로 윤곽선이 표시된 화면의 특정 부분)에서 발생합니다.

    Ú 모든 프로그램, 파일, 문서, 장치 및 기타 개체가 아이콘 형태로 표시됩니다. 열면 아이콘이 창으로 변합니다.

    Ú 개체에 대한 모든 작업은 메뉴를 사용하여 수행됩니다. 메뉴는 그래픽 인터페이스 개발의 첫 번째 단계에 나타 났지만 지배적 인 역할은 없었고 명령 줄에 추가되는 역할만했습니다. 순수한 WIMP 인터페이스에서는 메뉴가 기본 제어 요소가 됩니다.

    Ú 개체를 가리키기 위해 조작기를 광범위하게 사용합니다. 포인팅 장치는 단순한 장난감이 아니라 키보드에 추가된 것이지만 주요 제어 요소가 됩니다. 조작기를 사용하여 화면, 창 또는 아이콘의 영역을 가리키고 선택한 다음 메뉴를 통해서만 제어하거나 다른 기술을 사용합니다.

    WIMP를 구현하려면 고해상도 컬러 래스터 디스플레이와 포인팅 장치가 필요합니다. 또한 이러한 유형의 인터페이스를 지향하는 프로그램은 컴퓨터 성능, 메모리 용량, 버스 대역폭 등에 대한 요구를 증가시킵니다. 그러나 이러한 유형의 인터페이스는 배우기 쉽고 직관적입니다. 따라서 이제 WIMP 인터페이스는 사실상의 표준이 되었습니다.

    그래픽 인터페이스를 갖춘 프로그램의 놀라운 예는 Microsoft Windows 운영 체제입니다.

    실크- 인터페이스(음성 - 음성, 이미지 - 이미지, 언어 - 언어, 지식 - 지식). 이러한 유형의 인터페이스는 일반적인 인간 통신 형태에 가장 가깝습니다. 이 인터페이스의 프레임워크 내에는 사람과 컴퓨터 사이의 일반적인 "대화"가 있습니다. 동시에 컴퓨터는 인간의 말을 분석하고 그 안에서 핵심 문구를 찾아 스스로 명령을 찾습니다. 또한 명령 실행 결과를 사람이 읽을 수 있는 형식으로 변환합니다. 이러한 유형의 인터페이스는 컴퓨터 하드웨어 리소스를 가장 많이 요구하므로 주로 군사 목적으로 사용됩니다.

    90년대 중반부터 저렴한 사운드 카드가 등장하고 음성 인식 기술이 널리 보급되면서 소위 "음성 기술"인 SILK 인터페이스가 등장했습니다. 이 기술을 사용하면 특수 예약어인 명령을 발음하여 음성으로 명령이 전달됩니다.

    단어는 같은 속도로 명확하게 발음되어야 합니다. 단어 사이에는 일시정지가 필요합니다. 음성 인식 알고리즘의 개발이 부족하기 때문에 이러한 시스템에는 각 특정 사용자에 대한 개별적인 사전 조정이 필요합니다.

    "음성" 기술은 SILK 인터페이스의 가장 간단한 구현입니다.

    생체 인식 기술(“모방 인터페이스”)

    이 기술은 20세기 90년대 후반에 등장했으며 이 글을 쓰는 시점에도 여전히 개발 중입니다. 컴퓨터를 제어하려면 사람의 표정, 시선 방향, 동공 크기 및 기타 기호가 사용됩니다. 사용자 식별을 위해서는 눈의 홍채 패턴, 지문 등 고유정보를 이용합니다. 디지털 비디오 카메라에서 이미지를 읽은 다음 특수 패턴 인식 프로그램을 사용하여 이 이미지에서 명령을 추출합니다. 이 기술은 컴퓨터 사용자를 정확하게 식별하는 것이 중요한 소프트웨어 제품 및 응용 프로그램에서 사용될 가능성이 높습니다.

    인터페이스 유형

    인터페이스는 우선 규칙의 집합입니다. 다른 규칙과 마찬가지로 일반화하여 "코드"로 수집하고 공통 특성에 따라 그룹화할 수 있습니다. 따라서 우리는 인간과 컴퓨터 사이의 유사한 상호 작용 방식의 조합으로 "인터페이스 유형"이라는 개념을 갖게 되었습니다. 간략하게, 우리는 다양한 인간-컴퓨터 통신 인터페이스의 도식적 분류를 다음과 같이 제안할 수 있습니다.

    최신 유형의 인터페이스는 다음과 같습니다.

    1) 명령 인터페이스. 명령 인터페이스는 이러한 유형의 인터페이스에서 사람이 컴퓨터에 "명령"을 제공하고 컴퓨터가 이를 실행하고 결과를 사람에게 제공하기 때문에 소위 말하는 것입니다. 명령 인터페이스는 배치 기술과 명령줄 기술의 형태로 구현됩니다.

    2) WIMP - 인터페이스(창 - 창, 이미지 - 이미지, 메뉴 - 메뉴, 포인터 - 포인터). 이러한 유형의 인터페이스의 특징은 사용자와의 대화가 명령을 사용하지 않고 메뉴, 창 및 기타 요소와 같은 그래픽 이미지를 사용하여 수행된다는 것입니다. 이 인터페이스에서는 명령이 기계에 제공되지만 이는 그래픽 이미지를 통해 "간접적으로" 수행됩니다. 이러한 유형의 인터페이스는 간단한 그래픽 인터페이스와 "순수한" WIMP 인터페이스라는 두 가지 기술 수준으로 구현됩니다.

    3) SILK - 인터페이스(음성 - 음성, 이미지 - 이미지, 언어 - 언어, 지식 - 지식). 이러한 유형의 인터페이스는 일반적인 인간 통신 형태에 가장 가깝습니다. 이 인터페이스의 프레임워크 내에는 사람과 컴퓨터 사이의 일반적인 "대화"가 있습니다. 동시에 컴퓨터는 인간의 말을 분석하고 그 안에서 핵심 문구를 찾아 스스로 명령을 찾습니다. 또한 명령 실행 결과를 사람이 읽을 수 있는 형식으로 변환합니다. 이러한 유형의 인터페이스는 컴퓨터 하드웨어 리소스를 가장 많이 요구하므로 주로 군사 목적으로 사용됩니다.

    명령 인터페이스

    배치 기술. 역사적으로 이러한 유형의 기술이 먼저 나타났습니다. Sues와 Zuse(독일, 1937)의 중계 기계에는 이미 존재했습니다. 그 아이디어는 간단합니다. 일련의 기호가 컴퓨터 입력에 제공되며 특정 규칙에 따라 실행을 위해 시작된 프로그램 순서가 표시됩니다. 다음 프로그램이 실행된 후 다음 프로그램이 시작됩니다. 기계는 특정 규칙에 따라 자체적으로 명령과 데이터를 찾습니다. 이 시퀀스는 예를 들어 천공 종이 테이프, 천공 카드 더미 또는 전자 타자기(CONSUL 유형)의 키를 누르는 시퀀스일 수 있습니다. 또한 기계는 펀치, 영숫자 인쇄 장치(ADP) 또는 타자기 리본으로 메시지를 출력합니다. 이러한 기계는 정보가 지속적으로 공급되고 상태에 대해 전 세계에 지속적으로 "알려주는" "블랙 박스"(보다 정확하게는 "화이트 캐비닛")입니다(그림 1 참조). 기계 작동 시 기계를 일시 중지하고 프로그램을 변경하고 컴퓨터를 다시 시작할 수만 있습니다. 그 후, 기계가 더 강력해지고 동시에 여러 사용자에게 서비스를 제공할 수 있게 되자 "나는 기계에 데이터를 보냈습니다. 기계가 응답하기를 기다리고 있습니다. 그리고 기계가 전혀 응답할까요?"와 같은 사용자의 끝없는 기다림은 - 되었습니다. , 가볍게 말하면 지루합니다. 또한 컴퓨터 센터는 신문에 이어 폐지의 두 번째 주요 "생산자"가 되었습니다. 따라서 영숫자 디스플레이의 출현으로 진정한 사용자 친화적 기술인 명령줄 시대가 시작되었습니다.

    그림 2. EC 시리즈 메인프레임 컴퓨터의 모습

    명령줄 기술. 이 기술을 사용하면 사람이 컴퓨터에 정보를 입력하는 유일한 방법은 키보드이고, 컴퓨터는 영숫자 디스플레이(모니터)를 사용하여 사람에게 정보를 표시합니다. 이 조합(모니터 + 키보드)을 터미널 또는 콘솔이라고 부르게 되었습니다. 명령은 명령줄에 입력됩니다. 명령줄은 프롬프트 기호와 깜박이는 직사각형(커서)입니다. 키를 누르면 커서 위치에 기호가 나타나고 커서 자체가 오른쪽으로 이동합니다. 이는 타자기로 명령을 입력하는 것과 매우 유사합니다. 하지만, 이와 달리 문자는 종이가 아닌 디스플레이에 표시되며, 잘못 입력한 문자는 지워질 수 있다. Enter(또는 Return) 키를 누르면 명령이 끝나고 다음 줄의 시작 부분으로 이동합니다. 이 위치에서 컴퓨터가 작업 결과를 모니터에 표시합니다. 그런 다음 프로세스가 반복됩니다. 명령줄 기술은 이미 흑백 영숫자 디스플레이에서 작동했습니다. 문자, 숫자, 구두점만 입력이 가능했기 때문에 디스플레이의 기술적 특성은 크지 않았습니다. 텔레비전 수신기와 심지어 오실로스코프 튜브도 모니터로 사용할 수 있습니다.

    이 두 기술은 모두 명령 인터페이스의 형태로 구현됩니다. 명령은 기계에 입력으로 제공되고 기계는 이에 "응답"합니다.

    명령 인터페이스로 작업할 때 텍스트 파일이 주된 파일 유형이 되었습니다. 텍스트 파일은 키보드를 사용해서만 생성할 수 있었습니다. 명령줄 인터페이스가 가장 널리 사용된 시기는 UNIX 운영 체제의 출현과 다중 플랫폼 CP/M 운영 체제를 갖춘 최초의 8비트 개인용 컴퓨터의 등장이었습니다.

    GUI

    그래픽 인터페이스는 언제 어떻게 나타났습니까? 그의 아이디어는 70년대 중반 Xerox Palo Alto Research Center(PARC)에서 시각적 인터페이스 개념이 개발되었을 때 시작되었습니다. 그래픽 인터페이스의 전제 조건은 명령에 대한 컴퓨터의 반응 시간 감소, RAM 용량 증가, 컴퓨터 기술 기반 개발이었습니다. 물론 개념의 하드웨어 기반은 컴퓨터에 영숫자 디스플레이가 등장한 것이었고 이러한 디스플레이에는 이미 문자의 "깜박임", 색상 반전(검은 배경에 흰색 문자의 윤곽선을 반대로 변경, 즉, 흰색 배경에 검정색 문자), 밑줄이 그어진 문자입니다. 이러한 효과는 전체 화면에 적용되지 않고 한 명 이상의 캐릭터에만 적용됩니다. 다음 단계는 8색 팔레트(즉, 색상 세트)를 사용하여 배경에 16색 문자를 이러한 효과와 함께 표시할 수 있는 컬러 디스플레이를 만드는 것이었습니다. 다양한 색상의 화면에 여러 점의 형태로 그래픽 이미지를 표시할 수 있는 그래픽 디스플레이의 출현 이후에는 화면 사용에 있어 상상력의 한계가 없어졌습니다! 그래픽 인터페이스를 갖춘 최초의 시스템인 PARC 그룹의 8010 Star Information System은 1981년 최초의 IBM 컴퓨터가 출시되기 4개월 전에 등장했습니다. 처음에는 시각적 인터페이스가 프로그램에서만 사용되었습니다. 점차적으로 그는 Atari 및 Apple Macintosh 컴퓨터에서 먼저 사용된 다음 IBM 호환 컴퓨터에서 사용되는 운영 체제로 전환하기 시작했습니다.

    이러한 개념의 영향을 받아 예전부터 응용 프로그램별로 키보드와 마우스의 사용을 통일하는 과정이 있었습니다. 이 두 가지 추세의 융합으로 인해 직원 재교육에 소요되는 시간과 비용을 최소화하면서 모든 소프트웨어 제품을 사용할 수 있는 사용자 인터페이스가 탄생했습니다. 이 부분에서는 모든 애플리케이션과 운영 체제에 공통적으로 적용되는 이 인터페이스에 대해 설명합니다.

    간단한 GUI

    첫 번째 단계에서 GUI는 명령줄 기술과 매우 유사했습니다. 명령줄 기술과의 차이점은 다음과 같습니다.

    1. 문자 표시 시 색상, 반전 이미지, 밑줄, 깜박임 등으로 일부 문자를 강조 표시할 수 있도록 허용했습니다. 덕분에 이미지의 표현력이 높아졌다.

    2. 그래픽 인터페이스의 특정 구현에 따라 커서는 깜박이는 직사각형으로 나타날 수 있을 뿐만 아니라 여러 문자 및 화면의 일부를 덮는 영역으로 나타날 수도 있습니다. 이 선택된 영역은 선택되지 않은 다른 부분과 다릅니다(일반적으로 색상별로).

    3. Enter 키를 눌러도 항상 명령이 실행되고 다음 줄로 이동하는 것은 아닙니다. 아무 키나 누를 때의 반응은 커서가 화면의 어디에 있었는지에 따라 크게 달라집니다.

    4. Enter 키 외에도 "회색" 커서 제어 키가 키보드에서 점점 더 많이 사용되고 있습니다.

    5. 이 버전의 그래픽 인터페이스에서는 이미 조작기가 사용되기 시작했습니다(예: 마우스, 트랙볼 등 - 그림 3 참조). 이를 통해 화면의 원하는 부분을 빠르게 선택하고 커서를 이동할 수 있습니다. .

    그림 3. 조작자

    요약하자면, 이 인터페이스의 특징은 다음과 같습니다.

    1) 화면의 영역을 선택합니다.

    2) 상황에 따라 키보드 키를 재정의합니다.

    3) 조작기와 회색 키보드 키를 사용하여 커서를 제어합니다.

    4) 컬러 모니터의 광범위한 사용.

    이러한 유형의 인터페이스의 출현은 MS-DOS 운영 체제의 광범위한 사용과 일치합니다. 이 인터페이스를 대중에게 소개한 것은 바로 그녀였습니다. 덕분에 80년대에는 이러한 유형의 인터페이스가 개선되어 문자 표시 및 기타 모니터 매개변수의 특성이 개선되었습니다.

    이러한 유형의 인터페이스를 사용하는 일반적인 예는 Nortron Commander 파일 셸(아래 파일 셸 참조)과 Multi-Edit 텍스트 편집기입니다. 그리고 텍스트 편집기인 Lexicon, ChiWriter 및 Dos용 Microsoft Word 워드 프로세서는 이 인터페이스가 얼마나 그 자체를 능가했는지 보여주는 예입니다.

    WIMP 인터페이스

    그래픽 인터페이스 개발의 두 번째 단계는 "순수한" WIMP 인터페이스였습니다. 이 인터페이스 하위 유형은 다음과 같은 특징이 있습니다.

    1. 프로그램, 파일 및 문서에 대한 모든 작업은 창(프레임으로 윤곽선이 표시된 화면의 특정 부분)에서 발생합니다.

    2. 모든 프로그램, 파일, 문서, 장치 및 기타 개체는 아이콘 형태로 표시됩니다. 열면 아이콘이 창으로 변합니다.

    3. 개체에 대한 모든 작업은 메뉴를 사용하여 수행됩니다. 메뉴는 그래픽 인터페이스 개발의 첫 번째 단계에 나타 났지만 지배적 인 역할은 없었고 명령 줄에 추가되는 역할만했습니다. 순수한 WIMP 인터페이스에서는 메뉴가 기본 제어 요소가 됩니다.

    4. 물체를 가리킬 때 조작법을 광범위하게 사용합니다. 포인팅 장치는 단순한 장난감이 아니라 키보드에 추가된 것이지만 주요 제어 요소가 됩니다. 조작기를 사용하여 화면, 창 또는 아이콘의 임의 영역을 가리키고 선택한 다음 메뉴를 통해서만 제어하거나 다른 기술을 사용합니다.

    WIMP를 구현하려면 고해상도 컬러 래스터 디스플레이와 포인팅 장치가 필요합니다. 또한 이러한 유형의 인터페이스를 지향하는 프로그램은 컴퓨터 성능, 메모리 용량, 버스 대역폭 등에 대한 요구를 증가시킵니다. 그러나 이러한 유형의 인터페이스는 배우기 쉽고 직관적입니다. 따라서 이제 WIMP 인터페이스는 사실상의 표준이 되었습니다.

    그래픽 인터페이스를 갖춘 프로그램의 놀라운 예는 Microsoft Windows 운영 체제입니다.

    음성 기술

    90년대 중반부터 저렴한 사운드 카드가 등장하고 음성 인식 기술이 널리 보급되면서 소위 "음성 기술"인 SILK 인터페이스가 등장했습니다. 이 기술을 사용하면 특수 예약어인 명령을 발음하여 음성으로 명령이 전달됩니다. Gorynych 시스템의 규칙에 따른 주요 팀은 다음과 같습니다.

    "Relax" - 음성 인터페이스를 끕니다.

    "열기" - 특정 프로그램 호출 모드로 전환합니다. 프로그램 이름은 다음 단어로 호출됩니다.

    "내가 받아쓰겠습니다" - 명령 모드에서 음성 입력 모드로 전환합니다.

    "명령 모드" - 음성 명령 모드로 돌아갑니다.

    그리고 다른 것들도 있습니다.

    단어는 같은 속도로 명확하게 발음되어야 합니다. 단어 사이에는 일시정지가 필요합니다. 음성 인식 알고리즘의 개발이 부족하기 때문에 이러한 시스템에는 각 특정 사용자에 대한 개별적인 사전 조정이 필요합니다.

    "음성" 기술은 SILK 인터페이스의 가장 간단한 구현입니다.

    1. 정보경제학 시스템 (30)

      초록 >> 경제학

      ... 정보 6 1.3. 분류 정보기술 9 1.5. 개발 단계 정보 시스템... 총체성 하드웨어자금... 정보 제공기술. 그러한 기준의 예는 다음과 같습니다. 관습 상호 작용 ... 3.5. 소프트웨어시설...

    2. 정보경영기술 (5)

      개요 >> 국가와 법률

      11 2.1 소프트웨어조항 15... 정보기술. 개념 " 정보 제공기술"은 소프트웨어의 집합으로 정의될 수 있습니다. 하드웨어자금과 시스템... 창작 및 지원 관습 인터페이스다양한 카테고리에 대해...

    3. 정보제어 기술 (10)

      강의 >> 컴퓨터공학

      유형 관습 상호 작용자동화된 정보 제공기술이 공유되고 있습니다. 사무실은 전문화 된 조직을 조직하고 있습니다. 프로그래밍 방식으로-하드웨어복잡한 - ... 체계화상회의, 이메일 등) 세계화를 향해 정보기술...

    강의 23-24

    주제 3.2 사용자 인터페이스 개발

    1. 사용자 인터페이스 유형 및 개발 단계.

    2. 정보의 인식, 기억 및 처리와 관련된 사람의 정신 물리학적 특성.

    3. 사용자 및 소프트웨어 인터페이스 모델.

    4. 대화의 분류 및 개발의 일반 원칙.

    5. 그래픽 사용자 인터페이스의 기본 구성 요소.

    6. 그래픽 사용자 인터페이스에서 대화 상자 구현.

    7. 직접 조작 사용자 인터페이스 및 디자인.

    8. 사용자 인터페이스의 지능형 요소.

    컴퓨팅 기술 개발 초기 단계에서 사용자 인터페이스는 사람과 운영체제 간의 의사소통 수단으로 간주되어 매우 원시적이었습니다.

    대화형 소프트웨어의 출현으로 특별한 사용자 인터페이스가 사용되기 시작했습니다. 현재 주요 문제는 비전문 사용자가 사용하도록 설계된 복잡한 소프트웨어 제품을 위한 대화형 인터페이스를 개발하는 것입니다.

    1. 사용자 인터페이스 유형 및 개발 단계

    사용자 인터페이스– 사용자와 컴퓨터의 상호 작용을 보장하는 소프트웨어 및 하드웨어 세트입니다. 상호작용의 기초– 대화.

    대화– 실시간으로 수행되고 특정 문제(정보 교환 및 조치 조정)를 공동으로 해결하는 것을 목표로 하는 사람과 컴퓨터 간의 규제된 정보 교환입니다. 각 대화는 사용자와 컴퓨터 간의 물리적 통신을 제공하는 별도의 입력/출력 프로세스로 구성됩니다.

    정보 교환은 메시지와 제어 신호를 전송하여 수행됩니다.

    메시지– 대화 교환에 참여하는 정보입니다.

    메시지 유형:

    입력 수단(키보드, 조작기(마우스 등))을 사용하여 사람이 생성하는 입력 메시지;

    컴퓨터에서 텍스트, 소리, 이미지의 형태로 생성되어 모니터 화면이나 기타 정보 출력 장치를 통해 사용자에게 표시되는 출력 메시지입니다.

    사용자는 다음과 같은 메시지를 생성합니다.

    정보 요청,

    도움 요청,

    작업이나 기능을 요청하고,

    정보 입력 또는 변경

    프레임 필드를 선택합니다.

    응답으로 수신:

    힌트나 도움,

    단어 형태– 두 개의 인접한 공백 또는 구두점 사이의 텍스트 조각입니다.

    형태학적 분석 -문맥과 연결되지 않은 단어 형태의 처리.

    절차적 - 현재 단어 형태에서 줄기를 식별한 다음 식별하는 작업이 포함됩니다.

    단어 형태를 인식한 후 메시지의 구문 분석이 수행되고 그 결과에 따라 구문 구조가 결정됩니다. 즉, 문장이 구문 분석됩니다.

    구문 형식의 대화를 구현하는 인터페이스는 다음을 수행해야 합니다. 메시지를 자연어 형식에서 내부 표현 형식으로 변환하고, 사용자 및 시스템 메시지의 분석 및 합성을 수행하고, 대화의 완성된 부분을 추적하고 기억해야 합니다.

    결함구문 형식:

    높은 자원 비용

    문구에 대한 명확한 해석이 보장되지 않습니다.

    길고 문법적으로 올바른 문구를 입력해야 합니다.

    위엄구문 형식 – 시스템과의 자유로운 의사소통.

    지시서 양식 - 명령(지시문) 사용 특별히 고안된 형식 언어.

    – 시작되는 프로세스의 식별자와 선택적으로 그에 대한 데이터를 포함하는 결합 데이터를 설명하는 이 언어의 문장입니다.

    다음 명령을 입력할 수 있습니다.

    특별히 고안된 형식의 텍스트 행(명령줄의 MS DOS 명령)

    특정 키 조합(Windows 응용 프로그램의 경우 "빠른 액세스" 조합)을 누르면

    마우스 조작(아이콘을 "끌기")

    두 번째와 세 번째 방법의 조합입니다.

    장점지시서 양식:

    소량의 입력 정보;

    유연성 – 작업을 선택하는 기능은 유효한 명령 세트에 의해 제한됩니다.

    사용자 중심 대화에 중점을 둡니다.

    최소한의 화면 영역을 사용하거나 전혀 사용하지 않습니다.

    다른 형태와의 조합 가능성.

    결함지시서 양식:

    입력된 명령과 해당 구문을 기억해야 하는 화면에 프롬프트가 사실상 없습니다.

    시작된 프로세스 상태에 대한 피드백이 거의 전혀 없습니다.

    텍스트 정보를 입력하거나 마우스를 조작하는 기술의 필요성

    사용자 정의가 부족합니다.

    지시어 형식은 자주 사용하는 명령이나 키 조합의 구문을 빠르게 기억하는 전문 사용자에게 편리합니다. 이 경우 형태의 장점(유연성 및 우수한 일시적 특성)이 특히 두드러집니다.

    표 형식 – 사용자는 프로그램에서 제안한 답변 중에서 선택합니다. 대화 언어는 가장 간단한 구문과 명확한 의미를 갖고 있어 구현하기 매우 쉽습니다. 선택이 항상 더 쉽기 때문에 양식은 사용자 친화적이며 이는 비전문 사용자에게 필수적입니다. 이 양식은 특정 질문에 대한 가능한 답변 세트가 유한한 경우 사용할 수 있습니다. 가능한 답변의 수가 많으면(20개 이상) 표 형식을 사용하는 것이 적절하지 않을 수 있습니다.

    장점그리고 표 형식으로:

    힌트의 가용성

    입력 오류 수 감소: 사용자가 정보를 입력하지 않고 이를 가리킵니다.

    사용자 교육 시간 단축

    다른 형태와의 조합 가능성;

    어떤 경우에는 사용자가 구성할 수 있습니다.

    결함표 형식:

    화면 탐색 기술이 필요합니다.

    상대적으로 큰 화면 영역을 사용하여 시각적 구성 요소를 표시합니다.

    화면의 정보를 지속적으로 업데이트해야 하는 필요성과 관련된 컴퓨터 리소스의 집중적 사용.

    대화의 유형과 형식은 서로 독립적으로 선택됩니다. 두 대화 유형 모두에 어떤 형식이라도 적용할 수 있습니다.

    동기식- 소프트웨어가 정상적으로 작동하는 동안 발생하는 대화 상자입니다.

    비동기식– 정상적인 프로세스 시나리오를 위반할 때 시스템이나 사용자의 주도로 발생하는 대화입니다. 시스템이나 사용자로부터 긴급 메시지를 보내는 데 사용됩니다.

    대화의 발전.대화의 설계 및 구현 단계:

    필요한 대화 세트, 주요 메시지 및 가능한 시나리오 정의 - 디자인 추상적인 대화;

    각 대화의 유형과 형식, 사용된 언어의 구문 및 의미 결정 - 디자인 특정 대화;

    1차 및 2차 장치 선택, 각 대화에 대한 입출력 프로세스 설계 및 전달되는 메시지 명확화 - 설계 기술적인 대화.

    추상적 대화의 기초는 소프트웨어 제품이 자동화하려는 기술적 프로세스의 이데올로기입니다.

    그들이 사용하는 스크립트 외에도 인터페이스 상태 다이어그램또는 대화 그래프.

    대화 그래프– 각 정점이 화면의 특정 그림과 연관된 방향성 가중치 그래프( 액자) 또는 사용자가 사용할 수 있는 일련의 작업이 특징인 특정 대화 상태입니다. 정점에서 나오는 호는 사용자가 지정된 작업을 수행할 때 가능한 상태 변경을 보여줍니다. 정점에서 나오는 호는 사용자가 지정된 작업을 수행할 때 가능한 상태 변경을 보여줍니다. 호 가중치는 상태에서 상태로의 전환 조건과 전환 중에 수행되는 작업을 나타냅니다.

    그래프의 각 경로는 가능한 대화 옵션에 해당합니다.


    그림 3 - 추상 대화 그래프:

    a - 시스템에 의해 제어되는 대화; b – 사용자 제어 대화

    5. 그래픽 사용자 인터페이스의 기본 구성 요소

    그래픽 사용자 인터페이스는 Windows, Apple Macintosh, OS/2 등의 운영 체제에서 지원됩니다. 이러한 인터페이스를 위해 각 운영 체제에 대한 표준 사용자 상호 작용 구성 요소 세트가 개발되었습니다.

    인터페이스는 WIMP 기술을 사용하여 구축됩니다: W – Windows(창), I – 아이콘(아이콘), M – 마우스(마우스), P – 팝업(팝업 또는 드롭다운 메뉴). 그래픽 인터페이스의 주요 요소로는 창, 아이콘, 입력/출력 구성 요소 및 포인팅 장치로 사용되는 마우스와 화면의 개체를 직접 조작하는 장치가 있습니다.

    창문.창문 -실제 화면의 직사각형 경계 영역입니다. 창은 화면 내에서 크기와 위치를 변경할 수 있습니다.

    메인 윈도우(애플리케이션 윈도우);

    하위 또는 하위 창

    대화창;

    정보 창;

    메뉴 창.

    신청창구 Windows에는 창의 작업 영역을 제한하는 프레임, 시스템 메뉴 버튼이 있는 제목 표시줄, 창 보기 및 종료 버튼, 메뉴 표시줄, 아이콘 메뉴(도구 모음), 가로 및 세로 스크롤 막대, 상태 표시줄이 포함되어 있습니다.

    자식 창 Windows는 MDI(다중 문서 프로그래밍 인터페이스)에 사용됩니다. 이 창에는 메뉴가 없습니다. 제목 줄에는 관련된 문서나 파일을 식별하는 특수 이름이 있습니다. 모든 하위 창의 아이콘은 동일합니다.

    대화창 Windows는 다양한 작동 모드, 필수 매개변수 또는 기타 정보를 보고 설정하는 데 사용됩니다.

    시스템 메뉴 버튼이 있는 제목 표시줄;

    사용자가 답변을 입력하거나 선택할 수 있도록 하는 구성요소입니다.

    힌트(보기 상자 또는 도움말 버튼)를 제공하는 보조 구성 요소입니다.

    창 크기는 조정할 수 없지만 화면 주위로 이동할 수는 있습니다.

    정보창두 가지 유형:

    메시지 창;

    도움말 창.

    메시지 창에는 시스템 메뉴 버튼이 있는 제목, 메시지 텍스트, 하나 이상의 사용자 반응 버튼(예, 아니요, 취소)이 포함됩니다.

    도움말 창포함 내용: 메뉴, 스크롤 막대, 정보 영역. 응용 프로그램 창과 유사하지만 고도로 전문화된 목적을 가지고 있습니다.

    메뉴 창 Windows는 계층적 메뉴 패널을 열거나 상황에 맞는 메뉴로 사용됩니다.

    메뉴 창의 각 줄은 다음에 해당할 수 있습니다.

    팀;

    화살표로 제공되는 다음 레벨의 메뉴;

    세 개의 점으로 표시되는 대화 상자 창입니다.

    단축키 표시를 추가했습니다.

    픽토그램.아이콘은 연결된 버퍼의 내용을 반영하는 그래픽 이미지가 있는 작은 창입니다.

    그림 문자 유형:

    해당 프로그램과 관련된 소프트웨어

    다양한 문서에 대한 액세스를 제공하는 하위 창 아이콘.

    도구 모음 아이콘은 메뉴를 통해 해당 기능에 대한 액세스를 복제하여 빠른 액세스를 제공합니다.

    개체를 직접 조작하기 위한 개체 아이콘입니다.

    직접 이미지 조작. 직접적인 이미지 조작 –이는 개체에 영향을 주는 명령을 마우스를 사용하여 수행되는 인터페이스의 물리적 동작으로 대체하는 기능입니다. 이 경우 화면의 모든 영역이 대상으로 간주되며 커서를 이동하고 마우스 버튼을 눌러 활성화할 수 있습니다.

    영향에 대한 반응에 따라 수신자 유형이 구별됩니다.

    표시 및 선택(아이콘 확장, 활성 창 결정)

    화면 버튼 및 "슬라이딩" 장벽(주기적으로 반복되는 작업 수행(화면의 특정 영역을 활성화할 때 암시되는 특정 작업 또는 그리기 수행, 버튼)).

    동적 시각 신호 -화면의 이미지 변경(특정 작업 수행 시 마우스 커서, 버튼 이미지 변경)

    I/O 구성요소. 인터페이스에는 기본 또는 "드롭다운" 계층 메뉴, 그림 메뉴(도구 모음) 및 다양한 상황에 대한 상황에 맞는 메뉴 등 여러 메뉴가 포함됩니다. 지정된 메뉴는 모두 표 형식을 사용하여 사용자와의 대화를 구현하는 입출력 구성 요소입니다.

    계층적 메뉴는 소프트웨어가 수행하는 작업의 수가 IBM에서 권장하는 작업 수를 초과하는 경우 이를 구성하고 사용자에게 해당 작업에 대한 개요를 제공하는 데 사용됩니다. 도구 모음과 상황에 맞는 메뉴를 사용하면 자주 사용하는 명령에 빠르게 액세스할 수 있어 사용자가 비교적 자유롭게 탐색할 수 있습니다.

    다른 형태의 I/O:

    구절,

    표의,

    혼합.

    6. 그래픽 사용자 인터페이스에서 대화 상자 구현

    두 가지 유형의 대화:

    사용자 제어

    시스템이 제어됩니다.

    사용자 제어 대화 상자 구현.구현을 위해 다양한 유형의 메뉴가 사용됩니다.

    기본,

    도구 모음,

    상황별 및 버튼 기반.

    메뉴 대신 특정 키 조합을 주 명령에 할당하는 지시어 형식의 대화 상자를 사용하는 것이 좋습니다. 사용자가 텍스트나 데이터를 입력하는 시스템 작업, 즉 키보드와 상호 작용하는 데 대부분의 시간을 보내는 경우 키보드로 메뉴를 제어하는 ​​기능을 제공하는 것이 좋습니다.

    메뉴.메뉴는 개발 중인 소프트웨어의 대화 그래프를 기반으로 설계되었습니다. 작업 횟수가 5를 초과하지 않으면 일반적으로 버튼이 사용됩니다. 작업 수가 9-10개 이하인 경우 단일 레벨 메뉴입니다. 작업 수가 10개를 초과하면 "드롭다운" 2레벨 계층 메뉴가 사용됩니다.

    드롭 다운 메뉴. 계층 메뉴의 첫 번째 수준에는 주요 작업 그룹의 이름이 포함되어야 합니다.

    전통적으로(보통 텍스트 및 그래픽 편집기에서):

    1. 아이템 파일,

    2. 항목 편집,

    3. 항목보기,

    마지막 항목은 도움말입니다.

    계층 메뉴의 수준 수는 2~3을 초과할 수 없습니다(검색이 어려움). 창의 작업 수는 7~8개를 초과할 수 없습니다.

    작업 횟수가 70~80회를 초과하는 경우. Microsoft Word 개발자가 제안한 적응형계층적 메뉴는 두 번째 수준 메뉴 창의 내용이 지속적으로 변경되어 사용자가 사용하는 작업만 표시합니다. 사용자가 원하는 작업을 찾지 못하면 몇 초 후 또는 특수 버튼을 누르면 Word에서 전체 메뉴 창을 표시합니다.

    7 직접조작 사용자 인터페이스와 그 디자인

    WIMP 인터페이스가 제공하는 직접 조작 기능을 통해 애플리케이션을 위한 객체 지향 직접 조작 인터페이스를 개발할 수 있습니다.

    인터페이스는 지시어 형태의 대화를 사용합니다. 즉, 마우스로 개체 아이콘을 사용하여 특정 작업을 수행하면 명령이 입력됩니다. 이러한 인터페이스의 주요 요소는 은유, 개체, 개체 표현 및 드래그 앤 드롭 기술입니다.

    은유. 은유- 한 물체의 속성이나 특성을 다른 물체로 정신적으로 전달하는 것. 첫 번째 물체와 다소 유사합니다. 인터페이스에서 은유를 사용하려면 사용자의 기존 경험을 활성화해야 합니다.

    직접 조작 인터페이스는 사용자가 전문적인 활동이나 일상 생활에서 한 번 이상 접한 친숙한 요소가 포함된 환경을 사용자에게 제공해야 하며, 개별 개체를 조작할 수 있는 기능을 제공해야 합니다. (“쓰레기 버리기”라는 비유 - 파일 삭제).

    유사한 요소는 비슷한 방식으로 작동해야 하며, 동일한 색상으로 강조 표시된 요소는 서로 일정한 관계에 있어야 합니다.

    사용자의 기대를 속이지 않도록 이미지를 너무 사실적으로 만들지 않는 것이 좋습니다.

    은유와 애니메이션. 은유를 구현할 때 멀티미디어, 주로 애니메이션의 역할이 점점 늘어나고 있습니다. 애니메이션을 사용하면 사용자에게 즐거움을 줄 수 있을 뿐만 아니라 프레임 변경에 대해 "준비"하여 변화된 상황에 적응하는 데 필요한 시간을 줄일 수 있습니다.

    https://pandia.ru/text/78/247/images/image005_68.gif">애니메이션 인터페이스를 구현하는 프로그램은 사용자가 명령을 입력하기를 기다리는 동안 해당 프레임을 계속 표시하기 때문에 결코 유휴 상태가 아닙니다. 이러한 프로그램은 다음을 기반으로합니다. 시간 프로그래밍. 화면의 이미지를 시스템의 외부 및 내부 이벤트와 연관시킬 수 있는 이벤트 프로그래밍과 달리 시간 프로그래밍을 사용하면 투영된 이미지를 변경할 수 있습니다. 프레임의 순서시뮬레이션된 프로세스 및 사용자 작업의 상태에 따라 달라집니다.

    직접 조작 인터페이스 객체와 그 표현.

    직접 조작 인터페이스 개체의 세 가지 주요 유형은 다음과 같습니다.

    데이터 객체

    컨테이너 개체,

    장치 개체.

    데이터 객체사용자에게 정보(텍스트, 이미지, 스프레드시트, 음악, 비디오)를 제공합니다. 운영 체제 내에서 이러한 개체는 개체가 열릴 때 시작되는 응용 프로그램에 해당합니다.

    컨테이너 개체는 다른 컨테이너를 포함한 내부 개체를 조작할 수 있습니다(복사하거나 임의의 순서로 정렬). 일반적인 컨테이너에는 폴더와 바구니가 포함됩니다. 컨테이너가 열리면 컨테이너에 저장된 구성 요소가 표시되고 조작될 수 있습니다. 구성 요소는 그림 문자로 표시되거나 표 형식으로 표시될 수 있습니다.

    장치 객체전화, 팩스, 프린터 등 현실 세계에 존재하는 장치를 나타냅니다. 인터페이스의 추상 세계에서 이러한 장치를 나타내는 데 사용됩니다. 이러한 개체를 확장하면 해당 설정을 볼 수 있습니다.

    각 개체는 하나의 창에 해당합니다. 초기 상태에서는 이 창은 아이콘으로 표시되지만 필요한 경우 이를 열고 개체 설정과 같은 필요한 작업을 수행할 수 있습니다. 개체 창이 열리면 메뉴와 도구 모음이 포함될 수 있습니다. 아이콘은 개체에 대한 작업 목록이 포함된 상황에 맞는 메뉴와 일치해야 합니다.

    아이콘 이름은 개체 유형마다 다르게 구성됩니다. 데이터 객체의 아이콘에는 저장된 데이터의 이름에 해당하는 이름이 부여되며 데이터 유형은 아이콘 자체로 인코딩됩니다. 컨테이너 아이콘 또는 장치 아이콘의 이름은 개체 자체를 식별하므로 콘텐츠와 독립적입니다.

    개체 유형 간의 구별은 조건부입니다. 동일한 개체가 서로 다른 상황에서 데이터 개체처럼, 장치 개체처럼, 컨테이너 개체처럼 동작할 수 있기 때문입니다(프린터는 장치 개체이므로 속성을 가질 수 있음). 컨테이너 개체는 데이터 개체를 포함할 수 있습니다. 인쇄 대기열, 아이콘 형태의 표현, 인쇄 대기열 창, 설정 창, 개체 창 제목에 표현 이름을 표시하는 것이 좋습니다.

    기술견인그리고떨어지다. IBM 사용자 인터페이스 디자인 가이드에 설명된 대로 직접 조작의 기본 원칙은 다음과 같습니다.

    객체 이동의 결과는 사용자의 기대에 부합해야 합니다.

    사용자는 예기치 않게 정보를 잃어서는 안 됩니다.

    사용자는 잘못된 작업을 취소할 수 있어야 합니다.

    초기 강조 표시 - 사용자에게 개체가 캡처되었음을 알리는 피드백으로 사용됩니다. Windows에서는 강조 표시가 이 목적으로 사용됩니다.

    움직임의 시각화 - 수행 중인 작업을 식별하는 데 사용됩니다.

    대상 선택 - 대상을 식별하는 데 사용되며, 현재 순간에 물체를 놓으면 물체가 "떨어질" 위치를 표시합니다.

    작업 시각화 - 작업이 완료될 때까지 기다리는 시간을 나타내는 데 사용됩니다. 일반적으로 애니메이션이나 커서 모양을 "모래시계"로 변경하는 것이 이 목적으로 사용됩니다.

    대상에는 두 가지 유형이 있습니다. 하나는 객체를 받아들이고 다른 하나는 객체의 복사본을 받습니다(사용자가 문서를 "휴지통"에 "버립니다" - 문서 자체가 파기되고 프린터로 전송되면 문서 사본이 전송됩니다).

    직접 조작 인터페이스 설계. 디자인은 특정 소프트웨어용으로 개발된 대화 그래프를 기반으로 수행되며 다음 절차를 포함합니다.

    형성 도메인 개체 집합, 화면에 표시되어야 하며 이 경우 유스 케이스가 기초로 사용되지 않고 주제 영역의 개념 모델이 사용됩니다.

    분석 사물, 정의 종류그리고 제출물, 이러한 객체에 대한 작업 목록;

    설명 객체 상호작용및 매트릭스 구성 직접적인 조작;

    정의 시각적 표현사물;

    개발 개체 창 메뉴그리고 상황에 맞는 메뉴;

    창조 원기상호 작용;

    테스트 대상 사용의 용이성.

    8 지능형 사용자 인터페이스 요소

    사용자 인터페이스 요소: 마스터, 조언자, 에이전트. 사회화된 사용자 인터페이스를 만들기 위한 많은 시도가 있었습니다. 이러한 인터페이스의 기본은 개인화된, 즉 '개성을 갖는' 인터페이스를 만들어낸다는 생각이다. 다양한 상황에서 반려동물의 복잡한 행동을 구현하는 Cats and Dogs와 같은 엔터테인먼트 프로그램은 이것이 기술적으로 완전히 해결 가능한 문제임을 보여줍니다.

    고문. 힌트의 한 형태입니다. 도움말 메뉴, 창의 명령줄 또는 팝업 메뉴에서 액세스할 수 있습니다. Advisor는 사용자가 특정 작업을 수행하는 데 도움을 줍니다.

    석사.마법사 프로그램은 개별 사용자가 거의 수행하지 않는 일반적인 작업(프로그램 또는 하드웨어 설치)을 수행하는 데 사용됩니다. 이러한 작업을 수행하려면 사용자가 복잡한 상호 관련된 결정을 내려야 하며, 그 순서는 마법사 프로그램에 의해 결정됩니다. 지능형 마법사는 보기 창의 모든 단계에서 이전 질문에 대한 사용자의 답변 결과를 보여줌으로써 사용자가 상황을 탐색하는 데 도움을 줍니다.

    마법사는 순차적 또는 트리형 대화 시나리오를 구현합니다. 잘 구조화된 순차적 문제를 해결하는 데 사용하는 것이 좋습니다.

    이 경우 다음이 필요합니다.

    사용자에게 이전 단계로 돌아갈 수 있는 기회를 제공합니다.

    마스터의 작업을 취소할 수 있는 가능성을 제공합니다.

    특히 단계가 3개 이상인 경우 단계에 번호를 매기고 사용자에게 마스터 단계 수를 알려줍니다.

    사용자에게 각 단계를 설명합니다.

    가능하다면 각 단계에서 이미 완료된 작업의 결과를 보여주세요.

    소프트웨어 에이전트. 일상적인 작업을 수행하는 데 사용됩니다. 보조 에이전트의 주요 기능은 관찰, 검색, 관리입니다. 다음이 있습니다:

    지정된 작업을 수행하도록 구성된 에이전트 프로그램;

    학습할 수 있는 에이전트 프로그램(테이프 레코더와 같은 사용자 작업을 기록하여)

    ^

    인터페이스 분류


    즉, 인터페이스는 규칙의 집합입니다. 다른 규칙과 마찬가지로 일반화하여 "코드"로 수집하고 공통 특성에 따라 그룹화할 수 있습니다. 그래서 우리는 "라는 개념에 도달했습니다. 인터페이스 유형'은 인간과 컴퓨터 간의 유사한 상호 작용 방식의 조합입니다. 우리는 다양한 인간-컴퓨터 통신 인터페이스에 대해 다음과 같은 개략적인 분류를 제안할 수 있습니다.

    ^ 최신 유형의 인터페이스는 다음과 같습니다.

    1) 명령 인터페이스.명령 인터페이스는 이러한 유형의 인터페이스에서 사람이 컴퓨터에 "명령"을 제공하고 컴퓨터가 이를 실행하고 결과를 사람에게 제공하기 때문에 소위 말하는 것입니다. 명령 인터페이스는 배치 기술과 명령줄 기술의 형태로 구현됩니다.

    2) ^ WIMP - 인터페이스(창 - 창, 이미지 - 이미지, 메뉴 - 메뉴, 포인터 - 포인터). 이러한 유형의 인터페이스의 특징은 사용자와의 대화가 명령을 사용하지 않고 메뉴, 창 및 기타 요소와 같은 그래픽 이미지를 사용하여 수행된다는 것입니다. 이 인터페이스에서는 명령이 기계에 제공되지만 이는 그래픽 이미지를 통해 "간접적으로" 수행됩니다. 이러한 유형의 인터페이스는 간단한 그래픽 인터페이스와 "순수한" WIMP 인터페이스라는 두 가지 기술 수준으로 구현됩니다.

    3) ^ 실크 - 인터페이스(말 - 말, 이미지 - 이미지, 언어 - 언어, 지식 - 지식). 이러한 유형의 인터페이스는 일반적인 인간 통신 형태에 가장 가깝습니다. 이 인터페이스의 프레임워크 내에는 사람과 컴퓨터 사이의 일반적인 "대화"가 있습니다. 동시에 컴퓨터는 인간의 말을 분석하고 그 안에서 핵심 문구를 찾아 스스로 명령을 찾습니다. 또한 명령 실행 결과를 사람이 읽을 수 있는 형식으로 변환합니다. 이러한 유형의 인터페이스는 컴퓨터 하드웨어 리소스를 가장 많이 요구하므로 주로 군사 목적으로 사용됩니다.

    ^ 1. 공개 인터페이스 - 의미 네트워크를 기반으로 합니다.

    다음 장에서는 이러한 유형의 인터페이스에 대해 자세히 알아봅니다.
    ^

    배치 기술


    역사적으로 이러한 유형의 기술이 먼저 나타났습니다. Sues와 Zuse(독일, 1937)의 중계 기계에는 이미 존재했습니다.

    아이디어는 간단하다 : 일련의 기호가 컴퓨터 입력에 제공되며, 여기에는 특정 규칙에 따라 실행을 위해 시작된 프로그램의 순서가 표시됩니다. 다음 프로그램이 실행된 후 다음 프로그램이 시작됩니다. 기계는 특정 규칙에 따라 자체적으로 명령과 데이터를 찾습니다. 이 시퀀스는 예를 들어 천공 종이 테이프, 천공 카드 더미 또는 전자 타자기(CONSUL 유형)의 키를 누르는 시퀀스일 수 있습니다. 또한 기계는 펀치, 영숫자 인쇄 장치(ADP) 또는 타자기 리본으로 메시지를 출력합니다.

    영숫자 디스플레이의 출현으로 진정한 사용자 친화적 기술인 명령줄 시대가 시작되었습니다.
    ^

    명령줄 기술.


    이 기술을 사용하면 사람이 컴퓨터에 정보를 입력하는 유일한 방법은 키보드이고, 컴퓨터는 영숫자 디스플레이(모니터)를 사용하여 사람에게 정보를 표시합니다. 이 조합(모니터 + 키보드)을 터미널 또는 콘솔이라고 부르게 되었습니다.

    명령은 명령줄에 입력됩니다. 명령줄은 프롬프트 기호와 깜박이는 직사각형입니다. - 키를 누르면 커서 위치에 기호가 나타나고 커서 자체가 오른쪽으로 이동합니다. 이는 타자기로 명령을 입력하는 것과 매우 유사합니다. 하지만, 이와 달리 문자는 종이가 아닌 디스플레이에 표시되며, 잘못 입력한 문자는 지워질 수 있다. Enter(또는 Return) 키를 누르면 명령이 끝나고 다음 줄의 시작 부분으로 이동합니다. 이 위치에서 컴퓨터가 작업 결과를 모니터에 표시합니다. 그런 다음 프로세스가 반복됩니다.

    명령줄 기술은 이미 흑백 영숫자 디스플레이에서 작동했습니다. 문자, 숫자, 구두점만 입력이 가능했기 때문에 디스플레이의 기술적 특성은 크지 않았습니다. 텔레비전 수신기와 심지어 오실로스코프 튜브도 모니터로 사용할 수 있습니다.

    명령 인터페이스로 작업할 때 텍스트 파일이 주된 파일 유형이 되었습니다. 텍스트 파일은 키보드를 사용해서만 생성할 수 있었습니다.
    ^

    GUI


    그래픽 인터페이스는 언제 어떻게 나타났습니까?

    그의 아이디어는 70년대 중반 Xerox Palo Alto Research Center(PARC)에서 시각적 인터페이스 개념이 개발되었을 때 시작되었습니다. 그래픽 인터페이스의 전제 조건은 명령에 대한 컴퓨터의 반응 시간 감소, RAM 용량 증가, 컴퓨터 기술 기반 개발이었습니다. 물론 개념의 하드웨어 기반은 컴퓨터에 영숫자 디스플레이가 등장한 것이었고 이러한 디스플레이에는 이미 문자의 "깜박임", 색상 반전(검은 배경에 흰색 문자의 윤곽선을 반대로 변경, 즉, 흰색 배경에 검정색 문자), 밑줄이 그어진 문자입니다. 이러한 효과는 전체 화면에 적용되지 않고 한 명 이상의 캐릭터에만 적용됩니다.

    다음 단계는 8색 팔레트(즉, 색상 세트)를 사용하여 배경에 16색 문자를 이러한 효과와 함께 표시할 수 있는 컬러 디스플레이를 만드는 것이었습니다. 다양한 색상의 화면에 여러 점의 형태로 그래픽 이미지를 표시할 수 있는 그래픽 디스플레이의 출현 이후에는 화면 사용에 있어 상상력의 한계가 없어졌습니다! 그래픽 인터페이스를 갖춘 최초의 시스템인 PARC 그룹의 8010 Star Information System은 1981년 최초의 IBM 컴퓨터가 출시되기 4개월 전에 등장했습니다. 처음에는 시각적 인터페이스가 프로그램에서만 사용되었습니다. 점차적으로 그는 처음에는 Atari 및 Apple Macintosh 컴퓨터에서 사용된 운영 체제로 전환한 다음 IBM 호환 컴퓨터에서 사용하기 시작했습니다.

    이러한 개념의 영향을 받아 예전부터 응용 프로그램별로 키보드와 마우스의 사용을 통일하는 과정이 있었습니다. 이 두 가지 추세의 융합으로 인해 직원 재교육에 소요되는 시간과 비용을 최소화하면서 모든 소프트웨어 제품을 사용할 수 있는 사용자 인터페이스가 탄생했습니다. 이 부분에서는 모든 애플리케이션과 운영 체제에 공통적으로 적용되는 이 인터페이스에 대해 설명합니다.

    그래픽 사용자 인터페이스는 개발 과정에서 두 단계를 거쳤습니다. 1974년부터 현재까지 그래픽 인터페이스의 발전은 아래에서 논의됩니다.
    ^

    간단한 그래픽 인터페이스.


    첫 번째 단계에서 GUI는 명령줄 기술과 매우 유사했습니다. Command Line 기술과의 차이점은 다음과 같습니다.

    A) 문자 표시 시 색상, 반전 이미지, 밑줄, 깜박임 등으로 일부 문자를 강조 표시할 수 있었던 현상이 있었습니다. 덕분에 이미지의 표현력이 높아졌다.

    B) 그래픽 인터페이스의 특정 구현에 따라 커서는 깜박이는 직사각형으로 표시될 뿐만 아니라 여러 문자 및 화면의 일부를 덮는 일부 영역으로 표시될 수도 있습니다. 이 선택된 영역은 선택되지 않은 다른 부분과 다릅니다(일반적으로 색상별로).

    다) Enter 키를 눌러도 항상 명령이 실행되고 다음 줄로 이동하는 것은 아닙니다. 아무 키나 누를 때의 반응은 커서가 화면의 어디에 있었는지에 따라 크게 달라집니다.

    D) Enter 키 외에도 회색 커서 키가 키보드에서 점점 보편화되었습니다(이 시리즈 제3호의 키보드 섹션 참조).

    E) 이 버전의 그래픽 인터페이스에서는 이미 조작기가 사용되기 시작했습니다(예: 마우스, 트랙볼 등 - 그림 A.4 참조). 이를 통해 화면의 원하는 부분을 빠르게 선택하고 원하는 부분을 이동할 수 있습니다. 커서.

    쌀. A.4. 조작자

    요약하자면, 이 인터페이스의 특징은 다음과 같습니다.

    1) 화면의 영역을 선택합니다.

    2) 상황에 따라 키보드 키를 재정의합니다.

    3) 조작기와 회색 키보드 키를 사용하여 커서를 제어합니다.

    4) 컬러 모니터의 광범위한 사용.

    이러한 유형의 인터페이스의 출현은 MS-DOS 운영 체제의 광범위한 사용과 일치합니다. 이 인터페이스를 대중에게 소개한 것은 바로 그녀였습니다. 덕분에 80년대에는 이러한 유형의 인터페이스가 개선되어 문자 표시 및 기타 모니터 매개변수의 특성이 개선되었습니다.

    이러한 유형의 인터페이스를 사용하는 일반적인 예는 Nortron Commander 파일 셸(아래 파일 셸 참조)과 Multi-Edit 텍스트 편집기입니다. 그리고 텍스트 편집기인 Lexicon, ChiWriter 및 Dos용 Microsoft Word 워드 프로세서는 이 인터페이스가 얼마나 그 자체를 능가했는지 보여주는 예입니다.