-

Pazar Sepeti Analizi ve Birliktelik Kuralları

Pazar Sepeti Analizi

Son yıllardaki en önemli gelişmelerden biri veri hacmindeki artıştır. Bu artış ile veriler daha büyük veri tabanlarında tutulmaya başlandı. Bunun sonucu olarak Veri Tabanlarında Bilgi Keşfi-VTBK (Knowledge Discovery in Databases) isminde arayışlar ortaya çıkmıştır. VTBK farklı aşamalardan oluşmaktadır, veri madenciliği en önemli aşamalardan bir tanesidir. Veri madenciliği büyük miktarda veri içinden gelecekle ilgili tahmin yapmamızı sağlayacak bağıntı ve kuralların bilgisayar programları kullanarak aranmasıdır.

Pazar sepeti; müşterinin bir alışveriş esnasında neler aldığını gösterir. Müşterinin satın alma eğilimlerinin incelenmesi genel olarak Pazar Sepeti Analizi olarak adlandırılır. Pazar Sepeti Analizi veri madenciliğinde çok yaygın olarak kullanılan bir yöntemdir. Müşterilerin hangi ürün veya hizmeti almaya eğilimli olduğu veya aldığı bir ürün ile birlikte başka hangi ürünleri alabileceğinin analiz edilmesi daha fazla satış yapma yollarındandır. Pazar Sepeti Analizi, promosyon analizi çalışmaları, raf dizimi, müşteri alışkanlıkları analizi, mağazanın düzenlenmesi, stok kontrolü, kupon verilmesi, etkili satış yöntemlerinin geliştirilmesi gibi konularda fayda sağlamaktadır.

Pazar Sepeti Analizi’nde Birliktelik Kuralları (Association Rules) tekniği kullanılmaktadır.

Birliktelik Kuralları

Büyük veri kümeleri arasındaki ilişkileri bulan, olayların birlikte gerçekleşme ihtimallerini geçmiş verileri analiz edip ortaya koyarak geleceğe yönelik çalışmaları destekleyen, veri madenciliği yöntemine Birliktelik Kuralları denmektedir. Birliktelik Kuralları; ekonomi, eğitim, e-ticaret, pazarlama, telekomünikasyon gibi birçok sektörde geniş kullanıma sahiptir.

Veri madenciliğindeki teknikler verinin tanımlanmasını sağlayan tanımlayıcı (descriptive) ve sonuçları bilinmeyen verilerin tahmini için kullanılan tahmin edici (predictive) teknikler olarak ikiye ayrılmaktadır. Gerileme (regression), sınıflandırma (classification), sapma (deviation) tahmin edici yöntemlere, kümeleme (clustering) ve Birliktelik Kuralları ise tanımlayıcı tekniklere örnek olarak verilebilir.

Birliktelik kuralının en popüler örneği çocuk bezi (diapers) ve bira (beer) örneğidir. Normalde iki ürün arasında hiç bir ilişki yokmuş gibi görünmektedir. Literatürde bu konu ile ilgili meşhur bir hikaye vardır, Walmart ismindeki süpermarket zincirinin yaptığı analiz şu şekildedir; “Yeni çocuk sahibi olan ebeveynler eğlenmek için vakit bulamayıp cuma günlerini partiye gitmek yerine eve bira alarak evde geçirmek zorunda kalıyorlar. Bu yüzden bebek bezi alan baba çoğunlukla yanında bir de bira alır,” gibi bir çıkarımda bulunmaktadırlar. Bu doğrultuda bebek bezi ve birayı yakın yerlere koyarak satışlarını arttırmayı hedeflemektedirler.

Birliktelik kuralının gerçek hayatta kullanılan bir örneği de internet üzerinden kitap satışı yapan amazon.com‘dur. Müşteriye satın aldığı kitaptan yola çıkarak daha önce bu kitap ile satın alınma olasılığı en yüksek olan kitapları önermektedir. Günümüzde birçok web sitesinde bu yöntem aktif olarak kullanılmaktadır.

Birliktelik kuralının matematiksel modeli Agrawal, Imielinski ve Swami tarafından 1993 yılında ortaya çıkarılmıştır.

Birliktelik Kuralları’nda Kullanılan Temel Kavramlar;

Öğeler Kümesi (itemset): Bir veya daha çok öğeden oluşan kümedir.

Destek sayısı (support count): Öğeler kümesinin veri kümesinde görülme sıklığıdır.

Destek(support): Veride bağıntının ne kadar sık olduğunu tanımlar, öğeler kümesinin içinde bulunduğu birlikteliklerin toplam birliktelik sayısına oranıdır. Destek(A=>B) şeklinde gösterilmektedir.

Güven (confidence) : A malını almış bir kişinin B malını alma olasılığını vermektedir. Öğeler arasındaki birlikteliklerin doğruluğunu ifade etmektedir. Güven(A=>B) şeklinde gösterilmektedir.

Yaygın öğeler (frequent itemsest): Destek değeri minimum destek değerinden büyük ya da eşit olan öğeler kümesidir.

Destek (A)=

Destek (A=>B)=

Güven (A=>B)= Olasılık(B|A)  =

Örnek olarak farklı zamanlarda yapılmış olan aşağıdaki gibi bir Pazar sepeti listesi olsun;

Tablo 1: Farklı zamanlara oluşturulmuş Pazar sepetleri.

A1 Süt, Ekmek
A2 Ekmek, Yumurta
A3 Süt, Peynir
A4 Yumurta, Ekmek, Peynir, Süt
A5 Peynir, Yumurta, Süt

 

Yaygın Öğeler;

1-Elemanlı Öğeler Kümesi

{Süt}à  Destek Sayısı(Süt)=4; Tablo 1’deki örneğe göre 5 Pazar sepetinin 4’ünde {Süt} ürünü satın alınmış, bu yüzden {Süt} ürününün destek sayısı 4 dür.

{Ekmek}-> Destek Sayısı(Ekmek)=3

{Yumurta}-> Destek Sayısı(Yumurta)=3

{Peynir}-> Destek Sayısı(Peynir)=3

2-Elemanlı Öğeler Kümesi

{Süt, Ekmek}-> Destek Sayısı(Süt, Ekmek)=2

{Ekmek, Yumurta}-> Destek Sayısı(Ekmek, Yumurta)=2

{Süt, Peynir}-> Destek Sayısı(Süt, Peynir)=3

{Yumurta, Peynir}-> Destek Sayısı(Yumurta, Peynir)=2

{Yumurta, Süt}-> Destek Sayısı(Yumurta, Süt)=2

3-Elemanlı Kümeler

{Yumurta, Ekmek, Peynir}-> Destek Sayısı(Yumurta, Ekmek, Peynir)=1

{Yumurta, Ekmek, Süt}-> Destek Sayısı(Yumurta, Ekmek, Süt)=1

{Ekmek, Peynir, Süt}-> Destek Sayısı(Ekmek, Peynir, Süt)=1

{Peynir, Yumurta, Süt}-> Destek Sayısı(Peynir, Yumurta, Süt)=2

4-Elemanlı Kümeler

{Yumurta, Ekmek, Peynir, Süt}-> Destek Sayısı(Yumurta, Ekmek, Peynir, Süt)=1

Hesaplamalar yapılırken minimum destek sayısı filtresi verilebilir. Örneğin minimum destek sayısı filtresi 2 ise hesaplamalara destek sayısı 1 olanlar dahil edilmez. Destek ve Güven sayılarının nasıl hesaplandığı aşağıdaki örnek ile anlaşılabilir:

Destek({Yumurta}=>{Peynir})= Destek Sayısı(Yumurta,Peynir)/Toplam Alışveriş Sayısı=2/5

Güven ({Peynir, Süt}=>{Yumurta})=Destek Sayısı(Peynir,Yumurta,Süt)/Destek Sayısı(Peynir,Süt)=2/3

Bütün yaygın öğe kümeleri oluşturulduktan sonra minimum destek sayısı ve minimum güven değerlerine eşit ve büyük olan kümeler yaygın öğeler kümesine dahil edilir ve birliktelik kuralları oluşturulur. Destek ve güven değerleri 0 ile 1 arasında değişmektedir. 1’e ne kadar yakınlarsa aralarındaki ilişki o kadar güçlüdür denilebilir. Güven değeri %100 ise kural “kesin” dir. Bu yüzden minimum güven kriterinin büyük verilmesi doğru sonucu vermesi açısından önemlidir. İki öğenin birlikteliğinin kesine yakın olabilmesi için hem destek hem de güven kriterinin yüksek olması gerekmektedir. Ayrıca minimum destek değeri küçük belirlenirse yöntem karmaşıklaşır ve çok sayıda yaygın öğe kümesi elde edilir.

