SlideShare a Scribd company logo
1 of 15
YAZILIM
MİMARİLERİ
Nesne tabanlı programlama
 (Object

Oriented Programming)
 OOP tekniği gerçek dünyadaki somut
nesnelerin, bir yazılımın sunduğu soyut
modelde birer karşılığı olmasına dayanır.
 Bu karşılıklara da nesne (object) adı verilir.
Problemin çözüm aşamaları
 Problemin

saptanması ve ifade edilmesi
 Problemin doğasının anlaşılması için
çevresinden soyutlanması
 Problemi simgeleyen soyut bir kavramsal
modelin oluşturulması
 Bu modelin çözümlenmesi ve bu modelin
sunduğu probleme bir çözüm getirilmesi
 Getirilen çözümün orijinal problemi çözüp
çözmediğinin denetlenmesi
Yazılım Mimarileri - Hafta 3
 Yazılım

geliştirmede kullanacağımız çeşitli
modellerin ifade edilmesi için, yazılım
sektöründeki herkesin kullanacağı
modelleme dillerine (modelling language)
ihtiyaç duymaktayız.
UML
 UML

(Unified Modelling Language, Birleşik
Modelleme Dili) yazılım modellenmesi ve
planlanması için kullanılan standart bir
dildir.
Yazılımda Modelleme
Modellemenin Avantajları
 Modeller

önemli olmayan ayrıntılardan
arındırıldıklarından dolayı, daha basit ve
anlaşılabilir yapıda olurlar. Bu
sayede, bizim için modelleri tartışmak ve
modelleri temel alarak çalışmak daha
kolay olur.
 Modeller

soyut oldukları için çözümlerin
küçük boydaki bir modele göre hazırlanıp
bir pilot uygulamasının yapılması daha
kolaydır. Bu avantaj çözümlerin
denenmesini daha hızlı ve özellikle daha
ucuz yapabilmemizi sağlar. Zaman zaman
gerçek dünyada modelini çıkarttığımız
sisteme müdahale etme şansımız
olmayabilir. Örneğin ekonomik yönleri
olan sistemlerde deney yapma şansımız
pek olmaz, olduğu zaman da oldukça
pahalı deneylerle karşılaşırız.
İyi bir sınıf tasarımı iyi bir modeldir ve iyi
modellerde bulunması gereken şu özelliklere
mümkün oldukça sahip olmalıdır;
 Gerçek

dünyayı doğru ifade etmelidir.
 İşlevi tasarımdan ayırmalıdır.
 Bütün önemli özellikleri doğrudan
sunmalıdır.
 Önceden yazı ile ifade edilmiş bulunan
tüm verileri sunmalıdır.
Class Diyagramları
UML’de sınıflar OOP
mantığından yola çıkılarak
düşünülmüştür
 Sınıfların bir adı,özellikleri
(attributes) ve
işlevleri(functions) vardır.
 Bunlara ek olarak “notes” (sınıf
hakkında ekstra bilgiler) ve
“Constraints” adlı sınıfla ilgili
çeşitli özel koşullara ait
bilgilerde bulunabilir.

UML’nin efektif yararları
 Tasarım

ve analizi yapılmış olduğu için daha
kolay kodlama yapılır.
 Hatalar minimuma indirilir
 Tekrar kullanılabilir kod sayısı epey artabilir
 Bellek kullanımı daha verimli olur
 Programın kararlılığı artar(Senaryoların
yardımıyla)
 Takım çalışması için harika bir yardımcıdır
UML Modellemede Diyagramlar
Bir modelleme metodolojisi olan UML temel olarak 9
diyagram tipine sahiptir.
 Class Diyagramları
(Sınıf yapılarını gösterir)
 Object Diyagramları
(Gerçekleşmiş Nesnelerin bilgileri)
 State Diyagramları
(Nesnelerin o anki durumları)
 Sequence Diyagramları (Değişken durumların ifadesi)
 Activity Diyagramları
(Nesnelerin faaliyetleri)
 Use Case Diyagramları (Gerçek senaryolar üzerinde test)
 Collaboration
