• Sonuç bulunamadı

RUP(RATIONAL UNIFIED PROCESS) 63

Rational firması tarafından geliştirilen RUP, organizasyon içindeki sorumlulukları detaylı olarak belirleyerek disiplinli bir yazılım geliştirme süreci sunar. Yazılım geliştirme sürecinin her aşamasında kullanılabilecek tümleşik araçları, hazır belge şablonları sayesinde proje ekibinin üretkenliğini arttırmaktadır. RUP içinde aktivite gruplarına disiplin adı verilmektedir. Gereksinimler, analiz, tasarım, gerçekleme, test temel disiplinlere örnek olarak verilebilir.

RUP içinde yazılım yaşam çevrimi 4 aşamadan oluşmaktadır.

 Başlangıç (Inception): Yaklaşık tahminler yapılarak temel gereksinimler ortaya konulmaya çalışılır.

 Düzenleme (Elaboration): daha gerçekçi tahminler yapılarak mimari belirlenir ve yüksek riskler için çözümler sunulur.

 Oluşturma (construction): ürün hazır hale getirilerek hatalar belirlenir.

 Geçiş (transition): müşteriye ürünün teslim edildiği ve müşteriden gelen geri beslemeye göre iyileştirmelerin yapıldığı aşamadır.

RUP içindeki her aşamada yazılım mühendisliğinin tüm aktivitelerinin farklı oranlarda uygulanır. Klasik yazılım geliştirme süreci olan çağlayan (waterfall) modelinde ise her aktivite bir önceki aktivitenin bitmesinin ardından gerçekleştirilmektedir. Çağlayan modelinde kodlama aktivitesi, tasarımın ardından gerçekleştirilirken; RUP içinde her aşamada kodlama yapılabilmektedir. RUP sürecindeki aşamaların amaçlarını öğrenildiği için her aşama sonunda oluşturulması gereken çıktılar sıralanabilmektedir.

Başlangıç aşaması sonunda; vizyon belgesi, kullanım senaryoları, proje sözlüğü, prototipler, risk yönetimi ve tahmini, maliyet fayda analizi, özyineleme planı, finansal tahmin ve başarı kriteri, aşama ve özyinelemeleri gösteren proje planı oluşturulmuş olmalıdır.

Düzenleme aşamasının bitişi ile birlikte; kullanım senaryolarının ve aktörlerin yer aldığı model, tasarım modeli, yazılım mimari tanımı, veri-gerçekleme- test modelleri, yeniden düzenlenmiş risk listesi, kullanıcı arayüz prototipleri ve yazılım geliştirme planının hazırlanmış olması gerekmektedir.

Oluşturma aşaması sonunda; kaynak kod, birim testleri, test senaryoları, test kodları, son kullanıcıya verilecek ürün, kullanıcı belgeleri oluşturulması beklenmektedir.

Geçiş aşamasının bitiminde; müşteri memnuniyeti saptanmalı ve gereksinimlerinin ne ölçüde karşılandığı, planlamaların başarılı olup olmadığı analiz edilmelidir.

Aşamalar sonunda hazırlanması gereken belgeler ve süreçler içerisindeki geliştiricilerin rollerindeki fazlalık RUP’un sadece çok büyük ölçekli firmalara özgü olduğunu düşündürmektedir. Fakat RUP’un değişikliğe izin veren bir mimarisinin olması sayesinde organizasyon için gerekli roller, aşamalar tanımlanarak kendi birleştirilmiş sürecinizi oluşturmanız mümkündür.

7.1. RUP ve XP Karşılaştırması

RUP genel olarak büyük projelerde kullanılırken, uç programlama daha küçük projelerde kullanılmaktadır. Ancak; uç programlamanın birçok aktivitesi oldukça faydalı yazılım mühendisliği uygulamaları içermektedir. Bu nedenle, XP bir RUP projesi içinde daha küçük çalışma gruplarınca uygulanabilir. Hibrid yaklaşım olarak tanımlanabilecek olan bu sürece, "Uç RUP" (Extreme RUP) adı verilmektedir.

