Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опорный конспект по программированию (наиболее....doc
Скачиваний:
28
Добавлен:
27.10.2018
Размер:
2.51 Mб
Скачать
      1. Средства создания программ

Структура современной инструментальной интегрированной среды программирования представлена на рис. 2.5.

Рис. 2.5 Структура интегрированной среды программирования

Текстовый редактор предназначен для написания программы на языке программирования. Результат работы редактора - текстовый файл с исходным текстом программы. Специализированные редакторы ориентированы на конкретный язык программирования:

  • выделяют ключевые слова текста,

  • автоматически проверяют правильность синтаксиса программы во время ввода.

Программа-компилятор предназначена для перевода исходного текста в машинный код:

  • поиск синтаксических ошибок,

  • создание промежуточного объектного кода (двоичный файл, стандартное расширение OBJ).

Редактор связей (сборщик) предназначен для связывания объектных модулей и машинного кода стандартных библиотечных функций в работоспособное приложение – исполнимый код для конкретной платформы (типа процессора и операционной системы)

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

Отладчик предназначен для анализа работы программы во время ее выполнения (проверка работоспособности алгоритма - семантический анализ).

Визуальный подход к программированию реализован в средах быстрого проектирования (Rapid Application Development, RAD-среды):

  • элементы оформления оконного интерфейса создаются перетаскиванием готовых визуальных компонентов в проектируемое окно;

  • свойства компонентов настраиваются в редакторах свойств;

  • исходный текст программы генерируется RAD-средой автоматически.

      1. Современные системы программирования

Рейтинг популярности универсальных языков программирования:

  • Бейсик (Basic) – для освоения требует начальной подготовки;

  • Паскаль (Pascal) – требует специальной подготовки;

  • Си++ (C++), Ява (Java), Си Шарп (С#) – требуют профессиональной подготовки

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

  1. Basic: Microsoft Visual Basic;

  2. Pascal: Borland Delphi;

  3. C++: Microsoft Visual C++;

  4. Java: Borland JBuilder,

  5. C#: Microsoft Visual Studio .NET, Borland C#Builder.

  6. серверные и распределенные приложения:

  • Microsoft Visual C++,

  • продукты фирмы Borland,

  • средства программирования на Java.

Вопросы для самоконтроля

  1. Перечислите основные этапы разработки программы.

  2. Какую роль играет система программирования в процессе разработки программы?

  3. Какие разновидности трансляторов Вы знаете? В чем их отличие?

  4. Что является результатом работы транслятора?

  5. Для чего предназначен редактор связей? Что является результатом его работы?

  6. Что Вы понимаете под архитектурой программной системы?

  7. Какая архитектура является наиболее распространенной?

  8. В чем недостатки файл-серверной архитектуры?

  9. В чем преимущества клиент-серверной архитектуры?

    1. Проектирование и внедрение программ

      1. Этапы разработки программного обеспечения

Следует различать этапы создания программного обеспечения различного масштаба. Для небольших и средних программ последовательность этапов представлена на рис. 2.10.

Рис. 2.10 Этапы создания небольших и средних по объему кода программ

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

Этап формирования требований к проекту – самый важный, так как неправильное формулирование требований приводит к выполнению лишней работы, а недооценка сложности вызывает перерасход средств и времени. Сегодня около 60% крупных проектов завершаются неудачей именно из-за ошибок на стадии подготовки требований. На этапе предпроектного исследования объекта привлекаются специалисты заказчика и эксперты, хорошо знакомые с предметной областью, для которой разрабатывается информационная система. На этапе разработки технического задания готовится календарный план работ со сроками и объемами работ. Для реализации календарного плана как правило выбирается методология итерационного проектирования на основе RAD-средств и систем автоматической генерации исходных текстов на основе созданной формальной модели. Готовая работоспособная альфа-версия тестируется на наличие ошибок, устойчивость работы при вводе недопустимых или критических значений, при отсутствии информации, при неверных действиях, при сбоях аппаратуры и т.д.

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

Этап внедрения предполагает подготовку системы к запуску в эксплуатацию: настройка локальной сети, установка серверов, инсталляция вспомогательных программ, перенос данных из старых информационных систем.

Внедрение новой информационной системы требует обучения персонала работе с ней. После подписания акта приемки проект считается завершенным. Сотрудничество с заказчиком по обслуживанию системы после ввода ее в эксплуатацию называется сопровождением. Оно бесплатно на определенный гарантийный срок. Таким образом, объем непосредственного программирования и тестирования в цикле разработки составляет 10-20% от общего объема работ.

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

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

  • управление процессом разработки ПО.

Рис. 2.11 Типовые этапы реализации проекта сложной информационной системы