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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



 

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

Область знань «Методи та інструменти інженерії ПЗ (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 р. проблема верифікації знову набула актуальності у запропонованому новому міжнародному проекті «Цілісний автоматизований набір інструментів для перевірки коректності ПС» (Т. Хоар, «От­крытые системы», 2006, № 6), який поставив наступні перспективні задачі:

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

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

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

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

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

- стилях прототипування, що уособлюють тривалість використання прототипів, наприклад, стиль створення тимчасово використовуваних прототипів (throw away),

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

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

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

- інструменти розробки (Requirement Development) і керування вимогами (Requirement Management), орієнтовані на аналіз, збирання, специфікування і перевірку вимог;

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

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

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

- редактори програм (program editors) і програми редагування загального призначення;

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

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

- відлагоджувачі (debuggers), призначені для перевірки правильності опису вихідних програм і усунення помилок;

- інтегроване середовище розробки (IDE - integrated development environment) та бібліотеки компонентів (libraries components), що є утворюють се­редовище виконання процесу розроблення ПС;

- програмні платформи (Java, J2EE і Microsoft.NET) і платформи для роз­поділених обчислень (CORBA і Web Services, тощо).

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

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

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

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

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

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

Інструменти супроводу (Software Maintenance Tools) містять у собі:

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

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

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

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

- інструменти керування версіями;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 



Поделиться:


Последнее изменение этой страницы: 2016-04-23; просмотров: 468; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.200.211 (0.014 с.)