Android Destekli Bir Restoran Bilgi Sistemi: posa betül Altıok1, Eray Dikbayır1, Seyyit Melih Toksari1, Özgür Sakızlı2, İlker Korkmaz2




Yüklə 52.21 Kb.
tarix29.04.2016
ölçüsü52.21 Kb.
Android Destekli Bir Restoran Bilgi Sistemi: POSA

Betül Altıok1, Eray Dikbayır1, Seyyit Melih Toksari1, Özgür Sakızlı2, İlker Korkmaz2

1 İzmir Ekonomi Üniversitesi, Yazılım Mühendisliği Bölümü, İzmir

2 İzmir Ekonomi Üniversitesi, Bilgisayar Mühendisliği Bölümü, İzmir

betul.altiokk@gmail.com, eray_dikbayir@hotmail.com, smtoksari@gmail.com, ozgursakizli@gmail.com, ilker.korkmaz@ieu.edu.tr

Özet: Son yıllarda çeşitli sektörlerdeki çoğu bilgi sisteminin tablet bilgisayar ortamlarına taşınmaya çalışılmasıyla, Android işletim sistemi tabanlı yazılım uygulamaları da birçok firmanın gündemindedir. Genellikle gıda ile ilgili sektörlerde, bilhassa restoran benzeri işletmelerde, en azından siparişler ile ilişkili işlemler için hizmet kalitesini arttırmak adına mobil satış noktası (“point of sale”, POS) teknolojilerinin kullanımı kaçınılmaz hale gelmiştir. Bu açıdan, Android bazlı programlarla da kontrol edilebilen restoran POS otomasyon uygulamalarıyla önümüzdeki yıllarda sık karşılaşılacağı öngörülmektedir. Bu motivasyon doğrultusunda, bu bildiride örnek bir Android destekli restoran yönetim bilgi sistemi sunulmuş ve sistemin yazılım geliştirme süreçlerinin ilk safhaları aktarılmıştır.
Anahtar Sözcükler: Android İşletim Sistemi, Satış Noktası (POS), Restoran Bilgi Sistemi, Mobil Yazılım Geliştirme.
An Android Supported Restaurant Information System: POSA
Abstract: As many information systems in various sectors have been endeavoured to port into tablet computer platforms in recent years, Android operating system based software applications have also been on the agenda of many firms. Generally in food related sectors, especially in the restaurant-like enterprises, the use of mobile point of sale (POS) technologies have been inevitable to raise the service quality for at least the operations associated with orders. Regarding this, it is foreseen that restaurant POS automation applications managable by Android based programs are to be encountered in the coming years. In accordance with this motivation, a sample Android supported restaurant management information system is presented and the initial phases of the software development processes of the system is analysed.
Keywords: Android Operating System, Point of Sale (POS), Restaurant Information System, Mobile Software Development.

