Proje Geliştirme Adımları

Slides:



Advertisements
Benzer bir sunumlar
Yazılım Geliştirme Süreci
Advertisements

Proje Döngüsü ve Proje Yönetimi
Proje Geliştirmede Sistem Yaklaşımı
Proje Geliştirmede Sistem Yaklaşımı
Yrd.Doç.Dr.Mustafa EVREN OMÜ Fen Bilimleri Enstitüsü
1. GİRDİ KRİTERLERİ PUANLANDIRMA MATRİSLERİ
Sistem Analizi ve Planlama
GETTİNG THE GAMEPLAY WORKİNG (Oyun Mekaniğinin Hayata Geçirilmesi)
SERIO Avrupa'da inşaat çalışanlarının iş güvenliği amacıyla çağdaş cihazların kullanımıyla çalışma esnasında meydana gelen olaylara dayalı multimedya eğitimin.
MODÜL 10 Müşteri Hizmetleri.
İHTİYAÇ BELİRLEME VE ANALİZİ
Proje Dosyanızda Yer Alacak Belgeler
SED’de izlem ve değerlendirmenin önemi ve uygulanması
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
SÜREÇ YÖNETİMİ Dr. Selami ERARSLAN İstanbul 2011.
PROJENİN PLANLANMASI 1.
Sistem Geliştirme Sistemin tanımı. Sistemin Temel özellikleri
Bölüm 14 Stratejik Değerleme ve Kontrol
Yazılım Proje Yönetimi
 BÜTÜNLEŞME Çevrenin taleplerinin karşılanması için gerekli bölümler arasındaki birliğin kalitesini ifade etmektedir. Bu tanım, bağımsız birimler arasındaki.
9. SINIF TARİH DERSİ PROJE ÖDEVİ
ARTVİN İL MİLLİ EĞİTİM MÜDÜRLÜĞÜ
Projenin sonlandırılması
Proje Yönetimi ve Geliştirilmesi
PERFORMANS PROGRAMI HAZIRLAMA SÜRECİ
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Doğrulama ve Geçerlilik- Verification and Validation l Yazılım Sisteminin kullanıcı.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Doğrulama ve Geçerlilik.
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
DERS YAZILIMLARININ TASARIMI, DE Ğ ERLEND İ R İ LME YAKLAŞIMLARI VE SEÇ İ M İ 1.
Yazılım Sistemleri. Yazılıma genel bakış Yazılım, yazılım mühendisi tarafından tasarlanır ve geliştirilir ; Yazılım toplumdaki hemen-hemen her kişi tarafından.
Bilişim Sistemleri Mühendisliği nedir? Neden ihtiyaç vardır?
İNSAN BİLGİSAYAR ETKİLEŞİMİ
GÖKAY GÖKTAŞ.  Hollywood, iyi belirlenmiş hedeflerle birlikte iyi bir sisteme sahiptir. Film yapımcısı filmin nasıl yapılacağını bilir. Film yapım aşamasındayken.
İHTİYAÇ BELİRLEME VE ANALİZİ
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
ARTVİN İL MİLLİ EĞİTİM MÜDÜRLÜĞÜ STRATEJİK PLANLAMA.
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
DENEME.
AKREDİTASYON VE EĞİTİM STANDARTLARI NURCAY KURU EĞİTİM BİLİMLERİ.
EĞİTİMDE KALİTE ÖDÜLÜ EKİP RAPORU
PROJE GELİŞTİRME yorum, araş.gör.levent yılmaz gençlik grubu KOLAY SİSTEM YÖNTEMİ.
Erdemir Grubu İç Denetim Sistemi 9 Mayıs 2015.
ISO 9001:2015 KALİTE YÖNETİM SİSTEMİ ŞARTLAR
Proje Yönetim Döngüsü: -Aşamaları -Rol ve Sorumluluklar
SİSTEM VE YAZILIM Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. Yazılım, bilgisayar sistemlerinin bir bileşeni.
Tekstilde Tasarım Yöntemleri I Dersi Dönem Sonu Ekip Projesi
Üniversiteler İçin Proje Yönetim Bilgi Sistemi
MUHASEBE DENETİMİ 2. HAFTA.
YAPIM KUŞAĞI ÜRETİYORUM.
Sistem Yaklaşımı.
 Projeler üç nedenle sona erdirilirler. 1. Proje amaçlarına ulaşılmış ve başarılı olarak tamamlanmıştır. 2. Projenin durdurulması gerekmektedir. 3. Proje.
