Agile (Çevik) Hakkında

5 Nisan 2025 Cumartesi

Scrum kelimesi Ragbi sporunda oyun dışı kalmış bir topun oyuna tekrar dahil edilmesi ve takımın birleşerek bir bütün halinde hareket etmesidir.

Scrum’un gerçek görüntüsü aşağıdaki gibi:



Çevik manifestoda 4 temel değerden toplam 12 prensip var. Bu prensipler ayrıntılı sistem geliştirme süreçleri, araçlar, dokümantasyon veya ayrıntılı planlardan ziyade geliştiricilerin çalışma koşullarına, yazılımın kendisine, müşterilere ve değişen sistem gereksinimlerinin nasıl ele alınabileceğine odaklıdır.

Agile (Çevik) Değerler:

Bireyler ve Etkileşimler (Süreçler ve araçlar yerine): İlk değerin insan olması ve insanlar arası iletişimin aslında gereksinimi ortaya çıkararak dolaylı yoldan sistemin başarısını oluşturur.

Çalışan Yazılım: Çevik manifesto için belgeler değerlidir ama çalışan yazılım çok daha fazla değerlidir.

Müşteri Katılımı: Çevik yöntemlerde müşteri süreç içerisinde devamlı rolü olan önemli bir paydaştır.

Değişim Yönetimi: Geleneksel yöntemlerde, değişimler aslında en temel masraf kaynağıdır ki proje yöneticileri bu durumdan kaçınmak üzere çok ayrıntılı planlar hazırlar. Çevik yaklaşımda ise proje planı statik bir doküman değildir. Her aşamada güncellenir ve değişir.

Agile (Çevik) Prensipler:

1. Süreç tamamen müşteri memnuniyeti odaklıdır. Bu yüzden yazılım olabilecek en erken zamandan başlamak üzere sürekli teslim edilir.

2. Değişen sistem gereksinimleri dikkate alınmalıdır. Gereksinim ne zaman değiştiği veya neye dönüştüğünden bağımsız olarak, bir şekilde sürece dahil edilmesini sağlanmalıdır.

3. İşlevsel son ürüne en kısa zamanda ulaşmak esastır. Müşteri teslimatları ise sürekli olarak devam etmelidir.

4. Müşterilerin sadece pasif izleyici ve gereksinim doğrulayıcısı olarak kalmasından ziyade sürece direkt katılımını sağlayacak altyapı kurulmalıdır. Müşteriler ve geliştiriciler, iş sorununu çözmek için birlikte çalışmalıdır.

5. Ancak motive bireyler uygun ve doğru çözümler üretir. O zaman ihtiyaç duyulan araçlar ve çalışma ortamı sağlanmalı ve çalışanlara doğru ürün teslim etme konusunda güvenilmelidir.

6. Mutlaka yüz yüze iletişim tercih edilmelidir. Mümkün olduğunca mesajlaşmadan kaçınılmalıdır.

7. Çalışan yazılım sürecin sadece ve sadece tek bir performans göstergesidir

8. Sürdürülebilir bir hız esastır. Yani çalışanların, hatta bütün paydaşların yorgunluk vb. nedenlerden dolayı tükenmişliğine müsaade etmemek gerekir.

9. Çeviklik ancak teknik mükemmellik ve iyi tasarımla birlikte mümkün olabilir.

10. Sadelik ve gereksiz işlerden kaçınmak esastır. Yani süreçler değer katmayan bütün unsurlardan temizlenmeli, yani yalınlaştırılmalıdır.

11. Ekip içi organizasyon (ekip içi öğrenme ve iş birliği) en iyi mimarileri, gereksinimleri ve tasarımları mümkün kılar.

12. Geliştirme ekipleri, geliştirme süreçlerini nasıl iyileştirecekleri konusunda düzenli olarak düşünmelidir.


Share/Bookmark

CVM Altı ve Üstü İşlemler...

