Analist Eğitimi - Tüm Bölümler - [535 Slides]
-
Upload
erol-bozkurt -
Category
Business
-
view
31 -
download
1
description
Transcript of Analist Eğitimi - Tüm Bölümler - [535 Slides]
![Page 1: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/1.jpg)
Analize Giriş
Bölüm 1/4
![Page 2: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/2.jpg)
İçerik
![Page 3: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/3.jpg)
Eğitmen Hakkında
Erol Bozkurt – [email protected]şim Teknolojileri DanışmanıUniversity of Houston, Computer Science.
Uzmanlıklar:Real Time Simülasyon Sistemleri Tasarımı ve
Programcılığı,Sistem Analizi, UML ve Yazılım Süreçleri Danışmanlığı.
![Page 4: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/4.jpg)
Eğitim Planı
• 9:30 – 12:30 (3 Ders)
Öğle arası (12:30 – 13:30)
• 13:30-16:30 (3 Ders)
İhtiyacınıza göre düzenlemeler yapılabilir.
![Page 5: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/5.jpg)
Tipik Katılımcı Profili
• Nesne Tabanlı Yazılım Deneyimi Olanlar• Nesne Tabanlı Yaklaşımı Öğrenmek İsteyenler• Analistler, Tasarımcılar, Programcılar, …• Süreç Mühendisleri• Kalite Sorumluları• Proje Yöneticileri• Konu Uzmanları (Domain Expert)• Müşteriler
![Page 6: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/6.jpg)
Katılımcılar Hakkında
• Şirketiniz ve faaliyet alanı• Sizin rolünüz• Eğitim almanızdaki nedenler• Eğitime yönelik beklentileriniz
![Page 7: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/7.jpg)
Eğitim Materyalleri
• Eğitim Kitabı.• Çalışmalarımızda kullanacağımız ürünlerin
demolarını ve egzersiz dokümanları içeren CD-ROM.
![Page 8: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/8.jpg)
Bizi Seçtiğiniz İçin Teşekkür Ederiz!
![Page 9: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/9.jpg)
Analize Giriş
Bölüm 2 / 4
![Page 10: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/10.jpg)
İçerik
![Page 11: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/11.jpg)
Analizden Ne Anlıyoruz?
Bir konuyu derinlemesine inceleyerek onun iç mekanizmasını, temel parçaları ve ilişkilerini, işleyiş mantığını ve baz aldığı varsayımlarısaptama faaliyetlerinin tümüdür.
Sherlock Holmes
![Page 12: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/12.jpg)
Analizden Ne Anlıyoruz?
Analiz esnasında dikkat edilebilecek öğeler Çözümü kullanacak kişilerin özellikleri Çözümü geliştiren kişilerin özellikleri Çözümü kullanacak kişilerin iş süreçleri Çözümü geliştirecek kişilerin yazılım geliştirme
süreçleri
Formül: Roller – İş Ürünleri – İş Adımları
![Page 13: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/13.jpg)
Analizden Ne Anlıyoruz
Farklı bir şekilde söylersek analiz çalışması insan ilişkilerinin yeniden tanımlanması ve düzenlenmesi işidir.
Dolayısıyla müşteriler ve tasarımcılar / programcılar arasında yer alarak tartışmaların tam merkezine düşer!
![Page 14: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/14.jpg)
Analist Kimdir?
• Duyduğunu gerçek ve eksiksiz bilgi olarak algılayan,
• Algıladıklarını onaylattığında onlara bir kesinlik kazandırdığını zanneden birisi değildir.
• Aksine, duyduklarını sorgulayan ve söylenmeyenleri su yüzüne çıkaran,
• Kronik sorunları dokümante etmenin ötesinde problemin çözülmesine yardımcı olan birisidir.
![Page 15: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/15.jpg)
Analist Kimdir?
• Terapisttir• Toplantı yöneticisidir• Değişiklik mühendisidir
![Page 16: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/16.jpg)
Analist Kimdir?
• Dokümanla ifade edilen bilgileri kolay ayrıştıran ve alakalandıran
• Pek çok konuya yönelik yazılım geliştirmiş• Hataları ve nedenlerini tanımlayan• Gereksinimleri derleyerek geliştirilecek ürünleri
tanımlayan• Derlediği bilgileri etkili bir kullanımı sağlayacak
şekilde dokümante eden• Kalite ve performansa yönelik olarak ürünleri,
hizmetleri ve süreçleri değerlendiren ...
![Page 17: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/17.jpg)
Analist Kimdir?
• İnsanların gerçek ihtiyaçlarını saptamak için gerekli sabra ve yeteneğe sahip
• Alternatif yaklaşımları güçlü ve zayıf yanlarına göre karşılaştırabilen
• Yüz yüze iletişim tekniklerinde bilgili ve becerili• Karmaşık sorunları kavramsal olarak
inceleyebilen ve seçenekleri belirleyerek, çözümler üretebilen birisidir.
![Page 18: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/18.jpg)
Analist Kimdir?
• Bilgisayar donanımı, elektronik cihazlar ve yazılımlar
• Türkçe ve kullanılan diğer dillerde dilbilgisi, imla ve kompozisyon yazma
• Müfredat belirleme, eğitim içerik geliştirme, eğitmenlik ve eğitim değerlendirmeleri hakkında deneyim sahibi birisidir.
![Page 19: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/19.jpg)
Analist Kimdir?
• Temel matematik, cebir, geometri, calculus,istatistik ve uygulanma şekilleri
• Hizmet sağlama ilkeleri ve süreçleri (İhtiyaç belirleme, hizmet kalite standartları, müşteri memnuniyeti ölçmeyi de içerir) hakkında deneyim sahibi birisidir.
![Page 20: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/20.jpg)
Analist Türleri
![Page 21: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/21.jpg)
Analist Türleri / Farklı Tanımlar
• İş Analisti• Sistem Analisti• Analist / Programcı• Veri / Veritabanı ‘Analisti’
![Page 22: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/22.jpg)
Alakalı Meslekler
• Değişiklik Mühendisi• Süreç Mühendisi• İş Geliştirme Yöneticisi• Proje Yöneticisi
![Page 23: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/23.jpg)
İlgili Standartlar
• RUP, XP, MIL-STD, IEEE vs.• CMMI• CobiT, ITIL
![Page 24: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/24.jpg)
Olası Bir Kariyer Planı
![Page 25: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/25.jpg)
İş Analisti
![Page 26: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/26.jpg)
İş Analisti
![Page 27: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/27.jpg)
Sistem Analisti
![Page 28: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/28.jpg)
Sistem Analisti
![Page 29: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/29.jpg)
Analize Giriş
Bölüm 3 / 4
![Page 30: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/30.jpg)
İçerik
![Page 31: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/31.jpg)
İçerik
• Yaygın Yazılım Süreçleri• İteratif Yazılım Geliştirme• Unified Process (UP) Yapısı• SPEM Gösterimi ile Yazılım Süreci Tanımlama• Pratik bir UP Yaklaşımı• Yazılım Rolleri ve Kaynak Yönetimi• Proje Hazırlık Çalışmaları
![Page 32: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/32.jpg)
Değişen
gereksinimler
Yeni
sistem
Süreç
Süreç Nedir?
• Kimin Neyi Ne Zaman Nasıl yapacağını tanımlamaktır.
![Page 33: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/33.jpg)
1. Gereksinim Yönetimi (Ne?)
Ürünün yerine getirmesi gerekenler
2. Analiz (Nasıl?)
Sistemin parçalarının ve birbirleriyle alakalarının kavramsal seviyede belirlenmesi
3. Tasarım (Nasıl?)
Sistemin parçalarının ve birbirleriyle alakalarının bir teknolojiye has olarak (J2EE, C++) belirlenmesi
4. İmplementasyon (Kodlamak)
Sistemin kaynak kodunun geliştirilmesi
5. Test (Verifikasyon: Fonksiyonel Test)
Test verileriyle uygulamayı çalıştırmak
6. Bakım (Hata Düzeltme ve Geliştirme)
Ürünün hatalarını giderme ve yeni özellikler ekleme
Yazılım Süreci Aşamaları
![Page 34: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/34.jpg)
1. Gereksinim Yönetimi:
Uygulama kullanıcının bakiyesini göstermelidir.
2. Analiz ve Tasarım:
Tasarım VadesizHesap ve VadeliHesap class’larına sahip olmalıdır.
3. İmplementasyon:
class VadesizHesap{
double bakiye;
getBakiye{}; setBakiye{}} …
4. Test:
yatırılan $44.92 / yatırılan $32.00 /
çekilen $101.45 / …
bakiye $2938.22, testi geçti.
5. Bakım:
Hata düzeltme: Bakiye sıfır olunca ve para çekme işlemi yapılmak istenince sistem göçüyor.
Ek Özellik Geliştirme: Euro para birimini destekleme.
Süreç Örneği: Bireysel Finans
![Page 35: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/35.jpg)
Waterfall Yazılım Süreci
zaman
GereksinimAnalizi
Tasarım
Milestone(s)
Fazlar
İmplementasyon
Test
Bakım
Ürünün sürümleri
Bu fazlar kısa bir süre için örtüşebilir
![Page 36: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/36.jpg)
Waterfall Neden Pratik Değildir?
1. Sahip olunması istenen bilgilerin hepsi hazır değildirBütün detayları işin başında görmek zordur
2. Gereksinimlerin implementasyon maliyetlerini sadece tahmin edebiliriz Tahminin isabetliliğini anlamak için en riskli olanlarının tasarlanıp,
implemente edilmeleri gerekirBuradan alınan sonuçlara göre gereksinimler değişebilir
3. Sık sık ara sürümler çıkarmak zorunda kalırızPaydaşların (müşteriler, yöneticiler) projeye güvenlerini tazelemek gerekirTasarımcılar ve programcılar geliştirdikleri sistemin istenen sistem
olduğunun konfirmasyonunu beklerler (Bunun yegane yolu: kademe kademe parçaları birleştirerek (iterative ve incremental) yazılım geliştirme ve testtir)
4. Tipik olarak yazılım ekibinin elemanları farklı fazlarda da görev alırlar
![Page 37: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/37.jpg)
Spiral Süreç
![Page 38: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/38.jpg)
Spiral Süreç
zaman
1 Gereksinim
Tasarım
Kodlama
Test
1İterasyon #
1
1
2
2
2
3
3
3
X sürüm 1.0
M I L E S T O N E S
2 3
2 3 1
α(prototype) X
β
![Page 39: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/39.jpg)
Örtüşen Süreç Aşamaları: UP
![Page 40: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/40.jpg)
RUP’un Gelişimi
İşlevsellik TestiPerformans TestiGereksinim Denet.Değişiklik Denet.İş AkışıVeri TabanıUI
Rational Unified Process 5.01998
Rational Objectory Process 4.11996-1997
Objectory Process 1.0-3.81987-1995
Ericsson Yaklaşımı
Rational Yaklaşımı UML
![Page 41: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/41.jpg)
Süreç Seçim Yaklaşımı Olarak MPP
• Method over Tool:“Herhangi bir yazılım mühendisliği ürününden ziyade
yönteme odaklanmak”• Project over Method:“Herhangi bir yazılım sürecinden ziyade projeye/ürüne
odaklanmak”• People over All:“Herşeyden çok ürünün kullanıcıları ve onu geliştirenler
dahil olmak üzere paydaşlara odaklanmak”
![Page 42: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/42.jpg)
İçerik
• Yaygın Yazılım Süreçleri• İteratif Yazılım Geliştirme• Unified Process (UP) Yapısı• SPEM Gösterimi ile Yazılım Süreci Tanımlama• Pratik bir UP Yaklaşımı• Yazılım Rolleri ve Kaynak Yönetimi• Proje Hazırlık Çalışmaları
![Page 43: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/43.jpg)
Proje Gelişim Süreci
zaman
Inception Elaboration Construction Transition
• Inception: Projenin sınırlarının belirlenmesi, Verilecek hizmetin berraklaştırılması• Elaboration: Proje planının oluşturulması, ürün özelliklerinin
saptanması, Baseline• Construction: Ürünün oluşturulması• Transition: Kullanıma sunulma
saptama tasarlama oluşturma sunma
GereksinimKontrolü
SistemMimarisi
Kullanılabilirlik ResmiSürüm
![Page 44: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/44.jpg)
Aşamalar ve İterasyonlar
Bir iterasyon planlı olarak gerçekleştirilmiş faaliyetler bütünüdür. Sonucunda başarısı ölçülebilen çalıştırılabilir bir bilgisayar programı oluşur.
ArchIteration
... Dev Iteration
Dev Iteration
... TransIteration
...
Release Release Release Release Release Release Release Release
PrelimIteration
...
Inception Elaboration Construction Transition
![Page 45: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/45.jpg)
İterasyonlar ve İşler
P re lim in a ry
Ite ra tio n (s )ite r.
# 1
ite r.
# 2
ite r.
# n
ite r.
#n + 1
ite r.
# n +2
ite r.
# m
ite r.
# m +1
Inception Elaboration Construction Transition
Gereksinim
Tasarım
Uygulanma
Test
Analiz
Aşamalar
İşler
İterasyon
![Page 46: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/46.jpg)
İterasyonlar ve Risk
Risk
Transition
Inception
Elaboration
Construction
PreliminaryIteration
Architect.Iteration
Architect.Iteration
Devel. Iteration
Devel. Iteration
Devel. Iteration
TransitionIteration
TransitionIteration
Post-deployment
Waterfall
Zaman
Proje risklerinin ortaya konması
• Mimarinin revizyonu• Risk-bazlı iterasyonlar• Entegrasyon
• Kullanıma sunma
• Müşteri memnuniyetini ölçme
• Senaryolarla sistemin yapısının ve davranışının oluşturulması
• Sistem Mimarisinin oluşması• Temel mekanizmaların tasarlanması
![Page 47: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/47.jpg)
Risk Azaltma Odaklı İterasyonlar
İlk Proje Riskleriİlk Proje Odağı
Yenilenen Proje Planı• Maliyet• Zamanlama• Odak/İçerik
İterasyon N’in Planı• Maliyet• Zamanlama
Iteration N’in değerlendirilmesi
Giderilen RisklerDiğer Riskler• Yeni öncelikler
Iteration N’in oluşması• Maliyet ve Kalite
ölçümleri
En önemli risklere yönelik senaryoların oluşturulması
Iterasyon N
![Page 48: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/48.jpg)
Use Case Odaklı İterasyonlar
Inception Elaboration Construction Transition
İterasyon1İterasyon2 İterasyon3
İterasyon PlanıGereksinimler
Analiz + TasarımUygulama
Test Release
“Mini-Waterfall” Süreci
![Page 49: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/49.jpg)
İterasyon Süreci
• Önceki iterasyonların sonuçları
• Güncel Risk Raporu• Model, kod ve test kayıtları
Release raporuYeni Risk RaporuKonfigürasyon Denet.
İterasyon Planı
Gereksinimlerin Sapt.
Analiz + Tasarım
Uygulama
Test
Release
![Page 50: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/50.jpg)
Adapte Olabilen bir Süreç: UP
Murray CantorMurray Cantor
Rational Stratejik Hizmetler Biriminde baş danışman.
Uzmanlık alanları:
• Yazılım Mühendisliği Süreçleri• Sistem Mühendisliği Süreçleri• Yazılım Proje Yönetimi• Liderlik
Software Leadership: A Guide to Successful Software Development
Rational Stratejik Hizmetler Biriminde baş danışman.
Uzmanlık alanları:
• Yazılım Mühendisliği Süreçleri• Sistem Mühendisliği Süreçleri• Yazılım Proje Yönetimi• Liderlik
Software Leadership: A Guide to Successful Software Development
Slaytlar 20 - 28
![Page 51: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/51.jpg)
Eski Müşteri/Yazılım Ekibi İlişkisi
• Gereksinimleri ‘bitir’ kaynak değerlendirmesi yap proje planı yaz taahhüt ver planı uygula proje başarısızlığını gör suçluyu ara sonunda kabul edilebilecek bir çözüm sun (belki)
• Varsayımlar – Gereksinimlerin, proje içeriğinin, kullanılacak teknolojinin
eksiksiz ve gereken detay seviyesinde anlaşıldığını ... – Çok isabetli tahminlerde bulunmanın mümkün olduğunu ...– Detaylı bir planın yapılabileceği ve uygulanabileceği ...
![Page 52: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/52.jpg)
‘Waterfall’ Yaklaşımının SonuçlarıDetaylı toplantılar yapılıyor /Toplantı
notları yazılıyor
Tasarım uygun gözüküyor.
Detaylı bir spesifikasyon hazırlanıyor.
Gereksinim kapsama yüzdesi (% 100) yüksek.
• Tasarım “suçu ispatlanana kadar
masum.”
Þ Toplantılar ve dokümanlar karmaşık bir yazılım sisteminin gerçek risklerinin çok azına değiniyor.
Þ Elle tutulur bir delil yok.
Þ Yanıltıcı bir güvenlik hissi var.
Þ Pek azı n*(% 10) tasarımı yönlendiriyor.
Þ Gereksinimlerin hepsine nüfuz etme çabası kritik noktaları gözden kaçırıyor.
Þ Her zaman suçlu. Tasarım hatası ileride istemediğimiz bir zamanda ortaya çıkacak.
Sözde Sonuçlar Gerçek Sonuçlar
![Page 53: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/53.jpg)
Pareto KanunuFa
yd
aFa
yd
a
EmekEmek20%20%
80%80%
%20’lik emek faydanın %80’ini sağlar.%20’lik emek faydanın %80’ini sağlar.
![Page 54: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/54.jpg)
Hata Payını En Aza İndirmek Çok Emek İster
• Gereksinimler karmaşıktır– Fonksiyon/Davranış– Sistem tarafı ayrıca karmaşıktır.
• Tam anlamıyla anlamak analiz, deneyler ve neticelerin değerlendirilmesiyle mümkündür.
• Gereksinimlerle Sistem Mimarisinin ilişkilerinin belirlenmesi gerekir.
• Tüm bu emek bahsettiğimiz 80/20 kuralına tabiidir. – Eksiksiz bir bilgiye erişim en iyimser yaklaşımla ekonomik
değildir. Gerçekçi olursak mümkün değildir. – Bilgi proje süresince eksiksizleşir.
![Page 55: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/55.jpg)
ParadoksYapılacak işi yönetebilmek içim yazılım taahhütlerinin olması gerekli
Taahhütlerin çok detaylı bir şekilde tarif edilmeleri mümkün değil
Çözüm:– Açık bir şekilde ortaklaşa çalışma, müşteriye sonuç göstererek
yönetim ve programcı arasında ahenk oluşturarak çalışmak– İteratif yazılım geliştirme– Elde edilen bilgilerin kademeli olarak zaman içerisinde
eksiksizleşmesi ve detay seviyelerinin artması.
![Page 56: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/56.jpg)
Yazılım Problemi: İki nokta arasındaki en kısa yol
Buradan Buraya
Nasıl gideceğiz?
Buradan Buraya
Nasıl gideceğiz?
Düşündüğümüz GüzergahDüşündüğümüz Güzergah
Projenin ilk Durumu Mevcut ‘malzemeler’, teknolojiler Elemanlar, kabiliyetleri, bilgileri Kaynak eksiklikleri Belirsizlikler
Projenin ilk Durumu Mevcut ‘malzemeler’, teknolojiler Elemanlar, kabiliyetleri, bilgileri Kaynak eksiklikleri Belirsizlikler
Müşteriyi Tatmin Edebilecek Alan Katmadeğer: Kullanıcıya (kullanılabilirlik,
performans, kalite) Maliyet (zaman ve para) Katmadeğer: Yazılım Geliştirici (kar, deneyim,
satış, Pazar payı vs.)
Müşteriyi Tatmin Edebilecek Alan Katmadeğer: Kullanıcıya (kullanılabilirlik,
performans, kalite) Maliyet (zaman ve para) Katmadeğer: Yazılım Geliştirici (kar, deneyim,
satış, Pazar payı vs.)
![Page 57: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/57.jpg)
Gerçek Güzergah
İterasyonlar ve Projenin İlerlemesinin Gözlenebilmesi
Müşteriyi Tatmin Edebilecek Alandaki BelirsizlikMüşteriyi Tatmin Edebilecek Alandaki Belirsizlik
Planlanan İçerik
Planlanan Güzergah
Projenin ilk Durumu
![Page 58: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/58.jpg)
Planlanan GüzergahPlanlanan Güzergah
Gerçek GüzergahGerçek Güzergah
‘Waterfall’ Yönetimi: “Planla ve Takip Et”
Planlanan Proje BitişiPlanlanan Proje Bitişi
Gerçek Proje BitişiGerçek Proje Bitişi
Müşteriyi Tatmin Edebilecek AlanMüşteriyi Tatmin Edebilecek AlanProjenin ilk DurumuProjenin ilk Durumu
Planla ve Takip Et: Projenin tüm aşamalarındaki tüm faaliyetlerin zamanlamasını tahmin et ve bu tahminleri takip et. Gerçek ve Hayal: Bu durum iki farklı planın takip edilmesini gerektiriyor.
Planla ve Takip Et: Projenin tüm aşamalarındaki tüm faaliyetlerin zamanlamasını tahmin et ve bu tahminleri takip et. Gerçek ve Hayal: Bu durum iki farklı planın takip edilmesini gerektiriyor.
![Page 59: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/59.jpg)
Müşteriyi Tatmin Edebilecek AlanMüşteriyi Tatmin Edebilecek AlanProjenin ilk DurumuProjenin ilk Durumu
Planlanan GüzergahPlanlanan Güzergah
İteratif Yaklaşımda Liderlik: “Manevra Yap ve Adapte Ol”
Planlanan Proje BitişiPlanlanan Proje Bitişi
Gerçek GüzergahGerçek Güzergah
Gerçek Proje BitişiGerçek Proje Bitişi
Devamlı olarak :Resmin geneline hakim ol – Proje yönelik istek değişikliklerini değerlendirManevra yap ve adapte ol – İterasyonlar bir dizi ufak sonuç sağladığından projenin tüm istekleri yerine getirmesini sağlamak için kullanılabilir: Hangi yönde manevra yapacağız?
Devamlı olarak :Resmin geneline hakim ol – Proje yönelik istek değişikliklerini değerlendirManevra yap ve adapte ol – İterasyonlar bir dizi ufak sonuç sağladığından projenin tüm istekleri yerine getirmesini sağlamak için kullanılabilir: Hangi yönde manevra yapacağız?
![Page 60: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/60.jpg)
İçerik
• Yaygın Yazılım Süreçleri• İteratif Yazılım Geliştirme• Unified Process (UP) Yapısı• SPEM Gösterimi ile Yazılım Süreci Tanımlama• Pratik bir UP Yaklaşımı• Yazılım Rolleri ve Kaynak Yönetimi• Proje Hazırlık Çalışmaları
![Page 61: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/61.jpg)
UP’in 3 Temel Parçası
Use Case’leri tanımla
Use case paketi
Use case
sorumluluğu
Analist
Artifact(Oluşanlar)
Sürecin oluşturduğu, kullandığı veya değiştirdiği bir ürün
Role (Çalışan)
Bir rol Activity (Faaliyet)
Bir iş
![Page 62: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/62.jpg)
Role
• Analistler: İş Analisti, Sistem Analisti, vs.• Yazılım Geliştirenler: Tasarımcı, Programcı,
Kullanıcı Arayüzü Tasarımcısı, vs.• Yöneticiler: Proje Yöneticisi, Süreç Uzmanı, vs.• Diğer: Konu Uzmanları, Denetçiler (Reviewer),
vs.
![Page 63: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/63.jpg)
Activity
![Page 64: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/64.jpg)
Artifact
![Page 65: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/65.jpg)
Unified Process Yapısı
![Page 66: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/66.jpg)
Discipline ve Workflow
Disiplin: Gereksinim Yönetimi
Workflow: Gereksinim Yönetimine ait çalışma şekli detayları
![Page 67: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/67.jpg)
Workflow Details
![Page 68: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/68.jpg)
Daha Fazla Detay “Rol Üzerinden”
![Page 69: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/69.jpg)
Daha Fazla Detay“Yapılacak İş Üzerinden”
![Page 70: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/70.jpg)
Daha Fazla Detay“Üretilenler Üzerinden”
![Page 71: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/71.jpg)
Daha Fazla Detay“Bir Adım Daha İleriye: Şablonlar”
![Page 72: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/72.jpg)
İş Akışları Modelleri Oluşturur
![Page 73: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/73.jpg)
“Ürünler ve Kullanım Teknikleri”
![Page 74: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/74.jpg)
Özetlersek
![Page 75: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/75.jpg)
Sorulamayan Soruyu Bulmak“Sorulamayan soruyu bulmak gerçekle hayali birbirinden ayırmamızı sağlar.”
John M. Berry (A.B.D.’li Filozof)
• UP diğer süreç tanımları gibi ‘geleneksel bir model’ değildir.– Varsayımları (Neden’i) açık ve belli.– Çalışma şekillerinin girdisi, çıktısı, kimlerin ne işine yaradığı ve kimler
tarafından oluşturuldukları belli.• Yapılacakları dikte etmez: Ne’nin yanında Nasıl’da vardır.• Ne’lerin neler olacağına UP’un kullanıcısı karar verebilir.• Ne mevcut değilse onu ekleyebilir: UP plug-in’leri.• Ne’sini, Nasıl’ını ve Neden’ini (en küçük yapı taşına kadar) açıkça ortaya koyan
bir sistem soyut ve anlamsız (süreç için süreç) bir kavrama dönüşmez.• UP’u çok ciddi bir hedef olan CMM-I için de daha çok programcı odaklı Extreme
Programming için de kullanabiliriz.
![Page 76: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/76.jpg)
İçerik
• Yaygın Yazılım Süreçleri• İteratif Yazılım Geliştirme• Unified Process (UP) Yapısı• SPEM Gösterimi ile Yazılım Süreci Tanımlama• Pratik bir UP Yaklaşımı• Yazılım Rolleri ve Kaynak Yönetimi• Proje Hazırlık Çalışmaları
![Page 77: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/77.jpg)
SPEM“Software Process Engineering Metamodel”
• UML gibi OMG tarafından onaylanmaktadır. Açık bir standarttır.
• Bitmiş bir standart değildir. Ufak değişmeler (gelişmeler) söz konusu olacaktır.
• Tamamıyla Unified Process üzerine oturur.• Biz, örneklerimizde, kabaca kullanacağız.
![Page 78: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/78.jpg)
SPEM Gösterimi“Disiplinler”
XXX
![Page 79: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/79.jpg)
SPEM Gösterimi“Roller”
![Page 80: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/80.jpg)
SPEM Gösterimi“Yapılanlar”
![Page 81: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/81.jpg)
SPEM Gösterimi“Üretilenler”
![Page 82: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/82.jpg)
SPEM Gösterimi“Roller, Yapılanlar ve Üretilenler”
![Page 83: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/83.jpg)
İçerik
• Yaygın Yazılım Süreçleri• İteratif Yazılım Geliştirme• Unified Process (UP) Yapısı• SPEM Gösterimi ile Yazılım Süreci Tanımlama• Pratik bir UP Yaklaşımı• Yazılım Rolleri ve Kaynak Yönetimi• Proje Hazırlık Çalışmaları
![Page 84: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/84.jpg)
Süreç Haritası
![Page 85: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/85.jpg)
Süreç Haritası“Çevik Süreç Tanımları”
![Page 86: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/86.jpg)
Süreç Haritası“CMMI”
![Page 87: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/87.jpg)
Süreç Haritası“Unified Process”
![Page 88: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/88.jpg)
UP Uyarlamaları
![Page 89: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/89.jpg)
Gereksinim Yönetimi“Standart UP”
![Page 90: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/90.jpg)
Analiz ve Tasarım “Standart UP”
![Page 91: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/91.jpg)
İmplementasyon “Standart UP”
![Page 92: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/92.jpg)
Bizim UP Sürecine Yaklaşımız
![Page 93: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/93.jpg)
Proje Süresince Roller• Bir kişi birden fazla rolü canlandırabilir.• Aynı kişinin canlandırdığı rollerin çıkarları bir çelişki
oluşturmamalıdır.• Bütçe ve Eleman sayımızı gözeterek ve en verimli
süreç tanımını hedefleyerek,• Aşağıdaki gibi bir kadroyla yola çıkarsak,
– Ahmet Bey: Birincil görevi Sistem Analizi– Leyla Hanım: Birincil görevi Tasarım– Mehmet Bey: Birincil görevi Veritabanı Tasarımı – Hülya Hanım: Birincil görevi Proje Yönetimi
![Page 94: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/94.jpg)
1. Gereksinimler
![Page 95: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/95.jpg)
2. Analiz
ve Tasarım
![Page 96: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/96.jpg)
3. İmplementasyon
![Page 97: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/97.jpg)
4. Test
![Page 98: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/98.jpg)
Proje Yönetimi
![Page 99: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/99.jpg)
Süreç Mühendisliği
![Page 100: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/100.jpg)
İçerik
• Yaygın Yazılım Süreçleri• İteratif Yazılım Geliştirme• Unified Process (UP) Yapısı• SPEM Gösterimi ile Yazılım Süreci Tanımlama• Pratik bir UP Yaklaşımı• Yazılım Rolleri ve Kaynak Yönetimi• Proje Hazırlık Çalışmaları
![Page 101: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/101.jpg)
İdeal Proje Ekibi
![Page 102: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/102.jpg)
BizimProje
Ekibimiz
BizimProje
Ekibimiz
![Page 103: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/103.jpg)
Ahmet = Sistem Analisti
![Page 104: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/104.jpg)
Ahmet = UI Tasarımcısı
![Page 105: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/105.jpg)
Ahmet = Testçi
![Page 106: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/106.jpg)
Leyla = Sistem Mimarı
![Page 107: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/107.jpg)
Leyla = Tasarımcı
![Page 108: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/108.jpg)
Leyla = Programcı
![Page 109: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/109.jpg)
Mehmet = Veritabanı Tasarımcısı
![Page 110: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/110.jpg)
Hülya = Proje Yöneticisi
![Page 111: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/111.jpg)
Hülya = Süreç Uzmanı
![Page 112: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/112.jpg)
İçerik
• Yaygın Yazılım Süreçleri• İteratif Yazılım Geliştirme• Unified Process (UP) Yapısı• SPEM Gösterimi ile Yazılım Süreci Tanımlama• Pratik bir UP Yaklaşımı• Yazılım Rolleri ve Kaynak Yönetimi• Proje Hazırlık Çalışmaları
![Page 113: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/113.jpg)
Proje Hazırlık Çalışmaları“Tanımlamalar”
• Paydaş Türleri• Gereksinim Türleri• Gereksinim Değişkenleri• Kısıtlama Türleri• Risk Türleri• Metrik Türleri• Emek Türleri• Bakım Türleri• Test Türleri• UML Standardına Ekleriniz, vs. vs.
![Page 114: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/114.jpg)
1a. Paydaşlar“Kullanıcılar”
![Page 115: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/115.jpg)
1b. Paydaşlar“Proje Ekibi Adayları”
![Page 116: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/116.jpg)
1c. Paydaşlar“Proje Ekibi”
![Page 117: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/117.jpg)
2a. Gereksinim Türleri
![Page 118: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/118.jpg)
2b. Gereksinim Türleri
![Page 119: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/119.jpg)
2c. Gereksinim DeğişkenleriÖrnek: “Statü”
![Page 120: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/120.jpg)
3. Kısıtlama Türleri
![Page 121: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/121.jpg)
4. Risk Türleri
![Page 122: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/122.jpg)
5. Metrik Türleri
![Page 123: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/123.jpg)
6. Emek Türleri
![Page 124: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/124.jpg)
7. Bakım“Problem Türleri”
![Page 125: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/125.jpg)
8. Test
![Page 126: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/126.jpg)
9. UML Kapsamına Ekler“Size Özel Stereotype”
![Page 127: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/127.jpg)
İlham Kaynakları
James Bach
Watts Humphrey
Philippe Kruchten
Murray Cantor
James Rumbaugh Grady Booch
Terry Quatrani
Ivar Jacobson
Sizin Adınız
?
![Page 128: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/128.jpg)
Analize Giriş
Bölüm 4 / 4
![Page 129: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/129.jpg)
Neredeyiz?
![Page 130: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/130.jpg)
İçerik
![Page 131: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/131.jpg)
İçerik
• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik
![Page 132: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/132.jpg)
Proje Başarısızlığı Nedenleri
• En yaygın nedenler:– Kullanıcı fikirlerinin alınmaması (% 13)– Eksik gereksinimler (% 12)– Değişen gereksinimler (% 12)
• Dolayısıyla projelerin üçte biri gereksinimlerle ilgili nedenlerden başarısız oluyor
![Page 133: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/133.jpg)
Proje Başarısı Nedenleri
• En yaygın nedenler :– Kullanıcı fikirlerinin alınması (% 16)– Üst yönetim desteği (% 14)– Gereksinimlerin açık olması (% 12)
![Page 134: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/134.jpg)
Gereksinim Hataları
• Müşteriye taşınan hataların yaklaşık olarak üçte biri gereksinim hatalarıdır
• Gereksinim hataları bulundukları anda giderilmezlerse ilerideki düzeltilme maliyetleri 10 ila 100 katına çıkabilir
• İyi proje takımları hataları tespit edildikleri anda tahlil ederler
![Page 135: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/135.jpg)
Gereksinim Yönetimi
• Öyleyse gereksinimleri denetlemeye ihtiyacımız var: – Gereksinimleri bulmak, organize etmek ve
dokümante etmek için bir sistem gerekli – Gereksinim değişikliklerini yöneterek müşteri ve
proje ekibinin anlaşmalarını sağlayabilmek için bir süreç gerekli
• Bu kavramlara Gereksinim Yönetimi diyoruz
![Page 136: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/136.jpg)
İçerik
• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik
![Page 137: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/137.jpg)
Gereksinim Nedir?
• Gereksinimleri tanımlayabilmek için onları gereksinim gibi algılanabilecek diğer bilgi türlerin ayrıştırabilmemiz gerekir
• Bir ihtiyaç (need) bir sistemi kullanan müşterinin işini yapabilmesi için gereken, sistemin sahip olmak zorunda olduğu bir özelliktir
![Page 138: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/138.jpg)
Gereksinim Nedir?
• İşlev (feature) sistemin yerine getirmeyi taahhüt ettiği bir hizmettir
• Gereksinim (requirement) sistemin karakteristik bir özelliğidir
• Gerçekleştirme (realization) gereksinimlerin uygulanma şeklidir
Bir işlevden bir veya daha fazla gereksinim türetilebilir
![Page 139: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/139.jpg)
Detay Seviyeleri
İhtiyaç
İşlev
Gereksinim
Gerçekleştirme
Müşterinin probleminin tanımı
Çözümün tanımı
Daha detaylı
Çözümün gerçekleştirilmesi
![Page 140: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/140.jpg)
Gereksinim Nedir?
• Fırsat (opportunity) yeni bir işlev, yeni bir müşteri tipi veya ürüne eklenen yeni bir özellik olabilir
• Problem müşterinin işini yaparken karşılaştığı bir zorluktur
• Kısıtlama (constraint) oluşturulacak sistemin uymak zorunda olduğu bazı sınırlardır
![Page 141: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/141.jpg)
Acaba Bu Bir Gereksinim Mi?
• Yoksa eksik bilgiyle tasarımıma mı başladık?• Gerçekte ihtiyaç duyulmayan gereksinimlere
ve aslında mevcut olmayan kısıtlara dikkat ediniz
• Yoksa birisi problemden ziyade çözümü mü tanımlamaya başladı?
• Bir gereksinim olmak için çok mu genel?
![Page 142: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/142.jpg)
Öncelik• Gereksinimin önceliği veya aciliyeti nedir?
– Yüksek, Orta, Düşük– Zaruri, İstenen, Seçeneğe Tabii – Mutlaka olmalı, Olması arzulanan, Olsa iyi olacak olan– Gündelik terminolojide ‘olacak’, ‘olsa iyi olur’, ‘olmayabilir’
• Gereksinimlerin önem nedenleri nedir?– Sistem Mimarisine etki,– Teknolojik yenilik nedeniyle bir risk,– Zorluk nedeniyle bir risk,– Vs. vs.
![Page 143: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/143.jpg)
Paydaş (Stakeholder)
• Müşteriden fikri değerli yegane grupmuş gibi bahsedebiliyoruz ama projeye yönelik çelişen düşüncelere sahip pek çok grup insan olabilir (paydaş)
![Page 144: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/144.jpg)
Paydaş Türü Örnekleri
• Sponsor• İş Analisti, Sistem analisti, Tasarımcı, Programcı,
Veritabanı Analisti, vs.• Konu Uzmanları• Kullanıcı• Yöneticiler• Admin.’ler• Süreç Uzmanları, Kalite Sorumluları, vs.• 3rd Party
![Page 145: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/145.jpg)
Paydaşların Çelişen İstekleri
• Bu paydaşların hepsinin farklı ve birbirleriyle çelişen istekleri olabilir
• Başarılı bir projenin sağlaması gereken en önemli şeylerden biri bu isteklerin sahipleri arasında bir mutabakat sağlamaktır
• Mutabakat farklı çıkarlara sahip rollerin çıkarlarını olabildiğince korumalarıyla mümkündür
![Page 146: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/146.jpg)
Yazılım Ekibi
• Yazılım geliştirme sürecine iştirak eden herkes gereksinim yönetimi çalışmalarından farklı şekillerde etkilenirler
• Problem çoğu yazılımcının teknik odaklarından dolayı insan ilişkilerinde çok başarılı olmayışlarıdır
• Öte yandan modern sistemlerin karmaşıklıkları insan ilişkisini zaruri kılmaktadır
![Page 147: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/147.jpg)
İçerik
• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik
![Page 148: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/148.jpg)
Altı Ekip Yeteneği
1. Problem analizi2. Müşteri ihtiyaçlarını anlama3. Sistemi tanımlama4. Sistem kapsamını yönetme5. Sistem tanımının revize edilmesi6. Doğru sistemin geliştirilmesi
![Page 149: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/149.jpg)
1. Problemi analizi
Bu konuya ileride, daha sonra değineceğiz.
![Page 150: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/150.jpg)
2. Müşteri ihtiyaçlarını anlama
• En üst seviyedeki gereksinimler olası çözümün tanımlanmasından çıkar
• Müşteriden bu gereksinimleri alabilmek için hangi teknikleri kullanacağımıza nasıl karar vereceğiz?
• Tıpkı bir marangoz gibi iş için gereken alet edavatı kolayca tespit edebilmek
![Page 151: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/151.jpg)
3. Sistemi tanımlama
• Bir dizi gereksinimi nasıl organize edecek ve oluşturulacak sistemin açık bir resmini görebileceğiz?
• Alakalı ürünler arasındaki ortak gereksinimler nasıl ilişkilendirilecekler?
• Ürünün vizyonunun dejenere olmaması için onu detay gereksinimlerden nasıl ayrıştıracağız?
![Page 152: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/152.jpg)
4. Sistem kapsamını yönetme
• Gereksinimler nadiren statiktir. Üç yaşındaki çocukların ilgi alanı gibi her an değişirler
• Ürünün kapsamının kontrolden çıkmasını nasıl sağlayacağız?
• Yapılması gerekenleri geciktirirsek kapsamı nasıl kontrol edebiliriz?
![Page 153: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/153.jpg)
5. Sistemin tanımının revizyonu
• Yazılım ekibinin işini yapmaya kalkışmadan onlar için gerekli detay seviyesindeki gereksinimleri nasıl oluşturabiliriz?
• Detaylı gereksinimler vizyondan kopmamalı ve sadece her küçük problem parçasının çözülebilir olmasını sağlamalı
![Page 154: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/154.jpg)
6. Doğru sistemin geliştirilmesi
• Tasarımın gereksinimleri yerine getirdiğini nasıl anlayacağız?
• Tasarımın müşteri isteklerine uygunluğundan nasıl emin olacağız?
• Gereksinim değişikliklerini nasıl kontrol altına alacağız?
![Page 155: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/155.jpg)
İçerik
• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik
![Page 156: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/156.jpg)
Problemler ve Fırsatlar
• Sistemlerin en önemli iki nedeni:1. Problem çözmek; mevcut sistem müşteri
ihtiyaçlarını karşılamıyor demek 2. Fırsatları değerlendirmek; yeni ürün düşünceleri,
yeni işlevler, yeni pazarlar vs. • Biz problem çözmeye odaklanacağız
![Page 157: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/157.jpg)
Problem Analizi Aşamaları
• Problem beş aşamada tahlil edilebilir:1. Problem tanımı üzerinde anlaşmak2. Problemin temel nedenlerini anlamak3. Paydaş ve kullanıcıları tespit etmek 4. Sistemin sınırlarını tespit etmek5. Çözümü sınırlandıracak olan kısıtları bulmak
![Page 158: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/158.jpg)
1Problem tanımı üzerinde anlaşmak
• Problem tanımı içeriği: – Problemi tarif ediniz – Etkilenen paydaşları belirtiniz – Problemin paydaşlar ve yaptıkları işler üzerindeki
etkilerini belirtiniz – Önerilen çözümü ve sağlayacağı faydaları ifade
ediniz • Kısaca, neden bu problemi çözmek için
vaktimizi harcamalıyız?
![Page 159: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/159.jpg)
2Problemin nedenlerini anlamak
• Problemin mevcudiyetinden emin olunca bir çözüm oluşturmamız gerekiyor:
• Bir yol “temel neden” veya “nedensellik analizi”dir. Böylece problemin mevcudiyet nedenini anlayabiliriz
• Bunun için ‘kılçık şeması’ (fishbone) çizebiliriz– Düz bir çizgi çekerek problemi yazınız– Sonra problem nedenlerini yazınız– Daha sonra problem nedenlerinin nedenlerini yazınız– Tekrar ediniz
![Page 160: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/160.jpg)
2Problemin nedenlerini anlamak
• ‘Akıl haritası’ (mindmap) çizebiliriz12 m.
Boeing Uçak A.H.
![Page 161: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/161.jpg)
3Paydaşları ve kullanıcıları tespit
• Sistemi kullanacak ve mevcudiyetinden etkilenecek kişileri tespit edin
• Çoğu paydaş kullanıcıdır ama diğerleri değillerdir
![Page 162: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/162.jpg)
4-5Sistemin sınırlarını tespit
• En basit tanımıyla her sistem bazı girdiler alır ve bazı çıktılar üretir
• Püf noktası bu girdi ve çıktıları kimin veya neyin üretip tükettiğidir
SystemInputs Outputs
![Page 163: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/163.jpg)
4-5Sistemin sınırlarını tespit
• Neler sistemin kapsamındadır?– Paydaşların yerine kendimizi koyarsak,– Kullanıcıların yerine kendimizi koyarsak,– Yazılım ekibinin yerine kendimizi koyarsak,
• Dış sistemler hangileridir?– Bağımlı olduklarımız,– Bizim sistemimize bağımlı olanlar
![Page 164: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/164.jpg)
4-5Sistemin sınırlarını tespit
• Sistem üzerine adı yazılı bir kutu ile gösterilir• Aktörler çöpten adamlardır• Dış sistemler ya adı üzerine yazılı bir kutu ya da daha yaygın olarak birer
aktör olarak gösterilirler• İlişki çizgilerinin yönü veri akış yönünü gösterir
StockTrackingSystemEnd User
StockExchanges
![Page 165: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/165.jpg)
İçerik
• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik
![Page 166: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/166.jpg)
Paydaş ve Kullanıcı İhtiyaçları“Stakeholder Requests”
• Gereksinimlerin bulunabilmeleri için yazılım ekibi dikkatli olmalıdır– Gereksinimleri açığa çıkarabilecek kavramları
değerlendiriniz – “Bunu bir gereksinim olarak eklemek ister misiniz”
diye sorunuz ve bahsedilen düşüncenin önemini saptayınız
• Çalışmalarınıza müşteri ihtiyaçlarını tespit ederek başlayınız
![Page 167: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/167.jpg)
Paydaş ve Kullanıcı İhtiyaçları“Stakeholder Requests”
• En üst seviyedeki bilgi türümüz olan ihtiyaçlarla problem tahliline başlayabiliriz
• Genellikle ihtiyaçlar sistemin çözmesi beklenen temel bir problemle ifade edilirler (bu problemi nelerin ortadan kaldıracağıyla)
• Bazı kullanıcılar işlevlere değinebilirler – ihtiyaçların nasıl yerine getirilebilecekleri
![Page 168: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/168.jpg)
İşlevler“Features”
• İşlevler müşteri ihtiyaçlarının hangi ürün kabiliyetlerine karşılık geleceğini ifade ederler – İşlev sistemin bir ihtiyacı gidermek için sunduğu bir
hizmettir• İşlevin faydası onun altında yatan ihtiyaçlara bakıldığında
kendisini gösterir • Bir ihtiyaç sisteme değinmez; bunu bir işlev yapar
Örneğin, Evden okula kayıt olabilmek istiyorum (ihtiyaç) -> Sistemin
internet erişimi olmalıdır (işlev)
![Page 169: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/169.jpg)
Hangisi Hangisi?
• Kullanıcı görüşmesinde ihtiyaç ve işlev ayrımını hemen yapmak gerekmez
• Daha sonra edinilen bilgilerin düzenlenmesinde yardımcı olur (brainstorming)
• İşlev örneği arıyorsanız, yazılım ürünü reklamlarına bakınız!
![Page 170: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/170.jpg)
İhtiyaç ve İşlev Sayıları
• İhtiyaçlar genellikle azdır – 10 veya daha az• İşlevler sistemin büyüklüğüne göre genellikle
25-100 arasında değişirler • Sistem kapsamı toplantıları için işlevler
kullanılırlar
![Page 171: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/171.jpg)
İşlevler ve Gereksinimler
• İşlevlerin (feature) detayları ortaya dökülmeye başlandığında gereksinimler (requirement) ortaya çıkmaya başlarlar
• İşlev aşamasında geçici öncelikler verilebilir• İşlevleri ileride kolayca yönetebilmek için
açıklamalarını yazınız
![Page 172: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/172.jpg)
İşlev/Gereksinim Değişkenleri (Attribute)
• İşlevleri yönetebilmek için kullanılan tipik değişkenler:– Statü, {önerildi, onaylandı, reddedildi}– Öncelik, {yüksek, orta, düşük}– Emek, {yüksek, orta, düşük}– Risk, {yüksek, orta, düşük}
![Page 173: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/173.jpg)
İşlev/Gereksinim Değişkenleri (Attribute)
– Değişebilirlik (Stability), işlevin ve ileride implementasyonunun değişme olasılığı / derecesi
– Hedeflenen sürüm, Bu işlev hangi sürümde hazır olacak?
– Görevli, Bu işlevle ilgili atama kime yapıldı? Aşamasına göre farklı kişiler olabilir (gereksinim, analiz vs.)
– Neden veya Kaynak – Bu işlevin kaynağı nedir?
![Page 174: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/174.jpg)
İşlevler ve Gereksinimler
Üst seviye gereksinimler: İşlevler“features”
Fonksiyonel gereksinimler“functional requirements”
Fonksiyonel olmayan gereksinimler“supplementary requirements”
![Page 175: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/175.jpg)
Gereksinim Grupları
![Page 176: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/176.jpg)
İçerik
• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik
![Page 177: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/177.jpg)
Senaryo Odaklı Gereksinim YönetimiSenaryo Odaklı Gereksinim Yönetimi
Use-Case Modeli Ek GereksinimlerEk Gereksinimler
İşlevler
Gereksinimler
Vizyon DokümanıVizyon Dokümanı
İhtiyaçlar
GelenekselSRS
GelenekselSRS
=
Senaryo Odaklı Yol Geleneksel Yol
Geleneksel Software Requirements Specification (SRS) dokümanı Use Case Modeli ve Ek Gereksinimler Dokümanına (Supplementary Requirements) karşılık gelmektedir.
+
![Page 178: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/178.jpg)
Gereksinim Ürünleri (Artifact)
Ek Gereksinimler(SupplementarySpecification)
Proje Sözlüğü(Glossary)
Use-Case Dokümanları
...
Use Case Modeli
AktörlerUse Case’ler
![Page 179: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/179.jpg)
İlgili Roller
• Hazırlayan: İş Analisti, Sistem Analisti• Faydalanan: Tasarımcı, Kullanıcı Arayüzü
Tasarımcısı, Ürün Kullanım Kılavuzu Yazarı, Veritabanı Tasarımcısı
• Yardımcı: Müşteri, Müşteri Temsilcisi, Konu Uzmanı
![Page 180: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/180.jpg)
Gereksinim Ürünleri (Artifact)
Use Case Şemaları
![Page 181: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/181.jpg)
Gereksinim Ürünleri (Artifact)
![Page 182: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/182.jpg)
[1]Vizyon
• Ürününüzün ilgili olduğu işi aklayan ve gerekli kabiliyetlerini ortaya koyan genel bir dokümandır
• Ne yapmak istiyorsunuz ve o iş neden yapılmaya değer?
• Vizyon dokümanı içeriği: – Giriş: ürününüzün karşılık olduğu temel ihtiyaçlara
değininiz
![Page 183: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/183.jpg)
Vizyon
– Konumlandırma (Positioning): hitap ettiğiniz pazarın sizin açınızdan problemli yanlarını,
hedef kitlenizi ve rakiplerinizin ürünlerinin kabiliyetlerini (ne yapıp ne yapamadıkları) yazınız.
– Paydaş Tanımları: paydaşların demografik yapısını, ürününüzü kullanmak için
gereken kabiliyet seviyesini, paydaşlarınızın hedefleri ve yaşadıkları sorunları belirtiniz. Her paydaş türüne bir temsilci atayarak irtibat bilgilerini sağlayınız.
![Page 184: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/184.jpg)
Vizyon
– Ürün işlevleri listesi: ürünün sağlaması gereken temel işlevleri ve
bunların paydaşlara ne fayda sağlayacağını birer ikişer cümle ile yazınız
![Page 185: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/185.jpg)
![Page 186: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/186.jpg)
Vizyon - Amaç
![Page 187: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/187.jpg)
Vizyon – İş Fırsatı
![Page 188: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/188.jpg)
Vizyon – Problem Tanımı
![Page 189: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/189.jpg)
Vizyon - Paydaşlar
![Page 190: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/190.jpg)
Paydaş Detayları
![Page 191: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/191.jpg)
İşlevler
![Page 192: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/192.jpg)
Gereksinim Ürünleri (Artifact)
![Page 193: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/193.jpg)
[2]Use Case Dokümantasyonu
• Monolog değil Dialog olmalı.• Aktörleri ile Use Case arasındaki etkileşimleri
içermeli.• Müşteri ile Tasarımcılar, Veritabanı
Tasarımcıları ve Arayüz Tasarımcıları arasındaki köprü olmalı.
![Page 194: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/194.jpg)
Use Case: Olayların Akışı• Bir tane olağan, en tipik akış: Temel Akış (“Happy
Path”)
• Birden fazla Alternatif Akış:– Başarılı alternatif akışlar– Başarısız Akışlar hata durumlarını tolere etmeye
yarar
“Happy Path”
![Page 195: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/195.jpg)
Senaryo Nedir?Bir senaryo use case’in içerdiği akışların bir kombinasyonunun başlayıp
bitişidir: Use Case Instance.
![Page 196: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/196.jpg)
Senaryolar
• Use Case akışlarının bir kombinasyonudur (use case instance)
• Bir senaryonun beklenen (başarılı) bir neticesi olabilir– Müşteri kitaplarını satın aldı
• Veya başarısız bir neticesi olabilir– Müşterinin kredi kartı kabul edilmedi
![Page 197: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/197.jpg)
Senaryolar
• Her use case’in odağı başarılı Temel Akışı’dır• Ancak pek çok başarılı ve başarısız Alternatif
Akış olabilir– Alternatif senaryolar akış esnasında neler
olabileceğini tespit yollarıdır. Örneğin, farklı şekillerde ödeme, bir transaction’ın bitirilememesi gibi
![Page 198: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/198.jpg)
Use Case Dokümanı Formatı
• Tek-sütun formatında her paragraf aktör veya sistemin bir faaliyetini anlatır. Daha yaygın bir kullanımdır.
• İki-sütun formatında sol sütun aktöre sağ sütun sisteme aittir ve faaliyetleri ona göre yer alırlar. Faydası dialoğun zigzag yapısını daha iyi göstermesidir.
![Page 199: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/199.jpg)
Use Case DokümanıGelişim Süreci
Bulunma Tanımlanma
Konu Başlıkları + Kısa Tanımlar
Temel Akış Detaylanır Tüm Akışlar Detaylanır
![Page 200: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/200.jpg)
Use Case Dokümanı İçeriği
• Dokümanın mutlaka içermesi gerekenler ‘*’ işaretlenmiştir.– Temel Aktör*– Paydaşlar ve UC’le ilgileri– Precondition*– Postcondition*– Temel Akış*– Alternatif Akışlar*
![Page 201: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/201.jpg)
1. Use Case Tanımı
– İlişkili Use Case’ler– Ek Gereksinimler– İş Kuralları– Kullanım Yoğunluğu– Açık Konular
![Page 202: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/202.jpg)
2. Temel Aktör
• Bir use case için temel aktör o UC’i kendine bir fayda sağlamak için çalıştıran aktördür.
• Dolayısıyla bu aktör UC’i için bir tetik mekanizmasıdır.
• Temel Aktör genellikle insandır. Ancak bazen sistemler otomatik olarak dış sistemlere erişirler.
![Page 203: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/203.jpg)
3. Paydaşlar ve UC ile İlgileri
• Bu bölümde use case’in akışında bir parçası olan tüm aktörler ve kendilerine sağladıkları faydalar belirtilmelidir
• Genellikle aktör başına bir iki cümle kafidir
![Page 204: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/204.jpg)
4. Temel Akış• Herşeyin yolunda gittiği varsayılarak use case akışının adım
adım ve aktörle sistem arasındaki dialoğu işaret edecek şekilde yazılmasıdır.
• Bu akış iş kurallarını, üretilecek ve tüketilecek veri yapılarını ve yapılacak kontrolleri içerir.
• Bu akış use case’in beklenen kullanım şeklini ifade eder.• Bütün adımlar aktör’ün perspektifiyle yazılır. Yalnızca onun
gördükleri ve yaptıkları ile sistemin bu davranışlara reaksiyonlarını içerir.
![Page 205: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/205.jpg)
5. Alternatif Akışlar
• Temel akışın izlediği yolu değiştirebilecek koşulları ve bu durumlarda kullanılacak yeni akışları ifade eder
• Bu başarısızlık durumlarını içerdiği gibi (kredi kartının reddedilmesi), farklı seçeneklerin izlediği yolları da içerir (çekle, kredi kartıyla veya paypal’le ödeme)
![Page 206: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/206.jpg)
5. Alternatif Akışlar
• Alternatif akışlar geçerli oldukları temel akış adımında yanlarına harf konarak işaretlenirler
• Temel Akış 3. Kasiyer ürün numarasını girer
• Alternatif Akış 3a. Geçersiz numara
• Daha sonra da alternatif akış adımları yazılır
![Page 207: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/207.jpg)
5. Alternatif Akışlar
• Dolayısıyla alternatif akışların iki parçası olur:• Nedeni: Başlığı • Akışı: Kendine özel akışı• Nedeni: 3a. Geçersiz ürün numarası
Akışı: 1. Sistem bir hata mesajı vererek ürünün
girilmesini engeller.
![Page 208: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/208.jpg)
6. Precondition
• Use Case’in çalışabilmesi için sistemin sahip olması gereken durumu ifade ederler
• Bu liste temel aktörün o ana kadar yaptıklarını ve yapmadıklarını, şu andaki use case’e yönelmesine yol açan eylemleri içerebilir
![Page 209: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/209.jpg)
7. Postcondition
• Use case’in akışının tamamlanmasının sonucunda sahip olunması gereken durumları ifade eder
• Bu da precondition gibi temel akış referanslı bir listedir. Herşey yolunda giderse use case akışı sonunda elimize ne geçecek?
![Page 210: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/210.jpg)
8. Ek Gereksinimler
• Fonksiyonel olmayan gereksinimler veya use case’e özel kısıtlamalar olabilir– Performans, Güvenilirlik, Kullanılabilirlik ve
Tasarım Kısıtlamaları bu bölümde belirtilebilir• Use Case’e özel olmayan bu tür gereksinimler
Ek Gereksinimler (Supplementary Specification) dokümanında yer alır
![Page 211: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/211.jpg)
9. İş Kuralları
• Use Case akışı esnasında uyulması gereken işe özel kuralları ve yapılması gereken kontrolleri gösterir.
• Genellikle use case’e özel değil, proje genelinde bir doküman olarak oluşturulur.
![Page 212: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/212.jpg)
10. Kullanım Yoğunluğu
• Use Case’in kullanım yoğunluğunun belirtildiği bölümdür:– Günde 1000 defa mı?– Ayda 1 defa mı?
• Use Case öncelikleri hakkında fikir verdiğinden tasarıma yardımcı olur
![Page 213: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/213.jpg)
11. Açık Konular
• Bu kısımda emin olmadığımız varsayımları, muhtemel teknoloji değişikliklerini ve bunlar gibi kesinleşmemiş konuların unutulmamalarını sağlayabiliriz.
• Kesinleşmemiş hukuki, iş akışı ve interface konularını da burada belirtebiliriz.
![Page 214: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/214.jpg)
Bid on Item - Use Case Dokümanı
İnternette Açık Artırma
![Page 215: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/215.jpg)
UC Dokümanı - Tanım
![Page 216: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/216.jpg)
UC Dokümanı - Akış
![Page 217: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/217.jpg)
UC Dokümanı – Geriye Kalan
![Page 218: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/218.jpg)
Gereksinim Ürünleri (Artifact)
![Page 219: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/219.jpg)
[3]Ek Gereksinimler: FURPS+ Modeli
• Ek Gereksinimlerin kapsamı:• Fonksiyonel (Functional)• Kullanılabilirlik (Usability)• Güvenilirlik (Reliability)• Performans • Bakım (Supportability)• + = geriye kalan herşey
![Page 220: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/220.jpg)
Fonksiyonel
• Tüm sisteme yönelik fonksiyonel gereksinimler. • UC odaklı olmayan yazılım geliştirme
yöntemlerini kullananlar için.• Fonksiyonel gereksinimlerin tamamı aslında
UML yaklaşımında UC Modeliyle kapsanıyor.
![Page 221: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/221.jpg)
Kullanılabilirlik (Usability)
• Kullanılabilirlik:– İnsan faktörü; sisteminizi kullanmak nasıl
hoşnutluk verici olabilir? – Help; Kullanıcıya hangi help imkanı sağlanacaktır?
F1? Context sensitive? Online kullanım kılavuzu?– Dokümantasyon; Kullanıcıları eğitmek için ne tür
dokümantasyon üretilecektir?
![Page 222: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/222.jpg)
Güvenilirlik (Reliability)
• Güvenilirlik ölçüm şekilleri: – Mean Time Between Failures (MTBF); İki sistem
göçmesi arasında geçen zaman – Mean Time To Repair (MTTR); Sistem göçtüğünde
çalışır hale getirilmesi için gereken zaman (Bu ‘bakım’ başlığı altında da olabilir)
– Sistemin kullanılabilir durumunu koruması (Availability) ‘performans’ başlığı altında yer alır
![Page 223: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/223.jpg)
Performans
• Çoğu performans kriteri gereksinime dönüşür– Sorgu cevaplama süresi (ortalama, maksimum)– Throughput (Saat veya gün başına işlenen kayıt
sayısı, transactions per second (TPS))– Accuracy (scan veya veri giriş doğrululuğu)– Kaynak kullanımı (CPU, HDD kullanımı, network
trafiği)
![Page 224: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/224.jpg)
Bakım (Supportability)
• İçeriği:– Bakım prosedürünü içerir. Sorunlar için kılavuz mu
sunacaksınız? – Sistemin bakımını yapmak ne kadar kolay? Yazılımı
ve Donanımı birlikte düşününüz. – Internationalization; sisteminiz farklı dillerde
kullanılabilecek mi?– Sisteminizin konfigürasyonu kolayca değiştirilebilir
mi?
![Page 225: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/225.jpg)
“+”
• İçeriği:– İmplementasyon – Interface– Operasyonel– Paketleme– Kanuni konular– Ve aklınıza ne gelirse!
![Page 226: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/226.jpg)
“+” - İmplementasyon
• İmplementasyon üzerindeki sınırlamaları ifade eder:– Kaynak sınırlamaları (maliyet, zamanlama,
eleman)– Dil ve ürünler (kullanılacak programlama ortamı)– Donanım (Dell)– Yazılım (MySQL)– Kullanıcı PC özellikleri (PIII 1000 MHz, 128 MB
RAM, Windows ME)
![Page 227: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/227.jpg)
“+” - Interface
• Interface gereksinimleri dış sistemlerle haberleşme amaçlıdır: – Kurumuzdaki eski sistemler– Bileşenlerini satan şirketler– Başka proje ekipleri– Dış kurumlar (İMKB vs.)
![Page 228: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/228.jpg)
“+” - Operasyonel
• Sisteminiz kullanım halindeyken yönetilebilmelidir
• Yöneticilere gereken kabiliyetler?– Kullanıcı ekleme– Kullanıcı erişim haklarını değiştirme– Kaynak kullanımını izleme (CPU, disk, network)– Fiziki ortamı izleme (ısı, nemlilik)
![Page 229: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/229.jpg)
“+” - Paketleme
• Ürününüz nasıl paketlenecek?– Medya? CD-ROM? DVD?– Hangi dokümanlar basılacak? Hangileri elektronik
ortamdan sağlanacak?– Kullanıcılar için help desk kimlerden oluşacak?– Farklı ülkelere özel çalışmalar yapılacak mı?
![Page 230: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/230.jpg)
“+” - Kanuni
• Ürününüz nasıl lisanslanacak?– Kullanıcı başına? Şirket başına?– PC başına?– CPU başına?
• Ürününüzün farklı versiyonları var mı? (akademik, profesyonel)
• Ürününüzün satılamayacağı yerler var mı? (ihracat kısıtlamaları)
![Page 231: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/231.jpg)
FURPS + ve UML
![Page 232: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/232.jpg)
Gereksinim Ürünleri (Artifact)
![Page 233: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/233.jpg)
[4]Sözlük (Glossary)
• Proje terimlerini içerir:– Terim 1, Terim 2, … Terim N
• Kısaltmaları ve use case dokümanlarında ifade edilseler çok yer kaplayarak okunmayı zorlaştıracak veri yapısı tanımlarını içerir
• Tanımlar dokümanda olabilir veya başka bir dokümanı refere edebilir
• Sözlük hyperlink’ler içerebilir
![Page 234: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/234.jpg)
İçerik
• Proje Başarısızlığı Nedenleri• Gereksinim Yönetimi Kavramları• Gereksinim Yönetimi Teknikleri• Problem Analizi Teknikleri• Gereksinim Türleri• Gereksinim Dokümanları• Önceliklendirme ve Takip Edilebilirlik
![Page 235: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/235.jpg)
Gereksinimleri Önceliklendirme
• Tüm gereksinimler (özellikle use case modelindeki fonksiyonel gereksinimler) için öncelikler belirlemeli ve ona göre zaman planı yapmalıyız.
• Önceliklendirme gereksinim değişkenleri kullanılarak yapılmalıdır:– {Tür: Zaruri, İstenen, Seçeneğe Tabii}– {Sistem Mimarisine Etki: Var, Yok}– {Emek: Zor, Orta, Kolay}– Vs. vs.
![Page 236: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/236.jpg)
Gereksinimlerin Takip Edilebilirliği
![Page 237: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/237.jpg)
Önceliklendirme ve Takip Edilebilirlik Kriterleri
![Page 238: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/238.jpg)
Önceliklendirme ve Takip Edilebilirlik Kriterleri
veya
![Page 239: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/239.jpg)
Gereksinim Yönetimi Planı 1“Vizyon Kapsamında”
![Page 240: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/240.jpg)
Gereksinim Yönetimi Planı 2“Vizyon Kapsamında”
![Page 241: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/241.jpg)
Gereksinim Yönetimi Planı 3“Vizyon Kapsamında”
![Page 242: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/242.jpg)
Gereksinim Yönetimi Planı 4“Vizyon Kapsamında”
![Page 243: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/243.jpg)
Gereksinim Yönetimi PlanıRequirements Management Plan Configuration Management Plan
![Page 244: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/244.jpg)
1. İterasyonların Belirlenmesiİnternet’te Açık Artırma Sistemi
![Page 245: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/245.jpg)
2. İterasyonların Belirlenmesi
![Page 246: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/246.jpg)
3. İterasyonların BelirlenmesiSistem Mimarisini Etkileyen UC’ler
İterasyon 1
İterasyon 2
İterasyon 2
![Page 247: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/247.jpg)
İlham Kaynakları
Ellen Gottesdiener Alistair Cockburn
Sizin Adınız
?
James Bielak
![Page 248: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/248.jpg)
Pratik Çalışma
![Page 249: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/249.jpg)
Analistler için Modelleme
Bölüm 1 / 6
![Page 250: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/250.jpg)
İçerik
![Page 251: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/251.jpg)
Eğitmen Hakkında
Erol Bozkurt Bilişim Teknolojileri DanışmanıUniversity of Houston, Computer Science.
Uzmanlıklar:Real Time Simülasyon Sistemleri Tasarımı ve
Programcılığı,Sistem Analizi, UML ve Yazılım Süreçleri Danışmanlığı.
![Page 252: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/252.jpg)
Eğitim Planı
• 9:00 – 12:30 (3 Ders)
Öğle arası (12:30 – 13:30)
• 13:30-18:00 (4 Ders)
60 dakikada bir ara: 10 dk.
İhtiyacınıza göre düzenlemeler yapılabilir.
![Page 253: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/253.jpg)
Tipik Katılımcı Profili
• Nesne Tabanlı Yazılım Deneyimi Olanlar• Nesne Tabanlı Yaklaşımı Öğrenmek İsteyenler• Analistler, Tasarımcılar, Programcılar, …• Süreç Mühendisleri• Kalite Sorumluları• Proje Yöneticileri• Konu Uzmanları (Domain Expert)• Müşteriler
![Page 254: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/254.jpg)
Katılımcılar Hakkında
• Şirketiniz ve faaliyet alanı• Sizin rolünüz• Eğitim almanızdaki nedenler• Eğitime yönelik beklentileriniz
![Page 255: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/255.jpg)
Eğitim Materyalleri
• Eğitim Kitabı.• Çalışmalarımızda kullanacağımız ürünlerin
demolarını ve egzersiz dokümanları içeren CD-ROM.
![Page 256: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/256.jpg)
Bizi Seçtiğiniz İçin Teşekkür Ederiz!
![Page 257: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/257.jpg)
Analistler için Modelleme
Bölüm 2 / 6
![Page 258: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/258.jpg)
İçerik
![Page 259: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/259.jpg)
İçerik
• Nesne Tabanlı Yaklaşımın Temelleri• Class’lar ve Nesneler
![Page 260: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/260.jpg)
Nesne Tabanlı Yaklaşım:
• Esnek bir Referans Mekanizması: Abstraction• Etkili bir Gizleme Mekanizması: Encapsulation• Sistemi Hazmedilebilir Parçalara Ayırabilmek:
Modularity• Sistemin Parçalarının Alakalandırılabilmesi:
Hierarchy
![Page 261: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/261.jpg)
Abstraction Abstraction
![Page 262: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/262.jpg)
Abstraction (Soyutlama)• Sisteme değişik referanslara göre bakmak• Kullanıcı bazında geçerli hizmetleri
saptamak• Bir kullanıcıya yönelik olmayan sistem
hizmetlerini ondan gizlemek
![Page 263: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/263.jpg)
Encapsulation
![Page 264: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/264.jpg)
Encapsulation (Gizleme)– Kullanıcıya bir basitlik illüzyonu verebilmek– Kullanıcıyı gereksiz sistem detaylarıyla
uğraşmaktan kurtarmak– Sistemin parçalarının kolayca tekrar kullanımına
imkan vermek
![Page 265: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/265.jpg)
Modularity
![Page 266: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/266.jpg)
Modularity (Çok Parçalılık)– Tekrar kullanımı kolaylaştırmak– Testi ve Bakımı kolaylaştırmak– Bir projeye yönelik parçaların entegrasyonunu
kolaylaştırmak
![Page 267: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/267.jpg)
Her abstraction
bir hiyerarşi oluşturur.
Kullanıcı
Sistem
![Page 268: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/268.jpg)
Hierarchy (Hiyerarşi)– Class’ların sağladıkları fonksiyonellik bazında
uzmanlaşmalarına imkan vermek– Genel kullanıma açık metodları belirli paketler
halinde toplayabilmek– Sistemin yapısının takibini kolaylaştırmak
![Page 269: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/269.jpg)
İçerik
• Nesne Tabanlı Yaklaşımın Temelleri• Class’lar ve Nesneler
![Page 270: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/270.jpg)
özellikler/benzerlikler
?
özellikler/benzerlikler
?
ali meltemali meltem
Class’lar ve Nesneler
![Page 271: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/271.jpg)
ali meltemali meltem
Class’lar ve Nesneler
yaş cinsiyet ad soyad
![Page 272: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/272.jpg)
ali meltemali meltem
iki FARKLI kişi
Class’lar ve Nesneler
yaş : 25cinsiyet : erkekad : alisoyad : turalı
yaş : 23cinsiyet : kadınad : meltemsoyad : manisalı
![Page 273: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/273.jpg)
ali meltem
nesne
Class’lar ve Nesneler
Değişkenler/özellikler
yaşcinsiyetadsoyad
yaş : 25cinsiyet : erkekad : alisoyad : turalı
yaş : 23cinsiyet : kadınad : meltemsoyad : manisalı
![Page 274: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/274.jpg)
Diğer nesneler:Diğer nesneler:
Class’lar ve Nesneler
Değişkenler/özellikler???
![Page 275: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/275.jpg)
Diğer nesneler:Diğer nesneler:
AvustralyaAvustralya İtalyaİtalya İngiltereİngiltere
Class’lar ve Nesneler
Değişkenler/özellikler
isimbaşkentnüfusparaBirimi
![Page 276: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/276.jpg)
• Bu nesneleri birbirlerinden nasıl ayıracağız?• Bu nesneleri birbirlerinden nasıl ayıracağız?
Tüm nesnelerTüm nesneler
Class’lar ve Nesneler
![Page 277: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/277.jpg)
Ortak değişkenlerOrtak değişkenler
ÜlkeÜlke KişiKişi
Class’lar ve Nesneler
yaşcinsiyetadsoyad
isimbaşkentnüfusparaBirimi
![Page 278: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/278.jpg)
“yeni bir kişi”
?“hangi değişkenler?”
ali meltem
yaşcinsiyetadsoyad
Kişi(ler)
Class’lar ve Nesneler
yaş : 23cinsiyet : kadınad : meltemsoyad : manisalı
yaş : 25cinsiyet : erkekad : alisoyad : turalı
Değişkenler/özellikler
![Page 279: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/279.jpg)
“yeni bir kişi”
ali meltem
yaşcinsiyetadsoyad
Kişi(ler)
Class’lar ve Nesneler
yaş : 23cinsiyet : kadınad : meltemsoyad : manisalı
yaş : 25cinsiyet : erkekad : alisoyad : turalı
Değişkenler/özellikler
yaşcinsiyetadsoyad
![Page 280: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/280.jpg)
Kişi
Class’lar ve Nesneler
yaşcinsiyetadsoyad
class Nesne tabanlı terminoloji (instance)variables
attributes
fields
![Page 281: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/281.jpg)
ali meltem
Kişi
Class’lar ve Nesneler
yaşcinsiyetadsoyad
yaş : 23cinsiyet : kadınad : meltemsoyad : manisalı
yaş : 25cinsiyet : erkekad : alisoyad : turalı
Nesneler
instances
![Page 282: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/282.jpg)
ali
İngiltere
}
?
?
?
}
meltem
Class’lar ve Nesneler
Nesneler
Bir nesnenin özellikleri nelerdir?
yaş : 23cinsiyet : kadınad : meltemsoyad : manisalı
yaş : 25cinsiyet : erkekad : alisoyad : turalı
}isim : ingiltereBaşkent : LondraNüfus: 3,534,209paraBirimi : Pound
![Page 283: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/283.jpg)
ali
İngiltere
}
state }
meltem
Class’lar ve Nesneler
Nesneler
Bir nesnenin özelliklerini ne belirler?
yaş : 23cinsiyet : kadınad : meltemsoyad : manisalı
yaş : 25cinsiyet : erkekad : alisoyad : turalı
}isim : ingiltereBaşkent : LondraNüfus: 3,534,209paraBirimi : Pound
kimliği
kimliği
kimliği
state
state
![Page 284: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/284.jpg)
Class’lar ve Nesneler
Nesne
Nesnenin sahip olduğu özellikler
Identity: Kimlik State: Durum
![Page 285: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/285.jpg)
Class’lar ve Nesneler
Nesneler
State / DurumIdentity / Kimlik
Benzersiz
Değişebilir
![Page 286: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/286.jpg)
yaş : 25cinsiyet : erkekad : alisoyad : turalı
yaş : 45cinsiyet : erkekad : velisoyad : kara
Identity / Kimlik
State / Durum aynı da olabilir farklı da
Class’lar ve Nesneler
{Orta Yaş} {Yetişkin}
Benzersiz
![Page 287: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/287.jpg)
Analistler için Modelleme
Bölüm 3 / 6
![Page 288: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/288.jpg)
İçerik
![Page 289: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/289.jpg)
İçerik
• Görsel Tasarım• UML Modeli• UML Sonrasında Yazılım Dünyası
![Page 290: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/290.jpg)
Görsel Tasarım
Bir sistemin verdiği bir hizmeti
nasıl gerçekleştirdiğinin görsel olarak ifade edilmesidir.
![Page 291: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/291.jpg)
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).
![Page 292: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/292.jpg)
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
![Page 293: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/293.jpg)
Görsel tasarımın faydaları
İş Akışı Bilgisi Toplamak İletişimi KolaylaştırmakProje Kontrolünü ArtırmakSistem Mimarisini OluşturmakTekrar Kullanabilmek
![Page 294: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/294.jpg)
İş Akışı Bilgisi Toplamak
Use Case’ler ile yazılımın müşteri kullanımı odaklı olması sağlanıyor.
![Page 295: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/295.jpg)
İ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
İş Analistleri sistemin gereksinimlerini belirlerler
Programcılar bu gereksinimlere dayanarak sistemi oluştururlar
![Page 296: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/296.jpg)
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.
![Page 297: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/297.jpg)
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.
![Page 298: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/298.jpg)
Tekrar Kullanabilmek
Bileşenler
Farklı Sistemler
Tasarımınızı bileşenlere bölerek çözümünüzün parçalarını tekrar kullanabilirsiniz.
![Page 299: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/299.jpg)
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
![Page 300: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/300.jpg)
Tijuana “shantytown”: http://www.macalester.edu/~jschatz/residential.html
UML Öncesi
![Page 301: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/301.jpg)
İçerik
• Görsel Tasarım• UML Modeli• UML Sonrasında Yazılım Dünyası
![Page 302: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/302.jpg)
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
![Page 303: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/303.jpg)
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
![Page 304: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/304.jpg)
Model Nedir?
• Gerçeğin basitleştirilmiş bir ifadesi,• Sistemin veya Sürecin kavramsal düzeyde
anlaşılmasıdır
![Page 305: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/305.jpg)
Model Kullanımı
Gereksiz Zaruri
Kağıttan Uçak F-15
![Page 306: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/306.jpg)
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
![Page 307: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/307.jpg)
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.
![Page 308: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/308.jpg)
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
![Page 309: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/309.jpg)
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.
![Page 310: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/310.jpg)
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
![Page 311: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/311.jpg)
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ı
![Page 312: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/312.jpg)
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
![Page 313: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/313.jpg)
Process View
Deployment View
Logical View
Implementation View
KodVersiyonlar
Performans
Sistem MimarıTopoloji
kurulum, kullanım
Use-Case View
Analiz /Tasarım Kullanıcı
İşlevsellik
Sisteme 4+1 Bakışı
![Page 314: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/314.jpg)
İçerik
• Görsel Tasarım• UML Modeli• UML Sonrasında Yazılım Dünyası
![Page 315: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/315.jpg)
Fallingwater:
http://www.casas.com/architect/franklloydwright/fallingwater000.html
UML Sonrası
Frank Lloyd Wright
![Page 316: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/316.jpg)
Takım Üyeleri
UML’in Sınırları
Dil KullanılanSüreç
![Page 317: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/317.jpg)
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
![Page 318: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/318.jpg)
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.
![Page 319: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/319.jpg)
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
![Page 320: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/320.jpg)
İlham Kaynakları• Eğitimimizin sonunda açık kaynak kodlu bir projeyi UML
modelinize çekin ve inceleyin:
www.sourceforge.net
Max Goff
“Zero Dollar Bill”
![Page 321: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/321.jpg)
Analistler için Modelleme
Bölüm 4 / 6
![Page 322: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/322.jpg)
İçerik
![Page 323: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/323.jpg)
İçerik
• UML Modeli Kavramları• UML Tanımını Genişletme Mekanizmaları• Davranış Şemaları• Yapısal Şemalar
![Page 324: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/324.jpg)
UML 2.0 Şema Türleri
*
*
*
*
*
![Page 325: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/325.jpg)
Kısaca UML
UML sembolik bir dildir:Yazılım sistemlerinin oluşturulması esnasında
ortaya çıkan iş ürünlerinin– Tasavvur edilebilmesine,– İfade edilebilmesine,– Oluşturabilmesine ve – Dokümante edilebilmelerine yarar.
![Page 326: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/326.jpg)
UML Modeli Oluşturma Nedenleri
• Oluşturulacak sistemin yapısı ve davranışı hakkındaki bilgiyi paylaşmak
• Sistem mimarisini tasavvur ve kontrol edebilmek
• Sistemi daha iyi anlayıp çözümü basitleştirmek ve tekrar kullanılabilirliği artırmak
• Riskleri yönetebilmek
![Page 327: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/327.jpg)
4 Model Kuralı
• Oluşturduğunuz model problemi nasıl çözeceğinizi belirler.
• Her model farklı detay seviyelerinde bilgi verebilir.
• En iyi modeller gerçekle bağlarını koparmayanlardır.
• Tek bir model kesinlikle kafi değildir.
![Page 328: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/328.jpg)
İçerik
• UML Modeli Kavramları• UML Tanımını Genişletme Mekanizmaları• Davranış Şemaları• Yapısal Şemalar
![Page 329: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/329.jpg)
UML Genişletme Mekanizmaları
• UML tanımı çok geniş de olsa bazen özel durumlara uyabilmesi için ‘genişletilmesi’ (extend) gerekebilir.
• UML tanım genişletme mekanizmaları- Yeni model sembolleri oluşturmak, - Yeni özellikler (property) tanımlayabilmek, - Yeni semantik yapılar oluşturabilmek için kullanılır.
• Genişletme mekanizmaları dörde ayrılır:- stereotype, tagged values, kısıtlar ve notlar
![Page 330: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/330.jpg)
Stereotype
• Stereotype genellikle UML sembollerini yeni ortamlarda tanımlamak amacıyla kullanılır:
Örneğin Asansör Kontrol Sisteminin bir modelini oluştururken, bazı class’ları ve durumlarını (state) vurgulamak isteyebiliriz
• «hardware»• «software»
• Stereotype mutlaka tanımlandığı özel durum için ve hep aynı şekilde (mantıkla) kullanılmalıdır.
![Page 331: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/331.jpg)
Stereotype
«button»CancelButton
Stereotypeetiket gösterimi
state
• Stereotype kullanım şekli: - Stereotype’ı UML sembolünün adının üstüne yerleştiriniz
• Stereotype adını «» işaretleri arasına koyunuz: (Örneğin, «node»)
- Yeni ikonu (resmini) tanımlayınız
CancelButton
Stereotypeikon gösterimi
![Page 332: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/332.jpg)
Stereotype“UML Tanımıyla Gelenler”
Tanımlı Stereotype’lar:UML tanımı içinde mevcut, anlamı kesin olarak
belirlenmiş ve işarete karşılık gelen bir ikonu olan işaretlerdir.
<<Stereotype Adı>>
Tanımla Gelenler:• Boundary, Entity, Control• Aktör, vs.
cd Design Model
Class1 ud Use ...
Actor1
![Page 333: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/333.jpg)
Size Ait İşaretler“UML in Color”
Peter Coad (TogetherSoft) entityclass’larının da kendi aralarındagruplara ayrılması gerektiğini söyler:
i. <<Thing>> ii. <<Description>> iii. <<Role>> iv. <<Moment-Interval>>
![Page 334: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/334.jpg)
Tagged Values• Tagged values
–UML sembollerine ek özellikler atarken kullanılır–Mevcut UML sembol ve stereotype’larına eklenebilir–Bir isim-değer (özellik-değer, tag-value) ikilisi olarak
kullanılır.
• Genellikle aşağıdaki konularda kullanılır- Kod üretimi- Versiyon kontrolü- Konfigürasyon yönetimi- Sahiplik (telif hakkı kanıtı)- vs. vs.
![Page 335: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/335.jpg)
Tagged Values
• Tagged value {} parantezi içine yazılan çok kısa bir nottur:- {tag adı, ayraç (=), bir değer}’den oluşur.
{yazan = “Ali”, Versiyon = 2.5}
Eleman
isimadres
tagged value
![Page 336: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/336.jpg)
Tagged Values ve Kısıtlamalar
Gösterimleri aynıdır. UML ürünleri kullanıldığında NOT sembolünün içine yazılırlar. Pek çok farklı yerde belirtilebildiklerinden yaygın bir kullanımı yoktur.
{Tagged Value / Constraint}
{Vermek istediğiniz ek bilgi}
{Vurgulamak istediğiniz kısıtlama}
![Page 337: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/337.jpg)
UML Metamodel
• Metamodel olası modellerin kullanacağı yapısal ve semantik özelliklerin tanımlandığı bir modeldir
• UML modeli, ait olduğu metamodelin bir uygulanış şeklidir
• UML metamodeli –UML sembollerini tanımlar–Tanımlamalar için UML sembollerinin bir alt kümesini
kullanır –Aralarında ilişkiler kurulan paketlerle düzenlenir
![Page 338: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/338.jpg)
• UML metamodeli aşağıdaki konulara yanıtlar bulunarak oluşturulur:
- Syntax Yapısı (Abstract Syntax): Class Şemaları kullanılarak tanımlanır
- Net olarak tanımlanmış kurallar: Model öğelerinin uyması gereken kurallar (sınırlamalar) tanımlanır- Örneğin, bir class’ın birden fazla adı olamaz
- Semantik Yapı: Model öğelerinin ilşkilendirilme biçimleri gündelik dille tanımlanır
UML Metamodel
![Page 339: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/339.jpg)
UML Profilleri• UML Profilleri özel konulara yönelik UML modelleri
geliştirebilmemizi sağlarla- Örneğin, süreç mühendisliği, gerçek zamanlı sistemler,
web uygulamaları vs. vs.
• Bir profil ‘paketinde’ bir veya daha çok genişletme mekanizması ürünleri bulunur (stereotype, tagged value, kısıtlamalar)
• Bunlar UML model öğelerine uygulanarak kullanılırlar
![Page 340: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/340.jpg)
UML Profilleri• Bir UML profilinde aşağıdaki çalışmalardan gerekenler
yapılır:
- UML metamodelinin ilgili bir bölümü seçilir
- Stereotype’lar ve/veya tagged value çiftleri tanımlanır
- Mevcut kurallara yeni ekler tanımlanır
- Yeni bir semantik yapı tanımlanır
![Page 341: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/341.jpg)
Profil Örneği• Temel GUI bileşenlerine yönelik bir profil tanımlarsak, • GUI yapımız aşağıdaki öğelere sahip olacaktır:
- Formlar- Butonlar
• Kısıtlamalar: – Bir form bir ‘dialog box’ı çalıştırabilir– Formlar ve Dialog Box’ların butonları olabilir
![Page 342: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/342.jpg)
GUI ProfiliClass ve Association UML metamodelinden gelmektedir
GUI Profili
Class
<<stereotype>>Form
<<stereotype>>Button
Association
<<stereotype>>Contains
<<stereotype>>DialogBox
<<stereotype>>Invokes
![Page 343: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/343.jpg)
GUI Profili Uygulaması
<<Form>>MainView
1 1
<<Button>>OkButton
<<Button>>CancelButton
<<Invokes>>
<<Contains>> <<Contains>>
<<DialogBox>>OpenDialogBox
1 1
1 1
![Page 344: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/344.jpg)
İçerik
• UML Modeli Kavramları• UML Tanımını Genişletme Mekanizmaları• Davranış Şemaları• Yapısal Şemalar
![Page 345: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/345.jpg)
UML 2.0 Şemaları
![Page 346: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/346.jpg)
Davranış Şemaları
– use case şeması*– activity şeması*– Etkileşim Şemaları
• sequence şeması• collaboration / communication şeması• interaction overview• timing şeması
– statechart / state machine şeması*
![Page 347: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/347.jpg)
Use Case Şeması
• Temel Kavramlar• Şema İçeriği• Şemayla Aktarılan Bilgiler• Tasarım Teknikleri• Forward ve Reverse Engineering
![Page 348: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/348.jpg)
Temel Kavramlar• Her tasarlanan sistem bir insanla veya başka bir sistemle
etkileşir• Sistemin kullanıcıları onun tahmin edilebilir bir şekilde
çalışmasını beklerler• Use Case sistemin kullanıcılarına sunacağı bir hizmetin
senaryo şeklindeki anlatımıdır. Bu yüzden bir fiil ismine sahiptir: Yap, Et gibi adlandırılır.
Örneğin, “Para Çek”, “Havale Yap”.• Aktör sistemin sunduğu hizmetleri kullanan bir kişi veya başka
bir sistemdir.• Aktörler mutlaka tasarlanan sistemin dışında olmalıdırlar.
![Page 349: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/349.jpg)
Use Case’lerin 3 Temel İşlevi
– Sistemin Sınırlarını Çizmek: Tasarlanan sistemin dışarıdan nasıl görüleceğini programcılara da yol gösterebilecek şekilde belirlemek
– Sistemin Bütünlüğünü Görebilmek: Sunulan hizmetlerin sistem içinde nasıl gerçekleştirileceğini görebilmek
– Test için Referans Oluşturmak: Sistem oluştukça eklenen yeni unsurları kaldırıp kaldıramayacağını anlamak
![Page 350: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/350.jpg)
‘Sihirli’ Use Case Sayısı Nedir?
Functional Decomposition!
![Page 351: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/351.jpg)
İlgili Roller• Şemayı Hazırlayanlar:
– İş Analisti– Sistem Analisti
• Şemayı Kullananlar:– Müşteri– Proje Yöneticisi– Tasarımcı– Veri Tabanı Analisti– Kullanıcı Arayüzü Tasarımcısı– Testçi– Kullanım Kılavuzu Hazırlayanlar
![Page 352: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/352.jpg)
Use Case Şeması Sembolleri - 1
Sembol Tanımı Syntax
use case Belli bir hedefe ulaşmak için kullanılabilecek tüm alternatif senaryolar.
aktör Sistemle etkileşen kişilerin canlandırdıkları roller ve dış sistemler.
sistem sınırı
Oluşturulan sistemle aktörleri birbirinden ayıran sınır.
UseCaseNam e
ActorNam e
![Page 353: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/353.jpg)
Use Case Şeması Sembolleri - 2
Sembol Tanımı Syntax
association Aktörlerin veya Use Case’lerin birbirlerini kullanmaları.
generalization Aktörlerin çeşitlerini ve Use Case’lerin özel durumlarını vurgular.
extend Bir Use Case’in kullanıcısının seçimine bağlı olarak çalıştırdığı diğer bir Use Case’i vurgular.
<<extend>>
![Page 354: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/354.jpg)
Use Case Şeması Sembolleri - 3
Sembol Tanımı Syntax
include Bir Use Case’in her zaman çalıştırdığı diğer bir Use Case’i vurgular.
Note Her şemaya dilenen bilgilerin yazılması için ve hyperlink oluşturmak amacıyla kullanılır.
note
Anchor note to item
Notu şemadaki sembollere bağlamaya yarar.
<<include>>
![Page 355: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/355.jpg)
Şema Örneği 1
![Page 356: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/356.jpg)
Use Case Bulma Teknikleri 1ud Use Case Model
Actor2
Actor1
Use Case1
Use Case2
Use Case3
Use Case4
Use Case5
Use Case6
Use Case 2 her zaman Use Case 1 i le birl ikte calisir.
Use Case 3 istegebagli olarak Use Case 4 i le birl ikte calisir.
Use Case 6, Use Case 5'in ozel birdurumudur. Use Case 5'in bazialternatif akislari buradadir.
Use Case 3'den Actor 2'ye birmesaj gitmektedir.
«extend»
«include»
ud Use Case Model
Actor2
Actor1
Use Case1
Use Case2
Use Case3
Use Case4
Use Case5
Use Case6
Use Case 2 her zaman Use Case 1 i le birl ikte calisir.
Use Case 3 istegebagli olarak Use Case 4 i le birl ikte calisir.
Use Case 6, Use Case 5'in ozel birdurumudur. Use Case 5'in bazialternatif akislari buradadir.
Use Case 3'den Actor 2'ye birmesaj gitmektedir.
«extend»
«include»
![Page 357: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/357.jpg)
Use Case Bulma Teknikleri 2
Özne Nesne Fiil Oluşturulanlar Sistemin Cevabı Aday Use Case Aday Aktör
Öğrenci derse kayıt olur Ders listesine eklenme Dersi alabilirmi bakar Kayıt Ol Öğrenci
Haftalık Ders Programı Çakışan derslere bakar
Eğitmen derse kayıt olur Ders listesine eklenme Dersi alabilirmi bakar Kayıt Ol Öğrenci
Haftalık Ders Programı Çakışan derslere bakar
Event Table Çalışması:
![Page 358: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/358.jpg)
![Page 359: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/359.jpg)
Use Case Bulma Teknikleri 3
1. Aktörler Adaylarını Bulun2. Event Table Çalışmasını Yapın3. Aktör ve Use Case’leri Belirleyin4. Aktörleri Çizin ve İlişkilerini Düşünün5. Use Case’leri Çizin ve Aktörlere Bağlayın6. Use Case’ler Arasındaki İlişkileri Belirleyin
![Page 360: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/360.jpg)
Aktör Bulma Soruları• Sistemin gereksinimleri kimleri ilgilendiriyor?• Sistem organizasyonun hangi biriminde kullanılacak?• Sistemden kimler faydalanacak?• Sisteme veri sağlayacak, sistemden bilgi alacak ve sistem kayıtlarını
değiştirecek olanlar kim?• Sistemin bakımını kim yapacak?• Sistemin hizmetlerinden yararlanacağı başka sistemler var mı?• Sistemin hizmetlerini sunacağı başka sistemler var mı?• Sistemin kullanımında birden fazla rolü oynayan kişiler var mı?• Sistemin kullanımında aynı rolü oynayan birden çok kişi var mı?
![Page 361: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/361.jpg)
Use Case Bulma Soruları• Aktörlerin yerine getirecekleri görevler nelerdir?• Aktörlerden herhangi birisi sistem kayıtlarını oluşturma, kaydetme,
değiştirme, silme ve okuma amaçlı olarak kullanacak mı?• Hangi use case’ler yukarıdaki kaydetme, değiştirme, silme ve okuma
işlemlerine yol açacak?• Herhangi bir aktörün sistemi sistem dışındaki ani değişikliklerden
haberdar etmesi gerekli mi?• Herhangi bir aktörün sistem içinde olanlardan haberdar edilmesi
gerekiyor mu?• Hangi use case’ler sistemin bakımı için kullanılacak?• Sistemin vereceği tüm hizmetler (fonksiyonel gereksinimler) bulunan
use case’ler ile yansıtılabiliyor mu?
![Page 362: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/362.jpg)
Use Case ŞemasıEgzersiz # 1
Lütfen şemadan anladıklarınızı bir paragrafta özetleyiniz (10 dk.)
uc Use Case Modeli II
Müşteri
(from Aktörler)
Sistem Yöneticisi
(from Aktörler)
Banka
(from Aktörler)
(from Use Case'ler)
Kataloğa Bak
(from Use Case'ler)
Satın Al
(from Use Case'ler)
Kataloğu Hazırla
(from Use Case'ler)
Sisteme Bağlan
«extend»
«include»
«include»
![Page 363: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/363.jpg)
Use Case ŞemasıEgzersiz # 2
Aşağıdaki tanıma uygun use case şemasını çiziniz (15 dk.).
“Sadece üyelerin bir satın alma yapabileceği bir cd satış portali oluşturmanız gerekmektedir. Bu portali ziyaret edenler üye olmadıkları takdirde portal kataloğuna erişemeyeceklerdir.
Üye olma işlemi sırasında başvuru yapanların: • isim ve soyadları,• e-mail adresleri• favori müzisyenleri (3 isim)• favori cd’leri (3 isim)• arayıp bulamadıkları cd’ler (3 isim)• bilgileri toplanacaktır.
Üyelerden ayrıca bir şifre tanımlamaları istenecek ve e-mail adresleri kullanıcı adları olarak kullanılacaktır.
Web sitesinde şirket kataloğuna bakarak cd satın alabilmenin dışında, üyeler birbirleri arasında cd değiş tokuşu yapabileceklerdir.
Sistem üyelerin hangi cd’leri alıp sattıklarına, hangi cd’leri arayıp bulamadıklarına bakarak, cd önerilerinde bulunacaktır.“
![Page 364: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/364.jpg)
Activity Şeması
• Temel Kavramlar• Şema İçeriği• Şemayla Aktarılan Bilgiler• Tasarım Teknikleri• Forward ve Reverse Engineering
![Page 365: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/365.jpg)
Temel Kavramlar
• Sistem akışı içinde önce ne sonra ne olduğunu koşullarını işaret ederek gösterebiliriz.
• Use Case akışını çizebiliriz.• Sistem genelinin işleyişini çizebiliriz.• Bir hizmete yönelik işlemleri toplu halde
inceleyebiliriz (UC Map).• Tek bir işlemin nasıl gerçekleştirildiğini
inceleyebiliriz.
![Page 366: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/366.jpg)
İlgili Roller• Şemayı Hazırlayanlar:
– İş Analisti– Sistem Analisti– Tasarımcı– Programcı
• Şemayı Kullananlar:– Müşteri– Proje Yöneticisi– Tasarımcı– Programcı– Veri Tabanı Analisti– Kullanıcı Arayüzü Tasarımcısı
![Page 367: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/367.jpg)
Activity Şeması Sembolleri 1
Sembol Tanımı Syntax
Start State Activity Şemasındaki akışın başladığı nokta.
End State Activity Şemasındaki akışın bittiği nokta.
Activity Akış esnasında gerçekleşen bir faaliyet veya bir komut.
![Page 368: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/368.jpg)
Activity Şeması Sembolleri 2
Sembol Tanımı Syntax
State Transition
Activity sembollerini önce hangisinin geldiğini belirterek birbirine bağlar veya bir döngüyü ifade eder..
Decision Akışın koşullara göre dallandığı
noktalarda kullanılır.
Swimlane Faaliyet ve komutları sorumluluklarına göre gruplamaya yarar.
![Page 369: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/369.jpg)
Activity Şeması Sembolleri 3Sembol Tanımı Syntax
Synchronization bars
Eş zamanlılık içeren faaliyetleri ‘ayrılma’ veya ‘birleşme’ noktaları oluşturarak birbirine bağlamaya yarar.
Note Her şemaya dilenen bilgilerin
yazılması için ve hyperlink oluşturmak amacıyla kullanılır.
note
Anchor note to item
Notu şemadaki sembollere bağlamaya yarar.
![Page 370: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/370.jpg)
Activity Şeması Sembolleri 4
Sembol Tanımı Syntax
Object ‘Elle tutulabilir’ nesnelerdir.
OrderItem
ObjectFlow Object’i girdi ve çıktı olarak faaliyet
ve komutlara bağlamaya yarar.
![Page 371: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/371.jpg)
Şema Örnekleri 1act Pizza Siparişi
Ahçıbaşı Garson Müşteri
ActivityInitial
Pizza hamurunu hazırla
Menüyü v erSiparişi Ver
Siparişi mutfağa ilet
Pizza malzemelerinihazırla
Pizzayı fırına v er
Garsona haber v er
Serv is yap
Afiyetle ye
Hesabı iste
Hesabı sun
Hesabı öde
v s. v s.
![Page 372: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/372.jpg)
Activity Şeması Örnekleri 2act Telefon Satış Birimi
Müşteri Telefonla Satış Depo Muhasebe
ActivityInitial
İade isteğini ilet
Vazgeçirmeye çalış
Vazgeçti mi?
Elemana Bonus yaz
ActivityFinal
İade numarası v er
Kargoya v er
«iade edildi»Ürün
Ürünü kabul et
Ürünü tekrar satışa sun
Müşteriye ödeme yap
«satışa sunuldu»Ürün
ActivityFinal
![Page 373: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/373.jpg)
Activity Şeması Örnekleri 3
![Page 374: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/374.jpg)
Activity Şeması Örnekleri 4
![Page 375: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/375.jpg)
Activity ŞemasıEgzersiz
Aşağıdaki bilgileri alternatifleri ve beklenmeyen durumları da ekleyerek activity şemasıyla anlatınız (15 dk.)
• Yemek Tarifi: Arap Usulü Ispanak– Soğanları kızgın yağda 5 dk. kavurunuz,– İsterseniz, sarmısak ve kimyon ekleyerek 1 dk. daha kızartınız.– Ispanakları tavaya yavaş yavaş ekleyiniz. Eklenen ıspanakların yapraklarını iyi
yumuşayıncaya kadar karıştırınız. Taze ıspanak büyük ölçüde pişirilirken ufalacağından, ıspakların hepsi tavaya sığacaktır.
– Daha önce yumuşamaları için gece boyunca suda beklettiğiniz nohutların suyunu süzünüz ve tavaya ekleyiniz.
– Karışıma tereyağı ve baharat (tuz, biber ve kırmızı biber) ekleyiniz.– Karışım köpürmeye başlayana dek ısıtmaya devam ediniz.– Karışımı kendi suyu içinde hafif nemli olarak sununuz.
![Page 376: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/376.jpg)
Statechart Şeması
• Temel Kavramlar• Şema İçeriği• Şemayla Aktarılan Bilgiler• Tasarım Teknikleri• Forward ve Reverse Engineering
![Page 377: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/377.jpg)
Temel Kavramlar 1
![Page 378: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/378.jpg)
Temel Kavramlar 2
![Page 379: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/379.jpg)
Temel Kavramlar 3
Action ve Output:
![Page 380: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/380.jpg)
Temel Kavramlar 4Event ve State Machine örtüşmesi:
![Page 381: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/381.jpg)
Temel Kavramlar 5Bir faaliyet sona erene ve state geçerliliğini yitirene dek eş zamanlıolarak sürekli çalışır:
![Page 382: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/382.jpg)
Temel Kavramlar 6
Duruma (guard condition) göre çalıştırılan komutlar:
![Page 383: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/383.jpg)
Temel Kavramlar 7
Hiyerarşik State Machine’ler:
![Page 384: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/384.jpg)
İlgili Roller
• Şemayı Hazırlayanlar:– Sistem Analisti– Tasarımcı– Programcı
• Şemayı Kullananlar:– Sistem Analisti– Tasarımcı– Programcı
![Page 385: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/385.jpg)
State Machine ŞemasıEgzersizi
Kredi Kartı borcunu zamanında ödemeyenlere tutarın % 5.5’i oranında ceza verilmektedir. Borcunu son ödeme tarihinden bir ay sonra hala ödemeyenlerin kartlarına el konulmaktadır. Diğer durumlarda kart kullanımı normal şekliyle sürmektedir.
Kredi Kartı aylık ödeme tutarı 1,000 YTL ve üzerinde olanların kart limitleri iki katına çıkarılmaktadır. 1000 YTL ve üzeri ödeme yapanlara toplam harcamalarının % 2’si oranında hediye çeki gönderilmektedir.
![Page 386: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/386.jpg)
İçerik
• UML Modeli Kavramları• UML Tanımını Genişletme Mekanizmaları• Davranış Şemaları• Yapısal Şemalar
![Page 387: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/387.jpg)
UML 2.0 Şemaları
![Page 388: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/388.jpg)
Yapısal Şemalar
– class şeması*– package şeması*– composite structure şeması– object şeması– component şeması– deployment şeması
![Page 389: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/389.jpg)
Class Şeması
• Temel Kavramlar• Şema İçeriği• Şemayla Aktarılan Bilgiler• Tasarım Teknikleri• Forward ve Reverse Engineering
![Page 390: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/390.jpg)
Temel Kavramlar
• Class kendisinden üretilecek nesneler için ortak değişken ve metodları içeren bir şablondur.
• Bu şablondan üretilecek her nesne sadece şablonunda belirtilen değişken tipine uygun veri yapılarını taşıyabilir.
• Her nesne şablonunda tanımlanmış metodlar aracılığıyla kullanılabilir.
![Page 391: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/391.jpg)
Temel Kavramlar
Değişkinler:Bir tip – değer ikilisidir.Class’lar değişken tipini belirler.Nesneler değişken değerini belirler.
Değişkenler bir ilkel veri veya bir class tipinde olabilirler.İlkel veri tipi kullanılan yazılım ortamına bağlı olarak
değişen integer veya string gibi mevcut veri tipleridir.
![Page 392: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/392.jpg)
Temel Kavramlar
Metodlar:Class’ın tüm nesnelerinin canlandırabileceği
davranışlardır.Metodlar önce birer sorumluluk olarak ortaya
çıkıp daha sonra fonksiyonlara dönüşürler.Fonksiyona dönüştüklerinde parametreleri ve
return tipleri tanımlanmış olmalıdır.
![Page 393: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/393.jpg)
Temel Kavramlar
• Değişkinler ‘private’• Metodlar ‘public’
Hepsi küçük harfle başlar ve kelimeler bitişik yazılır.
Course
- number : Integer- name : String- classSize : Integer- active : Boolean
+ openForEnrollment ( )+ closeEnrollment ( )+ isOpenForEnrollment ( )
![Page 394: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/394.jpg)
Temel Kavramlar
• Her eleman bulunduğu yere erişim haklarını ifade eden bir görünürlüğe sahiptir (visibility).– ‘public’ elemanlar Class dışından görülebilir ve
erişilebilirler. Sembolleri: ‘+’– ‘protected’ elemanlar sadece Class’la generalization
ilişkisine sahip Class’larca görülebilir ve erişilebilirler. Sembolleri: ‘#’
– ‘private’ elemanlar ait olduğu Class dışında görülemez ve erişilemezler. Sembolleri: ‘-’
![Page 395: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/395.jpg)
Temel Kavramlar
Encapsulation:Değişkenlerin ‘private’ olma nedenidir.
Course
- number : Integer- name : String- classSize : Integer- active : Boolean
+ openForEnrollment ( )+ closeEnrollment ( )+ isOpenForEnrollment ( )+ register ( )
![Page 396: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/396.jpg)
Temel Kavramlar
Generalization:Farklı ‘abstraction’
seviyeleri arasında ırsiyet ilişkileri kurmak için kullanılır.
Course
- number : Integer- name : String- classSize : Integer- active : Boolean
+ openForEnrollment ( )+ closeEnrollment ( )+ isOpenForEnrollment ( )+ register ( )
+ courses
*
PostGraduateCourse
- Sponsor
+ publishWork ( )+ closeEnrollment ( )+ register ( )
GraduateCourse
- thesisTopic
+ register ( )
![Page 397: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/397.jpg)
Temel Kavramlar
Polymorphism: implementasyonun detaylarını gizleyerek kolay kullanımı sağlar.
Aynı isme sahip fakat farklı çalışan fonksiyonları ifade eder.
Course
- number : Integer- name : String- classSize : Integer- active : Boolean
+ openForEnrollment ( )+ closeEnrollment ( )+ isOpenForEnrollment ( )+ register ( )
+ courses
*
PostGraduateCourse
- Sponsor
+ publishWork ( )+ closeEnrollment ( )+ register ( )
GraduateCourse
- thesisTopic
+ register ( )
![Page 398: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/398.jpg)
Temel Kavramlar
Inheritance: oluşmuş class’ların özelliklerinin kademeli olarak zenginleştirilebilmesine olanak verir.
Class’ları özel durumlara istinaden ayırarak farklı ‘abstraction’ seviyeleri oluşturulmasını sağlar.
Böylece katmanlı bir sistem mimarisine imkan vererek tekrar kullanımı kolaylaştırır.
![Page 399: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/399.jpg)
Temel Kavramlar
Abstract Class:Kendisinden nesne üretilmeyen, hiyerarşik yapının en
üstünde yer alan ve kendinden özelleştirilmiş class’lar vasıtasıyla değişkenlerini sistemin kullanımına sunan class’lardır.
cd Design
Hayvanlar
Eteburlar OtoburlarOmnivorlar
![Page 400: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/400.jpg)
Class Şeması Sembolleri 1Sembol Tanımı Syntax
association Nesneleri etkileşen Class’lar arasında çizilir.
aggregation Parça bütün ilişkisi ifade eden bir association türüdür.
generalization Aralarında tür / ırsiyet ilişkisi olan Class’ları birbirlerine bağlar.
dependency Bağımlılık ilişkisini ifade eder.
![Page 401: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/401.jpg)
Class Şeması Sembolleri 2
Sembol Tanımı Syntax
class Aynı veri yapısı ve davranışı sergileyen nesnelerin kaynaklandığı kalıptır.
interface Bir öğenin davranışlarını temsil eden bir fonksiyon grubudur.
«interface»
![Page 402: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/402.jpg)
İlgili Roller
• Şemayı Hazırlayanlar:– Tasarımcı– Programcı
• Şemayı Kullananlar:– Tasarımcı– Programcı
![Page 403: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/403.jpg)
Class Şeması Örneğicd Design
Hayvanlar
EteburlarOtoburlar Omnivorlar
Tur
Ucanlar Surunenler
FotosentezYapanlar
Bitkiler
![Page 404: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/404.jpg)
Class ŞemasıEgzersiz # 1
![Page 405: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/405.jpg)
Class ŞemasıEgzersiz # 2
• “Dinozorlar Paleozoik, Mesozoik ve Senozoik zaman dilimlerinde görülmüşlerdir. Paleozoik’in sonlarına doğru memelileri andıran ilginç bir örnek Dimetrodon’dur. Dimetrodon’un sırtında yelken gibi büyük bir çıkıntı vardı. Dimetrodon yürürken dört ayağını birden kullanıyordu ve etçildi.
• Uçan dinozorlara (Pterosor) örnek olarak Pteranodon’u verebiliriz. Diğerlerinin aksine Pteranodon’un kuyruğu yoktu ve çok geniş kanatları vardı (8 m.). Yine ilginç bir özelliği diğerlerinin aksine dişlerinin olmamasıydı. Uçan dinozorlar etçillerdi.
• Etçil dinozorların en ünlüsü Tiranosorus’dur. Etçil dinazorların en önemli özelliklerinden birisi genellikle ön ayaklarının çok küçük ve kullanışsız olmasıdır. Bu tür etçil dinozorlar arka ayakları üzerinde yürür ve ön ayaklarını hareket amacıyla kullanmazlar.
• Otçul dinozorların en uzunları Diplodokus ve Brontosorus etçil dinazorların aksine dört dev ayağa sahiptiler ve hepsini kullanarak gayet hızlı yürüyebildikleri düşünülmektedir. ”
![Page 406: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/406.jpg)
Package (Paket) Şeması
• Temel Kavramlar• Şema İçeriği• Şemayla Aktarılan Bilgiler• Tasarım Teknikleri• Forward ve Reverse Engineering
![Page 407: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/407.jpg)
Temel Kavramlar
• Paket, Subsystem ve Model – Model içindeki elemanları belli bir referansa göre
gruplamaya yararlar. – Her grubun elemanları arasında farklı bir semantik
ilişki vardır. Farklı bir nedenden dolayı bir araya gelmişlerdir.
• Subsystem (Modül) ve Model aslında birer pakettir.
![Page 408: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/408.jpg)
Temel Kavramlar
Paket UML modeli elemanlarından oluşan bir gruptur.
![Page 409: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/409.jpg)
Paket Şeması Sembolleri
![Page 410: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/410.jpg)
İlgili Roller
• Şemayı Hazırlayanlar:– Herkes
• Şemayı Kullananlar:– Herkes
![Page 411: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/411.jpg)
Paket Şeması Örnekleri
SiparişMüşteri
Yer CD
Stok Sipariş
Depo
Satış
![Page 412: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/412.jpg)
Şema Eksiksizliği Kontrolleri 1
• UML Şeması hazırlamak serbest resim çalışmasına dönüşmemelidir.
• Şemanın hazırlanma amacı asla mevcudiyeti olmamalıdır.
• Şemayı hazırlayan ya düşünüyordur, ya sistemi geliştiriyordur, ya birisine doküman hazırlıyordur ya da bir sistemin yapısını inceliyordur.
• Şemaların belli hazırlayıcıları ve kullanıcıları vardır.
![Page 413: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/413.jpg)
Şema Eksiksizliği Kontrolleri 2
• Bir UML şeması çizmeye karar verdiğimizde belli bir amacımız ve açıkça ifade edilebilen sorularımız olmalıdır.
• Sorularımız yanıt bulduğunda eğer şirketimiz içinde gereken dokümantasyon seviyesine de uyuyorsak çizim çalışması biter.
• Her şemanın aynı konuda olsalar bile farklı yararlılık dereceleri vardır. Bazı şemalar zamana karşı koyar bazılarıysa giderek gözden düşer.
![Page 414: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/414.jpg)
Analistler için Modelleme
Bölüm 5 / 6
![Page 415: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/415.jpg)
İçerik
![Page 416: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/416.jpg)
İçerik
• Modüllerin Yapısı• Modül Tanımlama Teknikleri• Modül Gerçekleştirme Teknikleri• Modellerin Yapısı• Modellerin İlişkileri
![Page 417: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/417.jpg)
Modül (Subsystem) Özellikleri
• Bir modülün iki özelliği vardır:– Dış görünümü: modülün sağladığı
hizmetleri gösterir. – İç görünümü: modülün verdiği hizmetleri
destekleyen altyapıyı gösterir. • Bu iki görünüm arasında bire bir bir ilişki
vardır.
![Page 418: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/418.jpg)
Modül Özellikleri
Bir modül bir sistemin hem tanımlanma hem de gerçekleştirilme aşaması çalışmalarını içerir.
Gerçekleştirme elemanları
Tanım elemanları
![Page 419: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/419.jpg)
Modülün Gerçekleştirilmesi
• Gerçekleştirme elemanları subsytem’in içeriğini gösterir.
• Modül gerçekleştirilmesi genellikle class’lar ve ilişkilerini içerir.
Gerçekleştirme elemanlarıTanım elemanları
?
![Page 420: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/420.jpg)
Modül tanımı modülün dışarıdan nasıl görüldüğü belirtir
Gerçekleştirme elemanlarıTanım elemanları
?
Modül Tanımlanması
![Page 421: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/421.jpg)
İçerik
• Modüllerin Yapısı• Modül Tanımlama Teknikleri• Modül Gerçekleştirme Teknikleri• Modellerin Yapısı• Modellerin İlişkileri
![Page 422: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/422.jpg)
Modül Tanımlanması
• Modül tanımı– Modülün verdiği hizmetleri tanımlar– Sistemin kullanıcılarına yaşatacağı deneyimi
tanımlar – Modülün iç yapısını gözler önüne dökmez – Modülün interface’lerini tanımlar
![Page 423: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/423.jpg)
Tanımlama Teknikleri
• Use Case yaklaşımı• State Machine yaklaşımı• Mantıksal Class yaklaşımı• Metod Yaklaşımı
… ve bunların kombinasyonları
![Page 424: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/424.jpg)
• Modülü sunduğu hizmetlerle alakalandırabilmek için• Spesifikasyonun teknik olmayan insanlara aktarılabilmesi
için
Gerçekleştirme elemanlarıTanım elemanları
1. Use Case Yaklaşımı
![Page 425: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/425.jpg)
1. Use Case Yaklaşımı
Çağrı Kontrol
Tanım elamanları Realization elements
Change Digit Analysis Information
Initiate Call
Receive Digit and Connect
Hook Signal and Disconnect
Operator
Trunk
Subscription
![Page 426: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/426.jpg)
2. State Machine Yaklaşımı
• Duruma göre davranışı değişen modüller için (Simülasyon vs.)
• Modülün yaşadığı durumlar ve bu durumlar arasındaki geçişlere odaklanır
Tanım elemanları
Stopped Running
Error
Maintenance
Exhausted
Çağrı Kontrol
![Page 427: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/427.jpg)
Tanım elemanları
AnalyzerNumber
Dictionary
Network Manager
Çağrı Kontrol
3. Mantıksal Class Yaklaşımı
• Modülün kullanımı nesnelerin manipülasyonu olarak görülüyorsa
• Gereksinimler belli bir standarda uyum zorunluluğundan kaynaklanıyorsa
![Page 428: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/428.jpg)
4. Metod Yaklaşımı
• Basit (atomic) hizmetler veren modüller için• Metodlar birbirlerinden bağımsız olarak çağrılıyorlarsa
MetodlarinitiateConnection (…)
dialledDigit (…)
throughConnect (…)
bAnswer (…)
bOnHook (…)
aOnHook (…)
Çağrı Kontrol
![Page 429: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/429.jpg)
Tekniklerin KombinasyonlarıÇağrı Kontrol
changeDigitAnalysisInformation (...)
Initiate Call
Receive Digit and Connect
Hook Signal and DisconnectSubscription
Trunk
Specification elements
Tanım elemanları
Metodlar
![Page 430: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/430.jpg)
• Üç tanımlı parçadan oluşur• Bu parçalar isteğe bağlı olarak kullanılmayabilir
Gerçekleştirme elemanları
Tanım elemanları
OperationsMetodlar
Eksiksiz Modül Notasyonu
![Page 431: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/431.jpg)
İçerik
• Modüllerin Yapısı• Modül Tanımlama Teknikleri• Modül Gerçekleştirme Teknikleri• Modellerin Yapısı• Modellerin İlişkileri
![Page 432: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/432.jpg)
Tanım (Specification) – Gerçekleştirme (Realization)
• Tanım ve gerçekleştirme birbirleriyle uyumlu olmalıdır
• Tanım ile gerçekleştirme arasındaki ilişki (mapping) şu şekilde ifade edilebilir:– gerçekleştirme (realization) ilişkisi– birliktelik (collaboration)
![Page 433: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/433.jpg)
Metodlar
operation1( ) : Type1
operation2( ) : Type2
operation3( ) : Type3
operation4( ) : Type4
operation5( ) : Type5
Gerçekleştirme elemanları
«realize»
operation1( )
Gerçekleştirme İlişkisi
Gerçekleştirme (Realization) özellikle tek seviyeli ilişkileri göstermekte faydalı
![Page 434: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/434.jpg)
Gerçekleştirme İlişkisi
Gerçekleştirme elemanları
Tanım elemanları
changeDigitAnalysisInformation ( )
Initiate Call
Receive Digit and Connect
Hook Signal and DisconnectSubscription
Trafik Kontrol
Metodlar
Trunk
changeDigitAnalysisInformation ( )::
«realize»
![Page 435: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/435.jpg)
Collaboration
• Collaboration (Birliktelik): Belli bir hedefe yönelik olarak nesne etkileşimlerinin resmedilmesidir. Bu bir UC senaryosu veya class ilişkileri incelemesi olabilir.
• Interaction (Etkileşim):Bir birliktelik içindeki nesnelerin arasındaki haberleşmelerdir.
![Page 436: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/436.jpg)
Collaboration
• Bir ‘collaboration’ bir iş yerine getirilirken gereken rolleri tanımlar
• Bu roller birbirleriyle etkileşen nesneler aracılığıyla canlandırılır
Sequence Şeması
:Trunk :Traffic Control :Subscription
markBusy
dialledDigit
dialledDigit
throughConnect
bAnswer
markBusy
Collaboration Şeması
:Trunk
:Traffic Control
:Subscription
3: dialledDigit6: bAnswer
5: markBusy1: markBusy
4: throughConnect
2: dialledDigit
![Page 437: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/437.jpg)
Collaboration Sembolleri
![Page 438: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/438.jpg)
Collaboration Notasyonu
Bir birliktelik (collaboration) ve katılımcıları
Collaboration
Rol
Class
Rol adı
Rol adıRol adı
Rol adı
![Page 439: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/439.jpg)
Tanım elemanları Gerçekleştirme elemanları
Receive Digit and Connect
Hook Signal and Disconnect
Initiate Call
CoordinatorAnalysisDatabase
NetworkInterface
Collaboration
Collaboration genellikle daha karmaşık durumlarda faydalıdır
![Page 440: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/440.jpg)
Collaboration ÇeşitleriRol modeli bir özel durumu ifade ederken Class modeli dahagenele yönelik. Dolayısıyla her Class modeline karşılık birdenfazla Rol modeli olacaktır.
![Page 441: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/441.jpg)
Use Case RealizationCollaboration Şeması: “Sipariş Alınması”
![Page 442: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/442.jpg)
Use Case Realization (UCR)
![Page 443: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/443.jpg)
Use Case Realization (UCR)
![Page 444: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/444.jpg)
Use Case Realization (UCR)
![Page 445: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/445.jpg)
Use Case Realization (UCR)
![Page 446: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/446.jpg)
Model Bağımlılıkları
Üniversite Kayıt Sistemi
![Page 447: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/447.jpg)
Modüller Ne Zaman Gerekli?
• Büyük bir sistemin hangi parçalardan oluştuğunu ve bu parçaların bağımlılıklarını göstermek gerektiğinde (Sistem Mimarisi)
• Dağıtık (distributed) yazılım geliştirme yapılıyorsa • Bir grup modülün nasıl büyük bir sisteme
dönüştürülebileceğini gözlemleyebilmek için (Sistem Mimarisi)
• Bileşen bazlı yazılım geliştirme yapabilmek için
![Page 448: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/448.jpg)
Modül Oluşturma Teknikleri• Büyük bir sistemin her kendine haslık gösteren
parçasını bir modülle ifade edin• Tanımlama (specification) tekniğini sistem ve
modülün özelliklerine göre belirleyin• Her modülü ayrı ayrı ve tanımlama elemanlarını
(gereksinim) kullanarak gerçekleştirin (realize)
![Page 449: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/449.jpg)
İçerik
• Modüllerin Yapısı• Modül Tanımlama Teknikleri• Modül Gerçekleştirme Teknikleri• Modellerin Yapısı• Modellerin İlişkileri
![Page 450: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/450.jpg)
Model
Bir model sisteme belli nedenden dolayı farklı bir bakış şeklidir. Oluşturulma amacına uygun şekilde dokümantasyona ve detay seviyesine sahiptir.
![Page 451: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/451.jpg)
Model
Tasarım Modeli
Use Case Modeli
![Page 452: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/452.jpg)
Model Sembolleri
Model
Trace
Sembol Tanım Syntax
Modeller arasındaki bağımlılık aynı konuların farklı bakış açıları altındaki ürünlerini temsil eder.İşaret tek veya çift yönlü olabilir.
«trace»
Sistemi belli muhataplara onlara özel detay seviyesiyle sistemin ilgili yönlerinin gösterilmesidir.
İsim
![Page 453: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/453.jpg)
Trace
Analiz
Tasarım
«trace»
![Page 454: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/454.jpg)
Model / Şema
Use Case Modeli
Şemalar modeli dokümante eder
Tasarım Modeli
![Page 455: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/455.jpg)
Model Ne Zaman Gerekli?
• Farklı paydaşlara sisteme kendi ihtiyaçlarına göre bakabilmelerini sağlamak için
• Sistemi gerektiğinde sadece tek bir yönden inceleyebilmek
• Yazılım geliştirme sürecinde farklı aşamalarda üretilenleri dokümante edebilmek
![Page 456: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/456.jpg)
Model Oluşturma Teknikleri
• Her modelin amacını tanımlayınız • Her model amacına uygun şekilde sistemin
eksiksiz bir resmini çizmelidir • Modelin amacına odaklanarak ilgisiz
bilgileri modele eklemeyiniz
![Page 457: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/457.jpg)
İçerik
• Modüllerin Yapısı• Modül Tanımlama Teknikleri• Modül Gerçekleştirme Teknikleri• Modellerin Yapısı• Modellerin İlişkileri
![Page 458: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/458.jpg)
Modeller ve ModüllerModeller ve Modüller arasında hiyerarşik ilişkiler kurulabilir:
Bankacılık Sistemi
Tasarım Modeli
Analiz Modeli
UC Realization
MuhasebeModülü
MuhasebeModülü
![Page 459: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/459.jpg)
[1] Modellerİş Modeli (Seçeneğe Bağlı)
![Page 460: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/460.jpg)
[2] ModellerGereksinim Modeli
![Page 461: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/461.jpg)
[3] ModellerAnaliz ve Tasarım Modelleri
![Page 462: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/462.jpg)
[4] ModellerEk Modeller
![Page 463: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/463.jpg)
Rational SoftwareReferans UML Modeli
PearlCircle İnternette Açık Artırma
![Page 464: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/464.jpg)
Model ElemanlarıGereksinim, Analiz, Tasarım ve Kullanıcı Arayüzü Tasarımıçalışmalarının ilişkileri.
Tasarım
Gereksinim
Analiz
KullanıcıArayüzüTasarımı
Specification
Realization
Realization
![Page 465: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/465.jpg)
Analiz Mdl.
UC Mdl.
![Page 466: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/466.jpg)
Tasarım
Tasarım
![Page 467: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/467.jpg)
User Experience
Mdl.
![Page 468: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/468.jpg)
Gereksinim → Analiz
Etkileşim Şeması # <= Akış #
![Page 469: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/469.jpg)
Analiz ÇalışmalarıParticipants: Kullanılan class’larınUC bazında gruplanmasıdır.
Analysis Elements: class’ların mantıkiilişkilerine göre yeniden gruplandırılmalarıdır.Bu geleneksel modüler yapıya karşılık gelir.
![Page 470: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/470.jpg)
Analiz → Tasarım
![Page 471: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/471.jpg)
Gereksinim → Kullanıcı Arayüzü
![Page 472: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/472.jpg)
Bid on Item – Analiz - VOPC
![Page 473: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/473.jpg)
Bid on Item – Analiz – Temel Akış
![Page 474: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/474.jpg)
Bid on Item – Tasarım - VOPC
![Page 475: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/475.jpg)
Bid on Item – TasarımTemel Akış
![Page 476: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/476.jpg)
Bid on Item – UX - VOPC
![Page 477: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/477.jpg)
![Page 478: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/478.jpg)
Analistler için Modelleme
Bölüm 6 / 6
![Page 479: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/479.jpg)
Neredeyiz?
![Page 480: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/480.jpg)
İçerik
![Page 481: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/481.jpg)
İçerik
• Analiz ve Tasarım Modelleri Yapısı• Analiz Class’ları• Class Bulma Teknikleri
![Page 482: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/482.jpg)
İlgili Roller
![Page 483: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/483.jpg)
Analiz Modeli Girdileri
![Page 484: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/484.jpg)
Analiz Modeli Oluşturma Aşamaları
1 < N < 5}
![Page 485: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/485.jpg)
Analiz ve Tasarım Model Yapısı
• Analiz (veya Tasarım) Paketleri • Gerek duyulduğunda class başına ve/veya modül
genelinde State Machine şemaları• Kullanım Senaryosu Gerçekleştirilmeleri (Use Case
Realizations)• Temel Soyutlamalar (Sadece Analiz Modelinde)• Katmanlar ve Modüller (Özellikle Tasarım Modelinde)
![Page 486: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/486.jpg)
Use Case Realizations İçeriği
Analiz veya Tasarıma aitliğine bakılmaksızın Use Case başına,
• Bir Class Şeması: VOPC (View of Participating Classes)2. Bir Class Şeması: Traceabilities3. N sayıda Etkileşim Şeması
1 < N < Akış Sayısı
1 = Temel Akış her zaman alınır.
Analiz/Tasarım ModeliÇalışmaları
![Page 487: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/487.jpg)
Modeller ve Modüller“Analysis Elements”
![Page 488: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/488.jpg)
Modeller ve Modüller“Design Elements”
![Page 489: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/489.jpg)
Modeller ve Modüller“UCR – Analysis Mapping”
![Page 490: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/490.jpg)
Modeller ve Modüller“UCR – Design Mapping”
![Page 491: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/491.jpg)
Senaryo – Class İlişkisi
Aynı class birden fazla UCR’da,kullanılabilir. Böylece class’ların sorumlulukları bir takım çalışmasıyla senaryo ihtiyaçlarına bağlı olarak zamanla eksiksizleşir.
‘1’
‘2’
‘3’
![Page 492: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/492.jpg)
Diğer Tasarım Seviyesi Modelleri
Tasarımcı:• Deployment Modeli• İmplementasyon Modeli (*)Veritabanı Analisti:• Veritabanı Modeli (Data Model)Kullanıcı Arayüzü Tasarımcısı:• Kullanıcı Etkilişimi Modeli (Human
Interaction / User Experience Model)
![Page 493: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/493.jpg)
Diğer Tasarım Seviyesi Modelleri“Deployment Modeli”
![Page 494: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/494.jpg)
Deployment ŞemasıÖrneği
![Page 495: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/495.jpg)
Diğer Tasarım Seviyesi Modelleri“Veritabanı Modeli”
![Page 496: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/496.jpg)
Diğer Tasarım Seviyesi Modeli“Kullanıcı Etkileşimi Modeli”
![Page 497: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/497.jpg)
Diğer Tasarım Seviyesi Modelleri“Kullanıcı Etkileşimi Modeli”
![Page 498: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/498.jpg)
İçerik
• Analiz ve Tasarım Modelleri Yapısı• Analiz Class’ları• Class Bulma Teknikleri
![Page 499: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/499.jpg)
Analiz Class’ları Nelerdir?
• Analiz class’ları bulunurken üç farklı referans kullanılır:
• Sistem ve aktörleri birbirlerinden ayıran sınırlar• Sistemin kullandığı bilgi türleri• Sistemin akış mantığı
![Page 500: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/500.jpg)
Analiz Class’ları Nelerdir?
<<boundary>>
<<entity>>
<<control>>
=
=
=
Stereotype aynı sembolle ifade edilen nesneleri ayrıştırmaya yarar.
![Page 501: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/501.jpg)
Analiz Class’ı Çeşitleri
<<boundary>>
<<boundary>>
<<entity>>
<<control>>
<<entity>>
<<boundary>>
Aktör1
Aktör2
Sistemin dış dünyayla etkileşimini sağlar
Sistemdeki verileri depolar ve yönetir
Use Case davranışını koordine eder
![Page 502: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/502.jpg)
Boundary Class
• Sistemin sağladığı işlevler ile kullanıcıları arasındaki etkileşimleri sağlar– User interface class’ları
• Kullanıcıya sağlanan bilgilere odaklanır• UI detay özellikleri bu aşamada göz önüne alınmaz• Örnek: ViolationsDialog
– System / Device interface class’ları• Hangi protokollerin tanımlanması gerektiğine odaklanır.
Protokollerin implementasyon detayları bu aşamada göz önüne alınmaz
• Örnek: OffendersDBProxy
![Page 503: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/503.jpg)
Entity Class
• Sistemin temel kavramlarının bir modelidir• Genellikle saklanacak bilgileri ifade eder• Sistem seviyesindeki mantığı içerir• Ortamdan bağımsızdır• Birden fazla use case’de kullanılabilir
![Page 504: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/504.jpg)
Control Class
• Use case’in davranışını kontrol ve koordine eder• Use case’in yerine getirmesi gerekenleri iş bazında
class’lara atar– Bir control class’ı diğer class’lara bir şey yapmaları isteğini
iletmeli ve kesinlikle atama haricinde bir iş yapmamalıdır
• Boundary ve entity class’larını bir araya getirir• Genellikle her use case için bir control class’ı vardır
![Page 505: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/505.jpg)
Çok Katmanlı Mimari
Tasarımdaki karşılıkları aşağıdaki gibi olabilir (Java/J2EE):
• Arayüz Katmanı: JSP• İş Mantığı Katmanı: Session Beans + Servlets• Veri Katmanı: Entity Beans • + Veri Erişim Katmanı, vs. vs.
![Page 506: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/506.jpg)
İçerik
• Analiz ve Tasarım Modelleri Yapısı• Analiz Class’ları• Class Bulma Teknikleri
![Page 507: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/507.jpg)
Analiz Class’larını Bulma Yolları
1. Her use case için:a. Dokümanına başvurunuz. b. Entity class’larını bulunuzc. Boundary ve Control class’larını bulunuzd. Her class için:
i. Değişkenlerini bulunuzii. İlişkilerini (Mesajları da içerir) bulunuz
2. Modelin bir sağlamasını yapınız
![Page 508: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/508.jpg)
Analiz Class’larını Bulma Yolları
//
![Page 509: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/509.jpg)
Class’ları Bulacağımız Yerler 1
Birincil kaynağın UC Dokümanı olduğunu aklımızda tutarak,Eğer Use Case Dokümanı sorunluysa:• UC tanımı her zaman analiz class’larını bulmak için kafi
olmayabilir– Önce Entity class’ları bulunmalıdır
• Müşteriye yönelik yazılan uc tanımına gerekli sistem reaksiyonlarını ifade edecek detaylar (sistem içi davranışlar) eklenebilir
• Sistemin dışarıdan gözlenen davranışlarına sebep olan iç özelliklerine odaklanmak gerekebilir
![Page 510: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/510.jpg)
Class’ları Bulacağımız Yerler 2
• Class’lar aşağıdaki dokümanlarda gizlenebilirler:– Gereksinim Dokümanları– Use case modeli– Müşteri istekleri– Problem domain– Proje dokümanları
![Page 511: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/511.jpg)
Class’ları Bulacağımız Yerler 3
• Boundary class’ları– Her aktör / uc ikilisi için en az bir tane olmalıdır
• Control class’ları– Genellikle her uc için bir tane vardır– Benzer control class’ları varsa ait oldukları
uc’ler birleştirilebilirler• Örnek: “manage traffic report”, “edit/add/remove
traffic report” use case’lerini barındırabilir.
![Page 512: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/512.jpg)
İsim Ayıklama Yöntemi“Noun Filtering”
Use Case Tanımı
Senaryolar
İsim Ayıklama
Use Case için ilk VOPC Şeması sürümü
Diğer Dokümanlar
![Page 513: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/513.jpg)
İsim Ayıklama Yöntemi“Noun Filtering”
• Entity Class’ları– Problem tanımı, gereksinim ve diğer mevcut
dokümanlardaki isimleri inceleyerek bulunur– Bulunan isimler:
• Nesneler• Nesnelerin değişkenleri• Aktörler• Hiçbiri olabilir
![Page 514: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/514.jpg)
İsim Ayıklama Yöntemi“Noun Filtering”
Problem metninin dikkatle okunarak, herhangi bir hatalı düşünce şeklinden kötü olarak etkilenmemek için bulunan tüm isimlerin listelenmesidir.
Daha sonra bulunan isimlerden entity class’ı olamayacaklar elenir.
![Page 515: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/515.jpg)
İsim Eleme Nedenleri 1
• Birbirine eş class’lar– Yalnızca isimlendirme farklı
• İlgisiz class’lar– Oluşturulacak sistem için anlamsız
• Değişkenler / Metodlar– İlkel veri tipleri– Veri işleme şekilleri
![Page 516: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/516.jpg)
İsim Eleme Nedenleri 2
• Roller– Class’dan ziyade bir class’dan türetilebilecek nesne adayları
• Örnek: “Asistan” ve “Öğrenci” “Kişi” class’ın farklı rolleridir.
• Soyut kavramlar– Fiziki olarak mevcut olmayan değerlerdir– Nadiren analiz class’ına dönüşürler. Daha çok değişken
adaylarıdır: “İstek”, “Satış”– Tasarım aşamasında class’lara dönüşebilirler.
![Page 517: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/517.jpg)
Değişkenleri Bulma Yolları
• Saptanan class’ların özelliklerini ifade ederler– Bu class’larca taşınacak veri yapılarıdır
• Class’a dönüşmeyen isimler– Akış içinde değeri önemli olan veri yapılarıdır– Bir nesne tarafından benzersiz bir biçimde
sahiplenilecek değerlerdir
![Page 518: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/518.jpg)
İlişkileri Bulma Yolları
• İlişki (Association) genellikle bir fiile karşılık gelir– Mekan: yanında, içinde, üstünde … – Eylem: oluşturmak, yönetmek … – Haberleşme: konuşur, dinler, onaylar, uyarır … – Sahiplik: aidiyet, parça, bütün ...– Diğer: çalışır, evlidir, okur ...
• Problem ve Çözümle ilgisiz ilişkileri göz ardı ediniz • Nesne Etkileşim Şemaları ilişkileri bulmanın en
etkili yoludur
![Page 519: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/519.jpg)
Örnek: Trafik Denetim Sistemi
• Entity Class adayları:
Trafik Raporu
Süpervizör
Rapor Okuması
Konfirmasyon
Suçlu Detayları Formu
T. Raporuna Eklenen
Sistem
Suçlu
Police memuru
Araç no
Plaka no
Hata
Trafik polisi
Polis şefi
Suç
ID
Password
Polis merkezi
Kapanma
Tarih
Hız
Trafik hatası
Memur
![Page 520: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/520.jpg)
Eşdeğer Class’ları Eleme
Memur ve Bilirkişi Kişi ile temsil edilecek
Trafik Raporu
Süpervizör
Rapor Okuması
Konfirmasyon
Suçlu Detayları Formu
T. Raporuna Eklenen
Sistem
Suçlu
Police memuru
Araç no
Plaka no
Hata
Trafik polisi
Polis şefi
Suç
ID
Password
Polis merkezi
Kapanma
Tarih
Hız
Trafik hatası
Memur
![Page 521: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/521.jpg)
İlgisiz Class’ları Eleme
Trafik Raporu
Kişi
Rapor Okuması
Konfirmasyon
Suçlu Detayları Formu
T. Raporuna Eklenen
Suçlu
Police memuru
Araç no
Plaka no
Trafik polisi
Polis şefi
Suç
ID
Password
Polis merkezi
Kapanma
Tarih
Hız
![Page 522: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/522.jpg)
Değişken ve Metod Eleme
Trafik Raporu
Kişi
Rapor Okuması
Konfirmasyon
Suçlu Detayları Formu
T. Raporuna Eklenen
Suçlu
Police memuru
Araç no
Plaka no
Trafik polisi
Polis şefi
Suç
ID
Password
Kapanma
Tarih
Hız
![Page 523: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/523.jpg)
Soyut Kavramları Eleme
Trafik Raporu
Kişi
Konfirmasyon
Suçlu Detayları Formu
Suçlu
Police memuru
Trafik polisi
Suç
![Page 524: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/524.jpg)
Örnek: Trafik Denetim Sistemi
Ayıklama Öncesi:
Trafik Raporu
Süpervizör
Rapor Okuması
Konfirmasyon
Suçlu Detayları Formu
T. Raporuna Eklenen
Sistem
Suçlu
Police memuru
Araç no
Plaka no
Hata
Trafik polisi
Polis şefi
Suç
ID
Password
Polis merkezi
Kapanma
Tarih
Hız
Trafik hatası
Memur
![Page 525: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/525.jpg)
Örnek: Trafik Denetim Sistemi
Trafik Raporu
Kişi
Suçlu Detayları Formu
Suçlu
Police memuru
Trafik polisi
Suç
Ayıklama Sonrası:
![Page 526: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/526.jpg)
• Trafik raporu• Kişi• Suçlu Detayları Formu• Suçlu• Polis memuru• Trafik polisi• Suç• …
Entity class’ları
Bazen bu listede boundary class’ları da kendilerini bariz olarak gösterirler. Ancak bu class’ları bulmanın en iyi yolu UC akışını incelemektir.
![Page 527: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/527.jpg)
Boundary class’ları
• RaporDetaylariFormu• PolisDetaylariFormu• RaporIzlemeFormu• KonfirmasyonEkrani• SucluDBProxy• PolisDBProxy• ...
Veri Tabanına erişim katmanındaki interface’ler.
![Page 528: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/528.jpg)
Control Class’ları
• RaporKontrol• LoginKontrol
![Page 529: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/529.jpg)
Use Case’ler
• Rapor Et– Rapor Ekle– Rapor Sil– Rapor İzle– Rapor Güncelle
• Sisteme Bağlan
![Page 530: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/530.jpg)
Analiz Class’ları 1
![Page 531: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/531.jpg)
Analiz Class’ları 2
Violation
EditReportController<<control>>
Traf f icReport
Of f ender Traf f icPoliceman
Clerk
ReportDetailsForm<<boundary >>
Conf irmationDialog<<boundary >>
PolicemanDBProxy<<boundary >>
Of f endersDBProxy<<boundary >>
Of f endersDB
PolicemenDB
1
1 1
1
1
![Page 532: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/532.jpg)
İlham Kaynakları
Christopher Alexander
Martin Fowler Peter Coad
Kelli HoustonSizin Adınız
?
Don Box
![Page 533: Analist Eğitimi - Tüm Bölümler - [535 Slides]](https://reader038.fdocuments.net/reader038/viewer/2022102804/5451a4d9af7959b5648b6118/html5/thumbnails/533.jpg)
Pratik Egzersiz