buradan

ATATÜRK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
BMS 301- JAVA PROGRAMLAMA
2014-2015 GÜZ DÖNEMİ
ÖDEV-2
(Son Teslim Tarihi: 24.12.2014’e kadar)
Teslim: Arş. Gör. Uğur Güven ADAR.
ÖNBİLGİ
Ödevde kullanacağınız metot ve sınıflar, dersinizde görmüş olduğunuz, Kalıtım, Sınıflar
ve Arayüzler mantığı esas alınacaktır. Ders dışı veya bu konuların kullanılmadığı ödevler
geçersiz sayılacaktır. Bu sebeple, aşağıdaki bilgilendirmede yazan yerler yanında
kullandığınız yöntemlerin belirtilen yöntemleri de içerdiğine dikkat ediniz.
ÖNBİLGİ
Erzurum'da bulunan ERZURUM AVM bünyesinde bulundurduğu farklı bilişim
firmalarında bulunan ürünleri kullanıcının ürün adına göre sorgulayabildiği ve sisteme
ürünlerin eklenebildiği bir platform sağlamaktadır. Böylece kullanıcılar sadece ErzurumAvm
sistemini ziyaret ederek tüm bilişim firmalarındaki ürünleri tek noktadan sorgulama ve
karşılaştırmalı fiyat bilgisi alma imkânına kavuşmaktadır. ErzurumAvm sistemi, bilişim
firmalarından ürün sorgulama ve sisteme ürün ekleme işlemleri için ErzurumBilisim adında
standart bir arayüz belirlemiştir. Firmalar bu arayüzü gerçekleştiren sınıfları yazmakta, gerekli
kaynak kodları kendileri geliştirmektedir. Böyle bir sistem düşünülerek A,B ve C adında 3
bilişim firmasına ait sınıflar yazılacaktır. Bahsedilen üç bilişim firması sınıfı Firma sınıfından
türeyecektir. Bunun yanında bir Urun sınıfına sahip olacak ve bu tüm sisteme eklenmiş
olacaktır. A,B ve C sınıfları Urun sınıfından türeyecek parametrelere sahip olmak zorundadır.
Bütün firmalar için ortak ürün özellikleri şunlardır; UrunKodu , UrunAdi ve UrunFiyati.
1) B firmasının hazırlayacağı sınıfı aşağıdaki kısıtları dikkate alarak yazınız
 ErzurumBilisim arayüzündeki metodları gerçekleştirmeli.
 UrunKodu,UrunAdı ve UrunFiyatı alanlarına ilk değerlerinin atandığı 3 tane aşırı
yüklenmiş kurucu metodu olmalı.
 UrunKodu alanına kurucu metodlarla değer atama haricinde programın işleyişi
esnasında değer atanmasına izin verilmemeli.
 Hazırlanacak Bbilisim sınıfı hiçbir sınıf tarafından miras alınamamalı.
2) Sadece ABilisim sınıfında bulunan firmaInfo() adındaki bir metod A firmasına ait
FirmaAdi, FKurulusYili, FFaliyetAlanı bilgilerini ekrana yazdırmaktadır. firmaInfo()
metodunun yer aldığı ABilisim sınıfını ve bu firmaInfo() metodunun override edildiği
Test adında bir sınıfı yazınız. Bu sınıfı yazabilir ya da main içerisinde test
edebilirsiniz.(ABilisim sınıfı ErzurumBilisim arayüzünü uygulamaktadır.)
3) Aynı uygulama paketi altında bulunan Main isimli bir sınıfta bulunan PolyFirma()
isimli static bir metod sadece ABilisim tipinde nesneleri parametre olarak almaktadır.
Bu metodu kullanarak C firmasına ait firma bilgilerinin ekrana yazdırıldığı Main
sınıfını yazınız.(CBilisim sınıfı Abilisim sınıfından türemiştir. Firma bilgilerini listeletmek için
firmaInfo() metodu çağrılacaktır.)
4) FIRMA sınıfı içerisinde kampanya() metodu bulundurmaktadır. kampanya() metodu
içerisinde kampanya ekle ve sil ve düzenle işlemleri bulunmalıdır. Bu metot ile
türetilen her sınıf (A,B ve C sınıfları) içerisinde bulunan ürünlerin kampanya
özelliklerini ErzurumBilisim arayüzünde gösterebilmektedir.
5) Oluşturulacak Musteri sınıfı ile müşterinin aldığı ürünleri, adını, soyadını, adresini ve
fatura bilgilerini tutabilmektedir.
6) Fatura sınıfı ise müşteriye ait fatura bilgilerini ve A,B ve C firmalarına ait faturaları
tutabilmektedir.
7) ErzurumAvm sistemine giren bir kullanıcının ürün adına göre arama yapabilmesini ve
sisteme ürün ekleme işlemini gerçekleştirebilmesi için(Sadece Yönetici ürün ekleme
yapabilir);
ErzurumBilisim arayüzünü, bu arayüzü uygulayan C firmasına ait CBilisim adında bir
sınıfı ve bu sınıfı kullanacağınız örnek bir main metodu yazınız?(Ürün arama için
URUNARA() ,ürün ekleme için UEKLE() metodları yazılacaktır. Sisteme maksimum 50 ürün eklenebilecektir.)
ÖDEVİN YAPISI
Müşteri
Fatura
A
Firma
B
Ürünler
C
ÖDEV TESLİMİ
1-Ödevinizi hazırlarken bir klasör içinde çalışınız.
2-Klasörü ad_soyad_numara şeklinde hazırlayınız ve dosyanın açıldığından emin olunuz.
ugur.adar@atauni.edu.tr adresine gönderiniz. Zamanında ulaşmayan, içeriği boş olan
projelerinizle ilgili sorumluluk size aittir.
3-Ödevinizin çıktısına gerek yoktur. Fakat ödev tesliminde bir şeffaf dosya içinde bir
kapak, içerisinde ödevinizin bulunduğu CD olmalıdır.
4-CD teslimi ve mail olarak göndereceğiniz tarih ödevi göndereceğiniz son tarih olmalıdır.
Maili önce gönderip, CD teslimini ödev teslim tarihinden sonra vermeniz ödevden puan
alamamanıza sebep olacaktır.
DİKKAT EDİLECEK HUSUSLAR
 Teslim edeceğiniz ödevin sadece kendi emeğinizin ürünü olması gerektiğini, aksine
hareket edenleri ciddi yaptırımlar beklediğini unutmayınız.
 Ödevin herhangi bir kısım ya da tamamında benzerlik olması durumunda paylaşımda
bulunan bütün öğrencilere kopya muamelesi yapılacaktır.
 Teslim edeceğiniz ödev bir kapağa sahip olmalıdır. Bu kapak üzerine adınız, soyadınız,
öğrenci numaranız ve ödev numarası yazılı olmalıdır.
 Yazdığınız kodları kendiniz yazmalısınız. Hazır şablon/bileşen kullanımı, internetten
kopyalanmış veriler yasaktır.
 İnternette konu ile ilgili bulabileceğiniz kodlar hali hazırda araştırılmıştır. Bu kodların
düzenlenerek sunulması durumunda, gerekli yaptırımlar uygulanacaktır.
 Zamanında teslim edilmeyen ödevlerden puan alamazsınız.