PROJE_2011_03 - Ege Üniversitesi

advertisement
EGE ÜNİVERSİTESİ
MÜHENDİSLİK FAKÜLTESİ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
204 DATA STRUCTURES (3+1)
2011-2012 GÜZ YARIYILI
PROJE 3
Veriliş Tarihi
Teslim Tarihi
Finaldeki Yüzdesi
: 01.11.2011
: 29.11.2011 saat 12:00
: 12 puan (Gecikilen her gün için birer puan azaltılarak değerlendirilecektir)
ŞİFALI BİTKİLER veya AKTAR (HERBALIST) YAZILIMI
Şifalı Bitki satışı yapan sanal marketler için müşterilerin sipariş vermesini sağlamak üzere bir
yazılım geliştirilmesi istenmektedir. Sistem, aynı zamanda müşterilerin de bitkiler ve
hastalıklar hakkında bilgi edinebilmesini sağlayacaktır. Bitkilerin isimleri ve miktarları, bitki
adına göre ikili arama ağacı yapısı üzerinde tutulacaktır. Ağacın her bir düğümü, bir bitkiye
ilişkin bilgileri (bitki adı, bitkinin latince ismi, bitkinin özellikleri, önerilen hastalıklar,
miktarı, fiyatı, bitki resminin diskteki yeri ve adı) içerecektir. Önerilen hastalıkların isimleri
bir dinamik bir dizide (Vector, ArrayList veya LinkedList vb.) tutulacaktır. Bitki
bilgilerindeki miktarı sahası ilgili bitkisel destek ürününden firmada o anda kaç paket
bulunduğunu ifade eder. Miktarı paket cinsinden belirtilecektir; fiyatı da paket fiyatıdır.
Satılacak ürünler temelde 3 kategori altında bulunmaktadır: i) Bitkiler, ii) Bitki çayları ve iii)
Vitaminler. Bu kategoriler, bir vektörde veya herhangi bir dinamik dizide tutulacaktır. Her
bir dinamik dizi elemanının altında ayrı bir ağaç yer alacaktır.
Hastalıklara ilişkin bilgiler (Hastalık adı, belirtileri, nedenleri, tedavisi, önerilen bitkiler) ise,
hastalık adına göre bir Hash Table’da tutulacaktır.
Müşterilerin Kullanacağı Bölüm
 Adından ürün arama ve bilgilerini listeleme
 Belirli fiyatlar arasındaki tüm ürünlerin bulunup listelenmesi
 Verilen bir kelimenin kategori ağaçlarında tutulan bitkilerin özellikleri içinden
aratılması, bulunan bitki isimlerinin listelenmesi.
 Ürün Siparişi (birden çok paket istenebilir) ve Alımı.
 Belirtilen bir kategorideki tüm Ürünleri düzeyleri ile birlikte Listeleme (Inorder,
preorder, postorder). İlgili ağacın derinliğini ve eleman sayısını yazdırma
 Kategori ağaçlarını dengeleme
 Verilen bir hastalığa ilişkin bilgilerin listelenmesi (Hash Table’dan)
 Belli bir hastalığa iyi gelen bitkilerin fiyatlarına göre bir Heap’e atılması ve en
ucuz N (müşteri belirtecek) tanesinden 1’er paket satın alınması.
Sadece Firma Personelinin Kullanacağı Bölüm
 Yeni kategori ekleme, kategori silme
 Firmaya yeni türde ürün girişi
 Adından Ürün bilgisi arama ve silme
 Ürün bilgilerinde değişiklik (bitki adı, bitkinin latince ismi, bitkinin özellikleri, önerilen
hastalıklar, miktarı, fiyatı)
 Yeni Hastalık bilgisi girişi
Not :
 Öncelikle konu ile ilgili internetten araştırma yapılarak ilgili dosyalar (herhangi bir
dosya editörü ile elle yazılarak) oluşturulmalıdır: bitki.txt ve hastalik.txt. İstek gelmesi
durumunda dersim asistanları tarafından örnek birer dosya hazırlanabilecektir.
 Program başladığında bu dosyalar okunarak kategori ağaçları ve hash table
oluşturulmalıdır.
 Arasınava Ağaçlar, Heap ve Hash Table Veri Yapıları dahil olduğundan Proje
verildiği anda üzerinde çalışılmaya başlanması önerilir. Geniş bir Proje olduğundan
son haftaya da bırakılmamalıdır.
Seçimlik [yapılması zorunlu değil ve puan etkisi yok]:
 Gerçek ve daha kapsamlı bir bitkisel ürün sanal marketi programına benzeyecek
şekilde işlemler değiştirilip çoğaltılabilir: müşterilerin üye olması (birden çok
müşteri), alışveriş listesi eklenmesi, müşterilerin ürünler hakkında yorum yazabilmesi,
dosyaya kaydetme ve alma ...
 Yazılım Web tabanlı veya Mobil cihaz tabanlı yapılabilir.
 Bitkilerin yetiştikleri yerler harita üzerinde (Google Maps API vs.) gösterilebilir.
 Günümüzde modern ilaçların yapımında bitkisel kaynaklardan da önemli ölçüde
yararlanılmaktadır. İlaç geliştirme çalışmalarına destek veren farmakoloji alanında
kullanılmak üzere yazılım genişletilebilir. Örnek olarak ilaçların bileşiminde hangi
bitkiden ne kadar ve ne şekilde kullanıldığı gibi.
 Herbalism, alternatif tıp gibi konular son yıllarda tekrar önem kazanmıştır. Bu adlar
altında yapılan çalışmaların bir kısmı bilimsel bir değer taşırken bir kısmı da sadece
toplumun ilgisini ve ihtiyaçlarını suistimal ederek para kazanmaya yönelik
olabilmektedir. Bunun için programda, satılan ürünlerin ilaç değil bitkisel destek
ürünü olduğu belirtilmelidir.
Projenin Değerlendirmesi: Program 9, Rapor 3 puan.
Proje Grubu, proje ile birlikte tek ortak rapor teslim edecek ve proje kontrolüne beraber
geleceklerdir.
Rapor Formatı
0. Kapak : Proje numarası ve adı, öğrenci numaraları ve ad-soyadları, teslim tarihi bilgilerini
içermelidir.
1. Programcı Kataloğu
1.1 Gerçekleştirilen Platform ve Dil (Java, Eclipse?) ve Sürüm Adı
1.2 Problemin kısa tanımı
1.3 Kullanılan sınıfların ve metotlarının kısa açıklamaları
1.4 Kullanılan veri yapıları ve kısa açıklamaları
1.5 Kullanılan dosyaların özellikleri ve kısa açıklamaları
1.6 Yazılım Geliştirme İçin Harcanan Süreler (kişi ve saat bazında)
2. Kullanıcı Kataloğu
2.1 Programın İşletimi ve Ekran Görüntüsü (en az 1 tane)
2.2 Kullanıcı Kılavuzu
2.3 Programın Kısıtlamaları
Raporun kapak dahil 5-11 sayfa arasında olması önerilir, sayfaları numaralandırılmalıdır.
Rapor, proje ile beraber, ilgili oturum asistanının önceki projelerde belirtilen e-posta adreslerine
gönderilmelidir. Yazıcı çıktısı istenmemektedir.
Download