Мова реалізації – C++ Builder.
Вимоги до графічного інтерфейсу користувача:
- Назви елементів інтерфейсу повинні бути виконані українською, або російською мовами;
- Головне вікно програми – фрейм з наступними елементами:
а) панель меню з підтримкою «акселератів»;
б) користувальницька піктограма системного меню;
в) панель інструментів з підтримкою спливаючих «підказок»
г) рядок стану, в якому повинна відображатися інформація про основні режими роботи програми;
- дані бази повинні відображатися в табличному вигляді;
- наявність модального діалогового вікна «Про програму» з інформацією про розробника програми, зокрема з її фотографією;
Вимоги до архітектури програми: використання механізму виключень для обробки помилок введення-виведення даних.
Вимоги до функціональності програми:
- створення файлу бази даних (ім’я файлу бази та каталог файлової системи для його зберігання обираються користувачем с використанням відповідного діалогового вікна);
- додавання елемента даних до файлу бази;
- оновлення будь-якого елементу даних у файлі базі;
- видалення будь-якого елементу даних у файлі базі;
- сортування інформації, яка відображається в графічному інтерфейсі користувача, за різними реквізитами;
- фільтрація інформації, яка відображається в графічному інтерфейсі користувача, за різними критеріями;
- отримання та відображення підсумкової інформації;
- забезпечення перевірки допустимості даних, які вводяться користувачем;
- видача користувачу попереджувальних та інформаційних повідомлень;
- розробка звіту.
Вимоги до вихідного коду програми:
- вихідний код кожного з класів програми повинен міститись в окремому файлі;
- наявність коментарів (для класів – призначення класів; для методів – призначення методів, опис параметрів та призначення, яке повертається);
- виконання угод щодо запису тексту програм мовою програмування C++ Builder.
1.4 Вимоги до програмної документації
Програмна документація складається з двох документів: «Керівництво програміста» та «Керівництво користувача».
Програмна документація повинна бути складена відповідно до ДСТУ-3008-95 і стандарту підприємства – Маріупольського механіко-металургійного коледжу ПДТУ.
1.5 Структура програми
Створення бази даних. База даних буде створена в Paradox 7 і буде складатися з чотирьох таблиць:
- gruz: Unikey_gruza, Tip_gruza, Stoim_perevozki;
- avto: Unikey_avto, Marka_avto, Model_avto, Fio_vladelca, Data_texosmotra, Strahovka, Gos_nomera;
- zakaz: Unikey_zakaza, Unikey_gruza, Zakazchik, Adress_zakazchik, Telefon_zakazchik, Data_zakaza, Kol_vo_zakaza, Unikey_gruz_st, Unikey_gruz_tp;
- grafik: Unikey_grafik, Unikey_zakaza, Unikey_avto, Data_otpravleniya, Data_prib, Vremya_prib, Kol_vo_gruza, Unikey_avto_dat, Unikey_zak_dat, Unikey_gruz_dat.
Таблиці будуть взаємопов'язані типом «один до багатьох» в C++ згідно постановки завдання.
Використання класів
В програмі будуть використовуватись вісім класів.
У першому класі використовується метод вибору пункту меню головної форми для відкриття відповідної форми для роботи з даними. При цьому реалізована можливість відкриття форм «Автомобіль», «Вантаж», «Замовлення-Графік», «Автомобіль-Графік», «Вантаж-Замовлення», «Розробник» за допомогою натискання на кнопки з назвами форм, які знаходяться на головній формі та за допомогою комбінацій клавіш F1, F2, F3, F4, F5 та F6 відповідно.
В другому класі буде вводитись, переглядатись, видалятись інформація про автомобілі. Використовується організація введення даних для приблизного пошуку за прізвищем власника та за держ номером. Використовується кнопка «Пошук» для виконання приблизного пошуку за прізвищем та за держ номером.
В третьому класі буде вводитись, переглядатись, видалятись інформація про вантаж. Використовується організація введення даних для пошуку за типом та для сортування за вартістю. Використовуються кнопки: «Пошук» для виконання пошуку за типом вантажу, «Сортувати» для виконання сортування за вартістю.
В четвертому класі буде вводитись, переглядатись, видалятись інформація про замовлення та графік, при цьому обирається інформація про тип вантажу та вартість з таблиці Gruz, ПІБ власника з таблиці Avto. Використовується організація введення даних для фільтрування за датою. Використовуються кнопки: «Фільтрувати» для виконання фільтрації за датою, «Скасування» для відміни фільтрації та «Звіт» для формування текстового документу про замовлення перевезень вантажу.
В п’ятому класі буде вводитись, переглядатись, видалятись інформація про автомобіль та про графік, при цьому обирається інформація про замовника з таблиці Zakaz, та тип вантажу із таблиці Gruz. Використовується організація введення даних для приблизного пошуку за держ номером. Використовуються кнопки: «Пошук» для виконання приблизного пошуку за держ номером.
В сьомому класі буде вводитись, переглядатись, видалятись інформація про вантаж та про замовлення.
В восьмому класі описаний метод формування звіту про замовлення перевезень вантажу.
В дев’ятому класі буде відображатись інформація про розробника програми.
Графічний інтерфейс
Для написання програми планується використовувати головне вікно. Воно буде складатися з головного меню MainMenu та кнопок ButtonClick. З їх допомогою можна перейти на форми для роботи з даними вантажу, автомобіля, замовлення, графіку, поглянути інформацію про розробника.
На другій формі в DBGrid1 будуть відображатись дані для роботи з таблицею Avto, та також для зручності роботи з даними буде використатись DBNavigator1. Також на формі будуть знаходитись RadioButton1 та RadioButton2 для вибору за яким полем виконувати пошук, поле Edit1 для вводу прізвища або держ номеру та кнопка Button1 для приблизного пошуку прізвища та держ номеру.
На третій формі будуть знаходитись DBGrid1, в яких будуть відображатись дані для роботи з таблицею Gruz, для зручності роботи з даними будуть використовуватись DBNavigator1. Також на формі будуть знаходитись: поле Edit1 для вводу типу, кнопка Button1 для приблизного пошуку записів за типом, кнопка Button2 для сортування записів за вартістю .
На четвертій формі будуть знаходитись DBGrid1 та DBGrid2, в яких будуть відображатись дані для роботи з таблицями Zakaz та Grafik, для зручності роботи з даними будуть використовуватись DBNavigator1 та DBNavigator2. Дані про тип та вартість вантажу будуть обиратися із списку шляхом підстановки в таблицю Zakaz із таблиці Gruz, данні про ПІБ власника автомобіля обиратимуться із списку шляхом підстановки в таблицю Grafik із таблиці Avto. Також на формі будуть знаходитись поля Edit1 для вводу дати, та кнопка Button1 для фільтрації за датою, кнопка Button2 для скасування фільтрації та кнопка Button3 для формування звіту про замовлення перевезень вантажів .
На п’ятій формі будуть знаходитись DBGrid1 та DBGrid2, в яких будуть відображатись дані для роботи з таблицями Avto та Grafik, для зручності роботи з даними будуть використовуватись DBNavigator1 та DBNavigator2. Дані про замовлення будуть обиратися із списку шляхом підстановки в таблицю Grafik із таблиці Zakaz, данні про тип вантажу обиратимуться із списку шляхом підстановки в таблицю Grafik із таблиці Gruz . Також на формі будуть знаходитись поле Edit1 для вводу держ номеру та кнопка Button1 для приблизного пошуку держ номеру.
На сьомій формі будуть знаходитись DBGrid1 та DBGrid2, в яких будуть відображатись дані для роботи з таблицями Gruz та Zakaz, для зручності роботи з даними будуть використовуватись DBNavigator1 та DBNavigator2.
На восьмій формі буде формуватись звіт – «Замовлення перевезення вантажу».
На дев’ятій формі буде знаходитись інформація про розробника данної програми.
2. ПРОГРАМНА ДОКУМЕНТАЦІЯ
2.1 Керівництво системного програміста
2.1.1 Архітектура програми
Була створена база даних в Paradox 7, яка складається з чотирьох таблиць. Таблиці, властивості їх полів представлені на рисунках 1-4.
Рисунок 1 – Таблиця «Вантаж»
Рисунок 2 – Таблиця «Автомобіль»
Рисунок 3 – Таблиця «Замовлення»
Рисунок 4 – Таблиця «Графік»
Дві таблиці можуть бути пов’язані одна за одною по ключу. Одна з цих пов’язаних таблиць є головною (master), а інша – допоміжною, деталізуючей (detail).
Схема взаємозв’язків між таблицями в С++ Builder у вигляді діаграми даних, створеної в Проектувальнику Модуля Даних, представлена на рисунку 5.
При розробці програми автоматизованої системи «Нарахування заробітної плати по засобах» був використаний язик модулювання Unified Modeling Language (UML), заснований на технології об'єктного моделювання (CASE-технології проектування програмних комплексів в області розробки програмного забезпечення). Мова UML дозволяє відобразити всі взаємозв'язки модельованого об'єкта, його інтерфейси, а також особливості реалізації, які визначають внутрішню структуру і функції.
Рисунок 5 – Діаграма даних
Діаграма класів (class diagram) використовується для моделювання статичної структури класів системи. Діаграма реалізована в ПП Sparx Systems Enterprise Architect 7.5. На діаграмі відображаються статичні аспекти структурної побудови системи (малюнок 6).
Дана діаграма є логічною моделлю, яка складається з восьми класів. Сім з них: ТForm1, ТForm2, ТForm3, ТForm4, ТForm5, ТForm7, ТForm8, ТForm9 мають графічний інтерфейс. Клас TDataModule6 не має графічного інтерфейсу.