26
Proje Geliştirme Adımları

Proje Geliştirme Adımları

Embed Size (px)

DESCRIPTION

Proje Geliştirme Adımları. Proje Geliştirmede aşama modeli. - PowerPoint PPT Presentation

Citation preview

Page 1: Proje Geliştirme Adımları

Proje Geliştirme Adımları

Page 2: Proje Geliştirme Adımları

Proje Geliştirme sürecini daha iyi yönete bilmek için bu süreç bileşenlere ayrılır. Bu amaçla farklı modeller kullanılabilir. Biz burada aşama modelini öğreneceğiz. Projenin aşamalara bölünmesi onu iyi yönetme imkanı sağlar. Proje geliştirme sürecinin izlenmesi ve denetimi kolaylaşır.

Modele göre proje geliştirme 6 aşamadan oluşmaktadır:1. Başlangıç 2. Tanımlama3. Tasarım 4. Geliştirme5. Çalıştırma 6. Teslim sonrası bakım

Proje Geliştirmede aşama modeli

Page 3: Proje Geliştirme Adımları

 

Aşama modeli• FikirBaşlangıç• NeTanımlam

a• Nasıl geliştirilecekTasarım• Nasıl uygulanacakGeliştirm

e• Proje'nin

uygulanmasıUygulam

a• destek-bakımizleme

Page 4: Proje Geliştirme Adımları

Bu safhada projenin temel fikri araştırılır ve incelenir. Projenin gerçekleşebilirliği belirlenir. Projenin kimler tarafından yürütüleceği, kimlerin projeye katılacağı ve katkı sunacakları (sunabilecekleri) konuları da araştırılır.

Projenin önderliğini yapan (veya fikir sahipliğini yapan) bu konuların açıklamalarının yer aldığı proje önerisini yazar. Projenin muhtemel destekçisi (sponsoru) bu öneriyi değerlendirir ve onaylaması durumunda gereken mali desteği sağlar. Proje resmi olarak onaylandığı tarihten başlar.

Başlangıç aşama aşağıdaki sorulara cevap vermelidir: • Projenin önemi nedir? • Proje yapılabilir mi? • Projenin muhtemel paydaşları kimlerdir? • Proje sonuçları ne olmalıdır? • Projenin kapsamı nedir?

Başlangıç aşama

Page 5: Proje Geliştirme Adımları

Proje onaylandıktan sonra proje ikinci aşamaya- tanımlama aşamasına geçer. Bu aşamada proje sonuçlarına ulaşmak için gereken gereksinimler mümkün oldukça açık bir biçimde belirlenmelidir.

Gereksinimleri mümkün oldukça erken aşamalarda belirlemek önemlidir

Proje ile ilgili tüm tarafların, özellikle son kullanıcıların gereksinimlerin belirlenmesinde işbirlikçi yaklaşımları önemlidir. Bu proje ürünü ile bağlı oluşabilecek anlaşmazlıkları önlemek için gereklidir.

Tanımlama aşamasından sonra müşteri yeni gereksinimler suna bilmez

Tanımlama aşaması

Page 6: Proje Geliştirme Adımları

Bir eğitim videosunun geliştirilmesinin yalnızca son evresinde öğrenciler de dahil edildi. Oyun neredeyse tamamlandığında öğrencilerden oyunu test etmeleri istendi. Öğrencilerin ilk değerlendirmeleri ılımlı ve samimi göründü. Ama bir az baskı yapıldığında öğrenciler oyunun çok sıkıcı ve kullanışsız olduğunu söylediler. Haliyle, eğitim videosu da internette kullanılmamış kaldı. Eğer öğrenciler geliştirmenin daha erken evrelerinde projeye katılmış olsa idiler bu sonuç da çıkmazdı.

Tanımlama aşaması -örnek

Page 7: Proje Geliştirme Adımları

Proje gereksinimlerini dört sınıfa ayırıyor:• Ön koşul gereksinimleri•İşlevsel gereksinimler• Çalışma gereksinimleri• Tasarım sınırlamaları

