
- •Загальні методичні вказівки
- •Лабораторна робота №1 Ядро професійних знань swebok, як основа проектування пз та стандарт iso/iec 12207:95.
- •Лабораторна робота №2,3 Використання прогнозованих моделей на практиці. Вивчення технології red.
- •Лабораторна робота №4,5 Побудова опорних точок зору на основі методу vord для формування аналізу вимог. Складання сценаріїв основних подій. Розробка технічного завдання на створення пз.
- •Лабораторна робота № 6 Побудова dfd, erd I sdt діаграм і специфікації процесів
- •Лабораторна робота № 7 Побудова структурних карт Константайна та Джексона
- •Лабораторна робота № 8-9 Ознайомлення з інструментальним середовищем Врwin. Розробка sadt-моделі
- •Перелік використаних джерел Основна література
- •Додаткова література
Зміст
ВСТУП ………………………………………………….. |
4 |
Лабораторна робота 1. Ядро професійних знань SWEBOK, як основа проектування ПЗ та стандарт ISO/IEC 12207:95………………………………………… |
7 |
Лабораторна робота № 2,3 Використання прогнозованих моделей на практиці. Вивчення технології RED………………………………. |
12 |
Лабораторна робота № 4,5 Побудова опорних точок зору на основі методу VORD для формування аналізу вимог. Складання сценаріїв основних подій. Розробка технічного завдання на створення ПЗ……………………………………………… |
14 |
Лабораторна робота № 6 Побудова DFD, ERD I SDT діаграм і специфікації процесів……………………………………………………... |
17 |
Лабораторна робота № 7 Побудова структурних карт Константайна та Джексона |
20 |
Лабораторна робота № 8-9 Ознайомлення з інструментальним середовищем Врwin.Розробка SADT-моделі………………………….. |
21 |
Перелік використаних джерел ………………………….. |
73 |
ВСТУП
Метою дисципліни «Архітектура та проектування програмного забезпечення» є навчити студента володіти сучасними методами і засобами проектування програмного забезпечення, які базуються на міжнародних стандартах і використанні CASE-технології, а також формування навичок їх самостійного практичного застосування. Для цього необхідно:
дати студентам уявлення про кожен етап життєвого циклу програми від проектування, до впровадження та супроводу;
врахувати офіційно затверджені і визнані де-факто міжнародні та вітчизняні стандарти в галузі програмної інженерії і перш за все стандарт ISO 12207, на якому базуються майже всі сучасні промислові технології створення ПЗ;
розглянути особливості проектування програмного забезпечення при структурному підході;
розглянути методології структурного аналізу та проектування;
розглянути сучасний стан розвитку CASE-засобів і промислових технологій проектування ПЗ.
Дана дисципліна сприяє фундаменталізації освіти, формуванню наукового світогляду і розвитку системного мислення. Знання та практичні навички, отримані в курсі, використовуються для подальшої дипломної роботи бакалавра.
В результаті вивчення дисципліни студенти повинні знати:
технології розробки ПЗ;
структуру та архітектуру ПЗ;
стратегії та методи проектування ПЗ;
нотації та засоби підтримки проектування.
вміти:
вибирати потрібну для розробки модель життєвого циклу;
вибирати потрібну технологію для проектування програмного забезпечення;
проектувати архітектуру ПЗ з використанням методології структурного аналізу та проектування;
використовувати потрібні знання при виконанні проектів і випускних кваліфікаційних робіт, а також в ході наукових досліджень.
мати:
навички проектування, оцінки якості і аналізу ефективності програмного забезпечення;
навички роботи з CASE-засобом Bpwim4.1.
Для освоєння дисципліни будуть задіяні такі види навчальних занять: лекції, лабораторні заняття, самостійна та індивідуальна робота. Контроль і оцінювання знань буде здійснюватись як протягом семестру – шляхом поточного тестування, приймання лабораторних робіт, так і за його підсумками у вигляді екзамену.
Загальні методичні вказівки
До початку виконання роботи викладач знайомить студентів з системою оцінювання знань з кожної лабораторної роботи, згідно з робочою програмою.
Порядок виконання роботи:
Підготовка до виконання роботи (попереднє опрацювання теоретичного матеріалу за конспектом лекцій і рекомендованою літературою).
Виконання типового навчального завдання.
Захист роботи.
Захист роботи:
Захист лабораторної роботи полягає у:
– контролі досягнення студентом мети роботи;
– контролі наявності знань у студента з даної роботи.
Загальні вимоги до оформлення звітів з лабораторних робіт:
Звіт повинен включати:
Титульний аркуш.
Мету та завдання до лабораторної роботи.
Результати виконаної роботи.
Висновки.
Перелік посилань на джерела.
Додатки (при необхідності).
Лабораторна робота №1 Ядро професійних знань swebok, як основа проектування пз та стандарт iso/iec 12207:95.
Мета: ознайомитися з основними документами проектування ПЗ.
Теоретичні відомості:
Протягом всього часу навчання на кафедрі ми вивчаємо програмування. Програмування (Computer science) – молода область, що активно розвивається.
Довгий час людство хвилює питання про те, до якого роду діяльності відноситься програмування. У 60-х – 70-х роках XX століття дане питання активно обговорювалося на наукових конференціях. Існувало дві популярні точки зору: «програмування це мистецтво» і «програмування це наука». До єдиної думки прийти так і не вдалося. Зараз ми можемо додати до цих популярних трактувань ще одне: «програмування це бізнес». Щоб це зрозуміти, достатньо подивитися на дохід сучасних IT-компаній.
IT-проекти – проекти в області інформаційних технологій. Далі розглядатимемо лише ті IT-проекти, метою яких є розробка програмного забезпечення.
Задамося наступними питаннями:
•Що таке програмне забезпечення (ПЗ)?
•Чим ПЗ відрізняється від звичайної програми?
•«Калькулятор» – це програма. Чи є вона ПЗ?
Програмне забезпечення (Software) – набір комп'ютерних програм, процедур і пов'язаної з ними документації та даних (ISO/IEC 12207) [1].
Таким чином, програмне забезпечення – це не просто програма. Це ще і документація і настанова користувача [2].
Замість словосполучення «програмне забезпечення» часто використовують інше – «програмний продукт». Далі вважатимемо, що це одне і те ж. Одна з головних властивостей програмного продукту – його можна продати. Можливість продажу програмного продукту – запорука успіху бізнесу з розробки програмного забезпечення. Якщо ви збираєтеся щось розробити, це повинно бути затребувано на ринку. Інакше ви витратите гроші на розробку (зарплату співробітників, накладні витрати, податки, оренду приміщення...) і нічого не отримаєте взамін. Ви можете написати чудову програму. Реалізувати там новий швидкий алгоритм. Вона може прекрасно працювати, але якщо вона нікому не потрібна, то ви (як компанія) на шляху банкрутства. Нехай, в таких програмах, як ваша, дійсно є потреба. Нехай, ви рік наполегливо працювали, і ось, здавалося б, настала ваша зоряна година: все готово, всі модулі написані, відлагоджені, зібрані разом і, як вам здається, працюють. Один «маленький» момент псує всю картину – якщо у вас немає хорошої (!) настанови користувача (інструкції), бажано, в російськомовному і англомовному варіантах, то вашу програму ніхто не купить, особливо за кордоном. Якщо у вас все є, але немає фахівців з реклами, то про вашу програму ніхто не дізнається. Якщо ..., і таких якщо дуже багато.
Підсумуємо: програмний продукт – це програма зі всією супутньою документацією, програма, яку можна продати, або витягувати з нею фінансову вигоду іншим чином.
Для того, щоб бізнес був успішним, необхідне (але не достатньо) виконання багатьох умов:
•Продукт повинен виходити на ринок:
- належної якості;
- вчасно;
- цікавим потенційним користувачам.
•Витрати повинні відповідати початковому бюджету.
На жаль, ситуація така, що багато проектів не задовольняють цим, здавалося б природнім умовам. Більшість проектів закінчилися невдачею – мета взагалі не була досягнута, інші закінчилися створенням продукту, але перевищили бюджет або (і) не уклалися в час або (і) мають лише часткову функціональність, і лише частина – це успішні: закінчилися створенням продукту, вклалися до бюджету і в час. Вся планована функціональність реалізована.
Для того, щоб підвищити об'єми ринку, необхідно підвищити показник успішності проектів, для чого галузь потребує не тільки нових технологій, але і в грамотних фахівцях, здатних ці технології застосовувати.
У зв'язку з цим світова комп'ютерна спільнота прийшла до необхідності систематизації накопичених знань і загальні з них зафіксувати у вигляді ядер знань (Body of Knowledge – BOK) для різних областей інформатики [3]. Для створення ядра знань ПЗ був створений міжнародний комітет при американському об'єднанні комп'ютерних фахівців ACM (Association for Computing Machinery) і інституті інженерів по електроніці і електротехніці IEEE Computer Society. До комітету увійшли фахівці світового рівня в області інформатики і розробки ПЗ, які внесли свій досвід і знання, а також систематизували накопичені різнорідні знання і визначили (1999г., 2001г., 2004г.) ядро професійних знань SWEBOK (Software Engineering Body Knowledge) програмної інженерії [4], як основи проектування ПЗ. Ядро включає суму знань, розподілену по 10 спеціалізованим областям, які відображають окремі процеси проектування ЖЦ ПЗ і методи їх підтримки.
Хід роботи:
Дати аналіз і характеристику базового документу, що відображає думку багатьох зарубіжних і вітчизняних фахівців в області програмної інженерії - SWEBOK.
Пояснити область знань «Проектування ПЗ» за наступним планом:
базові концепції проектування ПЗ (Software Design Basic Concepts)
ключові питання проектування ПЗ (Key Issue in Software Design)
структура і архітектура ПЗ (Software Structure and Architecture)
аналіз і оцінка якості проектування ПЗ (Software Design Quality Analysis and
Evaluation),
нотації проектування ПЗ (Software Design Notations)
стратегія і методи проектування ПЗ (Software Design Strategies and Methods).
Контрольні питання:
Назвіть області знань SWEBOK інженерії розробки ПЗ.
Приведіть базові поняття SWEBOK.
Визначите цілі і завдання області знань – проектування ПЗ.
З якими стандартами узгоджуються ядра знань SWEBOK.
Який міжнародний стандарт визначає перелік і зміст процесів ЖЦ програмного продукту?
Які розділи ядра знань і стандарту найбільш необхідні при розробці програмних систем.