Birliktelik kuralları için kullanılan çok farklı algoritmalar bulunmaktadır. Bunlardan bazıları aşağıdaki gibidir.

  • AIS: Agrawal tarafından 1993 yılında geliştirilmiştir,
  • Apriori: Agrawal ve Srikant tarafından 1994 yılında geliştirilmiştir,
  • SETM: Houtsma ve Swami tarafından 1995 yılında geliştirilmiştir,
  • Partition: Savasere tarafından 1995 yılında geliştirilmiştir,
  • FP-Growth: Han P.,Pei J.,Yin Y. Tarafından 2000 yılında geliştirilmiştir,
  • RARM (Rapid Association Rule Mining): Das tarafından 2001 yılında geliştirilmiştir,
  • CHARM: Zaki ve Hsiao tarafından 2002 yılında geliştirilmiştir.

Bu algoritmalardan ilki AIS, en bilineni Apriori Algoritması’dır.

Birliktelik kuralı madenciliği (Association Rule Mining) bütün yaygın öğe kümelerinin bulunması ve yaygın öğe kümelerinden Birliktelik Kuralları’nın üretilmesi olarak iki adımdan oluşmaktadır. Kullanılacak algoritmanın hızı birinci adımı etkilemektedir, ikinci adım genel olarak bütün algoritmalarda aynıdır.

Bir sonraki makalede bu algoritmalardan Apriori ve Fp-Growth incelenip örnek uygulamalar ile desteklenip karşılaştırma çalışması yapılacaktır.

Kaynaklar

[1]   Alpaydın, E., 2000, Zeki Veri Madenciliği: Ham Veriden Altın Veriye Ulaşma Yöntemleri, Bilişim 2000 Eğitim Semineri Bildiriler Kitabı, Bilişim 2000 Eğitim Semineri.

[2]   [15]. Ay, D. ve Çil, İ., 2008, Migros Türk A.Ş.’de Birliktelik Kuralları’nın Yerleşim Düzeni Planlamada Kullanılması, Endüstri Mühendisliği Dergisi, 21(2), 15-20.

[3]   Chen, Y.L., Chen, J.M. ve Tung, C.W., 2006, A Data Mining Approach For Retail Knowledge Discovery With Consideration of the Effect of Shelf-Space Adjacency on Sales, Decisions Support Systems, 42(3), 1503-1520.

[4]   [17]. Frawley, W. J., Piatetsky-ShApiro, G. ve Matheus, C. J., 1991, Knowledge Discovery Databases: An Overview, in Knowledge Discovery in Databases, AI Magazine, 13(3), 57-69.

[5]   ]. Güngör, E., Yalçın,N.,Yurtay, N., 2013, Apriori Algoritması ile Teknik Seçmeli Ders Seçim Analizi, UZEM 2013 Ulusal Uzaktan Eğitim ve Teknolojileri Sempozyumu, 01-03 Kasım 2013 Konya,Türkiye, 122-127.

[6]   Küçüksille, E., 2009, Veri Madenciliği Süreci Kullanılarak Portföy Performansının Değerlendirilmesi ve IMKB Hisse Senetleri Piyasasında Bir Uygulama, Doktora Tezi, Süleyman Demirel Üniversitesi Sosyal Bilimler Enstitüsü.

[7]   Data Mining Introduction Part 7: Microsoft Association, http://www.Sqlservercentral.com/articles/Microsoft+Association+algorithm/101807/, [Ziyaret tarihi:16 Nisan 2015].

[8]   Agrawal, R., Imielinski, T. ve Swami, A., 1993, Mining Association Rules Between Sets of Items in Large Databases, In Proceedings of the ACM SIGMOD International Conference on Management of Data, June 1 Washington, USA,  207-216.

[9]   [22]. Özçakır, F.C, Çamurcu, A.C, 2007, Birliktelik Kurali Yöntemi İçin Bir Veri Madenciliği Yazilimi Tasarimi Ve Uygulaması,  İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi, 6(12), 21-37.

[10]  Öğüdücü, Ş.G, Veri Madenciliği İlişkilendirme Kuralları, http://www3.itu.edu.tr/ ~sgunduz/courses/verimaden/, [Ziyaret tarihi:16 Nisan 2015].

ICSEM-Uluslararası Sistem Mühendisliği ve Modelleme Konferansı,Roma-En İyi Makale Ödülü

Yüksek lisans tezim ile ilgili çalışmaya devam ederken ikinci kez uluslararası bir konferansa makalemi sunmak üzere katılma tecrübesi  yaşadım. Clute Institute tarafından San Francisco’da organize edilen konferansta İş Zekası ile ilgili makalemizi sunmuştum onun devamı olarak bu kez Microsoft Sql Server Raporlama Servisleri ile ilgili bir makale çalışması yaptım. İş yerinden arkadaşım Ergül Azizler de yüksek lisansa devam ediyor, ayrı ayrı makale göndermeyi düşünüyorduk ikimizin de makalesi yetişmeyince birlikte çalışmaya karar verdik, tez danışmanım Yrd.Doç.Dr. Emel Arslan’ın katkıları ile  “Implementation Scenarios of Reporting from Data Warehouse for Business Intelligence” ismindeki makalemizi ortaya çıkardık. Bu çalışmada genel olarak Microsoft Sql Server Raporlama Servisleri’nden bahsedip, bir uygulama çalışması yaptık, günlük veri tabanından rapor almak ile veri ambarından rapor çekmek arasındaki farkı ortaya çıkarak bir çalışma oldu. İstanbul Üniversitesi Bilgisayar Mühendisliği Bölümü’nden hocam Yrd.Doç.Dr. Zeynep Orman IACSIT(Internation Association of Computer Science and Information Technology) organizasyonunun düzenlediği konferansın komitesinde yer almıştı, Zeynep Hoca ve Emel Hoca’nın önerisi ile IACSIT organizasyonunun düzenlediği ICSEM (International Conference on System Engineering and Modeling ),Roma’da gerçekleştirilen konferansa makalemizi yolladık. Aradan yaklaşık 1 ay geçtikten sonra makalemizin konferansa kabul edildiği haberini aldık :) Konferans 18,19 Mayıs tarihlerinde Roma’da gerçekleşti. Konferans katılımı için Ericsson’dan destek aldık, geçen sefer San Francisco’ya makale sunmak üzere gittiğimde yine Ericsson ve İstanbul Üniversitesi sponsor olmuştu.Kabul edildiğimiz haberini aldıktan sonra başladık hazırlıklara; bir yandan sunum vesaire hazırlanırken bir yandan da  Avrupa’ya gitmişken İspanya tur planı yaptık. İş yerinde iki haftalık izin aldık.

18 Mayıs’da konferans kaydımızı yaptık, 19 Mayıs’da da sunumlar oldu. Konferansa Keynote ve  açılış konuşmaları ile başladık. Cardiff Üniversitesi’nden Prof.Alexander Balinsky ve  Florida Teknoloji Enstitüsü’nden (The Florida Institute of Technology in Melbourne, Florida, USA) Prof. Wiliam Arrasmith açılış konuşması yaptılar. Açılış konuşmasından sonra Prof. Alexander, Prof. William ve  Paris Üniversitesi’nden Prof. Ben-Othman Jalel çalışmalarını sundular. İlk bölümden sonra aşağıdaki grup fotoğrafını çektik :)

group photo (1)