Ön koşul gereksinimleri projenin yürütülmeli olduğu ortamı ifade eder. Örnek olarak yasaları, çalışma ortamı düzenlemelerini göstermek mümkündür. İşlevsel gereksinimler proje sonucunun kalitesi ile ilgili gereksinimlerdir. Örneğin, otomobilde yakıt verimliliğine nasıl ulaşılmalıdır. Çalışma gereksinimleri proje sonuçlarının kullanımını kapsar. Örneğin, yazılım projesi gerçekleştikten sonra hataların sayısı yüzde 90 azalmalıdır. Tasarım sınırlamaları gereksinimleri projenin fiili gerçekleşmesi ile bağlıdır. Örneğin, proje zehirli maddelerin kullanımına veya çocuk emeğini istismar eden şaibeli uluslararası kurumların projeye katılımına izin vermemelidir

Tanımlama aşaması -2

Page 8: Proje Geliştirme Adımları

Tanımlama aşamasında geliştirilen gereksinimler listesi tasarım çözümlerini oluşturmak için kullanılır. Tasarım aşamasında proje çözümünü elde etme imkanı verecek bir veya daha fazla tasarım geliştirile bilir.

Proje denetçileri bu tasarımları, kesin tasarımı seçmek için kullanır. Tanımlama aşamasında olduğu gibi, tasarım seçildikten sonra projenin sonraki aşamalarında değiştirile bilmez.

Tasarım aşaması

Page 9: Proje Geliştirme Adımları

Geliştirme aşaması boyunca, projede uygulanması gereken her şey düzenlenmiş olacak; Muhtemel tedarikçiler ve taşeronlar belirlenmiştir, iş-zaman programı oluşturulmuştur, malzeme ve araçların yeri, işlevi belirlenmiştir, personeller için talimatlar oluşturulmuştur,…Geliştirme aşaması, proje ürünü uygulamaya hazır olduğu zaman biter. Tüm taraflar için gerçekleştirilmesi gereken sorunlar açıklık kazanmalıdır. Bazı projelerde, özellikle küçük projelerde resmi geliştirme aşamasına gerek kalmaya bilir. Önemlisi odur ki, çalıştırma aşamasında kimin ne zaman ve ne yapacağı kesinleşmiş olsun.

Geliştirme aşaması

Page 10: Proje Geliştirme Adımları

Bu aşama gerçek proje ürününün yapılandırılması süresidir; Programcılar kodla uğraşıyorlar. Tasarımcılar grafik materyalleri geliştiriyor, yükleniciler inşa ediyorlar.

Bu aşamada proje dışarıdakilere görünür ve onlar projeyi yenice başlanmış gibi görüyorlar. Uygulama aşamasının sonunda proje sonuçları tanımlama aşamasında belirlenmiş gereksinimlere göre değerlendirilir. Aynı zamanda tasarıma uygunluk yoklanır. Uygulama aşaması tüm gereksinimler yerine getirildiği ve tasarım koşulları sağlandığı zaman son bulmuş oluyor.

Uygulama aşaması

Page 11: Proje Geliştirme Adımları

Bu aşama tüm gereksinimlerin karşılanması ve proje ürününün tasarıma uygun olması ile sonlanır.

Tanımlama aşamasında gösterilen tüm gereksinimlerin kesin olarak karşılanması kolay iş değildir; Beklenmedik durumlar oluşa bilir, veya gereksinimlerin orijinal listesinde ilerleyen zamanlarda değişiklikler yapıla bilir.

Genellikle gereksinimler tanımlama aşamasından sonra değiştirilemez. Bu tasarıma da aittir. Tasarım, uygun aşama sonlandıktan sonra değiştirilemez. Proje lideri, tüm değişimleri , özellikle müşteri ile mümkün kadar erken aşamalarda tartışmalıdır. Yanlış anlamaları önlemek için yapılacak değişimler çok iyice belgelenmelidir.

