Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Записка до курсового по ТППС - Незакінчена.doc
Скачиваний:
19
Добавлен:
23.02.2016
Размер:
2.11 Mб
Скачать

3.2.3 Концептуальна діаграма бази даних

Концептуальна схема бази даних не являється UML діаграмою, але вона є невід’ємною при проектуванні програмної системи, що містить хоча б одну базу даних.

Метою цієї діаграми є опис таблиць у базі даних, наявних у них полів та зв’язків поміж таблицями.

Рисунок 3.2.3 - Концептуальна схема бази даних.

3.2.4 Діаграма слідування

За допомогою даної діаграми прийнято відображати послідовності виконуваних дій, кожна з яких описує окрему гілку в виконанні програми.

Дана діаграма ілюструє лише фрагмент коду, а саме - проведення авторизації користувача. На діаграмі чітко видно, що пройти авторизацію можуть користувачі двох типів (адміністратор та диспетчер), кожен з яких має набір повноважень.

Рисунок 3.2.4 – Діаграма слідування.

Рисунок 3.2.5 – Діаграма послідовності.

Рисунок 3.2.6 – Діаграма кооперації.

Рисунок 3.2.7 – Діаграма компонентів.

4 Кодування і тестування пз

4.1 Характеристика впливу особливостей мови програмування на процес кодування ПЗ.Якщо характеризувати мову програмування Javaта говорити проїї особливості впливу на процес кодування, то в основному це будуть особливості, які позитивно впливатимуть на процес написання коду, проте буде декілька і негативних аспектів. Ми по черзі розглянемо кожен із них. До плюсів відносяться такі особливості:

- Зручний таінтуїтивно зрозумілий усім програмістам C-подібний синтаксис, що дозволяє швидко без зайвих проблем писати код програми, не звертаючись при цьому до якихось довідників.

- Потужній інструментарій у вигляді стандартних бібліотек коду, а також велика бібліотека контейнерів, колекцій та структур даних - Collections Framework, що дозволяють не витрачати додатковий час на їх написання та від лагодження і тестування.

- Розширенні можливості обробки виключних ситуацій, що дозволяють піднімати ступінь надійності коду. Обробка помилок та виключних ситуацій на “льоту”дозволяє без аварійного завершення програми обробити помилку та продовжувати виконання програми. Таким чином, це також дозволяє економити час при розробці програми.

- Вбудовані в мову засоби створення багатопотокових дадатків, що дозволяють розпаралелювати написані додатки під час виконання програми, таким чином пришвидшуючи обрахунки та виконання програми вцілому.

- Набір стандартних класів для роботи з базами даних, окрем і з серверомбаз даних MySQL.

- Разом з мовоюJavaкомпанія Oracleрозробляє дуже зручні і хороші CASE-засоби у вигляді інтегрованого середовища розробки NetBeans. Що значно полегшуєжиття розробникам. Серед переваг середовища NetBeans є:

- Підсвітка коду.

- Виділення ключових слів.

- Підстановка та автогенерація коду.

- Інтеграція з системою контролю за версіями SVN.

Всі ці особливості середовища програмування NetBeans також дозволяють розвантажити програмістів від рутинної роботи та дають змогу зосередити увагу на логіці роботи, а не на самому процесі кодування, цим самим пришвидшити роботу на проектом.

До негативних сторін мови варто віднести віднутність засобів для опису структур даних, тому структури даних доводиться описувати у вигляді класів, що мають загальнодоступні поля, але не мають методів і явно описаного конструктора. Такий підхід може мати місце в проекті і навіть мусить, адже альтернатив немає, але мінус такого підходу стає очевидним при тестуванні коду статичними аналізаторами коду. Аналізатори видають помилку про невикористовувані поля класу.

4.2 Обгрунтування вибору методів тестування ПЗ (статичні чи динамічні аналізатори коду)

Як відомо, динамічний аналіз на практиці не може покрити всі розгалуження програми. Навіть хороші тести покривають не більше 80% програмного коду.

Щоб регулярно перевіряти проекти динамічними методами, необхідно створити спеціальну інфраструктуру. Потрібні спеціальні тести, паралельний запуск декількох екземплярів додатківз різними вхідними даними.

Оскільки динамічний аналіз проводиться на виконуваній програмі і зазвичай тестує графічні інтерфейси користувача, то динамічні аналізатори є дуже залежними від ПЗ, яке вони мають тестувати. Універсальний вже готових засобів для повноцінного тестування будь-якого ПЗ наперед не існує. Є лише деякі динамічні аналізатори, які дозволяють проводити тестування загального призначення, але такі аналізатори не підійдуть для тестування нашого ПЗ, альтернативою є розробка власних тесту вальних утиліт для побудови динамічних тестів, але часові ресурси не дозволяють нам писати власний динамічний аналізатор, тому для нашого проекту динамічні тести будуть замінені тестуванням людьми. Готова та запущена програма буде віддана на тестування двом користувачам і по закінченню тестування вони сповістять про всі недоліки, які замість них мали виявити динамічні аналізатори.

Статичний аналіз продиться набагато простіше, аніж динамічний, а також існує багато пакетів для статичного аналізу, які є універсальними і можуть тестувати будь-які програми незалежно від її специфіки. Тобто такої ситуації, як із динамічними аналізаторами не відбувається, і можна сміливо використовувати будь-який статичний аналізатор, що підтримує тестування данної мови програмування.

Для проведеня статичного аналізу нашого проекту ми вирішили використовувати пакет SciToolsUnderstand.

Отже пакет володіє наступними перевагами:

  • Гнучке та надійне стандартне статичне тестування

  • Наявність вже вбудованого редактора коду для виправлення вже знайдених помилок

  • Підтримка багатьох різноманітних та несхожих мов програмування (C/C++,C#,Fortran,Pascal,Ada,Java,Objective C, PHP, Python, Ruby інші)

  • Визначення метрик ПЗ.

  • Побудова графіків та представлення інформації в графічному вигляді (в тому числі і метрик).

  • Побудова діаграм залежностей.

  • Автоматична генерація звітів.

  • Швидкий пошук по коду.