
- •Роль та місце та місце програмної інженерії серед інших комп’ютерних дисциплін
- •Історія розвитку пі
- •Трикутник залежностей
- •Кризи програмування
- •Перша криза програмування
- •Друга криза програмування
- •Третя криза
- •Сучасний стан пі
- •Аспектно-орієнтоване програмування
- •Хмаркові технології
- •Особливості пі
- •Розвиток обчислювальних машин
- •Нульове покоління обчислювальних машин
- •Перше покоління електронно-обчислювальних машин
- •Закон Мура(засновник Intel) 1965 рік
- •Закон Мірвольда
- •Покоління мов програмування
- •Способи написання програм
- •Основні та неосновні процеси
- •Типові фази жз пц
- •Технічне завдання srs (Software Requirement Specification)
- •Супроводжуваність
- •Проектування
- •Реалізація
- •Тестування та верифікація пз (Software testing )
- •Основні визначення стандартів
- •Eng: Інженерні процеси
- •Sup: Допоміжні процеси
- •Man: Управлінські процеси
- •Org: Організаційні процеси
- •Поняття про модель процесу
- •Моделі жц пз
- •До найбільш відомих моделей жц пх відносяться
- •Характерні властивості моделі життєвого циклу пз:
- •До моделей організації робіт:
- •Каскадна та спіральна моделі
- •Концепція – загальне бачення чогось
- •Основні принципи каскадної моделі
- •Переваги каскадної моделі
- •Застосовність каскадної моделі
- •Основні причини таких повернень:
- •Пояснення схеми
- •Особливості спіральної моделі
- •Прототип
- •Застосовність спіральної моделі
- •Переваги спіральної моделі
- •1. Специфікація вимог:
- •2. Аналіз:
- •3. Проектування:
- •4. Реалізація:
- •5. Тестування і верифікація:
- •6. Експлуатація і супровід:
- •Тестування програм жц пз (лаба 2)
Основні та неосновні процеси
Основні процеси безпосередньо зв’язані з створенням ПП. Не основні виконуються функції додаткових чи допоміжних процесів. Вони не пов’язані прямо з створенням продукту, а відповідають за організацію та супровід робіт(нефункціональні процеси документування, управління якістю, навчання персоналу і т.д.) процес як складова інженерної діяльності, має бути чітко визначеною. Говорять, що процес має бути встановленим .Встановлення процесу передбачає:
детальний опис дій та операцій процесу
навчання процесу(проведення занять з персоналом щодо освоєння процесу)
введення метрик процес(встановлення кількісних показників коду виконання)
контроль виконання процесу (вимір метрик та оцінка ходу виконання)
вдосконалення процесу(зміна процесу за нових умов використання)
Типові фази жз пц
Специфікація вимог - формалізований опис вимог у формі спец. документа. Специфікація - це основний конструкторний інструмент в інженерній діяльності.
Технічне завдання srs (Software Requirement Specification)
Цей етап складається з таких дій:
Підготовка повного та чіткого визначення задачі.
Представлення документів з вимогами до програмної системи та аналітика для погодження (ухвалення).
Основний результат цього етапу описи вимог до програми.
Вимоги бувають :
Функціональні вимоги – це опис того, що програма повинна робити; ці вимоги обов’язкові для виконання. Ще вживаються аналогічний термін сценарій використання системи.
Не функціональні вимоги – визначають загальні властивості системи(не функціональні вимоги також записують у специфікацію вимог, як правило це такі властивості):
Продуктивність (ефективність) програми визначається оптимальними витратами обчислювальних ресурсів для її виконання. Обчислювальні ресурси це пам’ять комп’ютера, час процесора, канали зв’язку. Якісне програмне забезпечення не лише правильно працює, а й раціонально використовує обчислювальні ресурси.
Зручність користування ПЗ стосується питань інтерфейсу користувача та наявності адекватної документації для користування. Користувацький інтерфейс повинен бути не інтуїтивно, а професійно зрозумілий користувачам. Крім того ПЗ обов’язково має давати засоби для налаштування інтерфейсу зручного будь-яким типам користувачів.
Надійність ПЗ включає в собі такі поняття :
Відмово стійкість – це можливість виконання функцій програмою у випадку нестандартних, непередбачених ситуацій чи збоїв у роботі.
Безпека – це коли збої в роботі програми не приводять до небезпечних аварійних ситуацій.
Захищеність програми від зовнішніх впливів. Впливи можуть бути випадкові або навмисні ( нерозумний користувач, вірус, або хакер).
Супроводжуваність – вказує здатність програми до розвитку; це критична властивість системи оскільки зміни ПЗ неминучі, внаслідок зміни платформ, бізнесу. Супровід програми, як правило, виконують не її розробники. Супровід включає такі елементи:
Наявність та зрозумілість проектної документації;
Зрозумілість вихідного коду;
Простота додавання нових функцій.
Супроводжуваність
Вказує здатність програми до розвитку. Це критична властивість системи, оскільки зміни ПЗ – неминучі, внаслідок зміни платформ, бізнесу і т.д. і т.п. Супровід програми, як правило, виконують не її розробники. Супровід включає такі елементи:
Наявність і зрозумілість проектної документації.
Зрозумілість вихідного коду.
Простота додавання нових функцій.
Не функціональні вимоги також записують у специфікацію вимог.
Аналіз
Це підготовчий етап до при проектувальних робіт, виділений в окрему фазу. Включає такі дії:
Вивчення задачі та визначення структури вхідних та вихідних даних
Оцінка альтернативних методів розв’язання задачі
Вибір оптимального методу