SlideShare a Scribd company logo
Hazırlayanlar
                             Oben Işık (040080220) , Gökhan Karaca(040070234)




                                                              Danışman
                                              Yrd. Doç. Dr. Feza Buzluca



İTÜ Bilgisayar Mühendisliği Bitirme Projesi

iCity
iCity Tanıtım Aşamaları


Proje    Kullanılan         Kuramsal              Analiz              Tasarım
Amacı   Teknolojiler         Bilgiler           Modelleme




            “Innovation distinguishes between a leader and a follower” – Steve Jobs
Proje Amacı
                       Neden iCity uygulamasına ihtiyaç duyuyoruz ?




“It is fine to celebrate success but it is more important to heed the lessons of failure” – Bill Gates
Neden iCity Uygulaması ?


1. Şehri yakından tanımak
2. Arkadaş takibi yapabilmek
3. Akıllı yer önerisi yapabilmek
4. Ulaşım yardımı almak
5. Sosyal ağ entegrasyonu
6. Mobil dünyaya uyum sağlamak
iCity’de
                           Kullanılan Teknolojiler



“Design is not just what it looks like and feels like. Design is how it works.” – Steve Jobs
Kuramsal Bilgiler



“It’s fine to celebrate success but it is more important to heed the lessons of failure.” – Bill Gates
iCity – Kuramsal Bilgiler |   Android Tanım




 Android, Google ve Open Handset Alliance tarafından
  kodlanmış, Linux OS tabanlı bir mobil cihaz için geliştirilmiş,
  açık kaynak kodlu bir işletim sistemidir.
 Android işletim sistemli bir mobil telefon için, Android SDK
  kullanılarak uygulama yazılımları geliştirilebilmektedir.
 Projemizin ana çatısı android üzerine kurulmuştur.
iCity – Kuramsal Bilgiler |   Android Kullanımı
 Günümüzde Android işletim sistemli mobil telefonların sayısı hızla artmaktadır.
iCity – Kuramsal Bilgiler |   Android Yapısı
iCity – Kuramsal Bilgiler |        Android Yapısı II
   Androidde uygulama JAVA dilinde geliştirilir.
   Android işletim sistemine göre tüm ekranlar birer activity dir.
   Activity ler kullanıcı ile etkileşimi sağlayan ekranlardır.
   Her bir activity kendine adanmış bir layouta sahiptir.
   Activityler birbirlerini çağırabilirler ve aralarında veri transferi yapabilirler.
iCity – Kuramsal Bilgiler |    Android Yapısı III
         Activityler,
          manifest dosyası adı verilen
          bir xml dosyasında tanımlanır.

    •     Uygulama clientler tarafından Google
          Play Store dan indirilirken kullanıcıdan
          istenecek izinleri ifade ediyor.




•        Uygulamada activity olarak görev alacak
         olan sınıfları tanımlıyoruz.




•        Uygulama bağımsız olarak çalışacak olan
         servisimizi tanıtıyoruz.
iCity – Kuramsal Bilgiler |      JSON
   JSON, veri alış verişini sağlamak amacıyla geliştirilmiş bir veri biçimlendirme yöntemidir.
   JavaScript Object Notation
   XML den çok daha kolay ve hızlı biçimde işlenebilme özelliğine sahiptir.
   XML ile biçimlendirilmiş bir veri kümesi, JSON ile biçimlendirilmiş veri kümesine oranla
    daha fazla bellek alanı ihtiyacı doğurur.
iCity – Kuramsal Bilgiler |   JSON – XML Karşılaştırması

XML                                        JSON
<?xml version="1.0" encoding="UTF-8"?>      {
<root>
         <data>
                                                  "data": [{
                 <id>1</id>                           "id" :    "1",
                 <name>PHP </name>                     "name" :    "PHP”
         </data>                                   }]
</root>
                                           }
