Yazılım Kullanıcı Arayüzü Tasarımı

Kullanıcı arayüzü, kullanıcının yazılımı kullanmak için etkileşim kurduğu ön uç uygulama görünümüdür. Kullanıcı, kullanıcı arayüzü aracılığıyla yazılımı ve donanımı yönetebilir ve kontrol edebilir. Günümüzde bilgisayarlardan, cep telefonlarından, arabalardan, müzik çalarlardan, uçaklardan, gemilerden vb. Dijital teknolojinin olduğu hemen hemen her yerde kullanıcı arayüzü bulunmaktadır.

Kullanıcı arabirimi, yazılımın bir parçasıdır ve kullanıcıya yazılımın içgörüsünü sağlaması beklenecek şekilde tasarlanmıştır. UI, insan-bilgisayar etkileşimi için temel bir platform sağlar.

Kullanıcı arayüzü, temel donanım ve yazılım kombinasyonuna bağlı olarak grafik, metin tabanlı, ses-video tabanlı olabilir. UI, donanım veya yazılım veya her ikisinin bir kombinasyonu olabilir.

Yazılım, kullanıcı arayüzü aşağıdaki durumlarda daha popüler hale gelir:

  • Attractive
  • Kullanımı kolay
  • Kısa sürede duyarlı
  • Anlaşılması açık
  • Tüm arayüz ekranlarında tutarlı

Kullanıcı arayüzü genel olarak iki kategoriye ayrılmıştır:

  • Komut satırı arayüzü
  • Grafiksel kullanıcı arayüzü

Komut Satırı Arayüzü (CLI)

CLI, video görüntüleme monitörleri ortaya çıkana kadar bilgisayarlarla etkileşim için harika bir araç olmuştur. CLI, birçok teknik kullanıcı ve programcının ilk tercihidir. CLI, bir yazılımın kullanıcılarına sağlayabileceği minimum arayüzdür.

CLI, kullanıcının komutu yazdığı ve sisteme beslediği yer olan bir komut istemi sağlar. Kullanıcının komut sözdizimini ve kullanımını hatırlaması gerekir. Daha önceki CLI, kullanıcı hatalarını etkin bir şekilde ele alacak şekilde programlanmamıştı.

Komut, sistem tarafından yürütülmesi beklenen talimat setine yönelik metin tabanlı bir referanstır. Kullanıcının çalışmasını kolaylaştıran makrolar, komut dosyaları gibi yöntemler vardır.

CLI, GUI'ye kıyasla daha az miktarda bilgisayar kaynağı kullanır.

CLI Öğeleri

Metin tabanlı bir komut satırı arabirimi aşağıdaki öğelere sahip olabilir:

  • Command Prompt- Çoğunlukla kullanıcının çalıştığı bağlamı gösteren metin tabanlı bir bilgilendiricidir. Yazılım sistemi tarafından üretilir.

  • Cursor- Yazarken karakterin konumunu temsil etmek için küçük bir yatay çizgi veya satır yüksekliğinde dikey bir çubuktur. İmleç çoğunlukla yanıp sönme durumunda bulunur. Kullanıcı bir şeyler yazarken veya silerken hareket eder.

  • Command- Komut, çalıştırılabilir bir talimattır. Bir veya daha fazla parametresi olabilir. Komut yürütmedeki çıktı, ekranda satır içi olarak gösterilir. Çıktı üretildiğinde, bir sonraki satırda komut istemi görüntülenir.

Grafiksel kullanıcı arayüzü

Grafik Kullanıcı Arayüzü, kullanıcıya sistemle etkileşim için grafiksel araçlar sağlar. GUI, hem donanım hem de yazılımın birleşimi olabilir. GUI kullanarak, kullanıcı yazılımı yorumlar.

Tipik olarak GUI, CLI'ninkinden daha fazla kaynak tüketir. Gelişen teknoloji ile programcılar ve tasarımcılar, daha verimli, doğru ve hızlı çalışan karmaşık GUI tasarımları oluşturur.

GUI Öğeleri

GUI, yazılım veya donanımla etkileşim kurmak için bir dizi bileşen sağlar.