1. Giriş
Günümüzde her alanla ilişkili bilgi sistemlerinin tablet bilgisayar ortamına taşınmaya çalışılmasıyla, mobil yazılım uygulamaları, gelişmekte olan ve dolayısıyla eğilim kazanan teknolojiler arasında ön sıralarda yer almaktadır [1]. Güncel internet teknolojilerini iş süreçlerinde kullanan işletmeler, son yıllarda hızla gelişen mobil yazılım ürünlerini de alternatif araçlar olarak bünyelerine katmaktadır. Birçok sektörde otomasyon sistemi dahilinde kullanılan satış noktası (“point of sale”, POS) terminal uygulamaları, yerel ağ içi yazılımları veya web tabanlı bilgi sistemleri şeklinde mevcuttur. Genel olarak gıda ile ilgili sektörlerde, bilhassa yemekhane, otel, kafe ve restoran benzeri işletmelerde hizmet kalitesini arttırmak adına en azından siparişler ile ilişkili işlemler için mobil POS teknolojileri kaçınılmaz hale gelmiştir. Bu açıdan, önümüzdeki yıllarda, Android yazılımlarıyla da kontrol edilebilen web tabanlı restoran bilgi sistemleriyle sık karşılaşılacağı düşünülmektedir. Bu motivasyon doğrultusunda, bu bildiride örnek bir Android destekli restoran bilgi sisteminin yazılım geliştirme süreçlerinin ilk safhaları aktarılmaktadır.
Bu bildiri, İzmir Ekonomi Üniversitesi Mühendislik ve Bilgisayar Bilimleri Fakültesi bünyesinde bitirme projesi olarak geliştirmekte olduğumuz POSA (“POS_using_Android”) uygulamasını kapsamaktadır. Projedeki temel amaç, restoranlara yönelik web tabanlı POS sistemine Android tabanlı POS uygulaması desteği entegre ederek hem müşteri memnuniyetini arttırmak hem de restoran sahiplerine maliyet ve zaman kazancı sağlamaktır. Ayrıca proje dokümantasyonunun, hazırda kullanılan web tabanlı uygulamaları yeniden inşa etmeden hızlıca Android tabanlı uygulamalara çevirmek isteyen yazılım geliştiricilere yol gösterici olması hedeflenmiştir.
2. Restoran POS Sistemleri Hakkında
Geçmişten beri perakende sektöründe kullanılan POS sistemleri, satış hareketinin terminal adı verilen bir ek donanım aracılığıyla gerçekleştirilerek ilgili bilgilerin işlenebildiği otomasyon sistemleridir. POS donanımları ilk önce IBM tarafından 1970’li yıllarda tasarlanmış ve mikroişlemci kontrollü çalışan ilk restoran POS sistemi 1974 yılında McDonald’s tarafından kullanılmıştır [2]. 1986 yılında ilk grafiksel ve dokunmatik ekran desteği sunan POS yazılımı ViewTouch [3] markası altında geliştirilmiştir [2]. 1990’larda sayısı giderek artan Windows ve Unix tabanlı POS sistemlerini takiben 2000’li yılların sonlarında yaygınlaşan bulut hesaplama hizmetleri sayesinde POS sistemleri, işletim platformlarından bağımsız olarak sadece internet bağlantısı ile erişilebilir hale gelmiştir.
Restoran POS sisteminin genel amacı müşterilerden alınan siparişlerin ana bilgisayara aktarılıp oradan ilgili birimlere (mutfaktaki çalışanlara, garsonların kullandığı cihazlara, kasiyere veya diğer görevlilere) gönderilmesi, hesap çıkartılması, oturma düzenlerinin ayarlanması ve gün sonu raporunun çıkartılması gibi özellikleri otomatikleştirmektir.
Restoran POS sistemlerinde, restoranlarda kullanılan web tabanlı bilgi sisteminin merkezinde POS otomasyonu bulunmaktadır. POS sistemleri, literatürde incelendiği üzere, restoranlarda farklı şekillerde kullanılmıştır. Örneğin Williams v.d. [4] tarafından aktarılan çalışmada kablosuz ağ ortamında iletişim sağlanmıştır; Pantelidis’in [5] belirttiği çalışmada internet üzerinden istekler gönderilerek internet bir nevi restoran ortamı haline getirilmiştir; Lo v.d. [6] tarafından belirtilen çalışmadaysa mobil cihazlar kullanılmış ve POS sistemi üzerinde yararlı olabilecek, restoranın yerini ve restoran otoparkının durumunu bildiren akıllı telefon uygulamaları gibi farklı özellikler yazılıma eklenmiştir.
Restoranlarda kullanılan web tabanlı bilgi sistemlerinde anlık veri akışı olduğu için sistem tasarımında dikkat edilmesi gereken kritik noktalar baştan planlanırsa yararlı olur. Mesela, Williams v.d. [4], Pantelidis [5], Lo v.d. [6] ve Ford v.d. [7] tarafından belirtilen çalışmalarda, karşılaşılabilecek muhtemel problemlere önlem alınması amacıyla risk planlaması yapılmıştır. Ayrıca, Williams v.d. [4] ve Lo v.d. [6] tarafından sunulan çalışmalarda sistem tasarımı 3 katmanlı yapıda oluşturulmuştur. Bu tasarımın tercih sebebi veri tabanına erişimin kısıtlanmasıdır ki özellikle kullanıcı ara yüzünden veri tabanına doğrudan erişimi engellemektir. Farklı bir yaklaşım olarak, Ford v.d. [7] tarafından sunulan proje raporunda sistemin yapısı merkezi bilgisayar yaklaşımı ile tasarlanmıştır.
Yapılmış olan projelerinin çoğunluğunda proje hayat döngüsü adım adım ilerleyen bir yapıya sahiptir [4, 5, 6, 7]. Bu tercihin sebebi, restoran bilgi sistemlerinin içerisinde çok sayıda modül olmasıdır. Her bir modül genellikle tek tek eklenir ve eklenen her modül sonrasında sistemin test edilmesi yararlıdır. Sistemler kodlanırken düşünülecek önemli unsurlardan biri de kullanılacak programlama dili ve/veya ihtiyaca göre çerçeve teknolojilerdir. Ford v.d. [7] tarafından aktarılan projede Java programlama dili kullanılırken, Lo v.d. [6] tarafından aktarılan projede .NET çerçeve teknolojileri kullanılmıştır; Williams v.d. [4] tarafından aktarılan projedeyse hem JAVA dili hem de .NET teknolojileri kullanılmıştır. Bu gibi nesneye dayalı programlama destekleyen ve fazla miktarda hazır fonksiyon sunan teknolojiler daha kısa zamanda daha çok yeni özellikler ekleyebilmeyi kolaylaştırmaktadır.
Türkiye’de de kullanılan bazı ticari POS uygulamalarına örnek olarak SambaPOS [8], Arkhe-Denge [9] ve Omni-Vectron [10] sistemleri gösterilebilir. Arkhe-Denge [9] uygulamasını kullanan çalışanlarla yaptığımız görüşmelerde kullanıcı ara yüzünün biraz karmaşık algılandığı ve cihaz üzerinde işlem yaparken fazla zaman harcandığı iletilmiştir. Bu doğrultuda, bu çalışma kapsamında geliştirilen uygulamanın kullanılacağı tablet bilgisayar ve akıllı telefon gibi mobil cihazların ekranları küçük olduğu için kullanıcı ara yüzlerini, işlevleri azaltmadan olabildiğince basit halde tasarlamayı planladık. SambaPOS [8] ve Omni-Vectron [10] uygulamalarında, olumlu bir özellik olarak, sistemdeki kullanıcı, masa ve kullanıcı terminallerinin sayısının çok fazla olabileceği belirtilmiştir. Restoranların büyüklüğüne göre fazla sayıda kullanıcının sistemi aynı anda kullanabilmesi ve her bir kullanıcının kendisine ait giriş izni olması uygundur. Aynı zamanda büyük restoranlarda sayısal olarak fazla masa bulunabilir. Bu özellikler doğrultusunda, bu çalışma kapsamında geliştirilen uygulamada çok sayıda kullanıcıyı, masayı ve kullanıcı terminalini destekleyebilecek bir yapı hazırlamayı ve farklı rollerdeki kullanıcılara uygun yetkilendirme özelliği sunmayı planladık.
3. Sistem Analizi
3.1 Genel Yapı

