Archiving (Yazılım Geliştirme Sürecinde Arşivleme)

archiving-yazilim-gelistirme-surecinde-arsivleme (büyük resim için tıklayın)

Arşivleme

Yazılım geliştirme sürecinde arşivleme, bir yazılımın ya da projeye ait verilerin, dokümantasyonların, kodların veya kaynakların güvenli bir şekilde saklanması ve gerektiğinde tekrar erişilebilir hale getirilmesi sürecini ifade eder. Arşivleme genellikle bir projenin aktif geliştirme sürecinin tamamlanmasının ardından veya yazılımın artık düzenli olarak kullanılmadığı durumlarda gerçekleştirilir.

Arşivleme Neden Önemlidir?

Gelecekteki Referans:

  • Projenin ileride yeniden gözden geçirilmesi, geliştirilmesi veya yeniden başlatılması gerektiğinde geçmiş çalışmalara kolayca erişim sağlar.

Uyumluluk ve Yasal Gereksinimler:

  • Özellikle sağlık, finans ve kamu sektörü gibi alanlarda, yazılım projelerine ait verilerin belirli bir süre boyunca saklanması yasal bir zorunluluktur.

Bilgi Güvenliği:

  • Projeye ait kaynakların güvenli bir şekilde saklanması, veri kaybını önler.

Bakım ve Hata Ayıklama:

  • Eski projelerdeki hataları çözmek veya güncellemeler yapmak için gerekli dokümantasyon ve kaynak koduna erişim sağlar.

Tarihsel Kayıt:

  • Projelerin nasıl evrildiğini anlamak veya şirket içi bilgi birikimini korumak için önemlidir.

Arşivleme Sürecinde Neler Saklanır?

Kaynak Kod:

  • Projenin tüm kaynak kod dosyaları ve sürüm kontrol kayıtları.

Dokümantasyon:

  • Teknik dökümanlar, kullanıcı kılavuzları, gereksinim belgeleri ve test raporları.

Yapılandırma Dosyaları:

  • Çalışma ortamına dair ayar ve yapılandırma bilgileri.

Veritabanı Yedekleri:

  • Uygulamanın çalışması için gerekli olan veri yedekleri.

Bağımlılıklar:

  • Kütüphane ve araç bağımlılıklarının hangi sürümde kullanıldığı bilgisi.

Proje Yönetim Verileri:

  • Projeye dair görevler, zaman çizelgeleri ve ekip notları.

Test ve Hata Kayıtları:

  • Test senaryoları, sonuçları ve hata raporları.

Arşivleme Süreci Nasıl Gerçekleştirilir?

1. Verilerin Toplanması

  • Projeye ait tüm kod, dokümantasyon, yapılandırma ve bağımlılıkların eksiksiz bir şekilde toplanması.

2. Dosyaların Organize Edilmesi

  • Verilerin belirli bir klasör yapısına göre düzenlenmesi.
  • Örneğin /project-archive

 /source-code

 /documentation

 /test-results

 /database-backups

 

3. Formatlama

  • Dosyaların okunabilir ve erişilebilir bir formatta saklanması.
  • Örneğin, PDF dokümanları, sıkıştırılmış ZIP dosyaları.

4. Saklama

  • Arşiv dosyalarının güvenli bir sunucu, bulut depolama veya fiziksel bir depolama ortamında saklanması.

5. Etiketleme ve Kataloglama

  • Arşiv dosyalarının doğru bir şekilde etiketlenmesi ve metadata bilgilerinin eklenmesi.

6. Yedekleme

  • Arşiv dosyalarının birden fazla yedeğinin alınması.

Arşivleme İçin Kullanılan Araçlar

Kaynak Kod Arşivleme:

  • GitHub, GitLab, Bitbucket gibi sürüm kontrol platformları.
  • Örnek: Bir proje depoyu "read-only" modunda saklamak.

Bulut Depolama:

  • Google Drive, Dropbox, Amazon S3, Microsoft Azure gibi bulut tabanlı çözümler.

Doküman Yönetimi:

  • Confluence, SharePoint gibi belge saklama ve yönetim araçları.

Dosya Sıkıştırma ve Saklama:

  • ZIP, TAR, RAR gibi dosya formatları.

Veri Yedekleme:

  • PostgreSQL, MySQL gibi veritabanı araçlarının yedekleme özellikleri.

