Vartotojo sąsajų tipai. Informacinių technologijų plėtra

Operatoriaus sąveika su kompiuteriu yra svarbi skaičiavimo proceso dalis sprendžiant įvairias taikomąsias problemas – tiek mokslines, tiek pramonines. Programų kūrimas rinkos santykių organizavimo srityje kuriant informacines svetaines įvairioms organizacijoms ir įmonėms, kuriant gamybos procesų valdymo, gaminių ir jų pardavimo apskaitos, kokybės valdymo programas ir net atliekant tokią užduotį kaip el. sekretorė, būtina sukurti patogią sąveiką su kompiuteriu.

Dizainas- kartotinis procesas, kurio metu PS reikalavimai paverčiami inžineriniais PS vaizdais. Paprastai projektuojant yra du etapai: preliminarus projektas ir detalus projektavimas. Preliminarus projektas formuoja architektūrinio lygio abstrakcijas, detalusis projektas šias abstrakcijas išgrynina. Be to, daugeliu atvejų išskiriamas sąsajos dizainas, kurio tikslas – suformuoti grafinę vartotojo sąsają (GUI). Projektavimo proceso informacinių nuorodų schema parodyta fig.

Sąsajos apibrėžimas.

Apskritai, sąsaja (sąsaja) – tai loginių ir fizinių kompiuterinės sistemos (CS) techninių priemonių komponentų sąveikos principų rinkinys, t.y. algoritmų ir laikinų susitarimų dėl duomenų mainų tarp CS komponentų taisyklių rinkinys (loginis). sąsaja), taip pat fizinių, mechaninių ir funkcinių ryšio priemonių charakteristikų rinkinys, įgyvendinantis tokią sąveiką (fizinė sąsaja).

Sąsaja dažnai vadinami techniniais ir programiniais įrankiais, įgyvendinančiais įrenginių ir orlaivio mazgų sąsają.

Sąsaja apima visas logines ir fizines skaičiavimo sistemos sąveikos su išorine aplinka priemones, pavyzdžiui, su operacine sistema, su operatoriumi ir kt.

Sąsajos tipai

Sąsajos išsiskiria tokiomis charakteristikomis kaip jungčių struktūra, duomenų sujungimo ir perdavimo būdas, valdymo ir sinchronizavimo principai.

    Įrenginio sąsaja - ryšio sistema ir priemonės, skirtos kompiuterio mazgams ir blokams sujungti vienas su kitu. In-machine sąsaja – tai elektros ryšio linijų (laidų), sąsajos grandinių su kompiuterio komponentais, signalų perdavimo ir konvertavimo protokolų (algoritmų) rinkinys.

Yra dvi organizavimo mašinos sąsajoje parinktys:

Kelių jungčių sąsaja, kurioje kiekvienas kompiuterio blokas yra prijungtas prie kitų įrenginių vietiniais laidais;

Vieno ryšio sąsaja, kai visi kompiuterio įrenginiai yra sujungti vienas su kitu per bendrą arba sistemos magistralę.

2. Išorinė sąsaja - sisteminio bloko ryšio su kompiuterio periferiniais įrenginiais arba su kitais kompiuteriais sistema

Čia taip pat galite išskirti keletą išorinių sąsajų tipų:

Per I/O magistrales (ISA, EISA, VLB, PCI, AGP, USB IEEE 1384 SCSI ir kt.) prijungtų išorinių įrenginių sąsaja;

Tinklo sąsaja, pvz., lygiavertis arba kliento-serverio tinklas su žvaigždutėmis, žiedais arba magistralės topologijomis.

3. Žmogaus ir mašinos sąsaja arba žmogaus ir kompiuterio sąsaja arba vartotojo sąsaja - tai yra būdas, kuriuo jūs atliekate užduotį naudodami bet kokias priemones (bet kokia programa), ty veiksmus, kuriuos atliekate ir ką gaunate mainais.

Sąsaja yra orientuota į žmogų, jei ji atitinka asmens poreikius ir atsižvelgia į jo silpnybes.

Mašinos sąsaja - mašinoje įdiegtos sąsajos dalis (jos aparatinė ir programinė dalis), naudojant kompiuterinių technologijų galimybes.

Žmogiškoji sąsajos dalis – tai sąsajos dalis, kurią įgyvendina žmogus, atsižvelgdamas į jo galimybes, silpnybes, įpročius, mokymosi gebėjimus ir kitus veiksnius.

Dažniausiai pasitaikančios sąsajos yra apibrėžtos nacionaliniais ir tarptautiniais standartais.

Toliau bus atsižvelgta tik į vartotojo sąsają.

Vartotojo sąsajų klasifikacija

Kaip minėta aukščiau, sąsaja visų pirma yra taisyklių rinkinys, kurį galima derinti pagal žmogaus sąveikos su kompiuteriu būdų panašumą.

Yra trijų tipų vartotojo sąsajos: komandų, WIMP ir SILK – sąsajos.

Išvardytų sąsajų sąveika su operacinėmis sistemomis ir technologijomis parodyta 1 pav.

Ryžiai. 1. Jų technologijų ir operacinių sistemų vartotojo sąsajų sąveika.

1. Komandų sąsaja, kuriame žmogaus sąveika su kompiuteriu vykdoma duodant kompiuteriui komandas, kurias jis vykdo ir duoda rezultatą vartotojui. Komandų sąsaja gali būti įdiegta kaip paketinė technologija ir komandų eilutės technologija. Šiuo metu paketinė technologija praktiškai nenaudojama, o komandinės eilutės technologiją galima rasti kaip atsarginį žmogaus ir kompiuterio bendravimo būdą.

Paketų technologija.

Istoriškai šios technologijos pirmiausia atsirado K. Zuse, G. Aikino elektromechaniniuose kompiuteriuose, o vėliau elektroniniuose Eckerto ir Mouchli kompiuteriuose, buitiniuose Lebedevo, Brusentsovo kompiuteriuose, IBM-360 kompiuteryje, EB kompiuteris ir pan. Jo idėja yra paprasta ir susideda iš to, kad kompiuterio įvestis yra programų seka, prikimšta, pavyzdžiui, perforuotose kortelėse, ir simbolių seka, kuri nustato šių programų vykdymo tvarką. Vyras čia turi mažai įtakos mašinos darbui. Jis gali tik sustabdyti mašinos veikimą, pakeisti programą ir vėl paleisti kompiuterį.

komandinės eilutės technologija.

Taikant šią technologiją, klaviatūra naudojama kaip būdas operatoriaus įvesti informaciją į kompiuterį, o kompiuteris informaciją asmeniui rodo naudodamas raidinį ir skaitmeninį ekraną (monitorių). Monitoriaus ir klaviatūros derinys tapo žinomas kaip terminalas arba konsolė. Komandos įvedamos komandinėje eilutėje, kuri yra kvietimo simbolis ir mirksintis žymeklis, o įvestus simbolius galima ištrinti ir redaguoti. Paspaudus klavišą Enter, kompiuteris priima komandą ir pradeda ją vykdyti. Perėjus į kitos eilutės pradžią, kompiuteris monitoriuje rodo savo darbo rezultatus. Dažniausiai komandų sąsaja buvo MS DOS operacinėje sistemoje.

2. OOMU (langas, vaizdas, meniu, rodyklė)WIMP (langas, vaizdas, Meniu, rodyklė) – sąsaja. Būdingas šios sąsajos bruožas yra tai, kad vartotojo dialogas su kompiuteriu vyksta ne komandų eilute, o naudojant langus, meniu piktogramas, žymeklį ir kitus elementus. Nors šioje sąsajoje mašinai suteikiamos komandos, tai atliekama naudojant grafinius vaizdus.

Grafinės sąsajos idėja kilo aštuntojo dešimtmečio viduryje Xerox Palo Alto tyrimų centre (PARC). Būtina grafinės sąsajos sąlyga buvo sutrumpėjęs kompiuterio reakcijos į komandą laikas, padidintas RAM kiekis, taip pat išplėtota elementų bazė, techninės kompiuterių ir ypač monitorių charakteristikos. Atsiradus grafiniams ekranams su galimybe rodyti bet kokius įvairių spalvų grafinius vaizdus, ​​grafinė sąsaja tapo neatsiejama visų kompiuterių dalimi. Palaipsniui vyko klaviatūros ir pelės naudojimo suvienodinimas naudojant taikomąsias programas. Šių dviejų tendencijų susiliejimas paskatino sukurti tokią vartotojo sąsają, kurios pagalba su minimaliu personalo perkvalifikavimo laiku ir sąnaudomis galite dirbti su bet kokia programine įranga.

Šio tipo sąsaja įgyvendinama dviem lygiais:

Paprasta grafinė sąsaja;

Pilna WINP sąsaja.

Paprasta GUI , kuri pirmajame etape buvo labai panaši į komandinės eilutės technologiją su šiais skirtumais:

Rodant simbolius, siekiant padidinti vaizdo išraiškingumą, kai kuriuos simbolius buvo leidžiama paryškinti spalva, atvirkštiniu vaizdu, pabraukimu ir mirgėjimu;