var root = xhr.responseXML;                data.name[0];
var dataElements =
root.getElementsByTagName('data');
var idElementsValue =
dataElements[0].getElementsByTagName('id
')[0].firstChild.nodeValue;
var nameElementsValue =
dataElements[0].getElementsByTagName('na
me')[0].firstChild.nodeValue;
iCity – Kuramsal Bilgiler |   JSON – Projemizdeki Kullanımı
 Projemizde JSON kullanımı web servisimiz ile uygulamamız arasındaki iletişimi sağlamak
  üzerine kurulmuştur.
iCity – Kuramsal Bilgiler |   .Net Framework (C#)
 .Net framework projemizde, uzak host ile iletişimi yaparken kullanacağımız web servisi
  oluşturmak için kullanılmıştır.
 Web servisi, XML mesajlaşma tabanlı bir sistem entegrasyon yöntemidir. W3C tarafından
  yapılan resmi tanımıyla web servisi, bilgisayarlar arasında ağ üzerinden etkileşimi ve
  uyumluluğu sağlayacak yazılım sistemidir.
 XML tabanlı mesajlaşma esas alınmıştır. Biz projemizde JSON ile haberleşmeyi tercih
  ettik.
 Web servis erişim standardı olarak SOAP (Simple Object Access Protocol) adı verilen basit
  nesne erişim protokolü kullanılmaktadır.
 SOAP sayesinde web servis ile basit ve mesaj tabanlı bir iletişim sağlanmaktadır.
 Projemizde .net c# ile kodlanmış olan ve uzak host da koşan bir webservis bulunmaktadır.
iCity – Kuramsal Bilgiler |     PHP
 PHP, özellikle Web için tasarlanmış olan, sunucu taraflı çalışan bir script dilidir.
iCity – Kuramsal Bilgiler |   PHP – Projemizdeki Kullanımı
 Projemizde PHP dilini, yüklü miktarda datayı her defasında tek tek bir api kullanılarak sorgulamak
  yerine, hangi datalara ilişkin bilgilere ihtiyaç olduğunu php sayfamıza gönderip, cURL ile sorgunun
  uzak hostta çalışmasını sağlamak için kullandık.

                                                         Foursquare Kullanıcı Sayısı : 27M
                                                         1 Kişinin Ortalama Arkadaş Sayısı : 137

                              10901

                                                                      foursquareGetCheckins.php


                                                                                Log
                                                                  cURL

   Kullanıcı




                                                         Foursquare API
Analiz ve Modelleme



“It’s fine to celebrate success but it is more important to heed the lessons of failure.” – Bill Gates
iCity – Analiz
       Use Case UC1 :     Programa Giriş
       Kapsam:            Bitirme Projesi Kullanıcı Giriş Paneli
       Birincil Aktör :   Kullanıcılar
       Paydaşlar :        Kullanıcılar : Programı kullanarak şehir, arkadaşları ve mekanlar
                          hakkında bilgi almayı hedeflemişlerdir.
       Önşartlar :        1. Kullanıcının aktif bir Foursquare hesabı olmalıdır.
                          2. Kullanıcı telefonuna uygulamayı yüklemiş olmalıdır.
                          3. Kullanıcının telefonunda internet erişimi olmalıdır.
       Başarı Şartı :     Kullanıcı sisteme giriş yapmış olmalıdır.
       Senaryo :          Ana akış:
                          1. Kullanıcı, telefonun menüsünden uygulamayı başlatır.
                          2. Ekrandaki login butonuna tıklar.
                          3. Program kullanıcıya giriş ekranını açar.
                          4. Kullanıcı giriş ekranında foursquare’e ait mail adresini ve
                             şifresini girer.
                          5. Program bu mail ve şifreyi foursquare üzerinden kontrol
                             eder.
                          6. Sonrasında ana menüye kullanıcıyı yönlendirir.
                          Alternatif Akış:
                          *a. İnternet bağlantısının olmadığı durumlarda internet hata sayfasına
                          yönlendirilir.
                          5a. Mail adresi veya şifrenin geçerli olmaması koşulunda giriş
                          ekranına geri döner.
iCity – Analiz

       Use Case UC2 :     Kullanıcının Arkadaşlarının Son Check-inlerini Görmesi
       Kapsam:            Arkadaşların Son Check-in’ler Paneli
       Birincil Aktör :   Kullanıcılar
       Paydaşlar :        Kullanıcılar : Programı kullanarak şehir, arkadaşları ve mekanlar
                          hakkında bilgi almayı hedeflemişlerdir.
       Önşartlar :        1. Kullanıcını sisteme başarılı bir şekilde giriş yapmış
                             olmalıdır.
                          2. Kullanıcı telefonuna uygulamayı yüklemiş olmalıdır.
                          3. Kullanıcının telefonunda internet erişimi olmalıdır.
       Başarı Şartı :     Kullanıcı arkadaşlarına ait son check-in’lerini görmelidir.
       Senaryo :          Ana akış:
                          1. Kullanıcı ana menuden son check-inler’sekmesine tıklar.
                          2. Sistem foursquare üzerinden kullanıcının arkadaşlarına ait
                             tüm son check-in’leri hesaplar.
                          3. Bir liste halinde bu check-inler kullanıcıya listelenir.
                          Alternatif Akış:
                          *a. İnternet bağlantısının olmadığı durumlarda internet hata sayfasına
                          yönlendirilir.
                          2a. Foursquare kaynaklı hatalardan dolayı arkadaş listesine ait check-
                          in’leri almada sorun yaşanabilir.Bu durumda sistem hata mesajı üretir.
iCity – Analiz
       Use Case UC3 :     Kullanıcının Arkadaşlarının Son Check-inlerine Yorum Yazması
       Kapsam:            Arkadaşların Son Check-in’ler Paneli Yorum Kısmı
       Birincil Aktör :   Kullanıcılar
       Paydaşlar :        Kullanıcılar : Programı kullanarak şehir, arkadaşları ve mekanlar
                          hakkında bilgi almayı hedeflemişlerdir.
       Önşartlar :        1. Kullanıcını sisteme başarılı bir şekilde giriş yapmış
                             olmalıdır.
                          2. Kullanıcı telefonuna uygulamayı yüklemiş olmalıdır.
                          3. Kullanıcının telefonunda internet erişimi olmalıdır.
                          4. Kullanıcı arkadaşlarının son check-in’leri listesine erişmiş
                             olmalıdır.
       Başarı Şartı :     Kullanıcı arkadaşlarından herhangi birinin check-in’ine yorum yazmış
                          olmalıdır.
       Senaryo :          Ana akış:
                          1. Kullanıcı arkadaşlarının son check-in’lerinin listelendiği
                             ekrandan herhangi bir arkadaşının check-in’inen tıklar.
                          2. Program yorum penceresi açar.
                          3. Kullanıcı buraya yorumunu yazar ve gönder butonuna tıklar.
                          4. Program yorumu Foursquare’e iletir.
                          Alternatif Akış:
                          *a. İnternet bağlantısının olmadığı durumlarda internet hata sayfasına
                          yönlendirilir.
                          4a. Foursquare kaynaklı hatalardan yorumu iletmede sorun
                          yaşanabilir.Bu durumda sistem hata mesajı üretir.
iCity – Analiz
       Use Case UC4 :     Kullanıcının Sistemden Öneri İstemesi
       Kapsam:            Kullanıcı Mekan Öneri Paneli
       Birincil Aktör :   Kullanıcılar
       Paydaşlar :        Kullanıcılar : Programı kullanarak şehir, arkadaşları ve mekanlar
                          hakkında bilgi almayı hedeflemişlerdir.
       Önşartlar :        1. Kullanıcı sisteme başarılı bir şekilde giriş yapmış olmalıdır.
                          2. Kullanıcı telefonuna uygulamayı yüklemiş olmalıdır.
                          3. Kullanıcının telefonunda internet erişimi olmalıdır.
       Başarı Şartı :     Kullanıcıya tercihlerine göre ve seçtiği kategoriye göre mekan öneri
                          listesi sunulmalıdır.
       Senaryo :          Ana akış:
                          1. Kullanıcı ana menuden suggest sekmesine tıklar.
                          2. Sistem kullanıcıya 9 ana kategori listesini getirir.
                          3. Kullanıcı 9 ana kategori içerisinden bir tanesini seçer.
                          4. Sistem bu ana kategoriye ait kullanıcı tercihlerine uyan
                             mekanları öneri mekanizmasını kullanarak listeler.
                          Alternatif Akış:
                          *a. İnternet bağlantısının olmadığı durumlarda internet hata sayfasına
                          yönlendirilir.
                          2a. Foursquare kaynaklı hatalardan dolayı kategori listesini almada
                          sorun yaşanabilir.Bu durumda sistem hata mesajı üretir.
                          3a. Foursquare ve programkaynaklı hatalardan dolayı kategori
                          listesini almada sorun yaşanabilir.Bu durumda sistem hata mesajı
                          üretir.
iCity – Analiz
iCity – Analiz
Tasarım



“It’s fine to celebrate success but it is more important to heed the lessons of failure.” – Bill Gates
iCity – Tasarım | İnternet Bağlantısının Algılanması
iCity – Tasarım | İnternet Bağlantısının Algılanması
iCity – Tasarım | İnternet Bağlantısının Algılanması



05-12 19:51:49.669: D/NetworkConnectivityListener(1307): onReceive():
mNetworkInfo=NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason:
(unspecified), extra: (none), roaming: false, failover: false, isAvailable: true
mOtherNetworkInfo = [none] mState=CONNECTED

05-12 20:14:00.524: D/NetworkConnectivityListener(1307): onReceive():
mNetworkInfo=NetworkInfo: type: WIFI[], state: DISCONNECTED/DISCONNECTED,
reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: false
mOtherNetworkInfo = [none] mState=NOT_CONNECTED
iCity – Tasarım | Login




                Kullanıcı log in butonuna
                tıkladığında, açılan foursquare
                api web view ile uygulamamıza
                login olur.
iCity – Tasarım | Application Base
                                               1. Uygulama kullanıcısının kim olduğunu login
                                                  sürecinden sonra tutar. (mainUser:User)
                                               2. Kullanıcının arkadaş listesi ne uygulamamızın bu
                                                  sınıfından           erişmek           mümkündür.
                                                  (friendList:FriendList)
                                               3. Foursquare tarafında var olabilecek tüm
                                                  kategorilerin          listesi        tutulmaktadır.
                                                  (venueCategoryList:VenueCategoryList)
                                               4. Kullanıcıya ilişkin session bilgileri (Access token
                                                  vb.) tutulmaktadır. (fsSession:FoursquareSession)
                                               5. Foursquare API ile ilgili yapılabilecek tüm
                                                  işlemler FSAdapterInterface ile yapılmıştır.
                                                  FSAdapterInterface bir java interface olarak
                                                  tasarlanmıştır ve ileride başka API ler kullanılmak
                                                  istendiğinde uygulama üzerinde herhangi bir
                                                  değişiklik yapılmasına gerek kalmayacaktır.
                                                  (fPAdapter:FSAdapterInterface)
                                               6. Web servis işlemleri WebServiceOperator ile
                                                  yapılmaktadır.
                                                  (webServiceOperator:WebServiceOperator)
                                                          1. Wi-Fi , 3G , 2G / Edge bağlantılarının
                                                             durumlarına ilişkin bilgiler observer
                                                             patternine uygun olarak tasarlanmış
                                                             olan       NetworkConnectivityListener
                                                             tarafından                yapılacaktır.
                                                             (nconnListener:NetworkConnectivityListener)
                                                          2. GPS Lokasyonuna ilişkin bilgiler de
                                                             GOLocationManager ile tutulmaktadır.

      Sekil 5.3 – Uygulama Başlangıç Nesnesi
iCity – Tasarım | Login


 Mobil uygulama kullanıcısının Foursquare Api ile iletişime geçebilmesi için ise sisteme
  oAuth ile login olması gerekmektedir. Buna göre;

1. Kullanıcı uygulamanın login paneline girer.
2. oAuth güvenli authorization panelimiz açılır.
3. Kullanıcı adı ve şifre girişini yapar.
4. Kullanıcıya ilişkin bilgiler ile foursquare üzerinde koşacak olan api key foursquare
   tarafına gönderilir.
5. Foursquare servisi kullanıcıyı login ettikten sonra access token dönüşü yapar.
6. Kullanıcıya spesifik bu access token key ile, izinler dahilinde işlemler yapılmaktadır.
iCity – Tasarım | Login
iCity – Tasarım | Login
iCity




DEMO
iCity – Tasarım | Uygulama Ana Ekranı

                         Action Bar




                          Sub Activity




                         TabGroup
iCity – Tasarım | Uygulama Ana Ekranı
iCity – Tasarım | Son Check-in Yapılan Yerler
iCity – Tasarım | Son Check-in Yapılan Yerler
iCity – Tasarım | Son Check-in Yapılan Yerler

• Son check-in yapılan yerleri tek tek Foursquare api ile birlikte sorgulama yapmak
  oldukça performans düşürücü olacağından bu konuda akıllı bir çözüm üretilmiştir.

• Bu sebeple de www.yoncamodaevi.com/foursquareGetCheckins.php sayfası liste
  olarak kullanıcının arkadaş listelerini alır ve bu arkadaş listesine göre son check-in
  lerin listesi dönülür.

• Bu sayfada kullanıcıdan alınan access token ile CURL altyapısı kullanılarak
  sorgulama yapılmaktadır.

• Bu sayede sonuçlar mobil uygulamaya göre çok daha hızlı bir uzak server üzerinde
  toplu halde hesaplanır ve bu da oldukça akıllı bir çözüm olmaktadır.
iCity – Tasarım | Mekan Arama
                                      Kategori kısıtlamaları (Akıllı Öneride Kullanılacak)




                                         Tablar üzerindeki yazılar kaymakta
Her kategoriye ait alt kategoriler bulunmaktadır.
iCity – Tasarım | Mekan Arama (Kısıtlamalar)
iCity – Tasarım | Mekan Arama
iCity – Tasarım | Mekan Arama (Harita)
iCity – Tasarım | Mekan Arama (Harita)
iCity – Tasarım | Check-in Yapma Süreci
iCity – Tasarım | Check-in Yapma Süreci
iCity – Tasarım | Check-in Yapma Süreci
iCity




DEMO
iCity – Tasarım | Akıllı Yer Önerme


  Kullanıcılar daha önce hiç gitmedikleri yerler hakkında bilgi edinebilmek
  istediklerinde akıllı yer önerme algoritması kullanılmaktadır.


  Akıllı yer önermeyi sağlayabilmek için, kullanıcının sosyal ağ üzerinde yaptığı
  bir takım işlemleri, web servisimiz aracılığıyla kendi veritabanımızda tutmak
  suretiyle kayıt altına aldık.

  Bu kayıtlar kişinin sevdiği ya da sevmediği yerler hakkında bilgilerin
  tutulması ve mekanlar hakkında puanlamanın yapılabilmesi için
  kullanılmaktadır.

  Akıllı yer önermenin temel amacı kullanıcıya daha önce hiç gezmediği
  mekanları, daha önce gittiği mekanlardan ve arkadaşlarının gittiği
  mekanlardan yola çıkarak mantıklı biçimde önerebilmektir.
iCity – Tasarım | Akıllı Yer Önerme




                istek    Foursquare API




                 istek
                                                  kayıt




                 http://obenws.yoncamodaevi.com
iCity – Tasarım | Akıllı Yer Önerme
iCity – Tasarım | Akıllı Yer Önerme
iCity – Tasarım | Akıllı Yer Önerme
iCity – Tasarım | Akıllı Yer Önerme
      PROCEDURE [dbo].[graduationSP_getUsersSuggestedVenues]


 1. Check-in tablosundan kullanıcının daha önce gitmediği ve kullanıcıya yakın
    mesafedeki mekanlar getirilir.
 2. Mekanların kategori bilgileri ilgili tablodan alınmakta ve sonrasında web
    servise dönderilmektedir.
 3. Web servis daha önceden almış olduğu kullanıcının geçmiş check-in’lerinin
    kategori bilgilerine göre bu mekanlar arasında çok sevilenden az sevilene
    göre bir sıralama yapmaktadır.
     • Örnek vermek gerekirse;
     • İncelediğimiz kullanıcı daha önceden 3 kere fast food kategorili mekanda
         ve 2 kez de eğitim kategorili mekanlarda check-in olmuş ise, sistem bu
         kullanıcı için fast food kategorisine sahip mekanı listede eğitim kategorili
         mekanlardan daha ön sıralara koyacaktır.
“I am as proud of what we don’t do as I am of
Teşekkürler. Sorular?
                    what we do.” – Steve Jobs


           Oben ISIK – Gökhan KARACA

More Related Content

What's hot

007 Uml Modelleri Analiz Ve Tasarim [74 Slides]
007 Uml Modelleri Analiz Ve Tasarim [74 Slides]007 Uml Modelleri Analiz Ve Tasarim [74 Slides]
007 Uml Modelleri Analiz Ve Tasarim [74 Slides]
Erol Bozkurt
 
Doktora Tezimin Savunma Slaytları
Doktora Tezimin Savunma SlaytlarıDoktora Tezimin Savunma Slaytları
Doktora Tezimin Savunma Slaytları
netsentez
 
Mobil Sistemler ve Uygulama Güvenliği
Mobil Sistemler ve Uygulama GüvenliğiMobil Sistemler ve Uygulama Güvenliği
Mobil Sistemler ve Uygulama GüvenliğiBGA Cyber Security
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]Erol Bozkurt
 
Bilgi Güvenliğinde Sızma Testleri
Bilgi Güvenliğinde Sızma TestleriBilgi Güvenliğinde Sızma Testleri
Bilgi Güvenliğinde Sızma Testleri
BGA Cyber Security
 
INTERNET VE YEREL AĞ SIZMA TESTLERİ
INTERNET VE YEREL AĞ SIZMA TESTLERİ INTERNET VE YEREL AĞ SIZMA TESTLERİ
INTERNET VE YEREL AĞ SIZMA TESTLERİ
BGA Cyber Security
 
003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]
Erol Bozkurt
 
Siber Güvenlikte Yapay Zeka Uygulamaları - Webinar
Siber Güvenlikte Yapay Zeka Uygulamaları - WebinarSiber Güvenlikte Yapay Zeka Uygulamaları - Webinar
Siber Güvenlikte Yapay Zeka Uygulamaları - Webinar
BGA Cyber Security
 
Spring integration概要
Spring integration概要Spring integration概要
Spring integration概要
kuroiwa
 
Class Diagram
Class DiagramClass Diagram
Class Diagram
Seyfullah Demir
 
Man in the Middle Atack (Ortadaki Adam Saldırısı)
Man in the Middle Atack (Ortadaki Adam Saldırısı)Man in the Middle Atack (Ortadaki Adam Saldırısı)
Man in the Middle Atack (Ortadaki Adam Saldırısı)
Ahmet Gürel
 
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
Vahid Garousi
 
Zafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleriZafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleri
EPICROUTERS
 
Ajansız log toplama
Ajansız log toplamaAjansız log toplama
Ajansız log toplama
Ertugrul Akbas
 
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1
BGA Cyber Security
 
Akış Şemaları ( İş Analizi ve Uygulamaları Dersi)
Akış Şemaları ( İş Analizi ve Uygulamaları Dersi)Akış Şemaları ( İş Analizi ve Uygulamaları Dersi)
Akış Şemaları ( İş Analizi ve Uygulamaları Dersi)
Tugba Ozen
 
Sızma Testleri Sonuç Raporu
Sızma Testleri Sonuç RaporuSızma Testleri Sonuç Raporu
Sızma Testleri Sonuç Raporu
BGA Cyber Security
 
Sızma Testine Giriş - Fuat Ulugay
Sızma Testine Giriş  - Fuat UlugaySızma Testine Giriş  - Fuat Ulugay
Sızma Testine Giriş - Fuat Ulugay
Fuat Ulugay, CISSP
 
Mesurer les performances avec JMeter
Mesurer les performances avec JMeterMesurer les performances avec JMeter
Mesurer les performances avec JMeter
Claude Falguiere
 
NetSecTR - "Siem / Log Korelasyon Sunumu" Huzeyfe Önal
NetSecTR - "Siem / Log Korelasyon Sunumu" Huzeyfe ÖnalNetSecTR - "Siem / Log Korelasyon Sunumu" Huzeyfe Önal
NetSecTR - "Siem / Log Korelasyon Sunumu" Huzeyfe Önal
BGA Cyber Security
 

What's hot (20)

007 Uml Modelleri Analiz Ve Tasarim [74 Slides]
007 Uml Modelleri Analiz Ve Tasarim [74 Slides]007 Uml Modelleri Analiz Ve Tasarim [74 Slides]
007 Uml Modelleri Analiz Ve Tasarim [74 Slides]
 
Doktora Tezimin Savunma Slaytları
Doktora Tezimin Savunma SlaytlarıDoktora Tezimin Savunma Slaytları
Doktora Tezimin Savunma Slaytları
 
Mobil Sistemler ve Uygulama Güvenliği
Mobil Sistemler ve Uygulama GüvenliğiMobil Sistemler ve Uygulama Güvenliği
Mobil Sistemler ve Uygulama Güvenliği
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]
 
