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

Зміст

Вступ 6

1 Розробка плану проекту 8

1.1 Аналіз задачі, обгрунтування вибору моделі життєвого циклу для реалізації проекту 8

Аналіз самої задачі, розбір її на складові частини та визначення вимог розпочинається насамперед з постановки завдання до проекту, те що від нас вимагається так би мовити в двох словах, а завдання до проекту звучить так: 8

1.2 Обгрунтування вибору апаратних ресурсів, мови програмування та CASE-засобів 13

1.3 Розробка графіка виконання робіт по проекту у контексті обраної моделі життєвого циклу 17

1.4 Аналіз ризиків проекту та управління ними 20

2 Розробка системної специфікації вимог до програмного забезпечення (за методом VORD) 24

2.1 Розробка користувальницьких вимог 24

2.2 Функційні вимоги 25

2.3 Нефункційні вимоги 25

2.3.1 Вимоги до продукту 26

2.3.2 Організаційні вимоги 26

2.3.3 Вимоги щодо взаємодії з зовнішнім середовищем 26

2.4 Вимоги предметної галузі 26

2.5 Верифікація вимог 26

3 Розробка архітектури програмного забезпечення 28

3.1 Автоматна модель ПЗ 28

4 Кодування і тестування ПЗ 37

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

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

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

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

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

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

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

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

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

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

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

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

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

4.3 Представлення результатів тестування ПЗ (у хронологічному порядку, які помилки були виявлені і виправлені) 41

4.4 Результати оцінки якості розробленого програмного забезпечення на основі метричного аналізу. 44

Як відомо на основі метричного аналізу можна дізнатись про трудомісткість та об’єм логіки, що вкладені у програмну систему. Про дану систему говорять показники, що вимірюються у кількості рядків програмного коду, кількості функцій, класів, тобто функціонального коду, а також коментарів – пояснювального коду. Дані показники приведені в таблиці 4.1. 44

4.5 Представлення результатів, що демонструють функціональність розробленого ПЗ. 47

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

Робота із системою розпочинається із процедури авторизації. Авторизація відбувається по логіну та паролю, які вводяться у вікно авторизації (Рисунок 4.6). 47

Висновки 56

Література 57

Додатки 59

Вступ

Поняття "інформаційна технологія" (ІТ) у сучасному контексті набуває особливої багатогранності та поширюється на всі області діяльності людини, оскільки інформація, що трансформується у дані, знання, інформаційні та програмні продукти, технологічні винаходи - є невід'ємною частиною сьогодення. Тому для ефективного вивчення ІТ-галузі необхідний усесторонній підхід, який дозволить об'єднати та узагальнити відомості ряду навчальних дисциплін, таких як "Комп'ютерні мережі та телекомунікації", "Інформаційні системи і технології" та "Сучасні Інтернет-технології". У навчальному посібнику авторами представлено нову концепцію комплексного аналізу ІТ-галузі, починаючи від базових термінів, таких як "технологія" та "інформація", до задач оптимізації створення інформаційного продукту, його захисту, технологій проектування інформаційних систем ( ІС) і моделювання бізнес-процесів. Запропонований підхід орієнтований на економічну сторону ІТ та розглядає економічну інформацію, її властивості, способи формалізованого опису для класифікації та узагальнення. Проведений аналіз структури ІТ у посібнику дозволяє трактувати технологію як сукупність процесів, що використовують засоби та методи накопичення, обробки і передачі первинної інформації для отримання інформації нової якості про стан об'єкту, процесу або явища (інформаційного продукту). Створення нового інформаційного продукту, як правило, вимагає видобування знань шляхом обробки і узагальнення різнотипних даних економічного характеру, отриманих із різних джерел. Ця задача може бути вирішена з різним ступенем ефективності та великими часовими затратами, документальними способами отримання знань, такими як методи математичної статистики. Проте, ці методи не дозволяють знаходити і видобувати знання з масивів даних, а високі вимоги до кваліфікації кінцевих користувачів обмежують їх використання. Розглянуті у посібнику експертні технології видобування знань та прийняття рішень - виявлення знань в базах даних (Knowledge Discovery in Databases), технологія аналітичної обробки даних в реальному часі (OLAP), технологія аналізу сховищ даних (Data Mining), нейромережні технології штучного інтелекту та експертні системи дозволяють з більшою ефективністю отримати знання на основі аналізу прихованих закономірностей у масивах даних та прийняти оптимальне у певній ситуації рішення, використовуючи сучасні програмні засоби. Оскільки призначення ІТ полягає у виготовленні інформаційного продукту номінальної якості з оптимальними витратами, у посібнику досліджується галузь математичного моделювання бізнес-процесів та методів прийняття рішення з оптимізацією за заданим критерієм, з точки зору технологій динамічного програмування. Тенденція об'єднання комп'ютерів у мережі на сьогоднішній день набула завершеного вигляду, що втілилось у активний розвиток ІТ комп'ютерних мереж і, в тому числі, всесвітньої мережі Інтернет, а також галузі електронної комерції. У навчальному посібнику стисло викладено відомості про базові мережні технології, протоколи та сервіси, механізми пошуку, електронні платіжні системи. Окрему увагу приділено гіпертекстовій технології та технологіям створення web-вузлів - темі, що представляє особливий інтерес для творчих особистостей. Зважаючи на іншу сторону стрімкого розвитку ІТ, у посібнику неможливо було обминути гостро актуальні питання інформаційного піратства, розвинуті технології якого становлять суттєву загрозу інформаційному продукту. У посібнику розглянуто види інформаційних та програмних продуктів і можливі загрози для них в сучасному комп'ютерному середовищі. Детально досліджено питання захисту персональної інформації і протидії інформаційним та програмним продуктам шкідливого характеру, технологію забезпечення безпеки інформаційних систем, поняття ідентифікації, аутентифікації, політики безпеки тощо. Результати проведених досліджень та здійснених узагальнень щодо перетворення інформації на шляху до інформаційного продукту, необхідно враховувати і при проектуванні ІС, яка буде створювати інформаційний продукт. Для цього у навчальному посібнику проаналізовано етапи створення ІС та моделі її життєвого циклу, включно з архітектурою. Розглянуто також основні технології, що використовуються на кожному з етапів життєвого циклу ІС, для оптимізації процесів її проектування та функціонування.