Žymeklis gali būti pavaizduotas tam tikra spalva paryškinta zona, apimančia kelis simbolius ir net dalį ekrano;

Reakcija į bet kurio klavišo paspaudimą iš esmės priklauso nuo to, kurioje dalyje yra žymeklis.

Be dažnai naudojamų žymeklio klavišų, pradėti naudoti manipuliatoriai, tokie kaip pelė, rutulinis rutulys ir kt., kurie leido greitai pasirinkti norimą ekrano sritį ir perkelti žymeklį;

Plačiai paplitęs spalvotų monitorių naudojimas.

Paprastos grafinės sąsajos atsiradimas sutampa su plačiu MS DOS operacinės sistemos naudojimu. Tipiškas jo naudojimo pavyzdys yra „Norton Commander“ failų apvalkalas ir teksto rengyklės „MaltiEdit“, „ChiWriter“, „Microsoft Word for DOS“, „Lexicon“ ir kt.

Pilnas WIMP - sąsaja , buvo antrasis grafinės sąsajos, kuriai būdingos šios savybės, kūrimo etapas:

Visas darbas su programomis, failais ir dokumentais vyksta languose;

Programos, failai, dokumentai, įrenginiai ir kiti objektai vaizduojami kaip piktogramos (piktogramos), kurias atidarius virsta langais;

Visi veiksmai su objektais atliekami naudojant meniu, kuris tampa pagrindiniu valdymo elementu;

Manipuliatorius veikia kaip pagrindinė valdymo priemonė.

Pažymėtina, kad WIMP sąsajai įdiegti reikia didesnio kompiuterio našumo, jo atminties kiekio, aukštos kokybės rastrinio spalvoto programinės įrangos, orientuotos į tokio tipo sąsają, ekrano. Šiuo metu WIMP sąsaja tapo de facto standartu, o Microsoft Windows operacinė sistema tapo ryškia jos atstove.

3. ROYAZ (kalba, vaizdas, kalba, žinios)ŠILKAS (kalba, vaizdas, kalba, žinių) – sąsaja.Ši sąsaja yra artimiausia įprastai žmonių bendravimo formai. Šioje sąsajoje vyksta įprastas pokalbis tarp žmogaus ir kompiuterio. Tuo pačiu metu kompiuteris randa komandas sau, analizuodamas žmogaus kalbą ir joje surasdamas pagrindines frazes. Ji taip pat paverčia komandų vykdymo rezultatus į žmogui suprantamą formą. Šio tipo sąsaja reikalauja didelių techninės įrangos sąnaudų, todėl ji yra kuriama ir tobulinama ir šiuo metu naudojama tik kariniams tikslams.

SILK sąsaja, skirta žmogaus ir mašinos komunikacijai:

kalbos technologija;

Biometrinė technologija (mimikos sąsaja);

Semantinė (viešoji) sąsaja.

Kalbėjimo technologija pasirodė 90-ųjų viduryje, pradėjus naudoti nebrangias garso plokštes ir plačiai panaudojus kalbos atpažinimo technologijas. Taikant šią technologiją, komandos duodamos balsu, tariant specialius standartinius žodžius (komandas), kurie turi būti tariami aiškiai, tuo pačiu tempu su privalomomis pauzėmis tarp žodžių. Atsižvelgiant į tai, kad kalbos atpažinimo algoritmai nėra pakankamai išvystyti, reikalinga individuali išankstinė kompiuterinės sistemos konfigūracija konkrečiam vartotojui. Tai paprasčiausias SILK sąsajos įgyvendinimas.

Biometrinė technologija („Mimic Interface“) atsirado 1990-ųjų pabaigoje ir šiuo metu kuriama. Kompiuteriui valdyti naudojama veido išraiška, žvilgsnio kryptis, vyzdžio dydis ir kiti žmogaus požymiai. Vartotojo tapatybei nustatyti naudojamas jo akių rainelės raštas, pirštų atspaudai ir kita unikali informacija, kuri nuskaitoma iš skaitmeninio fotoaparato, o tada iš šio vaizdo, naudojant modelio atpažinimo programą, išgaunamos komandos.

Semantinė (viešoji) sąsaja atsirado XX amžiaus aštuntojo dešimtmečio pabaigoje, tobulėjant dirbtiniam intelektui. Vargu ar tai gali būti vadinama nepriklausomu sąsajos tipu, nes ji apima komandų eilutės sąsają ir grafines, kalbos ir mimikos sąsajas. Pagrindinis jo bruožas yra komandų nebuvimas bendraujant su kompiuteriu. Prašymas formuojamas natūralia kalba, susieto teksto ir vaizdų forma. Tiesą sakant, tai yra žmogaus sąveikos su kompiuteriu modeliavimas. Šiuo metu naudojamas kariniams tikslams. Tokia sąsaja yra būtina oro kovos aplinkoje.

„Perdavimo mechanizmas“ – pamokos rezultatas. Technologijos 3 klasė. Įvairių techninių modelių su mechanizmo pavara projektavimo mokymai. Kryžminė pavara – kai ratai sukasi skirtingomis kryptimis. Pavarų tipai: 1 - diržas; 2 - grandinė; 3 - pavara. Gaminiai su pavara: konvejeris, kranas, malūnas. Pagrindinė malūno konstrukcijos dalis yra perdavimo mechanizmas.

„Kompiuterio sąsajos“ – vartotojo sąsaja. Programinė įranga. Paslaugų programos. Asmeninis kompiuteris kaip sistema. teikia kompiuterio operacinė sistema. Nurodykite įvestis ir išvestis. aparatinės įrangos sąsaja. Aparatinės ir programinės įrangos sąsaja. Operacinė sistema. Tekstiniai failai. Sisteminės programos. Aparatinės ir programinės įrangos sąsaja – kompiuterio techninės ir programinės įrangos sąveika.

„Technologijos klasėje“ – Organizavimo formos gali būti įvairios: pamoka, grupė, individuali, porinė. Aktyvius ir interaktyvius metodus taikau nuo 5 iki 11 klasės. Technologijų rūšys: Į studentą orientuoto mokymosi technologija. Raidos mokymosi technologija. Į studentą orientuoto mokymosi technologija Projektinių tyrimų technologija.

„Edukacinės technologijos mokykloje“ – Neišspręstų problemų laboratorija. Ugdymo įstaigų ir mokytojų kūrybinių projektų metodinė pagalba. Žaidimų technologijos. IKT naudojimo ugdymo procese rodiklio augimas. Pažangios pedagoginės patirties sklaida. Sumažinti kartotuvų skaičių. Mokytojų įgūdžių augimas, įtaka pamokos kokybei.

„Technologijos 6 – 7 – 8 klasė“ – Kaip matuojama elektros energija? Kokie matmenys nustato peties gaminio dydį? Kas, pasak populiarių idėjų, reiškė viso gyvenimo pradžią? Kuri dalis varo visas darbines siuvimo mašinos dalis? Žaliava Pelenės vežimui gaminti. Kokia yra adatos ašmenų griovelių funkcija?