Tasarlanan sistemin genel yapısı Şekil 1’de gösterilmiştir. Sistemdeki kullanıcılar, sunucu üzerinde saklanmakta olan bilgilere mobil cihaz üzerinden Android tabanlı uygulama ile web sitesine bağlanarak 


ulaşmaktadır. Ayrıca kullanıcı hem mobil cihaz hem de ana terminal üzerinden 
sisteme ulaşabilmektedir. Uygulama web sitesi üzerinde çalışmakta olduğu için mobil cihaz ve ana terminal de
birbirleri ile iletişim halindedir.


Şekil 1. Sistemin genel yapısı.
3.2 İhtiyaç Analizi

Gerçek müşterilerle yapılan görüşmeler sonucu ortaya çıkan ihtiyaç analizinde, restoranlarda kullanılmak üzere tasarlanan POS sistemlerinde ortak olarak bulunan rezervasyon işlemleri, adisyon işlemleri, yönetim işlemleri (masa planı oluşturma, ürün, şube ve departman yönetimi, kullanıcı yetkilendirme işlemleri, rapor işlemleri) gibi süreçlere ek olarak her sistemde bulunmayabilen şu gereksinimler de tespit edilmiştir: Bünyesinde farklı departmanlar barındıran işletmeler için departman bazlı fiyat tanımlamaları; müşterinin garson yardımı olmadan sisteme kendi Android cihazındaki uygulamayla bağlanarak sipariş verebilmesi; sürekli müşteriler için açık hesap takibi; restoran zincirlerinde kullanılmaya yönelik farklı şube tanımlamaları.