Konferans iki oturumdan oluşuyordu, bizim sunumumuz öğleden sonraki ilk oturuma dahil edilmişti. Öğleden sonraki ilk oturumda ikinci sırada makalemizi sunduk. Sunumu Ergül ile birlikte yaptık. Konferansta Amerika, İngiltere, Kore, Bulgaristan, Tayvan, Çin, Japonya, Hindistan, Ekvador, Mexica, Cezayir gibi çok farklı ülkelerden  insanlar vardı. Uluslararası bir etkinliğe katılmanın en güzel yanı farklı milletten insanlarla tanışıp kültürlerini tanımaktır. Farklı kültürler oldum olası ilgimi çekmiştir. Örneğin ilk defa Ekvador’dan biri ile tanıştım ve komik olan ülkeyi Ekvator çizgisinin üzerinde Sigapoure’a yakın bir yerlerde sanıyordum sohbet sırasında öğrendim ki Güney Amerika’da imiş, yaşayarak öğrenmiş oldum yani  bu bilgiyi :)  Kayıt günü tanıştığımız Güney Kore’li arkadaş ile o günü birlikte geçirip gezdik, yine onunla Kore’ye ve dünyaya dair sohbet ettik. Prof. Alexander İsrailli idi, acayip özgüvenli ve konuşkan bir kişilikti hemen hemen bütün sunumlarda müdahale edip yorum yapıyordu neyse ki bizim sunumda salonda değildi :) Kendisi ile de konferansın sonlarında bayağı samimi olduk, hayat hikayesini ve tecrübelerini dinledik. Bütün bunlar paha biçilmez tecrübe oldu bizim için.

Konferans sonunda en iyi makale ödül töreni ve akşam yemeği vardı. Her oturumdan bir makale seçilmişti veeee en iyi makale ödülü (Best Paper Award) bize geldi :)  Doğrusu hiç beklemiyorduk, süpriz oldu bizim için, harika bir andı. Prof. Alexandar’ın sertikamızı verirkenki mutluluğumuz aşağıdaki kareye yansımıştır.

session 1

Makalemiz IJMO dergisinde de yayınlandı, buradan okuyabilirsiniz.

Roma’dan sonra Barcelona’ya geçtik, iki arkadaşımız ile buluştuk, daha sonra araba kiralayıp güneye indik; Valenciya, Granada, Malaga, Ronda ve Cadiz’e gittik. Son iki günde ben aile ziyareti için Belçika’ya geçtim. Harika bir tatil geçirdik.

Konferans katılımıza destek olan Ericsson’a , Yrd. Doç. Dr. Emel ARSLAN’a, Yrd. Doç. Dr. Zeynep Orman’a, yaptığı harika gezi planı ve rehberliği için Ergül Azizler’e , tatil boyunca birlikte vakit geçirdiğimiz Serap Şen’e ve Volkan Çiçek’e, Belçika’daki akrabalarıma bu seyahatimin ve harika tecrübenin parçası oldukları için sonsuz teşekkürler :)

 

MIS Eğitimi-Yazılım Mühendisliği ve İşletmelerde Yazılım Geliştirme Yaklaşımları-Proje Yönetimi

MIS eğitimizin son haftasında çok beğendiğim eğitimlerden biri olan  Yrd.Doç.Dr.Gülfem Işıklar Alptekin’in “Yazılım Mühendisliği ve İşletmelerde Yazılım Geliştirme Yaklaşımları” konulu sunumu ile ilgili aklımda yer edinenleri aktarmak isterim.

Yazılım geliştirme süreçleri üzerine konuştuk.En çok kullanılan yazılım geliştirme süreci modelleri:

  • Çağlayan/Şelale(Watefall Model)
  • Evrimsel Geliştirme(Evolutionary/Iterative/Agile Development)
  • Bileşen Esaslı Geliştirme(Component-based Software Engineering)
  • Kitle Kaynak(Crowdsourcing)

Waterfall Model

Yazılımı kesin çizgiler ile aşamalara bölen bir modeldir.

Waterfall model yazılımı;

  • İhtiyaç analizi
  • Sistem ve yazılım tasarımı
  • Uygulama ve birim testleri
  • Entegrasyon ve testleri
  • Bakım

diye ayırır.

Her aşamadan sonra dökümanı yazılmalıdır.Bu model daha çok ihtiyaçların çok iyi bilindiği ve değişiklik yapılmasının pek beklenmediği durumlar için uygundur.Bu yüzden ihtiyaçların çok iyi belirlenmesi önemlidir,çünkü bu modelde geçmişe yönelik bir çalışma yapılmaz.Savunma sanayi projelerinde ya da kamu projelerinde bu model daha çok tercih edilir.

Waterfall modelinde yapılan yazılımdaki hatalar test aşamasında ortaya çıkar,bu sırada zaman bayağı ilerlemiştir, başa dönüp düzeltme yapmak çok maliyetlidir,aynı şekilde eğer isterlerde yanlışlık varsa ortaya istenenden farklı çok değişik bir yazılım çıkmış olabilir :) Bu modelde süreç ilerlerken değişiklik yapmanın zor olması ve bir aşama bitmeden diğer aşamanın başlayamaması dezavantaj olarak söylenebilir.

Evrimsel Geliştirme(Evolutionary Development)

Bu model daha çok küçük ve orta büyüklükteki etkileşimli projelerde veya büyük sistemlerin bazı bölümlerinde tercih edilir.Bu modelde bir uygulama yazıp kullanıcıdan gelen yoruma göre uygulama iyileştirilip tekrar kullanıcıya sorulur, süreç sürekli böyle devam eder.Yazılım tamamlanana kadar ortaya birçok versiyon çıkar.Sürecin müşteri onayı ve kontrolünde gerçekleşmesi avantajdır, fakat genel bir plan olmadığı için sürecin ileri evreleri öngörülemez.Genelde bu model ile geliştirilen sistemlerin ana yapısı sağlam değildir.Waterfall modelin aksine burada düzenli bir dökümantasyon yoktur,dökümantasyon yerine çalışan bir uygulama oluşur.Proje yöneticileri gelişmeyi yönetmek için düzenli rapor görmek isterler, bu da onları sıkıntıya sokabiliyor.

Bileşen Esaslı Geliştirme(Component-Based Software Development)

Bu modelde daha önceden yazılmış bileşenler sistematik bir biçimde diğer projelerde de kullanılır.Bu süreçteki adımlar aşağıdaki gibidir:

  • Bileşen analizi
  • İhtiyaçların düzenlenmesi
  • Tekrar kullanılan bileşenlerle sistem tasarımı
  • Geliştirme ve enterasyon

Bu model daha fazla kullanılmaya başlanıyor.

Kitle Kaynak(Crowdsourcing)

Bu model aslında çok yerde geçmiyor,hocamızın kendi derlemelerinden anlattığı bir modeldir.Bu modelde topluluğa yazılım geliştirtmek gibi bir yol izleniyor.Hocamız bu modeli çok iyi örnekleyen Topcoder ismindeki bir topluluktan bahsetti .Şirketler Topcoder’a yazılım ihtiyaçlarını iletiyor,onlar da bunun analizini yapıp tasklara bölüyorlar,daha sonra her bir task için yarışma yapıp ödül belirliyorlar.Siteye kayıtlı olan yazılımcılar bu task içi yazılım üretiyor ve gönderiyorlar, en iyi yazılım seçiliyor ve yazılımcıya ödül veriliyor,diğer yazılımcılara da puan veriliyor.Böylece işin maliyetini çok düşürmüş oluyorlar, hem de ortaya kaliteli yazılım çıkmış oluyor.Ben de bu topluluğu ve yöntemi  ilk defa duydum ama maliyetler düşük olduğu için şirketler de bu yöntemi tercih ediyormuş ve yazılımclar için de freelance çalışma olanağı doğmuş oluyor. Topcoder’ın yaptıkları çok daha kapsamlı aslında ama ben en genel hali ile bahsettim.

Çevik Yaklaşımlar ve Scrum 

Scrum ile ilgili internette sayısız kaynak bulabilirsiniz amacım Scrum’ı baştan sona anlatmak değil de,hiç fikri olmayan birinin baktığında fikir edinmesini sağlayacak nitelikte açıklamalar olacaktır.

Scrum metodunda iş parçalara bölünüyor,o parçaların her biri ekipler tarafından yapılıyor,her bir iterasyonda ortaya bir ürün çıkıyor,bu ürün müşteriye gösteriliyor sonra başka kısmına geçiliyor.