DENEYSEL YAKLAŞIM (Kullanıcı Testleri)
TOPLAM KALİTE YÖNETİMİ
BÖLÜM 11 DEĞERLENDİRME. BÖLÜM 11 DEĞERLENDİRME.
ÇEVİK (Agile) SÜREÇLER Değişen gereksinimler, teknik riskler gibi önceden belirlenemeyen durumlara ve yazılım ürününü etkileyebilecek her tür değişikliğe.
Sistem Analizi ve Tasarımı
AKREDİTASYON SÜRECİ: ANA KONULAR VE İŞLEYİŞ
Ders 4: Sistem Çözümleme
ÖĞRETİM TEKNOLOJİLERİ
ISO 9001:2015 standardı – 8. Maddenin Tanıtımı
SİSTEM ANALİZİ VE TASARIMI
PROBLEM ÇÖZME BECERİSİ
Yazılım Bakımı Yazılım Mühendisliği.
Problem Çözme Yaklaşımları
ONTOLOJİ GELİŞTİRME ALANINDA ÇEVİK YAKLAŞIMLAR
Yazılım Mühendisliği Temel Süreçler - Sistem Analizi
PROJE YÖNETİMİ.
Öğretim Teknolojileri ve Materyal Geliştirme
Risk Yönetimi.
İLERİ VERİ TABANI UYGULAMALARI
Sunum transkripti:

Proje Geliştirme Adımları

Proje Geliştirmede aşama modeli 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ımlama 3. Tasarım 4. Geliştirme 5. Çalıştırma 6. Teslim sonrası bakım

Aşama modeli Başlangıç Tanımlama Tasarım Uygulama izleme Fikir Ne Nasıl geliştirilecek Tasarım Geliştirme Proje'nin uygulanması Uygulama destek-bakım izleme  

Başlangıç aşama 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?

Tanımlama aşaması 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ı -örnek 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ı -2 Proje gereksinimlerini aşağıdaki gibi sınıflandırmak mümkündür: Ön koşul gereksinimleri İşlevsel gereksinimler İşlevsel olmayan gereksinimler Uygulama (Ç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 ürününün olmazsa olmazlarını ,işlevlerini ifade eden gereksinimlerdir. Örneğin, veritabanı yönetim sistemi uygulamalarında veritabanındaki herhangi veriye ulaşıla bilmesi İşlevsel olmayan gereksinimler proje ürününün başarımı, kalitesi, boyutu türünden gereksinimlerdir. Bu gereksinimler sağlanmadığı durumlarda da ürünün uygulanması (çalışması) genellikle mümkündür. Ama kalite göstergeleri düşecektir. Örneğin, kullanıcı sorgularına en geç 4 saniye içinde sistem yanıt vermelidir Uygulama 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

Tasarım aşaması 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.

Geliştirme aşaması 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.

Uygulama aşaması 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ı-2 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.

İzleme aşaması Ç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ı-2 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.

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

4/7/2017 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 15

Yazılım Geliştirme Modelleri 4/7/2017 Yazılım Geliştirme Modelleri 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 16

Şelale Modeli Şelale modeli klasik projelerin (inşaat, gemicilik, köprü yapma ve diğerleri) geliştirilmesi sürecini yansıtmaktadır. İdeal halde modelin bir adımı gerçekleştikten sonra bir sonraki adımın geçekleştirilmesine geçmek mümkündür. Her adımdan sonra uygun adım için proje raporu hazırlanmalı ve yönetime sunulmalıdır. Rapor onaylandıktan sonra bir sonraki adıma geçilebilir. Şelale modelinin özelliği her adımın ayrıntılı biçimde düşünülmesi, incelenmesi ve doğru karar verile bilmesidir. Bir adım yapıldıktan sonra geriye dönüş yoktur.

Şelale Modelinin adımları 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

Ş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

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

4/7/2017 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. 21

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

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

Evrimsel Geliştirme çözümleme tasarım deneme Paralel işlemler İlk sürüm çözümleme Sistemin ana hatlarının tanımlanması tasarım Aralık sürümler deneme Nihai sürüm

Evrimsel geliştirme-Prototip Geliştirme başlama bitiş Gereksinimlerin edinmesi ve arındırma hızlı tasarım Mühendis ürünü Yeni prototipin tanımlanması Prototip oluşturma Son kullanıcı değerlendirmesi

Evrimsel Geliştirme (devamı) 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