Skip to content

Latest commit

 

History

History
48 lines (39 loc) · 3.01 KB

README.md

File metadata and controls

48 lines (39 loc) · 3.01 KB

Java OOP Design

Proje Kurulumu

Projeyi öncelikle forklayın ve clone edin. Daha sonra projeyi IntellijIDEA kullanarak açınız. README.md dosyasını dikkatli bir şekilde okuyarak istenenleri yapmaya çalışın. Proje sayımız ilerledikçe proje yönetimimizi kolaylaştırmak adına projelerimizi belli klasör kalıplarında saklamak işimizi kolaylaştırmak adına iyi bir alışkanlıktır. Örnek bir Lokasyon: Workintech/Sprint_1/Etud.

Hedeflerimiz:

Library System

  • Bir kütüphane sistemi modelimiz mevcut.
  • Bu modeli programlamak istiyoruz. Nesne Tabanlı bir uygulama geliştirmek zorundayız.
  • Tamamen özgür bir şekilde istediğiniz türde bir dizayn yapabilirsiniz.
  • Öğrendiğimiz konuları uygulamak hedeflenmektedir.
  • Amacımız bir Kütüphane Otomasyonu dizayn etmek. Ekteki Sınıfları ve aralarındaki ilişkileri kurarak bu sistemi nasıl dizayn edebiliriz?
  • Kendi eklemek istediğiniz özellikleri eklemekten asla çekinmeyiniz.

Sistemde mutlaka Olmasını İstediklerimiz Nelerdir?

  • Bütün projeniz object oriented design kullanılarak tasarlanmalı ve kodlanmalı.
  • Sınıflarınız arasındaki tüm hiyaraşik yapıyı çizili bir biçimde göstermelisiniz.
  • Projenizde anlamlı paketler oluşturmalı be paketlemeye dikkat etmelisiniz.
  • Oluşturduğunuz tüm sınıflar Encapsulation kurallarına uygun yazılmalı.
  • Composition uygulaması mutlaka olmalı.
  • En az bir tane Inheritance ilişkisi kurmalısınız.
  • En az bir tane Abstract class ya da Interface tanımlayarak bunları implements/extends eden sınıflarınız olmalı.
  • Projenizde polymorphism uygulamaları olmalı ve yazdığınız metodlar olabildiğince esnek çalışmalı.
  • Sisteminizde en az bir list ve bir adet set veri yapısı kullanmalısınız ve anlamlı bir problemi çözüyor olmalı.
  • Veri saklamak için mapleri kullanmalısınız.
  • Minimum 10 sınıfınız olmalı ve bunların arasındaki ilişkiyi düzgün bir şekilde tanımlamalısınız.

Sistemde Minimum Neler Yapılabilmelidir?

Bütün sistemi bir konsol uygulaması olarak dizayn etmelisiniz.(Scanner sınıfı kullanılabilir)

  • Sisteme yeni kitap eklenebilir.
  • Sistemden id, isim veya yazar bilgisine göre bir kitap seçilebilir
  • Sistemde var olan bir kitabın bilgileri güncellenebilir.
  • Sistemde var olan bir kitap silinebilir.
  • Sistemde var olan bir kategorideki tüm kitaplar listelenebilir.
  • Sistemde var olan bir yazarın tüm kitapları listelenebilir
  • Bir kullanıcı sistemde eğer kitap kütüphanede varsa ve başkası tarafından alınmadıysa bir kitabı ödünç alabilir. Bu durum yaşanırsa hangi kitabın hangi kullanıcıda olduğunun bilgisi tutulmalıdır.
  • Aynı şekilde kullanıcı kitap geri teslimde edebilir.
  • Sistemden bir kitap alındığında kitabı alan kullanıcıya bir fatura kesilmelidir. Kitabı geri iade ettiğinde kullanıcıya ücreti geri iade edilmelidir.
  • Kullanıcıların 5 kitap limiti olmalı ve bu kitap limitine ulaştıklarında daha fazla kitap alamamalılar.