002 uml sizin icin anlami [34 slides]

34
UML/UP ile Yazılım Geliştirme Bölüm 2 / 7

Upload: erol-bozkurt

Post on 18-Dec-2014

1.080 views

Category:

Documents


4 download

DESCRIPTION

Unified Process ve UML ile Yazılım Geliştirme - 2 - UML\'in Sizin için Anlamı

TRANSCRIPT

UML/UP ile Yazılım Geliştirme

Bölüm 2 / 7

İç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

İçerik

• Görsel Tasarım• UML Modeli• UML Sonrasında Yazılım Dünyası

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

İş Akışı Bilgisi Toplamak

Use Case’ler ile yazılımın müşteri kullanımı odaklı olması sağlanıyor.

İ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

Tijuana “shantytown”: http://www.macalester.edu/~jschatz/residential.html

UML Öncesi

İçerik

• Görsel Tasarım• UML Modeli• UML Sonrasında Yazılım Dünyası

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ı

Gereksiz Zaruri

Kağıttan Uçak F-15

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

Performans

Kullanıcı

Sisteme 4+1 Bakışı

İçerik

• Görsel Tasarım• UML Modeli• UML Sonrasında Yazılım Dünyası

Fallingwater:

http://www.casas.com/architect/franklloydwright/fallingwater000.html

UML Sonrası

Frank Lloyd Wright

Takım ÜyeleriTakım Üyeleri

UML’in Sınırları

Dil KullanılanSüreç

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”