Logo’da Teknoloji

Müşteriyi Hissederek Geliştirme Hayaline BDD İle Çözüm

bdd

Yeni bir yazılım projesine başlıyorsunuz, ekiplerde heyecan dorukta, gayet hızlı bir başlangıç yapılıyor ve çıktılar alınmaya başlanıyor, herkes mutlu. Fakat bir süre bakıyorsunuz ki hızlı giriş sonrası bir duraklama dönemi başlıyor, test ve müşteri ortamlarından hatalar dönmeye başlıyor, aslında ihtiyaçların karşılanmadığı ortaya çıkıyor. Bu süreci yaşamamış bir yazılım ürettiyseniz gerçekten şanslısınız çünkü ilk grafikteki gibi çalışmamışsınız demektir. Bu yazımızda müşteriyi hissederek geliştirme hayaline BDD ile çözüm geliştirmeyi anlatıyoruz.

Biz de bulut üzerinde çalışacak olan SaaS modeline uygun yeni nesil ürünler için geliştirmelere başlama kararı aldığımızda kullanıcı deneyiminin ön planda olacağı, testlerin elle yapılması yanında otomatik testlerin ürün geliştirme kapsamında baş rolde olacağı bir yapıya merhaba demiş olduk. Yıllardır piyasada yoğun olarak kullanılan Logo ürünlerinin müşterilerimize sağladığı işlevler yeniden tasarlanırken işlevlerin gereksinimleri tam olarak karşıladığından emin olarak ilerlememiz gerekiyordu. Gereksinimlerinin sadece geleneksel analiz dokümanları ile değil, bilgisayar ile insan dilinin ortaklaştığı bir yöntem ile tanımlanmasının doğru bir yol olduğu konusunda hemfikir olarak yola çıktık. İkinci grafiğe uygun yani zamana bağlı olarak geliştirme hızının dengeli arttığı ve bir doygunluğa ulaştığı bir çalışma düzeni için test odaklı geliştirmeyi (Test Driven Development – TDD) düşünmek gerekiyor. Projelerin sonunda olan test baskısını yazılım geliştirme sürecinin her safhasında göz önünde bulundurmak, daha kaliteli üretim yapmayı, müşterilerin önüne daha güvenilir ve tutarlı uygulamaları sunmayı beraberinde getiriyor.

