Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_2012_лек.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
4.77 Mб
Скачать

Зміст

ВСТУП

……..……………………………………………..

4

ЛЕКЦІЯ 1

ЯДРА ЗНАНЬ SWEBOK………………………..

6

ЛЕКЦІЯ 2.

ЖИТТЄВИЙ ЦИКЛ І ЕТАПИ РОЗРОБКИ ПЗ..

17

ЛЕКЦІЯ 3.

ЕВОЛЮЦІЯ МОДЕЛЕЙ ЖИТТЄВОГО ЦИКЛУ ПЗ………………………………………………….

25

ЛЕКЦІЯ 4.

ОЦІНКА ЯКОСТІ ПРОЦЕСІВ СТВОРЕННЯ ПЗ

37

ЛЕКЦІЯ 5.

ВИЗНАЧЕННЯ ВИХІДНИХ ДАНИХ ДЛЯ ПРОЕКТУВАННЯ ПЗ…………………………..

43

ЛЕКЦІЯ 6.

РОЗРОБКА ТЕХНІЧНОГО ЗАВДАННЯ………

67

ЛЕКЦІЯ 7.

ПРИНЦИПОВІ РІШЕННЯ ПОЧАТКОВИХ ЕТАПІВ ПРОЕКТУВАННЯ…………………….

78

ЛЕКЦІЯ 8.

АНАЛІЗ ВИМОГ І ВИЗНАЧЕННЯ СПЕЦИФІКАЦІЙ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ПРИ СТРУКТУРНОМУ ПІДХОДІ…………………………………………..

89

ЛЕКЦІЯ 9.

ДІАГРАМИ ПОТОКІВ ДАНИХ…………………

107

ЛЕКЦІЯ 10.

ДІАГРАМИ «СУТНІСТЬ-ЗВ’ЯЗОК»……………

127

ЛЕКЦІЯ 11.

ПРИКЛАДИ ПОБУДОВИ ДІАГРАМ ТА СПЕЦИФІКАЦІЇ ПРОЦЕСІВ…………………….

138

ЛЕКЦІЯ 12.

ДІАГРАМИ ПЕРЕХОДІВ СТАНІВ………………..

147

ЛЕКЦІЯ 13.

ПРОЕКТУВАННЯ ПЗ

ПРИ СТРУКТУРНОМУ ПІДХОДІ……………..

152

ЛЕКЦІЯ 14.

МЕТОДОЛОГІЇ СТРУКТУРНОГО АНАЛІЗУ І ПРОЕКТУВАННЯ……………………………….

180

ЛЕКЦІЯ 15-16.

СИНТАКСИС ДІАГРАМ……………………….

192

ЛЕКЦІЯ 17.

ПОБУДОВА SADT-ДІАГРАМ…………………

211

ЛЕКЦІЯ 18.

ДОПОВНЕННЯ ДО ДІАГРАМ І МОДЕЛЕЙ…

221

Перелік використаних джерел …………………

237

ВСТУП

Метою дисципліни «Архітектура та проектування програмного забезпечення» є навчити студента володіти сучасними методами і засобами проектування програмного забезпечення, які базуються на міжнародних стандартах і використанні CASE-технології, а також формування навичок їх самостійного практичного застосування. Для цього необхідно:

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

  • врахувати офіційно затверджені і визнані де-факто міжнародні та вітчизняні стандарти в галузі програмної інженерії і перш за все стандарт ISO 12207, на якому базуються майже всі сучасні промислові технології створення ПЗ;

  • розглянути особливості проектування програмного забезпечення при структурному підході;

  • розглянути методології структурного аналізу та проектування;

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

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

В результаті вивчення дисципліни студенти повинні знати:

  • технології розробки ПЗ;

  • структуру та архітектуру ПЗ;

  • стратегії та методи проектування ПЗ;

  • нотації та засоби підтримки проектування.

  • вміти:

  • вибирати потрібну для розробки модель життєвого циклу;

  • вибирати потрібну технологію для проектування програмного забезпечення;

  • проектувати архітектуру ПЗ з використанням методології структурного аналізу та проектування;

  • використовувати потрібні знання при виконанні проектів і випускних кваліфікаційних робіт, а також в ході наукових досліджень.

мати:

  • навички проектування, оцінки якості і аналізу ефективності програмного забезпечення;

  • навички роботи з CASE-засобом Bpwim4.1.

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

