Програмне забезпечення, його класифікація стан та перспективи розвитку.
Програмне забезпечення - сукупність програм, ЕОМ, процедур і правил разом з усією, пов'язаної з цими компонентами, документацією дозволяє використовувати Вт для вирішення конкретних завдань.
Частка заробітної плати в доходах фірми - 46-56%.
1-вий етап: Розробка ПЗ для власних потреб;
2-ий етап: Становлення товарного виробництва програмної продукції. Поява і розповсюдження відчужуваного і тиражованою продукту;
3-ій етап: Екстенсивне виробництво ВО;
4-ий етап: Перехід до інтенсивного виробництва ПЗ. З'являється технологічна обробка ПЗ. Використання автоматизованих і типових засобів обробки (вихідних прототипів).
Основні терміни визначаються: по-перше, стандартом еурд (19.004) та ряд термінів визначається законом "Про правову охорону програм для ЕОМ і баз даних" 1992 рік.
Програмне виріб (ПІ) - програма на носії даних, що є продуктом програмного виробництва.
Програма - об'єктивна форма представлення сукупності даних і команд, призначених для функціонування ЕОМ та інших комп'ютерних пристроїв з метою отримання певного результату. Програма для ЕОМ - підготовчі матеріали отримані в ході її розробки і породжувані нею аудіо-візуальні зображення.
ПІ - універсальна виріб, призначений для широкого кола користувачів.
ПІ - виріб, призначений для широкого вжитку, воно має бути ретельно документовано, щоб його могли використовувати не тільки розробники.
Програмний продукт - будь-яка програмна розробка, яка може бути отримана не тільки як результат промислового виробництва.
Програмний засіб (ПС) - програма, призначена для багаторазового застосування на різних об'єктах і розроблена будь-яким способом (найчастіше мають на увазі - засоби виробництва ПІ, та інструментарій для розробки ПІ).
Класифікація ПЗ (по областях застосування)
АП - засоби контролю апаратури, діагностика роботи апаратури.
ОС - керування ресурсами ЕОМ (іноді поєднуються з с/з програмування)
Система програмування - сукупність засобів розробки програм. Забезпечує автоматизацію складання, налагодження та випробування програм (мовні засоби, транслятори, редактори, відладчик, сервісні програми).
Прикладні програми приватного застосування - експлуатуються на одному об'єкті, для якого і були створені.
ППП - відчужуване, тиражовані ПЗ. Призначено для груп об'єктів із загальними властивостями у відношенні розв'язуваної задачі. Тираж пакету залежить від його різновиду.
Обстановка на європейському ринку
№ п/п b>
ПЗ в Європі b>
»
85 рік b>
початок 90-х b>
1
ППП і ОС
34
51
2
Замовлене ПЗ та консультації
29
28
3
Навчання
5
5
4
Обчислювальні послуги
32
16
На системний За доводиться »
30% загального обсягу продажу, а на прикладне »
70%.
ППП - комплекс програмних засобів і документів, призначених для реалізації функціонально завершеного алгоритму обробки даних. Він забезпечує автоматизацію створення робочих програм, автоматизацію процесу розв'язання задач.
Характерні риси (3 властивості):
Містить набір готових алгоритмічних рішень Доводимо до конкретної машинної реалізації;
Містить механізм налаштування на параметри конкретного об'єкта застосування;
Пакет ПП повинен передбачати можливість доповнення його програмами, який прив'язує до специфіки конкретного об'єкта, а також до змінених в часі умов експлуатації.
Класифікація ППП (по області застосування)
Проблемно-орієнтоване ППП призначено для обробки даних в рамках вирішення певного завдання, орієнтованої на забезпечення потреб кінцевого користувача.
Методи-орієнтоване ППП реалізують той чи інший метод (математичний) обробки інформації.
Функціональні ППП забезпечують максимальну автоматизацію програмування при вирішенні конкретного завдання, від вхідного документа, включаючи метод рішення задачі і до видачі вихідного документа.
Методи-орієнтований пакет реалізує лише частину рішення, пов'язану з даним методом.
ППП загального призначення підвищують рівень автоматизації робіт при створенні ПЗ.
Процедурні ППП - автоматизують створення ПЗ з реалізації типових процедур обробки інформації (введення, зберігання, виведення, коригування, оновлення, впорядкування, пошук, фільтрація файлів і т.д.)
Інструментальні засоби програмування - генератори програм, документатори програм, додаткові кошти для налагодження та перевірки програм. Наприклад, генератори виведення табличних форм, генератор вводу-виводу (ГВВ), генератор екранних форм, генератор документації (FOXDOC): створення програмного документа - текст та опис програми.
Сервісні - орієнтовані на підтримку технологічних процесів обробки програм, доповнення ОС.
Переваги ППП.
Скорочення витрат на розробку; (до декількох десятків відсотків, в середньому 20-30%)
У порівнянні з елементарними засобами, більш висока комплексна ув'язування рішень;
Вища якість документування ПІ;
Більш висока функціональна надійність;
Наявність розвиненої системи супроводу (набір сервісних послуг, які підтримують експлуатацію у користувача);
ППП - засіб передачі та обміну досвідом між розробниками і між кінцевими користувачами;
Недоліки ППП.
Складність освоєння ППП;
Велика різноманітність ППП за поширеними завданням ускладнює вибір. На сьогодні відсутні об'єктивні методи оцінки ППП;
Низька ступінь системної ув'язки існуючих ППП (у разі ув'язки декількох конкретних програм з входів-виходів);
Проблема нарощування та модифікації;
Мала функціональна повнота.
Тема 2: Життєвий цикл ПІ (ЖЦПІ).
Тривалість (загальна) - 3-5 років.
Розробка - стадія від моменту дослідження потреб у ПІ до моменту отримання головного (еталонного) зразка. Тривалість: в середньому від 0,3 до 0,5 року.
Виробництво - отримання примірника вироби, призначеного для застосування на конкретному об'єкті (екземпляр поставки). Зводиться до тиражування (копіювання) еталонного примірника та адаптації під конкретного користувача. Якщо одиничний продукт то стадії розробки і виробництва об'єднуються.
Експлуатація - процес застосування примірника користувачем для вирішення його конкретних завдань.
Супровід ПІ - дії, пов'язані із забезпеченням працездатності виробу в процесі експлуатації.
Особливості ЖЦПІ (у порівнянні з іншими виробами).
У ЖЦПІ значно велика питома вага стадії розробки;
Процес виробництва простий: коротка і в значній мірі зводиться до копіювання;
Супровід відіграє все більшу роль.
Розробка ПІ.
Складові процесу розробки ПІ:
підхід - від задачі; (1)
підхід стандартний еурд. (2)
Який би підхід не застосовувався набір дій, виконуваних творцем ПІ практично однаковий. Варіації пов'язані лише з виділенням окремих дій у етапи.
(1)
Системний аналіз (аналіз вимог) предметної області. Спочатку аналіз потреб користувача, потім розробка цілей, формулювання завдання. Завдання ставляться перед окремими виробниками. Вибір методів реалізації завдання. Формування завдання розробки. (Мається на увазі специфікація ПІ).
Наз. (???) Проектування ПІ (зовнішнє).
(скласти формулу документа)
Результатом зовнішнього проектування є підготовка зовнішньої специфікації.
Внутрішнє (детальний, структурний) проектування. (вироблення програмних рішень розкривають внутрішню частину ПІ). Визначення структури програмного комплексу, складу і структури БД, з яких файлів і яка їхня структура, зв'язок з модулями, складання алгоритму.
Підготовка (кодування) програмних текстів, паралельно з цим підготовка програмної документації.
Автономна налагодження (налагодження в статиці), налагодження модулів, їх зв'язків ...
Комплексування компонент і комплексна налагодження;
Випробування. Перевірка працездатності виробу в реальних умовах експлуатації.
(2)
Ділиться на 5 стадій:
Стадія технічного завдання (передпроектна стадія). Майже повністю збігається з етапом системного аналізу. Етапи:
збір відомостей (обстеження);
обробка відомостей обстеження та підготовка ТЕО;
технічне завдання (завершальний етап).
Формує замовник, споживач розробнику.
Ескізне проектування (принципова розробка ПІ, розробка загальних принципів). Ескізний проект потрібен для узгодження між розробником і замовником основних технологічних елементів.
Технічне проектування (технічний проект). Об'єднання всіх матеріалів зовнішнього і внутрішнього проектування, які будуть доводиться до машинної реалізації.
Робоче проектування:
підготовка програмних текстів (адаптація програмних компонент);
налагодження у всіх різновидах;
підготовка програмної документації.
Впровадження. (Випробування в реальних умовах).
У процесі ведеться підготовка об'єкта до експлуатації. ПІ - приведення інформаційної бази, пов'язаної з ПІ, до того виду, який потрібно експлуатацією.
Навчання персоналу.
Ключовим поняттям процесу розробки ПІ є робота. Як правило, при плануванні процесу розробки не доходять до рівня програмних операторів, операцій. ... Робота - сукупність дій, які виконуються одним або кількома виконавцями з метою отримання конкретного контрольованого результату.
Тема 3: Облік і аналіз витрат в ЖЦПО.
При угруповання витрат на розробку програмного продукту слід виходити із загального положення у визначенні статей видатків для традиційної продукції.
Статті витрат:
Витрати по заробітній платі (основної, додаткової та всі відрахування);
Витрати на технологію (на інструментальні засоби, що використовуються при створенні ПІ), в основному витрати на придбання та освоєння ППП, які використовуються як інструментальні засоби. Витрати на ПІ, які використовуються як еталон.
Витрати на утримання і експлуатацію технічних засобів розробки, експлуатації та супроводу (витрати на машинний час).
Витрати на матеріали (інформаційні носії).
Витрати на енергію, на використання каналів зв'язку (для окремих видів).
Загальновиробничі витрати (витрати на управлінський персонал, на утримання приміщень).
Невиробничі витрати (витрати пов'язані з рекламою, пошуком замовників, поставками конкретних примірників).
Класифікація витрат
Виділяють витрати основні (безпосередньо пов'язані із процесом розробки та експлуатації ПЗ) і накладні витрати, які носять забезпечує характер.
За способом віднесення на конкретний продукт:
прямі (можуть бути враховані при створенні конкретного екземпляра продукту);
непрямі (пов'язані зі створенням декількох продуктів).
Основні відмінності в розрахунку витрат на програмну продукцію від традиційних продуктів:
Велика динамічність і велика невизначеність результату в задані терміни, особливо на ранніх стадіях розробки.
Відсутній склалася технологічна база для створення програмної продукції, що призводить до різноманітності прийомів і методів розробки при створенні схожої продукції різними розробниками.
Різноманітність предметної області.
Методи нормування витрат на програмну продукцію відрізняються від витрат, що склалися в традиційних галузях. Метод - аналіз статистичних даних про фактично завершених розробках, виявлення факторів, що визначають різноманітність витрат, класифікація цих факторів і надання користувачу нормативних матеріалів, можливості вибору найбільш близького йому аналога і коригування витрат, які відбулися при розробці аналога за допомогою набору коефіцієнтів, що враховують чинники різноманітності.
Особливо це суттєво для витрат живої праці.
Стадії ЖЦПІ b>
Вартісні витрати,% b>
Тимчасові витрати b>
Розробка вимог
10
6
Проектування
10
5
Програмування
10
7
Налагодження
20
15
Експлуатація та супровід
50
67
С = СР + Се + Сс; СР - розробка, Се - експлуатація, Сс - супровід.
СР = С1р + С2р + С3р + С4р + С5р + С6р, де
С1р - витрати праці на створення програмного продукту;
С2р - витрати на виготовлення еталонного примірника;
С3р - витрати на технологію (витрати на придбання ПС, які були використані при розробці ПІ, інструментарій ПС);
С4р - витрати на Вт, використану при розробці;
С5р - витрати на забезпечення належної кваліфікації персоналу розробки;
С6р - різного роду витрати накладні, непрямі, необхідні для розробки.
Основну роль відіграють витрати на працю, на технологію і на техніку (згідно статистичних даних).
Необхідно запропонувати методику для розрахунку С1р, С3р і С4р, так як величина С2р і С5р у%-му вираженні порівняно стійка і після визначення суми С1р + С3р + С4р може бути отримана з використанням коефіцієнта. С2р »
0,05, С5р »
0,07. С1р залежить від обсягу розробки.
, де Р - продуктивність праці розробника, Сi - добуток коефіцієнтів, які відображають зміна трудомісткості розробки, в залежності від конкретних умов у яких вона проводиться.
Перелік коефіцієнтів Сi може бути дуже різноманітний стосовно до конкретних розробок. Для кожної розробки автору розрахунків С1р необхідно визначити свій перелік коефіцієнтів, якщо потрібно використовувати різні джерела.
Перелік першочергових Сi:
Складність комплексу програм (С1) проводиться класифікація програм за групами складності (3-4 групи) і визначаються ознаки, що дозволяють віднести разоаботку до конкретної групи складності. С1 - 1