Yazılım yaşam döngüsü, bilgisayar yazılımlarının ilk geliştirme aşamalarından başlayarak; yayındaki mevcut sürümün hatalarının giderilmesi, iyileştirme odaklı yeni ara sürümlerin yayınlarak yazılımın güncellenmesi de dâhil olmak üzere nihai (kararlı) sürüme ulaşana dek geçen geliştirme ve olgunlaştırma aşamalarının tamamını ifade etmek için kullanılan terimdir.[]
Yazılım Yaşam Döngüsü (YYD), yazılımın başlangıcından sonuna kadar geçirdiği aşamaların süreçsel ve yönetimsel bir yaklaşımla yönetilmesini ifade eder. Yazılım geliştirme sürecini başlangıcından sonuna kadar planlama, tasarım, geliştirme, test, dağıtım, bakım ve sonlandırma gibi aşamaları içeren bir çerçeve olarak düşünür. Bu süreç, yazılımın etkili bir şekilde tasarlanması, geliştirilmesi, test edilmesi, dağıtılması ve yönetilmesi için rehberlik eder. Birçok farklı model bulunmaktadır.
Yazılım Yaşam Döngüsü, yazılım projelerinin etkili bir şekilde yönetilmesine yardımcı olur. Her aşama belirli hedeflere ve süreçlere sahiptir ve bu hedeflere ulaşmak için farklı yöntemler ve araçlar kullanılır. Bu döngü, yazılım geliştirme sürecini düzenli bir şekilde yönetmek ve sorunları erken aşamalarda tespit etmek için önemlidir.
Genellikle yaygın olarak kabul gören bir Yazılım Yaşam Döngüsü aşamaları şunlardır:
Gereksinim Analizi: Yazılım geliştirme sürecinin ilk aşamasıdır. Müşteri gereksinimleri ve beklentileri toplanır ve belirlenir.
Tasarım: Gereksinim analizi sonuçlarına dayanarak yazılımın yapısı, bileşenleri, veritabanı tasarımı gibi teknik ayrıntıları planlandığı aşamadır.
Geliştirme: Tasarım aşamasında oluşturulan plana göre kodlama gerçekleştirilir. Yazılımın gerçekleştirildiği aşamadır.
Test: Geliştirilen yazılım bileşenlerinin ve sistemlerinin işlevselliği, doğruluğu ve güvenilirliği test edilir.
Entegrasyon ve Doğrulama: Farklı bileşenlerin veya modüllerin birleştirilip test edildiği aşamadır. Sistem düzgün bir şekilde çalışıp çalışmadığı kontrol edilir.
Dağıtım: Test edilen ve onaylanan yazılım son kullanıcılara dağıtılır. Canlı ortama taşınır.
Bakım: Yazılımın kullanımı sırasında karşılaşılan hataların düzeltilmesi, yeni özelliklerin eklenmesi gibi sürekli güncelleme ve bakım işlemlerini içerir.
Sonlandırma: Yazılımın ömrü boyunca artık kullanılmayacağı kararlaştırıldığında gerçekleşir. Bu aşama, yazılımın devre dışı bırakılması ve gerekli verilerin yedeklenmesini içerebilir.
Süreç
GA
General availability, yazılımın tanıtım çalışmaları tamamlandıktan sonra satışa hazır olduğu durumu ifade eder.
Üretime hazır sürüm (RTM)
Açılımıyla release to manufacture, söz konusu yazılımın fiziksel üretime hazır son hâlini ifade eder.
RTW
Release to the Web, dağıtımı internet üzerinden yapılan ürünler için geçerli olan bir terimdir.
CI/CD
CI/CD, "Continuous Integration" (Sürekli Entegrasyon) ve "Continuous Deployment" veya "Continuous Delivery" (Sürekli Dağıtım veya Sürekli Teslimat) kısaltmalarının birleşimi olarak kullanılan bir terimdir. CI/CD, yazılım geliştirme süreçlerini otomasyon, hızlandırma ve iyileştirme amacıyla kullanılan bir yaklaşımdır.
Continuous Integration (Sürekli Entegrasyon): Bu aşama, geliştiricilerin kodlarını sürekli bir şekilde merkezi bir depoya (örneğin Git) eklemesini ifade eder. Her yeni kod eklentisi, otomatik olarak birleştirme (merge) işlemlerine ve otomatik test süreçlerine tabi tutulur. Bu sayede, geliştiricilerin kodlarının uyumluluğu ve hataları erken aşamada tespit edilir.
Continuous Delivery (Sürekli Teslimat): Bu aşama, sürekli entegrasyon sonrası oluşturulan ve test edilen kodun otomatik olarak bir sonraki aşamaya taşınmasını ifade eder. Bu aşamada kod, hatalar düzeltilmiş ve test edilmiş olarak bir sonraki aşamada hazır bir şekilde bulunur. Bu aşamada manuel onay gerekebilir.
Continuous Deployment (Sürekli Dağıtım): Bu aşama, sürekli teslimatın daha da otomasyonlaştırıldığı bir aşamadır. Burada, kod otomatik olarak canlı üretim ortamına dağıtılır ve kullanılabilir hale getirilir. Bu aşama, kodun hızla ve güvenli bir şekilde müşterilere sunulmasını sağlar.
Bu süreçlerin birleşimi, yazılımın daha hızlı, güvenilir ve tekrarlanabilir bir şekilde geliştirilmesini sağlar. CI/CD yaklaşımı, hataların erken aşamalarda tespit edilmesini, kodun sürekli olarak test edilip güncellenmesini ve yeni özelliklerin veya düzeltmelerin hızlı bir şekilde kullanıcıların eline geçmesini amaçlar. Bu da yazılım geliştirme sürecini verimli hale getirir ve kullanıcılarla daha iyi etkileşim sağlar.
Ayrıca bakınız
Kaynakça
- ^ Çetin, Ömer Harun (30 Mart 2019). . Medium (İngilizce). 20 Ağustos 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Ağustos 2023.
- ^ . 16 Haziran 2021. 19 Haziran 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Ağustos 2023.
- ^ . about.gitlab.com (İngilizce). 19 Eylül 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Ağustos 2023.
- ^ SEYREK, Hamit (14 Mart 2022). . Devops Türkiye☁️ 🐧 🐳 ☸️ (İngilizce). 20 Ağustos 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Ağustos 2023.
- ^ (PDF). Araştırma. Tübitak Bilgem. 1 Şubat 2023. 1 Ağustos 2023 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 20 Ağustos 2023.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Yazilim yasam dongusu bilgisayar yazilimlarinin ilk gelistirme asamalarindan baslayarak yayindaki mevcut surumun hatalarinin giderilmesi iyilestirme odakli yeni ara surumlerin yayinlarak yazilimin guncellenmesi de dahil olmak uzere nihai kararli surume ulasana dek gecen gelistirme ve olgunlastirma asamalarinin tamamini ifade etmek icin kullanilan terimdir kaynak belirtilmeli Yazilim yasam dongusu Yazilim Yasam Dongusu YYD yazilimin baslangicindan sonuna kadar gecirdigi asamalarin surecsel ve yonetimsel bir yaklasimla yonetilmesini ifade eder Yazilim gelistirme surecini baslangicindan sonuna kadar planlama tasarim gelistirme test dagitim bakim ve sonlandirma gibi asamalari iceren bir cerceve olarak dusunur Bu surec yazilimin etkili bir sekilde tasarlanmasi gelistirilmesi test edilmesi dagitilmasi ve yonetilmesi icin rehberlik eder Bircok farkli model bulunmaktadir Yazilim Yasam Dongusu yazilim projelerinin etkili bir sekilde yonetilmesine yardimci olur Her asama belirli hedeflere ve sureclere sahiptir ve bu hedeflere ulasmak icin farkli yontemler ve araclar kullanilir Bu dongu yazilim gelistirme surecini duzenli bir sekilde yonetmek ve sorunlari erken asamalarda tespit etmek icin onemlidir Genellikle yaygin olarak kabul goren bir Yazilim Yasam Dongusu asamalari sunlardir Gereksinim Analizi Yazilim gelistirme surecinin ilk asamasidir Musteri gereksinimleri ve beklentileri toplanir ve belirlenir Tasarim Gereksinim analizi sonuclarina dayanarak yazilimin yapisi bilesenleri veritabani tasarimi gibi teknik ayrintilari planlandigi asamadir Gelistirme Tasarim asamasinda olusturulan plana gore kodlama gerceklestirilir Yazilimin gerceklestirildigi asamadir Test Gelistirilen yazilim bilesenlerinin ve sistemlerinin islevselligi dogrulugu ve guvenilirligi test edilir Entegrasyon ve Dogrulama Farkli bilesenlerin veya modullerin birlestirilip test edildigi asamadir Sistem duzgun bir sekilde calisip calismadigi kontrol edilir Dagitim Test edilen ve onaylanan yazilim son kullanicilara dagitilir Canli ortama tasinir Bakim Yazilimin kullanimi sirasinda karsilasilan hatalarin duzeltilmesi yeni ozelliklerin eklenmesi gibi surekli guncelleme ve bakim islemlerini icerir Sonlandirma Yazilimin omru boyunca artik kullanilmayacagi kararlastirildiginda gerceklesir Bu asama yazilimin devre disi birakilmasi ve gerekli verilerin yedeklenmesini icerebilir SurecGA General availability yazilimin tanitim calismalari tamamlandiktan sonra satisa hazir oldugu durumu ifade eder Uretime hazir surum RTM Acilimiyla release to manufacture soz konusu yazilimin fiziksel uretime hazir son halini ifade eder RTW Release to the Web dagitimi internet uzerinden yapilan urunler icin gecerli olan bir terimdir CI CDCI CD Continuous Integration Surekli Entegrasyon ve Continuous Deployment veya Continuous Delivery Surekli Dagitim veya Surekli Teslimat kisaltmalarinin birlesimi olarak kullanilan bir terimdir CI CD yazilim gelistirme sureclerini otomasyon hizlandirma ve iyilestirme amaciyla kullanilan bir yaklasimdir Continuous Integration Surekli Entegrasyon Bu asama gelistiricilerin kodlarini surekli bir sekilde merkezi bir depoya ornegin Git eklemesini ifade eder Her yeni kod eklentisi otomatik olarak birlestirme merge islemlerine ve otomatik test sureclerine tabi tutulur Bu sayede gelistiricilerin kodlarinin uyumlulugu ve hatalari erken asamada tespit edilir Continuous Delivery Surekli Teslimat Bu asama surekli entegrasyon sonrasi olusturulan ve test edilen kodun otomatik olarak bir sonraki asamaya tasinmasini ifade eder Bu asamada kod hatalar duzeltilmis ve test edilmis olarak bir sonraki asamada hazir bir sekilde bulunur Bu asamada manuel onay gerekebilir Continuous Deployment Surekli Dagitim Bu asama surekli teslimatin daha da otomasyonlastirildigi bir asamadir Burada kod otomatik olarak canli uretim ortamina dagitilir ve kullanilabilir hale getirilir Bu asama kodun hizla ve guvenli bir sekilde musterilere sunulmasini saglar Bu sureclerin birlesimi yazilimin daha hizli guvenilir ve tekrarlanabilir bir sekilde gelistirilmesini saglar CI CD yaklasimi hatalarin erken asamalarda tespit edilmesini kodun surekli olarak test edilip guncellenmesini ve yeni ozelliklerin veya duzeltmelerin hizli bir sekilde kullanicilarin eline gecmesini amaclar Bu da yazilim gelistirme surecini verimli hale getirir ve kullanicilarla daha iyi etkilesim saglar Ayrica bakinizSurum kontrol sistemi Yazilim tasarimi Yazilim yamasiKaynakca Cetin Omer Harun 30 Mart 2019 Medium Ingilizce 20 Agustos 2023 tarihinde kaynagindan arsivlendi Erisim tarihi 20 Agustos 2023 16 Haziran 2021 19 Haziran 2021 tarihinde kaynagindan arsivlendi Erisim tarihi 20 Agustos 2023 about gitlab com Ingilizce 19 Eylul 2020 tarihinde kaynagindan arsivlendi Erisim tarihi 20 Agustos 2023 SEYREK Hamit 14 Mart 2022 Devops Turkiye Ingilizce 20 Agustos 2023 tarihinde kaynagindan arsivlendi Erisim tarihi 20 Agustos 2023 PDF Arastirma Tubitak Bilgem 1 Subat 2023 1 Agustos 2023 tarihinde kaynagindan PDF arsivlendi Erisim tarihi 20 Agustos 2023