YAZILIM KALİTESİ

Yazılım kalite unsurları ve faaliyetleri

Get Started. It's Free
or sign up with your email address
YAZILIM KALİTESİ by Mind Map: YAZILIM KALİTESİ

1. Güvenlik

1.1. Yetkim olmayan işlemi çalıştıramam.

1.1.1. Kimlik Doğrulama (Auth.)

1.1.2. Yetkilendirme (Authorization)

1.2. Bilgi veya iletişimim ifşa olmaz.

1.2.1. Https Kullanımı

1.3. Uygulama güvenlik zafiyeti içermez.

1.3.1. Statik Kod Taramaları

1.3.2. Güvenlik Uzmanı Testi

2. Güvenilirlik

2.1. ⚙️Kesinti yaşanmaz.

2.1.1. Staging

2.1.2. Kod içinde kesinti koruyucu kullanım

2.1.3. "Single Point Of Failure" tasarımdan kaçınır.

2.1.3.1. Load Balancing

2.1.3.2. Clustering

2.2. 🐞Hata üretmez.

2.2.1. Birim Testler

2.2.2. Test Otomasyonları

2.2.2.1. UI Test Otomasyonu

2.2.2.2. Integration Testler

2.2.2.3. Biztalk Test Otomasyonu

2.2.3. Elle yapılan Testler

2.2.4. Kod Gözden Geçirme

2.2.5. Branch Koruyucu Derleme (Gatekeeper)

2.2.6. Statik Kod Analizi

2.2.7. DB Seviyesinde CC, UK Kısıtlarının eklenmesi

2.2.8. Hata sayılarını azaltıcı süreç iyileştirmeleri yapılır

2.2.8.1. Veri düzeltmesi yapılırsa, asıl sorun için bir kayıt açık bırakılır

2.2.8.2. BUG/DEFECT Analizi yapılır

2.2.8.3. Retro süreçlerinden çıkan iyileştirmeler paylaşılır

3. Verim

3.1. 🚀 Yüksek performans gösterir.

3.1.1. Kodun ustaca yazılması

3.1.1.1. Kalite ve Temiz Kod Eğitimleri

3.1.1.2. Statik | Dinamik Kod Taraması

3.1.1.3. Kod Gözden geçirme (PR)

3.1.1.4. Portal | Teams | Wiki Bilgi Birikimi

3.1.2. Sorguların uygun yazılması

3.1.2.1. Uygulama İzleme (App Monitoring)

3.1.2.2. BT Mimari İzleme

3.1.3. Hizmet ve donanımların uygun seçimi

3.2. 🔋 Az kaynak tüketir.

4. Bakım Kolaylığı

4.1. 🧩Yeni bir özellik çabuk devreye alınır

4.1.1. Framework kullanımı

4.1.2. Tekrar kullanılabilen bileşen mimarisi

4.1.3. Tekrar eden işlerin otomatikleştirilmesi

4.1.4. Verimlilik araçlarının kullanımı ( Extension, Plug-in vb.)

4.1.5. Devreye alım hattının kullanımı

4.1.5.1. Release Tanımları

4.1.5.2. ARM Template kullanımı

4.1.5.3. Powershell kullanımı

4.2. 🔌Değişiklikler kolay yapılır.

4.2.1. Temiz Kod Bilinci oluşturulur

4.2.1.1. Her yazılımcıya Temiz Kod eğitimi verilir

4.2.1.2. Portal bilgi paylaşımları yapılır

4.2.1.3. Kod Gözden geçirme yapılır

4.2.1.4. Yazılım araçlarına xLint plug-in'leri kurulur

4.2.1.5. Kod yazılırken temiz kod prensiplerine dikkat edilir

4.2.1.5.1. Kopya koddan kaçınılır

4.2.1.5.2. Kod içine sabit gömülmez

4.2.1.5.3. Metot, değişken ve diğer tüm bileşenlerin isimlendirmelerine dikkat edilir.

4.2.1.5.4. Metotlar bir iş yapar

4.2.1.5.5. Bir işi sadece bir metot yapar

4.2.1.5.6. Framework'ün yetenekleri kullanılır

4.2.1.5.7. Uygulamanın ve şirketin kodlama standartlarına uyulur

4.2.2. Teknik borç izlenir

4.2.2.1. Sonarqube tarama sonuçları izlenir

4.2.2.2. Code-coverage trendi takip edilir

4.2.2.3. KAP ve diğer izleme araçları kullanılır

4.2.3. Teknik borcu azaltıcı faaliyetler sürekli olarak planlanır

4.2.3.1. Kritik ve Bloke edici Sonarqube bulguları için BUG kaydı açılır ve aynı sprint eritilir.

4.2.3.2. Daha önceden sahip olunan borçlar, değişiklik alan ve kritik işler yapan sınıflardan başlayarak eritir.

4.3. 🕵️Hata ayıklamak kolaydır.

4.3.1. "Exception"lar yönetilir

4.3.2. Uygulama İzleme araçları kullanılır

4.3.2.1. Application Insights

4.3.2.2. Dynatrace

4.3.2.3. Sistem İzleme (Elmah)

4.3.2.4. Application Logs

4.3.3. Ekip içi | Şirketi içi Bilgi birikimi sağlanır.

4.3.3.1. Wiki

4.3.3.2. TEAMS

4.3.3.3. Portal.bimar.com

5. Kullanıcı Dostu

5.1. Kullanımı kolay olmalıdır.

5.1.1. En azından bir projenin başında UX Design desteği alınır

5.1.2. Bir işlem aynı sayfa içinden çıkmadan halledilebiliyor olmalıdır

5.1.3. Kullanıcıya verilen mesajlar çok açık ve onu yönlendirici olmalıdır

5.2. Kullanıcı önemsendiğini hissetmelidir.

5.2.1. Özel günlerde uygulama tema ve ikonlar ile özelleştirilebilir

5.2.2. Kullanıcıdan geri bildirim alan Widget'lar olmalıdır

5.3. Hata çözümleri ve yeni istekler çabuk devreye alınır.

5.3.1. Devreye alım hattında elle yapılan işler yok edilir

5.3.2. Daha küçük parçalar şeklinde daha hızlı devreye alımlar yapılabilmelidir

5.3.2.1. Mikroservis yaklaşımı

5.3.2.2. Ülke veya ofisi ilgilendiren kısmın devreye alınabilmesi