1 Розробка плану проекту

1.1Аналіз задачі, обгрунтування вибору моделі життєвого циклу для реалізації проекту

Аналіз самої задачі, розбір її на складові частини та визначення вимог розпочинається насамперед з постановки завдання до проекту, те що від нас вимагається так би мовити в двох словах, а завдання до проекту звучить так:

Завдання проекту

Створити програму, що допоможе диспетчеру таксі виконувати повсякденну роботу. Зберігати дані водіїв, дані автомобілів, замовлення. Передбачити внесення інформації про оплату, тариф, ефір, відсутність оплати, пільгове замовлення. Передбачити: Додавання, видалення та перегляд інформації. Система повинна працювати під різними ОС.

Із завдання до проекту видно, що система, яка повинна бути одержана у результаті має використовуватись певними особами в робочих цілях. Більш чіткий опис споживачів системи та мотиви створення цієї системи описані нижче.

Споживачі системи

Споживачем виступає юридична особа підприємства таксопарку та фізичні особи їх працівників. Фактично, споживачами будуть – диспетчери та адміністрація таксопарку.

Мета проектування

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

При проектуванні данної системи будуть використовуватись наступні терміни:

Словник термінів

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

Диспетчер - користувач, який буде мати доступ тільки до створення та введення даних нового замовлення. Фактично, користувач, що прийматиме замовлення.

Замовлення – фактично, новий запис в таблиці Замовлення з інформацією про замовлення.

Ефір водія– фіксована сума, яку водій повинен заплатити один раз в місяць, працюючи на підприємстві.

Вибір моделі життєвого циклу ПЗ:

Одним з ключових понять проектування інформаційних систем є життєвий цикл проекту - Project Life Cycle Management (PLCM). В загальному випадку, життєвий цикл визначається моделлю й описується у формі методології (методу). Модель або парадигма життєвого циклу визначає загальну організацію ЖЦ і, як правило, основні його фази та принципи переходу між ними. Методологія (метод) визначає комплекс робіт, їх детальний зміст і рольову відповідальність спеціалістів на всіх етапах вибраної моделі ЖЦ; рекомендує практики (best practices), які дозволяють максимально ефективно використовувати відповідну методологію та її модель.

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

Наведемо опис та особливості каскадної моделі життєвого циклу ПЗ

Каскадна (водоспадна) модель

Основна характеристика – cлідуючи каскадній моделі, розробник переходить від однієї стадії до іншої строго послідовно. Спочатку повністю завершується етап «визначення вимог», в результаті чого виходить список вимог до ПЗ. Після того, як вимоги повністю визначені, відбувається перехід до проектування, в ході якого створюються документи, що детально описують для програмістів спосіб і план реалізації зазначених вимог.

Після того як проектування повністю виконане, програмістами виконується реалізація отриманого проекту. На наступній стадії процесу відбувається інтеграція окремих компонентів, що розробляються різними командами програмістів. Після того як реалізація і інтеграція завершені, проводиться тестування і відладка продукту; на цій стадії усуваються всі недоліки, що з'явилися на попередніх стадіях розробки. Після цього програмний продукт впроваджується і забезпечується його підтримка – внесення нової функціональності та усунення помилок. Схема каскадної моделі ЖЦ подана на рисунку 1.

Рисунок 2.1 – Схема каскадної моделі ЖЦ

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

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

  • Аналіз проблеми, постановка задачі і специфікація вимог до майбутньої програми. Як правило, цей етап повинен передбачати взаємодію між виконавцем та замовником. Результатом повинно бути технічне замовлення, сформульоване в письмовому вигляді.

  • Проектування. Повинен бути вибраний метод вирішення задачі та спроектований відповідний алгоритм.

  • Кодування, яке полягає в написанні тексту програми відповідно до розробленого алгоритму.

  • Відлагодження, яке полягає у виявлення та виправленні помилок.

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

  • Тестування повинно бути якомога більш повним, і правильний підбір тестових прикладів часто є дуже непростою задачею. Повинні бути перевірені всі типи вхідних даних і всі можливі варіанти виконання програми. Повинен бути проведений тест в нормальних умовах (дані, характерні для реальних умов фунціонування), тест в екстремальних умовах (перевірка функціонування програми в крайніх випадках, коли вхідні дані перебувають на межі припустимого діапазону) і тест за виняткових обставин (коли вхідні дані виходять за рамки припустимого діапазону).Впровадження і експлуатація.

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

  • Зняття з експлуатації.

До переваг каскадної моделі належать:

– на кожному етапі формується закінчений набір проектної документації, що відповідає критеріям повноти і узгодженості;

– виконувані в логічній послідовності етапи робіт дозволяють планувати терміни завершення всіх робіт і відповідні витрати.

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

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

Обгрунтування вибору:

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

Оскільки всі вимоги до системи відомі нам на етапі проектування і вони будуть незмінними до його здачі, використання спіральної чи іншої ітераційної моделі є надлишковим та ресурсозатратним. Ідеальним варіантом в даному випадку є каскадна модель, тому ми її і обрали.