Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Методи і інструменти інженерії
Методи забезпечують проектування, реалізацію і виконання ПЗ. Вони накладають деякі обмеження на інженерію ПЗ у зв'язку з особливостями застосування їхніх поганій і процедур, а також забезпечують оцінку і перевірку процесів і продуктів. Інструменти забезпечують програмну підтримку окремих методів інженерії ПЗ для автоматизованого виконання задач процесів ЖЦ. Область знань «Методи та інструменти інженерії ПЗ (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 с.) |