Bu çalışma boyunca Product Owner da süreçlere dahil edilir,buradaki Product Owner müşteriyi temsil eden kişidir.Scrum metodolojisinde iş bölümlerinin her birine sprint deniyor,sprintler genelde 1-4 hafta olabiliyor.Her bir sprintde çalışacak ekip üyeleri belirlenir ve her bir sprintde bir Scrum Master olur.Scrum Master süreci yöneten kişidir ve günlük Scrum toplantılarına öncülük eder.Sprintin ilk toplantısında; yapılacak işler görev dağılımları ve süreler belirlenir. Sprint süresi uzatılmaz, yetişmeyen işler diğer sprinte aktarılır.Scrum’ı diğer  metotlardan ayıran özelliklerden biri olarak; ekip elemanları birden fazla rolde yer alabilirler veya her sprinde farklı işler yapıyor olabilirler.Bu arda her sprintdeki elemanlar farklı olabiliyor.Günlük toplantılar olduğunu söyledim, bu günlük toplantılar genelde 10-15 dakika olabiliyor,sabah işe başlamadan ekip üyeleri toplanıp o gün neler yapacaklarını,problemleri varsa dile getirebilecekleri minik toplantı yapıyorlar,bu toplantıları scrum master yönetir.Bizim ofiste de her sabah bir tahta önünde ellerinde çay kahve minik notları tahtaya yapıştırıp konuşanları falan görüyorum.Onların da scrum uyguladıklarını düşünüyorum :) biraz özeniyorum açıkçası,scrum uygulayan bir ekiple çalışmak isterdim.

Scrum metodu Amerikan futboluna benzetilebilir,herkes itiş kakış bir araya geliyor ve takım oyunu oynuyor.Waterfall ise bir bayrak yarışı gibidir,aşamalıdır, bir aşama biter diğeri başlar.

Scrum uygulayan bilindik firmalar arasında Yahoo,Bbc,Siemens,Ikea,Microsoft,Nokia,IBM…sayılabilir.

Bir de Scrum-But olarak adlandırlan metod varmış,bunda Scrum kısmi olarak uygulanıyor,bir şeyler eksik kalıyor.

Bu eğitimde aynı zamanda UML(Unified Modeling Language),LIS(Legacy Information Systems),yazılım test süreçleri,test çeşitleri üzerine konuştuk.MIS eğitimi boyunca en faydalı bulduğum oturumlardan bir tanesi oldu.Hocamıza çok teşekkürler.

Geçtiğimiz hafta eğitimimiz son buldu,genel olarak faydalı bir eğitim olduğunu söyleyebilirim.Olayların dışına çıkıp büyük çerçeveyi görmemi sağladı.Çalıştığım sektör ile ilgili daha fazla bilgi sahibi oldum,süreçleri öğrendim.Eğitim Kordinatörü Temel Öncan Hocamıza ilgisinden dolayı teşekkürler.Eğitim ile ilgili sertifika sınavına da girdim, sınavı geçmişim :)Böylece eğitimde mutlu son oldu :)

 

MIS Eğitimi-Crm ve Uygulamaları

Galatasaray Üniversite’si tarafından organize edilen Mis Eğitimi’nde geçtiğimiz hafta Yusuf Tokmakçı “CRM ve Uygulamaları” konulu sunumu ile bizlerle oldu. Yusuf Bey son 11 senedir Siemens’de çalışıyor,8 sene Kanada Siemens’de çalışmış şuanda da Türkiye Siemens’de IT Director olarak çalışıyor. Kendisinin mütevazi ve samimi tavırları çok hoşuma gitti. Sunumdan aklımda kalanları aşağıdaki gibi özetleyeceğim.

Ben de şuan VodafoneNet CRM Projesi’nde çalışıyorum. CRM’e biraz dışardan bakmak, farklı yönlerini görmek benim için faydalı oldu. CRM’in açılımı Customer Relationship Managemet dir, yani Müşteri İlişkileri Yönetimi. Hocamızın tanımına göre CRM müşteri ilişkilerini oluşturma, müşterileri şirkete kazandırma ve kurulmuş ilişkilerini yaşatmayı sağlayan birçok alana entegre bir yaklaşımdır. CRM müşterilerin işin esas merkezi olduğu prensibine dayanır ve şirketin başarısının müşteri ilişkileri ile orantılı olduğunu savunur.

CRM Çeşitleri:

  • Operasyonel CRM
  • Analitik CRM
  • İşbirlikçi CRM

CRM Bileşenleri:

  • Satış: Ürünü müşteriye satmak, karşılığında para almak,
  • Pazarlama: Tanıtım, sunum, reklam, kampanya, fırsata öncülük etmek,
  • Servis: İşi destekleme,
  • Çağrı Merkezi
  • Elektronik Ticaret

CRM projeleri ile ilgili ilginç bir analiz; dünyada yapılan CRM projelerinin %50 den fazlası başarısız oluyormuş. Başarısız olan CRM ler ihtiyaçları karşılamıyor ya da müşteriyi memnun etmiyor olabilir.

CRM Uygulama Tüpleri:

  • Enterprise: Şirket sunucuları üzerine kurulup kullanılan,
  • On-Demand: Web üzerinde kurulup browser aracılığı ile erişilen CRM servisi.

CRM uygulaması alırken dikkat edilmesi gerekenler konusunda konuştuk. Yeni alınacak CRM sisteminin mevcut sistemleriniz ile uyumlu olması çok önemli bir faktör. CRM Programının sadece sizin işnize yarayacak kadar özelliği ile ilgilenin fazlası zarar olabilir :) Best-practice sharing önemli, uygulamayı kullananlardan feedback almak gerekirmiş. CRM projelerinin %50 den fazlasının başarısız olduğunu düşünürsek başlangıçta çok yazılım/donanım yatırımı yapmamak gerekir.

EN popüler CRM uygulamaları :Oracle On Demand; şuan Siemens’de kullanılıyormuş, Salesforce.comCRM;hocamız bunu çok başarılı bulduğunu paylaştı, Sage Act, Sap CRM, Maximizer CRM,…

Bir CRM projesi yapacaksanız düzgün bir Business Case hazırlamak gerekir, maliyetlerin yanı sıra faydalara da odaklanmalıyız. CRM yapılacağına karar verilmişse yatırım yapmakdan kaçınmayın, ya başlamayın ya da başlamışken masraftan kaçmayın demişti hocamız :) CRM projelerinde en önemli etken iş ekipleridir, bunlarla kesinlikle kordineli çalışılmalıdır. Şuan çalıştığım projeden de söyleyebilirim, arada senkronizasyon bozukluğu olduğunda yapılması gerekenden çok farklı işler ortaya çıkabiliyor.

Faydalı ve eğlenceli sunum için Yusuf Bey’e teşekkürler.

 

MIS Eğitimi-IT Governance

Galatasaray Üniversitesi’nde aldığımız MIS eğitimin’de geçtiğimiz hafta Dr.Şahin Akkargan’dan “IT Governance” konusunu dinledik.Şahin Bey 5 sene akademisyen olarak çalıştıktan sonra yaklaşık 15 senedir IT sektöründe farklı pozisyonlarında çalışmış .Şu anda NovaBold Bilgi Teknolojileri Şirketi’nde Genel Müdür olarak çalışmaktadır. Eğitimde en çok dikkatimi çeken ve aklımda kalan kısımları özet olarak aktarmaya çalışacağım.

IT Governance’ın ne olduğu ile başlamak faydalı olacaktır, Governance kavramını Türkçe’ye Yönetişim olarak çevirebilir.IT yönetişimi için Gartner’ın yaptığı şöyle bir tanım bulunmaktadır :“BT yönetişimi ,bir organizasyonun iş hedeflerine ulaşabilmesi için Bilgi Teknolojilerinin etkin ve verimli kullanılmasını sağlayan süreçler topluluğudur.” Hocamızın ifadesi ile “IT stratejilerinin iş birimleri stratejileri ile paralelleştirilmesidir.”

Yönetim ve Yönetişim birbirinden farklı kavramlardır ve bunları karıştırmamak gerekir. COBIT 5 ile bu kavramlar birbirlerinden net şekilde ayrılmıştır. Yönetişim; değerlendirme, yönlendirme, büyük resmi izleme(Evaluate, Direct,Monitor) adımlarını, Yönetim ise planlama, geliştirme, uygulama ve izleme(Plan,Build,Run,Monitor) adımlarını içerir.

