1- Lojistik süreçlerinin yönetilmesi için bir yazılıma ihtiyaç duyulmaktadır.
2- Firmamızda 3 ana türde araç bulunmaktadır. Bunlar; kamyon, kamyonet ve tır türü araçlardır.
3- Her araçta ortak olarak; plaka, sorumlu şoför, yük listesi ve araç türü bilgileri bulunmaktadır.
4- Kamyonların tamamı açık kasaya sahiptir. Bu nedenle; kasaları için taşıma hacimleri yoktur. Bunun yerine; sadece maksimum yük kapasiteleri vardır. Bir kamyon 2000 ila 10000 kilo arası yük taşıyabilir (sınırlar her zaman dahildir.).
5- Kamyonetler farklı kasa türlerine sahip (açık kasa, kapalı kasa, soğutmalı kasa) araçlardır a. Açık kasa kamyonetler düşük maksimum yük kapasitesine [1500 Kg, 3000 Kg] sahip kamyonlar olarak düşünülebilir. B. Kapalı kasa kamyonetlerin maksimum yük kapasitesine ek olarak yük hacimleri vardır. Bir kapalı kasa aracın yük hacmi 10 ila 30 M3 arasında olabilir. C. Soğutmalı kasalı kamyonetlerin tamamı kapalı kasa kamyonettir. Bu araçların kapalı kasa kamyonetlerden farklı olarak minimum sıcaklık bilgisi mevcuttur. Soğutmalı araçların minimum sıcaklıkları -10 ila -40 OC arasındadır.
6- Tır türü araçların yük hacimleri 30 ila 40 M3 arasında olabilir. Tır türü araçlar için maksimum yük kapasitesi bilgisi yoktur. Bu araç türünde tır’a takılı olan dorsenin tanımı için bir dorse kodu bilgisi yer almaktadır. Dorse kodu bilgisi bir char* olarak tutulmaktadır ve gerekli yer çalışma zamanında dinamik olarak alınmaktadır.
7- Bir plaka bilgisi toplam 8 karakterdir. Plaka; 2 karakterlik il kodunu takip eden 6 karakterden oluşur. Son 6 karakterin ilk bölümü harflerden oluşur. Harf bölümünde en az 1 en çok 4 harf olabilir. 8- Sorumlu şoför bilgisi en az 1 ad ve 1 soyad içerir.
9- Bir yük bilgisi yükün adı, yükün türü (kuru yük, gıda, kimyasal), yükün hacmi ve yükün ağırlığı bilgilerini içerir. Araç azami yük hacmini veya azami yük kapasitesini aşmadığı sürece istenilen sayıda yük ile yüklenebilir. Yük bilgisi bir sınıf olarak yazılmalıdır. A. Yük listesi stl: List şeklinde tutulmalıdır. B. Her araç için yük ekle ve yük boşalt fonksiyonları olmalıdır. C. Tüm yükleri tek seferde boşaltabilecek bir fonksiyon bulunmalıdır. D. Araçtaki yüklerin listesi ekrana basılabilmelidir. E. Aracın yüklü olup olmadığı öğrenilebilmelidir. F. Araç += yük şeklinde bir ifade ile araca yük eklenebilmelidir. Araca kapasitesinden fazla yük yüklenmemelidir. G. Araç -= yük şeklinde bir ifade ile araçtan yük çıkartılabilmelidir. Tüm bilgiler araçtaki yük ile eşleşiyorsa yük araçtan indirilir. H. Yük bilgisi için << operatörü tanımlı olmalıdır. İ. Yükleri sıralayabilen bir fonksiyon standart kütüphanedeki benzer fonksiyonlar kullanılmadan yazılmalıdır. Bu fonksiyon; 3 farklı şekilde sıralama yapabilmelidir: İ. Ağırlıklarına göre büyükten küçüğe, II. Hacimlerine göre küçükten büyüğe, III. Yük adlarına göre alfabetik,
10- Araç türü bilgisi aracın türünü belirten bir metindir. Bu metnin tutulması için Vector kullanılmalıdır.
11- Araç parkı girişine hangi türde aracın ne sırada geleceği bilinmemektedir. Parka gelen her aracın bilgileri ekranda gösterilmelidir. Bilgi ekranında araç türüne özel bilgiler de yer almalıdır.
12- Geliştirilecek sistemin yeni araç türlerinin eklenmesini kolaylaştıracak şekilde geliştirilmesi beklenmektedir.
13- Ar-ge departmanımız ilerleyen dönemde yazılımda geliştirmeler yapacağı için kodun iyi şekilde açıklanmış olması ve kodlama standartlarına uyum beklenmektedir. Yazılımda modern C++ özellikleri tercih edilmelidir.
14- Çalışma zamanı ile önemli bir kısıtımız yoktur. Bu nedenle; nesneye yönelik programlama prensiplerine tam uyumlu bir yazılım geliştirilmesi istenilmektedir.
15- Kapasite sınırları mutlaka kontrol edilmeli ve yanlış bir araç oluşturulması veya aracın yanlış değerlerle güncellenmesi mümkün olmamalıdır.
16- Tüm özel veri üyeleri için alıcı/düzenleyici (getter/setter) fonksiyonlar kurallara uygun şekilde oluşturulmalıdır.
17- Aykırı durumlar doğru şekilde yönetilmelidir.
18- Sonraki projelerde de birlikte çalışabilmek için sizce faydalı olacak diğer ek özellikleri de yazılıma dahil edebilirsiniz.
Çözülmesi beklenen durum: Araç parkının girişinde 20 araçlık bir kuyruk vardır. Kuyrukta her araç türünden en az 3 araç (kamyon, açık kasa kamyonet, kapalı kasa kamyonet, soğutmalı kasalı kamyonet, tır) bulunmalıdır. Bu araçların giriş bilgileri ekrana yazdırılmalıdır. Bir tıra en az 10 adet yük yüklenmelidir. Sonra bu yükler tüm sıralama yöntemlerine göre teker teker sıralanmalı ve her sıralama sonrasında baştan 3. yük araçtan indirilmelidir.