Tasarım aşamasında, sistem seviyesinde bir mimari ve tasarımı oluşturulabilir. Detaylı tasarım XP ile yapılabilir. Sistem mimarisi temel olarak, “Düzenleme” fazında belirlenebilir.

Test aşamasında, birim testleri XP ile yapılabilir. RUP’un önerdiği şekilde test takımı kurulabilir. Fonksiyonel ve fonksiyonel olmayan testler alt sistem ve sistem seviyesinde yapılabilir.

Geliştirme aşamasında; ikili programlama, ortaklaşa sahiplik, sürekli tümleştirme her alt grup tarafından kullanılabilir.

Bu şekilde, XP ve RUP’un birlikte kullanımı dağıtık sistemler gibi karmaşık sistemleri geliştirirken uygulanabilir.

7.1.1.Benzerlikleri

 Özyineleme kullanımı: İki süreçte de özyineleme mevcut olup süreleri farklıdır.

 Nesne teknolojisi: İkisi de temel olarak nesne teknolojisi üzerine kurulmuştur ancak kullanılan teknolojiye tam bağımlı değillerdir.

 Değişim: Devam eden değişim, sürecin bir parçası olarak düşünülür.

 Kullanım senaryoları: XP içindeki kullanım öyküleri, RUP içindeki kullanım senaryolarına benzemektedir.

 Risk önceliklendirme: Kritik riskler belirlenerek çözümler ortaya konulur.  Gereksinim önceliklendirme: Gereksinimlerden hangisinin önce

gerçeklenmesi gerektiğine karar verilir.

 Otomatik testler: Hazır araçlarla otomatik testler yapılmasına izin verirler.  RUP’un başlangıç fazı, XP’deki kullanıcı öykülerinin oluşturulması

aşamasına benzemektedir.

 RUP’un düzenleme fazı, XP’deki “Oyunu Planlama” fazına benzemektedir.  Basitlik: Planlama konusunda ilk aşamada detaya inmezler.

7.1.2. Farkları

 RUP, daha çok büyük ölçekli projelerde tercih edilmektedir.

 RUP, değişiklik maliyetinin üstel olarak arttığını varsaymaktadır. Bu nedenle risk azaltma konusu ile çok fazla ilgilenmektedir. Uç programlama ise, geliştirme aşamasında değişiklik maliyetinin düşük olduğunu varsayar. Bu nedenle mimarinin zamanla olgunlaşmasına izin verir.

 İkili programlama kavramı RUP içinde yer almaz.

 RUP’un uygulandığı projelerde, ekipler daha fazla eleman içerir.

 XP’de daha fazla özyineleme vardır ve özyineleme süreleri daha kısadır.  XP, RUP içindeki tüm disiplinleri içermez.

 RUP çok seçimli bir süreç sunarken XP’de seçenekler mevcut değildir.  XP’de çalışanların sorumlulukları daha fazladır.

 XP’deki roller; Programcı, Müşteri, Koç ve Yöneticidir. Programcı ve müşteriler RUP içinde de bulunur. Koç kavramına en yakın rol tasarımcı, yönetici kavramına en yakın rol ise Proje Lideri’dir. RUP içinde bu rollerin dışında birçok rol tanımlıdır.

 XP’de geliştirilen kod üzerinde ortaklaşa sahiplik söz konusudur. Herhangi bir anda ihtiyaç duyan, kodun bir parçasını değiştirebilir. RUP’da ise herkes rolünün gereğini yapması gerekir.

 RUP, uç programlamaya göre mimariye daha fazla önem verir.

 XP, bir doküman kullanılmıyorsa defalarca güncellenmesini istemez. Ayrıca, çok fazla sayıda belge oluşturmanın faydasına inanmaz. RUP ise tasarımın sürekli güncel olmasını ister. XP’de yazılan belge yerine kodun etkin olarak çalışmasını arzular.

 RUP’daki bazı sorumluluklar XP içinde bulunmayabilir çünkü ilgili aktivite XP içinde yer almıyor olabilir.

Benzer Belgeler