Skip to content

Cargo Automation Project, computer science visual programming assignment.

Notifications You must be signed in to change notification settings

Alder-Team/KargoOtomasyonu

Repository files navigation

Kargo Otomasyonu

Hızlı erişim:


Detaylar

Projenin Kapsamı

Karadeniz Teknik Üniversitesi İstatistik ve Bilgisayar Bilimleri 2. Sınıf ikinci dönem Nesne Yönelimli Programlama dersi vize projesi.

2021 yılı 2. sınıf Bahar Dönemi N.Y.P. dersinde hocamız Tolga Berber C++ dilini ve Qt kütüphanesinin araçlarını kullanarak yapabileceğimiz 3 adet proje belirledi.

  • Belediye Taşımacılığı Yönetimi: Bu yazılımda bir belediyeye ait toplu taşıma sisteminin yönetilmesi istenmektedir.

  • Teknoloji Marketi Otomasyonu: Bu projede, bir teknoloji marketine ait ürünlerin yönetilmesi istenmektedir.

  • Kargo Firma Otomasyonu: Bir kargo firmasına ait gönderilerin yönetimini sağlayan bir yazılım geliştirmemiz beklenmektedir.

Bu projelerden bir tanesini en az 2 kişi, en fazla 3 kişilik gruplar halinde yapılmasını zorunlu tuttu. Biz 3 arkadaş olarak Kargo firma otomasyonu projesini yapmaya karar verdik.

Yapılacaklar Listemiz

Hedef

Yazılımın aşağıdaki yetenekleri sağlamalıdır!

  1. Gönderiler sisteme kaydedilebilmelidir.

    • Her gönderinin desi türünden hesabı yapılabilmelidir Gönderi fiyatı desi üzerinden yapılacaktır.

      • Desi hesabı ağırlık veya hacim ile hesaplanabilir

        • Normalde sadece hacim ile hesaplanır fakat firma ağırlık ile hesaplama mekanizması da istemektedir.
    • Gönderilerin ödemesine göre 2 farklı tür olabilir!

      • Gönderici Ödemeli

      • Alıcı Ödemeli

  2. Firma Hizmet verdiği illeri (şubelerini) ve aralarındaki mesafeleri yazılıma girebilmelidir.

  3. Firma gönderdiği adresleri kaydetmek istemektedir. Bu sebeple, gönderici veya alıcı adına göre gönderi esnasında kayıt yapılabilmelidir.

Bonus: Gönderilerin geliş sıralarına göre gönderilmeleri. (Yukarıdaki adımlar tamamlandıktan sonra değerlendirmeye tabidir.)

Check-List

  • Gönderiler sisteme kaydedilebilmelidir.

  • Her gönderinin desi türünden hesabı yapılabilmelidir Gönderi fiyatı desi üzerinden yapılacaktır.

  • Desi hesabı hacim üzerinden yapılabiliyor.

  • Normalde sadece hacim ile hesaplanır fakat firma ağırlık ile hesaplama mekanizması da istemektedir.

  • Gönderilerin ödemesine göre 2 farklı tür olabilir! (Alici Ödemeli , Gönderici Ödemeli)

  • Firma Hizmet verdiği illeri (şubelerini) girebilmelidir.

  • Firma Hizmet verdiği illerin mesafelerini yazılıma girebilmelidir. Karayolları Genel Müdürlüğündeki iller arasındaki mesafe veritabanı kullanıldı.

  • Firma gönderdiği adresleri kaydetmek istemektedir. Bu sebeple, gönderici veya alıcı adına göre gönderi esnasında kayıt yapılabilmelidir.

Bilinen Sorunlar

Kritik:

  • Program ilk çalıştığında eğer şube eklenmediyse Kargo ekle ekranı çöküyor. Çok fazla test edemedik.
  • Bazen anlamsız şekilde çöküyor.

Normal

  • Kargo Ekle ekranındaki sinyal slot bağlantısı olan Label'lar ilk açıldığında rastgele sayılar üretiyor.

Şube Ekleme

Tutarın hesaplanması için ilk olarak şubelerin eklenmesi gerektir. Kargo tutarların hesaplanması oluşturduğumuz tablo için tıklayın.

Bu ekran da şube adı, telefon numarası, yetkiki kişi ve şube ekranını kaydediyoruz.

Bu ekranda KGM'den çektiğimiz iller arası uzaklık tablosunu kullanmak için Şube illerini önceden tanımladık. Tutarı hesaplamak ilin seçilmesi gerekmektedir.

Kargo Ekleme

Şubenin yeni kargo kaydetmesini sağlar. Bu ekranda Desi Hesaplama, Şube seçimi ve müşteri detayları bulanmaktadır. Bu bilgileri sisteme kaydetmektedir.

Kargo Tutarlarların Hesaplanması

Elimizde 24x30x26 ebatlarında bir kolimiz olduğunu düşünelim. Kargo tutarını hesaplamak için önce desiyi hesaplamamız gereklidir.

Desi = En x Boy x Yükseklik / 3000

formülünden yararlanarak desi hesaplanır. Örneğimizdeki kolinin desisi 6.24 gelmekte.

İllerin uzaklıklarını aşağıdaki excel dosaysından almaktayız.

Uzaklıkları işem kolaylığı açısından 3 ayırdık.

Aralık (Km) Çarpan
0-300 5
300-600 7
600- 10

Örneğin;

Km Çarpan Desi Tutar (TL)
Adıyaman - Gaziantep 150 5 6.24 31,20
Aksaray - Adıyaman 580 7 6.24 43,68
Çorum - İstanbul 614 10 6.24 62,40
Trabzon - İstanbul 1248 10 6.24 62,40

KGM iller arası uzaklaklık için tıklayın.

İndirdiğimiz excel dosyasını numbers üzerinden düzenledik. Ve Python ile uygun hale getirdik.

Python kodları için tıklayın.


Yazılımı geliştirirken kullandığımız araçlar ve diller

  • C++

  • Qt

  • Git


Yazılımı geliştiren kişiler

Teşekkürler

About

Cargo Automation Project, computer science visual programming assignment.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published