Bilgi Güvenliğinde Sızma Testleri
Bilgi Güvenliğinde Sızma TestleriBilgi Güvenliğinde Sızma Testleri
Bilgi Güvenliğinde Sızma Testleri
 
INTERNET VE YEREL AĞ SIZMA TESTLERİ
INTERNET VE YEREL AĞ SIZMA TESTLERİ INTERNET VE YEREL AĞ SIZMA TESTLERİ
INTERNET VE YEREL AĞ SIZMA TESTLERİ
 
003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]
 
Siber Güvenlikte Yapay Zeka Uygulamaları - Webinar
Siber Güvenlikte Yapay Zeka Uygulamaları - WebinarSiber Güvenlikte Yapay Zeka Uygulamaları - Webinar
Siber Güvenlikte Yapay Zeka Uygulamaları - Webinar
 
Spring integration概要
Spring integration概要Spring integration概要
Spring integration概要
 
Class Diagram
Class DiagramClass Diagram
Class Diagram
 
Man in the Middle Atack (Ortadaki Adam Saldırısı)
Man in the Middle Atack (Ortadaki Adam Saldırısı)Man in the Middle Atack (Ortadaki Adam Saldırısı)
Man in the Middle Atack (Ortadaki Adam Saldırısı)
 
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
 
Zafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleriZafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleri
 