””
(Parçaların bütünü oluşturması)
 Component
””
(Bileşenlerin diyagramı)
 Deployment
””
(Sistemin çalışma platformundaki
hallerini gösteren diyagramlar)
Class’lar arasındaki ilişkiler
İnsan sınıfından Ali nesnesi ve Kitap
sınıfından ‘Uml Kitabı’ nesnesi ve
aralarındaki ‘okuma’ ilişkisi
Burada Müşteri ile Kitapçı sınıfı
arasında "satın alma“ ilişkisi var.Fakat
müşteri satın alırken ücret ödemek
zorundadır.Bu ilişkiyi göstermek için
ücret sınıfı ilişki ile kesikli çizgi ile
birleştirilir.
Burada 1 yüzbaşı 100 Er'e
komut(emir) verebilir anlamı
çıkmaktadır
Kaynaklar


UML ile Nesne
Tabanlı Çözümleme
ve Tasarım, Bora
GÜNGÖREN

Ayancık Meslek
Yüksekokulu
Öğr. H. Kübra KÖSE

More Related Content

What's hot

006 Uml Modelleri Gereksinimler [120 Slides]
006 Uml Modelleri Gereksinimler [120 Slides]006 Uml Modelleri Gereksinimler [120 Slides]
006 Uml Modelleri Gereksinimler [120 Slides]Erol Bozkurt
 
005 Alternatif Yazilim Surecleri [99 Slides]
005 Alternatif Yazilim Surecleri [99 Slides]005 Alternatif Yazilim Surecleri [99 Slides]
005 Alternatif Yazilim Surecleri [99 Slides]Erol Bozkurt
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]Erol Bozkurt
 
Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Ahmet Yanik
 
CBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders NotlarıCBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders NotlarıTuğrul Can Şöllü
 
2012 04 mvc_mvp_ve_mediator_ile_tdd_tecrubeleri
2012 04 mvc_mvp_ve_mediator_ile_tdd_tecrubeleri2012 04 mvc_mvp_ve_mediator_ile_tdd_tecrubeleri
2012 04 mvc_mvp_ve_mediator_ile_tdd_tecrubeleriKenan Sevindik
 
C sharp-cevaplari
C sharp-cevaplariC sharp-cevaplari
C sharp-cevaplarisersld30
 
Ahmet Kaymaz Ceturk Etkinlik 7 Subat Yazilim Surecleri
Ahmet Kaymaz Ceturk Etkinlik 7 Subat Yazilim SurecleriAhmet Kaymaz Ceturk Etkinlik 7 Subat Yazilim Surecleri
Ahmet Kaymaz Ceturk Etkinlik 7 Subat Yazilim SurecleriAhmet Kaymaz
 

What's hot (12)

006 Uml Modelleri Gereksinimler [120 Slides]
006 Uml Modelleri Gereksinimler [120 Slides]006 Uml Modelleri Gereksinimler [120 Slides]
006 Uml Modelleri Gereksinimler [120 Slides]
 
Class Diagram
Class DiagramClass Diagram
Class Diagram
 
YÖNETİM BİLGİ SİSTEMİ
YÖNETİM BİLGİ SİSTEMİYÖNETİM BİLGİ SİSTEMİ
YÖNETİM BİLGİ SİSTEMİ
 
005 Alternatif Yazilim Surecleri [99 Slides]
005 Alternatif Yazilim Surecleri [99 Slides]005 Alternatif Yazilim Surecleri [99 Slides]
005 Alternatif Yazilim Surecleri [99 Slides]
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]
 
Gereksinim Analizi Dokümanı Hazırlama
Gereksinim Analizi Dokümanı HazırlamaGereksinim Analizi Dokümanı Hazırlama
Gereksinim Analizi Dokümanı Hazırlama
 
Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)
 
CBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders NotlarıCBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
 
C# OOP
C# OOPC# OOP
C# OOP
 
