Життєвого циклу програмного забезпечення
ВІДПОВІДНО ДО РОЛЕЙ У ГРУПІ
Мета роботи – представити результати індивідуальної роботи за етапами життєвого циклу програмного забезпечення, застосовуючи навички міжособистісної комунікації та презентації відповідних документів за допомогою сучасних інформаційних технологій.
СПЕЦИФІКУВАННЯ ПРОГРАМ
Теоретичні відомості
Розроблення програмного забезпечення включає декілька етапів: специфікування програм, аналіз та проектування, кодування, тестування. На кожному етапі створюється відповідний документ. Нині діє єдина система програмної документації (ЄСІІДК), яка встановлює правила розроблення, оформлення програм і програмної документації.
Алгоритм – це строго визначена послідовність дій, спрямована на досягнення окремих цілей за кінцеву кількість кроків.
Опис дій, виконання яких виконавцем опису веде до розв'язання задачі, називається специфікацією. Кінцевий ступінь деталізації дій у специфікації може бути різним і залежать від можливостей виконавця. Частіше виконавцем специфікації передбачається комп'ютер, тому ступінь деталізації повинен бути дуже високим. Специфікація в цьому випадку називається програмою.
Описувані в специфікації дії можуть бути двох типів:
- перетворювальні – забезпечують функції части програми;
- керуючі забезпечують зв‘язкиміж перетворювальними діями і формують структуру програми, забезпечуючи її загальну функцію.
Завдання
1. Створити неформальну постановку завдання відповідно до варіанта, наведеного в таблиці 1.1.
2. Вивчити можливості середовища MS Visio щодо побудови програмної документації.
3. Створити програмну специфікацію на основі постановки завдання.
4. Створити текстовий документ, який містить результаті створення постановки завдання та програмної специфікації.
5.Оформити документ відповідно до ЄСПД та методичних рекомендацій з лабораторної роботи 3.
Таблиця 1 – Варіанти завдань для лабораторної роботи №3
Номер варіанта | Завдання |
Дано цілі числа К, N і набір з N цілих чисел. Якщо в наборі наявне число, менше за К, то прапорець набуває значення True, якщо ні – False. | |
Дано набір ненульових цілих чисел, ознака його завершення – число 0. Підрахувати кількість елементів у наборі | |
Дано набір ненульових цілих чисел, ознака його завершення – число 0. Визначити суму всіх додатних парних чисел з нового набору. Якщо необхідні числа в наборі відсутні, то прапорець набуває значення 0. | |
Дано ціле число К і набір ненульових цілих чисел, ознака його завершення – число 0. Визначити кількість чисел у наборі, менших від К. | |
Дано ціле число К і набір з ненульових цілих чисел, ознака його завершення – число 0. Визначити номер першого числа в наборі, більшого від К. Якщо таких чисел у наборі немає, то вивести 0. | |
Дано ціле число К і набір з ненульових цілих чисел, ознака його завершення – число 0. Вивести номер останнього числа в наборі, меншого від К. Якщо таких чисел у наборі немає, то вивести 0. | |
Дано ціле число N, і набір з N цілих чисел. Визначити номери тих чисел, які менші від свого лівого сусіда, і кількість К таких чисел. | |
Дано ціле число N і набір з N цілих чисел. Визначити номери тих чисел у наборі, які менші від свого правого сусіда, і кількість К таких чисел. | |
Дано ціле числа N і набір з N дійсних чисел. Перевірити, чи утворює цей набір зростаючу послідовність. Якщо утворює, то прапорець набуває значення True, якщо ні – False. | |
Дано ціле числа N і набір з N дійсних чисел. Якщо даний набір утворює спадаючу послідовність, то прапорець набуває значення True, якщо ні – то запам‘ятати номер першого числа, що порушує закономірність. | |
Дано ціле числа N і набір з N дійсних чисел, що містить принаймні два нулі. Визначити суму чисел з цього набору, розташованих між першими двома нулями (якщо перші нулі йдуть підряд, то прапорець набуває значення 0). | |
Дано ціле числа N і набір з N дійсних чисел, що містить принаймні два нулі. Визначити суму чисел з цього набору, розташованих між останніми двома нулями (якщо останні нулі йдуть підряд, то прапорець набуває значення 0). | |
Дано набір з десяти цілочислових елементів. Знайти кількість елементів, розташованих після першого мінімального елемента. | |
Дано набір з десяти цілочислових елементів. Знайти кількість елементів, що розташовані між першим і останнім максимальними елементами. Якщо в наборі є один максимальний елемент, то прапорець набуває значення 0. | |
Напишіть програму, яка знаходить максимальний і мінімальний елементи числового масиву. | |
Дано масив розміру N. Вивести спочатку його елементи з парними індексами, а потім - з непарними. | |
Дано цілочисловий масив А розміру 10. Вивести номер першого з тих його елементів А[i], які задовольняють подвійній нерівності: А[0]< А[i]< А[9]. Якщо таких елементів немає, то вивести 0. | |
Дано цілочисловий масив розміру N. Перетворити його, додавши до парних чисел перший елемент. Перший і останній елементи масиву не змінювати. | |
Дано цілочисловий масив розміру N. Вивести спочатку всі його парні елементи, а потім - непарні. | |
Поміняти місцями мінімальний і максимальний елементи масиву розміру 10. | |
Даний масив розміру 10. Переставити в зворотному порядку елементи масиву, розташовані між його мінімальним і максимальним елементами. | |
Перевірити, чи утворюють елементи цілочислового масиву розміру N арифметичну прогресію. Якщо так, то вивести різницю прогресії, якщо немає – вивести 0. | |
Перевірити, чи утворюють елементи цілочислового масиву розміру N геометричну прогресію. Якщо так, то вивести знаменник прогресії, якщо немає – вивести 0 | |
Даний масив ненульових цілих чисел розміру N. Перевірити, чи чергуються в ньому парні і непарні числа. Якщо чергуються, то вивести 0, якщо ні, то вивести номер першого елементу, що порушує закономірність. | |
Даний масив ненульових цілих чисел розміру N. Перевірити, чи чергуються в ньому додатні і від‘ємні числа. Якщо чергуються, то вивести 0, якщо ні, то вивести номер першого елементу, що порушує закономірність. | |
Дане дійсне число R і масив розміру N. Знайти елемент масиву, який найбільш близький до даного числа. | |
Дане дійсне число R і масив розміру N. Знайти два елементи масиву, сума яких якнайменше близька до даного числа. | |
Дано цілочисловий масив розміру N. Обнулити всі елементи масиву, що зустрічаються більше двох разів. | |
Дані два впорядкованих за збільшенням одновимірних масиву. Скласти з них третій масив, впорядкований по убуванню | |
Напишіть програму, яка дозволяє знайти в заданому інтервалі всі досконалі числа. Нагадаємо, що натуральне число називається досконалим, якщо воно рівне сумі всіх своїх дільників, не рахуючи його самого. |
Контрольні питання
1. Дайте визначення алгоритму.
2. Що таке програмна специфікація?
3. Які типи дій описуються в програшній специфікації?
4. Що таке програма?
5. Назвіть основні правила побудови програмної специфікації.
Лабораторна робота № 4.
АНАЛІЗ ПРОЕКТУВАННЯ
ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Теоретичні відомості
Мета аналізу і проектування – виявлення ясної і відносно простої внутрішньої структури. Продуктом аналізу й проектування є моделі, що дозволяють розробникам і замовникам зрозуміти структуру майбутньої системи, збалансувати вимоги й узгодити схему реалізації. Кожна система потребує моделювання різних аспектах (функціональності, поведінки, архітектури), для чого використовуються різні типи моделей. Для моделювання програмного забезпечення зараз широко використовують візуальні моделі, які с наочними діаграмами, що будуються за допомогою спеціальних віртуальних мов. Однією з сучасних мов візуального моделювання с універсальна мова моделювання UML. Моделювання програмного забезпечення за допомогою UML передбачає побудову множини діаграм різних типів у процесі покрокового спускання від найбільш загальної моделі програмного забезпечення до його окремих модулів. До таких діаграм входять діаграми варіантів використання (Usa Case diagram) та діаграми діяльності (Activity diagram).
Діаграми варіантів використання застосовуються для моделювання функціональності програмного забезпечення та дозволяють створити список його функцій.
Діаграми діяльності застосовуються для моделювання процесів виконання функцій програмного забезпечення. На діаграмі діяльності відображається логіка або послідовність діяльностей, які виконуються для реалізації функції.
Методичні рекомендації
Застосування діаграм варіантів використання та діяльності розглянемо нижче на прикладі побудови моделі системи управління банкоматом.
Опис предметної області
Банкомат – це автомат для видачі готівки за кредитними пластиковими картками. До його складу входять такі пристрої; дисплей, панель управління з кнопками, приймач кредитних карток, сховище готівки та лоток для видачі, принтер для друку довідок.
Банкомат зв‘язаний з комп‘ютером банку, де зберігаються відомості про рахунки клієнтів. Обслуговування клієнта розпочинається з моменту розміщення пластикової картки в банкомат. Після розпізнання типу пластикової картки банкомат видає на дисплей запрошення ввести персональний код – чотирьохзначне число (ПІН код). Банкомат перевіряє правильність введеного коду і дозволяє клієнту вибрати операцію або зняття готівки, або перевірки залишку рахунку.
Якщо клієнт обирає зняття готівки, він повинен вказати суму (10, 50, 100, 200, 500, 1000 грн)
На дисплеї формується повідомлення про друк довідки, а банкомат посилає запит головному комп‘ютерові банку. Якщо дозвіл на операцію отримано, банкомат перевіряє наявність коштів у своєму сховищі. На дисплей виводиться повідомлення „Вийміть картку”. Після виймання картки банкомат видає вказану суму готівки до лотка. Банкомат друкує довідку про операцію, якщо вона була затребувана клієнтом. Коли ж клієнт бажає отримати інформацію про залишок на рахунку, він обирає відповідний пункт меню, банкомат посилає запит до головного комп‘ютера банку і виводить суму на екран, або друкує довідку за бажанням клієнта.
Глосарій
Банкомат – термінал, який дає можливість клієнту здійснити трансакцію, використовуючи для ідентифікації свою пластикову картку. Банкомат взаємодіє з клієнтом для отримання необхідної інформації для трансакції та з головним комп‘ютером банку, який одержує інформацію, перевіряє та видає дозвіл обо заперечує проведення трансакції.
Картка – електронна пластикова картка клієнта. Кожна картка містить код банку, номер картки, персональний код клієнта.
Клієнт – власник одного або декількох рахунків у банку.
Трансакція – одиничний інтегрований запит на виконання деякої послідовності операцій над рахунками одного клієнта.
Рахунок – одиничний банківський рахунок, над яким виконуються транзакції. Клієнт може мати декілька рахунків.
Побудова діаграми
Варіантів використання
Для побудови діаграми варіантів використання моделі банкомату (рис.1.1) необхідно виділити акторів і прецеденти.
|
|
|
|
|
|
|
|
Рис.1.1 – Діаграми варіантів використання моделі банкомату
Актори:
- актор на ім‘я Банк;
- актор на ім‘я Клієнт банкомату
Прецеденти:
- отримання довідки про стан рахунку;
- зняття готівки;
- перевірка ПІН-коду;
- блокування кредитної картки.
Діаграма діяльності банкомату показана на рис.1.2
[Сума перевищує кредит?]
[ПІН-код правильний?]
Ні
Рис.1.2 – Діаграма діяльності моделі банкомату
Завдання
1. Вивчити можливості мови UML щодо діаграм варіантів використання та діяльності.
2. Вивчити можливості MS Vіsio щодо побудови UML-діаграм,
3. Виконати елемента аналізу та проектування програмного забезпечення згідно з індивідуальним варіантом, наведеним у табл. 1.2, який містить стислі вимоги, та методичними рекомендаціями, використовуючи можливості діаграм варіантів використання та діяльності UML.
4. Створити документ, який презентує результати аналізу та проектування програмного забезпечення і містить постановку задачі; словник предметної області (глосарій); діаграму використання, діаграму діяльності.
Таблиця 1.2
Номер варіанта | Назва системи | Опис системи |
Система клімат контролю | Дозволяє встановлювати і підтримувати температуру і вологість повітря у кімнаті | |
Мобільний телефон | Дозволяє дзвонити шляхом набору номера або вибором з телефонної книги, відповідати на дзвінки або блокувати їх | |
Музичний центр | Має у своєму складі програвач компакт-дисків, касетний магнітофон з можливістю запису, радіоприймач і годинники. Можна відтворювати або записувати музичну інформацію за допомогою ручного керування або за часом | |
Інформаційна система бібліотеки | Дозволяє шукати книги у своєму каталозі, враховувати видачу книг на руки й повернення книг | |
Інформаційна система поліклініки | Дозволяє ставити і знімати хворих з обліку, записувати хворих на прийом до лікарів, ураховувати факт прийому | |
Інформаційна система деканату | Дозволяє приймати й відраховувати студентів, вести облік успішності за підсумками сесії, переводити студентів із групи в групу й з курсу на курс | |
Система миттєвого обміну пові-домленнями | Дозволяє реєструвати й анулювати абонентів, дозволяє абонентам підключатися й відключатися від системи і дозволяє підключеним абонентам обмінюватися текстовими повідомленнями в реальному часі | |
Інформаційна система складу | Дозволяє враховувати надходження й відхід товарів зі складу, а також визначати місце зберігання товарів на складі | |
Система обліку робочого часу | Дозволяє керівникам видавати завдання й відслідковувати хід їхнього виконання, а виконавцям – вести облік робочого часу, витраченого на виконання кожного завдання | |
Інформаційна система житлового агентства | Дозволяє квартиронаймачам дібрати й зняти житло, а власникам житла – запропонувати й здати житло | |
Інформаційна система технічної експертизи | Дозволяє здобувачам грантів подавати заявки, незалежним експертам оцінювати заявки, в власникам фонду ухвалювати рішення щодо видачі грантів за результатами експертизи заявок | |
Інформаційна система поповнення рахунку | Дозволяє клієнтам поповнити рахунок за використання мобільного зв‘язку | |
Торговельний автомат | Має у своєму складі лоток для приймання грошей, лоток для видачі товару, кнопки управління, контейнер для зберігання товарів, контейнер для зберігання грошей. Служить для купівлі обраного товару | |
Касовий апарат у торговому центрі | Має у своєму складі сканер, який дозволяє відсканувати штрих-код товару, перевірити в базі даних наявність і ціну товару, сформувати чек і залишок товару в базі даних | |
Картотека Інтерполу | Має в своєму складі дані по кожному зареєстрованому злочинцю:ім‘я, ріст, колір волосся, громадянство. Перенесення в архів, якщо «зав‘язали», видалення тільки після смерті. Створити отримання довідки про конкретну людину. | |
Довідник власника відеотеки | Має в своєму складі базу відеофільмів: назва, студія, жанр, рік, режисер. Перевірити факт наявності фільму в відеотеці. | |
База даних домашньої бібліотеки | Картотека домашньої бібліотеки: вихідні дані книги (автори, назва, видавництво і так далі), розділ бібліотеки (спеціальна література, хобі, домашнє господарство). Вибрати книгу за довільним запитом. | |
Інформаційна база бюро знайомств. | База потенційних женихів і наречених: стать, реєстраційний номер, дата реєстрації, відомості про себе, вимоги до партнера. Вибір кандидатур, видалення клієнтів, що відмовилися від послуг і видача нобхідної інформації. | |
Електронний записник | Адреси, телефон, місце роботи або навчання, посаду знайомих, колег і родичів, характер знайомства, ділові якості і так далі. Автоматичне формування поздоровлення з днем народження. Впорядкування за абеткою. Пошук за довільним шаблоном | |
Інформаційна база адміністратора готелю | Список номерів: клас, число місць. Список гостей: паспортні дані, дати приїзду і від'їзду, номер. Поселення гостей: вибір відповідного номера, реєстрація, оформлення квитанції, від'їзд постояльців, звільнення місця або оформлення затримки з випискою додаткової квитанції. Можливість дострокового від'їзду з перерахунком. Пошук гостей за довільною ознакою. | |
Довідник працівника ГІБДД. | Марка, колір, заводський і бортовий номери, дата випуску, колір, дата останнього техогляду, паспортні дані власника. Вибір транспортних засобів за довільним шаблоном. Формування запрошень на техогляд відповідно до терміну. | |
Інформаційна база ломбарду | Назва товарів, що зберігаються, анкетні дані клієнтів, оцінна вартість; сума, видана під заставу, дата здачі, термін зберігання. Прийом товару, повернення, термін зберігання. Видача довідок. | |
Інформаційний довідник абітурієнта | Найменування, адреса, перелік спеціальностей вузу, конкурс минулого року по кожній спеціальності, розмір оплати при договірному навчанні. Вибір інформації за різними критеріями: | |
Інформаційна база ріелторської фірми | База пропозицій по обміну: район, площа, планування,і вимоги до варіантів обміну. Реєстрація клієнтів, вибір відповідних варіантів, видалення при обміні або відмові. Видача довідок. | |
Довідник шеф-кухара | База рецептур блюд: розкладка, рецепт приготування. База продуктів на складі: найменування, ціна, кількість. Формування меню на день (на задане число персон); звана вечеря. Перевірка запасів; формування накладної; коректування запасів. Видача рецепту. |
Контрольні питання
1. Що таке візуальне моделювання системи?
2. Для чого призначена діаграма варіантів використання?
3. Для чого призначена діаграмі діяльності?
4. Правила побудови діаграм у MS Visio.
Лабораторна робота №5
ОРГАНІЗАЦІЯ ТА ПЛАНУВАННЯ РОБІТ У ГРУПІ
Завдання
1.Вивчити можливості пакету MS Visio щодо створення організаційної структури.
2. Створити організаційну діаграму своєї робочої групи. Розподілити ролі. Дані експортувати для звіту в текстовий документ.
3. Вивчити можливості пакету MS Visio щодо створення діаграми Ганта.
4. Наприклад, ваша група виконує проект, що включає наступні етапи: аналіз завдання, кодування, тестування впродовж 10 днів. Розподілити етапи між виконавцями. Створити діаграму Ганта для номерів завдань, взятих з варіантів лабораторної роботи № 4.
Контрольні питання
1. Ще таке робоча група?
2. Охарактеризуйте поняття „роль”.
3. Яким чином розподіляються ролі в групі?
4. Що відображається на організаційній діаграмі?
5. Яким чином відображається зв’язокміж завданнями на діаграмі Ганта?
6. Як відбувається планування робіт проекту?
Лабораторна робота № 6 (За бажанням)
Створення презентації на задану тему з використанням шаблонів використовуючи варіанти лабораторної роботи № 4