Her grafik bileşen, sistemle çalışmanın bir yolunu sağlar. Bir GUI sistemi aşağıdaki gibi aşağıdaki unsurlara sahiptir:

  • Window- Uygulama içeriğinin görüntülendiği bir alan. Pencere dosya yapısını temsil ediyorsa, bir penceredeki içerik simgeler veya listeler şeklinde görüntülenebilir. Bir kullanıcının bir keşif penceresinde dosya sisteminde gezinmesi daha kolaydır. Pencereler ekran boyutuna küçültülebilir, yeniden boyutlandırılabilir veya büyütülebilir. Ekranda herhangi bir yere taşınabilirler. Bir pencere aynı uygulamanın alt pencere adı verilen başka bir penceresini içerebilir.

  • Tabs - Bir uygulama kendisinin birden fazla örneğinin yürütülmesine izin veriyorsa, bunlar ekranda ayrı pencereler olarak görünür. Tabbed Document Interfaceaynı pencerede birden çok belge açmaya geldi. Bu arayüz ayrıca uygulamada tercih panelini görüntülemeye yardımcı olur. Tüm modern web tarayıcıları bu özelliği kullanır.

  • Menu- Menü, birlikte gruplanmış ve uygulama penceresinin içinde görünür bir yere (genellikle üstte) yerleştirilmiş standart komutlar dizisidir. Menü, fare tıklamalarında görünecek veya gizlenecek şekilde programlanabilir.

  • Icon- Bir simge, ilişkili bir uygulamayı temsil eden küçük bir resimdir. Bu simgelere tıklandığında veya çift tıklandığında uygulama penceresi açılır. Simge, bir sisteme yüklenmiş uygulamaları ve programları küçük resimler biçiminde görüntüler.

  • Cursor- Fare, dokunmatik yüzey, dijital kalem gibi etkileşimli cihazlar GUI'de imleç olarak temsil edilir. Ekrandaki imleç, donanımdaki talimatları neredeyse gerçek zamanlı olarak izler. İmleçler ayrıca GUI sistemlerinde işaretçiler olarak adlandırılır. Menüleri, pencereleri ve diğer uygulama özelliklerini seçmek için kullanılırlar.

Uygulamaya özel GUI bileşenleri

Bir uygulamanın GUI'si listelenen GUI öğelerinin birini veya birkaçını içerir:

  • Application Window - Çoğu uygulama penceresi, işletim sistemleri tarafından sağlanan yapıları kullanır, ancak birçoğu uygulamanın içeriğini içermek için kendi müşteri tarafından oluşturulan pencereleri kullanır.

  • Dialogue Box - Kullanıcı için mesaj içeren ve bazı işlemlerin yapılmasını talep eden bir alt penceredir. Örneğin: Uygulama, kullanıcıdan bir dosyayı silmek için onay almak üzere bir diyalog oluşturur.

  • Text-Box - Kullanıcının metin tabanlı verileri yazması ve girmesi için bir alan sağlar.

  • Buttons - Gerçek hayattaki düğmeleri taklit ederler ve yazılıma girdi göndermek için kullanılırlar.

  • Radio-button- Seçim için mevcut seçenekleri görüntüler. Tüm sunulanlar arasından yalnızca biri seçilebilir.

  • Check-box- Liste kutusuna benzer işlevler. Bir seçenek belirlendiğinde, kutu işaretli olarak işaretlenir. Onay kutuları ile temsil edilen birden fazla seçenek seçilebilir.

  • List-box - Seçim için mevcut öğelerin listesini sağlar. Birden fazla öğe seçilebilir.

Diğer etkileyici GUI bileşenleri şunlardır:

  • Sliders
  • Combo-box
  • Data-grid
  • Açılır liste

Kullanıcı Arayüzü Tasarım Faaliyetleri

Kullanıcı arayüzünü tasarlamak için gerçekleştirilen bir dizi faaliyet vardır. GUI tasarım ve uygulama süreci, SDLC'ye benzer. Şelale, Yinelemeli veya Spiral Model arasında herhangi bir model GUI uygulaması için kullanılabilir.

GUI tasarımı ve geliştirmesi için kullanılan bir model, bu GUI'ye özgü adımları yerine getirmelidir.

  • GUI Requirement Gathering- Tasarımcılar, GUI'nin tüm işlevsel ve işlevsel olmayan gereksinimlerinin bir listesini almak isteyebilirler. Bu, kullanıcıdan ve mevcut yazılım çözümünden alınabilir.

  • User Analysis- Tasarımcı, yazılım GUI'sini kimin kullanacağını araştırır. Tasarım detayları kullanıcının bilgi ve yetkinlik düzeyine göre değiştiği için hedef kitle önemlidir. Kullanıcı teknik bilgili ise, gelişmiş ve karmaşık GUI dahil edilebilir. Acemi bir kullanıcı için, yazılımın nasıl yapılacağı hakkında daha fazla bilgi yer almaktadır.

  • Task Analysis- Tasarımcılar, yazılım çözümü tarafından hangi görevin yapılması gerektiğini analiz etmelidir. Burada GUI'de, nasıl yapılacağı önemli değil. Görevler, bir ana görevi alarak ve onu daha küçük alt görevlere bölerek hiyerarşik bir şekilde temsil edilebilir. Görevler, GUI sunumu için hedefler sağlar. Alt görevler arasındaki bilgi akışı, yazılımdaki GUI içeriğinin akışını belirler.

  • GUI Design & implementation- Tasarımcılar, gereksinimler, görevler ve kullanıcı ortamı hakkında bilgi aldıktan sonra, GUI'yi tasarlar ve koda uygular ve GUI'yi arka planda çalışan veya kukla yazılımla gömün. Daha sonra geliştiriciler tarafından kendi kendine test edilir.

  • Testing- GUI testi çeşitli şekillerde yapılabilir. Kurum içi denetime sahip olabilir, kullanıcıların doğrudan katılımı ve beta sürümün yayınlanması bunlardan birkaçıdır. Test, kullanılabilirlik, uyumluluk, kullanıcı kabulü vb. İçerebilir.