2012 04 mvc_mvp_ve_mediator_ile_tdd_tecrubeleri
2012 04 mvc_mvp_ve_mediator_ile_tdd_tecrubeleri2012 04 mvc_mvp_ve_mediator_ile_tdd_tecrubeleri
2012 04 mvc_mvp_ve_mediator_ile_tdd_tecrubeleri
 
C sharp-cevaplari
C sharp-cevaplariC sharp-cevaplari
C sharp-cevaplari
 
Ahmet Kaymaz Ceturk Etkinlik 7 Subat Yazilim Surecleri
Ahmet Kaymaz Ceturk Etkinlik 7 Subat Yazilim SurecleriAhmet Kaymaz Ceturk Etkinlik 7 Subat Yazilim Surecleri
Ahmet Kaymaz Ceturk Etkinlik 7 Subat Yazilim Surecleri
 

Similar to Yazılım Mimarileri - Hafta 3

1. nesneye dayalı programlama giriş
1. nesneye dayalı programlama   giriş1. nesneye dayalı programlama   giriş
1. nesneye dayalı programlama girişkarmuhtam
 
Algoritmalarve programlamai ders_1
Algoritmalarve programlamai ders_1Algoritmalarve programlamai ders_1
Algoritmalarve programlamai ders_1atasss
 
Yazilim muhendisligi-semineri
Yazilim muhendisligi-semineriYazilim muhendisligi-semineri
Yazilim muhendisligi-seminerisersld90
 
Yazilim muhendisligi-seminerleri
Yazilim muhendisligi-seminerleriYazilim muhendisligi-seminerleri
Yazilim muhendisligi-seminerlerisersld90
 
Yazilim muhendisligi-dokumani
Yazilim muhendisligi-dokumaniYazilim muhendisligi-dokumani
Yazilim muhendisligi-dokumanisersld90
 
Singleton ve bridge tasarım şablonları
Singleton ve bridge tasarım şablonlarıSingleton ve bridge tasarım şablonları
Singleton ve bridge tasarım şablonlarıMehmet Salih Ot
 
Yazilim muhendisligi-egitmeni
Yazilim muhendisligi-egitmeniYazilim muhendisligi-egitmeni
Yazilim muhendisligi-egitmenisersld90
 
Yazilim muhendisligi-zirvesi
Yazilim muhendisligi-zirvesiYazilim muhendisligi-zirvesi
Yazilim muhendisligi-zirvesisersld90
 
Yazilim muhendisligi-konferansi
Yazilim muhendisligi-konferansiYazilim muhendisligi-konferansi
Yazilim muhendisligi-konferansisersld90
 
'Aspect Oriented' Programlama
'Aspect Oriented' Programlama'Aspect Oriented' Programlama
'Aspect Oriented' ProgramlamaArda Cetinkaya
 
Nesne tabanlı programlamada sınıflar
Nesne tabanlı programlamada sınıflarNesne tabanlı programlamada sınıflar
Nesne tabanlı programlamada sınıflarErol Dizdar
 
Yazilim muhendisligi-hocasi
Yazilim muhendisligi-hocasiYazilim muhendisligi-hocasi
Yazilim muhendisligi-hocasisersld90
 
Nesne tabanlı programlama 1
Nesne tabanlı programlama 1Nesne tabanlı programlama 1
Nesne tabanlı programlama 1Erol Dizdar
 
Yazilim muhendisligi-okullari
Yazilim muhendisligi-okullariYazilim muhendisligi-okullari
Yazilim muhendisligi-okullarisersld90
 
Yazilim Gelistirme Yöntemleri
Yazilim Gelistirme YöntemleriYazilim Gelistirme Yöntemleri
Yazilim Gelistirme Yöntemlerim_korkmaz
 
Min mba veri analizi qliekview mart 2015 itu
Min mba veri analizi qliekview mart 2015 ituMin mba veri analizi qliekview mart 2015 itu
Min mba veri analizi qliekview mart 2015 ituSerkan Turkeli
 

Similar to Yazılım Mimarileri - Hafta 3 (20)