3.3 E-R Şeması



Şekil 2. Sistemdeki veri tabanı tasarımı için E-R şemasının bir kısmı.


Şekil 2'de tasarlanan sistemdeki veri tabanının örnek bir kısmının varlık-ilişki modeli E-R (“entity-relationship”) şemasıyla gösterilmiştir. “Masa” varlığının tüm elemanları, şemadaki diğer varlıklarınsa sadece birincil anahtarları gösterilmiştir. Geliştirilen projedeki veri tabanında 25 tablo bulunmaktadır; yer sıkıntısı nedeniyle detaylar ve diğer kısımlar burada gösterilmemiştir. Şekil 2’ye göre, müşteri, masa numarası ve ürünlerin olduğu adisyonla birlikte hesap ödemektedir.
3.4 Kullanım Senaryosu Şeması

Geliştirilen sistemdeki tüm aktörlerin ve bu aktörlerin etkileşim halinde olduğu tüm işlevlerin belirtildiği kullanım senaryosu şeması Şekil 3’te gösterilmiştir. Sistem tasarımında, garson, şef garson, barmen, kasiyer, mutfak çalışanı ve yönetici olmak üzere 6 farklı tip aktör tanımlanmıştır ve bu kullanıcıların her biri sistemdeki rollerine göre farklı yetkilere sahip olacaktır.






Şekil 3. Sistemdeki aktörleri ve rollerini içeren kullanım senaryosu şeması.


3.5 Örnek Aktivite Şeması

Veri tabanının Şekil 2'de sunulan kısmıyla ilişkili bir örnek ele almak üzere, Şekil 3’te sunulan kullanım senaryolarından kasiyer aktörünün hesap kapatma senaryosuyla ilişkili örnek aktivite şeması Şekil 4’te incelenebilir. Şekil 4’teki şemada sistemin akış yönünden davranışı betimlenmiştir; “veresiye” ifadesi açık hesap hizmetine karşılık gelmektedir.


3.6 Kullanıcı Ara yüzü

Sistem henüz uygulama geliştirme aşamasındadır. Kullanıcılara sunulacak ilk ara yüz Şekil 5’te temsili olarak gösterilmiştir. Ara yüzün basit, kullanıcı için anlaşılır ve işlevlerin tümüne ulaşabilecek sadelikte olması ele alınmıştır. Geliştirme sürecinde, bilhassa tüm aktörlerin ilgili senaryo davranışlarını sergileyebilmek üzere yetkin oldukları tüm fonksiyonlara ulaşmaları için, ara yüzlerde bazı kısımlarda değişiklik yapılması düşünülebilir.


4. Tartışma ve Gelecek Çalışmalar
Bu çalışma kapsamında geliştirilen projede Android tabanlı bir uygulama tercih edilmiştir. Bunun temel sebepleri, Android işletim sisteminin özgür yazılım olanağı sunması ve de günümüzde Android cihaz kullanım oranının geniş olmasıdır.


Şekil 4. Sistemde kasiyerin hesap kapatma senaryosuna yönelik örnek aktivite şeması.