Uygulama aşaması-2

Page 12: Proje Geliştirme Adımları

Çok önemli olmasına rağmen, bu aşama çoğu zaman umursanmaz. Bu aşama süresince her şey projeyi başarılı tamamlanmaya götürmesi için gereken biçimde düzenlenir. Bu aşamada girişimlere örnek olarak kullanıcı için kılavuz yazılması, sonuçların bakımı, proje raporunun yazılması, projenin feshi gösterile bilir.

Önemli soru projenin ne zaman ve nerede sonlanmasıdır. Proje önderleri sık sık kendi aralarında böyle bir şaka yapıyorlar ki, projenin ilk yüzde doksanı çok hızlı tamamlana bilse de son yüzde onunun tamamlanması yıllarca süre bilir. Projenin sınırları proje başlangıcında belirlenmeli ve proje bu sınırlara ulaştığı zaman sonlanmalıdır.

İzleme aşaması

Page 13: Proje Geliştirme Adımları

Bazen proje sonucunun (ürünü) kesin ifadesi mümkün olmaz. Bu özellikle, yenilikçi projelerde (sonucu belirli olmayan) kendini gösteriyor. (Müşteriler ticari ürün almak için beklentide buluna bilirler, ama proje ekibi prototip oluşturma düşüncesinde ola bilir).

Bu durumun özellikle izleme aşamasında ortaya koyulması muhtemeldir.

“düşün, sonra yap” sloganı altı aşamalı modelin temel düşüncesidir Her aşamanın kendi iş paketi bulunuyor. Her bir paketin dikkat yetirilmesi gereken yönleri bulunuyor.

İzleme aşaması-2

Page 14: Proje Geliştirme Adımları

YAZILIM SÜRECİ VE SÜREÇ MODELLERİ

Page 15: Proje Geliştirme Adımları

Yazılım süreci Yazılım Sistemlerinin belirtilmesi,

tasarlanması, çalıştırılması ve denetimi için gereken faaliyetlerin uyumlu kümesi

Faaliyetler: - Yazılım sisteminin tanımlanması ve çözümleme -

yazılımın işlevselliği ve işlemlere koyulmuş sınırlamalar tanımlanmalıdır Tasarım (Geliştirme) –gereksinimleri sağlayan yazılım

üretilmelidir Deneme –müşteri isteklerinin karşılandığına emin olmak için

yazılım doğrulanmalıdır Çalıştırma ve bakım Yazılımın evrimi –müşterinin değişen isteklerinin

sağlana bilmesi için yazılım gelişe bilmelidir

Page 16: Proje Geliştirme Adımları

Yazılım süreci modeli sürecin

basitleştirilmiş soyut tasviridir.O, her hangi özgü açıdan süreci ifade eder. Yazılımın geliştirilmesi için kullanılan genel modeller:

Şelale modeli Faaliyetlere bağımsız süreçler gibi bakılıyor

6 aşamalı model bir şelale modelidir Evrimsel geliştirme

Kullanıcı ve sistem gereksinimleri evrimsel olarak karşılanmaktadır

Yazılım Geliştirme Modelleri

Page 17: Proje Geliştirme Adımları

Şelale Modeli

Page 18: Proje Geliştirme Adımları

Şelale Modelinin safhaları Gereksinimlerin çözümlenmesi ve tanımlanması Sistem ve yazılım tasarımı Birim ve bütünleşme denemesi Sistem ve teslimat denemesi Çalıştırma ve bakım Şelale modelinin yetersiz yönü, süreç

tamamlandıktan sonra değişikliklerin yapılmasının zorluğudur

Page 19: Proje Geliştirme Adımları

Şelale Modelinin sorunları

Projenin farklı aşamalara esnek biçimde bölünmemesi; Bu, değişen müşteri gereksinimlerini yerine getirmekte zorluklar yaratır

