bsm201 nesneye dayalı programlama 13. hafta sınıf diyagramı · 2019. 12. 18. · bsm201 nesneye...

21
BSM201 Nesneye Dayalı Programlama 13. Hafta Sınıf Diyagramı Dr. Öğr. Üyesi Nesibe YALÇIN BARTIN ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Upload: others

Post on 28-Jan-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

  • BSM201 Nesneye Dayalı Programlama

    13. Hafta – Sınıf Diyagramı

    Dr. Öğr. Üyesi Nesibe YALÇIN

    BARTIN ÜNİVERSİTESİ

    MÜHENDİSLİK FAKÜLTESİ

    BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

  • 2

    Uygulama 1?

    • Kullanıcı iki zar atsın, zarların toplamı ≥7 ise kazansın değilse kaybetsin.

    class zar{ … ???

    }

    class oyun{ …??

    }

  • 3

    Uygulama 1

    • Kullanıcı iki zar atsın, zarların toplamı ≥7 ise kazansın değilse kaybetsin.

    oyun

    zar1:zar zar2:zar oyna()

    2 zar deger:int zar_at() deger_oku():int

    1 içerir

    main(args[]:String )

  • 4

    Uygulama 1 class zar { private int deger; public void zar_at() { System.out.println("zar atıldı"); deger = (int) (1 + Math.random() * 5); } public int deger_oku() { System.out.println("gelen sayı:"+deger); return deger; } }

  • 5

    Uygulama 1 public class oyun { zar zar1 = new zar(); zar zar2 = new zar();

    public void oyna() { zar1.zar_at(); int x = zar1.deger_oku(); zar2.zar_at(); int y = zar2.deger_oku(); if ((x + y) >= 7) System.out.println("Kazandınız"); else System.out.println("Zar toplamı 7'den küçük!!"); } public static void main(String[] args) { oyun oyun1= new oyun(); oyun1.oyna(); } }

  • 6

    Uygulama 1

    oyuncu ad:string

    zar deger:int zar_at() deger_oku():int

    1

    2

    oyun zar1:zar zar2:zar oyna(x:oyuncu)

    1

    1

    1

    2

    içerir

    oynar

    atar

    * Oyuncu dahil edilirse

  • 7

    Uygulama 2? • Fakülteye yeni bir bölüm açılmak isteniyor.

    • Bu bölümün, hazırlık sınıfı bulunmamaktadır. • Yaz okulu uygulaması yapılmaktadır. • Her dönemde 30 AKTS lik maksimum ders yer almaktadır.

    Buna ilişkin sınıf diyagramını oluşturunuz.

  • 8

    Uygulama 2 • Sınıflar

    • Fakülte – Fakülte adı, eğitim-öğretim süresi, bölümler, fakulte(….), bolum_ekle(….), ..

    • Bölüm – Bölüm adı, hazırlık sınıfı var mı?, derslik-laboratuvar adları, sınıflar, bolum(….), sınıf_ekle(…..), …

    • Sınıf – Sınıf adı, dönemler, dönem_ekle(), … • Dönem – Dönem adı, dersler, toplam akts, toplam ders sayısı,

    ders_ekle(….), ders_sil(…..), … • Ders – Ders adı, ders kodu, teori saati, uygulama saati, kredisi,

    akts değeri, ...

  • 9

    Uygulama 2 • Fakülte – Fakülte adı, eğitim-öğretim süresi, bölümler,

    fakulte(….), bolum_ekle(….), ..

  • 10

    Uygulama 2 • Bölüm – Bölüm adı, hazırlık sınıfı var mı?, derslik-laboratuvar

    adları, sınıflar, bolum(….), sınıf_ekle(…..), …

  • 11

    Uygulama 2 • Sınıf – Sınıf adı, dönemler, dönem_ekle(), … • Dönem – Dönem adı, dersler, toplam akts, toplam ders sayısı,

    ders_ekle(….), ders_sil(…..), …

  • 12

    Uygulama 2 • Ders – Ders adı, ders kodu, teori saati, uygulama saati, kredisi,

    akts değeri, ...

  • 13

    Uygulama 2

    1 .. N

    1 .. N

    1 .. 3

    1 .. N

  • 14

    Uygulama 3 • Bir şirket, çalışanlarına haftalık olarak ödeme yapmaktadır. 4 tip

    çalışanlar vardır: • Maaşlı çalışan - Çalışılan saat sayısına bakılmaksızın

    haftalık sabit bir ücret ödenmektedir. • Saatlik çalışan: Saatlik ücret ödenmektedir ve 40 saatten

    fazla çalışılan tüm saatler için fazla mesai ücreti (örneğin saatlik maaş oranının 1.5 katı) almaktadır.

    • Komisyonla çalışan: Satışların bir yüzdesi ödenmektedir. • Baz maaşlı komisyonla çalışan: Baz maaş artı satışlarının

    bir yüzdesi verilmektedir.

    • Şirket baz maaşlı komisyon çalışanlarını, temel maaşlarına % 10 ekleyerek ödüllendirmeye karar vermiştir.

  • 15

    Uygulama 3

    Çalışan

    Maaşlı çalışan

    Saatlik çalışan

    Komisyonla çalışan

    Baz maaşlı

    komisyonla çalışan

  • 16

    Uygulama 3

  • 17

    Uygulama 3

    void maas_hesapla(){ if(calisma_saati 40) maas= 40*saatlik_ucret+ saatlik_ucret*1.5*(calisma_saati-40); }

    saatlik_calisan

    void maas_hesapla(){ maas= komisyon_orani*brut_satis; }

    komisyonla_calisan

    void maas_hesapla(){ maas= baz_maas+ komisyon_orani*brut_satis; }

    baz_maas_komisyonla_calisan

  • 18

    Uygulama 3

  • 19

    Uygulama 4

    Kontrol sistemi

    Hava durumu bilgi sistemi

    Hava durumu

    istasyonu

    Uydu

    1..1

    1..n

    1..1 1..n

    1..n

  • 20

    Örnekler

  • 21

    Örnekler