Компьютерная поддержка разработки и сопровождения программных средств.
Инструменты разработки программных средств
Компилятор избавляет разработчика ПС от необходимости писать программы на языке компьютера, который для разработчика ПС был бы крайне неудобен, вместо этого он составляет программы на удобном ему языке программирования, которые соответствующий компилятор автоматически переводит на язык компьютера.
Эмулятор позволяет выполнять (интерпретировать) программы на языке, отличном от языка компьютера, поддерживающего разработку ПС, например, на языке компьютера, для которого эта программа предназначена.
ПС, предназначенное для поддержки разработки других ПС, будем называть программным инструментом разработки ПС, а устройство компьютера, специально предназначенное для поддержки разработки ПС, будем называть аппаратным инструментом разработки ПС. Инструменты разработки ПС могут использоваться в течение всего жизненного цикла ПС для работы с разными программными документами. Так текстовый редактор может использоваться для разработки практически любого программного документа.
Разделение по функциям на группы:
- редакторы;
Редакторы поддерживают конструирование (формирование) тех или иных программных документов на различных этапах жизненного цикла.
- анализаторы;
Анализаторы производят либо статическую обработку документов, осуществляя различные виды их контроля, выявление определенных их свойств и накопление статистических данных, либо динамический анализ программ.
- преобразователи;
Преобразователи позволяют автоматически приводить документы к другой форме представления или переводить документ одного вида к документу другого вида, синтезировать какой - либо документ из отдельных частей и т.п.
- инструменты, поддерживающие процесс выполнения программ.
Инструменты, поддерживающие процесс выполнения программ, позволяют выполнять на компьютере описания процессов или отдельных их частей, представленных в виде, отличном от машинного кода, или машинный код с дополнительными возможностями его интерпретации.
Инструментальные среды разработки и принципы их классификации.
Инструментальной средой разработки называют совокупность логически связанной программных и аппаратных инструментов.
Совокупность инструментальных сред можно разбивать на разные классы, которые различаются значением следующих признаков:
- ориентированность на конкретный язык программирования,
показывает: ориентирована ли среда на какой - либо конкретный язык программирования или может поддерживать программирование на разных языках программирования.
- специализированность,
показывает: ориентирована ли среда на какую - либо предметную область или нет.
- комплексность;
показывает: поддерживает ли она все процессы разработки и сопровождения ПС или нет.
- ориентированность на конкретную технологию программирования;
показывает: ориентирована ли инструментальная среда на фиксированную технологию программирования либо нет.
- ориентированность на коллективную разработку;
показывает: поддерживает ли среда управление работой коллектива или нет.
- интегрированность;
показывает: является ли она интегрированной (и в каком смысле) или нет.Инструментальная среда считается интегрированной, если взаимодействие пользователя с инструментами подчиняется единообразным правилам, а сами инструменты действуют по заранее заданной информационной схеме, связаны по управлению или имеют общие части. В соответствие с этим различают три вида интегрированности:
- интегрированность по пользовательскому интерфейсу;
означает, что все инструменты объединены единым пользовательским интерфейсом.
- интегрированность по данным;
означает, что инструменты действуют в соответствии с фиксированной информационной схемой (моделью) системы, определяющей зависимость друг от друга различных используемых в системе фрагментов данных.
- интегрированность по действиям (функциям);
означает, что, во - первых, в системе имеются общие части всех инструментов и, во - вторых, одни инструменты при выполнении своих функций могут обращаться к другим инструментам.
Инструментальную среду, интегрированную хотя бы по данным или по действиям, будем называть инструментальной системой. При этом интегрированность по данным предполагает наличие в системе специализированной базы данных, называемой репозиторием. Под репозиторием будем понимать центральное компьютерное хранилище информации, связанной с проектом (разработкой) ПС в течение всего его жизненного цикла.
Основные классы инструментальных средств.
Три основных класса --||--:
- инструментальные среды программирования;
предназначена в основном для поддержки процессов программирования (кодирования), тестирования и отладки ПС.
- рабочие места компьютерной технологии;
ориентировано на поддержку ранних этапов разработки ПС (системного анализа и спецификаций) и автоматической генерации программ по спецификациям.
- инструментальные системы технологии программирования.
предназначена для поддержки всех процессов разработки и сопровождения в течение всего жизненного цикла ПС и ориентирована на коллективную разработку больших программных систем с продолжительным жизненным циклом.
Инструментальные среды программирования.
включает, прежде всего, текстовый редактор, позволяющий конструировать программы на заданном языке программирования, а также инструменты, позволяющие компилировать или интерпретировать программы на этом языке, тестировать и отлаживать полученные программы. Взаимодействуют эти инструменты между собой через обычные файлы с помощью стандартных возможностей файловой системы.
Различают следующие:
- среды общего назначения;
содержат набор программных инструментов, поддерживающих разработку программ на разных языках программирования и обычно представляют собой некоторое расширение возможностей используемой операционной системы. Для программирования в такой среде на каком - либо языке программирования потребуются дополнительные инструменты, ориентированные на этот язык (например, компилятор).
- языково - ориентированные среды.
предназначена для поддержки разработки ПС на каком - либо одном языке программирования и знания об этом языке существенно использовались при построении такой среды. В такой среде могут быть доступны достаточно мощные возможности, учитывающие специфику данного языка. Такие среды разделяются на два подкласса:
- интерпретирующие среды;
обеспечивает интерпретацию программ на данном языке программирования, т.е. содержит, прежде всего, интерпретатор языка программирования, на который эта среда ориентирована.
- синтаксически - управляемые среды.
базируется на знании синтаксиса языка программирования, на который она ориентирована.
Инструментальные системы технологии программирования.
Это интегрированная совокупность программных и аппаратных инструментов, поддерживающая все процессы разработки и сопровождения больших ПС в течение всего его жизненного цикла в рамках определенной технологии. Она базируется на согласованности продукции технологических процессов. Обеспечивает контроль полноты создаваемой документации и согласованности её изменения. Поддерживает управление работой коллектива и для разных членов этого коллектива обеспечивает разные права доступа к различным фрагментам продукции технологических процессов и поддерживает работу менеджеров по управлению коллективом разработчиков.
можно выделить три их основные компоненты:
- репозиторий;
- инструментарий;
набор инструментов, определяющий возможности, предоставляемые системой коллективу разработчиков.
- интерфейсы;
Пользовательские и системные, пользовательский интерфейс обеспечивает доступ разработчикам к инструментарию. Он реализуется оболочкой системы. Системные интерфейсы обеспечивают взаимодействие между инструментами и их общими частями.
Два класса ---||---:
- Инструментальная система поддержки проекта - это открытая система, способная поддерживать разработку ПС на разных языках программирования после соответствующего ее расширения программными инструментами, ориентированными на выбранный язык.
- Языково-зависимая инструментальная система - это система поддержки разработки ПС на каком - либо одном языке программирования, существенно использующая в организации своей работы специфику этого языка.