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