Vrste korisničkih interfejsa. Razvoj informacionih tehnologija

Interakcija operatera sa računarom važan je dio računskog procesa u rješavanju različitih primijenjenih problema, kako naučnih tako i industrijskih. Kreiranje programa u oblasti organizovanja tržišnih odnosa prilikom kreiranja informativnih sajtova za različite organizacije i preduzeća, prilikom kreiranja programa za upravljanje proizvodnim procesima, računovodstva proizvoda i njihove prodaje, upravljanja kvalitetom, pa čak i sa takvim zadatkom kao što je sortiranje e-pošte po sekretara, potrebno je razviti laku interakciju sa računarom.

Dizajn- iterativni proces kojim se zahtjevi za PS prevode u inženjerske reprezentacije PS-a. Obično postoje dvije faze u projektovanju: idejni projekat i glavni projekat. Idejni projekat formira apstrakcije na arhitektonskom nivou, detaljni projekat oplemenjuje ove apstrakcije. Osim toga, u mnogim slučajevima se razlikuje dizajn interfejsa, čija je svrha formiranje grafičkog korisničkog interfejsa (GUI). Šema informacijskih veza procesa projektovanja prikazana je na sl.

Definicija interfejsa.

Sve u svemu, interfejs (interfejs) – to je skup logičkih i fizičkih principa interakcije između komponenti tehničkih sredstava računarskog sistema (CS), odnosno skup pravila za algoritme i privremene sporazume za razmenu podataka između komponenti CS (logički interfejs), kao i skup fizičkih, mehaničkih i funkcionalnih karakteristika sredstava veze koja ostvaruju takvu interakciju (fizički interfejs).

Interface često se nazivaju tehnički i softverski alati koji implementiraju interfejs između uređaja i čvorova aviona.

Interfejs se proteže na sva logička i fizička sredstva interakcije računarskog sistema sa spoljnim okruženjem, na primer, sa operativnim sistemom, sa operaterom itd.

Tipovi interfejsa

Sučelja se razlikuju po karakteristikama kao što su struktura veza, način povezivanja i prijenosa podataka, principi kontrole i sinhronizacije.

    Interfejs u mašini - sistem komunikacije i sredstva međusobnog povezivanja čvorova i blokova računara. Interfejs u mašini je skup električnih komunikacionih linija (žica), kola interfejsa sa računarskim komponentama, protokola (algoritama) za prenos i konverziju signala.

Postoje dvije opcije za organizaciju unutar interfejsa mašine:

Interfejs za višestruku vezu, u kojem je svaka PC jedinica povezana s drugim jedinicama svojim lokalnim žicama;

Interfejs sa jednom vezom u kojem su sve PC jedinice povezane jedna s drugom preko zajedničke ili sistemske magistrale.

2. Eksterni interfejs - komunikacioni sistem sistemske jedinice sa perifernim uređajima računara ili sa drugim računarima

Ovdje također možete razlikovati nekoliko tipova vanjskog sučelja:

Interfejs perifernih uređaja povezanih preko I/O magistrala (ISA, EISA, VLB, PCI, AGP, USB IEEE 1384 SCSI, itd.);

Mrežni interfejs, kao što je peer-to-peer ili klijent-server mreža sa topologijama zvezda, prstena ili magistrale.

3. Interfejs čovek-mašina ili interfejs čovek-računar ili korisnički interfejs - to je način na koji izvršavate zadatak uz pomoć bilo kojeg sredstva (bilo kojeg programa), odnosno radnji koje izvodite i onoga što dobijate zauzvrat.

Interfejs je orijentiran na čovjeka ako zadovoljava potrebe osobe i uzima u obzir njene slabosti.

Sučelje mašine - dio interfejsa implementiran u mašinu (njegov hardverski i softverski dio) korištenjem mogućnosti računarske tehnologije.

Ljudski dio interfejsa - ovo je dio interfejsa koji implementira osoba, uzimajući u obzir njegove sposobnosti, slabosti, navike, sposobnost učenja i druge faktore.

Najčešći interfejsi definisani su nacionalnim i međunarodnim standardima.

U nastavku će se razmatrati samo korisnički interfejs.

Klasifikacija korisničkih interfejsa

Kao što je gore pomenuto, interfejs je, pre svega, skup pravila koja se mogu kombinovati prema sličnosti načina na koji osoba komunicira sa računarom.

Postoje tri tipa korisničkih interfejsa: komandni, WIMP i SILK - interfejsi.

Interakcija navedenih interfejsa sa operativnim sistemima i tehnologijama prikazana je na slici 1:

Rice. 1. Interakcija korisničkih interfejsa njihovih tehnologija i operativnih sistema.

1. Komandni interfejs, u kojem se interakcija osobe sa računarom vrši davanjem komandi računaru koje ono izvršava i daje rezultat korisniku. Komandno sučelje se može implementirati kao batch tehnologija i tehnologija komandne linije. Trenutno se batch tehnologija praktično ne koristi, a tehnologija komandne linije može se naći kao rezervni način komunikacije između osobe i računara.

Paketna tehnologija.

Istorijski gledano, ova vrsta tehnologije pojavila se prvo na elektromehaničkim računarima K. Zusea, G. Aikina, a zatim na elektronskim računarima Eckerta i Mouchlija, na domaćim računarima Lebedeva, Brusentsova, na računaru IBM-360, na EC kompjuter, i tako dalje. Njegova ideja je jednostavna i sastoji se u činjenici da je ulaz računara niz programa nabijenih, na primjer, na bušene kartice, i niz simbola koji određuju redoslijed izvršavanja ovih programa. Čovek ovde ima malo uticaja na rad mašine. On može samo da obustavi rad mašine, promeni program i ponovo pokrene računar.

tehnologija komandne linije.

Sa ovom tehnologijom, tastatura se koristi kao metoda unosa informacija od strane operatera u računar, a kompjuter prikazuje informacije osobi koristeći alfanumerički displej (monitor). Kombinacija monitor-tastatura postala je poznata kao terminal ili konzola. Komande se upisuju u komandnu liniju, koja je simbol pozivnice i trepćući kursor, dok se upisani znakovi mogu brisati i uređivati. Pritiskom na taster Enter računar prihvata komandu i počinje da je izvršava. Nakon prelaska na početak sljedećeg reda, računar prikazuje rezultate svog rada na monitoru. Najčešći komandni interfejs bio je u operativnom sistemu MS DOS.

2. OOMU (prozor, slika, meni, pokazivač)WIMP (prozor, slika, meni, pokazivač) - interfejs. Karakteristična karakteristika ovog interfejsa je da se dijalog korisnika sa računarom vodi ne pomoću komandne linije, već pomoću prozora, ikona menija, kursora i drugih elemenata. Iako se komande daju mašini u ovom interfejsu, to se radi preko grafičkih slika.

Ideja o grafičkom interfejsu nastala je sredinom 1970-ih u Xerox Palo Alto istraživačkom centru (PARC). Preduslov za grafičko sučelje bilo je smanjenje vremena odziva računara na naredbu, povećanje količine RAM-a, kao i razvoj baze elemenata, tehničkih karakteristika računara, a posebno monitora. Pojavom grafičkih displeja sa mogućnošću prikaza bilo koje grafičke slike raznih boja, grafički interfejs je postao sastavni deo svih računara. Postepeno se odvijao proces objedinjavanja upotrebe tastature i miša od strane aplikativnih programa. Spoj ova dva trenda doveo je do stvaranja ovakvog korisničkog interfejsa, uz pomoć kojeg, uz minimalno vreme i troškove prekvalifikacije osoblja, možete raditi sa bilo kojom softverskom aplikacijom.

Ovaj tip interfejsa je implementiran na dva nivoa:

Jednostavan grafički interfejs;

Puni WINP - interfejs.

Jednostavan GUI , koji je u prvoj fazi bio vrlo sličan tehnologiji komandne linije sa sljedećim razlikama:

Prilikom prikazivanja znakova kako bi se povećala ekspresivnost slike, bilo je dozvoljeno da se neki od znakova istaknu bojom, inverznom slikom, podcrtavanjem i treperenjem;

Kursor bi mogao biti predstavljen nekim područjem označenim bojom i pokrivajući nekoliko znakova, pa čak i dio ekrana;

