- •3 Системное программное обеспечение.
- •Инструментарий технологии программирования.
- •Пакеты прикладных программ.
- •Суть поиска подходящих объектов при проектировании.
- •Специфицирование интерфейсов объекта.
- •Специфицирование реализации объектов.
- •Механизмы повторного использования.
- •Сравнение структур времени выполнения и времени компиляции.
- •Проектирование с учетом будущих изменений
- •Прикладные программы. Инструментальные библиотеки. Каркасы приложений.
- •Признаки плохого проекта.
- •Принцип персональной ответственности
- •15. Принцип открытия – закрытия (оср)
- •17. Принцип инверсии зависимостей.
- •Обратное влияние клиентов на интерфейсы
1 Технология программирования в историческом аспекте. 2 Основные понятия и определения. 3 Системное программное обеспечение. 4 Инструментарий технологии программирования. 5 Пакеты прикладных программ. 6 Суть поиска подходящих объектов при проектировании. 7 Специфицирование интерфейсов объекта. 8 Специфицирование реализации объектов. 9 Механизмы повторного использования. 10 Сравнение структур времени выполнения и времени компиляции. 11 Проектирование с учетом будущих изменений. 12 Прикладные программы. Инструментальные библиотеки. Каркасы приложений. 13 Признаки плохого проекта. 14 Принцип персональной ответственности. 15 Принцип открытия-закрытия. 16 Принцип подстановки Лискоу. 17 Принцип инверсии зависимостей. 18 Принцип отделения интерфейсов
Основные понятия и определения.
ТП – совокупность методов и средств испол. В процессе разработки ПО.
ТП – набор инструкций включающий:
-указание последов.выпонения технологич.операций
- описание самих операций, где для каждой операции определенны свои исходн. Данные,инструкции и др.
Различают технологии:
-для решения отдельных задач (в основе ограниченный
применимый метод)
-технология,охватывающая несколько этапов (в основе базовый метод или
подход опред. Совокупности методов испол. На разных этапах разработки)
Технология программирования в историческом аспекте.
Стихийное программирование (от появления первых выч.машин до сер.60-х 20в.) Хар-ся отсутствием сформулиров. Технологий. Первые программы имели простейшую структуру.
Появление языков assembler, fortram.
Программы можно было сохранить и испол.дальше,
появление библиотек. Программа состояла
из основной программы, данных и программ.
2.структурный подход в программировании
Структурное программирование позволяет значительно
сократить число вариантов построения программы
по одной и той же спецификации, что значительно
снижает сложность программы и, что ещё важнее,
облегчает понимание её другими разработчиками.
Сильно упрощается процесс тестирования
и отладки структурированных программ.
3.объектный подход (с серед. 70- конец 90-х)
Представляется как технология основанная на представлении программ в виде совокупности объектов, каждый из которых явл. Экземпляром опред. Типа (класса). Взаимодействие осуществляется путем передачи сообщения.
Впервые испол. На языке Simula (в 60-ые).
Достоинства – более естественная декомпозиция ПО.это приводит
К более полной локализации данных. Данный подход спровоцировал
Появление Delphi, Visual C++, Visual C#.
Недостатки – отсутствуют стандарты компановки
объектов в данное Целое.
4.компонентный подход и case технологии (сер.90ых до нашего времени)
Предполагает построение ПО из отдельных компонентов из отдельно существующих частей ПО,которые взаимод. С собой через стандартизированные двоичные интерфейсы. Комп. Подход лежит в основе СОМ.
Технология СОМ предст. Свои объекты – СОМ.которые явл.
Экземплярами класса СОМ. Объект СОМ включает поля,методы,
но каждый объект может реализов. Несколько интерфейсов.
Объект всегда функционирует в составе сервера.
Типы серверов:
-внутренний
-локальный
-удаленный
Внутренний сервер – динамич.библиотека подключ.к серверу – клиенту. Не требует спец.средств.
Локальный – создается отдельным процессом. Работает на 1 комп. С клиентом.
Удаленный – запускается на другом комп.
Для обращения к службам клиент должен получить указатель на службу интерфейс. Взаимод.клмента и сервера обеспечивается с помощью базовой технологии.
Automation – технология создания программир.приложений, обеспеч.внутр.доступ к этим приложениям. Вводится понятие дисп интерфейса обеспечив.доступ к функциям. Active X – построенна на базе Automation, предназначена для создания ПО, сосред. Как на 1 комп.,так и в сети. Предполагает испол.прогр.объектов. полученные т.о. элементы управления можно устанавл на комп.дистанционно с удаленного сервера. Преимущества : -быстрое написание прогр.кода -открытость,мобильность -возможность написания приложений с помощью знакомых средств -большое кол-во библиотек -стандартность
3 Системное программное обеспечение.
К системному ПО относятся:
операционные системы (эта программа загружается в ОЗУ при включении компьютера)
программы – оболочки (обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS, например, Norton Commander)
операционные оболочки – интерфейсные системы, которые используются для создания графических интерфейсов, мультипрограммирования и.т.
Драйверы (программы, предназначенные для управления портами периферийных устройств, обычно загружаются в оперативную память при запуске компьютера)
утилиты (вспомогательные или служебные программы, которые представляют пользователю ряд дополнительных услуг)
К утилитам относятся:
диспетчеры файлов или файловые менеджеры
средства динамического сжатия данных (позволяют увеличить количество информации на диске за счет ее динамического сжатия)
средства просмотра и воспроизведения
средства диагностики; средства контроля позволяют проверить конфигурацию компьютера и проверить работоспособность устройств компьютера, прежде всего жестких дисков
средства коммуникаций (коммуникационные программы) предназначены для организации обмена информацией между компьютерами
средства обеспечения компьютерной безопасности (резервное копирование, антивирусное ПО).
Необходимо отметить, что часть утилит входит в состав операционной системы, а другая часть функционирует автономно. Большая часть общего (системного) ПО входит в состав ОС. Часть общего ПО входит в состав самого компьютера (часть программ ОС и контролирующих тестов записана в ПЗУ или ППЗУ, установленных на системной плате). Часть общего ПО относится к автономными программам и поставляется отдельно
Инструментарий технологии программирования.
Инструментарий технологии программирования – совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов. Группы программных продуктов:1. Средства для создания приложений: локальные средства, обеспечивающие выполнение отдельных видов работ по созданию программ, делятся на: – языки и системы программирования; – инструментальные среда пользователя. интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ.
2. Средства для создания информационных систем (Case–технология), представляющая методы анализа, проектирования и создания программных систем и предназначенная для автоматизации процессов разработки и реализации информационных систем, делятся на:
– встроенные в систему реализации;
– независимые от системы реализации. Средства для создания приложений 1. Локальные средства разработки программ Данные средства на рынке программных продуктов наиболее представительны и включают языки и системы программирования, а также инструментальную среду пользователя.
Язык программирования – формализованный язык для описания алгоритма решения задачи на компьютере. Они делятся на классы:
– машинные языки – языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
– машинно-ориентированные языки – языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);
– алгоритмические языки – не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, бейсик, Фортран и др.);
– процедурно–ориентированные языки – языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм).
– проблемно–ориентированные языки – предназначены для решения задач определенного класса (Лисп, Симула);
– интегрированные системы программирования. Программа, подготовленная на языке программирования, проходит этап трансляции – преобразование исходного кода программы в объектный код. Трансляция может выполняться с помощью средств компиляторов или интерпретаторов. Компиляторы транслируют всю программу, но без ее выполнения. Интерпретаторы выполняют пооператорную обработку и выполнение программы. Существуют специальные программы, предназначенные для отслеживания выполнения программы в пооператорном варианте (трассировка) и анализа выполнения других программ – отладчики. Системы программирования включают: компилятор, интегрированную среду разработчика программ; отладчик; средства оптимизации кода программ; набор библиотек; редактора связей (специальная программа, обеспечивающая построение загрузочного модуля, пригодного к выполнению); справочные системы; систему поддержки и управления проектом программного комплекса. Средства поддержки проектов – новый класс программного обеспечения, предназначенный для: отслеживания изменений, выполненных разработчиком программ; поддержки версий программы с автоматической разноской изменений; получение статистики о ходе работ проекта. Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ: макрокоманды; библиотека функций, процедур, объектов и методов; клавишные макросы; языковые макросы; генераторы приложений; языки запросов и манипулирования данными и многое другое.
Средства отладки и тестирования программ предназначены для подготовки разработанной программы к промышленной эксплуатации. 2. Интегрированные среды разработки программ (повышение производительности труда программистов, автоматизация создания кодов программ, обеспечивающих интерфейс пользователя графического типа).