Bu fikirle yola çıkarken TDD ilk akla gelen yöntem olabilirdi. TDD, veri tabanı ve hesaplama işlemleri yoğun bir iş uygulaması geliştirme süreci için tercih edildiğinde; kapsamı tekrarlı olan test metotları üretme olasılığı yüksek olmakta. Bu yöntem ile devam edildiğinde “code coverage” oranı yüksek ama proje sonunda çıkacak iş uygulamasının karşılamayı vaat ettiği gereksinimleri gerçek anlamda adreslemeyen bir ürüne sahip olunabilir. Bunun yerine gereksinimlerin karşılandığını teyit edebildiğimiz bir geliştirme süreci oluşturmak daha doğru bir yaklaşım haline dönüşmektedir. Bu noktada, yine testlerin önce oluşturulmasından vazgeçmeyen, ürün özelliklerini geliştirme esnasında sınamaya odaklanan bir geliştirme yöntemi tercih edilmesi doğru bir karar olarak görülüyor. BDD (Behavior Driven Development – Davranış Odaklo Geliştirme) yaygın kullanımı olarak kullanıcı kabul testleri için önerilen bir yöntem olarak kabul görmesine rağmen Logo olarak geliştirme safhalarında da davranış odaklı geliştirmeyi tercih ederek denemeye karar verdik.

  (tBDD, ürün geliştirme sürecindeki paydaşların iş birliğini arttıran ve ortak anlayışı oluşturmayı hedefleyen bir yaklaşımdır.  BDD’yi test odaklı geliştirmeden (TDD) ayıran en önemli özelliklerinden biri de budur, çünkü TDD daha çok kodlama tarafına odaklanmayı sağlamaktadır.

BDD ile Geliştirme Süreci

BDD ile geliştirme yapılırken insan diline yakın bir şekilde gereksinimlerin senaryolar şeklinde oluşturulması sağlanmaktadır. Her bir senaryo, geliştirilecek olan ürünün işlevlerinin girdilerini, yapılması beklenen işlemi ve çıktılarını tarif etmektedir.

Java ile geliştirmeler yapılmaya devam ettiği için BDD’nin Java dünyasındaki gerçekleştirimden biri olan Cucumber ile çalışmalara başlanmıştır. Cucumber, açık kaynak kodlu olması nedeni ile ve geliştirme ortamları tarafından desteklenmesi sayesinde geliştirme süreçlerimize rahat entegre olabileceği düşünülerek tercih edilmiştir.  Bu noktada, örnek bir senaryoya bakarsak, maaş bilgisi olmadan bir çalışanın eklenmesini engelleyen bir işlevin kontrolünü sağlayan senaryo Cucumber’ın script dili olan Gherkin ile aşağıdaki gibi yazılabilir.


  Scenario: Add an employee without salary info

    Given There is no employee with employee code “EMP_EMPCODE1”

    When I try to add an employee

      | name   | surname | country | startDate      | employeeCode     | branchCode |

      | İlknur  | Demir       | TR           | 07/08/2007 | EMP_EMPCODE1 | EMP_B01    |

    Then Employee addition is not successful


Örnek senaryoda yer alan;

  • “Scenario” ile başlayan satır senaryonun adını,
  • “Given” ile başlayan satır senaryonun ön kabullerini,
  • “When” ile başlayan satır senaryonun hedeflediği işlevi ve senaryonun çalışması sırasında kullanılacak test verisini,
  • “Then” ile başlayan satır ise senaryonun beklenen sonucunu

belirtmektedir.

Senaryoların tamamlanmasından sonra Cucumber kullanarak oluşturulan adım tanımları oluşturulur. Bu aşamadan sonra senaryoyu geliştiren iş analistlerinin görevi tamamlanmakta, geliştiricilerin ise görevleri yeni başlamaktadır.


    @Given(“^There is no employee with employee code \”([^\”]*)\”$”)

    public void thereIsNoEmployeeWithEmployeeCode(String employeeCode) throws Throwable {

        try {

            String employeeByCode = myHelper.getMyEmployee().getEmployeeIdFromAssignByEmpCode(employeeCode);

            Assert.assertNull(employeeCode + ” çalışan mevcut”, employeeByCode);

        } catch (Exception e) {

            Assert.fail(e.getClass().getCanonicalName());

        }

    }


Geliştiriciler, senaryodaki gereksinimi yerine getiren iş servislerinin kodlamasını yapacaklardır. İş servislerinin geliştirilmesi sırasında kullanıcı ara yüzleri ile ilgili geliştirmeler henüz başlamamış durumdadır.  BDD senaryoları, ürün işlevlerine odaklanmakta ve bu işlevlerin düzgün çalışmasını garanti etmeyi hedeflemektedir. Burada senaryoların ve ürün kaynak kodlarının aynı proje kapsamında yer alması sürecin karmaşıklığını arttıran bir durum olarak karşımıza çıkmıştır. Çünkü aynı projede yer alma durumu senaryoları geliştiren iş analistinin ürünü derleyebilmesini gerektirmektedir, bu zorunluluğu ortadan kaldırmak için senaryolar ile kaynak kodlar ayrı projelere bölünmüş, senaryoların yer aldığı projenin kaynak kodların yer aldığı projeye bağımlı olarak çalışması sağlanmıştır. Bu yöntem, davranış odaklı geliştirmenin sadece kullanıcı kabul testi olarak değil, yaygın kullanımdan farklı olarak geliştirme sürecinin değişmez bir parçası olarak kullanılmasını beraberinde getirmiştir.

Senaryoların Çalıştırılması

Buraya kadar geldiğimiz noktada senaryolar, geliştirme ortamları üzerinden çalıştırılabilmektedir. Geliştirilen işlerin sürdürülebilir olması için “Continous Integration” kapsamında testleri çalıştırmak gerekmektedir. Bunun için; otomasyon sunucusu olarak kullanılan Jenkins yardımı ile ürün derlendikten sonra senaryolar entegrasyon testi olarak devreye girmekte ve son derlenen kaynak kodlar üzerinde koşarak beklendiği gibi çalışmayan senaryolar ortaya çıkmaktadır. 

Proje yönetim aracı (örnek durumda Maven) yardımıyla projeler yapılandırılarak senaryolara uygun şekilde geliştirilmiş iş servisleri ve senaryolar bir araya getirilmektedir. İş servislerinin senaryolara uygunluğu REST servisleri üzerinden veya “in-memory” olarak test edilebilir.

Jenkins üzerinde BDD senaryolarının koşturulması, tercihe göre her sürüm öncesinde çalışabileceği gibi dilenirse kaynak kod versiyon kontrol sistemine aktarılan her yeni geliştirme sonrasında da çalıştırılabilir. Böylelikle BDD ile geliştirme süreci DevOps süreçlerinin de bir parçası haline dönüşmekte ve süreçlerin oluşturulmasında önemli bir adım olarak yerini almaktadır. Bunun getirdiği bir diğer avantaj ise canlı kullanımda olan bir SaaS ürüne eklenen özelliklerin mevcut ürün özelliklerine olumsuz bir etkisi oluşacak ise yeni özellikler müşterilerin kullanımına açılmadan tespit edilebilmesidir. Yeni versiyonlarda oluşabilecek potansiyel hataların önene geçilerek bizim bakım maliyetlerimiz azalırken müşterilerimiz daha kaliteli ve tutarlı Logo ürünlerine sahip olacak ve memnuniyetleri giderek artacaktır.

Senaryoların Ölçümü

Senaryonun beklediği sonucu vermeyen durumların olmadığı ve senaryoların yazılan kaynak kodların ne kadarlık bir kısmını kapsadığını belirlemek buraya kadar anlatılan sürecin işlerliğini ortaya koyan en kritik parametrelerdir. Bu parametrelerin ilkini Jenkins üzerinde koşan testlerin sonucunu izleyerek elde edebiliriz. Testin kaynak kodların kapsadığı oranı ölçmek için ise Java Code Coverage (JaCoCo) kütüphanesi kullanılmıştır. JaCoCo’nun ürettiği sonuçlar ise statik kod analiz aracı Sonar’a aktarılmakta ve Sonar’ın kullanıcı ara yüzü üzerinden takip edilebilmektedir. Ayrıca Sonar üzerinde Logo’nun Java geliştirme ile ilgili oluşturmuş olduğu kural setlerine göre kod kalitesi ile ilgili metrikler de takip edilmektedir. Logo’nun mevcut ürünleri dahil olmak üzere “blocker” veya “critical” bir madde olmaması hedeflenmektedir. Bu bölümde bahsedilen işler, Jenkins otomasyon sunucusu üzerinde koşmakta ve DevOps sürecimizin kalite ile ilgili önemli bir parçası olarak görülmektedir.

BDD benimsenerek geliştirilmiş iş servisleri için %80 üzeri “code coverage” oranı elde edilmiştir. Örnek olarak çalışanın atamalarının yönetildiği iş servisi, veri erişim servisleri ve servisin kullandığı veri yapıları göz önüne alındığında aşağıdaki oranlar elde edilmiştir.

Sınıf İsmi

Coverage Oranı (%)

EmployeeAssignService

86,1

EmployeeAssignMapper

88,9

EmployeeAssign

100,0

EmployeeAssignDao

79,0

EmployeeAssignDTO

89,7

AssignmentDaoService

81,6

Yukarıdaki tabloda yer alan sınıfların statik kod analizleri sonucunda ise “blocker”, “critical” veya “majör” hata bulunmamaktadır.

BDD ile geliştirme sürecini sadece “code coverage” oranı ile ölçümlemek tam doğru bir sonuç üretmeyecektir. “Code coverage” oranı ile birlikte bu senaryoların beklendiği şekilde sonuç vermesi beklenmelidir. Bu iki ölçüm sonuçları birleştirildiğinde gereksinimlerin tam olarak karşılandığı konusunda net bir fikir sahibi olunabilir. Bu noktada örnek olarak verilen işlevler ile ilgili yazılmış senaryolar göz önünde bulundurulduğunda “fail” eden senaryo bulunmamaktadır.

LAPIS Sürecine Entegrasyon

Daha önceki blog yazılarında bahsedilen LAPIS sistemi, yeni geliştirilen SaaS ürünler için yine etkin olarak kullanılmaktadır. Yeni geliştirilen ürünlerde 2 haftalık Sprint’ler koşulmaktadır. Analizi belirlenmiş maddeler JIRA üzerinden mutabakat toplantısı öncesinde ürün sahibi tarafından belirlenmektedir. Mutabakat toplantısı öncesinde iş yükü tahminleri yapılmaktadır. Mutabakat toplantısında yapılmasına karar verilen maddelerin öncelikle BDD senaryoları oluşturulmakta, bu iş tamamlandıktan sonra kod geliştirilmesine geçilmektedir.

Sonuç

TDD test sorumluğunu yazılımcılara yüklerken, bizdeki kullanım biçimiyle BDD test sorumluluğunu analiste yükleyen test odaklı bir yazılım geliştirme sürecidir diyebiliriz. Bu şekilde, test süreci en baştan itibaren yazılım geliştirmenin her safhasına yayılmaktadır.

Yazılım geliştirme uzmanları açısından sürecin etkisine baktığımızda ise bizim kullandığımız yöntem sadece teknik odaklı bir geliştirmeyi hedeflememektedir. Müşterideki kullanım şeklinin ve beklentilerin farkında olarak bir geliştirme yapma olanağı sunmaktadır. Bu sayede yazılım geliştirme uzmanlarının ürünün ilgilendiği alana ait bilgi birikimi artmaktadır. Sonuç olarak; müşteriyi hissederek geliştirme yapmak için önemli bir adım atılmış olmaktadır.

Yazan: Nail Diker / Logo Yazılım – Yazılım Geliştirme Müdürü

Telif Hakkı | Kullanım Koşulları | Gizlilik | Kişisel Veriler
Logo Blog’daki güncel yayınların her hafta posta kutunuza gelmesi için bültenimize abone olabilirsiniz.
  1. Genel: Bu siteyi kullanıyor olmanız, gizlilik ve güvenlik koşullarını ve kurallarını okuduğunuz ve kabul ettiğiniz anlamına gelir. Gizlilik koşullarında öngörülen zorunlulukları yerine getiremeyeceğinizi düşünüyorsanız, bu siteyi kullanmayınız. Sitedeki bazı yerlerin kullanımı veya bu yerlerle kurulacak etkileşim hakkında özel birtakım ek hüküm ve şartlar geçerli olabilir.
  2. Gizlilik ve Güvenlik Koşullarının Takibi/Değişiklik: Logo (“Site Sahibi”), herhangi bir zamanda önceden haber vermeksizin gizlilik ve güvenlik koşullarında değişiklik yapma ya da ek koşullar getirme hakkına sahiptir. Kullanım sırasında toplanan bilgilerin niteliklerinden, nasıl kullanıldığından, bu bilgilerin üçüncü şahıslar ile hangi durumlarda paylaşıldığından ve gerekli tüm gizlilik koşullarından haberdar olunması için yapılan değişiklikler bu sayfada sunulacaktır. Site Sahibinin gizlilik koşullarında değişiklik yapma hakkı saklı olduğundan, gizlilik ve güvenlik koşullarının düzenli olarak takibi ve okunması gereklidir. Bu siteyi yapılabilecek bu tarz bir değişiklikten sonraki kullanım, gizlilik ve güvenlik koşullarındaki değişiklilerin kabul edildiği anlamını taşır.
  3. Açık Sistem: Kullanıcılar; (Kullanıcı tabiri, varsa üyeler dahil, web sitesine giren herkesi ifade eden genel bir tanım olarak kullanılmıştır.) internet ortamının güvenilir bir ortam olmadığını, internet ortamında iletişimin riskli olduğunu, kişisel bilgiler, şifreler vb. de dâhil her türlü bilginin 3. şahısların hukuka aykırı fiillerinin muhatabı olabileceğini bilmekte ve kabul etmektedir. Site Sahibi, güvenlik ve kötü niyetli hareketlerle ilgili olarak hiçbir garanti vermemektedir.
  4. Kullanıcı Bilgileri: Kullanıcı tarafından Site’ye yerleştirilen, iletilen veya Site aracılığıyla gönderilen her türlü içerikten ve kişisel bilgiden (her türlü yazı, doküman, müzik, ilan, reklâm, iletilen görüş ve düşünceler dâhil fakat bunlarla sınırlı olmamak üzere, ses veya yazı veya hareketli/hareketsiz görüntü içeren her türlü içerik) Kullanıcı sorumludur. Kullanıcılar, Site’ye ilettikleri/gönderdikleri her türlü bilginin güvenilirliğini, doğruluğunu, üçüncü şahısların haklarını ihlal etmediğini, yasalara aykırı olmadığını beyan ve garanti etmiştir. Site Sahibi’nin, Kullanıcılar tarafından Site’ye konulan, diğer Kullanıcılara veya üçüncü şahıslara herhangi bir zarar veya yük getirdiğine inandığı içeriği veya mevzuata aykırı içeriği tamamen veya kısmen yayından kaldırma ya da erişimi engelleme hakkı saklıdır. Ancak bu yönde herhangi bir yükümlülüğü bulunmamaktadır.
  5. Kullanıcı Adı ve Şifre: Site Sahibi bazı bölümlerin kullanımını üyelik/kayıt şartına bağlı tutabilir. Kayıt sırasında Kullanıcıya ad ve şifre verilebilir ya da kullanıcı tarafından ad ve şifre oluşturulması istenebilir. Kullanıcı adı ve şifrenin muhafazasından, yanlış ya da hukuka aykırı kullanımından ve olası tüm izinsiz kullanımlarından doğrudan kullanıcı sorumludur. Şifrenin özel rakamlar, harfler ve karakterler kullanılarak daha güvenli bir biçimde oluşturulmasından ya da bunun için gerekli değişikliklerin yapılmasından kullanıcı sorumludur. Üyelik adı ve şifre kullanılarak yapılan tüm işlemlerin sorumluluğu kullanıcıya aittir. Üye adı ve şifrenin kaybedilmesi, yetkisiz 3. şahısların eline geçmesi ya da üye güvenliğini tehdit eden bir durumla karşılaşılması halinde derhal site ve/veya Site Sahibine haber verilir.
  6. Bilgilerin Korunması: Site Sahibi, web sitesindeki tüm sayfaların güvenliği için azami gayret göstermektedir. Sitede kayıtlı bulunan verilerin gizliliğini, güvenliğini ve bütünlüğünü korumak için çok çeşitli teknik ve yönetimsel uygulamalardan yararlanılmaktadır.
  7. Üçüncü Kişilere Ait Siteler: Bu sitede, Site Sahibinin işletmediği veya işletimini kontrol etmediği, 3. şahıslar tarafından işletilen alt ve üst siteler bulunabilir ve bunlara bağlantı sağlanabilir/link/bilgi verilebilir. Site Sahibinin erişim sağlanan bu sitelere ilişkin, içerik, güvenlik, gizlilik politikaları ve iletişimin sürekli sağlanacağına dair herhangi bir garantisi ya da özel bir taahhüdü yoktur. Sorumluluk 3. kişilere ait sitelerde yazılı koşulara tabidir. Herhangi bir işlem yapılmadan önce söz konusu sitelerde yer alan güvenlik ve gizlilik koşulları okunmalıdır. Söz konusu sitelere sağlanan kişisel bilgilerden, bu sitelerden istifade edilen içerikten ve servislerden veya bu sitelerin gizlilik politika ve uygulamalarından Site Sahibi sorumlu tutulamaz.
  8. Site Yardımcı Programları: Kullanıcının sitenin bazı bölümlerinden yararlanabilmesi için yardımcı programlar kullanılması gerekebilir. Bu bölümlerden yararlanıldığı takdirde, yararlanma biçim ve kapsamıyla ilgili veriler, site veritabanına kaydedilebilir. Keza bölümlerden daha kolay yararlanabilmeniz için bazı “çerez”lerden yararlanabilir, bunlar vasıtasıyla kullanıcıya bazı bilgiler gönderebiliriz.
  9. Kişisel verilerinizle ilgili olarak verdiğiniz izin, size hizmet vermek;  hizmetlerimizin, üyelerin, üçüncü şahısların tanıtım faaliyetleri; hukuki gereklilikler vb. hallerde kullanma iznini de içermektedir.

1. www.logo.com.tr: Logo Yazılım Sanayi Ve Ticaret A.Ş.’ne (“Logo”) ait Logo’ya ait kurumsal bilgilerin sunulduğu bir web sitesidir (“Site”). Lütfen aşağıdaki koşulları okuyunuz. Siteye girmeniz Logo ile aranızda belirlenmiş aşağıda yazılı hukuki koşullara bağlıdır.

2.Genel Kullanım Koşulları: Siteyi kullanmaya başladığınız andan itibaren, bu Site ile varsa diğer ilintili sitelere ve bu Site üzerinden veya bu Site aracılığıyla sunulan ticari iletişim, ticari elektronik ileti, belirli ara yüzler ve işlevlere erişim, kullanım ve alma hakkı kazanmış olursunuz.

i.Bu siteye girmeniz, siteyi kullanmanız kullanım politikasını, koşullarını okuduğunuz ve kabul ettiğiniz anlamına gelir. Bunun için herhangi bir formda alınmış ya da oluşturulmuş “kabul beyanınız” aranmaz.

ii.Üye olmanız ya da açık kabul beyanınız gerektiği durumda “kabul ve onay” adımlarını seçerek burada yazılı kullanım koşullarını kabul etmiş sayılırsınız.

iii.Kullanım koşullarında öngörülen zorunlulukları yerine getiremeyeceğinizi ya da onay/izin koşullarını karşılayamayacağınızı düşünüyorsanız, bu siteyi kullanmayınız. Bununla birlikte, kabul beyanınızın geçerliliği için aranan yaşta değilseniz ya da kısıtlılığınız söz konusu ise kabul beyanınızın hukuken bir geçerliliği olmayacağından bu siteyi kullanmayınız.

3.Kullanım Koşullarının Takibi/Değişiklik:

Logo tarafından kullanıcılara (Kullanıcı tabiri, üyelik dahil siteye giren herkesi ifade eden genel terim olarak kullanılmıştır.) mümkün olan en iyi hizmetin verilebilmesi için site devamlı yenilenmekte ve güncellenmektedir.

Yenilik ve güncellemelere bağlı olarak sunulan bilgilerde ve içerikte değişiklik meydana gelebilecektir.

Logo herhangi bir zamanda önceden haber vermeksizin kullanma koşullarında değişiklik yapma ya da yeni/ek koşullar getirme hakkına sahiptir. Gerekli tüm kullanım koşullarından haberdar olunması için yapılan değişiklikler sitede sunulacak ve yayınlandıkları tarihte yürürlüğe girecektir. Bu tarz bir değişiklikten sonraki kullanım söz konusu değişiklilerin kabul edildiği anlamına gelir.

4.Site ve İçeriğin Kullanımı:

i.Sitede yer alan; Logo, marka, tanıtım materyali, veri dosyası, yazılı metin, bilgi, haber, görüş, tavsiye, reklam, ilan, ses, müzik, video, fotoğraf, görsel, yazılım ve benzeri içeriğin (“Site İçeriği”) bir kısmı doğrudan Logo tarafından, bir kısmı da diğer kaynaklardan sağlanarak yayınlanabilir.

ii.Logo başka web sitelerinden ya da bağlantılı sitelerden aktarılan bilgilerin, iletişimin, ticari elektronik iletilerin veya link verilen, bilgi verilen diğer web sitelerinin doğruluğunu ve güvenilirliğini taahhüt etmemekte ve hukuki hiçbir sorumluluk üstlenmemektedir. Söz konusu üçüncü şahıs web sitelerinin kullanım ve gizlilik politikalarına ve diğer uyarılarına uymak kullanıcıların yükümlülüğündedir.

iii.Sitede yer alan üçüncü şahıslara ait bilgiler ve yapılan alıntılar tanıtım amaçlıdır. Logo ve/veya bu içeriğin sahipleri, içeriği ve hizmet koşullarını haber vermeden değiştirme hakkına sahiptir.

iv.Site bakımından yaşla ilgili yasal kısıtlamalar olabilir. Kullanıcıların bu kısıtlamalara riayet etmesi gerekmektedir.

v.Kullanıcıların, aksi Logo tarafından öngörülmedikçe, site sayfalarını ya da site içeriğini kullanarak ürün ya da hizmet satma, ticari amaçlı reklâm, ilan yapma ve benzeri girişimlerde bulunma, ticaret yapma hakkı yoktur.

vi.Logo, site ve site içeriğini dilediği gibi belirleme hakkına sahip olup, siteyi reklam ve promosyonlarla birlikte sunabilir. Reklam ve promosyonların doğrudan siteyle ilgili olması zorunlu değildir. Logo reklamlara ilişkin uygulama ve tarifelerini dilediği şekilde ve zamanda önceden haber vermeksizin değiştirebilir.

vii.Site içeriğinden yararlanan kullanıcıların bu site aracılığıyla elde edeceği içeriğe bağlı riski üzerine aldığı kabul edilir.viii.Kullanım koşullarını kabul ederek siteden herhangi bir şekilde yararlanmanız halinde yapacağınız bütün işlemlerle ilgili sorumluluğu kabul etmiş bulunmaktasınız. Kullanıcı kaynağı ne olursa olsun sitede yer alan site içeriğine veya site üzerinden gerçekleştirilecek her türlü iletişime göre girişimde bulunmak ya da bulunmamak hakkına sahiptir. Bu konuda verilecek kararın hukuki sonuçları münhasıran kullanıcının kendisine aittir. Logo bu konuda herhangi bir sorumluluk üstlenmez.

ix. Logo, site üzerinden sağlanan içerik ve hizmetlerin hatalı, hukuka aykırı işlerde veya kanuna aykırı olarak kullanılması dâhil her türlü kullanım nedeniyle ortaya çıkabilecek maddi, manevi, hukuki, mali sonuçlardan, zararlardan veya kazanç kayıpları gibi dolaylı zararlardan sorumlu tutulamaz. Logo, site üzerinden erişilen kaynaklarda yer alan her türlü, görüş, bilgi, değerlendirme, yorum ve istatistikî şekil ve değerlerin doğruluğu ve yeterliliğini hiçbir şekilde garanti etmemektedir. Site üzerinden erişilen kaynaklardaki hata ve eksikliklerden, veri yayınında oluşabilecek aksaklıklar, gecikme, eksiklik, yanlışlık veya veri yayınının durdurulmasından, erişilen bilgilerin kullanılması sonucunda uğranılabilecek doğrudan ve/veya dolaylı zararlardan, kar yoksunluğundan, manevi zararlardan ve üçüncü kişilerin uğrayabileceği zararlardan dolayı Logo sorumlu tutulamaz. Logo önceden herhangi bir bildirime gerek olmaksızın söz konusu veri akışını durdurabilir, iptal edebilir, bilgileri değiştirebilir ve/veya ortadan kaldırabilir.

5. Kullanıcı İçeriği

i.Kullanıcı tarafından Site’ye gönderilen veya ifşa edilen, girilen her türlü bilgi, yazılı metin, görüş, görsel, fotoğraf, link ve benzeri içeriğe (“Kullanıcı İçeriği”) ilişkin işlem ve eylemlerden dolayı sorumluluk (Logo ve üçüncü şahısların uğrayacağı zarar ziyanı tazmin sorumluluğu dâhil) münhasıran kullanıcıya aittir. Logo’nun, bu yönde bir yükümlülüğü olmaksızın, kullanıcılar tarafından Site’ye konulan, gönderilen Kullanıcı İçeriğini, ön elemeye tutma, inceleme, tamamen veya kısmen kapsamdan, yayından kaldırma ya da bu içeriğe erişimi engelleme hakkı saklıdır.

ii.Kullanıcı, ekleyeceği Kullanıcı İçeriği üzerinden kazanç temin etmeyeceğini ve ticari faaliyetlerde bulunmamayı kabul ve taahhüt etmektedir.

iii.Kullanıcılar tarafından Site’ye gönderilen, iletilen, kullanılan, oluşturulan ya da Site aracılığıyla üçüncü şahıslara iletilen her türlü Kullanıcı İçeriğinin gizlilik niteliğinin ortadan kalktığı ve herhangi bir fikri ve sınaî hakkı/telif/lisans hakkını içermediği kabul edilir. Kullanıcılar gizli ya da üzerinde fikri ve sınaî mülkiyet hakkı olduğu düşünülen herhangi bir içerik oluşturup hesabına eklediğinde bu içeriğin “hukuki bir ayıp” içermediği ve bunları dijital iletim suretiyle yayınlama hakkı olduğu kabul edilir. Aksi halde tüm sorumluluk Kullanıcıya aittir.

iv.Kullanıcı, Site’ye yüklemiş veya herhangi bir yolla paylaşmış olduğu Kullanıcı İçeriği’nin Logo’nun belirleyeceği tanıtım, logo veya benzeri içeriği ihtiva edecek/bulunduracak şekilde ve hak sahipliğine veya ifşa edene dair herhangi bir açıklama ya da işaret taşımaksızın Logo ve/veya diğer kullanıcılar tarafından kullanılabileceğini; üçüncü şahıslarla paylaşılabileceğini veya başka web sitelerine yüklenebileceğini, link verilebileceğini; üçüncü şahıslar tarafından üyelik şartı olmadan görüntülenebileceğini kabul etmiştir. Logo, Kullanıcı İçeriğini ticarete konu edebilir, bunlar üzerinde herhangi bir yolla gelir elde edebilir. Kullanıcı, Kullanıcı İçeriğinin, Logo tarafından kullanımına koşulsuz izin verdiğini kabul ve beyan etmiştir.

6.Garanti Olmaması:

Bu site kullanıcıların istifadesine olduğu gibi sunulmakta olup, yasalar tarafından izin verilen en geniş şekliyle, yazılı ya da sözlü özel ya da genel herhangi bir garanti içermemektedir.

Logo, bu sitede yer alan işlev ve içeriğin güvenli ve hatasız olduğu, kusurların giderileceği ya da bu sitenin hizmete sunulmasında kullanılan sunucu ile beraber sitenin kendisinin ya da 3. şahıslara ait alt ve üst sitelerin/linklerin virüs ya da başka zararlı içerik taşımadığı garantisini vermez.

Logo, site ve sağlanan içeriğin; tüm beklenti, amaç ve özel ihtiyaçları karşılayacağı, kesintisiz ve yeterli kalitede olacağı yönünde açık ya da zımni bir taahhüt vermemektedir. Logo, site veya site İçeriği nedeniyle; kar kaybı gibi sonuç olarak ortaya çıkan zararlardan, netice zararlarından veya dolaylı zararlardan dolayı üye veya Kullanıcılara karşı hiçbir sorumluluk üstlenmemektedir.Logo, önceden haber vermeksizin site yayına kısmen veya tamamen son verme, kapatma, sitede yer alan bütün içeriği, görsel tasarımı ve benzeri unsurları kısmen ya da tamamen değiştirme, kullanım dışı bırakma veya ücretli hale getirme hakkını saklı tutar.

7.Alt ve Üst Linkler: Bu sitede, Logo’nun sahibi olmadığı ve işletimini kontrol etmediği, 3. şahıslar tarafından işletilen alt ve üst siteler bulunabilir ve bunlara bağlantı sağlanabilir, link/bilgi verilebilir. Logo’nun erişim sağlanan bu sitelere ilişkin, içerik, uygunluk, güvenlik, gizlilik politikaları ve iletişimin sürekli sağlanacağına dair herhangi bir garantisi ya da özel bir taahhüdü yoktur. Söz konusu sitelere sağlanan kişisel verilerden, bu sitelerden istifade edilen içerikten ve hizmetlerden ve bu sitelerin gizlilik politika ve uygulamalarından Logo sorumlu tutulamaz.

8.Üyelik Koşulları: 

  1. Kayıt: Logo bazı bölümlerin kullanımını üyelik/kayıt şartına bağlı tutabilir, farklı üyelik kategorileri düzenleyebilir, var olan kategorileri değiştirebilir. Kayıt sırasında bazı kimlik ve iletişim bilgileri istenebilir.
  2. Üye Adı ve Şifre: Üye’ ye ad ve şifre verilir veya üye tarafından oluşturulur.
  3. Kayıt sırasında girilen, site ve içeriğe yerleştirilen, iletilen veya bu site aracılığıyla gönderilen her türlü;  (i) kimlik bilgisi, (ii) iletişim bilgisinden üye sorumludur. Kayıt için verilen kimlik ve iletişim bilgilerinin güncel, doğru ve güvenilir olduğu kabul edilir.  Kullanıcı adı ve şifrenin saklanması üyenin sorumluluğundadır.
  4. Kullanıcı adı ve şifrenin hatalı, hukuka aykırı ya da izinsiz kullanımına bağlı olarak Logo bir sorumluluk kabul etmez. İzinsiz ve yetkisiz kullanım hallerinde Logo'ya da 3. şahısların uğrayacağı zarar ziyandan buna sebebiyet veren üye sorumludur. 
  5. Üyelik hesabı üzerinden yapılan işlemlerin tüm sorumluluğu üyeye aittir.
  6. Üyeler, siteye iletilen veya bu site aracılığıyla gönderilen her türlü bilginin güvenilirliğini, doğruluğunu, yanıltıcı olmadığını, 3. şahısların haklarını ihlal etmediğini, yasalara aykırı olmadığını, iyi niyetle sunulduğunu ve söz konusu bilgilerin postalanma veya iletim hakkına sahip olunduğu kabul ve garanti etmiş sayılır.
  7. Üye, kullanıcı adı ve şifrenin izinsiz olarak kullanıldığı ya da ele geçirilme teşebbüsünde bulunulduğunu öğrenir öğrenmez gerekli tedbirleri almakla ve Logo’ya haber vermekle yükümlüdür.

9. Ticari İletişim: Üye veya kullanıcılar; Logo veya Logo’nun sahibi olmadığı ve işletimini kontrol etmediği, 3. şahıslar tarafından işletilen web sitelerinden, elektronik ileti veya ticari elektronik ileti gönderilebileceğini, ticari nitelikte olsun ya da olmasın her türlü elektronik iletişim aracılığıyla gönderilecek elektronik iletinin gönderimine önceden izin/onay verdiğini beyan ve kabul etmiştir. Üye, dilediği zaman vermiş olduğu bu izni/onayı iptal etme ve ticari nitelikteki elektronik iletileri reddetme hakkına sahiptir. Ret talepleri Logo tarafından en geç 3 iş günü içinde işleme alınır. Ret yolları göndericinin Logo olduğu iletilerde gösterilir.

10.Ziyaret Bilgilerinin Toplanması: Site ziyaret edildiğinde web sunucuları sitenin ziyaretçi bilgisayarıyla haberleşmesini sağlamak üzere otomatik olarak bilgi toplamaya başlar. Bunun yanı sıra sitede yapılan ziyaret sayısı, ziyaretçilerin sitenin hangi bölümünü tercih ettikleri, IP adresleri, domain tipi, tarayıcı tipi tarih ve saat gibi bilgileri ve web sitesi üzerindeki dolaşım izlenmekte, denetlenmekte ve saklanmaktadır. Sitenin kullanılması, belirtilen bilgilerin toplanması, işlenmesi ve saklanması konusunda kullanıcının Logo’ya izin verdiği anlamına gelir.

11. Kişisel Veriler: Kullanıcıların Site’ye sunduğu/kaydettiği veya Site tarafından bu Kullanım Koşulları’na uygun olarak otomatik olarak ya da çerezler aracılığıyla toplanan kişisel verileri, yürürlükteki hukuka tabi olacaktır. Bu bilgiler Siteye erişimin sağlanması, üye girişi, Site güvenliğinin temin edilmesi, kullanıcı alışkanlık, beğeni ve tercihlerinin analizi, istatistik oluşturulması, iletişim, pazarlama, duyuru yapılması gibi amaçlar veya Üye’nin açık rızasının alındığı sair amaçlarla, mevzuata ve Kişisel Veri Politikası’na uygun olarak kullanılabilir, işlenebilir, saklanabilir, yurt içindeki veya dışındaki üçüncü şahıslarla bu amaçlar doğrultusunda paylaşılabilir ve Logo’nun faaliyet alanıyla ilgili olarak reklam, pazarlama, bildirim ve benzeri faaliyetler kapsamında kullanılabilir. Logo bu kapsamda, site aktivite bilgilerinden, erişim araçları ve browser bilgilerinden de yararlanma hakkına sahiptir.

Kullanıcıların, Site üzerinden diğer üye ve/veya kullanıcıların kişisel verilerini toplaması, kaydetmesi, işlemesi veya Site veri tabanını kullanması, kopyalaması, çoğaltması yasaktır.

Kullanıcılar, Kişisel Veriler ve verilerinin işlenmesine ilişkin hakları ile ilgili ayrıntılı bilgiye Site’de yayınlanan Aydınlatma Metni ve Kişisel Veri Politikası’ndan ulaşabilirler.

12.Müdahale Yasağı: Sitenin güvenliğini ihlal etmek ya da ihlale teşebbüs etmek yasaktır. Bu tarz ihlallere teşebbüs edenler hakkında hukuki ve cezai işlem uygulanabilir ve dava açılabilir. Herhangi bir ihlal iddiası Logo tarafından soruşturulacak ve yasa dışı bir ihlal olduğundan şüphelenildiği takdirde ilgili yasal kurumlara başvurulacak/işbirliğine gidilecektir. Bu madde de belirtilen eylemlerin gerçekleştirildiğinin tespit edilmesi halinde ilgili kişi ve kullanıcıların siteye erişimi sonlandırılır, varsa üyelikleri iptal edilir. İhlali gerçekleştiren kişi veya kişiler, yasalar uyarınca, hakkı ihlal edilen kişi ve/veya Logo’ya karşı mali, hukuki ve cezai anlamda sorumludur.

13.Kullanım Koşullarını İhlal: Logo sitede yer alan “Web Sitesi Kullanım Koşulları’na uyulmaması ya da kuralları ihlal etme girişiminde bulunulması durumunda, ihlal tam olarak gerçekleşsin ya da gerçekleşmesin, sistemde mevcut bilgileri reddetme, içerikten çıkarma, silme hakkıyla birlikte önceden haber vermeksizin kullanıcıların siteye erişimini askıya alma, sonlandırma, varsa üyeliğini iptal etme hakkını (zorunlu olmamakla birlikte) saklı tutar. Koşulların Kullanıcı adına hareket eden üçüncü bir kişi tarafından dolaylı ihlali ya da ihlal girişimi olması durumu için de geçerlidir. Logo’nun burada yazılı herhangi bir hukuki hakkı ya da tedbiri kullanmaması ya da uygulamaması, Logo’nun bu Kullanım Koşulları’nda belirtilen veya yasadan doğan haklarından vazgeçtiği ya da ihlali kabul ettiği anlamına gelmez.

14.Site Politikaları:

i.Suç Konusu Fiiller: Kullanıcılar, i) gerek uluslar arası alanda gerekse yerel mevzuat kapsamında suç olan ii) Avrupa Birliği’nin ilgili tüzük ve direktiflerine aykırı hiçbir davranışta bulunmamakla yükümlüdürler.