Bu nedenle, şelale modeli, gereksinimlerin yalnız çok iyi tanımlandığı takdirde uygun modeldir

Page 20: Proje Geliştirme Adımları

Yazılım geliştirmenin gerçek süreci

Yazılım geliştirme süreci safhaları

Page 21: Proje Geliştirme Adımları

Evrimsel Geliştirme Temel düşünce: ilkin bir çalışma yapmak,bunu

müşteri görüşüne sunmak, bu görüşleri de dikkate alarak sistemin son gereken halini alana dek sürümlerini geliştirmek

Açınsama (Exploratory)Geliştirmesi Müşteri ile birlikte çalışarak gereksinimlerin açınsaması;

başlangıç ana hatlarıyla verilmiş belirteçten son sisteme doğru evrimsel geliştirme yapılması. Sistemin anlaşıla bilir kısmı ile başlanılmalıdır. Müşterinin önerdiği yeni özellikleri ilave etmekle evrimleşmelidir.

Prototip geliştirme Hedef- müşteri gereksinimlerinin anlaşılması; sistem için

en iyi gereksinim tanımlanmasının geliştirilmesi; müşteri gereksinimlerinin zayıf anlaşılır kısımları üzeride denemelere odaklanıyor.

Page 22: Proje Geliştirme Adımları

Evrimsel geliştirme yaklaşımları arasındaki farklar

Açınsama yaklaşımında hedef çalışır sistemi son kullanıcıya teslim etmektir. Daha iyi anlaşılır ve yüksek öncelikli gereksinimlerle başlanılır. Zayıf öncelikli ve kesin anlaşılmayan kısımlar yalnız kullanıcı isteği ile çalıştırılır.

Prototip yaklaşımında ise hedef sistem gereksinimlerinin geçerliliğini yoklamaktır. Zayıf anlaşılabilir gereksinimlerle başlamanın nedeni onları daha iyi anlamaktır. Çok iyi anlaşılan gereksinimler için prototipe gerek yoktur

Page 23: Proje Geliştirme Adımları

Evrimsel geliştirme yaklaşımları arasındaki farklar

Açınsama yaklaşımında hedef çalışır sistemi son kullanıcıya teslim etmektir. Daha iyi anlaşılır ve yüksek öncelikli gereksinimlerle başlanılır. Zayıf öncelikli ve kesin anlaşılmayan kısımlar yalnız kullanıcı isteği ile çalıştırılır.

Prototip yaklaşımında ise hedef sistem gereksinimlerinin geçerliliğini yoklamaktır. Zayıf anlaşılabilir gereksinimlerle başlamanın nedeni onları daha iyi anlamaktır. Çok iyi anlaşılan gereksinimler için prototipe gerek yoktur

Page 24: Proje Geliştirme Adımları

Evrimsel Geliştirme

Validation Finalversion

Development Intermediateversions

Specification Initialversion

Outlinedescription

Concurrentactivities

Sistemin ana hatlarının tanımlanması

Paralel işlemler

çözümleme

tasarım

deneme

İlksürüm

Aralık sürümler

Nihai sürüm

Page 25: Proje Geliştirme Adımları

Evrimsel geliştirme-Prototip Geliştirme başlama

Gereksinimlerin edinmesi ve arındırma hızlı

tasarım

Prototipoluşturma

Son kullanıcı değerlendirmesi

Yeni prototipin tanımlanması

Mühendisürünü

bitiş

Page 26: Proje Geliştirme Adımları

Sorunlar

Geliştirme sürecini bütünlükle görmek mümkün olmaya bilir

Sistemler çoğu zaman zayıf yapılanmış oluyorlar Özel marifetler (örneğin, hızlı prototipler

oluştura bilen diller) gereke bilir Uygulana bilirlik

Küçük ve orta boyutlu etkileşimli sistemler için Büyük sistemlerin kısımları için (örneğin,

kullanıcı arayüzü) Kısa yaşam süreli sistemler için daha uygundur

Evrimsel Geliştirme (devamı)