- •1 Розробка плану проекту
- •1.2 Обгрунтування вибору апаратних ресурсів, мови програмування та case-засобів
- •1.3 Розробка графіка виконання робіт по проекту у контексті обраної моделі життєвого циклу
- •1.4Аналіз ризиків проекту та управління ними
- •2 Розробка системної специфікації вимог до програмного забезпечення (за методомVord)
- •2.1 Розробка користувальницьких вимог
- •1). Группа: Функції пов’язані зі створенням бази даних
- •2). Группа: Функційні вимоги до ситеми
- •3). Группа: Функціональність графічного інтерфейсу користувача
- •2.2 Функційні вимоги
- •2.3 Нефункційні вимоги
- •2.3.1 Вимоги до продукту
- •2.3.2 Організаційні вимоги
- •2.3.3 Вимоги щодо взаємодії з зовнішнім середовищем
- •3.2.1 Діаграма варіантів використання
- •3.2.2 Діаграма класів
- •3.2.3 Концептуальна діаграма бази даних
- •3.2.4 Діаграма слідування
- •4 Кодування і тестування пз
- •4.3 Представлення результатів тестування пз (у хронологічному порядку, які помилки були виявлені і виправлені)
- •Висновки
- •Література
- •Додатки
1.2 Обгрунтування вибору апаратних ресурсів, мови програмування та case-засобів
Оскільки система буде виконувати розрахунково-зберігаючі дії: отримувати дані, опрацьовувати їх за певними алгоритмами та зберігати у постійній базі знань, а потім видавати ці дані на запит користувачів, то само собою постає питання про використання баз даних у проекті та відповідно вибору мови програмування, що дозволить легко та без особливих труднощів працювати з базами даних. В принципі на сьогоднішній день майже будь-яка мова програмування прекрасно працює з базами даних, тому можна було обрати традиційну і всіми добре знану, зарекомендовану мову С++, адже вона перевірена роками, чудово підтримує основні концепції об’єктно-орієнтованого програмування і рівень надійності програм написаних на цій мові досить високий. Проте у завданні звучало фраза, яка звужує коло мов програмування – система повинна працювати стабільно і чітко незалежно від платформи на якій вона буде запущена. Наскільки відомо, мова програмування С++ є машиннозалежною мовою, яка дуже прив’язується до платформи, і портування програм написаних на цій мові вимагають значних затрат зусиль та часу. Використання додаткових засобів та умінь. Без зміни початкового коду програми також не обійтись. Думаю, не варто говорити, що при цьому кожен раз потрібно перекомпільовувати усі модулі проекту та заново їх збирати. Який же вихід? А вихід такий:потрібно використовувати мову програмування, особливістю якої є так звана кроссплатформовість (незалежність від ОС). Однією з таких мов є мова програмування Java. Вона є більш сучасною, при цьому дуже схожою на мову С/С++. Вона увібралась в себе усі переваги мови С++ та була доповнена новими можливостями, що дозволяють крокувати в ногу з часом та новітніми технологіями. Серед основних переваг мови Java є звісно кроссплатформовість. Можливість працювати однаково на різних платформах цій мові дає змогу особливий підхід до виконання програми, а полягає він у тому, що програмний код виконує безпосередньо не процесор, а проміжна програма, що називається віртуальною машинною. При такому підході винахідникам мови доведеться адаптувати тільки віртуальну машину на різні платформи, при цьому весь код вищого рівня (прикладні програми) може залишатись незмінним. Це тільки одна з переваг мови Java, повний перелік її можливостей вказаний нижче:
переносимість, або кросcлатформовість;
об'єктна орієнтованість, створена ефективна об'єктна модель;
звичний синтаксис C/C++;
вбудована і прозора модель безпеки;
орієнтація на Internet-завдання, мережеві розподілені додатки;
динамічність, легкість розвитку і додавання нових можливостей;
простота освоєння.
Для зберігання даних у цьому проекті ми вирішили використати найпопулярнішу на сьогоднійшій день СУБД MySQL, до того тип цієї СУБД прекрасно працює у одній ланці з мовою Java.Переваги цієї СУБД у наступному:
продуктивність (через що Google і Yahoo використовують саме MySQL)
масштабованість (в компанії Omniture в реальному масштабі часу використовується 7000 серверів MySQL)
надійність (в коді пропрієтарних продуктів міститься в десять з гаком разів більше вразливостей)
простота використання, простота впровадження (за 15 хвилин можна скачати і запустити систему)
відкрита і модульна розробка
низькі сукупні витрати (платити потрібно лише за потреби в підтримці)
В якості CASE-засобів ми вирішили обрати середовище розробки NetBeans та систему адміністрування базами даних SQL Manager for MySQL. Опис цих засобів знаходиться нижче:
NetBeans IDE - вільна інтегрована середовище розробки додатків (IDE) на мовах програмування Java, JavaFX, Python, PHP, JavaScript, C + +, Ада та ряду інших.
Основні можливості:
ApacheAntвикористовується в якості машини побудови
Метадані проекту - це скрипти побудови Ant
Доступна можливість побудови додатків поза інтегрованої средис допомогою Ant, при цьому не потрібно ніякого спеціального дії (на кшталт "експорту вAnt")
Повністю інтегрована підтримка модульного тестування (JUnit)
Вихідні файли показуються в контексті проекту в логічному вигляді
Користувач може працювати з декількома проектами одночасно
Все вищезазначене доступно прямо з коробки, від користувача не потрібно копатися в жодних налаштуваннях
Рисунок 1.2.1 – Зображення середовища NetBeans IDE
EMS SQL Manager for MySQL Freeware - це безкоштовний інструмент для розробки і управління базами даних MySQL, який значно спростить виконання основних адміністративних завдань. Він значно полегшить вашу роботу з сервером MySQL і зробить її більш ефективною.
Ключові особливості
Повна сумісність з версіями MySQL, починаючи з 3.23 по 5.6 включно
Підтримка даних UTF8
Швидка навігація та управління базами даних
Елементарне управління всіма об'єктами MySQL
Ефективні інструменти управління даними
Ефективне управління параметрами безпеки
Чудові графічні і текстові інструменти для побудови запитів
Вражаючі можливості імпорту та експорту даних
Конструктор звітів з зрозумілим майстром створення звітів
Потужний візуальний конструктор баз даних
Зручні майстри для виконання сервісів MySQL
Доступ до сервера MySQL по HTTP протоколу HTTP тунелю
Доступ до сервера MySQL по HTTP протоколу SSH тунелю
Рисунок 1.2.2 – зображення EMS SQL Manager for MySQL