Системы для автоматизации разработки новых программ на языке программирования это

Обновлено: 05.07.2024

Аббревиатура CASE (Computer-Aided Software Engineering – автоматизированная разработка программного обеспечения) обозначает специальный тип программного обеспечения, предназначенного для поддержки таких процессов создания ПО, как разработка требований, проектирование, кодирование и тестирование программ. Поэтому к CASE-средствам относятся редакторы проектов, словари данных, компиляторы, отладчики, средства построения систем и т.п. CASE-средства предлагают поддержку процесса создания ПО путем автоматизации некоторых этапов разработки, а также создания и представления информации, необходимой для разработки.

В настоящее время подходящие CASE-технологии существуют для большинства процессов, выполняемых в ходе разработки ПО. Это ведет к улучшению качества создаваемых программ и повышению производительности труда разработчиков программного обеспечения. Уже сложилась развитая индустрия CASE-средств, а круг поставщиков и разработчиков этих программных продуктов очень широк.

Классификация CASE-средств

Существует несколько различных классификаций CASE-средств, и каждая предлагает свой взгляд на эти программные продукты. Рассмотрим классификацию по категориям, где CASE-средства классифицируются по степени интеграции программных модулей, поддерживающих различные процессы разработки ПО. Эта классификация содержит три основные категории:

1. Вспомогательные программы (tools) поддерживают отдельные процессы разра

ботки ПО, такие как проверка непротиворечивости архитектуры системы, компиляция программ, сравнение результатов тестов и т.д. Вспомогательные программы могут быть универсальными функционально законченными средствами или могут входить в состав инструментальных средств.

2. Инструментальные средства (workbenches) поддерживают определенные про

цессы разработки ПО, такие как создание спецификации, проектирования. Обычно они представляют собой набор интегрированных вспомогательных программ.

3. Рабочие среды разработчиков (environments) поддерживают все или большин-

ство процессов разработки ПО и включают в себя несколько различных интегрированных инструментальных средств.

Схематично классификация по категориям с примерами CASE-средств различных категорий представлена на рис. 2.

Рис. 2. Классификация CASE-средств по категориям

Вспомогательные программы выбираются разработчиками ПО обычно по своему усмотрению. Инструментальные средства поддерживают определенные методы разработки на основе некоторой модели разработки ПО, наборов правил и нормативных указаний. Интегрированные рабочие среды представляют инфраструктуру поддержки для данных, управления и интеграции системных представлений. Экспертные рабочие среды более интеллектуальны. Они включают базу знаний о процессах создания ПО и механизм, предлагающий разработчику те или иные вспомогательные или инструментальные средства.

Инструментальные средства обычно объединяют через общий репозиторий.

Структура пакета инструментальных средств показана на рис. 3.

Рис. 3. Пакет инструментальных CASE-средств

Такой пакет образуют следующие средства.

1. Редакторы диаграмм предназначены для создания диаграмм потоков данных, иерархий объектов, диаграмм «сущность-связь». Эти редакторы не только имеют средства рисования, но и поддерживают различные типы объектов, используемых в диаграммах.

2. Средства проектирования, анализа и проверки выполняют проектирование ПО и создают отчет об ошибках и дефектах в системной архитектуре. Они могут работать совместно с системой редактирования, поэтому обнаруженные ошибки можно устранить на ранней стадии проектирования.

3. Центральный репозиторий позволяет проектировщику найти нужный проект и соответствующую ему проектную информацию.

4. Словарь данных хранит информацию об объектах, которые используются в структуре системы.

5. Средства генерирования отчетов на основе информации из центрального репозитория автоматически генерируют системную документацию.

6. Средства создания форм определяют форматы экранных форм и документов.

7. Средства импортирования и экспортирования позволяют обмениваться информацией из центрального репозитория различным инструментальным средствам.




8. Генераторы программного кода автоматически генерируют программы на основе проектов, хранящихся в центральном репозитории.

Различают два класса инструментальных систем технологии программирования: инструментальные системы поддержки проекта и языково-зависимые инструментальные системы.

Инструментальная система поддержки проекта - это открытая система, способная поддерживать разработку ПС на разных языках программирования после соответствующего ее расширения программными инструментами, ориентированными на выбранный язык. Набор инструментов такой системы поддерживает разработкой ПС, а также содержит независимые от языка программирования инструменты, поддерживающие разработку ПС (текстовые и графические редакторы, генераторы отчетов и т.п.). Кроме того, он содержит инструменты расширения системы. Ядро такой системы обеспечивает, в частности, доступ к репозиторию.

Языково-зависимая инструментальная система - это система поддержки разработки ПС на каком-либо одном языке программирования, существенно использующая в организации своей работы специфику этого языка. Эта специфика может сказываться и на возможностях ядра (в том числе и на структуре репозитория), и на требованиях к оболочке и инструментам. Примером такой системы является среда поддержки программирования на языке Ада.