Лекція 1. Тема: ядра знань swebok

Протягом всього часу навчання на кафедрі ми вивчаємо програмування. Програмування (Computer science) – молода область, що активно розвивається.

Довгий час людство хвилює питання про те, до якого роду діяльності відноситься програмування. У 60-х – 70-х роках XX століття дане питання активно обговорювалося на наукових конференціях. Існувало дві популярні точки зору: «програмування це мистецтво» і «програмування це наука». До єдиної думки прийти так і не вдалося. Зараз ми можемо додати до цих популярних трактувань ще одне: «програмування це бізнес». Щоб це зрозуміти, достатньо подивитися на дохід сучасних IT-компаній.

IT-проекти – проекти в області інформаційних технологій. Далі розглядатимемо лише ті IT-проекти, метою яких є розробка програмного забезпечення.

Задамося наступними питаннями:

• Що таке програмне забезпечення (ПЗ)?

•Чим ПЗ відрізняється від звичайної програми?

•«Калькулятор» – це програма. Чи є вона ПЗ?

Програмне забезпечення (Software) – набір комп'ютерних програм, процедур і пов'язаної з ними документації та даних (ISO/IEC 12207) [1].

Таким чином, програмне забезпечення – це не просто програма. Це ще і документація і настанова користувача [2].

Замість словосполучення «програмне забезпечення» часто використовують інше – «програмний продукт». Далі вважатимемо, що це одне і те ж. Одна з головних властивостей програмного продукту – його можна продати. Можливість продажу програмного продукту – запорука успіху бізнесу з розробки програмного забезпечення. Якщо ви збираєтеся щось розробити, це повинно мати потребу на ринку. Інакше ви витратите гроші на розробку (зарплату співробітників, накладні витрати, податки, оренду приміщення...) і нічого не отримаєте взамін. Ви можете написати чудову програму. Реалізувати там новий швидкий алгоритм. Вона може прекрасно працювати, але якщо вона нікому не потрібна, то ви (як компанія) на шляху банкрутства. Нехай, в таких програмах, як ваша, дійсно є потреба. Нехай, ви рік наполегливо працювали, і ось, здавалося б, настала ваша зоряна година: все готово, всі модулі написані, відлагоджені, зібрані разом і, як вам здається, працюють. Один «маленький» момент псує всю картину – якщо у вас немає хорошої (!) настанови користувача (інструкції), бажано, в російськомовному і англомовному варіантах, то вашу програму ніхто не купить, особливо за кордоном. Якщо у вас все є, але немає фахівців з реклами, то про вашу програму ніхто не дізнається. Якщо ..., і таких якщо дуже багато.

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

Для того, щоб бізнес був успішним, необхідне (але не достатньо) виконання багатьох умов:

•Продукт повинен виходити на ринок:

- належної якості;

- вчасно;

- цікавим потенційним користувачам.

•Витрати повинні відповідати початковому бюджету.

На жаль, ситуація така, що багато проектів не задовольняють цим, здавалося б природнім умовам. Більшість проектів закінчилися невдачею – мета взагалі не була досягнута, інші закінчилися створенням продукту, але перевищили бюджет або (і) не уклалися в час або (і) мають лише часткову функціональність, і лише частина – це успішні: закінчилися створенням продукту, вклалися до бюджету і в час. Вся планована функціональність реалізована.

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

У зв'язку з цим світова комп'ютерна спільнота прийшла до необхідності систематизації накопичених знань і загальні з них зафіксувати у вигляді ядер знань (Body of Knowledge – BOK) для різних областей інформатики [4]. Для створення ядра знань ПЗ був створений міжнародний комітет при американському об'єднанні комп'ютерних фахівців ACM (Association for Computing Machinery) і інституті інженерів по електроніці і електротехніці IEEE Computer Society. До комітету увійшли фахівці світового рівня в області інформатики і розробки ПЗ, які внесли свій досвід і знання, а також систематизували накопичені різнорідні знання і визначили (1999г., 2001г., 2004г.) ядро професійних знань SWEBOK (Software Engineering Body Knowledge) програмної інженерії [5], як основи проектування ПЗ. Ядро включає суму знань, розподілену по 10 спеціалізованим областям, які відображають окремі процеси проектування ЖЦ ПЗ і методи їх підтримки.