ii.Yasak Davranışlar: Kullanıcılar, site sunucusuna belirli bir zaman diliminde, bir insanın gönderme kapasitesinin üstünde daha çok mesaj gönderen yazılımları çalıştırmamayı ve kullanmamayı kabul ve taahhüt etmişlerdir.

15.Sona Erme: Kullanıcı, ayrı bir sözleşmede ya da site içeriğinde düzenleme olmadığı sürece, dilediği zamanda herhangi bir kısıtlamaya tabi olmaksızın ve bildirimde bulunmaksızın, Sitenin kullanımına ve varsa üyeliğine son verebilir. Sitede öngörülmesi halinde üyeliğinin sonlandırılmasıyla ilgili adımların takip edilmesi zorunludur. Logo da; (i) kullanıcının burada yazılı ya da Logo tarafından belirlenmiş koşulları veya politikaları ihlal etmesi halinde, (ii) kullanıcının yasal kısıtlamalar nedeniyle kullanım hakkı olmadığı takdirde, (iii) mevzuat veya idari düzenleyici kuruluşların kararları uyarınca (iv) yasal düzenlemeler ya da mücbir sebeplere bağlı olarak siteye erişim imkânının ortadan kalkması halinde, (v) Logo’nun takdirine bağlı olarak site yayınının askıya alınması, durdurulması, son verilmesi ya da benzeri nedenlerle, herhangi bir bildirimde bulunmaksızın üyeliği iptal edebilir, kullanımı engelleyebilir ya da son verebilir.