На сегодняшний день наиболее развитым из всех поставляемых в России комплексов такого рода является комплекс технологий и инструментальных средств создания информационных систем, основанный на методологии и технологии DATARUN. В состав комплекса входят следующие инструментальные средства:

Узбекское Агентство
Связи и Информатизации

Ташкентский Университет Информационных Технологий

Кафедра
«Программное обеспечение информационных технологий»

Преподаватель дисциплины


Выдержки из лекций

Система автоматизации программирования

Система автоматизации программирования (САП) представ­ляет собой совокупность программных и аппаратных средств, предназначенных для автоматизации одного из наиболее важных этапов разработки - этапа программирования, т.е. перевода исходных алгоритмов автоматизирован ­ ного управления на ма­шинный язык, используемый в конкретной ЭВМ. Она существен­но сокращает время изготовления программы.

В общем случае эта система состоит из одного или нескольких входных языков, систем трансляции программ с этих языков и компоновки программ, баз данных проектирования и системы выпуска технической документации на программные средства.

Система автоматизации программирования выполняет сле­дующие функции:

— синтаксический и семантический контроль правильности записи прог ­ рамм на входных языках и выдачу информации о наличии, месте и харак ­ те ­ ре ошибок;

— формирование структуры общего распределения памяти ЭВМ и описание глобальных переменных;

— трансляцию отдельных модулей комплекса программ, записанных на одном из входных языков, в объектные коды команд машины;

— компоновка оттранслированных программ по передаче управления, по глобальным переменным, а также по исполь­зованию общих зон памяти ЭВМ в единую исполняемую прог­рамму;

— накопление в базе данных проектирования результатов трансляции модулей для их последующей комплексной отладки и загрузки в память управляющей ЭВМ;

— автоматизированный выпуск технической документации на програм ­ мные средства и ее корректировку.

Требования к САП зависят от объема и сложности разраба­тываемого программного обеспечения, имеющихся ресурсов для его создания, и ряда других конструктивных и организационных факторов.

Требования к САП состоят в следующем:

- снижение общей трудоемкости и длительности создания программ;

- повышение производительности труда программистов;

- обеспечение высокого качества и надежности функционирования создаваемых программ;

- обеспечение унифицированной технологии разработки программ для реализующих их ЭВМ широкого класса;

- использование новых технологий программирования;

- обеспечение эффективного использования ресурсов памяти и производительности реализующих ЭВМ.

Системное ПО ( System Software ) – это программы и комплексы программ, являющиеся общими для всех, кто совместно использует технические средства компьютера, и применяемые как для автоматизации разработки (создания) новых программ, так и для организации выполнения программ существующих.

Прикладные программы предназначены для того, чтобы обеспечить применение вычислительной техники в различных сферах деятельности человека.

Инструментальное программное обеспечение входит в состав системного ПО, к нему относят среды и системы программирования.

Система программирования — это система для разработки новых программ на конкретном языке программирования.

Современные системы программирования обычно предоставляют пользователям мощные и удобные средства разработки программ. В них входят:

интегрированная среда разработки;

средства создания и редактирования текстов программ;

отладочные программы , т.е. программы, помогающие находить и устранять ошибки в программе;

"дружественная" к пользователю диалоговая среда;

многооконный режим работы;

мощные графические библиотеки; утилиты для работы с библиотеками

встроенная справочная служба;

другие специфические особенности.

Популярные системы программирования — Turbo Basic , Quick Basic , Turbo Pascal , Turbo C .

Структурное программирование — методология разработки программного обеспечения, предложенная в 70-х года XX века Дейкстрой и разработанная и дополненная Виртом.

В соответствии с данной методологией любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:

последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;

ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;

цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).

Структурное программирование - это методология программирования, основанная на суждении, что логичность и понятность программы является залогом ее надежности, облегчает и ускоряет разработку программы, ее освоение, сопровождение и дальнейшую ее модификацию.

Характерной чертой структурного программирования являет его отказ от использования оператора безусловного перехода goto для передачи управления, ограниченное использование глобальных переменных, модульность программ.

Алгоритм и программа должны составляться поэтапно (то есть по шагам).

Сложная задача должна разбиваться на достаточно простые, легко воспринимаемые части, каждая из которых имеет только один вход и только один выход. Логика алгоритма и программы должны опираться на минимальное число достаточно простых базовых управляющих структур.

Фундаментом структурного программирования является теорема о структурировании. Эта теорема устанавливает, что как бы ни была сложна задача, схема ее алгоритма может быть представлена с использованием ограниченного числа базисных управляющих структур. Эти элементарные структуры могут соединяться между собой, образуя более сложные структуры, по тем же самым элементарным схемам. Базовыми элементарными структурами являются следующие:

