Pharo-Project

Details

Source
GitHub
Dialect
pharo (25% confidence)
Stars
1
Created
Oct. 23, 2023
Updated
Oct. 5, 2024

README excerpt

# ВАРІАНТ #8

## Завдання 1

Спроектуйте класи, вказані нижче. У кожному з них визначте метод виведення в
потік, методи порівняння, виконання арифметичних дій. Оголошення цих класів
розташуйте у окремому пакеті. Інформацію про екземпляри класів задайте
в Playground, прочитайте з клавіатури або з файлу. Функціонал класів перевірте
за допомогою модульних тестів.

1. Оголосіть  клас,  що  моделює  сутність  "вантаж",  який  характеризують 
адреса  відправника, адреса отримувача, вага, відстань транспортування.
Екземпляр класу вміє повідомляти свої дані,  друкувати  себе,  повідомляти 
вартість  доставки  (2,5  г.о.  за  1 кгна  1 км).  Вантажі порівнюють за
вагою. Оголосіть підклас, що моделює сутність "супутній вантаж" (вантаж, що 
доправляється не спеціально замовленим, а попутним транспортом, тому вартість
доставки менша на певний відсоток). Екземпляр класу додатково пам’ятає
відсоток здешевлення, вміє повідомляти вартість доставки (зменшену на заданий відсоток).
2. Створіть п’ять різних вантажів, у тому числі супутніх та занесіть їх у контейнер.
Забезпечте можливість вводити в режимі діалогу інформацію про новий вантажі
долучати його до колекції інших. Надрукуйте всі елементи контейнера.
Знайдіть вантаж з найменшою вартістю доставки. Чи це супутній вантаж? Продемонструйте
використання арифметичних операторів. Перетворіть колекцію, збільшивши удвічі
відсоток здешевлення супутніх вантажів; створіть нову колекцію, що містить вантажі
певного відправника.
3. Продемонструйте зберігання створених об’єктів до файлу (до різних файлів у
різних форматах), до бази даних (наявність бази можна імітувати в пам’яті)
та завантаження їх з файлу, з бази. Робота з БД -завдання на майбутнє.

## Завдання 2

У попередньому завданні ви створили пакет з ієрархією класів Вантаж, Супутнійвантаж. Доповніть пакет оголошенням класу Транспортна біржа(або Транспортний брокер: брокермає  в  роботіпо  одному  екземпляровівантажів,  а біржаможе  мати  по  кілька однакових). Біржамає  назву,  зберігає  колекцію вантажів,  залучає  нові  та відправляє отримувачам наявні; вміє виводити на друк інформацію про себе і свої вантажі(разом про всіх або про окрему категорію); вміє обчислювати загальну вартість доставки, сумарну відстань перевезень; знаходити вантажіпевного відправника, певного отримувача, комплектувати пакети супутніх вантажів (у результаті комплектації звичайний вантаж може стати супутнім).Іноді біржа  переглядає  тарифи  перевезень  та  відсоток  здешевлення  доставки  супутніх вантажів.Ви можете доповнити функціонал біржіна власний розсуд. Правильність роботи методів класу перевірте за допомогою модульних тестів.Побудуйте віконний інтерфейс для взаємодії з біржоюі вантажами. Головне вікно мало б відображати інформацію про біржута наявні вантажі, надавати доступ через візуальні засоби (меню, кнопки тощо) до функціоналу біржі. Для отримання від користувача інформації про новийвантажстворіть власне вікно діалогу. Його вміст мав би залежати від типу вантажу. Забезпечте можливість зберігати біржудо файлу та завантажувати її з файлу. Щоб обрати ім’я файлу, використайте стандартний діалог.

# Обов'язки

## Завдання 1

1. Віталій Петлюх:
    - оголошення класу
    - виведення в потік
    - оператори порівняння
    - оголошення підкласу та обчислення вартості доставки
2. Оля Пастушук:
    - Створення контейнера для вантажів з можливостями додавання, видалення і
    друкування вмісту
    - Додавання в режимі діалогу
    - Серіалізація і десеріалізація з файлу
3. Андрій Островський:
    - Створення тестових вантажів і колекцій
    - Написання тестових пакетів для перевірки усіх можливостей створених класів
    - Окремий клас з демонстрацією можливостей класів і прикладами

## Завдання 2

1. Віталій Петлюх
    - Нові можливості класу колекції вантажів(обчислення загальної суми доставки
    і дистанції, фільтрування по відправнику і отримувачу, відсоток здешевлення,
    комплектація вантажів і зміна їх станів, відправлення вантажів).
    - Графічна форма для сутності вантажу(CargoFormPresenter)
2. Оля Пастушук:
    - Форма для колекції вантажів
    - Таблиця із вантажами
    - Фільтрація у графічному інтерфейсі по відправнику, отримувачу і статусу
    - Відображення і зміна характеристик біржі(Відсоток здешевлення, обрахунки
    загальної ціни тощо)
3. Андрій Островський:
    - тести для нового функціоналу біржі і переробка старих(використання setUp
    методу для створення тестових даних)
    - Графічна частина для комплектування вантажів і зміни їхнього стану
← Back to results