Технологія програмування та основні етапи її розвитку. Життєвий цикл розробки програмного забезпечення. Лекция 1

Содержание

Слайд 2

Технологія програмування

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

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

Слайд 3

Технологія програмування

Технологія програмування

Слайд 4

Перший етап розвитку

Перший етап - «стихійне» програмування. (етап охоплює період від моменту

Перший етап розвитку Перший етап - «стихійне» програмування. (етап охоплює період від
появи перших обчислювальних машин до середини 60-х років XX ст. )
У цей період практично були відсутні сформульовані технології, і програмування фактично було мистецтвом.
Перші програми:
мали найпростішу структуру;
складалися з програми на машинній мові і оброблюваних даних.
Складність програм в машинних кодах обмежувалася здатністю програміста одночасно подумки відстежувати послідовність виконуваних операцій і місцезнаходження даних при програмуванні.

Слайд 5

Другий етап розвитку

Другий етан - структурний підхід до програмування (60- 70-ті роки

Другий етап розвитку Другий етан - структурний підхід до програмування (60- 70-ті
XX ст.). 
Структурний підхід до програмування являє собою сукупність рекомендованих технологічних прийомів, що охоплюють виконання всіх етапів розробки програмного забезпечення. В основі структурного підходу лежить декомпозиція (розбиття на частини) складних систем з метою подальшої реалізації у вигляді окремих невеликих (до 40-50 операторів) підпрограм. З появою інших принципів декомпозиції (об'єктного, логічного і т. д.) Даний спосіб отримав назву процедурної декомпозиції.

Слайд 6

Третій етап розвитку

Третій етап - об'єктний підхід до програмування (з середини 80-х

Третій етап розвитку Третій етап - об'єктний підхід до програмування (з середини
до кінця 90-х років XX ст.). Об'єктно-орієнтоване програмування визначається як технологія створення складного програмного забезпечення, яке базується на уявленні програми у вигляді сукупності об'єктів, кожен з яких є екземпляром певного типу (класу), а класи утворюють ієрархію з успадкуванням властивостей.
Об'єктна структура програми вперше була використана в мові імітаційного моделювання складних систем Simula, який з'явився ще в 60-х роках XX ст. Природний для мов моделювання спосіб представлення програми отримав розвиток в іншому спеціалізованому мові моделювання - мовою Smalltalk (70-ті роки XX ст.), А потім був використаний в нових версіях універсальних мов програмування, таких як Pascal, C ++, Modula, Java.

Слайд 7

Четвертий етап розвитку

Четвертий етап - компонентний підхід і CASE-технологни (з середини 90-х

Четвертий етап розвитку Четвертий етап - компонентний підхід і CASE-технологни (з середини
років XX ст. до нашого часу). 
Компонентний підхід передбачає побудову програмного забезпечення з окремих компонентів - фізично окремо існуючих частин програмного забезпечення, які взаємодіють між собою через стандартизовані виконавчі інтерфейси.
На відміну від звичайних об'єктів об'єкти-компоненти можна зібрати в бібліотеки, що  викликаються динамічно або виконувані файли, поширювати в двійковому вигляді (без вихідних текстів) і використовувати в будь-якій мові програмування, що підтримує відповідну технологію. На сьогодні ринок об'єктів став реальністю, так в Інтернеті існують вузли, що надають велику кількість компонентів.
Це дозволяє програмістам створювати продукти, хоча б частково складаються з повторно використаних частин, тобто використовувати технологію, яка добре зарекомендувала себе в області проектування апаратури.

Слайд 8

Життєвий цикл розробки

Терміном життєвий цикл (ЖЦ) прийнято відображати сукупність процесів і етапів розвитку організмів

Життєвий цикл розробки Терміном життєвий цикл (ЖЦ) прийнято відображати сукупність процесів і
живої природи, технічних систем, продуктів виробництва від моментів зародження або появи потреби їх створення і використання до припинення функціонування або застосування.

Слайд 9

Життєвий цикл розробки

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

Життєвий цикл розробки Програмні засоби служать для виконання певних функцій систем на комп'ютерах.

Слайд 10

Життєвий цикл розробки

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

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

Слайд 11

Життєвий цикл розробки

Загальну модель життєвого циклу складної системи поділяють на такі основні

Життєвий цикл розробки Загальну модель життєвого циклу складної системи поділяють на такі
етапи:
визначення потреб;
дослідження і опис основних концепцій;
проектування і розробка;
випробування системи;
створення і виробництво;
розповсюдження та продаж;
експлуатація;
супровід і моніторинг;
зняття з експлуатації (утилізація).

Слайд 12

Життєвий цикл розробки

Життєвий цикл розробки

Слайд 13

Життєвий цикл розробки

Життєвий цикл розробки

Слайд 14

Життєвий цикл розробки

За особливостями і властивостями життєвого циклу програм їх доцільно ділити

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

Слайд 15

Життєвий цикл розробки

Перший клас складають відносно невеликі програми, що створені одинаками або невеликими

Життєвий цикл розробки Перший клас складають відносно невеликі програми, що створені одинаками
колективами (3-5) фахівців, які:
створюються переважно для отримання конкретних результатів автоматизації наукових досліджень або для аналізу щодо простих процесів самими розробниками програм;
не призначені для масового тиражування і розповсюдження як програмного продукту на ринку, їх оцінюють якісно і інтуїтивно переважно як «художні твори»;
не мають конкретного незалежного замовника-споживача, що визначає вимоги до програм і їх фінансування;
не обмежуються замовником допустимої вартістю, трудомісткістю і термінами їх створення, вимогами заданої якості і документування;
не підлягають незалежному тестуванню, гарантування якості і / або сертифікації.

Слайд 16

Життєвий цикл розробки

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

Життєвий цикл розробки Другий клас складають великомасштабні комплекси програм для складних систем
обробки інформації, що оформляються у вигляді програмних продуктів з гарантованою якістю, і відрізняються наступними особливостями і властивостями їх життєвого циклу:
велика розмірність, висока трудомісткість і вартість створення таких комплексів програм визначають необхідність ретельного аналізу економічної ефективності всього їх життєвого циклу і можливої ​​конкурентоспроможності на ринку;
від замовника, що фінансує проект програмного засобу та / або бази даних, розробникам необхідно отримувати кваліфіковані конкретні вимоги до функцій і характеристикам проекту і продукту, відповідні виділеному фінансуванню і кваліфікації виконавців проекту;

Слайд 17

Життєвий цикл розробки

для організації та координації діяльності фахівців-розробників при наявності єдиної, великої

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

Слайд 18

Архітектура процесів життєвого циклу

Процес програмної інженерії має ієрархічну архітектуру, включаючи безліч процесів життєвого

Архітектура процесів життєвого циклу Процес програмної інженерії має ієрархічну архітектуру, включаючи безліч
циклу програмної системи.
Вимоги до процесів ЖЦ ПС визначає міжнародний стандарт ISO/IEC 12207.
Потрібно відзначити, що в Україні прийнятий стандарт ДСТУ 3918-99 - аналог ISO/IEC 12207, затвердженого ISO в 1995 році.
Однак з часу свого виходу, стандарт ISO/IEC 12207 піддавався перегляду, і в «поточної» редакції має розширений склад процесів ЖЦ, сформований з урахуванням потреб інших міжнародних стандартів.

Слайд 19

Архітектура процесів життєвого циклу

Процеси ЖЦ розподілені на три групи, що відображає функціональну спрямованість

Архітектура процесів життєвого циклу Процеси ЖЦ розподілені на три групи, що відображає
видів діяльності, які ці процеси регламентують:
основні процеси;
процеси, що підтримують життєвий цикл;
організаційні процеси.

Слайд 20

Основні процеси ЖЦ

Основні процеси ЖЦ охоплюють дії з розроблення, постачання, придбання, експлуатації і

Основні процеси ЖЦ Основні процеси ЖЦ охоплюють дії з розроблення, постачання, придбання,
супроводу програмних продуктів.
Основні процеси ЖЦ:
1.1. Придбання
1.1.1. Підготовка придбання 1.1.2. Вибір постачальника 1.1.3. Моніторинг діяльності постачальника 1.1.4. Приймання споживачем

Слайд 21

Основні процеси ЖЦ

1.2. Поставка
1.2.1. Участь в тендері 1.2.2. Укладання договору 1.2.3. Випуск продукту (релізу)

Основні процеси ЖЦ 1.2. Поставка 1.2.1. Участь в тендері 1.2.2. Укладання договору 1.2.3. Випуск продукту (релізу)

Слайд 22

Основні процеси ЖЦ

1.3. Розробка
1.3.1. Виявлення вимог 1.3.2. Аналіз вимог до системи 1.3.3. Проектування архітектури

Основні процеси ЖЦ 1.3. Розробка 1.3.1. Виявлення вимог 1.3.2. Аналіз вимог до
системи 1.3.4. Аналіз вимог до ПЗ системи 1.3.5. Проектування ПЗ 1.3.6. Програмування (кодування) ПЗ 1.3.7. Інтеграція ПЗ 1.3.8. Тестування ПЗ 1.3.9. Системна інтеграція 1.3.10. Системне тестування 1.3.11. Інсталяція ПЗ

Слайд 23

Основні процеси ЖЦ

1.4. Експлуатація
1.4.1. Функціональне використання 1.4.2. Підтримка споживача
1.5. Супровід

Основні процеси ЖЦ 1.4. Експлуатація 1.4.1. Функціональне використання 1.4.2. Підтримка споживача 1.5. Супровід

Слайд 24

Процеси, що підтримують ЖЦ

Процеси, що підтримують ЖЦ, інтегруються з будь-якими іншими процесами, вирішуючи завдання,

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

Слайд 25

Організаційні процеси ЖЦ

Організаційні процеси спрямовані на формування виробничої структури, що включає безліч процесів

Організаційні процеси ЖЦ Організаційні процеси спрямовані на формування виробничої структури, що включає
ЖЦ і персонал, а також на її підтримку і вдосконалення.
Організаційні процеси ЖЦ:
1. Управління
1.1. Організаційне будівництво (формування корпоративної політики, цілей, процесів, стандартів, етики) 1.2. Управління організацією 1.3. Управління проектом 1.4. Управління якістю 1.5. Управління ризиком 1.6. Вимірювання

Слайд 26

Організаційні процеси ЖЦ

2. Підтримка інфраструктури
3. Удосконалення
3.1. Установа процесів 3.2. Оцінювання процесів 3.3. Поліпшення процесів
4.

Організаційні процеси ЖЦ 2. Підтримка інфраструктури 3. Удосконалення 3.1. Установа процесів 3.2.
Забезпечення трудовими ресурсами
4.1. Управління кадрами 4.2. Навчання 4.3. Управління знаннями (поширення знань)

Слайд 27

Організаційні процеси ЖЦ

5. Управління надбанням (активами організації)
6. Управління програмою повторного використання
7. Доменна

Організаційні процеси ЖЦ 5. Управління надбанням (активами організації) 6. Управління програмою повторного використання 7. Доменна інженерія
інженерія
Имя файла: Технологія-програмування-та-основні-етапи-її-розвитку.-Життєвий-цикл-розробки-програмного-забезпечення.-Лекция-1.pptx
Количество просмотров: 33
Количество скачиваний: 0