Şekil 5. Sistemdeki kullanıcı ara yüzü.
Ayrıca, bulut hesaplama [11] hizmetleri sayesinde, uygulamaların veri tabanlarına internet erişimi olan her yerden ulaşması mümkün hale gelmiştir. Bu anlamda, Android uygulamaları bulut hesaplama ortamındaki hizmetlere ulaşmak için çok sık kullanılabilmektedir. Ek olarak, eski POS sistemlerinin yazılımlarına nazaran Android tabanlı sistemlerin fark yaratan özellikleri şöyle sıralanabilir: Kullanım kolaylığı, düşük bellek miktarı ve düşük işlemci gücü tüketimi, yeni özelliklerin uygulamaya kolay eklenebilmesi. Android uygulamalarının program geliştiriciler için en büyük dezavantajı ise klasik yöntemlerden farklı olarak kısıtlı kaynakların kullanımına yönelik kod yazılması ihtiyacıdır.
Android henüz yaygınlaşan bir teknoloji olduğu için yeterli dokümantasyon kaynağı bulunamaması sebebiyle mobil cihazlara yönelik kod geliştirme süreci zor görülebilir. Bu sebeple, web bazlı bilgi sistemlerinden Android bazlı olanlara geçiş için yol gösterici dokümantasyon hazırlamak da bu projenin hedeflerinden birisidir.
İzmir Ekonomi Üniversitesi Mühendislik ve Bilgisayar Bilimleri Fakültesi dahilinde bir bitirme projesi olarak önerilen bu uygulama henüz geliştirme aşamasında olup son aşamada yazılım kullanılabilir hale gelmeden önce performans testi [12] ve kullanıcı kabul testi [13] de yapılması düşünülmektedir.
5. Sonuç
Bu çalışmada, Android destekli web tabanlı bir restoran POS sisteminin yazılım geliştirme süreçleri aktarılmıştır. Sistemde, mevcut restoran POS sistemlerinde ortak olan işlevlerin akıllı telefon veya tablet bilgisayar gibi mobil cihazlar üzerinde uygulama olarak geliştirilmesinin yanı sıra, ihtiyaç analizi sonrası belirlenen ve mevcut POS sistemlerinde bulunmayan bazı ek özelliklerin de sunulması ele alınmıştır.
Mobil cihazlarda yaygın olarak kullanılması ve özgür yazılım imkanı sunması sebebiyle geliştirme ortamı olarak Android işletim sistemi seçilmiştir. Proje tamamlandığında, web tabanlı restoran bilgi sistemlerine Android destekli bir uygulama ile de erişilmesi için gerçekleştirilecek kod dönüşümünü aktaran bir kaynak oluşturulması planlanmaktadır. Ayrıca, Android bakımından arka planda çalışan donanımı etkin kullanmaya yönelik ve modüller açısından geliştirmeye açık bir restoran POS uygulaması gelecek çalışmalar dahilinde düşünülmektedir.
Bu gibi Android uygulamaları yaygınlaştıkça ve donanım desteği açısından bulut hesaplama hizmeti alındığında işletmelerin yatırım giderleri azalabilecektir.
6. Kaynaklar
[1] Lo J., Wyble C. and Hupfer S., "Fast Track to the Future: The 2012 IBM Tech Trends Report", IBM Corporation (2012), http://public.dhe.ibm.com/common/ssi/ecm/en/xie12346usen/XIE12346USEN.PDF

[2] http://en.wikipedia.org/wiki/Point_of_sale


[3] http://www.viewtouch.com
[4] Williams, W. and Simmonds D.M., "A Case Study in the Design of a Restaurant Management System", Proceedings of International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS), Las Vegas, Nevada (2010).
[5] Pantelidis, I.S., "High Tech Foodservice; an Overview of Technological Advancements", CHME 18th Annual Research Conference, Eastbourne, UK (2011).

[6] Lo, C.Y., Lin, C.T. and Tsai, C.L., "Mobile Restaurant Information System Integrating Reservation Navigating and Parking", International Journal of Engineering and Technology,.3(2):173-181 (2011).



[7] Ford, C., McVeigh, S., Ohia O., Taylor N. and VanSant, A., "Restaurant Automation Design Report", Senior Project Report at Iowa State University (2006), (http://seniord.ece.iastate.edu/may0714/documents.htm).
[8] http://www.sambapos.com
[9] http://www.arkhe.com.tr
[10] http://www.omni.com.tr
[11] Shroff G., "Enterprise Cloud Computing: Techonology, Architecture, Applications", Cambridge (2010).

[12] Denaro, G., Polini, A. and Emmerich, W., "Early Performance Testing of Distributed Software Applications", Proceedings of the 4th International Workshop on Software and Performance, USA, 94-103, (2004).

[13] Pressman, R.S., "Software Engineering A Practitioner’s Approach, 6/e", McGraw-Hill Higher Education (2001).






Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azrefs.org 2016
rəhbərliyinə müraciət

    Ana səhifə