EMV olarak gerçekleştirilen bir kredi kartı işleminde kart sahibinin terminal tarafından doğrulanmasına Cardholder Verification denmektedir. Kart sahibinin doğrulanma yöntemi de Cardholder Verificatipn Method (CVM) olarak da bilinir. 8E tagi ile kontrol edilir.

CVM altı temassız işlemler (Offline olanlar hariç):

Herhangi bir kart sahibi doğrulamasına ihtiyaç olmadan otorizasyona gönderilebilir. Issuer banka (kart sahibi banka) kendisine gelen bu işlemi onaylayabileceği gibi çeşitli kontroller sonucunda reddedebilir. Reddedilen işlemlerin önemli bir kısmı, eğer kart sahibi doğrulanabilmiş olsaydı (örneğin işlemler Pin’li olsaydı) onaylanabilirdi. Bu ve benzeri nedenlerden dolayı online temassız işlemlerde akışın değiştirilmesine karar verilmiştir.

Yeni akışla birlikte Issuer bankanın artık iki değil dört seçeneği olacaktır:

    1. Onayla
    2.  Reddet
    3. Kart sahibinden Pin girmesini iste
    4. Kartın Pos cihazına takılmasını iste

    Örnek işlem akışlarını aşağıda bulabilirsiniz:


    CVM limit üstü işlemler:

    Yeni akışla birlikte (eğer Acquirer ve Issuer bankalar geliştirmelerini tamamladıysa) işlem sonlandırılmaksızın müşteriden tekrar şifre girmesi istenebilecektir. Yani Issuer bankanın artık iki değil üç seçeneği olacaktır:

      1. Onayla
      2. Reddet
      3. Kart sahibinden yeniden Pin girmesini iste
    Örnek işlem akışlarını aşağıda bulabilirsiniz:




Share/Bookmark

RSA Hakkında

RSA algoritması asimetrik bir kriptoloji algoritmasıdır. Asimetrik çalıştığı için iki farklı anahtar kullanır. Bu anahtarlara Public Key ve Private Key denilir. Adından anlaşılacağı üzere public key herkes tarafından bilinirken, private key sadece mesajı yayınlayan kişi tarafından bilinir.

Bu kriptoloji algoritmasını 1977 yılında Ron Rives, Adi Shamir ve Leonard Aldeman geliştirmiş ve soy isimlerinin baş harflerini algoritma adı olarak kullanmışlardır.


Çalışması ise şu şekilde olur:

1. İki adet asal sayı seçilir. Bu sayıların büyük olması güvenlik açısından önemlidir. Bu iki sayıya p ve q diyelim.

2. Anahtarlar için base değerinin hesaplanması gerekmektedir. Base değerine n dersek; n = p*q şeklinde bu değer hesaplanabilir.

3. n değeri için totient fonksiyonu hesaplanır. Her iki çarpanda asal olduğu için n değerinin totient fonksiyonu ; φ(n) = (p-1)(q-1) olarak bulunur.

4. Public key değerimize e dersek, e’yi bulmak için 1< e <φ(n) aralığından bir asal sayı seçilmelidir. e değerimiz artık bizim public key değerimizdir.

5. Private key değerimize d dersek, d*e = 1 mod (n) olarak d değeri hesaplanır.


Share/Bookmark

EMV QR Hakkında...

20 Şubat 2025 Perşembe

QR formatında ortak bir standardının kullanımı için EMVCo firması tarafından bazı çalışmalar yapılıyor. İlki 2017 yılında yapıldı, 2018 yılında da müşteri ve terminaller için yeni güncellemeler geldi. 

Burada EMVCo’nun amacı QR konusunda ortak standartlar oluşturmak. QR kod yapısında TLV (Tag-Length-Value) formatında bir dizin mevcut, sonunda da CRC doğrulama değeri var.

 

Aşağıda bizim de devamlı ilgilendiğimiz EMV alanları var, aşina olmanız için paylaşıyorum;

 

Örneğin: 

 

·        Payload Format Indicator: QR versiyon vb. ID bilgilerini tutuyor.