Базисная структура типа "следование". Имеет следующий смысл: "Выполнить S"

Базисная структура типа "ветвление". Имеет следующий смысл: "Если P то выполнить S1 иначе выполнить S2"

Базисная структура типа "цикл с предусловием". Имеет следующий смысл: "Пока P выполнять S"

Объектно-ориентированное программирование представляет собой метод программирования, который весьма близко напоминает наше поведение. Оно является естественной эволюцией более ранних нововведений в разработке языков программирования. Объектно-ориентированное программирование является более структурным, чем все предыдущие разработки, касающиеся структурного программирования. Оно также является более модульным и более абстрактным, чем предыдущие попытки абстрагирования данных и переноса деталей программирования на внутренний уровень.

Объекты. Объект – это совокупность свойств (структур данных, характерных для этого объекта), методов их обработки (подпрограмм изменения свойств) и событий, на которые данный объект может реагировать и которые приводят к изменению объекта.

Объекты моделируют характеристики и поведение элементов мира, в котором мы живем. Они являются окончательной абстракцией данных.

Не менее важным является и тот факт, что объекты могут наследовать характеристики и поведение того, что мы называем порождающие, родительские объекты (или предки).

Класс. Объекты могут иметь идентичную структуру и отличаться только значениями свойств. В таких случаях в программе создается новый тип, основанный на единой структуре объекта. Он называется классом, а каждый конкретный объект, имеющий структуру этого класса, называется экземпляром класса.

Объектно-ориентированный язык программирования характеризуется тремя основными свойствами:

Наследование . Наследованием называется возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы. Наследование призвано отобразить такое свойство реального мира, как иерархичность.

Полиморфизмом называют явление, при котором классы-потомки могут изменять реализацию метода класса-предка, сохраняя его сигнатуру (таким образом, сохраняя неизменным интерфейс класса-предка). Это позволяет обрабатывать объекты классов-потомков как однотипные объекты, не смотря на то, что реализация методов у них может различаться.

Инкапсуляция — это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик — пользователь класса должен видеть и использовать только интерфейс (т.е. список декларируемых свойств и методов) класса и не вникать в его внутреннюю реализацию. Этот принцип (теоретически) позволяет минимизировать число связей между классами и, соответственно, упростить независимую реализацию и модификацию классов.

Технологии объектного, событийного и структурного программирования объединяются в RAD -системах, которые содержат много готовых классов, представленных в виде визуальных компонентов, которые добавляются в программу одним щелчком. Программисту необходимо спроектировать внешний вид окон приложений и определить обработку событий, весь вспомогательный код программа сгенерирует сама.

Программирование ( programming ) - теоретическая и практическая деятельность, связанная с созданием программ. Решение задач на компьютере включает в себя следующие основные этапы, часть из которых осуществляется без участия компьютера.

1. Постановка задачи:

• сбор информации о задаче;

• формулировка условия задачи;

• определение конечных целей решения задачи;

• определение формы выдачи результатов;

• описание данных (их типов, диапазонов величин, структуры и т. п.).

2. Анализ и исследование задачи, модели:

• анализ существующих аналогов;

• анализ технических и программных средств;

• разработка математической модели;

• разработка структур данных.

3. Разработка алгоритма:

• выбор метода проектирования алгоритма;

• выбор формы записи алгоритма (блок-схемы, псевдокод и др.);

• выбор тестов и метода тестирования;

• выбор языка программирования;

• уточнение способов организации данных;

• запись алгоритма на выбранном языке

5. Тестирование и отладка:

• отладка семантики и логической структуры;

• тестовые расчеты и анализ результатов тестирования;

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.

7. Сопровождение программы:

• доработка программы для решения конкретных задач;

• составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию.

Совокупность программ, предназначенная для решения задач на ПК, называется программным обеспечением. Состав программного обеспечения ПК называют программной конфигурацией.

Программное обеспечение, можно условно разделить на три категории:

· системное ПО (программы общего пользования), выполняющие различные вспомогательные функции, например создание копий используемой информации, выдачу справочной информации о компьютере, проверку работоспособности устройств компьютера и т.д.

· прикладное ПО, обеспечивающее выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок, обработка информационных массивов и т.д.

· инструментальное ПО (системы программирования), обеспечивающее разработку новых программ для компьютера на языке программирования.

Системное ПО

Это программы общего пользования не связаны с конкретным применением ПК и выполняют традиционные функции: планирование и управление задачами, управления вводом-выводом и т.д.

Другими словами, системные программы выполняют различные вспомогательные функции, например, создание копий используемой информации, выдачу справочной информации о компьютере, проверку работоспособности устройств компьютера и т.п.

