.Net Kütüphanesi: Bir yazılım firması nasıl proje geliştirir
Yakın zamanda bir arkadaşım tarafından sorulmuş soru için bir şeyler yazdım. Soru; yazılım firması içinde genel işlerin otomatize edilmesi ve dökümanlar ile kodun, hata ve istekler ile paralel çalışması nasıl olur idi.
Beşden fazla proje elemanı olan ve ikiden fazla müşterisi olan her firma aşağıda anlattıklarımı uygulamalıdır. Aslında profesyonellik açısından firma ölçeğiniz ne olursa olsun hatta evde bile yazılım geliştiriyor olsanız bu tür bir otomasyona sahip olmanız gerekir.
Şimdi aşağıdaki şemaya bir göz atalım:
Şemamız biraz kalabalık oldu ama bazı birimleri aynı sunucu altında toplayabiliriz. Örneğin Döküman Yönetimi, Hata ve İstek Yönetimi ve Proje Portalı için tek bir sunucu; Sürüm Yönetimi ve İnşa ve Paketleme için bir sunucu kurulabilir. Daha rahat anlaşılması için ayrı göstermeyi tercih ettim. Gelelim şemadaki birimlerin açıklamalarına. Vezir Wiki'de ayrıntılı açıklamalar var burada sadece özet geçeceğim.
Analiz Ekibi müşteri ile görüşmeleri yaparak gereksinimleri öğrenir ve sistemi modeller. Üretilen her döküman Döküman Yönetimi altında tutulur ve bu dökümanlar periyodik olarak yedeklenir.
Döküman Yönetimi firma içinde herkesin rahatça ulaşabileceği, web arayüzü olan ve dökümanların rahatça paylaşılabileceği bir sistemdir. Döküman Yönetiminden lokal sisteme indirilen bir belge, üstünde çalışıldıktan sonra Döküman Yönetimi sistemine geri gönderilir ve onaya sunulur. Kimin ne değişiklik yaptığı açıkça görülebilir.
Team Fundation Server (Ücretli)
Yazılım Ekibi yazılımı geliştiren ekiptir ve hemen hemen her sisteme bağlantısı vardır. Analiz ve Test ekipleri ile koordineli çalışır. Hakkında Vezir Wiki'de ve blogumda gereğinden fazla yazı bulabilirsiniz.
Sürüm Yönetimi yazılan kod üzerindeki değişiklikleri tutan sistemdir. Yazılım ekibinin beraber çalışmasını sağlar. Sürüm Yönetimi sistemi periyodik olarak yedeklenir. Bir web arayüzünden kodlar görüntülenilir. Yapılan değişiklikler Hata ve İstek Yönetimindeki kayıtlara bağlanabilir.
Subversion + WebSvn + TortoiseSVN
CVS + WebCVS + TortoiseCVS
Team Foundation Server (Ücretli)
Visual Sourcesafe (Tavsiye etmiyorum)
İnşa ve Paketleme
İnşa işlemi otomatikleştirilmiş bir işlemdir. Sürüm Yönetimindeki kod değiştikçe bunu algılar ve kodu derler. Ünite testlerini otomatik olarak yapar ve sonuçları bir web arayüzünden yayımlar. Derlemenin doğru gerçekleşmediği durumlarda yetkili kişileri e-posta yoluyla uyarır.
Derlenen kodun otomatik olarak kurulum paketlerini hazırlar ve CD üzerine yazar. Ayrıca kodun otomatik olarak test ortamına kopyalanmasını sağlar ve test ekibini bu durumdan haberdar eder. Böylece test ekibi testlere hemen başlayabilir.
Ortaya çıkan çalıştırılabilir ürünleri gene Sürüm Kontrolünde tutar.
Bu derleme için giderilen hatalar ve eklenen yeni özellikler Hata ve İstek Yönetiminden otomatik olarak çekilir ve bir belge olarak düzenlenerek ürünün yanında sunulur ayrıca bu belge test ekibine gönderilir ve giderilen hataların test edilmesi sağlanır.
Cruise Control (Java)
Hata ve İstek Yönetimi
Müşteriden gelen hata ve istekler ile firma içinde test ekibinin bulduğu hatalar bu sistemde birikir. Hatalar ve istekler bu işin yöneticisi tarafından sınıflandırılır ve yetkililere atanır. Sistem belli zamanlar içinde çözülmeyen hataları veya istekleri yöneticilere bildirir. Bu veritabanı periyodik olarak yedeklenir. Hataların giderilince nasıl test edilecekleri de notlarda yer almalıdır.
Test ekibi ürünü test eder ve genel akış şemalarına ve analiz sırasında ortaya çıkan senaryolara uyup uymadığını kontrol eder.
Test ağı yazılım ağından bağımsız bir ağdır. Mümkün olduğunca müşteri tarafındaki ağı temsil eder. Yapılacak ürün testlerinin gerçeğe yakın olmasını sağlar. Bu sistemin devamlılığı için, 6 ayda bir veya gerekli periyodlarda sistemlerin yeniden kurulması gerekir. Tüm ağ aynı tip bilgisayarlardan oluşmalı ve imaging yazılımları ile 6 ayda bir sıfırlanmalıdır. Sanal bir ortam daha sağlıklı ve bakımı kolay olacaktır.
Norton Ghost (Ücretli)
Destek ekibi Proje Portalında müşteri tarafından girilmiş hata ve destek isteklerine bakar. Duruma göre hataları Hata ve İstek Yönetimine yönlendirir yada müşteri ile temasa geçerek hatanın çözülmesi için uğraşır.
Proje Portalı firma içinden ve dışından ulaşılabilen bir web uygulamasıdır. Gerekli döküman, hata ve istek girme, proje detayları, zaman çizelgeleri gibi bilgilerin müşterilere ve firma çalışanlarına açılmasını sağlar. Müşteri bu sisteme kayıtlıdır ve bir kullanıcı ismi ve şifre ile giriş yapar.
Yedekleme tamamı ile otomatize bir işlem olmalıdır ve firmanın yükünü kaldırabilecek kapasitede olması gerekir. Geceleri çalışacak yedekleme işleri, başka işleri aksatmayacak biçimde planlanmalıdır. Hata durumlarında yöneticiler otomatik olarak uyarılır.
Acronis True Image (Ücretli)
Daha önce yazdığım yazılara bakarsanız bazı araçların nasıl kurulduğu ve kullanıldığı hakkında bilgi veriyorum. Aralarındaki bağlantıları kurmak biraz zaman alabilir yada Team Foundation Server gibi komple bir çözümü almak daha çok işinize yarayabilir. Eğer yazılım ortamınız Microsoft ise ve MS araçlarını kullanarak yazılım geliştiriyorsanız TFS hostingi alabileceğiniz firmalar da var. Yani TFS kurmuyorsunuz yada almıyorsunuz ama tüm kodunuz ve dökümanlarınız bir firmanın sunucularında barınıyor. Ayrıca eğer MSDN üyeliği varsa zaten 5 kişilik bir TFS hazır elinizde var demektir. Kurup kullanmak size kalmış.
Tamamen açık kaynak gidip komple bir çözümü kendi istekleriniz doğrultusunda geliştirebilirsinizde. Tabii ne kadar zamanınız ve enerjiniz bu işlere gidecek planladıktan sonra.
Gönderen Rasim Şerif BALKAN zaman: 04:42
Extension Methods Arşivi
c# ssh bağlantısı
çıktı ön bellekleme
hafriyat çalışmaları programı