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Ü

Transcript of BSM201 Nesneye Dayalı Programlama 13. Hafta Sınıf Diyagramı · 2019. 12. 18. · BSM201 Nesneye...

  • 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