З чого складається вартість по

Типове розподіл вартості між основними етапами (без супроводу) виглядає наступним чином:

15% - специфікація - формулювання вимог і умов розробки

25% - проектування - розробка і верифікація проекту

20% - розробка - кодування і тестування компонент

40% - інтеграція і тестування - об'єднання і складальне тестування продукту

Відхилення від цієї схеми в залежності від типу ПО виглядають наступним чином:

Для коробкового ПО характерна більш висока частка тестування за рахунок скорочення насамперед частки специфікації (до 5%)

Розподіл вартості замовленого ПЗ залежить від його складності. При складному ПО також зростає частка інтеграції та тестування, але за рахунок скорочення частки проектування і розробки Частка специфікацій може зростати. Скорочення частки проектування і розробки досягається за рахунок застосування випробуваних проектних рішень і повторного використання готових компонент.

Застосування випробуваних рішень і готових компонент при створенні коробкових продуктів дозволяє підвищити якість і скоротити терміни розробки.

Ще питання

Для того, щоб отримати уявлення про те, в чому полягає накопичений програмної інженерії досвід, спробуємо розібратися в наступних питаннях:

Що таке програмний процес?

Що таке модель програмного процесу?

Що таке методи програмної інженерії?

Що таке CASE (Computer-Aided Software Engineering)?

Якими властивостями володіє хороша програма?

Які основні труднощі стоять перед програмної інженерії?

Програмний процес?

Одним з основних понять програмної інженерії є поняття життєвого циклу програмного продукту і програмного процесу.

Життєвий цикл - безперервний процес, що починається з моменту прийняття рішення про створення ПО і закінчується зняттям його з експлуатації. Життєвий цикл розбивається на окремі процеси.

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

Розробка специфікації вимог (результат - опису вимог до програми, які є обов'язковими для виконання - опис того, що програма повинна робити)

Розробка проекту програми (результат - опис того, як програма буде працювати)

Кодування (результат - вихідний код і файли конфігурації)

Тестування програми (результат - контроль відповідності програми вимогам)

Документування (результат - документація до програми)

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

Процес повинен бути встановлений. Повний встановлення процесу передбачає:

Опис процесу - детальний опис дій і операцій процесу

Навчання процесу - проведення занять з персоналом по освоєнню процесу

Введення метрик - встановлення кількісних показників ходу виконання

Контроль виконання - вимір метричних показників і оцінка ходу виконання

Удосконалення - зміна процесу при мінливих умовах застосування

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