Upload
erol-bozkurt
View
1.080
Download
4
Embed Size (px)
DESCRIPTION
Unified Process ve UML ile Yazılım Geliştirme - 2 - UML\'in Sizin için Anlamı
Citation preview
İçerik
• UML’in Sizin için Anlamı• UML Şemaları, Semboller ve Semantik İlişkileri• Şema ve Model Bazlı UML Çalışmaları
Arasındaki Farklar• Alternatif Yazılım Geliştirme Süreçlerinde
UML'in Yeri• UML ile Gereksinim Yönetimi• UML ile Nesne Yönelimli Tasarım
Görsel Tasarım
Bir sistemin verdiği bir hizmeti
nasıl gerçekleştirdiğinin görsel olarak ifade edilmesidir.
UML Süreci Yaklaşımları
– use-case driven (kullanıcıya sağlanan fayda odaklı),
– architecture centric (esnek, bakımı ve tekrar kullanılabilirliği kolay bir sistem mimarisi oluşturmaya elverişli),
– iterative (kademeli olarak)– incremental (birbirinin üzerine inşa ederek).
Rumbaugh Tanımı
Bilgi İşlem
İş Akışı
Sipariş
Ürün
Kargo
Görsel Tasarım standartlaşmış sembolleri kullanarak tasarım yapmaktır
“Bir Model bir Sistemin vazgeçilmez özelliklerini gösterir.”
Dr. James Rumbaugh
Görsel tasarımın faydaları
İş Akışı Bilgisi Toplamak İletişimi KolaylaştırmakProje Kontrolünü ArtırmakSistem Mimarisini OluşturmakTekrar Kullanabilmek
İletişimi Kolaylaştırmak
Birlikte çalışması gereken bu iki takım çoğu zaman farklı kelime hazneleri yüzünden anlaşamıyor.
Görsel Tasarımda UML kullanımı müşterinin dünyasıyla sistemin dünyasını birbirine bağlar
Analistler sistemin Analistler sistemin gereksinimlerini gereksinimlerini belirlerlerbelirlerler
Programcılar bu Programcılar bu gereksinimlere dayanarak gereksinimlere dayanarak sistemi oluştururlarsistemi oluştururlar
Proje Kontrolünü Artırmak
Sistemler yüzlerce hatta binlerce class’dan oluşabiliyor.
Bu class grupları sisteme bakan kişinin ihtiyacına göre organize edilebilmeli.
Görsel Tasarım sisteme farklı yönlerden bakabilmeyi sağlar.
Sistem Mimarisi Oluşturmak
Görsel Tasarım oluşan çözümü kullanılan programlama dilinden bağımsız hale getirir.
Programlama dili belirlenince tasarım fiziki ortama taşınır.
Tekrar Kullanabilmek
Bileşenler
Farklı Sistemler
Tasarımınızı bileşenlere bölerek çözümünüzün parçalarını tekrar kullanabilirsiniz.
UML Öncesi
• 1960 - 70– COBOL, FORTRAN, C– Yapısal analiz ve tasarım teknikleri
• 1980 – 1990 başları– Smalltalk, Ada, C++, Visual Basic– İlk NT yöntemlerin ortaya çıkması
• 1990’ların geriye kalanında– Java– UML– Unified Process
Modeller ve Şemalar
Use CaseDiagramsUse Case
DiagramsUse CaseŞeması
ScenarioDiagramsScenario
DiagramsCollaboration
/ CommunicationŞeması
StateDiagramsState
DiagramsComponentŞeması
ComponentDiagramsComponent
DiagramsDeploymentŞeması
StateDiagramsState
DiagramsObjectŞeması
ScenarioDiagramsScenario
DiagramsStatechart
/ State MachineŞeması
Use CaseDiagramsUse Case
DiagramsSequenceŞeması
StateDiagramsState
DiagramsClassŞeması
ActivityŞeması
Bir model bir sisteminBelli bir açıdan eksiksiz olarakIfade edilebilmesinisağlar
Model
Modellerin Faydaları
• Problem Çözme Mekanizması• Alternatif Çözümleri Görebilme• Sistemin Karmaşıklığını Kontrol Altına Alabilme• Ürünleri Daha Hızlı Oluşturabilme• Proje Maliyetini Düşürme• Hataları Azaltabilme
Model Nedir?
• Gerçeğin basitleştirilmiş bir ifadesi,• Sistemin veya Sürecin kavramsal düzeyde
anlaşılmasıdır
Model Kullanımı
• Bilişim Takımları F-15’leri kağıttan uçak yaklaşımıyla oluşturabileceklerini zannedebiliyor.– Gereksinimlerden Kodlamaya geçiş– Daha uzun çalışmak, sistem mimarisi odaklı
olmayan kod yazmak– Esnek bir Sistem Mimarisi olmaması– Başarısızlık
Modelin Faydası
• Tasarladığımız çözümü anlayabilmek• Modeller ...
– Tasarlamak istediğimiz çözümü düşünebilmemize,– Sistemin yapısını ve davranışını belirleyebilmemize, – Sistemi oluşturabilmemize ve – Yaptıklarımızı dokümante edebilmemize yarıyor.
• Kapsamlı sistemleri modeller olmadan tasavvur etmek bile mümkün değil.
4 Model Kuralı
• Model problemi nasıl çözeceğinizi belirler.• Her model farklı detay seviyelerinde
kullanılabilir.• Model çözümün kullanılacağı dünyadan
kopmamalıdır.• Çözüme yönelik tek bir model yetersizdir
4 Model Kuralı
• Oluşturacağınız model probleme ve çözüme yaklaşımınızı belirler.– Seçilen model bir anlam dünyası oluşturur– Her anlam dünyası sizi başka bir çözüme yöneltir
Model problemi nasıl çözeceğinizi belirler.
4 Model Kuralı
• Her model kullanıcısına yönelik olmalıdır.– Detay seviyesi modeli kimin ve ne amaçla
kullandığına göre değişmelidir.
Her model farklı detay seviyelerinde kullanılabilir
4 Model Kuralı
• Model gerçekçi olmalı– Gerçek yerine göre bir kullanım senaryosu, yerine
göre bir sistem kısıtlaması olabilir. Dolayısıyla model farklı referansları barındırabilmelidir.
– Gerçeği basitleştirmeli– Riskli unsurları işaret etmeli
Model çözümün kullanılacağı dünyadan kopmamalı
4 Model Kuralı
• Sistemler birbirleri kötü olarak etkilemeyen farklı modellerle incelenmeli.– Birbirlerinden bağımsız olarak oluşturulabilen,
incelenebilen fakat birbirleriyle alakalı olan modeller oluşturulmalıdır
• Modellerin farklı referansları, oluşturulma nedenleri ve kullanıcıları olmalıdır.
Çözüme yönelik tek bir model yetersizdir
Fallingwater:
http://www.casas.com/architect/franklloydwright/fallingwater000.html
UML Sonrası
Frank Lloyd Wright
UML’in Yarattığı İş Fırsatları
• Yetenekli bilişim elemanlarının deneyimlerini aktarabilmeleri
• Yeni mezunların ustalarından örnek alabilmeleri
• Problem çözümlerinin gereksinim, analiz ve tasarım faaliyetlerinin yan ürünlere dönüşmesi
• İşverenlerin en kritik bilgilerini altyapı çalışmalarından ayırabilmeleri
• Müteşebbislerin kendilerini daha çok yeni iş fikirlerine adayabilmeleri
Ken Ishiwata
Fırsatlara örnekler
• İnfina: İş bilgisi satma,• Anadolu Hayat: Altyapı değerlendirme,• Uml öğrenen doktor,• Yazılım projesine giren haritacılar,• Alman sigorta uygulama referans modeli,• Vs. vs.
UML Kehanetleri• Teknolojik altyapı kullanımı kolaylaşacak• İşe özel nesne tabanlı yaklaşım bilgilerine erişim kolaylaşacak• İş mantığı bilgilerine erişim kolaylaşacak• Yönetsel yaklaşımların önemi artacak• İş mantığını gizleme artacak• Kod ve framework paylaşımı artacak• İş uzmanlarının yazılım alanına iştirakleri artacak• İşe özel framework pazarı kızışacak• Yazılım evleri uluslararası çalışmalara daha çok girmeye başlayacak• Az sayıda kişiden oluşan ve kısıtlı bütçe sahibi ekiplerin etkinlikleri artacak• Tasarımcı ve Sistem Analistlerinin popülerlikleri artacak• Programcıların önemleri daha çok algoritmik karmaşıklığa sahip alanlarda
korunacak• Framework bazlı kodlama hangarları oluşmaya devam edecek• Yazılım elemanlarının kişisel önemleri artacak
İlham Kaynakları• Eğitimimizin sonunda açık kaynak kodlu bir projeyi UML
modelinize çekin ve inceleyin:
www.sourceforge.net
Max Goff
“Zero Dollar Bill”