·        Merchant Category Code (MCC): Üye işyeri kodu

·        Country Code: Ülke kodu

·        Merchant Name: İş yeri adı

·        CRC: Doğrulama değeri. EMV dokümanına göre ISO standartı baz alınarak doğrulama değeri oluşturuluyor.






Share/Bookmark

Koli Barkod Hakkında

15 Şubat 2025 Cumartesi

Bankalar bazen kartları koli halinde toplu gönderebiliyor. Koli barkod, kartların ayrı bir koli ile gönderilmesi için kullanılan bir barkod numarası.

 

Bu kullanılan numaralar “EAN-13” standartlarına yani Avrupa Article Birliğine uygun olarak üretiliyor. Buradaki EAN kodunu, belirli standartlara göre ülkemizde TOBB organize ediyor. Yani belirli bir standartları var, kafanıza göre bu numaraları üretemezsiniz.

 

Koli Barkodda toplam 13 hane var, şöyle sıralanıyor:

Ø  Ülke Kodu        3 Hane

Ø  Firma Kodu      4 Hane

Ø  Ürün Kodu       5 Hane  

Ø  Kontrol Hanesi  1 Hane

 

Daha kolay anlaşılması için aşağıda dosya formatında anlattım;

 

Giden Kurye Dosyasında; Koli barkod numarası ve barkod numarası bilgileri aşağıdaki formata benzer şekilde yer alıyor. Kurye firması, koli barkod alanı dolu olan kayıtları ayrı bir koli ile teslimatını yapıyor.

 

Koli Barkod No 

Barkod No 

Şube 

1111111111111

1111111111111

Merkez

 

Kurye Gelen dosyasında; Firma, banka tarafından iletilen koli barkod numarası ve altındaki tüm barkodlar için ayrı ayrı dağıtım bilgilerini banka ile paylaşıyor.

 

Koli Barkod No 

Barkod No 

Şube 

Dağıtım Durumu 

1111111111111

1111111111111

Merkez

Şube Yetkilisine Teslim

 

Bu yapının bankaya ne tür avantajı ya da katkısı var?

-      Banka, X şubesine gönderilecek 100 adet kart için gönderi başına örneğin 2 TL ödediğini düşünürseniz 2X100= 200 TL bir maliyeti oluyor.

 

-      Koli barkod yapısında ise kurye firması koli bazında gönderi ücreti alıyor. Dolayısıyla banka, 1 koli gönderim ücreti 50 TL ise burada toplu gönderim yaparak 100 adetlik kart gönderiminden 150 TL tasarruf etmiş oluyor.


Share/Bookmark

Barkod Üretimi Hakkında

Ödeme sistemleri dünyasında, barkod numarası bir çok alanda (Kredi kartı Ekstresi, Kurye ile Kart dağıtımı vb.) kullanılıyor. Bugün bizde kurye ve barkod mantığı nasıl ilerliyor onu anlatmak istedim. 

 

Ayrıca ekte gönderdiğim “Koli Barkod Neden Kullanılır?” mailime de bakabilirsiniz. 

 

Bir kart için basım / barkod üretim / kurye süreçleri aşağıdaki gibi oluşuyor:

-        Kart Başvurusu girilerek kart numarası üretilir. 

-        Kart basım dosyası oluşturma aşamasında dağıtım için kullanılacak barkod numarası üretilerek basım dosyasına eklenir.

-        Basım firmasına basım talebi iletilir.

-        Kart tutucusunun üzerine barkod numarası basılarak kartın fiziki basımı yapılır. Fiziki basılan kart, “Kurye” firmasına iletilir.

-        Banka tarafından “Kurye dosyası” oluşturularak (ya da web servisle, bizde şu an web servisle ilerliyoruz) barkod numarası bazında kurye için gerekli bilgiler “Kurye firmasına” iletilir.

