YAZILIM MODELLEME VE TASARIM

Benzer belgeler
Fırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliği. YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ-Hafta 2

YMT312 Yazılım Tasarım ve Mimarisi

YAZILIM PROJE YÖNETİMİ. Yrd.Doç.Dr.Hacer KARACAN

SİSTEM ANALİZİ VE TASARIMI

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

9.DERS Yazılım Geliştirme Modelleri

1.Yazılım Geliştirme Metotları 1

Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü. Cengiz GÖK

Sistem ve Yazılım Nedir?

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.

Bölüm 2 Yazılım Süreçleri. Ders 1

Bilgisayar Sistemleri; donanım, yazılım ve kullanıcılardan oluşur. Yazılım sadece belirli bir işlemi yapan bir program değildir. Yazılım belirli bir

Unified Modeling Language

BMH-405 YAZILIM MÜHENDİSLİĞİ

BLG Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

Giriş: Temel Adımlar YAZILIM GELİŞTİRME YAŞAM DÖNGÜSÜ. Belirtim Yöntemleri. Belirtim Yöntemleri

YAZILIM MÜHENDİSLİĞİ TEKNOLOJİ FAKÜLTESİ / BİLGİSAYAR MÜHENDİSLİĞİ

Yazılım Mühendisliği 1

design)1980li ve 1990lıyıllar Birleştirilmiş Modelleme Dili (Unified Modeling Language-(UML) yazılım geliştirme araçlarının temelidir.

Yazılım Mühendisliği Bölüm - 3 Planlama

Yazılım Süreçleri Software Processes

Yazılım Geliştirme Modeli ve Mimariler. Bilgisayar Programcılığı Ön Lisans Programı YAZILIM MİMARİLERİ. Öğr. Gör. Yüksel KARAMAN

Kullanım Durumu Diyagramları (Use-case Diyagramları)

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing

Yazılım Nedir? Yazılım Mühendisi. Yazılım Mühendisliği. ACM/IEEE Etik Kodu. Etik Kural için Önsöz BIL 304 YAZILIM MÜHENDİSLİĞİ

BMH-405 YAZILIM MÜHENDİSLİĞİ

Hızlı Uygulama Geliştirme (SE 340) Ders Detayları

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta. Bakım

Varlık davranış modeli: Bu aşama her entity ye etki eden durumların tanımlandığı, modellendiği ve dokümante edildiği süreçtir.

UNICASE.... kapsamlı bir CASE* aracı. *

Aşırı Programlama İçin Üç Yeni Pratik

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili

Yaz.Müh.Ders Notları #4 1

NESNEYE YÖNELİK ÇÖZÜMLEME SÜRECİ

BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER

Yazılım Mühendisliği Bölüm - 3 Planlama. Cengiz GÖK

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği II (BIL 306)

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan

BİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ Suna AKMELEZ

YAZILIM MODELLEME VE TASARIM

Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları

Eylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.

X. Çözüm Ortaklığı Platformu

YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER

YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI

10.DERS Yazılım Gerçekleştirme

Model Tabanlı Geliştirmede Çevik Süreç Uygulanması

Sistem Yazılımının Sınanması ve Geçerlenmesi (SE 344) Ders Detayları

YAZILIM PROJESİ YÖNETİMİ

Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları

Yazılım profesyonelleri için önemli olan yetkinlikler anketi Survey

Üretim/İşlemler Yönetimi 2. Yrd. Doç. Dr. Mert TOPOYAN

Yaz.Müh.Ders Notları #1 1

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

Çekirdek Nedir? Ne yapar?

Hızlı Uygulama Geliştirme (Rapid Application Development - Rad Model)

Yazılım Mühendisliği Temelleri

SİSTEM MÜHENDİSLİĞİ TASARIMIN SENTEZLENMESİ II

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

Sistem Analizi ve Planlama

Sensör Birleştirme Eğitimi. Hızlı jet uçağa monte görev sistemlerinin geliştirilmiş operasyonel performansı vasıtasıyla avantaj sağlayın

Öğretim planındaki AKTS Ulusal Kredi

Bilgi sistemlerinin geliştirilmesi için izlenen sürece, Sistem Geliştirme Yaşam Döngüsü (SGYD) denir.

13.DERS Konfigürasyon Yönetimi

Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları

aselsan Açık Pozisyonlar Bilgi Teknolojileri (BT) Denetçisi İç Denetçi

Yaz.Müh.Ders Notları #6 1

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR

BMH-405 YAZILIM MÜHENDİSLİĞİ

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü

YAZILIM MODELLEME VE TASARIM

Sistem Analizi ve Tasarımı DERS2

5.DERS PROJEDE YÜRÜTMENİN PLANLANMASI

CMMI. CMMI ve Çevik Yöntemler. Orhan KALAYCI Haziran Yazılım Süreç Kalitesi ve Yönetim Danışmanlığı.

Yazılım Destek Hizmeti

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

SPICE TS ISO/IEC Kerem Kemaneci Ankara

Çimento Operatörleri ve Bakım Personeli için Simulatör sistemi: ECS/CEMulator

5. PROGRAMLA DİLLERİ. 5.1 Giriş

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Chapter 6 Mimari Tasarım. Lecture 1. Chapter 6 Architectural design

Sistem Analizi ve. Tasarımı. Mustafa COŞAR

Bilgi Güvenliği Risk Değerlendirme Yaklaşımları

Proje Oryantasyon (SE 493) Ders Detayları

İnsan Bilgisayar Etkileşimi (SE 212) Ders Detayları

Mekanik Sistem Tasarımı (ME 403) Ders Detayları

4. ÜRÜN GELİSTİRME İŞLEMİ

Teknoloji Geliştirmede Bütünleştirici Yaklaşımlar

MONTE CARLO BENZETİMİ

Akış. Atik Yazılım Geliştirme Tanımı ve Kavramlar Tarihi Metotları Dünyada Atik Yazılım Geliştirme Örnekleri Sonuç BİL 588 2

Nagios XI Günümüzün talep gören kurumsal gereksinimleri için en güçlü BT altyapısı gözetim ve uyarı çözümüdür.

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

TETKİK SÜRELERİ BELİRLEME TALİMATI

Mühendislik ve Bilgisayar Bilimleri Fakültesi Yazýlým Mühendisliði

Yaz.Müh.Ders Notları #6 1

YAZILIM MÜHENDİSLİĞİNE GİRİŞ

Transkript:

YAZILIM MODELLEME VE TASARIM «Yazılım Süreç Modelleri» Özer Çelik Matematik-Bilgisayar Bölümü

Genel Yazılım Süreç Modelleri Kodla ve Düzelt (Code and Fix) Çağlayan Modeli (Waterfall Model) V Modeli (V-shaped Model) Evrimsel Geliştirme (Evolutionary Development) Prototipleme (Prototyping) Spiral Model Formal Sistem Geliştirme (Formal System Development) Matematiksel sistem modeli formal (kurallara uygun) olarak gerçekleştirilir. Yeniden kullanıma yönelik geliştirme (Re-use based development) Sistem var olan bileşenlerden toparlanır Artımlı Geliştirme (Incremental Development) Birleşik Süreç (Unified Process) Uç Programlama (Extreme Programming)

Kodla ve Düzelt (Code and Fix)

Kodla ve Düzelt - Avantajları Tüm gereken yeterli olacak kadar gayrettir. Tüm adımlardaki gayret direk olarak ürüne katkı sağladığından çoğu müşteri ödeme yapmaktan mutlu olur. Eğer ürün onu yapanlar tarafından kullanılacaksa avantajlıdır.

Kodla ve Düzelt - Dezavantajları Kodlamaya başlamadan önce değişiklik tahmin edilmediğinden, birbirini izleyen değişikliklerden sonra kod karmakarışık bir hale gelir ve daha sonraki düzeltmeleri yapmak daha da zorlaşır. Geliştirilen sistemin boyutunun artması, yapısal olmayan bir şekilde karmaşıklığının yönetilmesini zorlaştırır. Müşterinin sürece dahil edilmemesi kullanıcı ihtiyaçlarına uygun olmamasına yol açar. Bireysel geliştiriciler için uygundur, takımlar için değil.

Temel Çağlayan Modeli (Royce, 1970)

Çağlayan Modeli Bu modelde yazılım yaşam döngüsü adımları baştan sona en az bir kez izlenir. İyi tanımlanmış projelerde ve yapımı için az süre gerektiren projelerde tercih edilen bir yöntemdir. Sonraki faz bir önceki faz tamamlanmadan başlayamaz. Her fazın sonucu bir ya da birden fazla onaylanan (imzalanan) belgedir. Gerektiğinde geliştirme aktivitelerinde iterasyonlar (tekrarlamalar) olabilir.

Çağlayan Modeli - Avantajları Müşteriler ve son kullanıcılar tarafından da iyi bilenen anlaşılabilen adımlardan oluşur. İterasyonlar (tekrarlamalar) bir sonraki ve bir önceki adımlarla gerçekleşir, daha uzak adımlarla olması nadirdir. Değişiklik süreci yönetilebilir birimlere bölünmüştür. Gereksinim adımı tamamlandıktan sonra sağlam bir temel oluşur Erken işin miktarını arttırır.

Çağlayan Modeli Problemleri Test aşaması geliştirme sürecinin en sonunda yapılır. Hatalar önemli yeniden tasarım gerekliliğini oluşturur. Önceden anlaşma sağlansa bile yazılımın ne yapacağı konusu yoruma açıktır. Kullanıcılar kaliteyi en sondan önce anlayamazlar

V Süreç Modeli Proje ve gereksinim planlaması Ürün gereksinimleri ve belirtim çözümlemesi Mimari ve yüksek seviye tasarım Detaylı tasarım Kodlama Birim testi Tümleştirme ve test Sistem ve kabul edilme testleri Üretim, işletim ve sürdürülebilirlik

V Süreç Modeli

V Model - Avantajları Verification ve validation planları erken aşamalarda vurgulanır Verification ve validation sadece son üründe değil tüm teslim edilebilir ürünlerde uygulanır. Proje yönetimi tarafında takibi kolaydır Kullanımı kolaydır

V Model - Dezavantajları Aynı zamanda gerçekleştirilebilecek olaylara kolay imkan tanımaz Fazlar arasında tekrarlamaları kullanmaz Risk çözümleme ile ilgili aktiviteleri içermez Yazılım da diğer sistemler gibi zamanla evrimleşir Geliştirme devam ettikçe iş ve ürün gereksinimleri de değişkenlik gösterebilir

V Model Kullanım Alanı E-Devlet uygulamaları Askeri ve Savunma Sanayii Yazılım Projeleri Finansal Yazılımlar Anahtar Teslimi Yazılım Uygulama Projeleri Avrupa Birliği yazılım geliştirme standardına uygun projelerde

Evrimsel Geliştirme ( Evolutionary Development ) Anahat gereksinimleri ile başlangıç sistemi geliştirilir. Müşteri geribildirimi ile sistem pek çok versiyonla yavaş yavaş geliştirilir. Coğrafik olarak geniş alana yayılmış, çok birimli organizasyonlar için önerilmektedir Her aşamada üretilen ürünler, üretildikleri alan için tam işlevselliği içermektedirler

Evrimsel Geliştirme ( Evolutionary Development )

Evrimsel Geliştirme ( Evolutionary Development ) 1. İki çeşit evrimsel geliştirme vardır: Keşifçi geliştirme ( exploratory development ) Hedef: Müşterinin gereksinimlerini incelemek için müşteri ile çalışıp son sistemi teslim etmek İyi anlaşılan gereksinimlerle başlanmalıdır Ne istediğimi sana söyleyemem ama onu gördüğümde bilirim Atılacak prototipleme ( throw - away prototyping ) Hedef: Sistem gereksinimlerini anlamak Tam anlaşılmamış gereksinimlerle başlar

Evrimsel Geliştirme -Avantajları Kullanıcıların kendi gereksinimlerini daha iyi anlamalarını sağlar Sürekli değerlendirme erken aşamalardaki geliştirme risklerini azaltır Hatalar azalır

Evrimsel Geliştirme - Problemler Sürecin görünürlüğü azdır (düzenli teslim edilebilir ürün yoktur) Sistemler sıklıkla iyi yapılandırılmaz (sürekli değişiklik yazılımın yapısına zarar verir) Bakımı zordur Yazılım gereksinimini yenilemek gerekebilir

Evrimsel Geliştirme Kullanım Alanı Çok birimli banka uygulamaları. Önce sistem geliştirilir ve Şube-1 e yüklenir. Daha sonra aksaklıklar giderilerek geliştirilen sistem Şube- 2 ye yüklenir. Daha sonra geliştirilen sistem Şube-3 e,. yüklenir. Belirli aralıklarla eski şubelerdeki güncellemeler yapılır.

Evrimsel Geliştirme - Uygulanabilirliği Küçük ve orta boyutlu etkileşimli sistemler (500.000 LOC dan daha az olan) Büyük bir sistemin parçaları (örn. Kullanıcı arayüzleri) Kısa süreli kullanılacak sistemler

Prototipleme Gereksinim tanımlama fazında hızlıca yapılan kısmi gerçekleştirme Gereksinimler netleştikçe prototipi düzelt Müşteri memnun olana kadar düzeltmelere devam et

Prototipleme - Avantajları Kullanıcı sistem gereksinimlerini görebilir Karmaşa ve yanlış anlaşılmaları engeller Yeni ve beklenmeyen gereksinimler netleştirilebilir Risk kontrolü sağlanır

Prototipleme - Dezavantajları Belgelendirmesi olmayan hızlı ve kirli ( quick and dirty ) prototipler Prototip hedefleri net değilse kod hackleme ya da jenga başlar Düzeltme aşaması atlanırsa, düşük performansa yol açar Müşteri prototipten de son ürün gibi görünüm ve etki bekler.

Yazılım sürecinde Spiral model Hedefler, alternatifler ve kısıtlamalar belirlenir Alternatifler değerlendirilir, riskler belirlenip çözülür Aşamanın ürünü geliştirilir Sonraki faz planlanır

Spiral geliştirme Süreç arka arkaya devam eden sıralı aktiviteler şeklinde gösterilmek yerine spiral şekilde gösterilir. Spiral üzerindeki her bir halka bir fazı gösterir. Belirtim, tasarım gibi kesin fazlar yoktur spiraldeki halkalar neye ihtiyaç varsa onu gerçekleştirmek için seçilir. Süreç boyunca risklerin değerlendirilmesi ve çözümü açık olarak yapılır

Spiral model Hedef belirleme Fazlar için özel hedefler belirlenir Risk değerlendirme ve azaltma Riskler değerlendirilir ve ana riskleri azaltmak için aktiviteler gerçekleştirilir. Geliştirme ve geçerleme Sistem için genel geliştirme modellerinden biri seçilir Planlama Proje gözden geçirilir ve sonraki faz için plan yapılır.

Spiral Model - Avantajları Kullanıcılar sistemi erken görebilirler Geliştirmeyi küçük parçalara böler. En riskli kısımlar önce gerçekleştirilir. Pek çok yazılım modelini içinde bulundurur. Riske duyarlı yaklaşımı potansiyel zorlukları engeller Seçeneklere erken dikkate odaklanır Hataları erken gidermeye odaklanır Yazılım - donanım sistemi geliştirme için bir çerçeve sağlar

Spiral Model - Problemler Küçük ve düşük riskli projeler için pahalı bir yöntemdir Komplekstir(karmaşık) Spiral sonsuza gidebilir Ara adımların fazlalılığı nedeniyle çok fazla dokümantasyon gerektirir. Büyük ölçekte projeler Kontrat tabanlı yazılıma uymaz Yazılımın içten geliştirileceğini varsayar Kontrat tabanlı yazılımlar adım adım anlaşma esnekliğini sağlamaz Öznel risk değerlendirme deneyimine dayanır Yüksek riskli öğelere yoğunlaşmak, yüksek riskli öğelerin doğru belirlenmesini gerektirir.

Formal Sistem Geliştirme ( Formal System Development ) Cleanroom yazılım geliştirme Matematiksel belirtimin farklı gösterim şekilleri ile çalıştırılabilir programa dönüştürülmesine dayalıdır. Formal belirtim, tasarım ve geçerleme kullanarak yazılımda doğruluğun geliştirilmesini vurgular. Yazılım artımlarla geliştirilir. Sürekli tümleştirme vardır ve fonksiyonellik tümleştirilen yazılım artımları ile artar. Felsefesi pahalı hata ayıklama işlemini engellemek için kodu ilk yazarken doğru yazmak ve test aşamasından doğruluğunu sağlamak Formal yöntemler Zdili

Formal Sistem Geliştirme Problemleri Teknikleri uygulayabilmek için eğitim ve özel beceriler gerekmektedir Kullanıcı arayüzü gibi sistemin bazı kısımlarını formal olarak belirtmek zordur Uygulanabilirliği Sistem kullanıma konmadan emniyet ve güvenlik durumlarını sağlanması gereken kritik sistemler

Yeniden kullanıma yönelik geliştirme (Re - use based development ) Organizasyon tarafından daha önce hazırlanmış veya dışarıdan teminedilmiş yazılımların (veya yazılım parçalarının) kullanılması ile geliştirme yapılması son yıllarda popülaritesi artanbir yaklaşımdır Bileşene dayalı yazılım mühendisliği Sistemlerin var olan bileşen ya da ticari sistemlerin tümleştirildiği sistematik yeniden kullanıma dayalıdır. Süreç adımları Bileşen analizi Gereksinim değişikliği Yeniden kullanım ile sistem tasarımı Geliştirme ve tümleştirme

Yeniden kullanıma yönelik geliştirme (Re - use based development )

Süreç tekrarı Tüm büyük sistemler için değişim kaçınılmazdır. Sonartıma (increment) kadar tam sistem belirtimi yapmak mümkün değilse ne olacak? Süreç tekrarı için iki süreç modeli Spiral geliştirme Artımlı geliştirme(incrementaldevelopment)

Artımlı Geliştirme (Incremental Development) Sistemi tek bir parça olarak en sonda teslim etmektense, sistem, her biri sistemin ayrı bir istenen işlevini yerine getirecek artımlara ( increments ) bölünür Kullanıcı gereksinimleri önceliklendirilir, ve yüksek öncelikli gereksinimler ilk artımlar arasında gerçekleştirilir. Bir artımın geliştirilmesine geçilince diğer artımlar için gereksinim gelişimi devam etse bile o artım için olan gereksinimler dondurulur.

Artımlı Geliştirme (Incremental Development)

Artımlı Geliştirme (Incremental Development) Aslında çağlayan modelinin örtüşen şekilde uygulanmasıdır

Artımlı Geliştirme - Avantajları Sistem için gerekli olan gereksinimler müşterilerle belirlenir Gereksinimlerin önemine göre teslim edilecek artımlar belirlenir Öncelikle en önemli gereksinimleri karşılayan çekirdek bir sitem geliştirilir. Erken artımlar prototip gibi davranarak, gereksinimlerin daha iyi anlaşılmasını sağlar Tüm projenin başarısız olma riskini azaltır En önemli sistem özellikleri daha fazla sınanma (test edilme) imkanı bulmuş olur. Divide and Conquer (Böl ve Yönet) yaklaşımıdır

Artımlı Geliştirme - Avantajları Çağlayan modeli ve evrimsel geliştirme arası bir model:

Artımlı Geliştirme - Dezavantajları Artımları tanımlamak için tüm sistemin tanımlanmasına ihtiyaç vardır Gereksinimleri doğru boyuttaki artımlara atamak bazen zor olabilir. Deneyimli personel gerektirir Artımların kendi içlerinde tekrarlamalara izin vermez

Birleşik Süreç (Unified Process) Nesneye dayalı yazılım geliştirmek için var olan yöntemlerin deneyimler sonucu kabul gören en iyi özellikleri bir araya getirilerek tümleştirilmiş yazılım geliştirme süreci (The Unified Process-UP) oluşturulmuştur

UP: Yinelemeli ve evrimsel yazılım geliştirme Her yineleme (iterasyon) adımında bütün bir yazılım projesi varmış gibi davranılır. Gerekli tüm aşamalardan geçilerek sınanmış, çalışırbir ürünelde edilir

Yinelemeli Sürecin Yararları

UP'nin Kullanılmasına Yönelik Öneriler 2-6 haftalık sabit süreli iterasyonlar uygulanmalı Deneyemlere göre bir iterasyonun süresinin 3 yada 4 hafta olarak seçilmesi iyi sonuçlar vermektedir. İterasyon 2 haftadan kısa olursa bu sürede bir ürün çıkarmak mümkün olmaz. Altı haftadan daha uzun süreli iterasyonlarda ise erken geri besleme alma olanağı ortadan kalkar ve çok fazla sayıda istek ile uğraşmak gerekir. Yüksek risk taşıyan kısımlar ilk iterasyonlarda gerçeklenmeli Daha önce de açıklandığı gibi ortaya çıkabilecek problemleri mümkün olduğu kadar erken fark edip bunlara karşı önlem alabilmek için zorlu görünen istekler önce ele alınmalı.

UP'nin Kullanılmasına Yönelik Öneriler Temel oluşturan yapılar (çekirdek) önce gerçeklenmeli Yüksek riskli kısımlardan başka önce ele alınması gereken modüller sistemin temelini (iskeletini) oluşturan yapılardır. Sürekli kullanıcılardan geri besleme alınmalı, isteklere uyulmaya dikkat edilmeli Her iterasyondan sonra ürün tam olarak sınanmalı Her iterasyonda bir ürün oluşturulduğu unutulmamalı ve bu ürün tam olarak sınanmalıdır. Aksi durumda hatalar geç farkedilir ve bunları düzeltme maliyeti yüksekolur.

UP'nin Kullanılmasına Yönelik Öneriler Kullanım senaryoları yöntemi (usecase) uygulanmalı Görsel modelleme (UML) kullanılmalı UML tasarımların ifade edilmesini ve takım elemanları arasında iletişimi kolaylaştırır. Bir iterasyonda elde edilen deneyim diğer iterasyonda kullanılmalı

SORULARINIZ