Ajansız log toplama
Ajansız log toplamaAjansız log toplama
Ajansız log toplama
 
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1
 
Akış Şemaları ( İş Analizi ve Uygulamaları Dersi)
Akış Şemaları ( İş Analizi ve Uygulamaları Dersi)Akış Şemaları ( İş Analizi ve Uygulamaları Dersi)
Akış Şemaları ( İş Analizi ve Uygulamaları Dersi)
 
Sızma Testleri Sonuç Raporu
Sızma Testleri Sonuç RaporuSızma Testleri Sonuç Raporu
Sızma Testleri Sonuç Raporu
 
Sızma Testine Giriş - Fuat Ulugay
Sızma Testine Giriş  - Fuat UlugaySızma Testine Giriş  - Fuat Ulugay
Sızma Testine Giriş - Fuat Ulugay
 
Mesurer les performances avec JMeter
Mesurer les performances avec JMeterMesurer les performances avec JMeter
Mesurer les performances avec JMeter
 
NetSecTR - "Siem / Log Korelasyon Sunumu" Huzeyfe Önal
NetSecTR - "Siem / Log Korelasyon Sunumu" Huzeyfe ÖnalNetSecTR - "Siem / Log Korelasyon Sunumu" Huzeyfe Önal
NetSecTR - "Siem / Log Korelasyon Sunumu" Huzeyfe Önal
 

Viewers also liked

Bitirme tezi örnek
Bitirme tezi örnekBitirme tezi örnek
Bitirme tezi örnekDpu Notlari
 
Power point sunum_ilkeleri
Power point sunum_ilkeleriPower point sunum_ilkeleri
Power point sunum_ilkelerikanatk
 
PowerPoint sunumlar
PowerPoint sunumlarPowerPoint sunumlar
PowerPoint sunumlar
Serdar Aksoy
 
Global colloboration
Global colloborationGlobal colloboration
Global colloboration
Kadir Sapmaz
 
Adsorption of surfactant on pyrite mineral and degradation of pyrene by pyrit...
Adsorption of surfactant on pyrite mineral and degradation of pyrene by pyrit...Adsorption of surfactant on pyrite mineral and degradation of pyrene by pyrit...
Adsorption of surfactant on pyrite mineral and degradation of pyrene by pyrit...
Meherunnesha (Nishat)
 
Çankaya Üniversitesi - Mühendislik Fakültesi
Çankaya Üniversitesi - Mühendislik FakültesiÇankaya Üniversitesi - Mühendislik Fakültesi
Çankaya Üniversitesi - Mühendislik Fakültesimmcankaya
 
Pien parfüm sunum
Pien parfüm sunumPien parfüm sunum
Pien parfüm sunum
Burak Atasoy
 
Bayşapkacı avm sunum
Bayşapkacı avm sunumBayşapkacı avm sunum
Bayşapkacı avm sunum
Yavuz Aydın
 
Safak EBESEK Veri Madenciligi Sunum
Safak EBESEK Veri Madenciligi SunumSafak EBESEK Veri Madenciligi Sunum
Safak EBESEK Veri Madenciligi Sunum
Safak EBESEK
 
Turkcell
Turkcell Turkcell
Turkcell
Hatice Gül
 
şımarık aksesuar sunum
şımarık aksesuar sunumşımarık aksesuar sunum
şımarık aksesuar sunum
Burak Atasoy
 
Yazılım kalitesi ve Standartları
Yazılım kalitesi  ve Standartları Yazılım kalitesi  ve Standartları
Yazılım kalitesi ve Standartları İbrahim ATAY
 
Tez
TezTez
PPT thesis defense_nikhil
PPT thesis defense_nikhilPPT thesis defense_nikhil
PPT thesis defense_nikhil
Nikhil Jain
 