Reakcija na pritisak bilo koje tipke uvelike je postala ovisna o tome u kojem dijelu se kursor nalazi.

Pored često korištenih tipki sa pokazivačem, počeli su se koristiti i manipulatori poput miša, kuglice itd., što je omogućilo brzo odabir željenog područja ekrana i pomicanje kursora;

Široka upotreba monitora u boji.

Pojava jednostavnog grafičkog interfejsa poklapa se sa širokom upotrebom operativnog sistema MS DOS. Tipičan primjer njegove upotrebe je ljuska za datoteke Norton Commander i uređivači teksta MaltiEdit, ChiWriter, Microsoft Word za DOS, Lexicon, itd.

Pun WIMP -interfejs , je bila druga faza u razvoju grafičkog interfejsa, koju karakterišu sledeće karakteristike:

Sav rad sa programima, fajlovima i dokumentima odvija se u windows-u;

Programi, datoteke, dokumenti, uređaji i drugi objekti su predstavljeni kao ikone (ikone), koje se prilikom otvaranja pretvaraju u prozore;

Sve radnje sa objektima izvode se pomoću menija, koji postaje glavni kontrolni element;

Manipulator djeluje kao glavno sredstvo kontrole.

Treba napomenuti da WIMP interfejs za svoju implementaciju zahteva povećane zahteve za performansama računara, količinom njegove memorije, kvalitetnim rasterskim prikazom u boji softvera orijentisanog na ovaj tip interfejsa. Trenutno je WIMP interfejs postao de facto standard, a operativni sistem Microsoft Windows je postao njegov istaknuti predstavnik.

3. ROYAZ (govor, slika, jezik, znanje)SILK (govor, slika, jezik, znanje) - interfejs. Ovaj interfejs je najbliži uobičajenom ljudskom obliku komunikacije. Unutar ovog interfejsa, postoji normalan razgovor između osobe i računara. Istovremeno, kompjuter sam pronalazi komande analizirajući ljudski govor i pronalazeći ključne fraze u njemu. Takođe konvertuje rezultate izvršenja naredbe u oblik čitljiv za ljude. Ovaj tip interfejsa zahteva velike troškove hardvera, stoga je u razvoju i poboljšanju i trenutno se koristi samo u vojne svrhe.

SILK-sučelje za komunikaciju ljudi-mašina koristi:

govorna tehnologija;

Biometrijska tehnologija (mimičko sučelje);

Semantičko (javno) sučelje.

Govorna tehnologija pojavio se sredinom 90-ih nakon pojave jeftinih zvučnih kartica i raširene upotrebe tehnologija za prepoznavanje govora. Kod ove tehnologije komande se daju glasom izgovaranjem posebnih standardnih riječi (komandi), koje se moraju izgovarati jasno, istim tempom sa obaveznim pauzama između riječi. S obzirom da algoritmi za prepoznavanje govora nisu dovoljno razvijeni, potrebna je individualna predkonfiguracija računarskog sistema za određenog korisnika. Ovo je najjednostavnija implementacija SILK interfejsa.

Biometrijska tehnologija ("mimičko sučelje") nastao je krajem 1990-ih i trenutno je u razvoju. Za upravljanje kompjuterom koriste se izraz lica, smjer pogleda, veličina zjenica i drugi znakovi osobe. Za identifikaciju korisnika koristi se uzorak šarenice njegovih očiju, otisci prstiju i druge jedinstvene informacije koje se čitaju s digitalnog fotoaparata, a zatim se iz ove slike izvlače naredbe pomoću programa za prepoznavanje uzoraka.

Semantičko (javno) sučelje nastao krajem 70-ih godina dvadesetog veka, razvojem veštačke inteligencije. Teško se može nazvati nezavisnim tipom interfejsa, jer uključuje interfejs komandne linije, grafički, govorni i mimički interfejs. Njegova glavna karakteristika je odsustvo komandi prilikom komunikacije sa računarom. Zahtjev je formiran na prirodnom jeziku, u obliku pridruženog teksta i slika. U stvari, ovo je simulacija ljudske interakcije sa računarom. Trenutno se koristi u vojne svrhe. Takav interfejs je neophodan u okruženju vazdušne borbe.

"Mehanizam prijenosa" - Rezultat lekcije. Tehnologija 3 razred. Obuka u dizajnu različitih tehničkih modela sa pogonom mehanizma. Poprečni zupčanik - kada se kotači okreću u različitim smjerovima. Vrste zupčanika: 1 - remen; 2 - lanac; 3 - zupčanik. Proizvodi sa zupčanikom: transporter, kran, mlin. Glavni dio dizajna mlina je mehanizam prijenosa.

"Računarski interfejsi" - Korisničko sučelje. Softver. Servisni programi. Personalni računar kao sistem. koje obezbeđuje operativni sistem računara. Odredite ulaze i izlaze. hardverski interfejs. Hardversko-softverski interfejs. Operativni sistem. Tekstualne datoteke. Sistemski programi. Hardversko-softverski interfejs - interakcija računarskog hardvera i softvera.

„Tehnologije u učionici“ – Oblici organizacije mogu biti različiti: čas, grupni, individualni, par. Aktivne i interaktivne metode koristim od 5. do 11. razreda. Vrste tehnologija: Tehnologija učenja usmjerenog na studenta. Razvojna tehnologija učenja. Tehnologija učenja usmjerenog na studenta Projektno-istraživačka tehnologija.

"Obrazovne tehnologije u školi" - Laboratorija za neriješene probleme. Metodološka podrška kreativnim projektima obrazovnih institucija i nastavnika. Tehnologije igara. Rast indikatora upotrebe IKT u obrazovnom procesu. Širenje naprednog pedagoškog iskustva. Smanjenje broja repetitora. Rast vještina nastavnika, utjecaj na kvalitet nastave.

"Tehnologija 6 - 7 - 8 klasa" - Kako se mjeri električna energija? Koja mjera određuje veličinu proizvoda za ramena? Šta je, prema popularnim idejama, značilo početak čitavog života? Koji dio pokreće sve radne dijelove šivaće mašine? Sirovina za izradu kočije za Pepeljugu. Koja je funkcija žljebova na oštrici igle?