К системному ПО относятся:

· операционные системы (эта программа загружается в ОЗУ при включении компьютера)

· программы – оболочки (обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS, например, Norton Commander)

· операционные оболочки – интерфейсные системы, которые используются для создания графических интерфейсов, мультипрограммирования и.т.

· Драйверы (программы, предназначенные для управления портами периферийных устройств, обычно загружаются в оперативную память при запуске компьютера)

· утилиты (вспомогательные или служебные программы, которые представляют пользователю ряд дополнительных услуг)
К утилитам относятся:

· диспетчеры файлов или файловые менеджеры

· средства динамического сжатия данных (позволяют увеличить количество информации на диске за счет ее динамического сжатия)

· средства просмотра и воспроизведения

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

· средства коммуникаций (коммуникационные программы) предназначены для организации обмена информацией между компьютерами

· средства обеспечения компьютерной безопасности (резервное копирование, антивирусное ПО).

Необходимо отметить, что часть утилит входит в состав операционной системы, а другая часть функционирует автономно. Большая часть общего (системного) ПО входит в состав ОС. Часть общего ПО входит в состав самого компьютера (часть программ ОС и контролирующих тестов записана в ПЗУ или ППЗУ, установленных на системной плате). Часть общего ПО относится к автономными программам и поставляется отдельно.

Прикладное ПО

Прикладные программы могут использоваться автономно или в составе программных комплексов или пакетов. Прикладное ПО – программы, непосредственно обеспечивающие выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок, создание электронных таблиц и т.д.

Пакеты прикладных программ – это система программ, которые по сфере применения делятся на проблемно – ориентированные, пакеты общего назначения и интегрированные пакеты. Современные интегрированные пакеты содержат до пяти функциональных компонентов: тестовый и табличный процессор, СУБД, графический редактор, телекоммуникационные средства.

К прикладному ПО, например, относятся:

· Комплект офисных приложений MS OFFICE

· Финансовые аналитические системы

· Интегрированные пакеты делопроизводства

· CAD – системы (системы автоматизированного проектирования)

· Редакторы HTML или Web – редакторы

· Браузеры – средства просмотра Web - страниц

· Экспертные системы
И так далее.

Инструментальное ПО

Инструментальное ПО или системы программирования - это системы для автоматизации разработки новых программ на языке программирования.

В самом общем случае для создания программы на выбранном языке программирования (языке системного программирования) нужно иметь следующие компоненты:
1. Текстовый редактор для создания файла с исходным текстом программы.
2. Компилятор или интерпретатор. Исходный текст с помощью программы-компилятора переводится в промежуточный объектный код. Исходный текст большой программы состоит из нескольких модулей (файлов с исходными текстами). Каждый модуль компилируется в отдельный файл с объектным кодом, которые затем надо объединить в одно целое.
3. Редактор связей или сборщик, который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение – исполнимый код.
Исполнимый код – это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение .ЕХЕ или .СОМ.
4. В последнее время получили распространение визуальный методы программирования (с помощью языков описания сценариев), ориентированные на создание Windows-приложений. Этот процесс автоматизирован в средах быстрого проектирования. При этом используются готовые визуальные компоненты, которые настраиваются с помощью специальных редакторов.

Наиболее популярные редакторы (системы программирования программ с использованием визуальных средств) визуального проектирования:

· Borland Delphi - предназначен для решения практически любых задачи прикладного программирования

· Borland C++ Builder – это отличное средство для разработки DOS и Windows приложений

· Microsoft Visual Basic – это популярный инструмент для создания Windows-программ

· Microsoft Visual C++ - это средство позволяет разрабатывать любые приложения, выполняющиеся в среде ОС типа Microsoft Windows

Операционная система

Все многообразие программ, используемых на современном компьютере, называется программным обеспечением - ПО (software).

Программы, составляющие ПО, можно разделить на три группы: системное ПО, системы программирования, прикладное ПО. Ядром системного ПО является операционная система (ОС).

ОС - это неотъемлемая часть ПО, управляющая техническими средствами компьютера (hardware).. Операционная система - это программа, координирующая действия вычислительной машины; под ее управлением осуществляется выполнение программ.

Основные функции операционной системы:

  • 1. Обмен данными между компьютером и различными периферийными устройствами (терминалами, принтерами, гибкими дисками, жесткими дисками и т.д.). Такой обмен данными называется "ввод/вывод данных".
  • 2. Обеспечение системы организации и хранения файлов.
  • 3. Загрузка программ в память и обеспечение их выполнения.
  • 4. Организация диалога с пользователем.

ОС – это комплекс взаимосвязанных системных программ, назначение которого – организовать взаимодействие пользователя с компьютером и выполнение всех других программ.

Читайте также: