Головна

Методи і інструменти інженерії ПЗ

  1.  Adobe Photoshop. Завдання № 1.1. Інструменти виділення і малювання. магнітне ласо
  2.  I. 2.4. Принципи та методи дослідження сучасної психології
  3.  II. Методи наукового пізнання
  4.  III.1. Методи соціально-психологічного тренінгу професійної компетентності вчителя
  5. " неделание ". ЗУПИНКА ВНУТРІШНЬОГО ДІАЛОГУ. МЕТОДИ
  6.  Абсорбція оптичні методи. Атомно-абсорбційний аналіз. Молекулярно-абсорбційний аналіз. Фотометрія (колориметрия, фотоколориметрія, спектрофотометрія).
  7.  абстрактні методи

Методи забезпечують проектування, реалізацію і виконання ПЗ. Вони накладають деякі обмеження на інженерію ПЗ у зв'язку з особливостями застосування їх нотацій і процедур, а також забезпечують оцінку і перевірку процесів і продуктів. Інструменти є програмною підтримкою окремих методів інженерії ПЗ і забезпечують автоматизоване виконання завдань процесів ЖЦ.

Галузь знань "Методи і інструменти інженерії ПЗ (Software Engineering Tools and Methods)" складається з розділів:

- Інструменти інженерії ПЗ (Software Engineering Tools),

- Методи інженерії ПЗ (Software Engineering Methods).

Методи інженерії ПО - Це евристичні методи (heuristic methods), Формальні методи (formal methods) І методи прототипування (prototyping methods) ,.

Евристичні методи включають: структурні методи, Засновані на функціональній парадигмі; методи, орієнтовані на структури даних, якими маніпулює ПО; об'єктно-орієнтовані методи, які розглядають предметну область як колекцію об'єктів, а не функцій; методи, орієнтовані на конкретну область застосування, наприклад, на системи реального часу, безпеки та ін.

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

- Мови і нотації специфікації (specification languages ??and notations), орієнтовані на модель, властивості і поведінку;

- Уточнення специфікації (refinement specification) шляхом трансформації в кінцевий результат, близький до кінцевого виконуваного програмного продукту;

- Методи докази / верифікації (verification /proving properties), що використовують затвердження (теореми), перед- і постумови, які формально описуються і застосовуються для встановлення правильності специфікації програм.

Ці методи застосовувалися в основному в теоретичних експериментах і більше 25 років їх практичне застосування було обмежено через трудомісткість і економічну невигідність. У 2005 р проблема верифікації придбала знову актуальність у зв'язку c розробкою нового міжнародного проекту з верифікаційних ПО "Цілісний автоматизований набір інструментів для перевірки коректності ПС" (ідея Т. Хоара, "Відкриті системи", 2006, № 6), що ставить наступніперспективні завдання:

- Розробка єдиної теорії побудови і аналізу програм;

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

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

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

Методи прототипирования (Prototyping Methods) засновані на прототіпірованії ПО і поділяються на:

- Стилі прототипирования, що включають в себе створення тимчасово використовуваних прототипів (throwaway), еволюційне прототипирование - перетворення прототипу в кінцевий продукт і розробка виконуваних специфікацій;

- Техніки оцінки / дослідження (evaluation) результатів прототипирования.

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

Інструменти роботи з вимогами (Software Requirements Tools) - це:

- Інструменти розробки (Requirement Development) Управління вимогами (Requirement Management) Для аналізу, збору, специфицирования і перевірки вимог. Наприклад, в моделі CMMI Staged на 2-му рівні зрілості знаходиться управлінні вимогами, а на 3-му рівні - розробка вимог;

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

Інструменти проектування (Software Design Tools) - це інструменти для створення ПЗ із застосуванням базових нотацій (SADT/IDEF, UML, Microsoft DSL, Oracle і т.п.).

Інструменти конструювання ПО (Software Construction Tools) - це інструменти для виробництва, трансляції програм і машинного виконання. До них відносяться:

- Редактори (program editors) Для створення і модифікації програм, і редактори "загального призначення" (UNIX і UNIX-подібні середовища);

- Компілятори і генератори коду (compilers and code generators) Як самостійні засоби об'єднання в інтегрованому середовищі програмних компонентів для отримання вихідного продукту з використанням препроцесорів, складальників, завантажувачів та ін .;

- Інтерпретатори (interpreters) забезпечують виконання програм шляхом емуляції, надаючи для виконання програм контрольоване і спостережуване оточення. Намітилася тенденотладчікі (debuggers) для перевірки правильності опису вихідних програм і усунення помилок;

- інтегровані середовища розробки (IDE - integrated developers environment), Бібліотеки компонент (libraries components), без яких не може проводиться процес розробки ПС, програмні платформи (Java, J2EE і Microsoft .NET) і платформа розподілених обчислень (CORBA і WebServices).

Інструменти тестування (Software Testing Tools) це:

- Генератори тестів (test generators), Що допомагають в розробці сценаріїв тестування;

- Засоби виконання тестів (test execution frameworks) забезпечують виконання тестових сценаріїв і відслідковують поведінку об'єктів тестування;

- Інструменти оцінки тестів (test evaluation tools) підтримують оцінку результатів виконання тестів і ступеня відповідності поведінки тестованого об'єкта очікуваному поведінки;

- Засоби управління тестами (test management tools) Забезпечують інженерію процесу тестування ПЗ;

- Інструменти аналізу продуктивності (performance analysis tools), кількісної її оцінки і оцінки поведінки програм в процесі виконання.

Інструменти супроводу (Software Maintenance Tools) включають в себе:

- Інструменти полегшення розуміння (comprehension tools) програм, наприклад, різні засоби візуалізації;

- Інструменти реінжінеріі (reengineering tools) підтримують діяльність по реінжінеріі і зворотної інженерії (reverse engineering) Для відновлення (артефактів, специфікація, архітектури) старіючого ПО і генерації нового продукту.

Інструменти конфігураційного управління (Software Configuration Management Tools) - це:

- Інструменти відстеження (tracking) дефектів;

- Інструменти управління версіями;

- Інструменти управління складанням, випуском версії (конфігурації) продукту його інсталяції.

Інструменти управління інженерною діяльністю (Software Engineering Management Tools) складаються з:

- Інструментів планування і відстеження проектів, кількісної оцінки зусиль і вартості робіт проекту (Microsoft Project 2003);

- Інструментів управління ризиками використовуються для ідентифікації, моніторингу ризиків і оцінки завданої шкоди;

- Інструментів кількісної оцінки властивостей ПЗ шляхом ведення вимірювань і розрахунку остаточного значення надійності і якості.

Інструменти підтримки процесів (Software Engineering Process Tools) розділені на:

- Інструменти моделювання та опису моделей ПЗ (наприклад, UML і його інструменти);

- Інструменти управління програмними проектами (Microsoft Project 2003);

- Інструменти управління конфігурацією для підтримки версій і всіх артефактів проекту.

Інструменти забезпечення якості (Software Quality Tools) діляться на дві категорії:

- Інструменти інспектування для підтримки перегляду (review) і аудиту;

- Інструменти статичного аналізу програмних артефактів, даних, потоків робіт і перевірки властивостей або артефактів на відповідність заданим характеристикам.

Додаткові аспекти інструментального забезпечення (Miscellaneous Tool Issues) відповідають таким аспектам:

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

- Метаінструменти для генерації інших інструментів;

- Оцінка інструментів при їх еволюції.




 Аналіз і характеристика областей знань SWEBOK |  Вимоги до ПО (Software Requirements) |  Проектування ПО (Software design) |  Конструювання ПЗ (Software Construction) |  Тестування ПЗ (Software Testing) |  Супровід ПЗ (Software maintenance) |  Управління конфігурацією ПЗ |  Управління інженерією ПЗ |  Життєвий цикл ПС, зв'язок з ядром знань SWEBOK |  Каскадна модель ЖЦ |

© 2016-2022  um.co.ua - учбові матеріали та реферати