Şirketlerin müşterileri/paydaşları ile yaptıkları anketlere göre IT nin çıkardığı iş kendisine göre her zaman çok iyidir ancak müşteri her zaman aynı düzeyde memnun kalmaz. Anket sonuçları da bunu kanıtlar nitelikte.IT Governance’ın yapmak istediği tam olarak bu iki farklı bakış açısını mümkün olduğunca birbirine yaklaştırmaktır. Dersimizde “IT birimleri verdiği hizmetleri müşterilerinden daha çok beğeniyor olabilir mi?” sorusunu tartıştık. Kendi çalıştığım projelerden de düşünüyorum, IT biriminde çalışan biri olarak genelde yaptığımız işleri yeterli görüyorum :) fakat müşterilerimizin aynı oranda memnun kalmadığı zamanlar olabiliyor.

Global IT Governance modelleri vardır. Bu modelleri kullanmak genelde faydalı olsa da bazı dezavantajları da vardır. En büyük avantajları IT profesyonellerinin en iyi pratiklerinden derlenmiş yaklaşımlardır, birçok kurum önceden uygulamış örnekleri mevcuttur ve bağımsız denetimi kolaydır. Dezavantaj olarak da uzun uyarlama süresi ve yüksek uyarlama maliyeti söylenebilir. En çok bilinen modeller; Cobit, ISO 31000,ITIL,Togaf,Cmmi,ISO 27000,ISO 38500 dir. Ders kapsamında bunlardan 38500 ve Cobit üzerine konuştuk. Cobit, ISO 38500 standartlarının tamamını kapsar. Her iki standartda da üst yönetimin görevleri değerlendirme,yönlendirme ve gözlemlemedir(Evaluate,Direct,Monitor) .Cobit 5 Framework ile Governance of Enterprise IT olarak tabir edilmiştir, açılımı Control Objectives of Information and Related Technolgies dir.Cobit 5 kurumların iş hedeflerine ulaşmak için IT’den en yüksek faydayı sağlamasına yardımcı olan bir iş yönetim çerçevesidir. Cobit,Cobit1 ile  1996 yılında ilk versiyonu çıkarmıştır,2012 itibari ile de Cobit5 standartları kullanılıyor. Cobit 5 in kendine özel prensipleri mevcuttur. Derste bunları detaylı konuştuk, hatta hocamız bu aldığımız eğitim ile Cobit sertifikası alabileceğimizi ekledi.

Faydalı bir eğitim oldu, Şahin Bey’e teşekkürler.

MIS Eğitimi-Başarılı bir Elevator Pitch(Asansör Görüşmesi)

Galatasaray Üniversitesi MIS eğitiminin ikinci haftasında Ali Şir Olgaç “ICT ve Satış” konusu ile tecrübelerini bizimle paylaştı. Sunumunu çok faydalı ve keyifli buldum, eğitimden çok kısa bir bölümü aktarmak isterim.

Biraz hocamızdan bahsedecek olursam;4 sene Galatasaray Üniversitesi’nde akademisyen olarak görev yapmış, akademisyenliğin kendisine çok uygun olmadığını düşünerek sektörde çalışmaya başlamış. Son 14 senedir Orange Business Services şirketinde çalışıyor , Mühendis olarak girdiği şirkette şuan Türkiye Genel Müdür Yardımcısı, Satış tarafında görev yapıyor. Mühendislikten sonra aynı şirkette teknik taraftan satışa geçmiş. Bu da ilginç geldi bana doğrusu, zamanla kendi yeteneklerinin satışa daha uygun olduğunu görmüş ve genel müdür yardımcısı olmasından anlıyoruz ki başarılı da olmuş :)

Konuya ICT den başladık, ICT; Information Communication Technologies in kısaltmasıdır. Satış, pazarlama aslında hayatımızın her alanında vardır. Ali Bey’in de dediği gibi aslında hayatımızın her alanında kendimizi bir şekilde pazarlıyoruz, iş ararken, ikili ilişkilerimizde  ya da çocuğumuza iyi ahlakı pazarlıyoruz, iyi yönlerini gösterip benimsemesini sağlıyoruz.

Başarılı bir elevator pitch nasıl olur üzerine konuştuk ve simülasyon yaptık. Daha önce elevator pitch duymuştum ama nasıl olması gerektiği konusunda çok da fikrim yoktu. Türkçeye çevirisi asansör görüşmesidir. “Çok kısa bir vaktin var yatırımcıya/yöneticine fikrini aktaracaksın, bu kısa sürede en düzgün biçimde nasıl ifade edilir”, şeklinde özetleyebiliriz.

Bunun nasıl başarılı olabileceği ile ilgili hocamız bir kaç madde sıralamıştı:

  • Kendinizi tanıtma ile başlayın,
  • Esas konuya odaklanın,
  • İşin jargon kısmını çok kullanmayın, en sade şekilde anlatın,
  • Bir hikaye ile bağdaştırın,
  • Hedef kitlesi kim olacak,
  • Daha detaylı konuşmak üzere bir randevu alın ya da o kadar etkili anlatın ki görüştüğünüz kişi sizi davet etsin.

Konuya kendimizi tanıtmakla girmemiz gerekirmiş; kimiz, ne iş yapıyoruz gibi. Konuştuğumuz kişinin ajandasını iyi bilmek, takip etmek gerekiyormuş; örneğin asansörde yakaladığımız kişi bir CTO(Chief Technology Officer) ise anlatacağımız konuyu teknolojik ihtiyaçlarla bağdaştırabiliriz ya da CFO(Chief Finance Officer) ise ilgilendiği konu cost reduction (maliyet düşürmek) dir, önereceğimiz çözümün  maliyeti ne kadar azaltacağına odaklanabiliriz gibi. Fikrimizle ilgili hikayeyi konuştuğumuz kişinin ajandasına göre şekillendirmeliyiz.İşin jargonundan uzak durmalıyız, örneğin  anlattığımız konu projemizde ihtiyaç duyduğumuz bir ürün ise teknik terimlerden uzak durmamız gerekir, çünkü  konuştuğumuz kişi teknik biri olmayabilir. Hikayeyle birlikte problemin ne olduğunu ve bizim önerdiğimiz çözümün ne olduğunu ve dahası nasıl etkileri olacağını söylemek gerekir. Tabi bütün bunları söylemek için çok kısıtlı bir vaktimiz var :) Öyle etkileyici anlatmalıyız ki daha biz randevu istemeden o bizi davet etmeli :) çağırmıyorsa da kendi ayıbı,biz yine de randevu istemeliyiz :)

Bu Tren de (Asansör :) )her zaman gelmez, treni kaçırmamak gerekir…

 

 

MIS(Management Information Systems) Eğitimi 1. Hafta

Geçen haftasonu(15.11.2014) itibari ile Galatasaray Üniversitesi S.E.M ve Istanbul Instititue’nin organize ettiği 6 haftalık MIS(Yönetim ve bilişim sistemleri) eğitimimiz başladı.Eğitime şirketten 4 arkadaşım ile birlikte katılıyorum,Ericsson eğitim sponsorluğumuzu yapıyor sağolsun :)

Doğrusu eğitime başlamadan önce Bilgisayar Mühendisliği’nden mezun ve sektörde çalışan biri olarak acaba bildiğim şeyler mi olacak diye tereddüt etmiştim ama kesin içerik yayınlandıktan ve ilk haftayı geride bıraktıktan sonra tereddütlerimi de geride bıraktım.Şuan için ilk izlenimlerim olumlu diyebilirim.

Galatasaray üniversitesi’nden manzara mükemmel , manzarayı görünce biz de üniversite mi okuduk diye geçirmekten kendimi alamadım,Beşiktaş ile Ortaköy arasında,boğaz manzaralı bir üniversite,eğitim sayesinde bol bol  manzaranın keyfini çıkaracaz :)

Eğitimin ilk gününde GSÜ öğretim üyesi Doç.Dr. Temen Öncan bizimle birlikte oldu,kendisi eğitim kordinatörü ve bizler ile yakından ilgili.İlgisinden ve sürekli feedback almaya çalışmasından çok hoşnut oldum.Kendisi “Yönetim Bilişim Sistemlerine Giriş”  başlığı ile değerli bilgilerini paylaştı.Ders interaktif geçti ve sürekli sorular sorarak bizleri konuşturmaya çalıştı.Temel Hoca’nın dersinden en çok aklımda kalanlar şu şekilde:

Misyon(özgörev) ve Vizyon(özgörüş) üzerine konuştuk,şuan çalıştığımız şirketlerin misyon ve vizyonlarını tartıştık,bireysel olarak da misyon ve vizyonumuz olması gerektiğini vurguladı.

PEST(Political Economical Social Technological) Analiz ve SWOT(Strenght Weakness Opportunities Threats) Analiz,bunları hep duyardım ama ne oldukları konusunda aydınlanmış oldum.Aile içinde ya da diğer ilişkilerde zaman zaman SWOT analiz yapmak gerekirmiş.

Web of things(Wot) ve Internet of Things(Iot) üzerine konuştuk. Wot RFID teknolojisinin bir tık üstü sayılabilir,kısacası nesnelerin internete bağlanması diyebiliriz.Iot ise daha kapsamlı bir teknoloji,herşeyin birbirine bağlanması.En basit örnek olarak buzdolabında bazı ürünlerde azalma olduğu zaman cep telefonunuza online sipariş için onay düşmesi senaryosu düşünülebilir.Bunlarla ilgili eğlenceli videolar izledik,akıllı ev sistemlerini konuştuk.

2. gün Sedef B.Arslan tecrübelerini bizimle  paylaştı.Konusu “Business Case Hazırlama” idi.Kendisi 1983 yılında çalışma hayatına başlamış çeşitli banka ve kuruluşlarda çalışmış,hatta kendisi de şirket kurmuş,sonrasın Kanada’da bir bankada Project Manager,Senior Audit Manager ve son olarak director olarak çalışmış.Daha sonra Türkiye’ye dönüp IBM’de çalışmış ve şuan serbest çalışıp danışmanlık hizmetleri veriyormuş.Yaptıklarını ayrıntılı yazdım çünkü süper tecrübeli bir insandı,çok mütevazi,neşeli,enerji dolu bir insan,tanıştığım için çok mutlu oldum.Business Case hazırlama konusunda bizi bilgilendirdi.Özellikle kendisinin dahil olduğu projelerden örnekler verdi,hem sucess hem de fail olan projelerden bahsetti.En kaba tabir ile aslında business case, iş planı oluşturmak diyebiliriz.İşin maliyetinden tutun da risk analizine kadar bütün durumlar düşünülürek yapılan analizdir..İş planında project ve operational cost lar çıkarılıyor.Sedef Hoca’nın dediği gibi bir iş yapılacaksa business case mutlaka hazırlanmalıdır,mendil arkasına bile olsa planınızı yapıp,kafanızda oturtmaya çalışın demişti.Patrona ben böyle iş yapacam dediğimizde business case leri de önüne koymamız gerekir.Kanada’da çalıştığı bankada fail olan bir projeden bahsetmişti.Plan çıkarılırken zaman zaman varsayımlarda bulunuluyor,bu varsayımların seçimi çok kritik rol oynuyor.Bunların belirlenmesi de tabi hazırlayan kişinin öngörüsüne,tecrübesine göre netice buluyor.Bahsettiği projede kredilerin merkezi olarak takip edilmesi ve kişinin aldığı krenin bütün bankalar tarafından görülmesi tarzında bir projeymiş.Bu proje kapsamında kredi büroları ile anlaşılıyor.Proje çalışmaya başladıktan sonra bakıyorlar ki kredi bürolarının bilgileri güncel değil, çekilen kredi birkaç gün sonra yansıyor ve hesaplar birbirine karışıyor.Küçük ama önemli bir ayrıntı, birkaç gün içersinde proje geri çekiliyor ve iş süreçlerinde olanların hepsi işten çıkarılıyor.Sedef Hoca’nın dediğine göre aslında çok da küçük bir ayrıntı değilmiş hesaba katılması gerekirmiş,kredi bürolarının bilgileri kontrol edilmeliymiş aslında. Bu şekilde gerçek hayattan kendisinin dahil olduğu projelerden örnekler vererek, business case hazırlama konusunun hafızamızda yer edinmesini sağladı.Kendisini hayranlıkla dinledim.

2. gün öğleden sonra Galatasaray Üniversitesi öğretim görevlisi Doç.Dr.A.Çağrı Tolga’yı dinledik. Konusu “Teknoloji ve Ar-ge Yönetimi” idi. Teknoloji, Innovasyon ile ilgili bilgilendirdi. Doğrusu sunumunun ilk bölümlerini  biraz teorik buldum,o kısımlar biraz daha azaltılabilirdi.

Innovasyon daha kapsamlıdır, Ar-ge innovasyonun alt birimidir. Dünyada Ar-ge ‘ye yapılan harcamaların GSYİH’ya (Gayrisafi Yurtiçi Hasıla) oranı Türkiye’de 1998 yılında %0,37,2010 yılında %0,84 imiş Amerika’da ise bu oran 1998 yılında %2,58,2010 yılında %2,91 imiş. Bu istatistiklerde Çin verileri eksik, çünkü Çin bilgilerini paylaşmak istemiyormuş.2. bölümde ise biraz hesap işlerine girdik :) Basit bileşik faizden bahsetti, aslında bankalardan kredi çekerken bileşik faiz hesaplanıyormuş, bu yüzden sürpriz paralar çıkabiliyor. Paranın şimdiki değere ve gelecek değere  getirilmesi hesaplamaları yaptık. Örneğin birine borç veriyorsunuz, ama verdiğiniz para 2 yıl sonra aynı değerde olmaz gibi. Bunlar konusunda bilgi sahibi olmak faydalı oldu.

Bütün Hocalarımıza teşekkürler. Fırsat buldukça eğitim ile ilgili değerlendirmelerimi ve aklımda kalan kısımları yazmaya çalışacağım.

The Clute Institute Uluslararası İş ve Eğitim Konferansı,San Francisco

Uzun süre sonra tekrar blog yazısı yazıyorum.İş hayatına geçtikten sonra bu konuda tembelleştiğimi itiraf etmeliyim.Yazmayı planladığım çok fazla şey olmasına rağmen sürekli erteliyorum maalesef.Şuan ise artık bloğumda yazmam gerektiğine kendimi ikna ettim :)  Yazmış olduğum makaleyi  uluslararası bir konferansta sunmak üzere davet aldım ve bu konudaki tecrübelerimi ,süreci aktarmam gerektiğini düşünüyorum.

Öncelikle akademik bir makale yazma fikri nasıl ortaya çıktı, buradan başlayabilirim.İstanbul Üniversitesi’nde Bilgisayar Mühendisliği Bölümü’nde yüksek lisans yapıyorum.Yüksek Lisans derslerinden birinde hocam  Yrd. Doç. Dr.Zeynep Orman araştırmak ve sunum yapmak üzere bir konu seçmemizi istemişti.Ben İş zekası konusunu seçmiştim.Konu ile ilgili makaleleri de araştırarak bir survey çalışması da yapmıştım.Konuyu araştırırken bu konudaki makalelerin azlığı ve olanların çok nitelikli olmadığını farkettik.Hocam bu konuda açık olduğunu ve bir çalışma yürütebileceğimizi önerdi.İlerleyen süreçte Bt Akademi’den Resul Çavuşoğlu’nun verdiği yaklaşık 3 ay süren Sql Server 2012 ile İş Zekası Uygulamaları Eğitimi’ne de katıldım.Bu eğitimin de katkıları bir ile makale çalışması yaptık.Makalemizde iş zekası ihtiyacından başlayarak bileşenleri,iş zekası projelerini teorik yönden  yer verdik ve Microsoft’un iş zekası platformuna yoğunlaşarak bunun için de uygulama örneklerine yer verdik.Yine yüksek lisansdan tez hocam olan Yrd. Doç. Dr.Emel Arslan’ın da katkıları ve önerileri ile makaleyi akademik formatlara uydurduk.Makaleyi The Clute Institute tarafından bu sene 3-7 Ağustos tarihleri arasında San Francisco,California’da düzenlenen Uluslararası İş ve Eğitim Konferansı’na yolladık.Yaklaşık bir hafta kadar sonra makalenin konferansa kabul edildiği iletildi,bizi sunum yapmak üzere San Francisco’da gerçekleşen  konferansa davet ettiler.Üniversite’den biletimi ödemek için onay almayı başardık.Şimdi çalıştığım şirketim Ericsson da konaklama konusunda sponsor oldu.Hocalarım konferansa gelemedi.Konferansdaki sunumu da yine hocalarımın önerileri  doğrultusunda  hazırladım.Doğrusu sunumun nasıl hazırlanması ve yapılması gerektiği ile ilgili tecrübeli olduğumu söyleyebilirim.Imagine Cup yarışmasına katıldığımız süreçte bu konuda eğitim de almıştık.San Francisco’daki süreçten bahsedecek olursam;3 gün konferansa katıldım.Türkiye’den gelen Çin Dili ve Edebiyatı Anabilim Dalı Başkanı Doç. Dr. Eyüp Sarıtaş ve Missouri Üniversitesi’nde doktorasına devam eden Ayça Değirmencioğlu ile tanıştım,Türkiye’den Hava Harp Okulu’ndan arkadaşlar da sunum yapmak için gelmişlerdi.Yine California State Üniversitesi’nden ve sektörden konferansa katılan kişilerle tanışıp sohbet etme imkanımız oldu.Konferansın 2. gününde sunumumu yaptım,beni dinleyenler teknik konulara çok hakim olmasalar da sunumumu beğendiklerini söylediler :)