Temel ABAP eğitim kılavuzu
Temel ABAP eğitim kılavuzuTemel ABAP eğitim kılavuzu
Temel ABAP eğitim kılavuzu
 
1. nesneye dayalı programlama giriş
1. nesneye dayalı programlama   giriş1. nesneye dayalı programlama   giriş
1. nesneye dayalı programlama giriş
 
Algoritmalarve programlamai ders_1
Algoritmalarve programlamai ders_1Algoritmalarve programlamai ders_1
Algoritmalarve programlamai ders_1
 
Yazilim muhendisligi-semineri
Yazilim muhendisligi-semineriYazilim muhendisligi-semineri
Yazilim muhendisligi-semineri
 
Yazilim muhendisligi-seminerleri
Yazilim muhendisligi-seminerleriYazilim muhendisligi-seminerleri
Yazilim muhendisligi-seminerleri
 
Yazilim muhendisligi-dokumani
Yazilim muhendisligi-dokumaniYazilim muhendisligi-dokumani
Yazilim muhendisligi-dokumani
 
Singleton ve bridge tasarım şablonları
Singleton ve bridge tasarım şablonlarıSingleton ve bridge tasarım şablonları
Singleton ve bridge tasarım şablonları
 
Yazilim muhendisligi-egitmeni
Yazilim muhendisligi-egitmeniYazilim muhendisligi-egitmeni
Yazilim muhendisligi-egitmeni
 
Yazilim muhendisligi-zirvesi
Yazilim muhendisligi-zirvesiYazilim muhendisligi-zirvesi
Yazilim muhendisligi-zirvesi
 
Yazilim muhendisligi-konferansi
Yazilim muhendisligi-konferansiYazilim muhendisligi-konferansi
Yazilim muhendisligi-konferansi
 
'Aspect Oriented' Programlama
'Aspect Oriented' Programlama'Aspect Oriented' Programlama
'Aspect Oriented' Programlama
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Nesne tabanlı programlamada sınıflar
Nesne tabanlı programlamada sınıflarNesne tabanlı programlamada sınıflar
Nesne tabanlı programlamada sınıflar
 
Yazilim muhendisligi-hocasi
Yazilim muhendisligi-hocasiYazilim muhendisligi-hocasi
Yazilim muhendisligi-hocasi
 
Design Patterns in PHP
Design Patterns in PHPDesign Patterns in PHP
Design Patterns in PHP
 
Nesne tabanlı programlama 1
Nesne tabanlı programlama 1Nesne tabanlı programlama 1
Nesne tabanlı programlama 1
 
Yazilim muhendisligi-okullari
Yazilim muhendisligi-okullariYazilim muhendisligi-okullari
Yazilim muhendisligi-okullari
 
Yazilim Gelistirme Yöntemleri
Yazilim Gelistirme YöntemleriYazilim Gelistirme Yöntemleri
Yazilim Gelistirme Yöntemleri
 
Visual Studio Developer Tools
Visual Studio Developer ToolsVisual Studio Developer Tools
Visual Studio Developer Tools
 
Min mba veri analizi qliekview mart 2015 itu
Min mba veri analizi qliekview mart 2015 ituMin mba veri analizi qliekview mart 2015 itu
Min mba veri analizi qliekview mart 2015 itu
 