"Sekcije tehnologije" - A imamo od briljantnih perli - Neobičnu ljepotu. Predmet - Tehnologija. Patchwork je odavno poznat mnogim narodima. Državni praznici i obredi, nacionalna odjeća. Govore o tradicijama različitih naroda, nacionalnim praznicima i obredima. Nakon pečenja krofne malo ohladiti, istrljati protisnutim belim lukom.

  • OOP
  • Prošlog ponedjeljka, imao sam sreću da dobijem intervju za Senior .Net Developer u međunarodnoj kompaniji. Tokom intervjua mi je ponuđeno da uradim test, gdje su se mnoga pitanja odnosila na .Net. Konkretno, u jednom od pitanja bilo je potrebno ocijeniti (tačno/netačno) niz tvrdnji, među kojima su i sljedeće:

    U .Net-u, bilo koji niz elemenata, kao što je int, podrazumevano implementira IList, što mu omogućava da se koristi kao kolekcija u foreach naredbi.

    Brz odgovor na ovo pitanje negativno i odvojeno dodavanje na marginama. da foreach zahtijeva implementaciju ne IList, već IEnumerable, prešao sam na sljedeće pitanje. Međutim, na putu kući, mučilo me pitanje: da li niz još uvijek implementira ovaj interfejs ili ne?

    Što se tiče IList-a, nejasno sam se setio da mi ovaj interfejs daje IEnumerable, indekser i svojstvo Count koje sadrži broj elemenata u kolekciji, kao i nekoliko retko korišćenih svojstava, kao što je IsFixedCollection (). Niz ima svojstvo Length za svoju veličinu, a IEnumerable's Count je metoda proširenja iz LINQ-a, što ne bi bilo moguće da je ovaj metod implementiran u klasi. Tako se pokazalo da niz ne može implementirati IList interfejs, ali me je proganjao neki nejasan osjećaj. Stoga sam uveče nakon intervjua odlučio malo istražiti.

    System.Array klasa

    Pošto nisam imao instaliran Reflector.Net, samo sam napisao kratak C# program kako bih saznao koja sučelja implementirana nizom cijelih brojeva.

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

    Evo kompletne liste primljenih interfejsa iz prozora konzole:

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

    Na ovaj način, niz u .Net-u i dalje implementira IList interfejs i njegovu generičku verziju IList<> .

    Da dobijem potpunije informacije, napravio sam dijagram klase System.Array.

    Moja greška mi je odmah upala u oči: Count nije svojstvo IList-a, već ICollection, prethodnog interfejsa u lancu nasljeđivanja. Međutim, sam niz više nije imao takvo svojstvo, kao ni mnoga druga svojstva interfejsa IList, iako su druga svojstva tog interfejsa, IsFixedSize i IsReadOnly, implementirana. Kako je to uopće moguće?

    Sve odmah dolazi na svoje mjesto kada se sjetite da u C # možete implementirati ne samo interfejse
    implicitno (implicitno), ali i eksplicitno (eksplicitno). Za ovu mogućnost sam znao iz udžbenika, gdje je dat primjer takve implementacije u jednom slučaju. kada osnovna klasa već sadrži metodu sa istim imenom kao metoda interfejsa. Ovu mogućnost sam također vidio u ReSharperu. Međutim, do sada se nisam direktno susreo sa potrebom da eksplicitno implementiram interfejse u svoje projekte.

    Poređenje eksplicitne i implicitne implementacije interfejsa

    Hajde da uporedimo ove dve vrste implementacija interfejsa:
    Kriterijumi
    Implicitna implementacija
    Eksplicitna implementacija
    Osnovna sintaksa
    interfejs ITest ( void DoTest(); ) javna klasa ImplicitTest: ITest ( public void DoTest() ( ) )
    interfejs ITest ( void DoTest(); ) javna klasa ExplicitTest: ITest ( void ITest.DoTest() ( ) )
    Vidljivost
    Implicitna implementacija je uvijek bila javna, tako da se metodama i svojstvima može pristupiti direktno.
    var imp = novi ImplicitTest(); imp.DoTest();
    Eksplicitna implementacija je uvijek privatna.
    Da biste pristupili implementaciji, morate baciti instancu klase na interfejs (upcast na interfejs).
    varexp = new ExplicitTest(); ((ITest)exp).DoTest();
    Polimorfija
    Implicitna implementacija interfejsa može biti virtuelna (virtuelna), što vam omogućava da prepišete ovu implementaciju u klase potomaka.
    Eksplicitna implementacija je uvijek statična. Ne može se nadjačati ili nadjačati (novo) u klasama potomcima. Bilješka. jedan
    Apstraktna klasa i implementacija
    Implicitna implementacija može biti apstraktna i implementirana samo u klasi potomaka.
    Eksplicitna implementacija ne može biti apstraktna, ali sama klasa može imati druge apstraktne metode i sama biti apstraktna. Bilješka. 2

    napomene:
    Bilješka. 1 - Kao što je ispravno napomenuto u komentarima, implementacija se može nadjačati kada se interfejs eksplicitno ponovo implementira u klasu potomka (pogledajte prvi komentar na članak).

    Bilješka. 2 – Jedan od blogova kaže da klasa sama po sebi ne može biti apstraktna. Možda je to bilo tačno za neke od prethodnih verzija kompajlera, u svojim eksperimentima sam mogao eksplicitno implementirati interfejs u apstraktnoj klasi bez ikakvih problema.

    Zašto je neophodna eksplicitna implementacija interfejsa

    Eksplicitna implementacija interfejsa, prema MSDN-u, potrebna je kada više interfejsa implementiranih od strane klase ima metodu sa istim potpisom. Ovaj problem je općenito poznat u engleskom govornom području pod jezivim nazivom "smrtonosni dijamant smrti", što se na ruski prevodi kao "problem dijamanata". Evo primjera takve situacije:

    /* Listing 1 */ interfejs IJogger ( void Run(); ) interfejs ISkier ( void Run(); ) javna klasa Atlet: ISkier, IJogger ( public void Run() ( Console.WriteLine("Jesam li ja sportista, skijaš ili Jogger?"); ))

    Inače, ovaj primjer je ispravan kod u C#-u, odnosno (ispravno) se kompajlira i pokreće, dok je metoda Run() i metoda same klase i implementacija čak dva interfejsa. Dakle, možemo imati jednu implementaciju za različita sučelja i za samu klasu. Ovo možete provjeriti sa sljedećim kodom:

    /* Listing 2 */ var sp = new Athlete(); sp.Run(); (sp kao ISkier).Run(); (sp kao IJogger).Run();

    Rezultat izvršavanja ovog koda će biti "Jesam li atletičar, skijaš ili trkač?", odštampan na konzoli tri puta.

    Ovo je mjesto gdje možemo koristiti eksplicitnu implementaciju interfejsa da odvojimo sva tri slučaja:

    /* Listing 3 */ javna klasa Sportsman ( public virtual void Run() ( Console.WriteLine("Ja sam sportista"); ) ) javna klasa Sportista: Sportsman, ISkier, IJogger (javno nadjačavanje void Run() ( Konzola. WriteLine("Ja sam sportista"); ) void ISkier.Run() ( Console.WriteLine("Ja sam skijaš"); ) void IJogger.Run() (Console.WriteLine("Ja sam džoger"); ) )

    U ovom slučaju, prilikom izvršavanja koda iz Listinga 2, vidjet ćemo tri reda u konzoli, "Ja sam sportista", "Ja sam skijaš" i "Ja sam Jogger".

    Prednosti i nedostaci različitih implementacija interfejsa

    Vidljivost implementacije i selektivna implementacija
    Kao što je već prikazano gore, implicitna implementacija se sintaktički ne razlikuje od obične metode klase (štaviše, ako je ova metoda već definirana u klasi pretka, tada će u ovoj sintaksi metoda biti skrivena u djetetu i kod će biti preveden bez problema c kompajler upozorava na skrivanje metoda.). Štaviše, moguće je selektivno implementirati pojedinačne metode jednog interfejsa i eksplicitno i implicitno:

    /* Listing 4 */ javna klasa Code ( public void Run() ( Console.WriteLine("Ja sam metoda klase"); ) ) interfejs ICommand ( void Run(); void Execute(); ) javna klasa CodeCommand: Code , ICommand ( // implicitna implementacija metode sučelja // => javna implementacija // implicitna metoda osnovne klase skriva (ovdje upozorenje) public void Run() ( base.Run(); ) // eksplicitna implementacija metode sučelja // => privatno implementacija void ICommand.Execute() () )

    Ovo vam omogućava da koristite implementacije pojedinačnih metoda interfejsa kao nativnih metoda klase i one su dostupne, na primer, preko IntelliSense-a, za razliku od eksplicitne implementacije metoda koje su privatne i vidljive tek nakon prebacivanja na odgovarajući interfejs.

    S druge strane, mogućnost privatne implementacije metoda omogućava vam da sakrijete brojne metode interfejsa, dok ih u potpunosti implementirate. Vraćajući se na naš prvi primjer s nizovima u .Net-u, možete vidjeti da niz skriva, na primjer, implementaciju svojstva Count sučelja ICollection izlažući ovo svojstvo pod imenom Length (vjerovatno pokušaj održavanja kompatibilnosti sa C++ STL i Java). Tako možemo sakriti pojedinačne metode implementiranog interfejsa, a ne sakriti (=učiniti javnim) druge.

    Ovdje, međutim, postoji takav problem da je u mnogim slučajevima potpuno nemoguće pogoditi koja su sučelja implicitno implementirana od strane klase, jer ni metode ni svojstva ovih interfejsa nisu vidljivi u IntelliSense-u (primjer sa System.Array je ovdje također indikativno). Jedini način da se identifikuju takve implementacije je korištenje refleksije, kao što je preglednik objekata u Visual Studio-u.

    Refaktoring interfejsa
    Pošto se implicitna (javna) implementacija interfejsa ne razlikuje od implementacije javne metode klase, u slučaju refaktorisanja interfejsa i uklanjanja bilo koje javne metode iz njega (na primer, kada se kombinuju Run() i Execute () iz gornjeg ICommand interfejsa u jedan Run( )) u svim implicitnim implementacijama, postojaće metoda sa javnim pristupom, koja će, vrlo verovatno, morati da bude podržana čak i nakon refaktoriranja, jer ova javna metoda možda već ima drugačije zavisnosti u drugim komponentama sistema. Kao rezultat toga, princip programiranja „protiv interfejsa, a ne implementacija“ će biti narušen, jer će zavisnosti već biti između specifičnih (i u različitim klasama, sigurno, različitih) implementacija prijašnje metode interfejsa.

    /* Listing 5 */ interfejs IFingers ( void Thumb(); void IndexFinger(); // zastarjela metoda sučelja // void MiddleFinger(); ) javna klasa HumanPalm: IFingers ( public void Thumb() () public void IndexFinger( ) () // ovdje je "viseća" javna metoda public void MiddleFinger() () ) javna klasa AntropoidHand: IFingers ( void IFingers.Thumb() () void IFingers.IndexFinger() () // ovdje greška kompajlera void IFingers.MiddleFinger() () )

    U slučaju privatne implementacije sučelja, sve klase s eksplicitnom implementacijom metode koja više ne postoji jednostavno će prestati sa kompajliranjem, međutim, nakon uklanjanja implementacije koja je postala nepotrebna (ili prerade u novu metodu), mi ćemo nemaju “dodatni” javni metod koji nije vezan ni za jedan interfejs. Naravno, može biti potrebno refaktoriranje zavisnosti od samog interfejsa, ali ovde, barem, neće biti kršenja principa „program za interfejse, a ne implementacije“.

    Što se tiče svojstava, implicitno implementirana svojstva interfejsa (properties) vam omogućavaju da im pristupite putem metoda pristupa (getter i setter) kako izvana tako i direktno iz same klase, što može dovesti do nepotrebnih efekata (na primjer, do nepotrebne validacije podataka tokom svojstva inicijalizacije).

    /* Listing 6 */ interfejs IProperty ( int Amount ( get; set; ) ) javna klasa ClassWithProperty: IProperty ( // implicitna implementacija, public public int Amount ( get; set; ) public ClassWithProperty() ( // interno pozivanje javni setter Amount = 1000; ) ) javna klasa ClassWithExplicitProperty: IProperty ( // eksplicitna implementacija, privatni int IProperty.Amount ( get; set; ) public ClassWithExplicitProperty() ( // interno pozivanje nije moguće // greška kompajlera ovdje Količina = 1000;) )

    Sa eksplicitnom implementacijom svojstava interfejsa, ova svojstva ostaju privatna, a za pristup morate ići „dug“ put i deklarisati dodatno privatno polje kroz koje se dešava inicijalizacija. Ovo rezultira čistijim kodom kada se pristupnici imovine koriste samo za vanjski pristup.

    Korišćenje eksplicitnog kucanja lokalnih varijabli i polja klase
    U slučaju eksplicitne implementacije interfejsa, moramo eksplicitno naznačiti da ne radimo sa instancom klase, već sa instancom interfejsa. Tako, na primjer, postaje nemoguće koristiti zaključivanje tipa i deklarirati lokalne varijable u C# koristeći ključnu riječ var. Umjesto toga, moramo koristiti eksplicitnu deklaraciju tipa sučelja kada deklariramo lokalne varijable, kao i u potpisima metoda i poljima klase.

    Tako, s jedne strane, činimo kod nešto manje fleksibilnim (na primjer, ReSharper po defaultu uvijek predlaže korištenje deklaracije sa var ako je moguće), ali izbjegavamo potencijalne probleme povezane s vezivanjem za određenu implementaciju kako sistem raste i njegov kod volumena. Ovo se mnogima može učiniti kontroverznim, ali u slučaju kada na projektu radi nekoliko ljudi, pa čak i u različitim dijelovima svijeta, korištenje eksplicitnog kucanja može biti vrlo korisno, jer povećava čitljivost koda i smanjuje troškove njegovu podršku.

    PREDAVANJE 23-24

    Tema 3.2 Dizajniranje korisničkih interfejsa

    1. Vrste korisničkih interfejsa i faze njihovog razvoja.

    2. Psihofizičke karakteristike osobe povezane sa percepcijom, pamćenjem i obradom informacija.

    3. Modeli korisničkog i softverskog interfejsa.

    4. Klasifikacije dijaloga i opći principi za njihov razvoj.

    5. Glavne komponente grafičkih korisničkih interfejsa.

    6. Implementacija dijaloga u grafičkom korisničkom interfejsu.

    7. Korisnički interfejsi za direktnu manipulaciju i njihov dizajn.

    8. Inteligentni elementi korisničkih interfejsa.

    U ranim fazama razvoja kompjuterske tehnologije, korisnički interfejs se smatrao sredstvom ljudske komunikacije sa operativnim sistemom i bio je prilično primitivan.

    Pojavom interaktivnog softvera počela su se koristiti posebna korisnička sučelja. Trenutno je glavni problem razvoj interaktivnih interfejsa za složene softverske proizvode dizajnirane za upotrebu od strane neprofesionalnih korisnika.

    1. Vrste korisničkih interfejsa i faze njihovog razvoja

    Korisnički interfejs- skup softvera i hardvera koji omogućava interakciju korisnika sa računarom. Osnova interakcije- dijalozi.

    Dijalog- regulisana razmena informacija između osobe i računara, koja se odvija u realnom vremenu i ima za cilj zajedničko rešavanje konkretnog problema: razmena informacija i koordinacija delovanja. Svaki dijalog se sastoji od odvojenih ulazno-izlaznih procesa koji fizički obezbeđuju komunikaciju između korisnika i računara.

    Razmjena informacija se vrši prijenosom poruka i kontrolnih signala.

    Poruka– dio informacije uključen u razmjenu dijaloga.

    Vrste poruka:

    Ulazne poruke koje generira osoba koristeći sredstva za unos: tastatura, manipulatori (miš itd.);

    Izlazne poruke koje generiše kompjuter u obliku tekstova, audio signala i/ili slika i prikazuju se korisniku na ekranu monitora ili drugim uređajima za izlaz informacija.

    Korisnik generiše poruke kao što su:

    Zahtjev za informacijama,

    zahtjev za pomoć,

    Zahtjev za rad ili funkciju,

    Unošenje ili promjena informacija,

    Izbor polja okvira.

    Kao odgovor prima:

    Savjeti ili pomoć

    oblik riječi- dio teksta između dva susjedna razmaka ili znakova interpunkcije.

    Morfološka analiza - obrada oblika riječi van konteksta.

    Proceduralno - uključuje isticanje osnove u trenutnoj formi riječi, koja se zatim identificira.

    Nakon prepoznavanja oblika riječi, vrši se sintaktička analiza poruke čiji rezultati određuju njenu sintaksičku strukturu, odnosno raščlanjuju rečenicu.

    Interfejs koji implementira fraznu formu dijaloga mora: konvertirati poruke iz oblika prirodnog jezika u internu reprezentaciju i obrnuto, analizirati i sintetizirati korisničke i sistemske poruke, pratiti i zapamtiti preneseni dio dijaloga.

    Nedostaci oblik fraze:

    Veliki troškovi resursa;

    Nema garancije za nedvosmisleno tumačenje formulacije;

    Potreba za unosom dugih gramatički ispravnih fraza.

    Dostojanstvo frazni oblik - slobodna komunikacija sa sistemom.

    formular direktive - korištenje naredbi (direktiva) posebno dizajniran formalni jezik.

    Tim je rečenica ovog jezika koja opisuje kombinovane podatke, što uključuje identifikator započetog procesa i, ako je potrebno, podatke za njega.

    Naredba se može unijeti:

    Kao niz teksta, posebno dizajniranog formata (MS DOS komande na komandnoj liniji);

    Pritiskom na neku kombinaciju tipki (kombinacije "brzog pristupa" Windows aplikacija);

    Manipulisanjem mišem (“povucite i ispustite” ikone);

    Kombinacija druge i treće metode.

    Prednosti formular direktive:

    Mala količina ulaznih informacija;

    Fleksibilnost - mogućnost odabira operacije je ograničena skupom važećih naredbi;

    Orijentacija na dijalog koji vodi korisnik;

    Koristeći minimalnu površinu ekrana ili je uopšte ne koristite;

    Mogućnost kombinovanja sa drugim oblicima.

    Nedostaci formular direktive:

    Virtuelno odsustvo upita na ekranu, što zahteva memorisanje unetih komandi i njihove sintakse;

    Gotovo potpuni nedostatak povratnih informacija o statusu započetih procesa;

    Potreba za vještinama unosa tekstualnih informacija ili manipulacije mišem;

    Nedostatak prilagođavanja korisnika.

    Obrazac direktive je pogodan za profesionalne korisnike, koji obično brzo pamte sintaksu često korištenih naredbi ili kombinacija tipki. Prednosti forme (fleksibilnost i dobre vremenske karakteristike) su u ovom slučaju posebno izražene.

    tabelarni oblik - korisnik bira odgovor od onih koje nudi program. Jezik dijaloga ima najjednostavniju sintaksu i nedvosmislenu semantiku, što je prilično lako implementirati. Obrazac je jednostavan za korištenje, jer ga je uvijek lakše izabrati, što je neophodno za neprofesionalnog korisnika. Ovaj oblik se može koristiti ako je skup mogućih odgovora na određeno pitanje konačan. Ako je broj mogućih odgovora veliki (više od 20), onda upotreba tabelarnog obrasca možda nije prikladna.

    Vrline i u tabelarnom obliku:

    Prisustvo nagoveštaja;

    Smanjenje broja grešaka u unosu: korisnik ne unosi informacije, već pokazuje na njih;

    Smanjeno vrijeme obuke korisnika;

    Sposobnost kombinovanja sa drugim oblicima;

    U nekim slučajevima, mogućnost prilagođavanja korisnika.

    Nedostaci tabelarni oblik:

    Potreba za vještinama navigacije po ekranu;

    Korišćenje relativno velike površine ekrana za prikaz vizuelnih komponenti;

    Intenzivna upotreba računarskih resursa povezana je sa potrebom za stalnim ažuriranjem informacija na ekranu.

    Vrste i oblici dijaloga biraju se nezavisno jedan od drugog: bilo koji oblik je primenljiv za obe vrste dijaloga.

    Sinhroni- dijalozi koji se javljaju tokom normalnog rada softvera.

    Asinhroni- dijalozi koji se pojavljuju na inicijativu sistema ili korisnika kada se naruši scenario normalnog procesa. Koriste se za izdavanje hitnih poruka od sistema ili korisnika.

    Razvoj dijaloga. Faze dizajniranja i implementacije dijaloga:

    Određivanje skupa potrebnih dijaloga, njihovih glavnih poruka i mogućih scenarija - dizajn apstraktni dijalozi;

    Određivanje vrste i oblika svakog dijaloga, kao i sintakse i semantike jezika koji se koristi - dizajn specifični dijalozi;

    Odabir glavnih i dodatnih uređaja i dizajn ulazno-izlaznih procesa za svaki dijalog, kao i pojašnjenje poslanih poruka - dizajn tehnički dijalozi.

    Osnova apstraktnih dijaloga je ideologija tehnološkog procesa za čiju je automatizaciju softverski proizvod namenjen.

    Pored skripti, koristite dijagrami stanja interfejsa ili dijaloški grafikoni.

    Dijaloški graf je usmjereni ponderirani graf, čiji je svaki vrh povezan s određenom slikom na ekranu ( okvir) ili određeno stanje dijaloga, koje karakteriše skup radnji dostupnih korisniku. Lukovi koji izlaze iz vrhova pokazuju moguće promjene stanja kada korisnik izvrši određene radnje. Lukovi koji izlaze iz vrhova pokazuju moguće promjene stanja kada korisnik izvrši određene radnje. Težine lukova ukazuju na uslove za prelaze iz stanja u stanje i operacije koje se izvode tokom tranzicije.

    Svaka ruta na grafikonu odgovara mogućoj opciji dijaloga.


    Slika 3 - Grafikoni apstraktnog dijaloga:

    a - dijalog koji kontroliše sistem; b - dijalog koji kontroliše korisnik

    5. Osnovne komponente grafičkih korisničkih interfejsa

    Grafička korisnička sučelja podržavaju Windows, Apple Macintosh, OS/2 itd. Za takve interfejse razvijeni su setovi standardnih komponenti korisničkog interfejsa za svaki operativni sistem.

    Interfejsi su napravljeni pomoću WIMP tehnologije: W - Windows (prozori), I - Ikone (ikone), M - Miš (miš), P - Pop-up (iskačući ili padajući meniji). Glavni elementi grafičkih interfejsa su prozori, ikone, ulazno-izlazne komponente i miš koji se koristi kao pokazivač i uređaj za direktnu manipulaciju objektima na ekranu.

    Prozor.prozor - pravokutni okvir fizičkog ekrana. Prozor može promijeniti veličinu i poziciju unutar ekrana.

    Glavni prozori (prozori aplikacija);

    Dječiji ili podprozori;

    Prozori za dijalog;

    Informacijski prozori;

    Prozori menija.

    Prozor aplikacije Windows sadrži: okvir koji ograničava radnu površinu prozora, naslovnu traku sa dugmetom sistemskog menija i dugmadima za izbor prikaza i izlaza iz prozora, traku menija, meni sa ikonama (traka sa alatkama), horizontalne i vertikalne trake za pomeranje i statusnu traku.

    dječji prozor Windows se koristi u višestrukim interfejsima za programiranje dokumenata (MDI). Ovaj prozor ne sadrži meni. U naslovnoj traci, posebno ime koje identifikuje povezani dokument ili datoteku. Ikone svih podređenih prozora su iste.

    Prozor dijaloga Windows se koristi za pregled i postavljanje različitih načina rada, potrebnih postavki ili drugih informacija.

    Naslovna traka sa dugmetom sistemskog menija;

    Komponente koje omogućavaju korisniku da unese ili odabere odgovor;

    Pomoćne komponente koje pružaju opis alata (okvir za prikaz ili dugme za pomoć).

    Veličina prozora se ne može promijeniti, ali se može pomicati po ekranu.

    Informacijski prozori dvije vrste:

    Prozori za poruke;

    Prozori pomoći.

    Prozori poruka sadrže: naslov sa dugmetom sistemskog menija, tekst poruke, jedno ili više dugmadi za reakciju korisnika (Da, Ne, Otkaži).

    Prozor pomoći sadrži: meni, trake za pomicanje, informacijsko područje, slično prozoru aplikacije, ali ima visoko specijaliziranu svrhu.

    Prozori menija Windows se koristi kao otvaranje hijerarhijskih panela menija ili kao kontekstni meniji.

    Svaki red prozora menija može odgovarati:

    Tim;

    Meni sledećeg nivoa, koji je obezbeđen strelicom;

    Okvir za dijalog, označen sa tri tačke.

    Dodata indikacija prečica.

    Piktogrami. Ikona je mali prozor sa grafikom koja prikazuje sadržaj bafera sa kojim je povezana.

    Vrste piktograma:

    Softver povezan s odgovarajućim programom;

    Ikone dječjih prozora koje pružaju pristup raznim dokumentima;

    Ikone na alatnoj traci dupliraju pristup odgovarajućim funkcijama kroz meni, omogućavajući im brz pristup;

    Ikone objekata, za direktnu manipulaciju objektima.

    Direktna manipulacija slikama. Direktna manipulacija slikama - ovo je mogućnost zamjene naredbe za djelovanje na nekom objektu fizičkom radnjom u interfejsu, koja se izvodi uz pomoć miša. U ovom slučaju, bilo koja oblast ekrana se smatra primaocem, što se može aktivirati pomeranjem kursora i pritiskom na dugme miša.

    Prema reakciji na udar razlikuju se vrste adresata:

    Indikacija i izbor (postavljanje ikona, definisanje aktivnog prozora);

    Tasteri na ekranu i "klizne" barijere (izvođenje ili ciklički ponavljane radnje (izvođenje određenih operacija ili crtanje, podrazumijeva se kada je određeno područje ekrana aktivirano - dugmad)).

    Dinamički vizuelni signal - promena slike na ekranu (kursor miša pri izvođenju određenih operacija, promena slike dugmeta).

    I/O komponente. Interfejsi uključuju nekoliko menija: glavni ili "padajući" hijerarhijski meni, menije sa ikonama (trake sa alatkama) i kontekstne menije za različite situacije. Bilo koji od naznačenih menija je ulazno-izlazna komponenta koja implementira dijalog sa korisnikom koristeći tabelarnu formu.

    Hijerarhijski izbornik se koristi za organiziranje operacija koje izvodi softver (ako postoji više od IBM preporuka) i pružanje korisniku pregled istih. Trake sa alatkama i kontekstni meniji se koriste da obezbede brz pristup često korišćenim komandama, omogućavajući korisniku da se kreće relativno slobodno.

    Ostali oblici I/O:

    fraza,

    tabelarno,

    Miješano.

    6. Implementacija dijaloga u grafičkom korisničkom sučelju

    Dijalozi oba tipa:

    kontrolisano od strane korisnika,

    Sistem kontrolisan.

    Implementacija dijaloga vođenih od strane korisnika. Za implementaciju se koristi meni različitih tipova:

    osnovni,

    alatne trake,

    Kontekstualno i dugme.

    Kao alternativu izborniku, preporučljivo je koristiti direktivni oblik dijaloga, usklađujući glavne naredbe sa određenim kombinacijama tipki. Preporučljivo je obezbijediti mogućnost upravljanja menijem pomoću tastature, ukoliko korisnik većinu vremena unosi tekst ili podatke u sistem, odnosno komunicira sa tastaturom.

    Meni. Meniji su dizajnirani na osnovu dijaloških dijagrama softvera koji se razvija. Ako broj operacija ne prelazi 5, tada se obično koriste tipke. Ako broj operacija nije veći od 9-10, onda je to meni na jednom nivou. Ako je broj operacija veći od 10, tada se koristi padajući hijerarhijski meni na dva nivoa.

    Padajući meni. Prvi nivo hijerarhijskog menija treba da sadrži nazive glavnih grupa operacija.

    Tradicionalno (obično u uređivačima teksta i slika):

    1. stavka Fajl,

    2. stavka Edit,

    3. Pregled predmeta,

    zadnji pasus Help.

    Broj nivoa hijerarhijskog menija ne bi trebalo da prelazi 2-3 (teško je pronaći). Broj operacija u prozoru ne bi trebao biti veći od 7-8 operacija.

    Ako broj operacija prelazi 70-80. Predložili su programeri Microsoft Worda adaptivni hijerarhijski meni, gde se sadržaj prozora menija drugog nivoa stalno menja, prikazujući samo one operacije koje korisnik koristi. Ako korisnik ne pronađe željenu operaciju, onda nakon nekoliko sekundi ili pritiskom na posebno dugme, Word prikazuje prozor menija u potpunosti.

    7 Direktna manipulacija korisničkim interfejsima i njihov dizajn

    Mogućnost direktne manipulacije koju pružaju WIMP interfejsi omogućavaju razvoj objektno orijentisanih interfejsa za direktnu manipulaciju za aplikacije.

    Interfejsi koriste direktivni oblik dijaloga: komanda se unosi kada se određene radnje izvode sa ikonom objekta mišem. Glavni elementi ovih interfejsa su: metafore, objekti, reprezentacije objekata i Drag and Drop tehnologije („drag and drop“).

    Metafore. Metafore- mentalno prenošenje svojstava ili karakteristika jednog predmeta na drugi, nešto slično prvom. Upotreba metafora u interfejsima uključuje aktiviranje korisničkog iskustva.

    Interfejs za direktnu manipulaciju treba da pruži korisniku okruženje koje sadrži poznate elemente sa kojima se korisnik susreo više puta u profesionalnim aktivnostima ili u svakodnevnom životu, te mu pružiti mogućnost manipulacije pojedinačnim objektima. (Metafora “Bacanje smeća” je za brisanje datoteka).

    Slični elementi bi se trebali ponašati na sličan način, elementi istaknuti istom bojom trebaju biti u određenom međusobnom odnosu.

    Preporučljivo je da slike ne budu previše realistične, kako ne biste zavarali očekivanja korisnika.

    Metafore i animacija. U implementaciji metafora sve veća uloga ima multimedija, uglavnom animacija. Koristeći animaciju, ne samo da možete zabaviti korisnika, već ga i "pripremiti" za promjenu kadrova, smanjujući vrijeme potrebno za prilagođavanje promijenjenoj situaciji.

    https://pandia.ru/text/78/247/images/image005_68.gif">Program koji implementira animacijska sučelja nikada ne miruje, jer dok čeka na komandu korisnika, nastavlja da prikazuje odgovarajuće okvire. Takvi programi su na osnovu privremeno programiranje. Za razliku od programiranja događaja, koje vam omogućava da povežete sliku na ekranu sa eksternim i unutrašnjim događajima u sistemu, temporalno programiranje omogućava promenu projektovanog kadrovske sekvence ovisno o stanju simuliranih procesa i radnji korisnika.

    Objekti interfejsa za direktnu manipulaciju i njihove reprezentacije.

    Tri glavna tipa objekata interfejsa za direktnu manipulaciju su:

    objekti podataka,

    kontejnerski objekti,

    Objekti uređaja.

    Data Objects pružiti korisniku informacije (tekstovi, slike, tabele, muzika, video zapisi). Unutar operativnog sistema takvi objekti odgovaraju aplikacijama koje se pokreću kada se objekt proširi.

    Objekti kontejnera mogu manipulirati svojim internim objektima, uključujući druge kontejnere (kopirati ih ili sortirati bilo kojim redoslijedom). Tipični kontejneri uključuju fascikle, korpe. Kada se kontejner otvori, prikazuju se komponente koje čuva i postaje moguće manipulisati njima. Komponente se mogu identificirati ikonama ili prikazati u tabeli.

    Objekti uređaja predstavljaju uređaje koji postoje u stvarnom svetu: telefone, faks mašine, štampače, itd. koriste se za upućivanje na ove uređaje u apstraktnom svetu interfejsa. Kada proširite takav objekt, možete vidjeti njegove postavke.

    Svaki objekat odgovara jednom prozoru. U početnom stanju, ovaj prozor je predstavljen ikonom, ali ako je potrebno, možete ga otvoriti i izvršiti potrebne operacije, kao što su postavke objekta. Prozor objekta u proširenom stanju može sadržavati menije i trake sa alatkama. Ikona mora odgovarati kontekstualnom meniju koji sadrži listu operacija na objektu.

    Naziv ikone je različit za svaku vrstu objekta. Ikonama objekata podataka daju se imena koja odgovaraju nazivima pohranjenih podataka, a tip podataka je kodiran samom ikonom. Ime ikone kontejnera ili ikone uređaja odnosi se na sam objekt i stoga je neovisno o sadržaju.

    Razlika između tipova objekata je uslovna, budući da se isti objekt u različitim situacijama može ponašati ili kao objekt podataka, ili kao objekt uređaja, ili kao objekt kontejner (pisač je objekt uređaja, može imati svojstva objekta kontejnera , može sadržavati objekte podataka u redu za štampanje; prikaz kao ikona, prozor reda za štampanje, prozor postavki; preporučljivo je navesti naziv reprezentacije u naslovu prozora objekta).

    TehnologijaDragiDrop. Osnovni principi direktne manipulacije, kao što je opisano u IBM Vodiču za dizajn korisničkog sučelja:

    Rezultat pomicanja objekta mora ispuniti očekivanja korisnika;

    Korisnici ne bi trebali iznenada izgubiti informacije;

    Korisnik bi trebao biti u mogućnosti da poništi pogrešnu radnju.

    Inicijalna selekcija - koristi se kao povratna informacija korisniku da ga obavesti da je objekat uhvaćen, u Windows-u se u tu svrhu koristi isticanje;

    Vizualizacija pokreta - koristi se za identifikaciju radnje koja se izvodi;

    Odabir cilja - koristi se za identifikaciju odredišta, čime se pokazuje gdje će objekt "pasti" ako se pusti u trenutnom trenutku;

    Vizualizacija akcije - koristi se za označavanje vremena čekanja za završetak operacije, obično se za tu svrhu koristi animacija ili promjena oblika kursora u "pješčani sat".

    Postoje dva tipa odredišta: jedno prihvata objekat, a drugo njegovu kopiju (Korisnik "baci" dokument u "korpu za smeće" - sam dokument se uništava, a ako se pošalje na štampač, onda kopija dokumenta se prenosi).

    Dizajn interfejsa za direktnu manipulaciju. Dizajn se zasniva na dijaloškim grafovima razvijenim za određeni softver i uključuje sljedeće procedure:

    Formacija skupovi objekata domene, koji treba da se prikaže na ekranu, a u ovom slučaju se kao osnova ne koriste slučajevi upotrebe, već konceptualni model predmetne oblasti;

    Analiza objekata, definišući ih vrste i reprezentacije, kao i spisak operacija sa ovim objektima;

    Pojašnjenje interakcije objekata i izgradnju matrice direktna manipulacija;

    Definicija vizuelne reprezentacije objekti;

    Razvoj meni prozora objekta i kontekstni meniji;

    Kreacija prototip interfejs;

    Testiranje za Jednostavnost upotrebe.

    8 inteligentnih elemenata korisničkog interfejsa

    Elementi korisničkih interfejsa: Master, Advisor, Agent. Učinjeno je mnogo pokušaja da se stvori socijalizirani korisnički interfejs. Takav interfejs je zasnovan na ideji kreiranja personalizovanog interfejsa, odnosno interfejsa koji "ima ličnost". Zabavni programi kao što su Cats (mačke) i Dogs (psi) koji implementiraju složeno ponašanje kućnih ljubimaca u različitim situacijama pokazuju da je to tehnički potpuno rješiv zadatak.

    savjetnici. Oni su u obliku nagoveštaja. Njima se može pristupiti pomoću menija pomoći, komandne linije prozora ili iz iskačućeg menija. Savjetnici vode korisnike kroz specifične zadatke.

    Masters.Čarobnjak se koristi za obavljanje uobičajenih, ali rijetko izvršavanih zadataka od strane pojedinačnog korisnika (instaliranje programa ili hardvera). Izvođenje takvih radnji zahtijeva od korisnika da donese složene međusobno povezane odluke, čiji redoslijed diktira program čarobnjaka. Inteligentni čarobnjaci su u stanju da prikažu rezultate korisničkih odgovora na prethodna pitanja u prozoru preglednika na svakom koraku, pomažući mu da se snađe u situaciji.

    Čarobnjak implementira sekvencijalni ili dijaloški skript nalik stablu. Preporučljivo je koristiti ga za rješavanje dobro strukturiranih, sekvencijalnih zadataka.

    U ovom slučaju potrebno je:

    Omogućiti korisniku da se vrati na prethodni korak;

    Predvidjeti mogućnost otkazivanja rada Čarobnjaka;

    Numerirajte korake i recite korisniku broj koraka u čarobnjaku, posebno ako postoji više od tri takva koraka;

    Objasnite korisniku svaki korak;

    Ako je moguće, pokažite rezultat operacija koje su već izvedene u svakom koraku.

    Softverski agenti. Koristi se za rutinske poslove. Glavne funkcije agenata-pomoćnika su: posmatranje, pretraga, kontrola. razlikovati:

    agentski programi konfigurirani za obavljanje određenih zadataka;

    agentski programi sposobni za učenje (fiksiranje radnji korisnika (poput kasetofona)).

    Kao i svaki tehnički uređaj, kompjuter razmjenjuje informacije s osobom kroz skup određenih pravila koja su obavezna i za mašinu i za osobu. Ova pravila se u kompjuterskoj literaturi nazivaju interfejsima. Interfejs bi trebao biti jasan i nerazumljiv, prijateljski i ne. Uz to idu mnogi pridjevi. Ali u jednom je on konstantan: on jeste, i ne možete nigdje pobjeći od njega.

    Interface- ovo su pravila za interakciju operativnog sistema sa korisnicima, kao i susednih nivoa u računarskoj mreži. Tehnologija komunikacije između osobe i računara zavisi od interfejsa.

    Interface To je, prije svega, skup pravila. Kao i svaka pravila, mogu se generalizirati, skupiti u "šifru", grupirati prema zajedničkoj osobini. Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, došli smo do koncepta "tip interfejsa" kao kombinacije sličnosti načina na koji ljudi i računari komuniciraju. Možemo predložiti sljedeću šematsku klasifikaciju različitih interfejsa za komunikaciju između osobe i računara (slika 1.).

    Paketna tehnologija. Istorijski gledano, ova vrsta tehnologije se prva pojavila. Već je postojao na relejnim mašinama Suesa i Zusea (Njemačka, 1937.). Njegova ideja je jednostavna: ulaz računara je niz znakova, u kojem je, prema određenim pravilima, naznačen redoslijed programa koji se pokreću za izvršenje. Nakon izvršenja sljedećeg programa, pokreće se sljedeći i tako dalje. Mašina, prema određenim pravilima, sama pronalazi komande i podatke. Ova sekvenca može biti, na primjer, bušena traka, hrpa bušenih kartica, sekvenca pritiskanja tipki električne pisaće mašine (kao što je CONSUL). Mašina takođe šalje svoje poruke na puncher, alfanumerički štampač (ATsPU), traku za pisaću mašinu.

    Takva mašina je "crna kutija" (tačnije, "beli kabinet"), u koju se neprestano unose informacije i koja takođe neprestano "obaveštava" svet o svom stanju. Osoba ovde ima malo uticaja na rad mašine - može samo da obustavi rad mašine, promeni program i ponovo pokrene računar. Nakon toga, kada su mašine postale moćnije i mogle da opslužuju više korisnika odjednom, večito čekanje korisnika tipa: "Poslao sam podatke mašini. Čekam da odgovori. I hoće li se uopšte javiti?" - postalo je, najblaže rečeno, neophodno jesti. Osim toga, kompjuterski centri su, nakon novina, postali drugi najveći "proizvođači" starog papira. Iz tog razloga, sa pojavom alfanumeričkih displeja, započela je era tehnologije koja je zaista jednostavna za upotrebu, komandne linije.

    komandni interfejs.

    Komandni interfejs se obično tako naziva jer u ovom tipu interfejsa osoba daje "komande" računaru, a računar ih izvršava i daje rezultat osobi. Komandni interfejs je implementiran kao batch tehnologija i tehnologija komandne linije.

    Sa ovom tehnologijom, tastatura služi kao jedini način za unos informacija od osobe do računara, a računar šalje informacije osobi koristeći alfanumerički displej (monitor). Ova kombinacija (monitor + tastatura) postala je poznata kao terminal ili konzola.

    Komande se kucaju na komandnoj liniji. Komandna linija je simbol prompta i trepćući pravougaonik - kursor.
    Hostovan na ref.rf
    Kada se pritisne tipka, znakovi se pojavljuju na poziciji kursora, a sam kursor se pomiče udesno. Naredba se završava pritiskom na tipku Enter (ili Return.), nakon čega se vrši prijelaz na početak sljedećeg reda. Sa ove pozicije računar prikazuje rezultate svog rada na monitoru. Zatim se proces ponavlja.

    Tehnologija komandne linije je već radila na monohromatskim alfanumeričkim displejima. Pošto je bilo dozvoljeno unositi samo slova, brojeve i znakove interpunkcije, tehničke karakteristike displeja nisu bile značajne. Televizijski prijemnik, pa čak i osciloskopska cijev, mogli bi se koristiti kao monitor.

    Obje ove tehnologije implementirane su u obliku komandnog interfejsa - mašine se unose u ulaz komande, a ona, takoreći, "odgovara" na njih.

    Tekstualne datoteke postale su dominantna vrsta datoteka u radu sa komandnim interfejsom - one i samo one mogle su se kreirati pomoću tastature. Najraširenija upotreba interfejsa komandne linije je pojava UNIX operativnog sistema i pojava prvih osmobitnih personalnih računara sa višeplatformskim operativnim sistemom CP/M.

    WIMP interfejs(Prozor - prozor, Slika - slika, Meni - meni, Pointer - pokazivač). Karakteristična karakteristika ovog tipa interfejsa je da se dijalog sa korisnikom ne vodi uz pomoć komandi, već uz pomoć grafičkih slika - menija, prozora i drugih elemenata. Iako su mašinske komande date u ovom interfejsu, to se radi "indirektno", preko grafičkih slika. Ideja o grafičkom interfejsu nastala je sredinom 1970-ih, kada je koncept vizuelnog interfejsa razvijen u Xerox Palo Alto istraživačkom centru (PARC). Preduslov za grafički interfejs bilo je smanjenje vremena odziva računara na komandu, povećanje količine RAM-a, kao i razvoj tehničke baze računara. Hardverska osnova koncepta je, naravno, bila pojava alfanumeričkih displeja na računarima, a ti displeji su već imali efekte kao što su „treperenje“ znakova, inverzija boja (obrnuta stila belih znakova na crnoj pozadini, tj. crni znakovi na bijeloj pozadini), podvučeni znakovi. Ovi efekti se nisu proširili na cijeli ekran, već samo na jedan ili više znakova. Sljedeći korak je kreiranje kolor displeja koji uz ove efekte omogućava simbole u 16 boja na pozadini sa paletom (odnosno skupom boja) od 8 boja. Nakon pojave grafičkih displeja, sa mogućnošću prikazivanja bilo koje grafičke slike u obliku mnoštva tačaka na ekranu raznih boja, nema ograničenja za maštu u korišćenju ekrana! Prvi PARC-ov GUI sistem, 8010 Star Information System, pojavio se četiri meseca pre nego što je prvi IBM računar pušten u prodaju 1981. U početku se vizuelni interfejs koristio samo u programima. Postepeno je počeo da prelazi na operativne sisteme koji se koriste prvo na Atari i Apple Macintosh računarima, a zatim i na IBM kompatibilnim računarima.

    Od ranijeg vremena, a pod uticajem i ovih koncepata, došlo je do procesa objedinjavanja upotrebe tastature i miša od strane aplikativnih programa. Spajanje ova dva trenda dovelo je do stvaranja korisničkog sučelja uz pomoć kojeg se uz minimalno vrijeme i novac utrošeno na prekvalifikaciju osoblja može raditi sa bilo kojim softverskim proizvodom. Opis ovog interfejsa, zajedničkog za sve aplikacije i operativne sisteme, je predmet ovog dela.

    Grafički korisnički interfejs je tokom svog razvoja prošao kroz dve faze i implementiran je na dva nivoa tehnologije: jednostavnom grafičkom interfejsu i "čistom" WIMP interfejsu.

    U prvoj fazi, grafički interfejs je bio veoma sličan tehnologiji komandne linije. Razlike u odnosu na tehnologiju komandne linije bile su sljedeće:

    Ú Prilikom prikazivanja simbola bilo je dozvoljeno da se neki od simbola istaknu bojom, obrnutom slikom, podcrtanom i treptanjem. Zahvaljujući tome povećana je ekspresivnost slike.

    Ú S obzirom na zavisnost od specifične implementacije grafičkog interfejsa, kursor može biti predstavljen ne samo treperavim pravougaonikom, već i nekom površinom koja pokriva nekoliko znakova, pa čak i deo ekrana. Ovo odabrano područje razlikuje se od ostalih neizabranih dijelova (obično po boji).

    Ú Pritiskom na tipku Enter ne izvršava se uvijek naredba i ne prelazi se na sljedeći red. Odgovor na pritisak bilo kojeg tastera u velikoj meri zavisi od toga na kom delu ekrana se kursor nalazio.

    Ú Pored tastera Enter, na tastaturi se sve više koriste sivi tasteri sa kursorom (pogledajte odeljak o tastaturi u broju 3 ove serije.)

    Ú Već u ovom izdanju grafičkog interfejsa počeli su da se koriste manipulatori (kao što su miš, kuglica za praćenje, itd. – videti sliku A.4.) Οʜᴎ vam je omogućilo da brzo izaberete željeni deo ekrana i pomerite kursor.

    Sumirajući, možemo dati sljedeće karakteristične karakteristike ovog interfejsa:

    Ú Istaknite područja na ekranu.

    Ú Redefinisanje tastera na tastaturi na osnovu konteksta.

    Ú Korišćenje manipulatora i sivih tastera na tastaturi za kontrolu kursora.

    Ú Široka upotreba monitora u boji.

    Pojava ovog tipa interfejsa poklapa se sa širokom upotrebom MS-DOS operativnog sistema. Upravo je ona predstavila ovo sučelje masama, zahvaljujući čemu su 80-e godine obilježile poboljšanje ovog tipa sučelja, poboljšanje karakteristika prikaza znakova i drugih parametara monitora.

    Tipičan primjer korištenja ove vrste sučelja je ljuska datoteke Nortron Commander i uređivač teksta Multi-Edit. A uređivači teksta Lexicon, ChiWriter i program za obradu teksta Microsoft Word for Dos su primjer kako je ovaj interfejs nadmašio sam sebe.

    Druga faza u razvoju grafičkog interfejsa bio je "čisti" WIMP interfejs.Ovu podvrstu interfejsa karakterišu sledeće karakteristike:

    Ú Sav rad sa programima, fajlovima i dokumentima odvija se u prozorima – određenim delovima ekrana ocrtanim okvirom.

    Ú Svi programi, fajlovi, dokumenti, uređaji i drugi objekti su predstavljeni kao ikone - ikone. Kada se otvore, ikone se pretvaraju u prozore.

    Ú Sve radnje sa objektima se realizuju preko menija. Iako se meni pojavio u prvoj fazi razvoja grafičkog interfejsa, u njemu nije imao dominantno značenje, već je služio samo kao dodatak komandnoj liniji. U čistom WIMP interfejsu, meni postaje glavni kontrolni element.

    Ú Široka upotreba manipulatora za pokazivanje na objekte. Manipulator prestaje biti samo igračka - dodatak tastaturi, već postaje glavni kontrolni element. Uz pomoć manipulatora pokazuju na bilo koje područje ekrana, prozore ili ikone, odabiru ga, a tek onda, preko izbornika ili pomoću drugih tehnologija, upravljaju njima.

    Treba napomenuti da je za WIMP potreban rasterski displej u boji visoke rezolucije i manipulator za njegovu implementaciju.
    Hostovan na ref.rf
    Takođe, programi fokusirani na ovu vrstu interfejsa nameću povećane zahteve za performanse računara, veličinu memorije, propusni opseg magistrale itd. Istovremeno, ovaj tip interfejsa je najlakši za učenje i intuitivan. Iz tog razloga, WIMP interfejs je sada postao de facto standard.

    Upečatljiv primjer programa sa grafičkim interfejsom je operativni sistem Microsoft Windows.

    SILK- interfejs (Govor - govor, Slika - slika, Jezik - jezik, Znanje - znanje). Ovaj tip sučelja najbliži je uobičajenom, ljudskom obliku komunikacije. U okviru ovog interfejsa odvija se normalan "razgovor" između osobe i računara. Istovremeno, kompjuter sam pronalazi komande analizirajući ljudski govor i pronalazeći ključne fraze u njemu. Takođe pretvara rezultat izvršenja naredbe u oblik čitljiv za ljude. Ovaj tip sučelja je najzahtjevniji za hardverske resurse računara, te se u tom pogledu koristi uglavnom u vojne svrhe.

    Od sredine 90-ih, nakon pojave jeftinih zvučnih kartica i široke upotrebe tehnologija za prepoznavanje govora, pojavila se takozvana "govorna tehnologija" SILK sučelja. Kod ove tehnologije komande se daju glasom izgovaranjem posebnih rezerviranih riječi - komandi.

    Riječi treba izgovarati jasno, istim tempom. Između riječi postoji pauza. Zbog nerazvijenosti algoritma za prepoznavanje govora, takvi sistemi zahtijevaju individualnu predkonfiguraciju za svakog konkretnog korisnika.

    Tehnologija "govora" je najjednostavnija implementacija SILK interfejsa.

    Biometrijska tehnologija ("Mimičko sučelje".)

    Ova tehnologija je nastala kasnih 1990-ih i još uvijek se razvija u vrijeme pisanja ovog teksta. Za kontrolu kompjutera koristi se izraz lica osobe, smjer njenog pogleda, veličina zjenice i drugi znakovi. Za identifikaciju korisnika koristi se uzorak šarenice njegovih očiju, otisci prstiju i druge jedinstvene informacije. Slike se čitaju sa digitalne video kamere, a zatim se iz ove slike izdvajaju komande pomoću posebnih programa za prepoznavanje slika. Ova tehnologija će vjerovatno zauzeti svoje mjesto u softverskim proizvodima i aplikacijama gdje je važno precizno identifikovati korisnika računara.

    mob_info