WP_20140805_013

 

WP_20140811_008 (1)

Konferans  sayesinde San Francisco’yu da gezme şansına sahip oldum.Daha önce Amerika’ya Build 2012 Konferansı’na katılmak üzere New York ve Washington’a gitmiştim ama San Francisco’yu ayrı bir güzeldi.San Francisco’da gezmek çok kolay oldu,ulaşım ağı çok gelişmiş,her şey turistlere göre dizayn edilmişti sanki.Çok fazla turist vardı,birine bir şey soracakken sizin gibi bir turiste denk gelmiş olma ihtimaliniz çok yüksek.İlk gün hemen Golden Gate köprüsüne gittim,köprüyü yürüyerek geçip geri döndüm,yaklaşık 1,5 saatte tamamladım.Köprünün üzerinden Pasific Okyanus’un manzarası harikaydı.

WP_20140803_037

Türkiye’den gitmeden bir kaç tur ayarlamıştım.Okyanus kıyılarını gezdiren Monetery/Carmel turuna katıldım,silikon vadisini teğet geçtik :)  Zamanında Amerika’nın azılı katillerinin tutulduğu Alcatraz Island’a çok öncesinden bilet almışım,oradayken sorduğumda Ağustos sonuna kadar bilet olmadığını söylediler.Şu hep filmlerde gördüğümüz meşhur Amerikan hapishanelerini gördüm,sesli anlatım eşliğinde müzeye çevirdikleri hapishanede gezdim.Son 1,5 günümü de alışverişe ayırmıştım.Gitmişken alışveriş olmadan olmazdı.Outlet mağazaların yerlerini önceden öğrenmiştim Marshalls,Ross,Tj maxx forever :) Bir haftalık hem iş hem seyahat amaçlı gittiğim San Francisco’yu çok beğendim,keyif alarak gezdim.Farklı insanlar tanıdım benim için ciddi bir tecrübe oldu.Makalelerimizi yakın zamanda konferans proceeding de  ve seçtiğimiz journal larda yayınlayacaklar.Yayınlandığı zaman linkleri sitemden de paylaşırım .

Makale hazırlama sürecinden gidşime kadar yardımlarını esirgemeyen hocalarıma ve katkı sağlayan herkese sonsuz teşekkürler…

Konferans hakkında detayları cluteinstitute.com  bulabilirsiniz.

Makalemi okumak isterseniz burdan “2014 Conference Processdings” altından San Francisco konferansına bakarak erişebilirsiniz.

Exception Handling

1.      Exception Nedir?

Exception hata sayılabilecek ya da sayılmayacak yazılım veya donanım tarafından algılanan özel müdehale gerektiren programın çalışma ya da derlenme zamanında ortaya çıkabilcek herhangi beklenmedik durumdur.

Exceptionların Nedenleri

  • Donanımsal problemler,
  • Son kullanıcı kaynaklı,
  • Programlama mantığından gelen hatalar olabilir.

Sık Karşılaşılan Exceptionlar

  • Validasyonlarlara takılabilir,girilen veri geçersiz olabilir,
  • Network bağlantısı problemleri,
  • Veri tabanına bağlananamama sorunu,
  • Dosya path ini bulamama sorunu,
  • Tip dönüşüm hatası,
  • Dizi indexi dışında bir değer gelmesi,-1 gibi

2.      Exception Handling Nedir?

Hata algılandıktan sonraki özel müdehale sürecine exception handling,bu kod bloğuna da exception handler denir.Uygulamanın derleme veya çalışması sırasında ortaya çıkan herhangi bir sorun programla dili tarafından algılanır ve senaryoya göre önlemler alınır.Son kullanıcı bazlı problemler için ekrana uyarı verip hatayı düzeltmesini istemek örnek  verilebilir.

3.      Exception Handling Faydaları

  • Hata olduğu durumlarda hatayı giderdikten sonra program çalışmaya devam edebilir,
  • Hata olmadığı zamanlarda da performans kaybı olmaz,
  • Son kullanıcı kaynaklı bir hata ise kullanıcının hatayı gidermesine imkan tanır,
  • Exception Handling yazılımcının farklı durumlar üzerine düşünmesini sağlar.
Exception Handling Olmayan Dil Exception Handling Olan Dil:
Hata   meydana geldiğinde işletim sistemine gider mesajı gösterir ve programı   sonlandırır. Program   hatayı yakalar ve düzeltme şansı doğar bundan dolayı program sonlanması   yerine devam edebilir.

 

 

4.      Exception Handling Kontrol Akışı

Aşağıdaki akıştan da görebileceğimiz gibi kod akışı devam ederken bir hata olduğunda hata exception handlera iletilir.Handling senaryosana göre bir tepkide bulunur ve hata giderildiğinde kod akışına devam eder.

 se

5.      Exception Handling  Terminolojisi

Try

Try bloğu kaynak kodların normal şekildeki işleyişini içerir.Hata olmaz ise kod try bloğu içinde devam eder catch bloğuna girmeden sonlanır.

Catch

Hata olduğunda gireceği bloktur.Hata olduğu durumlarda ne yapılması isteniyorsa bu bloğa eklenir.Farklı hata tipleri için farklı tepki vermesi istenirse birden fazla catch bloğu eklenebilir.Catch blokları sırayla okunur, hangisinin bloğuna ilk girerse onun hatasını fırlatır.Her bir catch bloğuna tek parametre verilebilir ve parametreler tekil(unique) olmalıdır.

Finally

Kod akarken try veya catch bloklarından birinin içine girer,bunlardan bririne girdikten sonra kısıt olmaksızın finally kod bloğunu işler.

Throw

Throw un kelime karşılığı fırlatmadır.Hata meydana geldiğinde ne göstereceği ya da ne göndereceğine karar verir.Kütüphanelerdeki hazır throw ları kullanabileceğimiz gibi hata durumunda kendi özel throw umuzu da fırlatmasını isteyebiliriz.

6.      Farklı Dillerde Exception Handling

C++’da Exception Handling:

C++ diline 1990 yılında eklenmiştir.Temellerini  CLU,Ada ve ML den almaktadır. Bütün hatalar Exception sınıfından türer ve hatalı bir durum oluştuğunda program bu sınıfın bir nesnesini fırlatır.

Formatı aşağıdaki gibidir:

            try {

            — code that is expected to raise an exception

            }

             catch (formal parameter) {

            — handler code

            }…catch (formal parameter) { }

Formal parametreler hata bilgisini handlera iletmek için kullanılır.

Bir programda tanımlı olan hatalar fırlatılabilir,tanımsız olan bir hata görüldüğünde default exception olan unexcepted metodu çağırılır,bu da programı normal bir şekilde sonlandırır.

C++ Exception Hiyerarşisi

c++

Exception

description

bad_alloc thrown by new on allocation failure
bad_cast thrown by dynamic_cast when fails with a referenced   type
bad_exception thrown when an exception type doesn’t match any   catch
bad_typeid thrown by typeid
ios_base::failure thrown by functions in the iostream library

Java’da Exception Handling:

Temellerini OOP mimarisinden almıştır.Bütün hatalar Throwable sınıflarından türeyen sınıfların nesneleridir.

