И. Соммервилл - Инженерия программного обеспечения (1133538), страница 21
Текст из файла (страница 21)
3. Клагсифиющия но инок>о!>гимг, где САЯЕсрсдства кзгггс>гфггцггр>зотся по сгсиспи иптс грации программных молулсй, палдсрживающих разлпчиьгс праце< сьг разработки. В табл. 3.1 представлена классификация па выпалпясмылг фупкцш>м с примерами саги вез. сгвующих САБЕсрсдств. Это неполный список типов Г;ЛБЕ.срсдств, в частности здесь нс представлены средства поддержки повторного использования программных компонентов, г Список фи>>и, ногмооххюганх САДЕ>>од>тих ни !иигггги к >и >>и>>их, мох>ни иии им и уб>А — Прим. рса, 76 «1асть Е Инженерия программного обеспечения: обзор Таблица 3.1.
Классификация САБЕ. средств по выполняемым функциям Тип САБЕ. средства Средства планирования Примеры Средсгва редактирования Средства управления изме- ненияии Средства управления коифи- гурациейь Средства прототипирования Языки программирования самою высокою уровня, генераторы пользовательских интерфейсов Средства, ориентированные на поддержку определенных методов Компиляторы,иитерпрегаторы Средства анализа программ Средства модернизации ПО В табл. Я.2 представлена другая классификация САЗЕ-средств.
Классификация по типам показывает, какие процессы создания ПО поддерживакзтся теми или иными САЯЕ. средствами. Средства планирования и оцеииаання, редактирования текстов, подготовки локументации и управления конфигурацией можно использовать на всех этапах разработки ПО. е РЕК Т (Реоаеат Еиа!иаятз ало Незлте Теейп щие) — изет типе еиеоммп нлпнеззоопнил и Руководство (мз(т.
Татками п(югйпмм нык тютем. - Прим. ред. Конфигу~пу кт ПО нпзыепетел еоаокуп ноешь его функ унонпеьных «лаакпмриетнк и физико«их ноюилтотл зпфнкпзйовпннлл е еиенымной пзеуифнкпу~т. -Прим. Ред. КанипдлпюРы — онуипеьн ые зз~югРинм ы едпвненип кпкнхлибз оатктзю. л данном тупое имеютех в виду зфофпммы е(зпвнвтл фттов, еодеРтлзунх нфоейпммный ход -Прим. Рел. Средства, ориентированные на определенные языки про. граммирования Средства тестирования Средства отладки Средства документирования Средства системы РЕЕТ', средства оценнвания, электрон- ныетаблицы Текстовые редакторы, редакторы диаграмм, тестовые процессоры Средства оперативного контроля за требованиями, систе. мы управления изменениями Системы управления версиями ПО, средства построения систем Редакторы системных структур, словари данных, генера- торы программного кода Генераторы перекрестных ссылок, статические и динами- ческие анализаторы программ Генераторы тестовых данных, компараторыь файлов Интерактивные средства отладки Программы разметки страниц, редакторы изображений, генераторы отчетов Системы создания перекрестных ссьиок, системы модер- низации программ 3.
Процесс создания программного обеспечения 77 Таблица 3.2. Классификация САЗЕ. средств по типам поддерживаемых ими процессов разработки Средства модерниэации ПО Средства тестирования Средства отладки Средства анализа программ Средства, ориентированные на определенные языки программирования Средства, ориентированные на поддержку определенных методов Средства протопипирования Средства управления конфигура- цией Средства управления изменения- ми Средства документирования Средства редактирования Средства планирования Реализация Аттестация Специфици- Проектирорование ванне Другая классификация САЗЕ средств строится на основе широты охвата процессов разработки ПО, поддерживаемых данным средством. В статье (120) предложена классификация.
содержащая следующие три категорииг. 1. Вгяпмогаимоьпыв программы (гоо!з) поддерживают отдельные процессы разработки ПО, такие как проверка непротиворечивости архитектуры системы, компиляция программ, сравнение результатов тестов и т,п. Вспомогательные программы могут быть универсальными функционально-законченными средствами (например, текстовой процессор) или могут входить в состав инструментальных средств. 2.
Иятпрумоитпаькьм грт)тьма (тогйбепсйсз) поддерживают определенные процессы разработки ПО, например создание спецификации, проектирование и т.д, Обычно инструментальные средства являются набором вспомогательных программ, которые в большей или меньшей степени интегрированы, г В лкпирптурв по СЛ5Етпььптогппп можно огтргпигть п другую ютгогбгиковпю СА5Екрвдгтв по катгго)тюгг вгпапогатвгьнив прогроммт (огов), ппгтрумгнтгтьпив покипи рогробоптпкв (Ьюйго) и пвтапотгипро впнкиг робокпгмггтп рогроботппко (ыпЫтгг/из). По гунтпгву, ото клаиивдпкокгт говподогт г п)твгдгккоя в докпоп к кит, рпмппик пптиго о кюопнши копигорпй - Прим.
Ред. 78 т4асть 1. Инженерия программного обеспечения: обзор 3. 1>эбочис гргдм Разрайнюп>кп (епг1гопгяспгэ) поддерживают все нли большинство процессов разработки ПО. Рабочис среды обычно включают несколько различных интегрированных инструментальных срелств. Ркс. 3. РЕ Клтгкфиклкэл САБЕ ере>сэ>э но кпэ>егорили На рис. 3.14 схематично представлена классификация по категориям с примерами САЯЕ-грслгтв разных категорий.
Разумсстсл, иа одной схеме невозможно показать все типы вспомогательных программ и инструментальных срслств, многие из них здесь не представлены. Необходнмыс отдельные вспомогательные программы выбираются разработчиком ПО обычно по своему усмотрению. Иигтруме>пальиые средства, как правило, поллерживают опрелслспиые методы разработки в соответствии с некоторой моделью процесса создания ПО н солсржат наборы правил и нормативных указаний, которыми следует руководствоватьсл в процессе разработки. Рабочие среды разработчика я разделил иа иитегрироваипыс и экспертные.
Интегрироваппыс рабочие срелы предоставляют инфраструктуру поллсржки для данных. управлении и интеграции системных представлений. Экспертные рабочие среды более интеллектуальны. Онп включают базу знаний о процессах создания ПО и механизм. который в соответствии с выбранной моделью процесса созлапия ПО предлагает разработчику для примспеиил те или иные вспомогательные программы и ипструмептальныс средства. На практике границы между САЯЕсредствами разных категорий размыты. Вспомогательную программу можно приобрести как отдельный продукт, ио она может использоваться лля подлержкн различных процессов разработки.
Например, большинство текстовых про. 3. Процесс создания программного обеспечения 79 цсссоров в настоящее время располагают встроенными редакторами лиаграмлс или инструментальные САБЕ средства для проектирования все чаще предлагвют поддержку процссгаи программирования и тестирования, тем самым приближэлсь к рабочим средам. Поэтому ие всегда можно легко позиционировать какой. либо САБЕ-продукт по категориям в соотвстсг вии с этой классификацией. Вместе с тем классификация по категориям полезна длл понимания того, насколько широк дтиапазои процессов разработки, которые могут быть поддер.
жаны тем ияи иным САБЕ средствои. КЛЮЧЕВЫЕ ПОНЯТИЯ .-' ° ' Праисс создания программного обеспечения- ато совокупность процессов, выполняемых при ' разработке программных продуктов. Модели процесса создания ПΠ— абстрактные представления этих процессов.":: ° Любой процесс создания программного обеспечения включает этапы разработки системной спе- цификации, проекпгрования и реализации, аттестации и модерниэации ПО.
° ь Обобщенные модели создания ПО описывают организацию процесса разрабопн программных '-':,- систем. К таким моделям относятся 'каскадная модель, эволюционная модель разработки, модель ' формальной разработки систем и модель разработки ПО нв основе ранее созданных компонентов.
. ° Итерационные модели разработки ПО представляют процесс создания программных систем в виде повторяющихся циклов определенных этапов разработки. Достоинством данного пшегцда является возможность избежать преждевременного и до конца не продуманного утверждения системной спецификации и результатов проектирования. Примерами итерационных моделей служат мо,, дель пошаговой разработки и спиральная модель.
° ' Определение требований — это процесс разработки системной спецификации. ,, в„.", Проектирование и реализация — это процессы преобразования системной спецификации в систе- му исполняемых программ. ",в ' Апестация программного обеспечения — процесс проверки соответствия разработанной системы ее спецификации и потребностям пользователей.
° Вволюще программного обеспечения — зто мширннзацня существующих программных систем в соответствии с новыми требованиями. В настоящее время этот процесс становится одним из эта- „пов разработки небольших и среднего размера программных систем. . °:3 САЗЕ-технологии обеспечивают автоматизированную поддержку процессов создания ПО. ,:- Взспомогательные САЗЕ-программы поддерживают отдельные процессы разработки; инструмен'-:, '' тальные САЗЕ. средства поддерживают некоторое множество взаимосвязанных процессов разра' ',,'. ботки; рабочие САЗЕ-среды обеспечивают поддержку всех или большинства процессов, выпол- няемых при создании ПО. Упражнения ЗАЕ Предложите подходящую модель процесса создания ПО для разработки перечисленных ниже про- граммных систем.
Обоснуйте свое предложение. 3.2. Система управления торможением автомобиля. З.З. Система поддержки процесса сопровождения программного обеспечения. 3.4. Университетская система учета н отчетности, которая должна заменить существующую систему. 3.5. Интерактивная система просмотра железнодорожных расписаний для пассажиров. 3,6, Поясните, почему программы, создаваемые в соответствии с эволюционной моделью разработки, трудны для сопровождения, 80 Чисть х. Инженерия программноха абеспеченняк обзор 3.7. Объясните, как каскадную модель и эволюционную модель с прототипированием можно объединить со спиральной моделью разработки ПО.