Endüstriyel yazılım geliştirmeye farklı açılardan yaklaşılabilir.
Endüstriyel yazılım geliştirmeyi tanımlamak için temel kriterler şunlardır:
Ölçeklenebilirlik:
Tüm boyutlarda: idari, işlevsel, yük, üretim ve heterojenlik.
Güvenlik:
Bütünlük, gizlilik ve kullanılabilirlik sağlamak için tüm SDLC’de planlanır ve yönetilir.
Mimari:
Ölçeklenebilirlik, değişim hızı, entegrasyon ve birlikte çalışabilirlik, esneklik ve sağlamlık konularına yöneliktir.
Veri hacmi:
Analiz edilen endüstriyel veya iş süreci ve kullanıcıları boyunca oluşturulur.
Standartlar:
Her iki şekilde de değerlendirilir: sektöre özel standartlar ve yazılım geliştirme standartları.
Endüstriyel Yazılım Geliştirme Süreci
Kendi başına endüstriyel yazılım geliştirme süreci, herhangi bir yazılım geliştirmenin temel aşamalarını takip eder, ancak birkaç özelliği vardır. Büyük ölçekli, yüksek kullanılabilirlik ve güvenilirlik yazılım projelerinin temel farklılıklarını ana hatlarıyla belirtirler.
İş analizi
Ekip, uygulamalar ve sistemler arasında iletilen verilerin niteliğini, türünü ve hacmini analiz etmeye devam ederek yeni ve mevcut uygulamalar arasındaki ara bağlantıyı tespit etmeye ve analiz etmeye çalışır.
Kavramın ispatı
Endüstriyel yazılımın karmaşıklığı ve özellikleri nedeniyle, POC (kavram kanıtı), döngünün önemli bir parçasıdır. Önerilen yazılım çözümünün fizibilitesini desteklemek ve olası teknik sorunları izole etmek için inşa edilir. Konsept, bu yazılım çözümü ile ilgili tüm taraflarca test edilir.
Mimari Tasarım ve Özellikler
Endüstriyel yazılım geliştirme mimarisi bağlamında güvenilirlik, kullanılabilirlik ve güvenlik gereksinimlerini karşılamaya odaklanılır. Yüksek kaliteli endüstriyel yazılım çözümleri sunmak için gereklidirler.
Gelişim
Endüstriyel yazılım geliştirme sürecindeki asıl programlama faaliyeti çok aşamalı bir yolculuktur. Belirgin bir yönü, kodun kalitesinin garanti edilmesi gerektiğidir. Bunun da ötesinde, geliştirme ekibi kalıcı iyileştirmeler ve yeni özellik geliştirme için alan yaratmayı düşünmelidir.
Test yapmak
Yazılımı endüstriyel tesise veya ekosisteme bırakmadan önce, güvenilirliğini, kullanılabilirliğini, bütünlüğünü ve etkinliğini kanıtlayacak bir dizi testten geçmesi gerekir. Testler gerçeğe çok yakın ortamlarda gerçekleştirilir çünkü müşteriler sistemin gerçek bağlamda buna uygun şekilde çalışacağından emin olmak isterler.
Dağıtım
Endüstri ve iş ortamlarının çok farklı olduğu göz önüne alındığında, yeni geliştirilen yazılımın etkinleştirilmesi ve kurulması adımı müşteriye bağlı olarak özelleştirilebilir. Yeni yazılımın çalışacağı sistemlerin karmaşıklığı, dağıtımın türünü ve aşamalarını belirler. Sürekli teslimat modeli bağlamında, sürekli konfigürasyon otomasyonu ve özelleştirilmiş konfigürasyonları yürütme imkanı başrolleri üstlenir.
Bakım desteği
Beklendiği gibi, karmaşık veya büyük yazılım sistemleri etkin bakım ve destek gerektirir. Süreç için atanan ekip, olası hataları, talep edilen değişiklikleri veya müşteri ile kararlaştırılan optimizasyonları dikkate alarak bir bakım ve destek planı üzerinde çalışır.