Java kütüphanesi Throwable için iki alt sınıf içerir:

java

  • Error

Yığın(heap) doluluğu gibi durumlarda Java yorumlayıcı tarafından fırlatılır

Kullanıcı programları tarafından handle edilemez.

  • Exception

Kullanıcı tarafından tanımlanan hatalar genelde bu alt sınıfa aittir.

İki tanımlı alt sınıfı vardır:IOExceptions ve RunTimeException.Örnek hatalar; ArrayIndexOutOfBoundsException and NullPointerException.

Try’ın syntaxi C++ daki gibidir.Hatalar c++ daki gibi throw ile fırlatılıyor.Çoğunlukla throw nesneyi oluşturmak new operatorü içerir.

throw new MyException();

Hata ve handlerın bağlantısı c++’dan daha kolaydır.

Hata geldiğinde handler yoksa program sonlandırılır.

Javadaki throws c++ daki throw dan oldukça farklıdır.Javadaki throws programcıya daha fazla ayrıntı verir.Error sınıfından ve RunTimeException türündeki ve onlardan türeyen bütün hatalara unchechked exception geriye kalanlara ise checked exception denir.Checked exception olanlar throws da geçiyordur ya da bir metod içinde handle ediliyordur.

public class ExcepTest{

   public static void main(String args[]){

      int a[] = new int[2];

      try{

         System.out.println(“Access element three :” + a[3]);

      }catch(ArrayIndexOutOfBoundsException e){

         System.out.println(“Exception thrown  :” + e);

      }

    finally{

         a[0] = 6;

         System.out.println(“First element value: ” +a[0]);

         System.out.println(“The finally statement is executed”);

      }   }  }

Output:

Exception thrown  :java.lang.ArrayIndexOutOfBoundsException: 3

First element value: 6

The finally statement is executed

Diller Arası Exception farklılıkları

Ortaya çıkan hatalar her dilde aynı etkiyi yaratmaz.

  • 0 a bölünme hatası C# dilinde DivisionByZero hatasını tetikler ama php ve javacsriptte kod akışını durdurmaz.
  • Javascriptte tanımlı olmayan bir fonksiyonu çağırmak exceptiona sebep olur ama php de aynı hata fatal error’a sebep olur kod akışı durur.

7.      Referanslar

  1. http://www.tutorialspoint.com/java/java_exceptions.htm
  2. http://www.cplusplus.com/doc/tutorial/exceptions/
  3. http://people.cs.aau.dk/~normark/oop-csharp/html/notes/exceptions-note-exception-hier-cs.html
  4. Exception Handling in C++,CS-2303 System Programming Concepts
  5. Concepts of Programming Languages,Robert W.Sebesta.Exception Handling Event Handling,Chapter 14
  6. Exception Handling, http://guvensahin.com/

Business Intelligence(İş Zekası)’e Giriş

Yüksek lisans dersilerimden birinde araştırma konusu olarak günümüzün popüler teknolojilerinden biri olan İş Zekası’nı seçtim.Yaptığım araştırmalar aşağıdaki gibidir.

Tarih Boyunca Veri

Veri toplamak ve toplanan bu veriyi anlamlandırmak insanlık tarihi kadar eskidir.En ilkel zamanlarda bile mağarada yaşayan insanlar yaşadıklarını ve tecrübelerini duvarlara çizerlerdi,bu şekilde veri birikimi olurdu.Günümüze baktığımızda ise çocuklar bile sosyal platformları,arama motorlarını çok rahat  kullanabilecek düzeydeler.İşin içine teknoloji ve teknoloji ile büyüyen bir nesil girince veri birikimi artmıştır.

Globalization

Yapılan araştırmalara göre dünyadaki veri hacmi her 2-5 yıllık periyodlarda iki katına çıkmıştır.Bunun doğal bir sonucu olarak problemin neden sonuş ilişkisini ham veri üzerinde yorumlamak neredeyse imkansız hale gelmiştir.Aşağıdaki grafik artan veri hacminin yıllara göre değişimini gösteriyor.

datagrowth

İş Zekası Nedir?

Biriken verinin anlamlı hale dönüşütürülmesi noktasında İş Zekası kavramı ortaya çıkar.İş Zekası kavramı verinin işlenerek anlamlı bilgi haline dönüştürülmesinde kullanılan tüm teknoloji ve süreçleri kapsayan bir terimdir.

İş Zekasına Neden İhtiyaç Duyarız?

İş Zekası uygulamaları daha çok kurumların raporlama araçlarının yetersiz kaldığı durumlarda ortaya çıkar.Uygulama geliştrililirken raporlama araçları da eklenir,zaman ilerledikçe veri artar ve farklı kaynaklardan veriler alınmaya başlanır.Bu durumda raporlar yetersiz kalır ve iş zekası çözümlerine ihtiyaç olur.Diğer yandan farklı uygulama ve veri tabanlarından veri alan kurum sistemlerinde veriyi ilişkilendirerek anlamlandırma noktasında iş zekası çözüm getirir.Raporlama süreçlerinde karar destek mekanizmaları,veri madenciliği, veri ambarı araçları da kullanılmaktadır.

İş Zekasının ortaya çıkmasındaki  nedenlerinden biri globelleşen dünyadaki artan rekabet oranıdır.Dünyanın bir ucundaki bir kurumda  gerçekleşen ekonomik gelişme başka bir ülkenin ekonomisini  altüst edebilmektedir.Tüm kurumlar böyle rekabet dolu  bir ortamda çalışırken risk unsuru ortaya çıkar.Gelişmelerin gerisinde kalmamak için çok daha hızlı ve doğru karar vermek zorunda kalıyorlar.Sonuç olarak; birim zamanda verilmesi gereken karar sayısında çok büyük artış olmuştur.

images

İş Zekasının Uygulanabilirliğini Arttıran Etmenler:

  • Donanımın ucuzlaması
  • Araçların gelişmesi
  • Sıfır maliyetle deneme şansı
  • Algoritmaların yaygınlaşması
  • Bilgi birikiminin yaygınlaşması
  • Emeğin yaygınlaşması
  • Güvenlik unsuru

İş Zekasında Kullanılan Araçlar:

raporlama1

İş Zekası raporları hazırlanırken kullanılan araçlardan bazıları aşağıdaki gibidir:

  • Excel ve Excel için PowerPivot
  • Report Builder
  • Visio ve Visio Servisleri
  • Microsoft SQL Server (Microsoft SQL Server Integration Services,Microsoft SQL Server Analysis Services,Microsoft SQL Server Reporting Services)
  • SharePoint PerformancePoint Hizmetleri

İş Zekası Raporlarının Gösteriminde Kullanılan  Kavramlar:

KPI(Key Performance Indicator): Değer, hedef, eğilim ve grafik gösterimden oluşan bir bilgidir.KPI’lar şu anki değerin ne olduğunu ve hedef değerini içerir. Şuanki değer  hedefe göre ne durumdadır bilgisi yer alır.

Report: Yani rapor ise görsel yönleri de olabilmekle birlikte daha çok sayısal verileri sunar ve genelde KPI’lardan daha detaylıdırlar.

Scorecard: Yani karne, KPI’ların belirli perspektiflere göre gruplanarak sunulmasıdır.

Dashboard:Yani konsol, karneler, raporlar ve KPI’lar içerebilir.

İş Zekası’nın Çözdüğü Problem Örnekleri:

Hangi ürünler bir arada daha çok satılıyor?

Müşterilerimizi nasıl sınıflandırabiliriz?

Bizim için kritik bir müşteri kararında müşterilerimizin hangi özellikleri etkin rol oynuyor?

Bu kitabı tercih edenlerin başka hangi kitapları tercih ederler?

Bulaşık deterjanı ile alınabilecek ürün nedir?

Kaynaklar:

[1]    http://www.kurumsalzeka.com

[2]    http://www.yazgelistir.com/

[3]    http://www.iszekam.net

[4]    http://acungilsqlbi.wordpress.com/

[5]    http://en.wikipedia.org/wiki/Business_intelligence

[6]    With SQL Server 2008 R2 and the Microsoft Business Intelligence Toolset- Joy Mundy, Warren Thornthwaite, Ralph Kimbal

[7]    http://www.bitechnology.com/

 

DERYA GÜNDÜZ