Keytorc Proje Ekibi Zubizu Sunumu - Emirhan Şen
Keytorc Proje Ekibi Zubizu Sunumu - Emirhan ŞenKeytorc Proje Ekibi Zubizu Sunumu - Emirhan Şen
Keytorc Proje Ekibi Zubizu Sunumu - Emirhan Şen
Keytorc Software Testing Services
 
eğitsel oyunlar düzenlenmiş slayt
eğitsel oyunlar düzenlenmiş slayteğitsel oyunlar düzenlenmiş slayt
eğitsel oyunlar düzenlenmiş slaytkdr35
 
Dye removal by adsorption on waste biomass - sugarcane bagasse
Dye removal by adsorption on waste biomass - sugarcane bagasseDye removal by adsorption on waste biomass - sugarcane bagasse
Dye removal by adsorption on waste biomass - sugarcane bagasse
Madhura Chincholi
 
Swot
SwotSwot

Viewers also liked (20)

Bitirme tezi örnek
Bitirme tezi örnekBitirme tezi örnek
Bitirme tezi örnek
 
Power point sunum_ilkeleri
Power point sunum_ilkeleriPower point sunum_ilkeleri
Power point sunum_ilkeleri
 
PowerPoint sunumlar
PowerPoint sunumlarPowerPoint sunumlar
PowerPoint sunumlar
 
SDÜ EHM Bitirme Projesi Tez
SDÜ EHM Bitirme Projesi TezSDÜ EHM Bitirme Projesi Tez
SDÜ EHM Bitirme Projesi Tez
 
Global colloboration
Global colloborationGlobal colloboration
Global colloboration
 
Adsorption of surfactant on pyrite mineral and degradation of pyrene by pyrit...
Adsorption of surfactant on pyrite mineral and degradation of pyrene by pyrit...Adsorption of surfactant on pyrite mineral and degradation of pyrene by pyrit...
Adsorption of surfactant on pyrite mineral and degradation of pyrene by pyrit...
 
Çankaya Üniversitesi - Mühendislik Fakültesi
Çankaya Üniversitesi - Mühendislik FakültesiÇankaya Üniversitesi - Mühendislik Fakültesi
Çankaya Üniversitesi - Mühendislik Fakültesi
 
Pien parfüm sunum
Pien parfüm sunumPien parfüm sunum
Pien parfüm sunum
 
Bayşapkacı avm sunum
Bayşapkacı avm sunumBayşapkacı avm sunum
Bayşapkacı avm sunum
 
Safak EBESEK Veri Madenciligi Sunum
Safak EBESEK Veri Madenciligi SunumSafak EBESEK Veri Madenciligi Sunum
Safak EBESEK Veri Madenciligi Sunum
 
Turkcell
Turkcell Turkcell
Turkcell
 
şımarık aksesuar sunum
şımarık aksesuar sunumşımarık aksesuar sunum
şımarık aksesuar sunum
 
Yazılım kalitesi ve Standartları
Yazılım kalitesi  ve Standartları Yazılım kalitesi  ve Standartları
Yazılım kalitesi ve Standartları
 
Tez
TezTez
Tez
 
PPT thesis defense_nikhil
PPT thesis defense_nikhilPPT thesis defense_nikhil
PPT thesis defense_nikhil
 
Veri analizi sunu
Veri analizi sunuVeri analizi sunu
Veri analizi sunu
 
Keytorc Proje Ekibi Zubizu Sunumu - Emirhan Şen
Keytorc Proje Ekibi Zubizu Sunumu - Emirhan ŞenKeytorc Proje Ekibi Zubizu Sunumu - Emirhan Şen
Keytorc Proje Ekibi Zubizu Sunumu - Emirhan Şen
 
eğitsel oyunlar düzenlenmiş slayt
eğitsel oyunlar düzenlenmiş slayteğitsel oyunlar düzenlenmiş slayt
eğitsel oyunlar düzenlenmiş slayt
 
Dye removal by adsorption on waste biomass - sugarcane bagasse
Dye removal by adsorption on waste biomass - sugarcane bagasseDye removal by adsorption on waste biomass - sugarcane bagasse
Dye removal by adsorption on waste biomass - sugarcane bagasse
 
Swot
SwotSwot
Swot
 

Similar to Bitirme sunum

Mobi̇l Yazılım Geli̇şti̇rme
Mobi̇l Yazılım Geli̇şti̇rmeMobi̇l Yazılım Geli̇şti̇rme
Mobi̇l Yazılım Geli̇şti̇rme
appwoX Mobil Yazılım
 
Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)
Cihan Özhan
 
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
mobilike
 
Android Teknolojileri
Android TeknolojileriAndroid Teknolojileri
Android Teknolojileri
Muharrem Tac
 
DDesign 2020 sunum
DDesign 2020 sunumDDesign 2020 sunum
DDesign 2020 sunum
DDesign Bilişim
 
Companies
CompaniesCompanies
Companies
ecsrdl
 
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye GirişPhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
Egemen Mede
 
GUVENLI YAZILIM ve BILGI GUVENLIGI
GUVENLI YAZILIM ve BILGI GUVENLIGIGUVENLI YAZILIM ve BILGI GUVENLIGI
GUVENLI YAZILIM ve BILGI GUVENLIGI
Ahmet Pekel
 
Progressive Web Applications
Progressive Web ApplicationsProgressive Web Applications
Progressive Web Applications
Ugur Aydogdu
 
Muhammer KARAMAN, Hayrettin ÇATALKAYA - KURUMSAL SİBERGÜVENLİK: Açık Kaynak İ...
Muhammer KARAMAN, Hayrettin ÇATALKAYA - KURUMSAL SİBERGÜVENLİK: Açık Kaynak İ...Muhammer KARAMAN, Hayrettin ÇATALKAYA - KURUMSAL SİBERGÜVENLİK: Açık Kaynak İ...
Muhammer KARAMAN, Hayrettin ÇATALKAYA - KURUMSAL SİBERGÜVENLİK: Açık Kaynak İ...
BGA Cyber Security
 
Dijital Planlama ve Satınalma @ Bahcesehir Universitesi
Dijital Planlama ve Satınalma @ Bahcesehir UniversitesiDijital Planlama ve Satınalma @ Bahcesehir Universitesi
Dijital Planlama ve Satınalma @ Bahcesehir Universitesi
Cagan Caglar
 
Mobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim DökümanıMobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim Dökümanı
Ahmet Gürel
 
mobile computing and mobilizing enterprise
mobile computing and mobilizing enterprisemobile computing and mobilizing enterprise
mobile computing and mobilizing enterpriseFaik GÜNAY
 
Ticari Kobi El Terminali Yazılımı
Ticari Kobi El Terminali YazılımıTicari Kobi El Terminali Yazılımı
Ticari Kobi El Terminali Yazılımı
Çağatay Akpolat
 
Yazılım Mühendisliği
Yazılım MühendisliğiYazılım Mühendisliği
Yazılım Mühendisliği
AliMETN
 
Uygulama Geliştiricilere Başarı İpuçları
Uygulama Geliştiricilere Başarı İpuçlarıUygulama Geliştiricilere Başarı İpuçları
Uygulama Geliştiricilere Başarı İpuçları
R. Caner Yıldırım
 
Infraskope Security Event Manager
Infraskope  Security  Event  ManagerInfraskope  Security  Event  Manager
Infraskope Security Event Managerlogyonetimi
 
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimiYazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
Betul Kesimal
 
Hosting Dergi - 19.SAYI
Hosting Dergi - 19.SAYIHosting Dergi - 19.SAYI
Hosting Dergi - 19.SAYI
Hosting Dergi
 

