- Назовите
функциональные компоненты сетевой операционной
системы их назначение
- Дайте краткую
характеристику операционной системе
MS DOS.
- Каково назначение
операционных оболочек?
- Дайте краткую
характеристику операционным системам
семейства Windows.
- Дайте краткую
характеристику операционным системам
семейства UNIX.
- Перечислите
основные критерии выбора операционных
систем.
Глава
5. Инструментарий технологии
программирования
5.1. Классификация
инструментария технологии
программирования
Современный
рынок программного обеспечения
предоставляет разработчикам АБИС
и локальных внутрибиблиотечных
задач большой выбор инструментария
технологии программирования (инструментальных
программных средств).
Инструментарий
технологии программирования включает
специализированные программные продукты,
обеспечивающие процесс разработки программ,
отладки, тестирования и внедрения создаваемого
ПО.
Направление,
связанное с технологией создания программных
продуктов в настоящее время стремительно
развивается. Это обусловлено переходом
на промышленную технологию производства
программного обеспечения, стремлением
к сокращению сроков, трудовых и материальных
затрат на производство и эксплуатацию
программ, обеспечению гарантированного
уровня их качества.
В
настоящее время сформировались
следующие группы программных продуктов
инструментария технологии программирования
(рис. 15):
- средства
создания приложений
– инструментальные программные средства,
обеспечивающие разработку программ (приложений);
-
средства автоматизированного
создания информационных
систем, CASE-технология
(Computer-AidedSystem Engineering) - инструментальные
программные средства, представляющие
методы анализа, проектирования и создания
программных систем и предназначенные
для автоматизации процессов
разработки и реализации информационных
систем.
Рис.
15. Классификация инструментария технологии
программирования
В
зависимости от охвата реализуемых
работ по разработке программного обеспечения
средства создания приложений на рынке
программного обеспечения представлены
двумя группами:
- локальные
средства разработки программ
– средства создания приложений,
обеспечивающие выполнение отдельных
работ по созданию программ; среди локальных
средств выделяют: системы программирования
и инструментальную среду пользователя;
- интегрированные
среды разработки программ
- средства создания приложений, обеспечивающие
выполнение комплекса взаимосвязанных
работ на всех этапах создания программ.
Классификация
средств автоматизированного создания
информационных систем возможна по различным
основаниям деления: по типам, категориям,
зависимости от средств реализации и др.
Классификация
по типам отражает функциональную ориентацию
CASE-средств на те или иные процессы
жизненного цикла и включает следующие
типы:
- средства
анализа и проектирования,
предназначенные для построения и анализа
как моделей деятельности организации
(предметной области), так и моделей проектируемой
системы. Их целью является определение
системных требований и свойств, которыми
система должна обладать, а также создание
проекта системы, удовлетворяющей эти
требованиям и обладающей соответствующими
свойствами. Выходом таких средств являются
спецификации компонентов системы
и их интерфейсов, алгоритмов и структур
данных. К таким средствам относятся BPwin
(PLATINUM technology), Oracle Designer (Oracle), Rational Rose (Rational
Software) Power Designer (Sybase) и др.;
- средства
проектирования баз
данных, обеспечивающие
моделирование данных и генерацию схем
баз данных (как правило, на языке SQL) для
наиболее распространенных СУБД. Средства
проектирования баз данных имеются в составе
таких CASE-средств, как Oracle Designer, Power Designer
и др. Наиболее известным средством, ориентированным
только на проектирование БД, является
ERwin (PLATINUM technology);
- средства
управления требованиями,
обеспечивающие комплексную поддержку
разнородных требований к создаваемой
системе. Примерами таких средств являются
RequisitePro (Rational Software), DOORS – динамическая
объектно-ориентированная система управления
требованиями (Quality Systems and Software Inc.);
- средства
управления конфигурацией
ПО – PVCS (Merant), ClearCase (Rational
Software);
- средства
документирования,
наиболее известными из которых является
SoDa (Rational Software);
- средства
тестирования
– Rational Suite TestStudio (Rational Software);
- средства
управления проектом
– Open Plan Professional (Welcom Software), Microsoft Project и др.;
- средства
реверсного инжиниринга,
предназначенные для переноса существующей
системы ПО в новую среду. Они обеспечивают
анализ программных кодов и схем БД и формирование
на их основе различных моделей и спецификаций.
Эти средства входят в состав таких CASE-средств,
как Oracle Designer, Power Designer, ERwin, Rational Rose.
Классификация
по категориям определяет степень
интегрированности выполняемых функций
и включает:
- отдельные
локальные средства,
решающие небольшие автономные задачи;
- частично
интегрированные средства,
охватывающие большинство процессов ЖЦ
ПО;
- полностью
интегрированные средства,
поддерживающие весь ЖЦ ПО и связанные
общим репозиторием.
Средства
CASE-технологий по зависимости от средств
реализации делятся на две группы:
- встроенные
в систему реализации
– все решения по проектированию и реализации
привязаны к выбранной системе управления
базами данных;
- независимые
от системы реализации
– все решения по проектированию ориентированы
на унификацию начальных этапов жизненного
цикла и средств их документирования,
обеспечивают большую гибкость в выборе
средств реализации.
На
сегодняшний день российский рынок
программного обеспечения располагает
практически всеми перечисленными
выше средствами.
5.2.
Средства создания приложений
Среди локальных
средств разработки программ наиболее
представительным видом являются системы
программирования.
Система
программирования
- вид локальных
средств
разработки программ, представленных комплексом
средств, предназначенных для автоматизации
процессов программирования. Включает в себя:
- язык
программирования,
- транслятор программ,
- интегрированную
среду разработчика программ,
- набор вспомогательных
средств для подготовки программ к выполнению
(редактор
связей, отладчик, библиотеку
подпрограмм, справочную
систему
и др.).
Язык
программирования -
часть системы
программирования,
представляющая собой формализованный
язык для написания программ и записи алгоритмов решения задач на ЭВМ. В языках программирования алфавит, синтаксис и семантика строго определены.
В
основу классификации языков программирования
могут быть положены различные основания:
- по синтаксису
образования конструкций языки программирования
делятся на:
- машинные - языки
программирования, предназначенные для
представления программ в машинных кодах, то
есть в форме, которая позволяет выполнять
ее техническими средствами обработки
данных;
- машинно-ориентированные - языки
программирования, которые отражают структуру
ЭВМ или данного класса ЭВМ (языки символического
кодирования
и ассемблер);
- процедурно-ориентированные - языки
программирования, позволяющие описывать алгоритм
решения задачи как совокупность процедур
(Паскаль, Фортран, PL/1 и др.);
- проблемно-ориентированные - языки
программирования, предназначенные для
решения определенного класса задач
(проблем), например, задач, направленных
на обработку списков данных (Лисп),
получение отчетов (РПГ), моделирование систем
(Симула) и др.;
- объектно-ориентированные
языки - языки программирования, соответствующие концепциям объектно-ориентированного
программирования
(Object
Pascal, Visual
Basic, С++ и др.);
- по степени
зависимости от ЭВМ языки программирования
делятся на:
- языки
низкого уровня - языки
программирования,
предназначенные для определенного типа
ЭВМ и отражающие его внутренний машинный код. К языкам низкого уровня
относятся машинные и машинно-ориентированные
языки;
- языки
высокого уровня - языки
программирования,
средства которых обеспечивают описание задачи
в наглядном, легко воспринимаемом виде,
удобном для программиста; они не зависят от внутренних машинных кодов ЭВМ любого типа, поэтому программы,
написанные на языках высокого уровня,
требуют перевода в машинные коды программами транслятора. К языкам высокого
уровня относятся Фортран, PL/1, Бейсик, Паскаль, С, С++, Пролог, Visual
Basic for Applications
и др.;
- по точности
отражения структуры алгоритма языки
программирования делятся на:
- алгоритмические - языки
программирования,
предназначенные для однозначного описания алгоритмов решения задач.
К алгоритмическим языкам относятся Фортран,
PL/1, Бейсик, Паскаль, С, С++, Visual
Basic for Applications
и др.;
- неалгоритмические
- языки
программирования,
смысл предложений которых сугубо неоднозначен
или тексты которых служат лишь исходным
материалом для синтеза алгоритма решения задачи. Примером неалгоритмических
языков может служить язык Пролог.
Программа,
подготовленная на языке программирования,
проходит этап обработки
транслятором.
Транслятор - часть системы программирования, представляющая собой обрабатывающую
программу,
которая выполняет преобразование исходной
программы
с языка
программирования
в машинные
коды. Трансляция
может выполняться с использованием средств
компиляторов или интерпретаторов.
Компиляторы транслируют всю программу,
передавая затем ее на выполнение. Интерпретаторы,
в отличие от компиляторов, выполняют
пооператорную обработку и выполнение
программы.
После
трансляции программа готова к обработке
редактором связей. Редактор
связей - часть системы программирования, представляющая собой обрабатывающую
программу,
которая используется для построения
одного загрузочного
модуля из
одного или более объектных или загрузочных модулей,
то есть модулей, готовых для выполнения
на ЭВМ (рис.16).
Рис.
16. Схема процесса создания загрузочного
модуля программы
Для
проверки правильности работы программ
существуют специальные программы – отладчики.
Отладчик - часть системы программирования, представляющая собой обрабатывающую
программу,
предназначенную для анализа поведения
другой программы, обеспечивающая ее трассировку (отслеживание выполнения
программы в пооператорном варианте),
останов в указанных точках или при выполнении
указанных условий (например, для идентификации
места и вида ошибок), просмотр и изменение
ячеек памяти, регистров процессора и команд программы. Для отладки
и тестирования правильности работы программ
создается база данных контрольного примера.