16.Kayıtlar: Sitenin kullanımından doğabilecek itilaflarda Logo’nun defter ve iletişim logları dahil her türlü elektronik ve ticari kayıtlarıyla Logo tarafından kullanıcılara yapılan e-posta, faks bildirimleri kesin ve münhasır delil teşkil eder.

17.Dil: Web Sitesi, “Kullanım Koşulları” ve “Gizlilik ve Güvenlik Koşulları”nın Türkçe ve yabancı dildeki versiyonları arasında bir uyumsuzluk olduğu takdirde, Türkçe versiyon geçerli kabul edilir.

18.Tebligat Sözleşmesi: Logo tarafından, kullanıcıların, site’de yer alan iletişim bilgilerine yapılacak e-posta veya faks tebliğlerinin, geçerli tebligatla aynı hukuki sonuçları doğuracağı kabul edilmiştir.

19.Uygulanacak Hükümler: Sitenin kullanımıyla ilgili çıkabilecek ihtilaflarda Türkiye Cumhuriyeti Kanunları uygulanır. Türkiye Cumhuriyeti dışında ikamet eden ve Siteye Türkiye Cumhuriyeti dışından bağlanan Kullanıcılar da, Site’nin kullanımıyla ilgili çıkabilecek ihtilaflarda Türkiye Cumhuriyeti kanunlarının geçerli olduğunu kabul etmekte ve uygulanabilecek diğer tüm ülke düzenlemelerinden doğan haklarından feragat etmektedirler.

20.Yetkili Mahkeme ve İcra Daireleri: Site ve kullanım koşullarına ilişkin doğabilecek her türlü uyuşmazlığın çözümünde İstanbul (Merkez) Mahkemeleri ile İcra Müdürlükleri yetkili olacaktır.

21.Bilgi ve İletişim: www.Logo.com.tr web sitesinin kullanım koşullarına ilişkin sorularınız için [email protected] adresine yazarak daha fazla bilgi alabilirsiniz.

Yukarı