Similar to Bitirme sunum (20)

Mobi̇l Yazılım Geli̇şti̇rme
Mobi̇l Yazılım Geli̇şti̇rmeMobi̇l Yazılım Geli̇şti̇rme
Mobi̇l Yazılım Geli̇şti̇rme
 
Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)
 
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
 
Android Teknolojileri
Android TeknolojileriAndroid Teknolojileri
Android Teknolojileri
 
DDesign 2020 sunum
DDesign 2020 sunumDDesign 2020 sunum
DDesign 2020 sunum
 
Companies
CompaniesCompanies
Companies
 
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye GirişPhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
 
GUVENLI YAZILIM ve BILGI GUVENLIGI
GUVENLI YAZILIM ve BILGI GUVENLIGIGUVENLI YAZILIM ve BILGI GUVENLIGI
GUVENLI YAZILIM ve BILGI GUVENLIGI
 
Progressive Web Applications
Progressive Web ApplicationsProgressive Web Applications
Progressive Web Applications
 
Muhammer KARAMAN, Hayrettin ÇATALKAYA - KURUMSAL SİBERGÜVENLİK: Açık Kaynak İ...
Muhammer KARAMAN, Hayrettin ÇATALKAYA - KURUMSAL SİBERGÜVENLİK: Açık Kaynak İ...Muhammer KARAMAN, Hayrettin ÇATALKAYA - KURUMSAL SİBERGÜVENLİK: Açık Kaynak İ...
Muhammer KARAMAN, Hayrettin ÇATALKAYA - KURUMSAL SİBERGÜVENLİK: Açık Kaynak İ...
 
ders bilgi
ders bilgiders bilgi
ders bilgi
 
Dijital Planlama ve Satınalma @ Bahcesehir Universitesi
Dijital Planlama ve Satınalma @ Bahcesehir UniversitesiDijital Planlama ve Satınalma @ Bahcesehir Universitesi
Dijital Planlama ve Satınalma @ Bahcesehir Universitesi
 
Mobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim DökümanıMobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim Dökümanı
 
mobile computing and mobilizing enterprise
mobile computing and mobilizing enterprisemobile computing and mobilizing enterprise
mobile computing and mobilizing enterprise
 
Ticari Kobi El Terminali Yazılımı
Ticari Kobi El Terminali YazılımıTicari Kobi El Terminali Yazılımı
Ticari Kobi El Terminali Yazılımı
 
Yazılım Mühendisliği
Yazılım MühendisliğiYazılım Mühendisliği
Yazılım Mühendisliği
 
Uygulama Geliştiricilere Başarı İpuçları
Uygulama Geliştiricilere Başarı İpuçlarıUygulama Geliştiricilere Başarı İpuçları
Uygulama Geliştiricilere Başarı İpuçları
 
Infraskope Security Event Manager
Infraskope  Security  Event  ManagerInfraskope  Security  Event  Manager
Infraskope Security Event Manager
 
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimiYazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
 
Hosting Dergi - 19.SAYI
Hosting Dergi - 19.SAYIHosting Dergi - 19.SAYI
Hosting Dergi - 19.SAYI
 