GUI Uygulama Araçları

Tasarımcıların bir fare tıklamasıyla tüm GUI'yi oluşturabilecekleri çeşitli araçlar vardır. Bazı araçlar yazılım ortamına (IDE) gömülebilir.

GUI uygulama araçları, güçlü bir dizi GUI denetimi sağlar. Yazılım özelleştirme için tasarımcılar kodu buna göre değiştirebilir.

Farklı kullanım ve platforma göre GUI araçlarının farklı segmentleri vardır.

Misal

Mobil GUI, Bilgisayar GUI, Dokunmatik Ekran GUI vb. GUI oluşturmak için kullanışlı olan birkaç aracın listesi:

  • FLUID
  • AppInventor (Android)
  • LucidChart
  • Wavemaker
  • Görsel stüdyo

Kullanıcı Arayüzü Altın kuralları

Aşağıdaki kuralların, Shneiderman ve Plaisant tarafından kitaplarında (Designing the User Interface) açıklanan GUI tasarımı için altın kurallar olduğu belirtilmiştir.

  • Strive for consistency- Benzer durumlarda tutarlı eylem dizileri gerekli olmalıdır. Bilgi istemlerinde, menülerde ve yardım ekranlarında aynı terminoloji kullanılmalıdır. Tutarlı komutlar baştan sona kullanılmalıdır.

  • Enable frequent users to use short-cuts- Kullanıcının etkileşim sayısını azaltma isteği kullanım sıklığı ile artar. Kısaltmalar, işlev tuşları, gizli komutlar ve makro olanakları, uzman bir kullanıcı için çok faydalıdır.

  • Offer informative feedback- Her operatör eylemi için bazı sistem geri bildirimleri olmalıdır. Sık ve küçük eylemler için yanıt mütevazı olmalı, seyrek ve büyük eylemler için ise yanıt daha önemli olmalıdır.

  • Design dialog to yield closure- Eylem dizileri başlangıcı, ortası ve sonu olan gruplar halinde düzenlenmelidir. Bir eylem grubunun tamamlanmasındaki bilgilendirici geri bildirim, operatörlere başarının tatmini, rahatlama duygusu, acil durum planlarını ve seçenekleri akıllarından bırakma sinyalini verir ve bu, bir sonraki için hazırlanmanın önündeki yolun açık olduğunu gösterir. eylemler grubu.

  • Offer simple error handling- Sistemi mümkün olduğunca kullanıcının ciddi bir hata yapmayacağı şekilde tasarlayın. Bir hata yapılırsa, sistem bunu tespit edebilmeli ve hatayı ele almak için basit, anlaşılır mekanizmalar sunabilmelidir.

  • Permit easy reversal of actions- Kullanıcı hataların geri alınabileceğini bildiği için bu özellik endişeyi giderir. Eylemlerin kolayca tersine çevrilmesi, bilinmeyen seçeneklerin keşfedilmesini teşvik eder. Tersinirlik birimleri tek bir eylem, bir veri girişi veya tam bir eylemler grubu olabilir.

  • Support internal locus of control- Deneyimli operatörler, sistemden kendilerinin sorumlu olduğu ve sistemin eylemlerine yanıt verdiği hissini şiddetle arzular. Sistemi, kullanıcıları yanıt verenler yerine eylemlerin başlatıcısı yapacak şekilde tasarlayın.

  • Reduce short-term memory load - Kısa süreli bellekte insan bilgisi işlemenin sınırlandırılması, ekranların basit tutulmasını, çoklu sayfa görüntülerinin birleştirilmesini, pencere hareket sıklığının azaltılmasını ve kodlar, anımsatıcılar ve eylem dizileri için yeterli eğitim süresinin ayrılmasını gerektirir.