-        Kurye tarafından fiziki iletilen kart bilgileri ile Kurye dosyası ya da web servisle iletilen bilgiler karşılaştırılarak mutabakat yapılır. 

-        Dağıtım sonucu barkod numarası bazında “Kurye firması” tarafından bankaya iletilir.

-        Dağıtım ve mutabakat işlemleri “barkod numarası” üzerinden yapılır.

 

Kısacası Barkod Numarası, kartların kurye ile dağıtımı için olmazsa olmaz bir değerdir. Bir karta ait n adet barkod üretilmiş olabilir, fakat 1 barkod, 1 karta ait olmalıdır.

 

Not: Kartın dağıtım adedince barkod numarası üretilir. Örneğin; bir kart 3 kez Vade yenileme, Emboss yenileme vs. nedenleri ile yenilenmişse aynı kart numarası altında 3 farklı barkod numarası üretilmiş olabilir.

 

Örnek bir Barkod:




Share/Bookmark

ARPC - ARQC Hakkında...

17 Kasım 2024 Pazar

Chipli işlemlerde terminal, kredi kartını veya kart sahibini işlem anında doğrulamak zorunda ve EMV mantığına göre de 2 şekilde doğrulanabiliyor;

1. Offline (DDA, CDA): Kart ile terminal arasında gerçekleşir.

2. Online (ARQC, ARPC): Kart ile banka arasında gerçekleşir.

Benim anlatacağım kısım 2. Madde, 1. Maddeyi başka bir gün anlatırım.

ARQC-ARPC Nedir / Nasıl Hesaplanır?

Online tarafta, aşağıda anlattığım adımlar yani “kart-host banka” doğrulaması başarısız olursa maalesef bu hatayı alıyoruz.

İşlem, otorizasyon için Online’a çıkarsa, işte burada ARQC ve ARPC’nin önemi ortaya çıkıyor. Bu döngü 2 adımda gerçekleşiyor;

1.Adım - (ARQC- Application Request Cryptogram): Bu adımda; Issuer banka, kartın gerçekliğini yani doğru değerlerle basılıp basılmadığını, sahte olup olmadığı vb. adımları doğruluyor. Kart tarafından bazı değerler (Kart Numarası, İşlem Datası, Master Key) işlem anında hesaplanıp gönderiliyor. Her işlemde bu değer farklılaşıyor.

ARQC hesaplamasında genelde aşağıdaki EMV tag’ler kullanılıyor. “ICC” yazanlar karttan giden değerler olarak düşünebilirsiniz. Örneğin her işlemde ATC, Unpredictable vb. tag değerleri artırılıp, değiştirilip gönderiliyor. Ayrıca yine kontrol için “9F10 (Issuer Application Data) ve 9F26 (Application Cryptogram)” taglerini de problem durumlarında teşhis için kullanıyoruz. Piyasada, internette bir çok ARQC calculatorlar da mevcut. Siz bu değerleri girdiğinizde, otomatik hesaplıyor.

2. Adım - (ARPC- Application Response Cryptogram): Bu adımda, Online’dan gelen cevaba göre kartın, bankayı doğrulaması adımı yapılıyor. Bankanın kartı doğruladığı gibi kart da bankayı doğrulayabilir. Banka, ARQC değerini doğruladıktan sonra, ARQC değerini de kullanarak ARPC değerini oluşturur ve karta gönderiyor. ARPC değeri yanlış gelirse veya gelmezse işlem “079-ARQC Hatası” ile reddedilir. İki değerinde uyumlu olması durumunda “online kriptogram” doğrulaması başarılı olur, provizyondan “00-Başarılı” koduyla onay alınır, müşterinin POS ve ATM’den slipi basılıp, işlem sonlandırılıyor.

Örnek bir Visa ARQC-ARPC işlem akışı:

Olayın anlaşılması için aşağıdaki şekli paylaştım. Şekle dikkat ederseniz Online tarafa geçtiği anda ARQC-ARPC akışı, Issuer Banka ve Kart arasında başlıyor.


Share/Bookmark