Bitirme sunum

  • 1. Hazırlayanlar Oben Işık (040080220) , Gökhan Karaca(040070234) Danışman Yrd. Doç. Dr. Feza Buzluca İTÜ Bilgisayar Mühendisliği Bitirme Projesi iCity
  • 2. iCity Tanıtım Aşamaları Proje Kullanılan Kuramsal Analiz Tasarım Amacı Teknolojiler Bilgiler Modelleme “Innovation distinguishes between a leader and a follower” – Steve Jobs
  • 3. Proje Amacı Neden iCity uygulamasına ihtiyaç duyuyoruz ? “It is fine to celebrate success but it is more important to heed the lessons of failure” – Bill Gates
  • 4. Neden iCity Uygulaması ? 1. Şehri yakından tanımak 2. Arkadaş takibi yapabilmek 3. Akıllı yer önerisi yapabilmek 4. Ulaşım yardımı almak 5. Sosyal ağ entegrasyonu 6. Mobil dünyaya uyum sağlamak
  • 5. iCity’de Kullanılan Teknolojiler “Design is not just what it looks like and feels like. Design is how it works.” – Steve Jobs
  • 6.
  • 7. Kuramsal Bilgiler “It’s fine to celebrate success but it is more important to heed the lessons of failure.” – Bill Gates
  • 8. iCity – Kuramsal Bilgiler | Android Tanım  Android, Google ve Open Handset Alliance tarafından kodlanmış, Linux OS tabanlı bir mobil cihaz için geliştirilmiş, açık kaynak kodlu bir işletim sistemidir.  Android işletim sistemli bir mobil telefon için, Android SDK kullanılarak uygulama yazılımları geliştirilebilmektedir.  Projemizin ana çatısı android üzerine kurulmuştur.
  • 9. iCity – Kuramsal Bilgiler | Android Kullanımı  Günümüzde Android işletim sistemli mobil telefonların sayısı hızla artmaktadır.
  • 10. iCity – Kuramsal Bilgiler | Android Yapısı
  • 11. iCity – Kuramsal Bilgiler | Android Yapısı II  Androidde uygulama JAVA dilinde geliştirilir.  Android işletim sistemine göre tüm ekranlar birer activity dir.  Activity ler kullanıcı ile etkileşimi sağlayan ekranlardır.  Her bir activity kendine adanmış bir layouta sahiptir.  Activityler birbirlerini çağırabilirler ve aralarında veri transferi yapabilirler.
  • 12. iCity – Kuramsal Bilgiler | Android Yapısı III  Activityler, manifest dosyası adı verilen bir xml dosyasında tanımlanır. • Uygulama clientler tarafından Google Play Store dan indirilirken kullanıcıdan istenecek izinleri ifade ediyor. • Uygulamada activity olarak görev alacak olan sınıfları tanımlıyoruz. • Uygulama bağımsız olarak çalışacak olan servisimizi tanıtıyoruz.
  • 13. iCity – Kuramsal Bilgiler | JSON  JSON, veri alış verişini sağlamak amacıyla geliştirilmiş bir veri biçimlendirme yöntemidir.  JavaScript Object Notation  XML den çok daha kolay ve hızlı biçimde işlenebilme özelliğine sahiptir.  XML ile biçimlendirilmiş bir veri kümesi, JSON ile biçimlendirilmiş veri kümesine oranla daha fazla bellek alanı ihtiyacı doğurur.
  • 14. iCity – Kuramsal Bilgiler | JSON – XML Karşılaştırması XML JSON <?xml version="1.0" encoding="UTF-8"?> { <root> <data> "data": [{ <id>1</id> "id" : "1", <name>PHP </name> "name" : "PHP” </data> }] </root> } var root = xhr.responseXML; data.name[0]; var dataElements = root.getElementsByTagName('data'); var idElementsValue = dataElements[0].getElementsByTagName('id ')[0].firstChild.nodeValue; var nameElementsValue = dataElements[0].getElementsByTagName('na me')[0].firstChild.nodeValue;
  • 15. iCity – Kuramsal Bilgiler | JSON – Projemizdeki Kullanımı  Projemizde JSON kullanımı web servisimiz ile uygulamamız arasındaki iletişimi sağlamak üzerine kurulmuştur.
  • 16. iCity – Kuramsal Bilgiler | .Net Framework (C#)  .Net framework projemizde, uzak host ile iletişimi yaparken kullanacağımız web servisi oluşturmak için kullanılmıştır.  Web servisi, XML mesajlaşma tabanlı bir sistem entegrasyon yöntemidir. W3C tarafından yapılan resmi tanımıyla web servisi, bilgisayarlar arasında ağ üzerinden etkileşimi ve uyumluluğu sağlayacak yazılım sistemidir.  XML tabanlı mesajlaşma esas alınmıştır. Biz projemizde JSON ile haberleşmeyi tercih ettik.  Web servis erişim standardı olarak SOAP (Simple Object Access Protocol) adı verilen basit nesne erişim protokolü kullanılmaktadır.  SOAP sayesinde web servis ile basit ve mesaj tabanlı bir iletişim sağlanmaktadır.  Projemizde .net c# ile kodlanmış olan ve uzak host da koşan bir webservis bulunmaktadır.
  • 17. iCity – Kuramsal Bilgiler | PHP  PHP, özellikle Web için tasarlanmış olan, sunucu taraflı çalışan bir script dilidir.
  • 18. iCity – Kuramsal Bilgiler | PHP – Projemizdeki Kullanımı  Projemizde PHP dilini, yüklü miktarda datayı her defasında tek tek bir api kullanılarak sorgulamak yerine, hangi datalara ilişkin bilgilere ihtiyaç olduğunu php sayfamıza gönderip, cURL ile sorgunun uzak hostta çalışmasını sağlamak için kullandık. Foursquare Kullanıcı Sayısı : 27M 1 Kişinin Ortalama Arkadaş Sayısı : 137 10901 foursquareGetCheckins.php Log cURL Kullanıcı Foursquare API
  • 19. Analiz ve Modelleme “It’s fine to celebrate success but it is more important to heed the lessons of failure.” – Bill Gates
  • 20. iCity – Analiz Use Case UC1 : Programa Giriş Kapsam: Bitirme Projesi Kullanıcı Giriş Paneli Birincil Aktör : Kullanıcılar Paydaşlar : Kullanıcılar : Programı kullanarak şehir, arkadaşları ve mekanlar hakkında bilgi almayı hedeflemişlerdir. Önşartlar : 1. Kullanıcının aktif bir Foursquare hesabı olmalıdır. 2. Kullanıcı telefonuna uygulamayı yüklemiş olmalıdır. 3. Kullanıcının telefonunda internet erişimi olmalıdır. Başarı Şartı : Kullanıcı sisteme giriş yapmış olmalıdır. Senaryo : Ana akış: 1. Kullanıcı, telefonun menüsünden uygulamayı başlatır. 2. Ekrandaki login butonuna tıklar. 3. Program kullanıcıya giriş ekranını açar. 4. Kullanıcı giriş ekranında foursquare’e ait mail adresini ve şifresini girer. 5. Program bu mail ve şifreyi foursquare üzerinden kontrol eder. 6. Sonrasında ana menüye kullanıcıyı yönlendirir. Alternatif Akış: *a. İnternet bağlantısının olmadığı durumlarda internet hata sayfasına yönlendirilir. 5a. Mail adresi veya şifrenin geçerli olmaması koşulunda giriş ekranına geri döner.
  • 21. iCity – Analiz Use Case UC2 : Kullanıcının Arkadaşlarının Son Check-inlerini Görmesi Kapsam: Arkadaşların Son Check-in’ler Paneli Birincil Aktör : Kullanıcılar Paydaşlar : Kullanıcılar : Programı kullanarak şehir, arkadaşları ve mekanlar hakkında bilgi almayı hedeflemişlerdir. Önşartlar : 1. Kullanıcını sisteme başarılı bir şekilde giriş yapmış olmalıdır. 2. Kullanıcı telefonuna uygulamayı yüklemiş olmalıdır. 3. Kullanıcının telefonunda internet erişimi olmalıdır. Başarı Şartı : Kullanıcı arkadaşlarına ait son check-in’lerini görmelidir. Senaryo : Ana akış: 1. Kullanıcı ana menuden son check-inler’sekmesine tıklar. 2. Sistem foursquare üzerinden kullanıcının arkadaşlarına ait tüm son check-in’leri hesaplar. 3. Bir liste halinde bu check-inler kullanıcıya listelenir. Alternatif Akış: *a. İnternet bağlantısının olmadığı durumlarda internet hata sayfasına yönlendirilir. 2a. Foursquare kaynaklı hatalardan dolayı arkadaş listesine ait check- in’leri almada sorun yaşanabilir.Bu durumda sistem hata mesajı üretir.
  • 22. iCity – Analiz Use Case UC3 : Kullanıcının Arkadaşlarının Son Check-inlerine Yorum Yazması Kapsam: Arkadaşların Son Check-in’ler Paneli Yorum Kısmı Birincil Aktör : Kullanıcılar Paydaşlar : Kullanıcılar : Programı kullanarak şehir, arkadaşları ve mekanlar hakkında bilgi almayı hedeflemişlerdir. Önşartlar : 1. Kullanıcını sisteme başarılı bir şekilde giriş yapmış olmalıdır. 2. Kullanıcı telefonuna uygulamayı yüklemiş olmalıdır. 3. Kullanıcının telefonunda internet erişimi olmalıdır. 4. Kullanıcı arkadaşlarının son check-in’leri listesine erişmiş olmalıdır. Başarı Şartı : Kullanıcı arkadaşlarından herhangi birinin check-in’ine yorum yazmış olmalıdır. Senaryo : Ana akış: 1. Kullanıcı arkadaşlarının son check-in’lerinin listelendiği ekrandan herhangi bir arkadaşının check-in’inen tıklar. 2. Program yorum penceresi açar. 3. Kullanıcı buraya yorumunu yazar ve gönder butonuna tıklar. 4. Program yorumu Foursquare’e iletir. Alternatif Akış: *a. İnternet bağlantısının olmadığı durumlarda internet hata sayfasına yönlendirilir. 4a. Foursquare kaynaklı hatalardan yorumu iletmede sorun yaşanabilir.Bu durumda sistem hata mesajı üretir.
  • 23. iCity – Analiz Use Case UC4 : Kullanıcının Sistemden Öneri İstemesi Kapsam: Kullanıcı Mekan Öneri Paneli Birincil Aktör : Kullanıcılar Paydaşlar : Kullanıcılar : Programı kullanarak şehir, arkadaşları ve mekanlar hakkında bilgi almayı hedeflemişlerdir. Önşartlar : 1. Kullanıcı sisteme başarılı bir şekilde giriş yapmış olmalıdır. 2. Kullanıcı telefonuna uygulamayı yüklemiş olmalıdır. 3. Kullanıcının telefonunda internet erişimi olmalıdır. Başarı Şartı : Kullanıcıya tercihlerine göre ve seçtiği kategoriye göre mekan öneri listesi sunulmalıdır. Senaryo : Ana akış: 1. Kullanıcı ana menuden suggest sekmesine tıklar. 2. Sistem kullanıcıya 9 ana kategori listesini getirir. 3. Kullanıcı 9 ana kategori içerisinden bir tanesini seçer. 4. Sistem bu ana kategoriye ait kullanıcı tercihlerine uyan mekanları öneri mekanizmasını kullanarak listeler. Alternatif Akış: *a. İnternet bağlantısının olmadığı durumlarda internet hata sayfasına yönlendirilir. 2a. Foursquare kaynaklı hatalardan dolayı kategori listesini almada sorun yaşanabilir.Bu durumda sistem hata mesajı üretir. 3a. Foursquare ve programkaynaklı hatalardan dolayı kategori listesini almada sorun yaşanabilir.Bu durumda sistem hata mesajı üretir.
  • 26. Tasarım “It’s fine to celebrate success but it is more important to heed the lessons of failure.” – Bill Gates
  • 27. iCity – Tasarım | İnternet Bağlantısının Algılanması
  • 28. iCity – Tasarım | İnternet Bağlantısının Algılanması
  • 29. iCity – Tasarım | İnternet Bağlantısının Algılanması 05-12 19:51:49.669: D/NetworkConnectivityListener(1307): onReceive(): mNetworkInfo=NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true mOtherNetworkInfo = [none] mState=CONNECTED 05-12 20:14:00.524: D/NetworkConnectivityListener(1307): onReceive(): mNetworkInfo=NetworkInfo: type: WIFI[], state: DISCONNECTED/DISCONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: false mOtherNetworkInfo = [none] mState=NOT_CONNECTED
  • 30. iCity – Tasarım | Login Kullanıcı log in butonuna tıkladığında, açılan foursquare api web view ile uygulamamıza login olur.
  • 31. iCity – Tasarım | Application Base 1. Uygulama kullanıcısının kim olduğunu login sürecinden sonra tutar. (mainUser:User) 2. Kullanıcının arkadaş listesi ne uygulamamızın bu sınıfından erişmek mümkündür. (friendList:FriendList) 3. Foursquare tarafında var olabilecek tüm kategorilerin listesi tutulmaktadır. (venueCategoryList:VenueCategoryList) 4. Kullanıcıya ilişkin session bilgileri (Access token vb.) tutulmaktadır. (fsSession:FoursquareSession) 5. Foursquare API ile ilgili yapılabilecek tüm işlemler FSAdapterInterface ile yapılmıştır. FSAdapterInterface bir java interface olarak tasarlanmıştır ve ileride başka API ler kullanılmak istendiğinde uygulama üzerinde herhangi bir değişiklik yapılmasına gerek kalmayacaktır. (fPAdapter:FSAdapterInterface) 6. Web servis işlemleri WebServiceOperator ile yapılmaktadır. (webServiceOperator:WebServiceOperator) 1. Wi-Fi , 3G , 2G / Edge bağlantılarının durumlarına ilişkin bilgiler observer patternine uygun olarak tasarlanmış olan NetworkConnectivityListener tarafından yapılacaktır. (nconnListener:NetworkConnectivityListener) 2. GPS Lokasyonuna ilişkin bilgiler de GOLocationManager ile tutulmaktadır. Sekil 5.3 – Uygulama Başlangıç Nesnesi
  • 32. iCity – Tasarım | Login  Mobil uygulama kullanıcısının Foursquare Api ile iletişime geçebilmesi için ise sisteme oAuth ile login olması gerekmektedir. Buna göre; 1. Kullanıcı uygulamanın login paneline girer. 2. oAuth güvenli authorization panelimiz açılır. 3. Kullanıcı adı ve şifre girişini yapar. 4. Kullanıcıya ilişkin bilgiler ile foursquare üzerinde koşacak olan api key foursquare tarafına gönderilir. 5. Foursquare servisi kullanıcıyı login ettikten sonra access token dönüşü yapar. 6. Kullanıcıya spesifik bu access token key ile, izinler dahilinde işlemler yapılmaktadır.
  • 36. iCity – Tasarım | Uygulama Ana Ekranı Action Bar Sub Activity TabGroup
  • 37. iCity – Tasarım | Uygulama Ana Ekranı
  • 38. iCity – Tasarım | Son Check-in Yapılan Yerler
  • 39. iCity – Tasarım | Son Check-in Yapılan Yerler
  • 40. iCity – Tasarım | Son Check-in Yapılan Yerler • Son check-in yapılan yerleri tek tek Foursquare api ile birlikte sorgulama yapmak oldukça performans düşürücü olacağından bu konuda akıllı bir çözüm üretilmiştir. • Bu sebeple de www.yoncamodaevi.com/foursquareGetCheckins.php sayfası liste olarak kullanıcının arkadaş listelerini alır ve bu arkadaş listesine göre son check-in lerin listesi dönülür. • Bu sayfada kullanıcıdan alınan access token ile CURL altyapısı kullanılarak sorgulama yapılmaktadır. • Bu sayede sonuçlar mobil uygulamaya göre çok daha hızlı bir uzak server üzerinde toplu halde hesaplanır ve bu da oldukça akıllı bir çözüm olmaktadır.
  • 41. iCity – Tasarım | Mekan Arama Kategori kısıtlamaları (Akıllı Öneride Kullanılacak) Tablar üzerindeki yazılar kaymakta Her kategoriye ait alt kategoriler bulunmaktadır.
  • 42. iCity – Tasarım | Mekan Arama (Kısıtlamalar)
  • 43. iCity – Tasarım | Mekan Arama
  • 44. iCity – Tasarım | Mekan Arama (Harita)
  • 45. iCity – Tasarım | Mekan Arama (Harita)
  • 46. iCity – Tasarım | Check-in Yapma Süreci
  • 47. iCity – Tasarım | Check-in Yapma Süreci
  • 48. iCity – Tasarım | Check-in Yapma Süreci
  • 50. iCity – Tasarım | Akıllı Yer Önerme Kullanıcılar daha önce hiç gitmedikleri yerler hakkında bilgi edinebilmek istediklerinde akıllı yer önerme algoritması kullanılmaktadır. Akıllı yer önermeyi sağlayabilmek için, kullanıcının sosyal ağ üzerinde yaptığı bir takım işlemleri, web servisimiz aracılığıyla kendi veritabanımızda tutmak suretiyle kayıt altına aldık. Bu kayıtlar kişinin sevdiği ya da sevmediği yerler hakkında bilgilerin tutulması ve mekanlar hakkında puanlamanın yapılabilmesi için kullanılmaktadır. Akıllı yer önermenin temel amacı kullanıcıya daha önce hiç gezmediği mekanları, daha önce gittiği mekanlardan ve arkadaşlarının gittiği mekanlardan yola çıkarak mantıklı biçimde önerebilmektir.
  • 51. iCity – Tasarım | Akıllı Yer Önerme istek Foursquare API istek kayıt http://obenws.yoncamodaevi.com
  • 52. iCity – Tasarım | Akıllı Yer Önerme
  • 53. iCity – Tasarım | Akıllı Yer Önerme
  • 54. iCity – Tasarım | Akıllı Yer Önerme
  • 55. iCity – Tasarım | Akıllı Yer Önerme PROCEDURE [dbo].[graduationSP_getUsersSuggestedVenues] 1. Check-in tablosundan kullanıcının daha önce gitmediği ve kullanıcıya yakın mesafedeki mekanlar getirilir. 2. Mekanların kategori bilgileri ilgili tablodan alınmakta ve sonrasında web servise dönderilmektedir. 3. Web servis daha önceden almış olduğu kullanıcının geçmiş check-in’lerinin kategori bilgilerine göre bu mekanlar arasında çok sevilenden az sevilene göre bir sıralama yapmaktadır. • Örnek vermek gerekirse; • İncelediğimiz kullanıcı daha önceden 3 kere fast food kategorili mekanda ve 2 kez de eğitim kategorili mekanlarda check-in olmuş ise, sistem bu kullanıcı için fast food kategorisine sahip mekanı listede eğitim kategorili mekanlardan daha ön sıralara koyacaktır.
  • 56. “I am as proud of what we don’t do as I am of Teşekkürler. Sorular? what we do.” – Steve Jobs Oben ISIK – Gökhan KARACA

Editor's Notes

  1. This presentation demonstrates the new capabilities of PowerPoint and it is best viewed in Slide Show. These slides are designed to give you great ideas for the presentations you’ll create in PowerPoint 2011!For more sample templates, click the File menu, and then click New From Template. Under Templates, click Presentations.