Arşivleme Çözümleri:

  • Apache Archiva, JFrog Artifactory gibi yazılım depolama araçları.

Arşivleme ile İlgili En İyi Uygulamalar

Düzenli Olarak Güncelleyin:

  • Aktif projeler için arşivler düzenli olarak güncellenmelidir.

Şifreleme ve Güvenlik:

  • Arşiv dosyaları, yetkisiz erişimlere karşı şifrelenmeli ve koruma altında olmalıdır.

Erişim Kolaylığı:

  • Arşivlere ihtiyaç duyulduğunda kolayca erişilebilmelidir.

Saklama Süresi:

  • Projelerin yasal gerekliliklere veya şirket politikalarına göre saklanma süreleri belirlenmelidir.

Depolama Konumu:

  • Arşivlerin birden fazla fiziksel ve bulut ortamında saklanması veri kaybını önler.

Arşivleme ve Arşivlenmiş Yazılımların Avantajları

Veri Güvenliği ve Erişim Kolaylığı:

  • Verilerin kaybolma riskini azaltır ve gelecekteki ihtiyaçlar için erişim sağlar.

Bakım Kolaylığı:

  • Eski bir yazılımın yeniden kullanılabilir hale getirilmesini kolaylaştırır.

Bilgi Birikiminin Korunması:

  • Şirket içindeki bilgi birikiminin kaybolmasını önler.

Maliyet Avantajı:

  • Yeni bir yazılım geliştirmek yerine eski yazılımdan faydalanılabilir.

Yazılım geliştirme sürecinde arşivleme, geçmiş projelerin, verilerin ve bilgi birikiminin güvence altına alınmasını sağlayan kritik bir süreçtir. Bu süreç, gelecekteki yazılım geliştirme süreçlerini hızlandırır ve bilgi kaybını önler.

*Gönderi ve görsel chatgpt ile oluşturulmuştur.

omurs

Ö S, 30 Ağustos 2018 Perşembe 15:30 tarihinde kayıt oldu

Etiketler

Beğeni


Yıllara Göre Gönderiler








LombokLoglamaB2C (Business-to-Consumer)B2B (Business-to-Business)İçerik Yönetim Sistemi - CMS (Content Management System)Pagination (Sayfalama)Sanal Özel Ağ - VPN (Virtual Private Network)Cronjob (Zamanlanmış Görevler)Printer-YazıcıJava'daki İlkel Veri Tipleri ve Alabilecekleri DeğerlerBit & Byte ve Hafıza Boyutlarındaki Ölçüm BirimleriSanallaştırma (Virtualization)DNS KayıtlarıE-Fatura ve E-ArşivYazılım Lisans TürleriAudit (Denetim) Açık Kaynak (Open Source)Monitoring (İzleme)Sitemap & Robots.txtKilometretaşı (Milestone)BSMV (Banka ve Sigorta Muameleleri Vergisi)KKDF (Kaynak Kullanımı Destekleme Fonu)Siber Pazartesi (Cyber Monday)Black Friday (Kara Cuma)Hotlink.htaccessCryptoLockerMalwareTrojanWormDependency (Yazılım Geliştirme Sürecinde Paket Bağımlılığı)Configuration (Yazılım Geliştirme Sürecinde Yapılandırma)Yahoo ve Yahoo'nun Başarısızlık NedenleriArchiving (Yazılım Geliştirme Sürecinde Arşivleme)Görsel Dosya Türleri (Image Types)ReleaseVersioning & Tagging (Versiyonlama ve Etiketleme)BuildJob (Yazılım Geliştirme Sürecinde Görevler)SonarQubeCDATA (Character Data)Alan Adı Uzantıları (Domain Name Extensions)Regresyon Kara Kutu (Black-Box) TestBeyaz Kutu (White-box) TestGri Kutu (Grey-box) TestYazılım Geliştirme Sürecindeki Temel Test TürleriKod gözden geçirme (Code Review)Birim Testi (Unit Testing)Yazılım Sürecinde EntegrasyonJAR & WAREager & Lazy Fetch TypeMaskelemeKPI (Key Performance Indicator)KII (Key Impact Indicator)Projenin JAR Dosyasını Oluştur - JAR PathSunucu için Linux dağıtım SeçimiKonyteynerler (container technologies)Runtime & Compile Time (Çalışma ve Derleme Zamanı)@Anotasyonlar (@Annotations)