"Technologijos sekcijos" - Ir mes turime iš puikių karoliukų - Neįprasto grožio. Tema – Technologijos. Patchwork jau seniai žinomas daugeliui tautų. Valstybinės šventės ir ritualai, tautiniai drabužiai. Kalbama apie skirtingų tautų tradicijas, valstybines šventes ir ritualus. Iškepus spurgas šiek tiek atvėsinkite, įtrinkite išspaustu česnaku.

  • OOP
  • Praėjusį pirmadienį man pasisekė gauti interviu su vyresniuoju .Net kūrėju tarptautinėje įmonėje. Pokalbio metu man buvo pasiūlyta atlikti testą, kuriame buvo daug klausimų, susijusių su .Net. Visų pirma, viename iš klausimų reikėjo įvertinti (teisinga / klaidinga) daugybę teiginių, tarp kurių buvo šie:

    .Net bet koks elementų masyvas, pvz., int, pagal numatytuosius nustatymus įgyvendina IList, todėl jį galima naudoti kaip rinkinį foreach sakinyje.

    Greitai atsakant į šį klausimą neigiamai ir atskirai pridedant paraštes. kad foreach reikia įdiegti ne IList, o IEnumerable, perėjau prie kito klausimo. Tačiau pakeliui namo mane kankino klausimas: ar masyvas vis dar įgyvendina šią sąsają, ar ne?

    Apie IList miglotai prisiminiau, kad ši sąsaja suteikia man IEnumerable, indeksavimo priemonę ir ypatybę Count, kurioje yra kolekcijos elementų skaičius, taip pat pora retai naudojamų ypatybių, pvz., IsFixedCollection (). Masyvo dydžiui būdinga ypatybė Length, o IEnumerable's Count yra LINQ išplėtimo metodas, kuris nebūtų įmanomas, jei šis metodas būtų įdiegtas klasėje. Taigi paaiškėjo, kad masyvas negalėjo įdiegti IList sąsajos, tačiau mane persekiojo kažkoks neaiškus jausmas. Todėl vakare po interviu nusprendžiau šiek tiek patyrinėti.

    System.Masyvo klasė

    Kadangi neturėjau įdiegto Reflector.Net, tiesiog parašiau trumpą C# programą, kad išsiaiškinčiau, kokias sąsajas įgyvendina sveikųjų skaičių masyvas.

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

    Čia yra visas gautų sąsajų sąrašas iš konsolės lango:

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

    Šiuo būdu, .Net masyvas vis dar įgyvendina IList sąsają ir jos bendrąją versiją IList<> .

    Norėdami gauti išsamesnės informacijos, sukūriau System.Array klasės diagramą.

    Mano klaida iškart krito į akis: Count buvo ne IList, o ICollection, ankstesnės paveldėjimo grandinės sąsajos, nuosavybė. Tačiau pats masyvas nebeturėjo tokios savybės, kaip ir daugelis kitų IList sąsajos savybių, nors kitos tos sąsajos savybės IsFixedSize ir IsReadOnly buvo įgyvendintos. Kaip tai netgi įmanoma?

    Viskas iš karto stoja į savo vietas, kai prisimenate, kad C # galite įdiegti sąsajas ne tik
    netiesiogiai (netiesiogiai), bet ir eksplicitiškai (eksplicitiškai). Apie tokią galimybę žinojau iš vadovėlių, kur buvo pateiktas tokio įgyvendinimo pavyzdys byloje. kai bazinėje klasėje jau yra metodas tokiu pačiu pavadinimu kaip ir sąsajos metodas. Šią galimybę taip pat mačiau „ReSharper“. Tačiau iki šiol nesu tiesiogiai susidūręs su būtinybe aiškiai įdiegti sąsajas savo projektuose.

    Išskirtinio ir numanomo sąsajų diegimo palyginimas

    Palyginkime šiuos du sąsajos diegimo tipus:
    Kriterijai
    Netiesioginis įgyvendinimas
    Aiškus įgyvendinimas
    Pagrindinė sintaksė
    sąsaja ITest ( void DoTest(); ) viešoji klasė ImplicitTest: ITest ( public void DoTest() ( ) )
    sąsaja ITest ( void DoTest(); ) viešoji klasė ExplicitTest: ITest ( void ITest.DoTest() ( ) )
    Matomumas
    Netiesioginis diegimas visada buvo viešas, todėl metodus ir savybes galima pasiekti tiesiogiai.
    var imp = new ImplicitTest(); imp.DoTest();
    Aiškus įgyvendinimas visada yra privatus.
    Norėdami pasiekti diegimą, turite perduoti klasės egzempliorių į sąsają (iš viršaus į sąsają).
    varexp = new ExplicitTest(); ((ITest)exp).DoTest();
    Polimorfija
    Netiesioginis sąsajos įgyvendinimas gali būti virtualus (virtualus), kuris leidžia perrašyti šį įgyvendinimą į palikuonių klases.
    Aiškus įgyvendinimas visada yra statinis. Ji negali būti nepaisoma ar nepaisoma (nauja) palikuonių klasėse. Pastaba. vienas
    Abstrakti klasė ir įgyvendinimas
    Netiesioginis įgyvendinimas gali būti abstraktus ir įgyvendintas tik palikuonių klasėje.
    Aiškus įgyvendinimas negali būti abstraktus, tačiau pati klasė gali turėti kitų abstrakčių metodų ir pati būti abstrakti. Pastaba. 2

    Pastabos:
    Pastaba. 1 – Kaip teisingai pažymėta komentaruose, įgyvendinimas gali būti nepaisomas, kai sąsaja iš naujo tiesiogiai įdiegiama palikuonių klasėje (žr. pirmąjį straipsnio komentarą).

    Pastaba. 2 – Viename iš tinklaraščių rašoma, kad pati klasė negali būti abstrakti. Galbūt tai buvo tiesa kai kurioms ankstesnėms kompiliatoriaus versijoms; savo eksperimentuose galėjau be jokių problemų įdiegti sąsają aiškiai abstrakčioje klasėje.

    Kodėl būtinas aiškus sąsajų diegimas

    Aiškus sąsajos įgyvendinimas pagal MSDN reikalingas, kai kelios klasės įdiegtos sąsajos turi metodą su tuo pačiu parašu. Ši problema angliškai kalbančiame pasaulyje paprastai žinoma šiurpiu pavadinimu „mirtinas mirties deimantas“, kuris į rusų kalbą išverstas kaip „deimantų problema“. Štai tokios situacijos pavyzdys:

    /* 1 sąrašas */ sąsaja IJogger ( void Run(); ) sąsaja ISkier ( void Run(); ) viešoji klasė Sportininkas: ISkier, IJogger ( public void Run() ( Console.WriteLine("Ar aš esu sportininkas, slidininkas ar Bėgiotojas?");))

    Beje, šis pavyzdys yra teisingas kodas C#, tai yra, jis (teisingai) kompiliuoja ir paleidžia, o Run() metodas yra ir pačios klasės metodas, ir net dviejų sąsajų įgyvendinimas. Taigi galime turėti vieną įgyvendinimą skirtingoms sąsajoms ir pačiai klasei. Tai galite patikrinti naudodami šį kodą:

    /* 2 sąrašas */ var sp = new Athlete(); sp.Run(); (sp kaip ISkier).Paleisti (); (sp kaip IJogger).Paleisti ();

    Šio kodo vykdymo rezultatas bus "Ar aš sportininkas, slidininkas ar bėgikas?", tris kartus atspausdintas prie konsolės.

    Čia galime naudoti aiškų sąsajos įgyvendinimą, kad atskirtume visus tris atvejus:

    /* 3 sąrašas */ public class Sportsman ( public virtual void Run() ( Console.WriteLine("Aš esu sportininkas"); ) ) public class Sportininkas: Sportininkas, ISkier, IJogger ( public override void Run() ( Console. WriteLine("Aš esu atletas"); ) void ISkier.Run() ( Console.WriteLine("Aš esu slidininkas"); ) void IJogger.Run() ( Console.WriteLine("Aš esu bėgikas"); ) )

    Šiuo atveju, vykdydami kodą iš 2 sąrašo, konsolėje pamatysime tris eilutes, "Aš esu sportininkas", "Aš esu slidininkas" ir "Aš esu bėgikas".

    Įvairių sąsajų diegimo privalumai ir trūkumai

    Įgyvendinimo matomumas ir atrankinis įgyvendinimas
    Kaip jau buvo parodyta aukščiau, numanomas įgyvendinimas sintaksiškai nesiskiria nuo įprasto klasės metodo (be to, jei šis metodas jau buvo apibrėžtas protėvių klasėje, tada šioje sintaksėje metodas bus paslėptas vaikelyje ir kodas bus sukompiliuotas be problemų c kompiliatorius įspėja apie metodo slėpimą.). Be to, galima pasirinktinai įgyvendinti atskirus vienos sąsajos metodus tiek tiesiogiai, tiek netiesiogiai:

    /* Listing 4 */ public class Code ( public void Run() ( Console.WriteLine("Aš esu klasės metodas"); ) ) sąsaja ICommand ( void Run(); void Execute(); ) viešoji klasė CodeCommand: Code , ICommand ( // numanomo sąsajos metodo įgyvendinimas // => viešas įgyvendinimas // numanomas bazinės klasės metodo slėpimas (įspėjimas čia) public void Run() ( base.Run(); ) // aiškios sąsajos metodo įgyvendinimas // => privatus įgyvendinimas negalioja ICommand.Execute() () )

    Tai leidžia naudoti atskirų sąsajos metodų įgyvendinimą kaip vietinius klasės metodus ir jie pasiekiami, pavyzdžiui, per „IntelliSense“, priešingai nei aiškiai įgyvendinant metodus, kurie yra privatūs ir matomi tik perdavus į atitinkamą sąsają.

    Kita vertus, privataus metodų diegimo galimybė leidžia paslėpti daugybę sąsajos metodų, tuo pačiu tai visiškai įgyvendinant. Grįžtant prie mūsų pirmojo pavyzdžio su masyvais .Net, matote, kad masyvas slepia, pavyzdžiui, ICollection sąsajos savybės Count įgyvendinimą, pateikdamas šią ypatybę pavadinimu Ilgis (tikriausiai bandoma išlaikyti suderinamumą su C++ STL ir Java). Taigi galime paslėpti atskirus įdiegtos sąsajos metodus, o neslėpti (=paviešinti) kitų.

    Tačiau čia yra tokia problema, kad daugeliu atvejų visiškai neįmanoma atspėti, kurios sąsajos yra netiesiogiai įdiegtos klasėje, nes nei šių sąsajų metodai, nei savybės nėra matomi IntelliSense (pavyzdys su System.Array yra čia taip pat orientacinis). Vienintelis būdas nustatyti tokius įgyvendinimus yra naudoti atspindį, pvz., naudojant objektų naršyklę Visual Studio.

    Sąsajos pertvarkymas
    Kadangi numanomas (viešas) sąsajos įgyvendinimas nesiskiria nuo klasės viešo metodo įgyvendinimo, sąsajos pertvarkymo ir bet kokio viešo metodo pašalinimo iš jos atveju (pavyzdžiui, derinant Run() ir Execute () metodus iš aukščiau pateiktos ICommand sąsajos į vieną paleidimą( )) visuose numanomuose diegimuose bus metodas su vieša prieiga, kuris, greičiausiai, turės būti palaikomas net po pertvarkymo, nes šis viešasis metodas jau gali turėti kitokį priklausomybės nuo kitų sistemos komponentų. Dėl to bus pažeistas programavimo „prieš sąsajas, o ne įgyvendinimus“ principas, nes priklausomybės jau bus tarp konkrečių (ir skirtingose ​​klasėse, žinoma, skirtingų) buvusio sąsajos metodo diegimų.

    /* 5 sąrašas */ sąsaja IFingers ( void Thumb(); void IndexFinger(); // pasenęs sąsajos metodas // void MiddleFinger(); ) viešoji klasė HumanPalm: IFingers ( public void Thumb() () public void IndexFinger( ) () // čia yra "kabantis" viešasis metodas public void MiddleFinger() () ) public class AntropoidHand: IFingers ( void IFingers.Thumb() () void IFingers.IndexFinger() () // čia kompiliatoriaus klaida void IFpirstai.Vidurinis pirštas() () )

    Privataus sąsajų diegimo atveju visos klasės, kuriose aiškiai įdiegtas nebeegzistuojantis metodas, tiesiog nustos kompiliuoti, tačiau pašalinus nereikalingą įgyvendinimą (arba pakeitus jį į naują metodą) neturi „papildomo“ viešo metodo, nesusieto su jokia sąsaja. Žinoma, gali prireikti pertvarkyti priklausomybes nuo pačios sąsajos, tačiau bent jau čia nebus pažeistas principas „programa į sąsajas, o ne diegimai“.

    Kalbant apie ypatybes, netiesiogiai įdiegtos sąsajos ypatybės (ypatybės) leidžia jas pasiekti naudojant prieigos metodus (getter ir setter) tiek iš išorės, tiek tiesiai iš pačios klasės, o tai gali sukelti nereikalingų padarinių (pavyzdžiui, nereikalingas duomenų tikrinimas inicijavimo savybės).

    /* 6 sąrašas */ sąsaja IProperty ( int Amount ( gauti; set; ) ) public class ClassWithProperty: IProperty ( // implicit implementation, public public int Amount ( get; set; ) public ClassWithProperty() ( // vidinis iškvietimas public setter Amount = 1000; ) ) public class ClassWithExplicitProperty: IProperty ( // aiškus įgyvendinimas, privatus int IProperty.Amount ( get; set; ) public ClassWithExplicitProperty() ( // vidinis iškvietimas neįmanomas // kompiliatoriaus klaida čia Suma = 1000 ;) )

    Aiškiai įdiegus sąsajos ypatybes, šios ypatybės išlieka privačios, o norėdami pasiekti, turite nueiti „ilgą“ kelią ir paskelbti papildomą privatų lauką, per kurį inicijuojama. Dėl to kodas švaresnis, kai nuosavybės priedai naudojami tik išorinei prieigai.

    Naudojant aiškų vietinių kintamųjų ir klasių laukų įvedimą
    Aiškiai diegiant sąsajas, turime aiškiai nurodyti, kad dirbame ne su klasės, o su sąsajos egzemplioriumi. Taigi, pavyzdžiui, tampa neįmanoma naudoti tipo išvados ir deklaruoti vietinius kintamuosius C# naudojant raktinį žodį var. Vietoj to, deklaruodami vietinius kintamuosius, taip pat metodų parašuose ir klasės laukuose, turime naudoti aiškią sąsajos tipo deklaraciją.

    Taigi, viena vertus, kodą padarome šiek tiek mažiau lankstesnį (pavyzdžiui, pagal numatytuosius nustatymus „ReSharper“ visada siūlo naudoti deklaraciją su var, jei įmanoma), tačiau išvengiame galimų problemų, susijusių su susiejimu su konkrečiu diegimu, kai sistema auga. ir jo garsumo kodas. Šis punktas daugeliui gali pasirodyti prieštaringas, tačiau tuo atveju, kai prie projekto dirba keli žmonės ir net skirtingose ​​pasaulio vietose, aiškus spausdinimas gali būti labai naudingas, nes padidina kodo skaitomumą ir sumažina jo parama.

    23-24 PASKAITA

    3.2 tema Vartotojo sąsajų projektavimas

    1. Vartotojo sąsajų tipai ir jų kūrimo etapai.

    2. Psichofizinės asmens savybės, susijusios su informacijos suvokimu, įsiminimu ir apdorojimu.

    3. Vartotojo ir programinės įrangos sąsajos modeliai.

    4. Dialogų klasifikacijos ir bendrieji jų kūrimo principai.

    5. Pagrindiniai grafinių vartotojo sąsajų komponentai.

    6. Dialogų diegimas grafinėje vartotojo sąsajoje.

    7. Tiesioginio manipuliavimo vartotojo sąsajos ir jų dizainas.

    8. Sumanūs vartotojo sąsajų elementai.

    Ankstyvosiose skaičiavimo technologijos kūrimo stadijose vartotojo sąsaja buvo laikoma žmogaus bendravimo su operacine sistema priemone ir buvo gana primityvi.

    Atsiradus interaktyviai programinei įrangai, pradėtos naudoti specialios vartotojo sąsajos. Šiuo metu pagrindinė problema yra sudėtingų programinės įrangos produktų, skirtų naudoti neprofesionaliems vartotojams, interaktyvių sąsajų kūrimas.

    1. Vartotojo sąsajų tipai ir jų kūrimo etapai

    Vartotojo sąsaja- programinės ir techninės įrangos rinkinys, užtikrinantis vartotojo sąveiką su kompiuteriu. Sąveikos pagrindas- dialogai.

    Dialogas- reguliuojamas keitimasis informacija tarp asmens ir kompiuterio, vykdomas realiu laiku ir skirtas bendrai konkrečios problemos sprendimui: informacijos mainai ir veiksmų koordinavimas. Kiekvienas dialogo langas susideda iš atskirų įvesties-išvesties procesų, kurie fiziškai užtikrina ryšį tarp vartotojo ir kompiuterio.

    Keitimasis informacija vykdomas perduodant pranešimus ir valdymo signalus.

    Pranešimas– informacija, susijusi su dialogu.

    Laiškų tipai:

    Įvesties pranešimai, kuriuos žmogus generuoja naudodamas įvesties priemones: klaviatūrą, manipuliatorius (pelę ir kt.);

    Išvesties pranešimai, kuriuos kompiuteris generuoja tekstų, garso signalų ir (arba) vaizdų pavidalu ir rodomas vartotojui monitoriaus ekrane ar kituose informacijos išvesties įrenginiuose.

    Vartotojas generuoja tokius pranešimus:

    Informacijos užklausa,

    pagalbos prašymas,

    Prašymas atlikti operaciją ar funkciją,

    Įvesdami arba keisdami informaciją,

    Rėmo lauko pasirinkimas.

    Gauna atsakymą:

    Patarimai arba pagalba

    žodžio forma- teksto dalis tarp dviejų gretimų tarpų arba skyrybos ženklų.

    Morfologinė analizė -žodžių formų apdorojimas iš konteksto.

    Procedūrinis – apima esamos žodžio formos kamieno paryškinimą, kuris vėliau identifikuojamas.

    Atpažinus žodžių formas, atliekama pranešimo sintaksinė analizė, kurios rezultatai lemia jo sintaksinę struktūrą, t.y., sakinys analizuojamas.

    Sąsaja, įgyvendinanti frazinę dialogo formą, turi: konvertuoti pranešimus iš natūralios kalbos formos į vidinį atvaizdavimą ir atvirkščiai, analizuoti ir sintezuoti vartotojo ir sistemos pranešimus, sekti ir prisiminti pravestą dialogo dalį.

    Trūkumai frazės forma:

    Didelės išteklių sąnaudos;

    Jokių garantijų dėl vienareikšmiško formuluotės aiškinimo;

    Poreikis įvesti ilgas gramatiškai teisingas frazes.

    Orumas frazinė forma – laisvas bendravimas su sistema.

    direktyvos forma - komandų (direktyvų) naudojimas specialiai sukurta formali kalba.

    Komanda yra šios kalbos sakinys, apibūdinantis jungtinius duomenis, į kurį įtrauktas pradėto proceso identifikatorius ir, jei reikia, jo duomenys.

    Komandą galima įvesti:

    Kaip teksto eilutė, specialiai sukurtas formatas (MS DOS komandos komandinėje eilutėje);

    Paspaudus tam tikrą klavišų kombinaciją ("Windows" programų "greitos prieigos" deriniai);

    Manipuliuojant pele (piktogramų „vilkimas“);

    Antrojo ir trečiojo metodų derinys.

    Privalumai nurodymo forma:

    Mažas įvesties informacijos kiekis;

    Lankstumas – galimybę pasirinkti operaciją riboja galiojančių komandų rinkinys;

    Orientacija į vartotojo pagrįstą dialogą;

    Naudojant minimalų ekrano plotą arba jo visai nenaudoti;

    Gebėjimas derinti su kitomis formomis.

    Trūkumai nurodymo forma:

    Virtualus raginimų nebuvimas ekrane, dėl kurio reikia įsiminti įvestas komandas ir jų sintaksę;

    Beveik visiškas grįžtamojo ryšio apie pradėtų procesų būklę trūkumas;

    Teksto informacijos įvedimo ar manipuliavimo pele įgūdžių poreikis;

    Trūksta vartotojo pritaikymo.

    Direktyvos forma patogi profesionaliam vartotojui, kuris paprastai greitai įsimena dažnai naudojamų komandų ar klavišų kombinacijų sintaksę. Šiuo atveju ypač išryškėja formos privalumai (lankstumas ir geros laiko charakteristikos).

    lentelės forma - vartotojas pasirenka atsakymą iš programos siūlomų. Dialogo kalba turi paprasčiausią sintaksę ir vienareikšmę semantiką, kurią gana lengva įgyvendinti. Forma yra patogi, nes visada lengviau pasirinkti, o tai būtina neprofesionaliam vartotojui. Ši forma gali būti naudojama, jei galimų atsakymų į konkretų klausimą rinkinys yra baigtinis. Jei galimų atsakymų skaičius yra didelis (daugiau nei 20), lentelės formos naudojimas gali būti netinkamas.

    Dorybės ir lentelės pavidalu:

    Užuominos buvimas;

    Įvesties klaidų skaičiaus mažinimas: vartotojas neįveda informacijos, o nurodo ją;

    Sutrumpintas vartotojo mokymo laikas;

    Gebėjimas derinti su kitomis formomis;

    Kai kuriais atvejais galimybė pritaikyti vartotoją.

    Trūkumai lentelės forma:

    Ekrano naršymo įgūdžių poreikis;

    Santykinai didelio ekrano ploto naudojimas vaizdiniams komponentams rodyti;

    Intensyvus kompiuterio išteklių naudojimas, susijęs su būtinybe nuolat atnaujinti informaciją ekrane.

    Dialogo tipai ir formos pasirenkami nepriklausomai vienas nuo kito: bet kuri forma tinka abiem dialogų rūšims.

    Sinchroninis- dialogai, atsirandantys normaliai veikiant programinei įrangai.

    Asinchroninis- dialogai, atsirandantys sistemos ar vartotojo iniciatyva, kai pažeidžiamas įprasto proceso scenarijus. Jie naudojami siunčiant avarinius pranešimus iš sistemos ar vartotojo.

    Dialogų plėtra. Dialogų kūrimo ir įgyvendinimo etapai:

    Reikalingų dialogų rinkinio, pagrindinių jų pranešimų ir galimų scenarijų nustatymas – dizainas abstraktūs dialogai;

    Kiekvieno dialogo tipo ir formos, taip pat naudojamų kalbų sintaksės ir semantikos nustatymas - dizainas konkretūs dialogai;

    Pagrindinių ir papildomų įrenginių parinkimas ir įvesties-išvesties procesų projektavimas kiekvienam dialogui, taip pat perduodamų pranešimų išaiškinimas - dizainas techniniai dialogai.

    Abstrakčių dialogų pagrindas – technologinio proceso, kurio automatizavimui skirtas programinės įrangos produktas, ideologija.

    Be scenarijų, naudokite sąsajos būsenos diagramos arba dialogo grafikai.

    Dialogo grafikas yra nukreiptas svertinis grafikas, kurio kiekviena viršūnė yra susieta su konkrečia nuotrauka ekrane ( rėmelis) arba tam tikra dialogo būsena, kuriai būdingas vartotojui prieinamų veiksmų rinkinys. Iš viršūnių sklindantys lankai rodo galimus būsenos pokyčius, kai vartotojas atlieka nurodytus veiksmus. Iš viršūnių sklindantys lankai rodo galimus būsenos pokyčius, kai vartotojas atlieka nurodytus veiksmus. Lankų svoriai rodo perėjimo iš būsenos į būseną sąlygas ir perėjimo metu atliekamas operacijas.

    Kiekvienas grafiko maršrutas atitinka galimą dialogo parinktį.


    3 pav. Abstraktaus dialogo grafikai:

    a - sistemos valdomas dialogas; b – vartotojo valdomas dialogas

    5. Pagrindiniai grafinių vartotojo sąsajų komponentai

    Grafines vartotojo sąsajas palaiko Windows, Apple Macintosh, OS/2 ir kt. Tokioms sąsajoms kiekvienai operacinei sistemai sukurti standartinių vartotojo sąsajos komponentų rinkiniai.

    Sąsajos yra sukurtos naudojant WIMP technologiją: W - Windows (langai), I - Icons (piktogramos), M - Mouse (pelė), P - Iššokantis langas (iššokantis arba išskleidžiamasis meniu). Pagrindiniai grafinių sąsajų elementai yra langai, piktogramos, įvesties-išvesties komponentai ir pelė, kuri naudojama kaip žymeklis ir įrenginys, skirtas tiesiogiai valdyti objektus ekrane.

    Langas.Langas - stačiakampio formos fizinio ekrano plotas. Lango dydis ir padėtis ekrane gali keistis.

    Pagrindiniai langai (aplikacijų langai);

    Vaikiški arba apatiniai langai;

    Dialoginiai langai;

    Informaciniai langai;

    Meniu langai.

    Programos langas„Windows“ yra: rėmelis, ribojantis lango darbo sritį, pavadinimo juosta su sistemos meniu mygtuku ir mygtukais lango rodiniui ir išėjimui pasirinkti, meniu juosta, piktogramų meniu (įrankių juosta), horizontalios ir vertikalios slinkties juostos. ir būsenos juosta.

    vaiko langas„Windows“ naudojama keliose dokumentų programavimo sąsajose (MDI). Šiame lange nėra meniu. Pavadinimo juostoje specialus pavadinimas, identifikuojantis susijusį dokumentą ar failą. Visų vaikų langų piktogramos yra vienodos.

    Dialogo langas„Windows“ naudojama įvairiems veikimo režimams, reikiamiems parametrams ar kitai informacijai peržiūrėti ir nustatyti.

    Pavadinimo juosta su sistemos meniu mygtuku;

    Komponentai, leidžiantys vartotojui įvesti arba pasirinkti atsakymą;

    Pagalbiniai komponentai, teikiantys patarimą (peržiūros laukelis arba pagalbos mygtukas).

    Lango dydis nekeičiamas, bet jį galima perkelti ekrane.

    Informaciniai langai dviejų tipų:

    Pranešimų langai;

    Pagalbos langai.

    Pranešimų languose yra: pavadinimas su sistemos meniu mygtuku, pranešimo tekstas, vienas ar keli vartotojo reakcijos mygtukai (Taip, Ne, Atšaukti).

    Pagalbos langas yra: meniu, slinkties juostos, informacijos sritis, panaši į programos langą, bet turi labai specializuotą paskirtį.

    Meniu langai„Windows“ naudojama kaip atidaromos hierarchinės meniu plokštės arba kaip kontekstiniai meniu.

    Kiekviena meniu lango eilutė gali atitikti:

    Komanda;

    kito lygio meniu, kurį pateikia rodyklė;

    Dialogo langas, pažymėtas trimis taškais.

    Pridėta sparčiųjų klavišų nuoroda.

    Piktogramos. Piktograma yra mažas langas su grafiniu vaizdu, kuriame rodomas buferio, su kuriuo ji susieta, turinys.

    Piktogramų tipai:

    Su atitinkama programa susijusi programinė įranga;

    Vaikiškų langų piktogramos, suteikiančios prieigą prie įvairių dokumentų;

    Įrankių juostos piktogramos dubliuoja prieigą prie atitinkamų funkcijų per meniu, suteikdamos greitą prieigą;

    Objektų piktogramos, skirtos tiesiogiai valdyti objektus.

    Tiesioginis vaizdo manipuliavimas. Tiesioginis vaizdo manipuliavimas – tai yra galimybė komandą veikti tam tikram objektui pakeisti fiziniu veiksmu sąsajoje, atliekamu pelės pagalba. Šiuo atveju bet kuri ekrano sritis laikoma adresatu, kurią galima suaktyvinti perkeliant žymeklį ir paspaudus pelės mygtuką.

    Pagal reakciją į poveikį išskiriami adresatų tipai:

    Rodymas ir pasirinkimas (piktogramų išdėstymas, aktyvaus lango apibrėžimas);

    Ekrano mygtukai ir „stumdomos“ užtvaros (atliekant arba cikliškai kartojamus veiksmus (atliekant tam tikras operacijas ar piešiant, numanomai, kai suaktyvinama tam tikra ekrano sritis – mygtukai)).

    Dinaminis vaizdinis signalas - vaizdo ekrane keitimas (pelės žymeklis atliekant konkrečias operacijas, keičiant mygtuko vaizdą).

    I/O komponentai. Sąsajos apima kelis meniu: pagrindinį arba „išskleidžiamąjį“ hierarchinį meniu, piktogramų meniu (įrankių juostas) ir kontekstinius meniu įvairioms situacijoms. Bet kuris iš nurodytų meniu yra įvesties-išvesties komponentas, įgyvendinantis dialogą su vartotoju naudojant lentelės formą.

    Hierarchinis meniu naudojamas programinės įrangos atliekamoms operacijoms organizuoti (jei yra daugiau nei IBM rekomendacijų) ir pateikti vartotojui jų apžvalgą. Įrankių juostos ir kontekstiniai meniu naudojami norint greitai pasiekti dažnai naudojamas komandas, leidžiančias vartotojui palyginti laisvai naršyti.

    Kitos I/O formos:

    frazė,

    lentelės,

    Mišrus.

    6. Dialogų diegimas grafinėje vartotojo sąsajoje

    Abiejų tipų dialogai:

    vartotojo valdomas,

    Sistema valdoma.

    Vartotojo valdomų dialogų diegimas.Įgyvendinimui naudojamas įvairių tipų meniu:

    Pagrindinis,

    įrankių juostos,

    Kontekstas ir mygtukas.

    Kaip alternatyvą meniu, patartina naudoti direktyvinę dialogo formą, pagrindines komandas derinant su tam tikrais klavišų deriniais. Patartina numatyti galimybę valdyti meniu klaviatūra, jei dažniausiai vartotojas įveda tekstą ar duomenis su sistema, t.y. sąveikauja su klaviatūra.

    Meniu. Meniu kuriami remiantis kuriamos programinės įrangos dialogo grafikais. Jei operacijų skaičius neviršija 5, tada dažniausiai naudojami mygtukai. Jei operacijų skaičius yra ne didesnis kaip 9-10, tai yra vieno lygio meniu. Jei operacijų skaičius yra didesnis nei 10, naudojamas išskleidžiamasis dviejų lygių hierarchinis meniu.

    Išskleidžiamasis meniu. Pirmame hierarchinio meniu lygyje turi būti pagrindinių operacijų grupių pavadinimai.

    Tradiciškai (paprastai teksto ir vaizdų rengyklėse):

    1. elemento failas,

    2. elementas Redaguoti,

    3. Prekės peržiūra,

    paskutinė pastraipa Pagalba.

    Hierarchinio meniu lygių skaičius neturi viršyti 2–3 (sunku rasti). Operacijų skaičius lange neturi viršyti 7-8 operacijų.

    Jei operacijų skaičius viršija 70-80. Microsoft Word kūrėjai pasiūlė prisitaikantis hierarchinis meniu, kuriame nuolat keičiasi antrojo lygio meniu lango turinys, rodomos tik tos operacijos, kurias naudoja vartotojas. Jei vartotojas neranda norimos operacijos, po kelių sekundžių arba paspaudus specialų mygtuką Word parodo meniu langą visą.

    7 Tiesioginio manipuliavimo vartotojo sąsajos ir jų dizainas

    Tiesioginio manipuliavimo galimybė, kurią suteikia WIMP sąsajos, leidžia kurti į objektus orientuotas tiesioginio valdymo sąsajas programoms.

    Sąsajose naudojama direktyvinė dialogo forma: komanda įvedama, kai su pele atliekami tam tikri veiksmai su objekto piktograma. Pagrindiniai šių sąsajų elementai yra: metaforos, objektai, objektų vaizdavimas ir „Drag and Drop“ technologijos („drag and drop“).

    Metaforos. Metaforos- protinis vieno objekto savybių ar savybių perkėlimas į kitą, kažkas panašaus į pirmąjį. Metaforų naudojimas sąsajose apima vartotojo patirties suaktyvinimą.

    Tiesioginė manipuliavimo sąsaja turėtų suteikti vartotojui aplinką, kurioje yra žinomų elementų, su kuriais vartotojas ne kartą susidūrė profesinėje veikloje ar kasdieniame gyvenime, ir suteikti jam galimybę manipuliuoti atskirais objektais. (Metafora „Šiukšlių išmetimas“ skirta failams ištrinti).

    Panašūs elementai turėtų elgtis panašiai, ta pačia spalva paryškinti elementai turi būti tam tikru santykiu tarpusavyje.

    Patartina vaizdų nedaryti pernelyg tikroviškų, kad neapgautumėte vartotojo lūkesčių.

    Metaforos ir animacija. Įgyvendinant metaforas vis didesnis vaidmuo tenka multimedijai, daugiausia animacijai. Naudodami animaciją galite ne tik linksminti vartotoją, bet ir „paruošti“ kadrų keitimui, sumažinant laiką, reikalingą prisitaikymui prie pasikeitusios situacijos.

    https://pandia.ru/text/78/247/images/image005_68.gif">Animacijos sąsajas diegianti programa niekada nebūna tuščia, nes laukdama vartotojo komandos įvesties ji ir toliau rodo atitinkamus kadrus. Tokios programos yra pagrįsti laikinas programavimas. Skirtingai nuo įvykių programavimo, leidžiančio susieti vaizdą ekrane su išoriniais ir vidiniais sistemos įvykiais, laikinas programavimas leidžia pakeisti projektuojamą kadrų sekos priklausomai nuo modeliuojamų procesų būsenos ir vartotojo veiksmų.

    Tiesioginio manipuliavimo sąsajos objektai ir jų atvaizdavimas.

    Trys pagrindiniai tiesioginio manipuliavimo sąsajos objektų tipai yra šie:

    duomenų objektai,

    konteinerių objektai,

    Įrenginio objektai.

    Duomenų objektai teikti vartotojui informaciją (tekstus, paveikslėlius, skaičiuokles, muziką, vaizdo įrašus). Operacinėje sistemoje tokie objektai atitinka programas, kurios veikia, kai objektas išplečiamas.

    Sudėtiniai objektai gali manipuliuoti savo vidiniais objektais, įskaitant kitus konteinerius (juos kopijuoti arba rūšiuoti bet kokia tvarka). Tipiški konteineriai yra aplankai, krepšeliai. Atidarius talpyklą, parodomi jo išsaugoti komponentai ir tampa įmanoma jais manipuliuoti. Komponentai gali būti pažymėti piktogramomis arba pateikti lentelėje.

    Įrenginio objektai reiškia įrenginius, kurie egzistuoja realiame pasaulyje: telefonus, fakso aparatus, spausdintuvus ir kt. jie naudojami šiems įrenginiams abstrakčiame sąsajos pasaulyje nurodyti. Išplėtę tokį objektą galite pamatyti jo nustatymus.

    Kiekvienas objektas atitinka vieną langą. Pradinėje būsenoje šis langas vaizduojamas piktograma, tačiau esant reikalui galite jį atidaryti ir atlikti reikiamas operacijas, pavyzdžiui, objekto nustatymus. Išskleistos būsenos objekto lange gali būti meniu ir įrankių juostos. Piktograma turi atitikti kontekstinį meniu, kuriame yra objekto operacijų sąrašas.

    Kiekvienam objekto tipui piktogramos pavadinimas formuojamas skirtingai. Duomenų objektų piktogramoms suteikiami pavadinimai, atitinkantys saugomų duomenų pavadinimus, o duomenų tipą užkoduoja pati piktograma. Sudėtinio rodinio piktogramos arba įrenginio piktogramos pavadinimas nurodo patį objektą, todėl nepriklauso nuo turinio.

    Skirtumas tarp objektų tipų yra sąlyginis, nes tas pats objektas skirtingose ​​situacijose gali veikti kaip duomenų objektas, arba kaip įrenginio objektas, arba kaip konteinerio objektas (spausdintuvas yra įrenginio objektas, jis gali turėti konteinerio objekto savybes , gali būti duomenų objektų spausdinimo eilėje; vaizdavimas kaip piktograma, spausdinimo eilės langas, nustatymų langas; objekto lango pavadinime patartina nurodyti atvaizdavimo pavadinimą).

    TechnologijosVilkiteirNumesti. Pagrindiniai tiesioginio manipuliavimo principai, aprašyti IBM vartotojo sąsajos projektavimo vadove:

    Objekto perkėlimo rezultatas turi atitikti vartotojo lūkesčius;

    Vartotojai neturėtų staiga prarasti informacijos;

    Vartotojas turi turėti galimybę anuliuoti netinkamą veiksmą.

    Pradinis pasirinkimas – naudojamas kaip grįžtamasis ryšys vartotojui, informuojant jį, kad objektas užfiksuotas, Windows sistemoje tam naudojamas paryškinimas;

    Judesio vizualizacija – naudojama atliekamam veiksmui identifikuoti;

    Tikslo pasirinkimas – naudojamas identifikuoti paskirties vietą, tokiu būdu parodant, kur objektas „nukris“, jei bus paleistas esamu laiku;

    Veiksmo vizualizacija – naudojama norint nurodyti laukimo laiką iki operacijos pabaigos, dažniausiai tam naudojama animacija arba žymeklio formos pakeitimas į „smėlio laikrodį“.

    Yra dviejų tipų adresatai: vienas priima objektą, o kitas jo kopiją (Vartotojas „įmeta“ dokumentą į „šiukšliadėžę“ – pats dokumentas sunaikinamas, o jei siunčiamas į spausdintuvą, tada perduodama dokumento kopija).

    Tiesioginių manipuliavimo sąsajų projektavimas. Dizainas pagrįstas dialogo grafikais, sukurtais konkrečiai programinei įrangai, ir apima šias procedūras:

    Formavimas domeno objektų rinkiniai, kurie turėtų būti pateikti ekrane, o šiuo atveju remiamasi ne vartojimo atvejai, o konceptualus dalykinės srities modelis;

    Analizė objektų, apibrėžiant juos tipai ir atstovybės, taip pat operacijų su šiais objektais sąrašas;

    Paaiškinimas objektų sąveikos ir sukurti matricą tiesioginė manipuliacija;

    Apibrėžimas vizualinės reprezentacijos objektai;

    Plėtra objekto lango meniu ir kontekstiniai meniu;

    Kūrimas prototipas sąsaja;

    Bandymai dėl Naudojimo paprastumas.

    8 Išmanūs vartotojo sąsajos elementai

    Vartotojo sąsajų elementai: Master, Advisor, Agent. Buvo daug bandymų sukurti socializuotą vartotojo sąsają. Tokia sąsaja pagrįsta idėja sukurti asmeninę, t. y. „asmenybę turinčią“ sąsają. Tokios pramoginės programos, kaip Katės (katės) ir Šunys (šunys), įgyvendinančios sudėtingą naminių gyvūnėlių elgesį įvairiose situacijose, rodo, kad tai techniškai visiškai išsprendžiama užduotis.

    patarėjai. Jie yra užuominų pavidalu. Juos galima pasiekti naudojant žinyno meniu, lango komandų eilutę arba išskleidžiamąjį meniu. Patarėjai padeda vartotojams atlikti konkrečias užduotis.

    Meistrai. Vedlio programa naudojama įprastoms, bet retai individualaus vartotojo atliekamoms užduotims atlikti (įdiegti programas ar techninę įrangą). Norint atlikti tokius veiksmus, vartotojas turi priimti sudėtingus tarpusavyje susijusius sprendimus, kurių seką diktuoja vedlio programa. „Intelligent Wizards“ kiekviename žingsnyje gali rodyti vartotojo atsakymų į ankstesnius klausimus rezultatus peržiūros lange, padėdami pastariesiems orientuotis situacijoje.

    Vedlys įgyvendina nuoseklų arba į medį panašų dialogo scenarijų. Patartina jį naudoti sprendžiant gerai struktūrizuotas, nuoseklias užduotis.

    Šiuo atveju būtina:

    Suteikti vartotojui galimybę grįžti į ankstesnį veiksmą;

    Numatykite galimybę atšaukti vedlio darbą;

    Sunumeruokite žingsnius ir pasakykite vartotojui žingsnių skaičių Master, ypač jei tokių žingsnių yra daugiau nei trys;

    Paaiškinkite vartotojui kiekvieną žingsnį;

    Jei įmanoma, kiekviename žingsnyje parodykite jau atliktų operacijų rezultatą.

    Programinės įrangos agentai. Naudojamas įprastiniam darbui. Pagrindinės Agentų asistentų funkcijos: stebėjimas, paieška, valdymas. Išskirti:

    agentų programos, sukonfigūruotos atlikti nurodytas užduotis;

    agentų programos, galinčios mokytis (fiksuoti vartotojo veiksmus (pvz., magnetofonas)).

    Kaip ir bet kuris techninis įrenginys, kompiuteris keičiasi informacija su žmogumi pagal tam tikras taisykles, kurios yra privalomos ir mašinai, ir žmogui. Šios taisyklės kompiuterinėje literatūroje vadinamos sąsajomis. Sąsaja turi būti aiški ir nesuprantama, draugiška ir ne. Prie jo pridedama daug būdvardžių. Tačiau viename jis yra pastovus: jis yra, ir niekur nuo jo nepabėgsi.

    Sąsaja- tai yra operacinės sistemos sąveikos su vartotojais taisyklės, taip pat gretimi lygiai kompiuterių tinkle. Ryšio tarp žmogaus ir kompiuterio technologija priklauso nuo sąsajos.

    Sąsaja Visų pirma, tai yra taisyklių rinkinys. Kaip ir bet kurios taisyklės, jas galima apibendrinti, surinkti į „kodą“, sugrupuoti pagal bendrą požymį. Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, priėjome prie „sąsajos tipo“ sąvokos kaip žmonių ir kompiuterių sąveikos būdų panašumo derinio. Galime pasiūlyti tokią scheminę įvairių sąsajų, skirtų ryšiui tarp žmogaus ir kompiuterio, klasifikaciją (1 pav.).

    Paketų technologija. Istoriškai šios technologijos atsirado pirmiausia. Jis jau egzistavo Sues ir Zuse relinėse mašinose (Vokietija, 1937). Jo idėja paprasta: kompiuterio įvestis – tai simbolių seka, kurioje pagal tam tikras taisykles nurodoma paleistų vykdyti programų seka. Paleidus kitą programą, paleidžiama kita ir pan. Mašina pagal tam tikras taisykles randa komandas ir duomenis sau. Tokia seka gali būti, pavyzdžiui, perforuota juosta, šūsnis perforuotų kortelių, elektrinės rašomosios mašinėlės (pvz., CONSUL) klavišų paspaudimo seka. Aparatas taip pat išsiunčia savo pranešimus perforatoriui, raidiniam skaitmeniniam spausdintuvui (ATsPU), rašomosios mašinėlės juostai.

    Tokia mašina yra „juodoji dėžė“ (tiksliau „balta spinta“), į kurią nuolat tiekiama informacija ir kuri taip pat nuolat „informuoja“ pasaulį apie savo būseną. Žmogus čia turi mažai įtakos mašinos darbui – gali tik sustabdyti mašinos darbą, pakeisti programą ir vėl užvesti kompiuterį. Vėliau, kai aparatai tapo galingesni ir galėjo vienu metu aptarnauti kelis vartotojus, amžinas vartotojo laukimas patiko: "Išsiunčiau duomenis į aparatą. Laukiu, kol atsilieps. Ir ar iš viso atsilieps?" – pasidarė, švelniai tariant, valgyti. Be to, kompiuterių centrai, sekantys laikraščius, tapo antruoju pagal dydį makulatūros „gamintoja“. Dėl šios priežasties, atsiradus raidiniams ir skaitmeniniams ekranams, prasidėjo tikrai patogios technologijos – komandinės eilutės – era.

    komandų sąsaja.

    Komandų sąsaja dažniausiai taip vadinama todėl, kad tokio tipo sąsajoje žmogus kompiuteriui duoda „komandas“, o kompiuteris jas vykdo ir duoda rezultatą žmogui. Komandų sąsaja įgyvendinama kaip paketinė technologija ir komandų eilutės technologija.

    Naudojant šią technologiją, klaviatūra yra vienintelis būdas įvesti informaciją iš asmens į kompiuterį, o kompiuteris informaciją asmeniui išveda naudodamas raidinį ir skaitmeninį ekraną (monitorių). Šis derinys (monitorius + klaviatūra) tapo žinomas kaip terminalas arba konsolė.

    Komandos įvedamos komandinėje eilutėje. Komandinė eilutė yra raginimo simbolis ir mirksintis stačiakampis - žymeklis.
    Priglobta ref.rf
    Kai paspaudžiamas klavišas, žymeklio vietoje atsiranda simboliai, o pats žymeklis juda į dešinę. Komanda baigiama paspaudus Enter (arba Return.) klavišą Po to atliekamas perėjimas į kitos eilutės pradžią. Būtent iš šios padėties kompiuteris monitoriuje rodo savo darbo rezultatus. Tada procesas kartojamas.

    Komandinės eilutės technologija jau veikė vienspalviuose raidiniuose ir skaitmeniniuose ekranuose. Kadangi buvo leidžiama įvesti tik raides, skaičius ir skyrybos ženklus, techninės ekrano charakteristikos nebuvo reikšmingos. Kaip monitorių būtų galima naudoti televizoriaus imtuvą ir net osciloskopo vamzdelį.

    Abi šios technologijos yra įdiegtos komandinės sąsajos pavidalu – mašinos įvedamos į komandos įvestį, o ši tarsi į jas „atliepia“.

    Dirbant su komandų sąsaja vyraujančiu failų tipu tapo tekstiniai failai – juos ir tik juos buvo galima sukurti naudojant klaviatūrą. Komandinės eilutės sąsajos plačiausiai naudojimo laikas yra UNIX operacinės sistemos atsiradimas ir pirmųjų aštuonių bitų asmeninių kompiuterių su daugiaplatformine operacine sistema CP/M pasirodymas.

    WIMP sąsaja(Langas – langas, Vaizdas – vaizdas, Meniu – meniu, Rodyklė – rodyklė). Būdingas šio tipo sąsajos bruožas yra tai, kad dialogas su vartotoju vyksta ne komandų, o grafinių vaizdų – meniu, langų ir kitų elementų – pagalba. Nors šioje sąsajoje pateikiamos mašinos komandos, tai daroma „netiesiogiai“, per grafinius vaizdus. Grafinės sąsajos idėja kilo aštuntojo dešimtmečio viduryje, kai Xerox Palo Alto tyrimų centre (PARC) buvo sukurta vaizdinės sąsajos koncepcija. Prielaida grafinei sąsajai buvo sutrumpėjęs kompiuterio reakcijos į komandą laikas, padidintas RAM kiekis, taip pat išplėtota kompiuterių techninė bazė. Koncepcijos aparatinis pagrindas, be abejo, buvo raidinių ir skaitmeninių ekranų atsiradimas kompiuteriuose, o šie ekranai jau turėjo tokius efektus kaip simbolių „mirksėjimas“, spalvų inversija (baltų simbolių stiliaus pakeitimas juodame fone, t. juodi simboliai baltame fone ), pabraukti simboliai. Šie efektai apėmė ne visą ekraną, o tik vieną ar daugiau simbolių. Kitas žingsnis buvo spalvoto ekrano sukūrimas, leidžiantis kartu su šiais efektais 16 spalvų simbolius fone su 8 spalvų palete (ty spalvų rinkiniu). Atsiradus grafiniams ekranams, turintiems galimybę įvairių spalvų ekrane rodyti bet kokius grafinius vaizdus daugybės taškų pavidalu, ekrano naudojimo vaizduotei nėra ribų! Taigi pirmoji PARC GUI sistema, 8010 Star Information System, pasirodė likus keturiems mėnesiams iki pirmojo IBM kompiuterio išleidimo 1981 m. Iš pradžių vaizdinė sąsaja buvo naudojama tik programose. Palaipsniui jis pradėjo pereiti prie operacinių sistemų, kurios pirmiausia buvo naudojamos „Atari“ ir „Apple Macintosh“ kompiuteriuose, o vėliau – su IBM suderinamuose kompiuteriuose.

    Nuo seniausių laikų, taip pat veikiamas šių sąvokų, buvo suvienodinamas taikomųjų programų klaviatūros ir pelės naudojimas. Sujungus šias dvi tendencijas, buvo sukurta vartotojo sąsaja, kurios pagalba su minimaliu laiku ir pinigais perkvalifikuojant personalą galima dirbti su bet kokiu programiniu produktu. Šios sąsajos, bendros visoms programoms ir operacinėms sistemoms, aprašymas yra šios dalies objektas.

    Grafinė vartotojo sąsaja savo kūrimo metu išgyveno du etapus ir yra įgyvendinama dviem technologijų lygiais: paprasta grafinė sąsaja ir „gryna“ WIMP sąsaja.

    Pirmajame etape grafinė sąsaja buvo labai panaši į komandinės eilutės technologiją. Skirtumai nuo komandinės eilutės technologijos buvo tokie:

    Ú Rodant simbolius, kai kuriuos simbolius buvo leidžiama paryškinti spalvomis, apverstu vaizdu, pabraukimu ir mirksėjimu. Dėl to padidėjo vaizdo išraiškingumas.

    Ú Atsižvelgiant į priklausomybę nuo konkretaus grafinės sąsajos įgyvendinimo, žymeklį galima pavaizduoti ne tik mirgančiu stačiakampiu, bet ir tam tikru plotu, apimančiu kelis simbolius ir net dalį ekrano. Ši pasirinkta sritis skiriasi nuo kitų nepasirinktų dalių (dažniausiai spalva).

    Ú Paspaudus klavišą Enter ne visada įvykdoma komanda ir pereinama į kitą eilutę. Reakcija į bet kurio klavišo paspaudimą labai priklauso nuo to, kurioje ekrano dalyje buvo žymeklis.

    Ú Be klavišo Enter, klaviatūroje vis dažniau naudojami pilki žymeklio klavišai (žr. klaviatūros skyrių šios serijos 3 numeryje).

    Ú Jau šiame grafinės sąsajos leidime pradėti naudoti manipuliatoriai (pvz., pelė, rutulinis rutulys ir kt. – žr. A.4 pav.) Οʜᴎ leido greitai pasirinkti norimą ekrano dalį ir perkelti žymeklį.

    Apibendrinant galime pateikti šias išskirtines šios sąsajos savybes:

    Ú Paryškinkite ekrano sritis.

    Ú Klaviatūros klavišų apibrėžimas pagal kontekstą.

    Ú manipuliatorių ir pilkų klaviatūros klavišų naudojimas žymekliui valdyti.

    Ú Platus spalvotų monitorių naudojimas.

    Šio tipo sąsajos atsiradimas sutampa su plačiai paplitusiu MS-DOS operacinės sistemos naudojimu. Būtent ji pristatė šią sąsają masėms, kurios dėka 80-ieji pasižymėjo tokio tipo sąsajos tobulėjimu, simbolių rodymo charakteristikų ir kitų monitoriaus parametrų tobulėjimu.

    Tipiškas tokio tipo sąsajos naudojimo pavyzdys yra „Nortron Commander“ failo apvalkalas ir „Multi-Edit“ teksto rengyklė. O teksto redaktoriai Lexicon, ChiWriter ir tekstų rengyklė Microsoft Word for Dos yra pavyzdys, kaip ši sąsaja pranoko pati save.

    Antrasis grafinės sąsajos kūrimo etapas buvo „grynoji“ WIMP sąsaja.Šis sąsajos porūšis pasižymi šiomis savybėmis:

    Ú Visas darbas su programomis, failais ir dokumentais vyksta languose – tam tikrose ekrano dalyse, nubrėžtose rėmeliu.

    Ú Visos programos, failai, dokumentai, įrenginiai ir kiti objektai vaizduojami kaip piktogramos – piktogramos. Atidarius piktogramas virsta langais.

    Ú Visi veiksmai su objektais atliekami naudojant meniu. Nors meniu atsirado pirmajame grafinės sąsajos kūrimo etape, jis jame neturėjo dominuojančios reikšmės, o tarnavo tik kaip komandinės eilutės priedas. Grynoje WIMP sąsajoje meniu tampa pagrindiniu valdymo elementu.

    Ú Platus manipuliatorių naudojimas nukreipiant į objektus. Manipuliatorius nustoja būti tik žaislu – klaviatūros papildymu, bet tampa pagrindiniu valdymo elementu. Manipuliatoriaus pagalba jie nurodo bet kurią ekrano sritį, langus ar piktogramas, pasirenka ją ir tik tada per meniu ar kitomis technologijomis valdo.

    Reikėtų pažymėti, kad WIMP jam įgyvendinti reikalingas didelės raiškos spalvotas rastrinis ekranas ir manipuliatorius.
    Priglobta ref.rf
    Be to, programos, orientuotos į tokio tipo sąsają, kelia didesnius reikalavimus kompiuterio našumui, atminties dydžiui, magistralės pralaidumui ir kt. Tuo pačiu metu tokio tipo sąsaja yra lengviausiai išmokstama ir intuityvi. Dėl šios priežasties WIMP sąsaja dabar tapo de facto standartu.

    Ryškus programų su grafine sąsaja pavyzdys yra Microsoft Windows operacinė sistema.

    ŠILKAS- sąsaja (Kalba - kalba, Vaizdas - vaizdas, Kalba - kalba, Žinios - žinios). Šis sąsajos tipas yra artimiausias įprastai, žmogiškai bendravimo formai. Šios sąsajos rėmuose vyksta įprastas „pokalbis“ tarp žmogaus ir kompiuterio. Tuo pačiu metu kompiuteris randa komandas sau, analizuodamas žmogaus kalbą ir joje surasdamas pagrindines frazes. Jis taip pat paverčia komandos vykdymo rezultatą į žmogui suprantamą formą. Šio tipo sąsaja reikalauja daugiausiai kompiuterio aparatinės įrangos išteklių, todėl ji daugiausia naudojama kariniams tikslams.

    Nuo 90-ųjų vidurio, atsiradus nebrangioms garso plokštėms ir plačiai panaudojus kalbos atpažinimo technologijas, atsirado vadinamoji SILK sąsajos „kalbos technologija“. Naudojant šią technologiją, komandos duodamos balsu, ištariant specialius rezervuotus žodžius – komandas.

    Žodžiai turi būti tariami aiškiai, tuo pačiu tempu. Tarp žodžių yra pauzė. Dėl nepakankamo kalbos atpažinimo algoritmo išvystymo tokios sistemos reikalauja individualios išankstinės konfigūracijos kiekvienam konkrečiam vartotojui.

    „Kalbos“ technologija yra paprasčiausias SILK sąsajos įgyvendinimas.

    Biometrinė technologija („Mimic Interface“).

    Ši technologija atsirado 1990-ųjų pabaigoje ir vis dar tobulinama šio rašymo metu. Kompiuteriui valdyti naudojama žmogaus veido išraiška, jo žvilgsnio kryptis, vyzdžio dydis ir kiti ženklai. Vartotojo tapatybei nustatyti naudojamas jo akių rainelės raštas, pirštų atspaudai ir kita unikali informacija. Vaizdai nuskaitomi iš skaitmeninės vaizdo kameros, o vėliau naudojant specialias vaizdo atpažinimo programas iš šio vaizdo išgaunamos komandos. Ši technologija greičiausiai užims savo vietą programinės įrangos produktuose ir programose, kur svarbu tiksliai identifikuoti kompiuterio vartotoją.

    mob_info