Yazılım Mimarileri - Hafta 3

  • 2. Nesne tabanlı programlama  (Object Oriented Programming)  OOP tekniği gerçek dünyadaki somut nesnelerin, bir yazılımın sunduğu soyut modelde birer karşılığı olmasına dayanır.  Bu karşılıklara da nesne (object) adı verilir.
  • 3. Problemin çözüm aşamaları  Problemin saptanması ve ifade edilmesi  Problemin doğasının anlaşılması için çevresinden soyutlanması  Problemi simgeleyen soyut bir kavramsal modelin oluşturulması  Bu modelin çözümlenmesi ve bu modelin sunduğu probleme bir çözüm getirilmesi  Getirilen çözümün orijinal problemi çözüp çözmediğinin denetlenmesi
  • 5.  Yazılım geliştirmede kullanacağımız çeşitli modellerin ifade edilmesi için, yazılım sektöründeki herkesin kullanacağı modelleme dillerine (modelling language) ihtiyaç duymaktayız.
  • 6. UML  UML (Unified Modelling Language, Birleşik Modelleme Dili) yazılım modellenmesi ve planlanması için kullanılan standart bir dildir.
  • 8. Modellemenin Avantajları  Modeller önemli olmayan ayrıntılardan arındırıldıklarından dolayı, daha basit ve anlaşılabilir yapıda olurlar. Bu sayede, bizim için modelleri tartışmak ve modelleri temel alarak çalışmak daha kolay olur.
  • 9.  Modeller soyut oldukları için çözümlerin küçük boydaki bir modele göre hazırlanıp bir pilot uygulamasının yapılması daha kolaydır. Bu avantaj çözümlerin denenmesini daha hızlı ve özellikle daha ucuz yapabilmemizi sağlar. Zaman zaman gerçek dünyada modelini çıkarttığımız sisteme müdahale etme şansımız olmayabilir. Örneğin ekonomik yönleri olan sistemlerde deney yapma şansımız pek olmaz, olduğu zaman da oldukça pahalı deneylerle karşılaşırız.
  • 10. İyi bir sınıf tasarımı iyi bir modeldir ve iyi modellerde bulunması gereken şu özelliklere mümkün oldukça sahip olmalıdır;  Gerçek dünyayı doğru ifade etmelidir.  İşlevi tasarımdan ayırmalıdır.  Bütün önemli özellikleri doğrudan sunmalıdır.  Önceden yazı ile ifade edilmiş bulunan tüm verileri sunmalıdır.
  • 11. Class Diyagramları UML’de sınıflar OOP mantığından yola çıkılarak düşünülmüştür  Sınıfların bir adı,özellikleri (attributes) ve işlevleri(functions) vardır.  Bunlara ek olarak “notes” (sınıf hakkında ekstra bilgiler) ve “Constraints” adlı sınıfla ilgili çeşitli özel koşullara ait bilgilerde bulunabilir. 
  • 12. UML’nin efektif yararları  Tasarım ve analizi yapılmış olduğu için daha kolay kodlama yapılır.  Hatalar minimuma indirilir  Tekrar kullanılabilir kod sayısı epey artabilir  Bellek kullanımı daha verimli olur  Programın kararlılığı artar(Senaryoların yardımıyla)  Takım çalışması için harika bir yardımcıdır
  • 13. UML Modellemede Diyagramlar Bir modelleme metodolojisi olan UML temel olarak 9 diyagram tipine sahiptir.  Class Diyagramları (Sınıf yapılarını gösterir)  Object Diyagramları (Gerçekleşmiş Nesnelerin bilgileri)  State Diyagramları (Nesnelerin o anki durumları)  Sequence Diyagramları (Değişken durumların ifadesi)  Activity Diyagramları (Nesnelerin faaliyetleri)  Use Case Diyagramları (Gerçek senaryolar üzerinde test)  Collaboration ”” (Parçaların bütünü oluşturması)  Component ”” (Bileşenlerin diyagramı)  Deployment ”” (Sistemin çalışma platformundaki hallerini gösteren diyagramlar)
  • 14. Class’lar arasındaki ilişkiler İnsan sınıfından Ali nesnesi ve Kitap sınıfından ‘Uml Kitabı’ nesnesi ve aralarındaki ‘okuma’ ilişkisi Burada Müşteri ile Kitapçı sınıfı arasında "satın alma“ ilişkisi var.Fakat müşteri satın alırken ücret ödemek zorundadır.Bu ilişkiyi göstermek için ücret sınıfı ilişki ile kesikli çizgi ile birleştirilir. Burada 1 yüzbaşı 100 Er'e komut(emir) verebilir anlamı çıkmaktadır
  • 15. Kaynaklar  UML ile Nesne Tabanlı Çözümleme ve Tasarım, Bora GÜNGÖREN Ayancık Meslek Yüksekokulu Öğr. H. Kübra KÖSE