Sučelja i tehnologije. Glavne tehnologije za implementaciju sučelja su: Batch

  • OOP
  • Prošlog sam ponedjeljka imao dovoljno sreće da dobijem intervju kao stariji .Net programer u međunarodnoj tvrtki. Tijekom intervjua zamoljen sam da pristupim testu u kojem su brojna pitanja bila vezana uz .Net. Konkretno, u jednom od pitanja bilo je potrebno ocijeniti (točno/netočno) niz tvrdnji, među kojima je bila i sljedeća:

    U .Netu bilo koji niz elemenata, kao što je int, implementira IList prema zadanim postavkama, dopuštajući da se koristi kao zbirka u foreach izjavi.

    Brzo odgovorite negativno na ovo pitanje i napišite odvojeno 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: implementira li niz još uvijek ovo sučelje ili ne?

    Što se tiče ILista, maglovito sam se sjetio da mi ovo sučelje daje IEnumerable, indekser i svojstvo Count koje sadrži broj elemenata kolekcije, kao i nekoliko svojstava koja se rijetko koriste, kao što je IsFixedCollection(). Niz ima svojstvo Length za svoju veličinu, a Count u IEnumerable je metoda proširenja iz LINQ-a, što ne bi bilo moguće da je metoda implementirana u klasi. Tako se pokazalo da niz ne može implementirati IList sučelje, ali neki me nejasan osjećaj proganjao. Tako sam večer nakon intervjua odlučio malo istražiti.

    Klasa System.Array

    Budući da nisam imao instaliran Reflector.Net, samo sam napisao kratki program u C# kako bih saznao kakva su sučelja implementirana pomoću niza 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);

    Ovdje je kompletan popis primljenih sučelja iz prozora konzole:

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

    Tako, polje u .Netu još uvijek implementira IList sučelje i njegovu generaliziranu verziju IList<> .

    Kako bih dobio potpunije informacije, napravio sam dijagram klase System.Array.

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

    Sve odmah pada na svoje mjesto kada se sjetite da u C# možete implementirati ne samo sučelja
    implicitno, ali i eksplicitno. Za tu sam mogućnost znao iz udžbenika, koji su davali primjer takve primjene u jednom slučaju. kada osnovna klasa već sadrži metodu s istim imenom kao metoda sučelja. Također sam vidio ovu značajku u ReSharperu. Međutim, do sada se nisam izravno susreo s potrebom eksplicitne implementacije sučelja u vlastitim projektima.

    Usporedba eksplicitne i implicitne implementacije sučelja

    Usporedimo ove dvije vrste implementacija sučelja:.
    Kriteriji
    Implicitna implementacija
    Eksplicitna implementacija
    Osnovna sintaksa
    sučelje ITest ( void DoTest(); ) javna klasa ImplicitTest: ITest ( public void DoTest() ( ) )
    sučelje ITest ( void DoTest(); ) javna klasa ExplicitTest: ITest ( void ITest.DoTest() ( ) )
    Vidljivost
    Implicitna implementacija uvijek je bila javna, tako da se metodama i svojstvima može pristupiti izravno.
    var imp = new ImplicitTest(); imp.DoTest();
    Eksplicitna implementacija uvijek je privatna.
    Da biste dobili pristup implementaciji, trebate pretvoriti instancu klase u sučelje (upcast na sučelje).
    var exp = new ExplicitTest(); ((ITest)exp).DoTest();
    Polimorfija
    Implicitna implementacija sučelja može biti virtualna, što omogućuje ponovno pisanje ove implementacije u klasama potomcima.
    Eksplicitna implementacija je uvijek statična. Ne može se nadjačati (nadjačati) ili blokirati (novo) u klasama potomcima. Bilješka 1
    Apstraktna klasa i implementacija
    Implicitna implementacija može biti apstraktna i implementirana samo u klasi potomku.
    Eksplicitna implementacija ne može biti apstraktna, ali sama klasa može imati druge apstraktne metode i sama biti apstraktna. Bilješka 2

    Bilješke:
    Bilješka 1 - Kao što je ispravno navedeno u komentarima, implementacija se može nadjačati ponovljenom eksplicitnom implementacijom sučelja u klasi potomku (pogledajte prvi komentar na članak).

    Bilješka 2 - Jedan od blogova navodi da klasa sama po sebi ne može biti apstraktna. Možda je to vrijedilo za neke od prethodnih verzija prevoditelja; u mojim eksperimentima, mogao sam implementirati sučelje eksplicitno u apstraktnoj klasi bez ikakvih problema.

    Zašto nam je potrebna eksplicitna implementacija sučelja?

    Eksplicitna implementacija sučelja, prema MSDN-u, neophodna je kada više sučelja implementiranih od strane klase imaju metodu s istim potpisom. Ovaj problem je općenito poznat u engleskom govornom području pod jezivim nazivom “deadly diamond of death”, što se na ruski prevodi kao “problem dijamanta”. Evo primjera takve situacije:

    /* Ispis 1 */ sučelje IJogger ( void Run(); ) sučelje ISkier ( void Run(); ) javna klasa Sportaš: ISkier, IJogger ( public void Run() ( Console.WriteLine("Jesam li sportaš, skijaš ili trkač?"); ))

    Inače, ovaj primjer je ispravan kod u C#, odnosno kompajlira se i izvodi (ispravno), dok je Run() metoda i metoda same klase i implementacija čak dva sučelja. Na ovaj način možemo imati jednu implementaciju za različita sučelja i za samu klasu. To možete provjeriti pomoću sljedećeg koda:

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

    Rezultat izvršavanja ovog koda bit će "Jesam li sportaš, skijaš ili trkač?", ispisan na konzoli tri puta.

    Ovo je mjesto gdje možemo koristiti eksplicitnu implementaciju sučelja za razdvajanje sva tri slučaja:

    /* Ispis 3 */ javna klasa Sportsman ( public virtual void Run() ( Console.WriteLine("I am a Sportsman"); ) ) javna klasa Sportaš: Sportsman, ISkier, IJogger ( public override void Run() ( Console. WriteLine("Ja sam sportaš"); ) void ISkier.Run() ( Console.WriteLine("Ja sam skijaš"); ) void IJogger.Run() ( Console.WriteLine("Ja sam trkač"); ) )

    U ovom slučaju, prilikom izvršavanja koda iz listinga 2, vidjet ćemo tri retka u konzoli, "Ja sam sportaš", "Ja sam skijaš" I "Ja sam trkač".

    Za i protiv različitih implementacija sučelja

    Vidljivost provedbe i selektivna provedba
    Kao što je već pokazano gore, implicitna implementacija se sintaktički ne razlikuje od metode regularne klase (a ako je ova metoda već definirana u klasi pretka, tada će u ovoj sintaksi metoda biti skrivena u potomku, a kod će biti prevedeno bez problema upozorenje prevoditelja o skrivanju metode.). Štoviše, moguće je selektivno implementirati pojedinačne metode jednog sučelja, eksplicitno ili implicitno:

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

    To omogućuje da se implementacije pojedinačnih metoda sučelja koriste kao izvorne metode klase i dostupne su, na primjer, putem IntelliSensea, za razliku od eksplicitne implementacije metoda, koje su privatne i vidljive tek nakon kastinga na odgovarajuće sučelje.

    S druge strane, mogućnost privatne implementacije metoda omogućuje vam skrivanje brojnih metoda sučelja dok ih u potpunosti implementirate. Vraćajući se na naš prvi primjer s nizovima u .Netu, možete vidjeti da niz skriva, na primjer, implementaciju svojstva Count sučelja ICollection, izlažući ovo svojstvo pod imenom Length (vjerojatno je ovo pokušaj održavanja kompatibilnosti sa C++ STL i Javom). Stoga možemo sakriti određene metode implementiranog sučelja, a druge ne sakriti (= učiniti javnima).

    Međutim, ovdje je problem u tome što je u mnogim slučajevima potpuno nemoguće pogoditi koja su sučelja implementirana „implicitno” od strane klase, budući da ni metode ni svojstva tih sučelja nisu vidljiva u IntelliSenseu (primjer System.Array je ovdje također poučno). Jedini način da se identificiraju takve implementacije je korištenje refleksije, na primjer korištenjem Preglednika objekata u Visual Studiju.

    Refactoring sučelja
    Budući da se implicitna (javna) implementacija sučelja ne razlikuje od implementacije javne metode klase, u slučaju refaktoriranja sučelja i uklanjanja bilo koje javne metode iz njega (na primjer, kada se kombiniraju Run() i Execute () metode iz gornjeg ICommand sučelja u jednu metodu Run( )) u svim implicitnim implementacijama, metoda će ostati s otvorenim pristupom, koji će vrlo vjerojatno morati biti podržan čak i nakon refaktoriranja, budući da ova javna metoda može već imati različite ovisnosti u drugim komponente sustava. Kao rezultat toga, načelo programiranja "protiv sučelja, a ne implementacija" bit će prekršeno, jer će ovisnosti već postojati između specifičnih (i u različitim klasama, vjerojatno različitih) implementacija prethodne metode sučelja.

    /* Ispis 5 */ sučelje 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 AnthropoidHand: IFingers ( void IFingers.Thumb() () void IFingers.IndexFinger() () // ovdje greška prevoditelja void IFingers.MiddleFinger() () )

    U slučaju privatne implementacije sučelja, sve klase s eksplicitnom implementacijom metode koja više ne postoji jednostavno će se prestati kompajlirati, ali nakon uklanjanja implementacije koja je postala nepotrebna (ili njezinog refaktoriranja u novu metodu), nećemo imati "ekstra" javna metoda koja nije vezana ni za jedno sučelje. Naravno, možda će biti potrebno refaktorirati ovisnosti o samom sučelju, ali ovdje barem neće biti kršenja načela "programirati u sučelja, a ne implementacije".

    Što se tiče svojstava, implicitno implementirana svojstva sučelja (svojstva) omogućuju vam da im pristupite putem pristupnih metoda (getter i setter) izvana i izravno iz same klase, što može dovesti do nepotrebnih učinaka (na primjer, nepotrebna provjera valjanosti podataka tijekom inicijalizacije svojstava) .

    /* Ispis 6 */ sučelje IProperty ( int Amount ( get; set; ) ) javna klasa ClassWithProperty: IProperty ( // implicitna implementacija, public public int Amount ( get; set; ) public ClassWithProperty() ( // interno pozivanje public setter Amount = 1000; ) ) javna klasa ClassWithExplicitProperty: IProperty ( // eksplicitna implementacija, private int IProperty.Amount ( get; set; ) public ClassWithExplicitProperty() ( // interno pozivanje nije moguće // ovdje pogreška prevoditelja Amount = 1000;)))

    Kada eksplicitno implementirate svojstva sučelja, ta svojstva ostaju privatna i za pristup morate ići "dugom" stazom i deklarirati dodatno privatno polje kroz koje se događa inicijalizacija. To rezultira čišćim kodom gdje se pristupači svojstvima koriste samo za vanjski pristup.

    Korištenje eksplicitnog upisivanja lokalnih varijabli i polja klase
    U slučaju eksplicitne implementacije sučelja, moramo eksplicitno naznačiti da ne radimo s instancom klase, već s instancom sučelja. Tako, na primjer, postaje nemoguće koristiti zaključivanje tipa i deklarirati lokalne varijable u C# pomoću servisne riječi var. Umjesto toga, moramo koristiti eksplicitnu deklaraciju tipa sučelja kada deklariramo lokalne varijable, kao iu potpisu metode iu poljima klase.

    Stoga, s jedne strane, čini se da činimo kod nešto manje fleksibilnim (na primjer, ReSharper prema zadanim postavkama uvijek predlaže korištenje deklaracije s var ako je moguće), ali izbjegavamo potencijalne probleme povezane s vezanjem na određenu implementaciju kako sustav raste i njegovu šifru volumena. Mnogima se ova točka može činiti kontroverznom, ali u slučaju kada nekoliko ljudi radi na projektu, pa čak i u različitim dijelovima svijeta, korištenje eksplicitnog tipkanja može biti vrlo korisno, jer povećava čitljivost koda i smanjuje troškove njegovog održavanja.

    Kao i svaki tehnički uređaj, računalo razmjenjuje informacije s osobom kroz niz određenih pravila koja su obvezna i za stroj i za osobu. Ta se pravila u računalnoj literaturi nazivaju sučeljem. Sučelje može biti razumljivo ili nerazumljivo, prijateljsko ili ne. Na njega se odnose mnogi pridjevi. Ali jedno je stalno: ono postoji i ne možete mu pobjeći.

    Sučelje- to su pravila interakcije između operacijskog sustava i korisnika, kao i susjednih razina u računalnoj mreži. Tehnologija komunikacije čovjek-računalo ovisi o sučelju.

    Sučelje- Ovo je, prije svega, skup pravila. Kao i svaka pravila, mogu se generalizirati, sakupiti u "kod" i grupirati prema zajedničkim karakteristikama. Tako smo došli do pojma “vrsta sučelja” kao kombinacije sličnih načina interakcije između ljudi i računala. Možemo predložiti sljedeću shematsku klasifikaciju različitih komunikacijskih sučelja čovjek-računalo (slika 1.).

    Serijska tehnologija. Povijesno se ova vrsta tehnologije pojavila prva. Već je postojao na relejnim strojevima Suesa i Zusea (Njemačka, 1937.). Njegova ideja je jednostavna: niz simbola se isporučuje na ulaz računala, u kojem je, prema određenim pravilima, naznačen redoslijed programa koji su pokrenuti za izvršenje. Nakon izvršenja sljedećeg programa, pokreće se sljedeći i tako dalje. Stroj, prema određenim pravilima, sam pronalazi naredbe i podatke. Taj slijed može biti npr. bušena papirna traka, snop bušenih kartica ili slijed pritiskanja tipki električnog pisaćeg stroja (tip CONSUL). Stroj također šalje svoje poruke na bušilicu, alfanumeričku ispisnu jedinicu (ADP) ili vrpcu pisaćeg stroja.

    Takav stroj je “crna kutija” (točnije, “bijeli ormarić”), u koju se neprestano unose informacije i koja također neprestano “obavještava” svijet o svom stanju. Osoba ovdje malo utječe na rad stroja - može samo pauzirati rad stroja, promijeniti program i ponovno pokrenuti računalo. Nakon toga, kada su strojevi postali moćniji i mogli opsluživati ​​nekoliko korisnika odjednom, korisnici su vječno čekali poput: "Poslao sam podatke stroju. Čekam da odgovori. I hoće li uopće odgovoriti?" - postalo je, blago rečeno, dosadno. Osim toga, računalni centri, nakon novina, postali su drugi veliki “proizvođač” starog papira. Stoga je s dolaskom alfanumeričkih zaslona započela era tehnologije koja je uistinu jednostavna za korištenje - naredbenog retka.

    Komandno sučelje.

    Naredbeno sučelje naziva se tako jer u ovoj vrsti sučelja osoba daje "naredbe" računalu, a računalo ih izvršava i daje rezultat osobi. Naredbeno sučelje implementirano je u obliku batch tehnologije i tehnologije naredbenog retka.


    S ovom tehnologijom, tipkovnica je jedini način za unos informacija od osobe do računala, a računalo prikazuje informacije osobi pomoću alfanumeričkog zaslona (monitora). Ova kombinacija (monitor + tipkovnica) postala je nazvana terminal ili konzola.

    Naredbe se upisuju u naredbeni redak. Naredbeni redak je simbol odzivnika i trepćući pravokutnik - kursor. Kada pritisnete tipku, simboli se pojavljuju na mjestu kursora, a sam kursor se pomiče udesno. Naredba završava pritiskom na tipku Enter (ili Return), koja zatim prelazi na početak sljedećeg retka. Iz te pozicije računalo na monitoru prikazuje rezultate svog rada. Zatim se postupak ponavlja.

    Tehnologija naredbenog retka već je radila na jednobojnim alfanumeričkim zaslonima. Budući da je bilo moguće unositi samo slova, brojke i interpunkcijske znakove, tehničke karakteristike zaslona nisu bile značajne. Kao monitor mogao bi poslužiti televizijski prijemnik, pa čak i cijev osciloskopa.

    Obje ove tehnologije implementirane su u obliku naredbenog sučelja - naredbe se daju stroju kao ulaz, a on, takoreći, "odgovara" na njih.

    Tekstualne datoteke postale su dominantna vrsta datoteka pri radu s naredbenim sučeljem - one i samo one mogle su se stvarati pomoću tipkovnice. Vrijeme najveće primjene sučelja naredbenog retka je pojava operativnog sustava UNIX i pojava prvih osmobitnih osobnih računala s višeplatformskim CP/M operativnim sustavom.

    WIMP sučelje(Window - prozor, Image - slika, Menu - izbornik, Pointer - pokazivač). Karakteristična značajka ove vrste sučelja je da se dijalog s korisnikom ne vodi pomoću naredbi, već pomoću grafičkih slika - izbornika, prozora i drugih elemenata. Iako se naredbe stroju daju u ovom sučelju, to se radi "neizravno", putem grafičkih slika. Ideja o grafičkom sučelju započela je sredinom 70-ih kada je koncept vizualnog sučelja razvijen u Xerox Palo Alto Research Center (PARC). Preduvjet za grafičko sučelje bilo je smanjenje vremena reakcije računala na naredbu, povećanje količine RAM-a, kao i razvoj tehničke baze računala. Hardverska osnova koncepta, naravno, bila je pojava alfanumeričkih zaslona na računalima, a ti su zasloni već imali takve efekte kao što su "treperenje" znakova, inverzija boja (promjena obrisa bijelih znakova na crnoj pozadini u obrnuto, odnosno crni znakovi na bijeloj pozadini ), podcrtavanje znakova. Ovi efekti nisu se proširili na cijeli zaslon, već samo na jedan ili više znakova. Sljedeći korak bio je kreiranje prikaza u boji koji bi omogućio prikaz, uz ove efekte, znakova u 16 boja na pozadini s paletom (odnosno skupom boja) od 8 boja. Nakon pojave grafičkih zaslona, ​​s mogućnošću prikazivanja bilo koje grafičke slike u obliku mnoštva točaka na zaslonu različitih boja, mašti u korištenju zaslona više nije bilo granica! Prvi sustav s grafičkim sučeljem, 8010 Star Information System grupe PARC, pojavio se tako četiri mjeseca prije izlaska prvog IBM računala 1981. godine. U početku se vizualno sučelje koristilo samo u programima. Postupno je počeo prelaziti na operativne sustave, koji su se prvo koristili na Atari i Apple Macintosh računalima, a potom i na IBM kompatibilnim računalima.

    Od ranije, a također pod utjecajem ovih koncepata, postojao je proces objedinjavanja uporabe tipkovnice i miša od strane aplikacijskih programa. Spoj ova dva trenda doveo je do stvaranja korisničkog sučelja s kojim, uz minimalno vrijeme i novac utrošen na prekvalifikaciju osoblja, možete raditi s bilo kojim softverskim proizvodom. Ovaj dio je posvećen opisu ovog sučelja, zajedničkog svim aplikacijama i operativnim sustavima.

    Grafičko korisničko sučelje je tijekom svog razvoja prošlo kroz dvije faze i implementirano je na dvije tehnološke razine: jednostavno grafičko sučelje i “čisto” WIMP sučelje.

    U prvoj fazi GUI je bio vrlo sličan tehnologiji naredbenog retka. Razlike u odnosu na tehnologiju naredbenog retka bile su sljedeće:

    Ú Kod prikaza znakova bilo je dopušteno istaknuti neke znakove bojom, inverznom slikom, podcrtavanjem i titranjem. Zahvaljujući tome, ekspresivnost slike je povećana.

    Ú Ovisno o specifičnoj implementaciji grafičkog sučelja, pokazivač se može pojaviti ne samo kao treperavi pravokutnik, već i kao područje koje pokriva nekoliko znakova, pa čak i dio zaslona. Ovo odabrano područje razlikuje se od ostalih, neodabranih dijelova (obično bojom).

    Ú Pritiskom na tipku Enter ne izvršava se uvijek naredba i prelazi u sljedeći redak. Reakcija na pritisak bilo koje tipke uvelike ovisi o tome gdje se kursor nalazio na ekranu.

    Ú Osim tipke Enter, "sive" tipke za kontrolu pokazivača sve se više koriste na tipkovnici (pogledajte odjeljak o tipkovnici u izdanju 3 ove serije.)

    Ú Već u ovom izdanju grafičkog sučelja počeli su se koristiti manipulatori (poput miša, trackballa itd. - vidi sliku A.4.) Omogućavali su brz odabir željenog dijela ekrana i pomicanje pokazivača .

    Ukratko, možemo navesti sljedeće karakteristične značajke ovog sučelja:

    Ú Odabir područja na ekranu.

    Ú Redefinirajte tipke tipkovnice ovisno o kontekstu.

    Ú Korištenje manipulatora i sivih tipki tipkovnice za upravljanje kursorom.

    Ú Široka uporaba monitora u boji.

    Pojava ove vrste sučelja koincidira sa širokom upotrebom MS-DOS operativnog sustava. Upravo je ona predstavila ovo sučelje masama, zahvaljujući čemu su 80-e obilježene poboljšanjem ove vrste sučelja, poboljšanjem 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 primjeri su kako je ovo sučelje nadmašilo samo sebe.

    Druga faza u razvoju grafičkog sučelja bilo je "čisto" WIMP sučelje.Ovu podvrstu sučelja karakteriziraju sljedeće karakteristike:

    Ú Sav rad s programima, datotekama i dokumentima odvija se u prozorima - određenim dijelovima zaslona oivičenim okvirom.

    Ú Svi programi, datoteke, dokumenti, uređaji i drugi objekti prikazani su u obliku ikona. Kada se otvore, ikone se pretvaraju u prozore.

    Ú Sve radnje s objektima izvode se pomoću izbornika. Iako se izbornik pojavio u prvoj fazi razvoja grafičkog sučelja, on u njemu nije imao dominantnu ulogu, već je služio samo kao dodatak naredbenom retku. U čistom WIMP sučelju, izbornik postaje glavni kontrolni element.

    Ú Opsežna uporaba manipulatora za pokazivanje na objekte. Pokazivački uređaj prestaje biti samo igračka – dodatak tipkovnici, već postaje glavni upravljački element. Pomoću manipulatora pokazuju na bilo koje područje zaslona, ​​prozora ili ikone, odabiru ga i tek onda upravljaju njima kroz izbornik ili pomoću drugih tehnologija.

    Treba napomenuti da WIMP zahtijeva rasterski zaslon u boji visoke rezolucije i pokazivački uređaj za njegovu implementaciju. Također, programi orijentirani na ovu vrstu sučelja postavljaju povećane zahtjeve na performanse računala, njegov kapacitet memorije, propusnost sabirnice itd. Međutim, ova vrsta sučelja je najlakša za naučiti i intuitivna. Stoga je sada WIMP sučelje postalo de facto standard.

    Upečatljiv primjer programa s grafičkim sučeljem je operativni sustav Microsoft Windows.

    SVILA- sučelje (Govor - govor, Slika - slika, Jezik - jezik, Znanje - znanje). Ova vrsta sučelja najbliža je uobičajenom, ljudskom obliku komunikacije. U okviru ovog sučelja postoji normalan "razgovor" između osobe i računala. Istovremeno, računalo samo sebi pronalazi naredbe analizirajući ljudski govor i pronalazeći u njemu ključne fraze. Također pretvara rezultat izvršenja naredbe u oblik čitljiv ljudima. Ova vrsta sučelja je najzahtjevnija za hardverske resurse računala, pa se koristi uglavnom u vojne svrhe.

    Od sredine 90-ih, nakon pojave jeftinih zvučnih kartica i široke upotrebe tehnologija za prepoznavanje govora, pojavilo se takozvano SILK sučelje "tehnologije govora". Ovom tehnologijom naredbe se daju glasom izgovaranjem posebnih rezerviranih riječi – naredbi.

    Riječi se moraju izgovarati jasno, istim tempom. Potrebna je pauza između riječi. Zbog nerazvijenosti algoritma za prepoznavanje govora, takvi sustavi zahtijevaju individualno prethodno podešavanje za svakog pojedinog korisnika.

    "Speech" tehnologija je najjednostavnija implementacija SILK sučelja.

    Biometrijska tehnologija ("Mimic sučelje.")

    Ova se tehnologija pojavila kasnih 90-ih godina 20. stoljeća i još uvijek se razvija u vrijeme pisanja. Za upravljanje računalom koristi se izraz lica osobe, smjer 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 s digitalne video kamere, a zatim se iz te slike izvlače naredbe pomoću posebnih programa za prepoznavanje uzoraka. Ova tehnologija će vjerojatno pronaći svoje mjesto u softverskim proizvodima i aplikacijama gdje je važno točno identificirati korisnika računala.

    Vrste sučelja

    Sučelje je prije svega skup pravila. Kao i svaka pravila, mogu se generalizirati, sakupiti u "kod" i grupirati prema zajedničkim karakteristikama. Tako smo došli do pojma “vrsta sučelja” kao kombinacije sličnih načina interakcije između ljudi i računala. Ukratko, možemo predložiti sljedeću shematsku klasifikaciju različitih komunikacijskih sučelja čovjek-računalo.

    Moderne vrste sučelja su:

    1) Komandno sučelje. Naredbeno sučelje naziva se tako jer u ovoj vrsti sučelja osoba daje "naredbe" računalu, a računalo ih izvršava i daje rezultat osobi. Naredbeno sučelje implementirano je u obliku batch tehnologije i tehnologije naredbenog retka.

    2) WIMP - sučelje (Window - prozor, Image - slika, Menu - izbornik, Pointer - pokazivač). Karakteristična značajka ove vrste sučelja je da se dijalog s korisnikom ne vodi pomoću naredbi, već pomoću grafičkih slika - izbornika, prozora i drugih elemenata. Iako se naredbe stroju daju u ovom sučelju, to se radi "neizravno", putem grafičkih slika. Ova vrsta sučelja implementirana je na dvije razine tehnologije: jednostavno grafičko sučelje i "čisto" WIMP sučelje.

    3) SILK - sučelje (Speech - govor, Image - slika, Language - jezik, Knowlege - znanje). Ova vrsta sučelja najbliža je uobičajenom, ljudskom obliku komunikacije. U okviru ovog sučelja postoji normalan "razgovor" između osobe i računala. Istovremeno, računalo samo sebi pronalazi naredbe analizirajući ljudski govor i pronalazeći u njemu ključne fraze. Također pretvara rezultat izvršenja naredbe u oblik čitljiv ljudima. Ova vrsta sučelja je najzahtjevnija za hardverske resurse računala, pa se koristi uglavnom u vojne svrhe.

    Komandno sučelje

    Serijska tehnologija. Povijesno se ova vrsta tehnologije pojavila prva. Već je postojao na relejnim strojevima Suesa i Zusea (Njemačka, 1937.). Njegova ideja je jednostavna: niz simbola se isporučuje na ulaz računala, u kojem je, prema određenim pravilima, naznačen redoslijed programa koji su pokrenuti za izvršenje. Nakon izvršenja sljedećeg programa, pokreće se sljedeći i tako dalje. Stroj, prema određenim pravilima, sam pronalazi naredbe i podatke. Taj slijed može biti npr. bušena papirna traka, snop bušenih kartica ili slijed pritiskanja tipki električnog pisaćeg stroja (tip CONSUL). Stroj također šalje svoje poruke na bušilicu, alfanumeričku ispisnu jedinicu (ADP) ili vrpcu pisaćeg stroja. Takav stroj je “crna kutija” (točnije “bijeli ormarić”), u koji se neprestano unose informacije i koji isto tako stalno “obavještava” svijet o svom stanju (vidi sliku 1). Osoba tu ima malo utjecaja na rad stroja - može samo pauzirati stroj, promijeniti program i ponovno pokrenuti računalo. Nakon toga, kada su strojevi postali moćniji i mogli opsluživati ​​nekoliko korisnika odjednom, postalo je vječno čekanje korisnika poput: "Poslao sam podatke stroju. Čekam da odgovori. I hoće li uopće odgovoriti?" , blago rečeno dosadno. Osim toga, računalni centri, nakon novina, postali su drugi veliki “proizvođač” starog papira. Stoga je s dolaskom alfanumeričkih zaslona započela era tehnologije koja je uistinu jednostavna za korištenje - naredbenog retka.

    sl.2. Pogled na glavno računalo serije EC

    Tehnologija naredbenog retka. S ovom tehnologijom, tipkovnica je jedini način za unos informacija od osobe do računala, a računalo prikazuje informacije osobi pomoću alfanumeričkog zaslona (monitora). Ova kombinacija (monitor + tipkovnica) postala je nazvana terminal ili konzola. Naredbe se upisuju u naredbeni redak. Naredbeni redak je simbol odzivnika i trepćući pravokutnik - kursor. Kada pritisnete tipku, simboli se pojavljuju na mjestu kursora, a sam kursor se pomiče udesno. Ovo je vrlo slično upisivanju naredbe na pisaćem stroju. No, za razliku od njega, slova se prikazuju na zaslonu, a ne na papiru, a netočno upisani znak može se obrisati. Naredba završava pritiskom na tipku Enter (ili Return), a zatim se pomiče na početak sljedećeg retka. Iz te pozicije računalo na monitoru prikazuje rezultate svog rada. Zatim se postupak ponavlja. Tehnologija naredbenog retka već je radila na jednobojnim alfanumeričkim zaslonima. Budući da je bilo moguće unositi samo slova, brojke i interpunkcijske znakove, tehničke karakteristike zaslona nisu bile značajne. Kao monitor mogao bi poslužiti televizijski prijemnik, pa čak i cijev osciloskopa.

    Obje ove tehnologije implementirane su u obliku naredbenog sučelja - naredbe se daju stroju kao ulaz, a on, takoreći, "odgovara" na njih.

    Tekstualne datoteke postale su dominantna vrsta datoteka pri radu s naredbenim sučeljem - one i samo one mogle su se stvarati pomoću tipkovnice. Vrijeme u kojem je sučelje naredbenog retka bilo najviše korišteno je pojava UNIX operativnog sustava i pojava prvih osmobitnih osobnih računala s višeplatformskim CP/M operativnim sustavom.

    GUI

    Kako i kada se pojavilo grafičko sučelje? Njegova ideja nastala je sredinom 70-ih, kada je koncept vizualnog sučelja razvijen u Xerox Palo Alto Research Center (PARC). Preduvjet za grafičko sučelje bilo je smanjenje vremena reakcije računala na naredbu, povećanje količine RAM-a, kao i razvoj tehničke baze računala. Hardverska osnova koncepta, naravno, bila je pojava alfanumeričkih zaslona na računalima, a ti su zasloni već imali takve efekte kao što su "treperenje" znakova, inverzija boja (promjena obrisa bijelih znakova na crnoj pozadini u obrnuto, odnosno crni znakovi na bijeloj pozadini ), podcrtavanje znakova. Ovi efekti nisu se proširili na cijeli zaslon, već samo na jedan ili više znakova. Sljedeći korak bio je kreiranje prikaza u boji koji bi omogućio prikaz, uz ove efekte, znakova u 16 boja na pozadini s paletom (odnosno skupom boja) od 8 boja. Nakon pojave grafičkih zaslona, ​​s mogućnošću prikazivanja bilo koje grafičke slike u obliku mnoštva točaka na zaslonu različitih boja, mašti u korištenju zaslona više nije bilo granica! Prvi sustav s grafičkim sučeljem, 8010 Star Information System grupe PARC, pojavio se tako četiri mjeseca prije izlaska prvog IBM računala 1981. godine. U početku se vizualno sučelje koristilo samo u programima. Postupno je počeo prelaziti na operativne sustave, koji su se prvo koristili na Atari i Apple Macintosh računalima, a potom i na IBM-kompatibilnim računalima.

    Od ranije, a također pod utjecajem ovih koncepata, postojao je proces objedinjavanja uporabe tipkovnice i miša od strane aplikacijskih programa. Spoj ova dva trenda doveo je do stvaranja korisničkog sučelja s kojim, uz minimalno vrijeme i novac utrošen na prekvalifikaciju osoblja, možete raditi s bilo kojim softverskim proizvodom. Ovaj dio je posvećen opisu ovog sučelja, zajedničkog svim aplikacijama i operativnim sustavima.

    Jednostavan GUI

    U prvoj fazi GUI je bio vrlo sličan tehnologiji naredbenog retka. Razlike u odnosu na tehnologiju naredbenog retka bile su sljedeće:

    1. Kod prikaza znakova bilo je dopušteno istaknuti neke znakove bojom, inverznom slikom, podcrtavanjem i titranjem. Zahvaljujući tome, ekspresivnost slike je povećana.

    2. Ovisno o specifičnoj implementaciji grafičkog sučelja, kursor se može pojaviti ne samo kao treperavi pravokutnik, već i kao područje koje pokriva nekoliko znakova, pa čak i dio zaslona. Ovo odabrano područje razlikuje se od ostalih, neodabranih dijelova (obično bojom).

    3. Pritiskom na tipku Enter ne izvršava se uvijek naredba i prelazi u sljedeći redak. Reakcija na pritisak bilo koje tipke uvelike ovisi o tome gdje se kursor nalazio na ekranu.

    4. Osim tipke Enter, na tipkovnici se sve više koriste “sive” tipke za kontrolu kursora.

    5. Već u ovom izdanju grafičkog sučelja počeli su se koristiti manipulatori (poput miša, trackballa itd. - vidi sl. 3.) Omogućavali su brz odabir željenog dijela ekrana i pomicanje pokazivača. .

    sl.3. Manipulatori

    Ukratko, možemo navesti sljedeće karakteristične značajke ovog sučelja.

    1) Odabir područja zaslona.

    2) Redefiniranje tipki tipkovnice ovisno o kontekstu.

    3) Korištenje manipulatora i sivih tipki tipkovnice za kontrolu kursora.

    4) Raširena uporaba monitora u boji.

    Pojava ove vrste sučelja koincidira sa širokom upotrebom MS-DOS operativnog sustava. Upravo je ona predstavila ovo sučelje masama, zahvaljujući čemu su 80-e obilježene poboljšanjem ove vrste sučelja, poboljšanjem karakteristika prikaza znakova i drugih parametara monitora.

    Tipičan primjer korištenja ove vrste sučelja je ljuska datoteke Nortron Commander (pogledajte ljuske datoteke u nastavku) i uređivač teksta Multi-Edit. A uređivači teksta Lexicon, ChiWriter i program za obradu teksta Microsoft Word for Dos primjeri su kako je ovo sučelje nadmašilo samo sebe.

    WIMP sučelje

    Druga faza u razvoju grafičkog sučelja bilo je "čisto" WIMP sučelje.Ovu podvrstu sučelja karakteriziraju sljedeće karakteristike.

    1. Sav rad s programima, datotekama i dokumentima odvija se u prozorima - određenim dijelovima zaslona omeđenim okvirom.

    2. Svi programi, datoteke, dokumenti, uređaji i drugi objekti prikazani su u obliku ikona. Kada se otvore, ikone se pretvaraju u prozore.

    3. Sve radnje s objektima izvode se pomoću izbornika. Iako se izbornik pojavio u prvoj fazi razvoja grafičkog sučelja, on u njemu nije imao dominantnu ulogu, već je služio samo kao dodatak naredbenom retku. U čistom WIMP sučelju, izbornik postaje glavni kontrolni element.

    4. Opsežna uporaba manipulativa za pokazivanje na objekte. Pokazivački uređaj prestaje biti samo igračka – dodatak tipkovnici, već postaje glavni upravljački element. Koristeći manipulator, POKAZUJU na bilo koje područje ekrana, prozora ili ikone, ODABERU ga i tek onda upravljaju njima kroz izbornik ili koristeći druge tehnologije.

    Treba napomenuti da WIMP zahtijeva rasterski zaslon u boji visoke rezolucije i pokazivački uređaj za njegovu implementaciju. Također, programi orijentirani na ovu vrstu sučelja postavljaju povećane zahtjeve na performanse računala, njegov kapacitet memorije, propusnost sabirnice itd. Međutim, ova vrsta sučelja je najlakša za naučiti i intuitivna. Stoga je sada WIMP sučelje postalo de facto standard.

    Upečatljiv primjer programa s grafičkim sučeljem je operativni sustav Microsoft Windows.

    Govorna tehnologija

    Od sredine 90-ih, nakon pojave jeftinih zvučnih kartica i široke upotrebe tehnologija za prepoznavanje govora, pojavilo se takozvano SILK sučelje "tehnologije govora". Ovom tehnologijom naredbe se daju glasom izgovaranjem posebnih rezerviranih riječi – naredbi. Glavni takvi timovi (prema pravilima Gorynych sustava) su:

    "Opusti se" - isključuje govorno sučelje.

    "Otvori" - prebacuje se na način pozivanja određenog programa. U sljedećoj riječi poziva se naziv programa.

    "Ja ću diktirati" - prebacuje se iz naredbenog načina u način glasovnog pisanja.

    "Naredbeni način" - povratak u način rada glasovnih naredbi.

    I neki drugi.

    Riječi se moraju izgovarati jasno, istim tempom. Potrebna je pauza između riječi. Zbog nerazvijenosti algoritma za prepoznavanje govora, takvi sustavi zahtijevaju individualno prethodno podešavanje za svakog pojedinog korisnika.

    "Speech" tehnologija je najjednostavnija implementacija SILK sučelja.

    1. Informacija sustavi u ekonomiji (30)

      Sažetak >> Ekonomija

      ... informacija 6 1.3. Klasifikacija informacija tehnologije 9 1.5. Faze razvoja informacija sustava... ukupnost hardver fondovi... informativni tehnologije. Primjer takvog kriterija bio bi prilagođen sučelje ... 3.5. Softver objekti...

    2. Informacija tehnologije u menadžmentu (5)

      Sažetak >> Država i pravo

      11 2.1 Softver odredba 15... informacija tehnologije. koncept " informativni tehnologija" može se definirati kao skup softvera- hardver sredstava i sustava... stvaranje i podrška prilagođen sučelja za razne kategorije...

    3. Informacija tehnologije upravljanja (10)

      Predavanje >> Računalstvo

      Tip prilagođen sučelje automatizirano informativni tehnologije se dijele... uredi organiziraju specijalizirane programski-hardver kompleks – ... sustav videokonferencija, e-pošta, itd.); prema globalizaciji informacija tehnologija...

    PREDAVANJE 23-24

    Tema 3.2 Razvoj korisničkih sučelja

    1. Vrste korisničkih sučelja i faze njihovog razvoja.

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

    3. Modeli korisničkog i softverskog sučelja.

    4. Klasifikacije dijaloga i opća načela njihova razvoja.

    5. Osnovne komponente grafičkih korisničkih sučelja.

    6. Implementacija dijaloga u grafičko korisničko sučelje.

    7. Korisnička sučelja za izravnu manipulaciju i njihov dizajn.

    8. Inteligentni elementi korisničkih sučelja.

    U ranim fazama razvoja računalne tehnologije korisničko sučelje se smatralo sredstvom komunikacije između osobe i operacijskog sustava i bilo je prilično primitivno.

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

    1. Vrste korisničkih sučelja i faze njihovog razvoja

    Korisničko sučelje– skup softvera i hardvera koji osigurava interakciju korisnika s računalom. Osnova interakcije– dijalozi.

    Dijalog– regulirana razmjena informacija između osobe i računala, koja se odvija u realnom vremenu i usmjerena je na zajedničko rješavanje određenog problema: razmjena informacija i koordinacija djelovanja. Svaki razgovor sastoji se od zasebnih ulazno/izlaznih procesa koji fizički osiguravaju komunikaciju između korisnika i računala.

    Razmjena informacija odvija se prijenosom poruka i upravljačkih signala.

    Poruka– podatak koji sudjeluje u dijaloškoj razmjeni.

    Vrste poruka:

    Ulazne poruke koje generira osoba pomoću sredstava za unos: tipkovnica, manipulatori (miš i sl.);

    Izlazne poruke koje generira računalo u obliku teksta, zvukova i/ili slika i prikazuju se korisniku na zaslonu monitora ili drugim uređajima za izlaz informacija.

    Korisnik generira poruke poput:

    Zahtjev za informacijama,

    Zahtjev za pomoć,

    Zatražite operaciju ili funkciju,

    Unos ili promjena podataka

    Odabir okvirnog polja.

    Kao odgovor dobiva:

    Savjeti ili pomoć,

    Oblik riječi– dio teksta između dva susjedna razmaka ili interpunkcijskih znakova.

    Morfološka analiza - obrada oblika riječi bez povezivanja s kontekstom.

    Proceduralni - uključuje identificiranje osnove u trenutnom obliku riječi, koja se zatim identificira.

    Nakon prepoznavanja oblika riječi provodi se sintaktička analiza poruke na temelju čijih se rezultata utvrđuje njezina sintaktička struktura, odnosno raščlanjuje se rečenica.

    Sučelje koje implementira fraznu formu dijaloga mora: konvertirati poruke iz forme prirodnog jezika u formu interne reprezentacije i natrag, vršiti analizu i sintezu korisničkih i sistemskih poruka, pratiti i pamtiti završeni dio dijaloga.

    Mane frazni oblik:

    Visoki troškovi resursa;

    Nema jamstva nedvosmislenog tumačenja teksta;

    Potreba za unosom dugih, gramatički ispravnih fraza.

    Dostojanstvo frazni oblik – slobodna komunikacija sa sustavom.

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

    Tim– rečenica ovog jezika koja opisuje kombinirane podatke koji uključuju identifikator procesa koji se pokreće i, po izboru, podatke za njega.

    Naredba se može unijeti:

    Kao redak teksta u posebno dizajniranom formatu (MS DOS naredbe u naredbenom retku);

    Pritiskom na određenu kombinaciju tipki (kombinacije “brzog pristupa” za Windows aplikacije);

    Manipuliranjem mišem ("povlačenje" ikona);

    Kombinacija druge i treće metode.

    Prednosti obrazac direktive:

    Mala količina ulaznih informacija;

    Fleksibilnost – mogućnost odabira operacije ograničena je skupom valjanih naredbi;

    Usredotočite se na dijalog vođen korisnikom;

    Korištenje minimalne površine zaslona ili njegovo nekorištenje uopće;

    Mogućnost kombiniranja s drugim oblicima.

    Mane obrazac direktive:

    Virtualna odsutnost upita na ekranu, što zahtijeva pamćenje unesenih naredbi i njihove sintakse;

    Gotovo potpuni nedostatak povratnih informacija o stanju pokrenutih procesa;

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

    Nedostatak prilagodbe korisnika.

    Obrazac direktive prikladan je za profesionalne korisnike koji obično brzo pamte sintaksu često korištenih naredbi ili kombinacija tipki. Prednosti oblika (fleksibilnost i dobra privremena svojstva) u ovom slučaju posebno dolaze do izražaja.

    Tablični oblik – korisnik odabire odgovor između predloženih od strane programa. Dijaloški jezik ima najjednostavniju sintaksu i nedvosmislenu semantiku, koju je prilično lako implementirati. Obrazac je jednostavan za korištenje jer je odabir uvijek lakši, što je bitno za neprofesionalnog korisnika. Ovaj se obrazac može koristiti ako je skup mogućih odgovora na određeno pitanje konačan. Ako je broj mogućih odgovora velik (više od 20), korištenje tabelarnog oblika možda nije prikladno.

    Prednosti i u tabelarnom obliku:

    Dostupnost savjeta;

    Smanjenje broja pogrešaka pri unosu: korisnik ne unosi informaciju, već pokazuje na nju;

    Smanjeno vrijeme obuke korisnika;

    Mogućnost kombiniranja s drugim oblicima;

    U nekim slučajevima može konfigurirati korisnik.

    Mane tablični oblik:

    Potrebne vještine navigacije zaslonom;

    Korištenje relativno velike površine zaslona za prikaz vizualnih komponenti;

    Intenzivno korištenje računalnih resursa povezano s potrebom za stalnim ažuriranjem informacija na ekranu.

    Vrste i oblici dijaloga biraju se neovisno jedan o drugom: bilo koji oblik primjenjiv je za obje vrste dijaloga.

    Sinkroni- dijalozi koji se javljaju tijekom normalnog rada softvera.

    Asinkroni– dijalozi koji nastaju na inicijativu sustava ili korisnika kada se prekrši uobičajeni scenarij procesa. Koriste se za izdavanje hitnih poruka od sustava ili korisnika.

    Razvoj dijaloga. Faze dizajna i provedbe dijaloga:

    Definiranje 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 korištenih jezika - dizajn specifičnim dijalozima;

    Odabir primarnih i sekundarnih uređaja i projektiranje ulazno/izlaznih procesa za svaki dijalog, kao i pojašnjenje prenesenih poruka - dizajn tehnički dijalozi.

    Osnova apstraktnih dijaloga je ideologija tehnološkog procesa za koji je programski proizvod namijenjen automatizaciji.

    Osim skripti koje koriste dijagrami stanja sučelja ili dijaloški grafikoni.

    Grafikon dijaloga– usmjereni težinski graf čiji je svaki vrh pridružen određenoj slici na ekranu ( okvir) ili određeno stanje dijaloga, karakterizirano skupom 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 luka označavaju uvjete prijelaza iz stanja u stanje i operacije koje se izvode tijekom prijelaza.

    Svaka ruta u grafikonu odgovara mogućoj opciji dijaloga.


    Slika 3 – Grafikoni apstraktnog dijaloga:

    a – dijalog kojim upravlja sustav; b – dijalog kojim upravlja korisnik

    5. Osnovne komponente grafičkih korisničkih sučelja

    Grafička korisnička sučelja podržavaju operacijski sustavi Windows, Apple Macintosh, OS/2 itd. Za takva su sučelja razvijeni setovi standardnih komponenti korisničke interakcije za svaki operativni sustav.

    Sučelja su izgrađena korištenjem WIMP tehnologije: W – Windows (prozori), I – Icons (ikone), M – Mouse (miš), P – Pop-up (skočni ili padajući izbornici). Glavni elementi grafičkih sučelja: prozori, ikone, ulazno/izlazne komponente i miš koji se koristi kao pokazivač i uređaj za izravnu manipulaciju objektima na ekranu.

    Prozor.prozor - pravokutno, obrubljeno područje fizičkog zaslona. Prozor može promijeniti veličinu i mjesto unutar zaslona.

    Glavni prozori (prozori aplikacija);

    Dječji ili podređeni prozori;

    Dijaloški prozori;

    Informacijski prozori;

    Prozori izbornika.

    Prozor aplikacije Windows sadrži: okvir koji omeđuje radno područje prozora, naslovnu traku s gumbom izbornika sustava i gumbima za prikaz i izlaz iz prozora, traku izbornika, izbornik ikona (alatna traka), vodoravne i okomite trake za pomicanje i statusnu traku.

    Dječji prozor Windows se koristi u višedokumentnim programskim sučeljima (MDI). Ovaj prozor ne sadrži izbornik. U retku naslova nalazi se poseban naziv koji identificira dokument ili datoteku povezanu s njim. Ikone svih dječjih prozora su iste.

    Dijaloški prozor Windows se koristi za pregled i postavljanje različitih načina rada, potrebnih parametara ili drugih informacija.

    Naslovna traka s gumbom izbornika sustava;

    Komponente koje korisniku omogućuju unos ili odabir odgovora;

    Pomoćne komponente koje daju savjet (okvir za prikaz ili gumb za pomoć).

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

    Informacijski prozori dvije vrste:

    prozori s porukama;

    Prozori pomoći.

    Prozori s porukama sadrže: naslov s gumbom izbornika sustava, tekst poruke, jedan ili više gumba za reakciju korisnika (Da, Ne, Odustani).

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

    Prozori izbornika Windows se koristi kao otvaranje hijerarhijskih panela izbornika ili kao kontekstni izbornici.

    Svaka linija prozora izbornika može odgovarati:

    Tim;

    Izbornik sljedeće razine, koji je prikazan strelicom;

    Dijaloški prozor, koji je označen s tri točke.

    Dodan pokazatelj tipki prečaca.

    Piktogrami. Ikona je mali prozor s grafičkom slikom koja odražava sadržaj međuspremnika s kojim je povezana.

    Vrste piktograma:

    Softver povezan s relevantnim programom;

    Ikone dječjih prozora koji omogućuju pristup različitim dokumentima;

    Ikone alatne trake dupliciraju pristup odgovarajućim funkcijama putem izbornika, omogućujući brz pristup;

    Ikone objekata za izravnu manipulaciju objektima.

    Izravna manipulacija slikom. Izravna manipulacija slikom – ovo je mogućnost zamjene naredbe za utjecaj na objekt fizičkom akcijom u sučelju, koja se izvodi pomoću miša. U ovom slučaju, bilo koje područje zaslona smatra se odredištem, koje se može aktivirati pomicanjem pokazivača i pritiskom na tipku miša.

    Ovisno o reakciji na udar, razlikuju se vrste primatelja:

    Indikacija i odabir (proširenje ikona, određivanje aktivnog prozora);

    Gumbi na zaslonu i "klizne" barijere (izvođenje ciklički ponavljanih radnji (izvođenje određenih operacija ili crtanje, podrazumijeva se pri aktiviranju određenog područja zaslona - gumb)).

    Dinamički vizualni signal - promjena slike na ekranu (kursor miša pri izvođenju određenih operacija, promjena slike gumba).

    I/O komponente. Sučelja uključuju nekoliko izbornika: glavni ili "padajući" hijerarhijski izbornik, piktografske izbornike (alate) i kontekstne izbornike za različite situacije. Bilo koji od navedenih izbornika je ulazno-izlazna komponenta koja implementira dijalog s korisnikom pomoću tabelarnog oblika.

    Hijerarhijski izbornik se koristi za organiziranje operacija koje izvršava softver, ako njihov broj premašuje one koje preporučuje IBM), te za pružanje korisniku njihovog pregleda. Alatne trake i kontekstni izbornici koriste se za pružanje brzog pristupa često korištenim naredbama, omogućujući korisniku relativno slobodnu navigaciju.

    Ostali oblici I/O:

    izraz,

    tablični,

    Mješoviti.

    6. Implementacija dijaloga u grafičko korisničko sučelje

    Dijalozi obje vrste:

    Korisnički kontrolirani

    Sustav kontroliran.

    Implementacija dijaloga koje kontrolira korisnik. Za implementaciju se koriste različite vrste izbornika:

    Glavni,

    Alatne trake,

    Kontekstualno i na temelju gumba.

    Kao alternativu izborniku, preporučljivo je koristiti direktivni oblik dijaloga, dodjeljivanjem određenih kombinacija tipki glavnim naredbama. Preporučljivo je osigurati mogućnost upravljanja izbornikom pomoću tipkovnice ako korisnik većinu vremena u radu sa sustavom provodi unosom teksta ili podataka, odnosno interakcijom s tipkovnicom.

    Jelovnik. Izbornik je dizajniran na temelju dijaloških dijagrama softvera koji se razvija. Ako broj operacija ne prelazi 5, obično se koriste gumbi. Ako broj operacija nije veći od 9-10, tada je to izbornik s jednom razinom. Ako je broj operacija veći od 10, koristi se "padajući" dvorazinski hijerarhijski izbornik.

    Padajući izbornik. Prva razina hijerarhijskog izbornika treba sadržavati nazive glavnih grupa operacija.

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

    1. stavka Datoteka,

    2. stavka Uredi,

    3. Stavka Pogled,

    Posljednja stavka je Pomoć.

    Broj razina hijerarhijskog izbornika ne smije biti veći od 2-3 (teško za pretraživanje). Broj operacija u prozoru ne smije biti veći od 7-8 operacija.

    Ako broj operacija prelazi 70-80. Predlažu programeri programa Microsoft Word adaptivna hijerarhijski izbornik, gdje se sadržaj prozora izbornika druge razine stalno mijenja, prikazujući samo one operacije koje korisnik koristi. Ako korisnik ne pronađe željenu operaciju, nakon nekoliko sekundi ili pritiskom na poseban gumb, Word prikazuje cijeli prozor izbornika.

    7 Korisnička sučelja za izravnu manipulaciju i njihov dizajn

    Sposobnost izravne manipulacije koju pružaju WIMP sučelja omogućuje razvoj objektno orijentiranih sučelja za izravnu manipulaciju za aplikacije.

    Sučelja koriste direktivni oblik dijaloga: naredba se unosi kada se određene akcije izvode s ikonom objekta pomoću miša. Glavni elementi ovih sučelja su: metafore, objekti, prikazi objekata i tehnologije Drag and Drop.

    Metafore. Metafore- mentalni prijenos svojstava ili karakteristika jednog objekta na drugi, donekle sličan prvom. Korištenje metafora u sučeljima uključuje aktiviranje postojećeg iskustva korisnika.

    Sučelje za izravnu manipulaciju trebalo bi korisniku pružiti okruženje koje sadrži poznate elemente s kojima se korisnik više puta susreo u profesionalnim aktivnostima ili svakodnevnom životu te mu pružiti mogućnost manipulacije pojedinačnim objektima. (Metafora "Bacanje smeća" - za brisanje datoteka).

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

    Preporučljivo je da slike ne budu previše realistične kako ne bi prevarile očekivanja korisnika.

    Metafore i animacija. U implementaciji metafora sve veću ulogu dobiva multimedija, ponajviše animacija. Pomoću animacije možete ne samo zabaviti korisnika, već ga i "pripremiti" za promjenu okvira, smanjujući vrijeme potrebno za prilagodbu promijenjenoj situaciji.

    https://pandia.ru/text/78/247/images/image005_68.gif">Program koji implementira animirana sučelja nikada nije u stanju mirovanja, jer dok čeka da korisnik unese naredbu, nastavlja prikazivati ​​odgovarajuće okvire. Takvi se programi temelje na programiranje vremena. Za razliku od programiranja događaja, koje omogućuje povezivanje slike na ekranu s vanjskim i unutarnjim događajima u sustavu, vremensko programiranje omogućuje promjenu projiciranih slijed okvira ovisno o stanju simuliranih procesa i radnji korisnika.

    Objekti sučelja izravne manipulacije i njihove reprezentacije.

    Tri glavne vrste objekata sučelja za izravnu manipulaciju su:

    Objekti podataka

    Kontejnerski objekti,

    Objekti uređaja.

    Objekti podataka pružiti korisniku informacije (tekstove, slike, proračunske tablice, glazbu, video). Unutar operativnog sustava takvi objekti odgovaraju aplikacijama koje se pokreću kada se objekt otvori.

    Objekti spremnika mogu manipulirati svojim unutarnjim objektima, uključujući druge spremnike (kopirati ih ili sortirati bilo kojim redoslijedom). Tipični spremnici uključuju mape i košare. Kada se spremnik otvori, komponente koje pohranjuje se prikazuju i njima se može manipulirati. Komponente mogu biti označene piktogramima ili prikazane u obliku tablice.

    Objekti uređaja predstavljaju uređaje koji postoje u stvarnom svijetu: telefone, faksove, pisače itd. koriste se za označavanje ovih uređaja u apstraktnom svijetu sučelja. Kada proširite takav objekt, možete vidjeti njegove postavke.

    Svaki objekt 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, na primjer, postavke objekta. Kada se otvori prozor objekta, može sadržavati izbornike i alatne trake. Ikona mora odgovarati kontekstnom izborniku koji sadrži popis operacija na objektu.

    Ime ikone se formira drugačije za svaku vrstu objekta. Ikone podatkovnih objekata dobivaju nazive koji odgovaraju nazivima pohranjenih podataka, a tip podataka je kodiran samom ikonom. Naziv ikone spremnika ili ikone uređaja identificira sam objekt i stoga je neovisan o sadržaju.

    Razlika između vrsta objekata je uvjetna, budući da se isti objekt u različitim situacijama može ponašati kao podatkovni objekt, kao objekt uređaja, kao objekt spremnika (pisač je objekt uređaja, može imati svojstva objekt spremnika može sadržavati objekte podataka u red čekanja za ispis; prikaz u obliku ikone, prozor reda čekanja za ispis, prozor postavki; preporučljivo je navesti naziv prikaza u naslovu prozora objekta).

    TehnologijaOpterećenjeiPad. Osnovni principi izravne 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 neočekivano izgubiti informacije;

    Korisnik bi trebao moći poništiti netočnu radnju.

    Početno označavanje - koristi se kao povratna informacija korisniku da ga obavijesti da je objekt snimljen; u sustavu Windows označavanje se koristi u tu svrhu;

    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 vremena;

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

    Postoje dvije vrste odredišta: jedno prihvaća objekt, a drugo njegovu kopiju (korisnik "baci" dokument u "smeće" - sam dokument se uništava, a ako se pošalje na printer, onda se kopija dokumenta se prenosi).

    Projektiranje sučelja za izravnu manipulaciju. Dizajn se provodi na temelju dijaloških grafova razvijenih za određeni softver i uključuje sljedeće postupke:

    Formiranje skup objekata domene, koji bi trebao biti prikazan na ekranu, au ovom slučaju se kao osnova ne koriste slučajevi uporabe, već konceptualni model predmetnog područja;

    Analiza objekti, definirajući ih vrste I podnesci, kao i popis operacija s tim objektima;

    Pojašnjenje interakcije objekata i konstrukcija matrice izravna manipulacija;

    Definicija vizualni prikazi objekti;

    Razvoj izbornik prozora objekta I kontekstni izbornici;

    Stvaranje prototip sučelje;

    Testiranje za Jednostavnost korištenja.

    8 Inteligentni elementi korisničkog sučelja

    Elementi korisničkog sučelja: Master, Advisor, Agent. Učinjeni su mnogi pokušaji da se stvori socijalizirano korisničko sučelje. Osnova takvog sučelja je ideja o stvaranju personaliziranog sučelja, tj. “osobnog” sučelja. Zabavni programi poput Cats and Dogs, koji implementiraju složeno ponašanje kućnih ljubimaca u različitim situacijama, pokazuju da je to tehnički potpuno rješiv problem.

    savjetnici. Oni su oblik nagovještaja. Može im se pristupiti iz izbornika pomoći, naredbenog retka prozora ili iz skočnog izbornika. Savjetnici pomažu korisnicima u obavljanju određenih zadataka.

    Majstori. Program čarobnjak se koristi za obavljanje uobičajenih zadataka koje rijetko obavlja pojedinačni korisnik (instalacija programa ili hardvera). Izvođenje takvih radnji zahtijeva od korisnika donošenje složenih međusobno povezanih odluka, čiji redoslijed diktira program čarobnjak. Inteligentni čarobnjaci mogu pokazati na svakom koraku u prozoru za gledanje rezultate korisnikovih odgovora na prethodna pitanja, pomažući mu da se snađe u situaciji.

    Čarobnjak implementira scenarij sekvencijalnog ili stablastog dijaloga. Preporučljivo je koristiti ga za rješavanje dobro strukturiranih, sekvencijalnih problema.

    U ovom slučaju potrebno je:

    Pružite korisniku mogućnost povratka na prethodni korak;

    Predvidjeti mogućnost otkazivanja magistarskog rada;

    Numerirajte korake i obavijestite korisnika o broju Master koraka, posebno ako postoji više od tri takva koraka;

    Objasnite svaki korak korisniku;

    Ako je moguće, demonstrirajte rezultate već dovršenih operacija u svakom koraku.

    Softverski agenti. Koristi se za obavljanje rutinskih poslova. Glavne funkcije pomoćnih agenata su: promatranje, potraga, upravljanje. Tamo su:

    agentski programi konfigurirani za izvođenje određenih zadataka;

    agentski programi koji mogu učiti (snimanjem radnji korisnika (poput magnetofona)).

    ^

    Klasifikacija sučelja


    Odnosno, sučelje je skup pravila. Kao i svaka pravila, mogu se generalizirati, sakupiti u "kod" i grupirati prema zajedničkim karakteristikama. Tako smo došli do pojma " vrsta sučelja" kao kombinacija sličnih načina interakcije između ljudi i računala. Možemo predložiti sljedeću shematsku klasifikaciju različitih komunikacijskih sučelja čovjek-računalo.

    ^ Moderne vrste sučelja su:

    1) Komandno sučelje. Naredbeno sučelje naziva se tako jer u ovoj vrsti sučelja osoba daje "naredbe" računalu, a računalo ih izvršava i daje rezultat osobi. Naredbeno sučelje implementirano je u obliku batch tehnologije i tehnologije naredbenog retka.

    2) ^ WIMP - sučelje(Window - prozor, Image - slika, Menu - izbornik, Pointer - pokazivač). Karakteristična značajka ove vrste sučelja je da se dijalog s korisnikom ne vodi pomoću naredbi, već pomoću grafičkih slika - izbornika, prozora i drugih elemenata. Iako se naredbe stroju daju u ovom sučelju, to se radi "neizravno", putem grafičkih slika. Ova vrsta sučelja implementirana je na dvije razine tehnologije: jednostavno grafičko sučelje i "čisto" WIMP sučelje.

    3) ^ SILK - sučelje(Govor - govor, Slika - slika, Jezik - jezik, Znanje - znanje). Ova vrsta sučelja najbliža je uobičajenom, ljudskom obliku komunikacije. U okviru ovog sučelja postoji normalan "razgovor" između osobe i računala. Istovremeno, računalo samo sebi pronalazi naredbe analizirajući ljudski govor i pronalazeći u njemu ključne fraze. Također pretvara rezultat izvršenja naredbe u oblik čitljiv ljudima. Ova vrsta sučelja je najzahtjevnija za hardverske resurse računala, pa se koristi uglavnom u vojne svrhe.

    ^ 1. Javno sučelje - na temelju semantičkih mreža.

    U sljedećim poglavljima naučit ćete više o ovim vrstama sučelja.
    ^

    Serijska tehnologija


    Povijesno se ova vrsta tehnologije pojavila prva. Već je postojao na relejnim strojevima Suesa i Zusea (Njemačka, 1937.).

    Ideja je jednostavna : niz simbola dostavlja se ulazu računala, u kojem je, prema određenim pravilima, naznačen redoslijed programa koji su pokrenuti za izvođenje. Nakon izvršenja sljedećeg programa, pokreće se sljedeći i tako dalje. Stroj, prema određenim pravilima, sam pronalazi naredbe i podatke. Taj slijed može biti npr. bušena papirna traka, snop bušenih kartica ili slijed pritiskanja tipki električnog pisaćeg stroja (tip CONSUL). Stroj također šalje svoje poruke na bušilicu, alfanumeričku ispisnu jedinicu (ADP) ili vrpcu pisaćeg stroja.

    Pojavom alfanumeričkih zaslona započela je era tehnologije koja je uistinu jednostavna za korištenje - naredbenog retka.
    ^

    Tehnologija naredbenog retka.


    S ovom tehnologijom, tipkovnica je jedini način za unos informacija od osobe do računala, a računalo prikazuje informacije osobi pomoću alfanumeričkog zaslona (monitora). Ova kombinacija (monitor + tipkovnica) postala je nazvana terminal ili konzola.

    Naredbe se upisuju u naredbeni redak. Naredbeni redak je simbol odzivnika i trepćući pravokutnik - Kada pritisnete tipku, simboli se pojavljuju na mjestu kursora, a sam kursor se pomiče udesno. Ovo je vrlo slično upisivanju naredbe na pisaćem stroju. No, za razliku od njega, slova se prikazuju na zaslonu, a ne na papiru, a netočno upisani znak može se obrisati. Naredba završava pritiskom na tipku Enter (ili Return), koja zatim prelazi na početak sljedećeg retka. Iz te pozicije računalo na monitoru prikazuje rezultate svog rada. Zatim se postupak ponavlja.

    Tehnologija naredbenog retka već je radila na jednobojnim alfanumeričkim zaslonima. Budući da je bilo moguće unositi samo slova, brojke i interpunkcijske znakove, tehničke karakteristike zaslona nisu bile značajne. Kao monitor mogao bi poslužiti televizijski prijemnik, pa čak i cijev osciloskopa.

    Tekstualne datoteke postale su dominantna vrsta datoteka pri radu s naredbenim sučeljem - one i samo one mogle su se stvarati pomoću tipkovnice.
    ^

    GUI


    Kako i kada se pojavilo grafičko sučelje?

    Njegova ideja nastala je sredinom 70-ih, kada je koncept vizualnog sučelja razvijen u Xerox Palo Alto Research Center (PARC). Preduvjet za grafičko sučelje bilo je smanjenje vremena reakcije računala na naredbu, povećanje količine RAM-a, kao i razvoj tehničke baze računala. Hardverska osnova koncepta, naravno, bila je pojava alfanumeričkih zaslona na računalima, a ti su zasloni već imali takve efekte kao što su "treperenje" znakova, inverzija boja (promjena obrisa bijelih znakova na crnoj pozadini u obrnuto, odnosno crni znakovi na bijeloj pozadini ), podcrtavanje znakova. Ovi efekti nisu se proširili na cijeli zaslon, već samo na jedan ili više znakova.

    Sljedeći korak bio je kreiranje prikaza u boji koji bi omogućio prikaz, uz ove efekte, znakova u 16 boja na pozadini s paletom (odnosno skupom boja) od 8 boja. Nakon pojave grafičkih zaslona, ​​s mogućnošću prikazivanja bilo koje grafičke slike u obliku mnoštva točaka na zaslonu različitih boja, mašti u korištenju zaslona više nije bilo granica! Prvi sustav s grafičkim sučeljem, 8010 Star Information System grupe PARC, pojavio se tako četiri mjeseca prije izlaska prvog IBM računala 1981. godine. U početku se vizualno sučelje koristilo samo u programima. Postupno je počeo prelaziti na operativne sustave koji su se prvo koristili na Atari i Apple Macintosh računalima, a potom i na IBM-kompatibilnim računalima.

    Od ranije, a također pod utjecajem ovih koncepata, postojao je proces objedinjavanja uporabe tipkovnice i miša od strane aplikacijskih programa. Spoj ova dva trenda doveo je do stvaranja korisničkog sučelja s kojim, uz minimalno vrijeme i novac utrošen na prekvalifikaciju osoblja, možete raditi s bilo kojim softverskim proizvodom. Ovaj dio je posvećen opisu ovog sučelja, zajedničkog svim aplikacijama i operativnim sustavima.

    Grafičko korisničko sučelje je tijekom svog razvoja prošlo kroz dvije faze. U nastavku će se raspravljati o evoluciji grafičkog sučelja od 1974. do danas.
    ^

    Jednostavno grafičko sučelje.


    U prvoj fazi GUI je bio vrlo sličan tehnologiji naredbenog retka. Razlike u odnosu na tehnologiju naredbenog retka bile su sljedeće.

    A) Kod prikaza znakova bilo je moguće istaknuti neke znakove bojom, inverznom slikom, podcrtavanjem i titranjem. Zahvaljujući tome, ekspresivnost slike je povećana.

    B) Ovisno o specifičnoj implementaciji grafičkog sučelja, pokazivač može biti predstavljen ne samo treperavim pravokutnikom, već i nekim područjem koje pokriva nekoliko znakova, pa čak i dio zaslona. Ovo odabrano područje razlikuje se od ostalih, neodabranih dijelova (obično bojom).

    C) Pritiskom na tipku Enter ne izvršava se uvijek naredba i prelazi u sljedeći redak. Reakcija na pritisak bilo koje tipke uvelike ovisi o tome gdje se kursor nalazio na ekranu.

    D) Osim tipke Enter, sive kursorske tipke postale su sve češće na tipkovnici (pogledajte odjeljak o tipkovnici u 3. izdanju ove serije.)

    E) Već u ovom izdanju grafičkog sučelja počeli su se koristiti manipulatori (poput miša, trackballa itd. - vidi sliku A.4.) Omogućavali su brzi odabir željenog dijela ekrana i pomicanje kursor.

    Riža. A.4. Manipulatori

    Ukratko, možemo navesti sljedeće karakteristične značajke ovog sučelja.

    1) Odabir područja zaslona.

    2) Redefiniranje tipki tipkovnice ovisno o kontekstu.

    3) Korištenje manipulatora i sivih tipki tipkovnice za kontrolu kursora.

    4) Raširena uporaba monitora u boji.

    Pojava ove vrste sučelja koincidira sa širokom upotrebom MS-DOS operativnog sustava. Upravo je ona predstavila ovo sučelje masama, zahvaljujući čemu su 80-e obilježene poboljšanjem ove vrste sučelja, poboljšanjem karakteristika prikaza znakova i drugih parametara monitora.

    Tipičan primjer korištenja ove vrste sučelja je ljuska datoteke Nortron Commander (pogledajte ljuske datoteke u nastavku) i uređivač teksta Multi-Edit. A uređivači teksta Lexicon, ChiWriter i program za obradu teksta Microsoft Word for Dos primjeri su kako je ovo sučelje nadmašilo samo sebe.