sga-help.ru€¦  · Web viewГуманитарная. Академия....

173
Современная Гуманитарная Академия Дистанционное образование _______________________________________________ _________ 0003.03.04;РУ.01;2 Рабочий учебник Фамилия, имя, отчество обучающегося___________________________________________________ Направление подготовки____________________________________________________________ ___ Номер контракта_____________________________________________________________ _________ ИНФОРМАТИКА ЮНИТА 3 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ И ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ

Transcript of sga-help.ru€¦  · Web viewГуманитарная. Академия....

Page 1: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Современная

Гуманитарная

АкадемияДистанционное образование

________________________________________________________0003.03.04;РУ.01;2

Рабочий учебникФамилия, имя, отчество обучающегося___________________________________________________Направление подготовки_______________________________________________________________Номер контракта______________________________________________________________________

ИНФОРМАТИКА

ЮНИТА 3

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ И ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ

МОСКВА 2007

Page 2: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Разработано П.Н. ШевченкоПод ред. О.И. Шелухина, д-ра техн. наук, проф., засл. деятеля науки РФ

Рекомендовано Учебно-методическимсоветом в качестве учебного пособия для студентов СГА

КУРС: ИНФОРМАТИКА

Юнита 1. Введение в информатику.Юнита 2. Функциональная и структурная организация компьютера.Юнита 3. Программное обеспечение и технология программирования.Юнита 4. Технология сбора, обработки и передачи информации.Юнита 5. Языки программирования высокого уровня. Базы данных.Юнита 6. Сетевые технологии обработки информации. Защита информации.

ЮНИТА 3

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

Дано определение технологии программирования. Рассмотрены методы, средства и процедуры технологии программирования. Даны основы модульного программирования.

Представлены информационные процессы в автоматизированных системах. Рассмотрены понятие и классификация информационных систем, фазы информационного цикла и их модели.

Рассмотрены основные задачи информационных технологий. Дан анализ построения систем с использованием информационных технологий.

Для студентов Современной Гуманитарной Академии

_____________________________________________________________________________________

© СОВРЕМЕННАЯ ГУМАНИТАРНАЯ АКАДЕМИЯ, 20072

Page 3: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

О Г Л А В Л Е Н И ЕСтр.

ДИДАКТИЧЕСКИЙ ПЛАН........................................................................................................................4ЛИТЕРАТУРА.............................................................................................................................................5ТЕМАТИЧЕСКИЙ ОБЗОР.........................................................................................................................6

1. ПРОГРАММНЫЕ СРЕДСТВА РЕАЛИЗАЦИИ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ...........61.1. Программное обеспечение – фактор информатизации..............................................................61.2. Структура программного обеспечения........................................................................................71.3. Системное программное обеспечение.........................................................................................81.4. Информационные основы программного обеспечения...........................................................111.5. Арифметические основы ЭВМ...................................................................................................141.6. Логические основы программного обеспечения......................................................................151.7. Алгоритмические основы программного обеспечения............................................................171.8. Системы программирования.......................................................................................................201.9. Системы программирования информационных систем...........................................................231.10. Инструментальные программные средства.............................................................................231.11. Системы компьютерной графики.............................................................................................241.12. Офисные информационные системы.......................................................................................261.13. Интегрированные программные средства...............................................................................301.14. Разработка программного обеспечения...................................................................................311.15. Технологии программирования................................................................................................33

1.15.1. Методы технологии программирования...........................................................................371.15.2. Средства технологии программирования..........................................................................391.15.3. Структурное программирование........................................................................................391.15.4. Технология модульного программирования.....................................................................471.15.5. Жизненный цикл программы..............................................................................................521.15.6. Применение современных технологий для решения задач в различных сферах общественной жизни....................................................................................55

2. ИНФОРМАЦИОННЫЕ ПРОЦЕССЫ В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ...............612.1. Классификация информационных систем.................................................................................632.2. Процессы в информационной системе......................................................................................662.3. Взаимодействие информационной системы и внешней среды...............................................682.4. Системный подход к построению информационной системы................................................692.5. Стадии разработки информационных систем...........................................................................732.6. Построение систем с использованием информационных технологий...................................782.7. Понятие информационных технологий.....................................................................................852.8. Информационная технология как система................................................................................862.9. Этапы эволюции информационных технологий.......................................................................882.10. Составляющие информационных технологий........................................................................912.11. Классификация информационных технологий.......................................................................932.12. Методические основы информационных технологий............................................................962.13. Перспективы развития и использования информационных технологий...........................102

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ............................................................................105ТРЕНИНГ УМЕНИЙ...............................................................................................................................108ГЛОССАРИЙ...........................................................................................................................................115

ДИДАКТИЧЕСКИЙ ПЛАН3

Page 4: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Программное обеспечение – фактор информатизации. Системное программное обеспечение. Информационные основы программного обеспечения. Логические основы программного обеспечения. Интерфейсные оболочки. Системы программирования. Инструментальные программные средства. Системы компьютерной графики. Офисные программные средства. Интегрированные программные средства. Разработка и развитие программного обеспечения.

Определение технологии программирования. Методы технологии программирования. Средства технологии программирования. Процедуры технологии программирования. Жизненный цикл программы. Модульное программирование. Применение современных технологий для решения задач в различных сферах общественной жизни.

Понятие информационной системы. Классификация информационных систем. Фазы информа-ционного цикла и их модели. Системный подход к построению информационных систем. Стадии разработки информационных систем.

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

4

Page 5: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

ЛИТЕРАТУРА

Основная

*1. Информатика. Базовый курс: Учебник для вузов / Под ред. С.В. Симоновича– М.; СПб.: Питер, 2005.

*2. Информатика и информационные технологии: Учебник для вузов / Под ред. Н.В. Макаровой – М.: Финансы и статистика, 2004.

*3. Острейковский В.А. Информатика: Учебник для вузов. – М.: Высшая школа, 2005.

Дополнительная

*1. Белянина Н.В. Информатика: Учебное пособие. – М.: СГА, 2005.*2. Воробьев А.В. Информатика: Учебное пособие. – М.: СГА, 2005.*3. Информатика и информационные технологии: Учебное пособие / Под ред. Ю.Д. Романо-

вой. – М.: Эксмо, 2006.*4. Лесничая И.Г. Информатика и информационные технологии: Учебное пособие. – М.: Эксмо,

2006.5. Савельев А.Я. Основы информатики. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001.

*Примечание. Знаком (*) отмечены работы, на основе которых составлен тематический обзор.5

Page 6: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

ТЕМАТИЧЕСКИЙ ОБЗОР*

1. ПРОГРАММНЫЕ СРЕДСТВА РЕАЛИЗАЦИИ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ

1.1. Программное обеспечение – фактор информатизации

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

Технологии программного обеспечения представляют собой целенаправленное и согласованное использование следующих факторов информатизации:

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

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

Факторы информатизации

Данные факторы, подобно классическим факторам производства (трудозатраты, материальные затраты, основные фонды), обладают следующими свойствами:

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

– убывающая производительность – наращивание масштабов использования одного из факторов приносит все меньшие и меньшие выгоды;

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

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

* Полужирным шрифтом выделены новые понятия, которые необходимо усвоить. Знание этих понятий будет проверяться при тестировании.

6

Page 7: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

– аппаратурное решение – собрать нелинейный усилитель, в котором диод или транзистор используют начальную часть вольт-амперной характеристики, близкой к параболе;

– алгоритмический подход – написать программу, реализующую алгоритм Герона извлечения корня;

– информационный подход – построить таблицу (файл, базу данных) величин X, Y, в которой Y = .

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

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

1.2. Структура программного обеспечения

Выше уже говорилось о «слоях» технических и программных средств. На рис. 1.1 приводится сокращенная схема «слоеного пирога» – взаимодействия технических средств, различных видов программного обеспечения и пользователей.

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

7

Page 8: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Классификация программного обеспечения

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

новление файлов программ и БД).Системное программное обеспечение – совокупность программ и программных комплексов

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

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

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

1.3. Системное программное обеспечение

В составе системного программного обеспечения можно выделить две составляющих:– базовое программное обеспечение;– сервисное программное обеспечение.Базовое программное обеспечение – минимальный набор программных средств, обеспечива-

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

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

В базовое программное обеспечение входят:– операционная система (ОС);– операционные оболочки (текстовые, графические);– сетевая операционная система.Компьютер выполняет действия в соответствии с предписаниями программы, созданной на

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

8

Page 9: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

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

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

Операционные системы для персональных компьютеров (ПК) делятся на:– одно- и многозадачные (в зависимости от числа параллельно выполняемых прикладных

процессов);– одно- и многопользовательские (в зависимости от числа пользователей, одновременно

работающих с ОС);– непереносимые и переносимые на другие типы компьютеров;– несетевые и сетевые, обеспечивающие работу в вычислительных системах ЭВМ.Операционные системы, как правило, сравнивают по следующим критериям:– управление памятью (максимальный объем адресуемого пространства, технические показатели

использования памяти);– функциональные возможности вспомогательных программ (утилит) в составе ОС;– наличие компрессии магнитных дисков;– возможность архивирования файлов;– поддержка многозадачного режима работы;– наличие качественной документации;– условия и сложность процесса инсталляции.Наиболее распространенными ОС для персональных компьютеров в настоящее время являются:– Windows NT, XP (Microsoft);

9

Page 10: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

– Windows 95, Windows 98, Windows 2000 (Microsoft);– UNIX, в том числе UNIXWare Personal Edition (NoweU);– MS DOS (Microsoft);– OS/2 (IBM).Операционная система OS/2 разработана IBM для ПК на основе системной прикладной

архитектуры, ранее используемой для больших ЭВМ. Это многозадачная, многопользовательская ОС, обеспечивающая как текстовый, так и графический интерфейс пользователя. OS/2 обеспечивает:

– поддержку графического интерфейса пользователя;– одновременную обработку нескольких приложений;– многопоточную обработку нескольких задач одного приложения;– 32-разрядную обработку данных;– сжатие данных при записи на магнитный диск;– защиту памяти.В OS/2 не могут выполняться приложения, работающие в среде Windows NT.ОС UNIX реализует принцип открытых систем и широкие возможности по объединению в

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

– переносимость прикладных программ с одного компьютера на другой;– поддержка распределенной обработки данных в сети ЭВМ;– сочетаемость с процессорами RISC.UNIX получила распространение для суперкомпьютеров, рабочих станций и профессиональных

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

Сетевая ОС – это комплекс программ, обеспечивающий обработку, передачу и хранение данных в сети. Сетевая ОС предоставляет пользователям различные виды сетевых служб (управление файлами, электронная почта, процессы управления сетью), поддерживает работу в абонентских системах. Сетевые ОС используют архитектуру клиент-сервер или одноранговую архитектуру. Вначале эти ОС поддерживали только локальные вычислительные сети (ЛВС), сейчас они распространяются и на объединения ЛВС. Наибольшее распространение имеют Windows 95, LAN Server, NetWare.

Windows NT является многозадачной, предназначенной для архитектуры клиент-сервер и ис-пользования различных протоколов транспортного уровня, сетевой ОС (IPX/SPX, TCP/IP, Net Bios), имеет 32-разрядную архитектуру и обеспечивает следующие функции:

– возможность каждой абонентской системы в сети быть сервером или клиентом;– совместную работу группы пользователей;– адресацию оперативной и внешней памяти большого размера;– многозадачность и многопоточность обработки данных;– поддержку мультипроцессорной обработки и др.25 октября 2001 года была официально выпущена операционная система Windows XP, которая в

настоящее время является универсальной пользовательской операционной системой Microsoft. Система Windows XP продолжает линейку систем Windows NT Workstation и Windows 2000 Professional и базируется на надежном и защищенном ядре.

В табл. 1.1 приведены характеристики некоторых ОС.

10

Page 11: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Таблица 1.1

Характеристики операционных систем

ОС Объем ОЗУ (Мбайт)

Память на МД (Мбайт)

Многопроцессорная обработка

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

OS/2 Warp 4.0 8 – 12(12–24) 100 – 300 Нет Java, Open DOC

MS Windows 95 4 – 12 25 – 85 Нет Open JL, PM API, WIN 32S

MS Windows NT 4.0 (Workstation) 12 – 16 90 – 120 Есть OLE, Open JL,

Win 32

Операционные оболочки – специальные программы, предназначенные для облегчения общения пользователя с командами ОС. Операционные оболочки имеют текстовый и графический варианты интерфейса конечного пользователя. Наиболее популярны такие текстовые оболочки MS DOS, как Norton Commander, DOS Navigator, Volkov Commander и др. Эти программы существенно упрощают задание управляющей информации для выполнения команд ОС, уменьшают сложность работы конечного пользователя.

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

– программы диагностики работоспособности компьютера;– антивирусные программы, обеспечивающие защиту компьютера, обнаружение и восстановление

зараженных файлов;– программы обслуживания дисков, обеспечивающие проверку качества поверхности магнитного

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

– программы архивирования данных, обеспечивающие процесс сжатия информации с целью уменьшения объема памяти для ее хранения;

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

или обслуживания компьютеров.Наибольшее распространение имеют следующие утилиты:– Norton Utilities;– программа резервного копирования HP Colorado BackUp;– антивирусные программы (AVP Toolkit Касперского; Norton Antivirus for Windows 98; Anti-

Virus (Central Point Soft Ware Inc.)).

1.4. Информационные основы программного обеспечения

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

11

Page 12: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Информация по своей физической природе может быть: числовой, текстовой, графической, звуковой, видео и др. Она может быть постоянной, переменной, случайной, вероятностной. Наибольший интерес представляет переменная информация, так как она позволяет выявлять причинно-следственные связи в процессах и явлениях. Любая информация, обрабатываемая в ЭВМ, должна быть представлена двоичными цифрами {0,1}, т.е. должна быть закодирована комбинацией этих цифр. Различные виды информации (числа, тексты, графика, звук) имеют свои правила кодирования. Коды отдельных значений, относящиеся к различным видам информации, могут совпадать. Расшифровка кодированных данных осуществляется по контексту при выполнении команд программы.

Представление числовой информации

В ЭВМ используются три вида чисел: с фиксированной точкой (запятой), с плавающей точкой (запятой) и двоично-десятичное представление. Точка (запятая) – это подразумеваемая граница целой и дробной частей числа.

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

.

Если точка фиксируется после последней значащей цифры, то это означает, что n-разрядные двоичные числа являются целыми. Диапазон изменения их значений составляет:

.

Перед самым старшим из возможных разрядов двоичного числа фиксируется его знак. Положительные числа имеют нулевое значение знакового разряда, отрицательные – единичное.

Другой формой представления чисел является представление их в виде чисел с плавающей точкой (запятой). Числа с плавающей точкой представляются в виде мантиссы mа и порядка ра, иногда это представление называют полулогарифмической формой числа. Для двоичных чисел А2

в этом представлении формируется мантисса mа и порядок ра при основании системы счисления, равном двум:

,

Порядок числа ра определяет положение точки (запятой) в двоичном числе. Значение порядка

лежит в диапазоне .

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

модифицированное , приведенное к интервалу

.

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

–64 63 .12

Page 13: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Модифицированный порядок вычисляется по зависимости

= ра+64.

Значения формируются в диапазоне положительных чисел

0 127.

Мантисса числа та представляется двоичным числом, у которого точка фиксируется перед старшим разрядом, т.е.

,

где k – число разрядов, отведенных для представления мантиссы.Если

,

то старший значащий разряд мантиссы в системе счисления с основанием N отличен от нуля. Такое число называется нормализованным.

Третья форма представления двоичных чисел – двоично-десятичная. При обработке больших массивов десятичных чисел приходится тратить много времени на перевод чисел из десятичной системы счисления в двоичную для последующей обработки и обратно – для вывода результатов. Каждый такой перевод требует выполнения двух – четырех десятков машинных команд. С вклю-чением в состав ЭВМ специальных функциональных блоков или спецпроцессоров десятичной арифметики появляется возможность обрабатывать десятичные числа напрямую, без их преобра-зования, что сокращает время вычислений. При этом каждая цифра десятичного числа представляется двоичной тетрадой. Например, A10=3759, A2 = 0011 0111 0101 1001. Положение десятичной точки (запятой), отделяющей целую часть от дробной, обычно заранее фиксируется. Значение знака числа отмечается кодом, отличным от кодов цифр. Например, знак «+» имеет значение тетрады «1100», а знак «–» – «1101».

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

Динамическая видеоинформация – это видео-, мульт- и слайд-фильмы. В их основе лежит последовательное экспонирование на экране в реальном масштабе времени отдельных кадров в соответствии со сценарием.

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

По способу формирования видеоизображения бывают растровые, матричные и векторные.Растровые видеоизображения используются в телевидении, а в ЭВМ практически не применяются.Матричные изображения получили в ЭВМ наиболее широкое распространение. Электронный

луч точками рисует изображение на экране.Информация представляется в виде характеристик значений каждой точки – пиксела, рассмат-

риваемой в качестве наименьшей структурной единицы изображения. Количество высвечиваемых 13

Page 14: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

одновременно пикселов на экране дисплея определяется его разрешающей способностью. В качестве характеристик графической информации выступают: координаты точки (пиксела) на экране, цвет пиксела, цвет фона (градация яркости). Вся эта информация хранится в видеопамяти дисплея. При выводе графической информации на печать изображение также воспроизводится по точкам. Изображение может быть представлено и в векторной форме. Тогда оно составляется из отрезков линий (в простейшем случае – прямых), для которых задаются: начальные координаты, угол наклона и длина отрезка (может указываться и код используемой линии). Векторный способ имеет ряд преимуществ перед матричным: изображение легко масштабируется с сохранением формы, является «прозрачным» и может быть наложено на любой фон.

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

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

Номер нажатой клавиши никак не связан с формой символа, нанесенного на клавише. Опознание символа и присвоение ему внутреннего кода ЭВМ производится специальной программой по специальным таблицам: КОИ-7, ASCII и др. Всего с помощью таблицы кодирования ASCII можно закодировать 256 различных символов.

Дисплей выводит на экран изображение символа – не просто цифровой код, а соответству-ющую ему картинку, так как каждый символ имеет свою форму.

Высвечивание символа на экране дисплея ПК осуществляется с помощью точек, образующих символьную матрицу. Каждый пиксел в такой матрице является элементом изображения и может быть ярким или темным. Темная точка кодируется цифрой «0», светлая (яркая) – цифрой «1».

Кодирование аудиоинформации – процесс более сложный. Аудиоинформация является аналоговой. Для преобразования ее в цифровую форму используют аппаратные средства – аналого-цифровые преобразователи. Для вывода оцифрованного звука на аудиоустройства необходимо проводить обратное преобразование, которое осуществляется с помощью цифро-аналоговых преобразователей.

1.5. Арифметические основы ЭВМ

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

Под знак чисел отводится специальный знаковый разряд. Знак «+» кодируется двоичным нулем, а знак «–» – единицей.

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

14

Page 15: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

Дополнительный код положительных чисел совпадает с их прямым кодом. Дополнительный код отрицательного числа представляет собой результат суммирования обратного кода числа с единицей младшего разряда (20 – для целых чисел, 2-k – для дробных).

Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответ-ственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак «+» в этих кодах кодируется двумя нулевыми знаковыми разрядами, а знак «–» – двумя единичными разрядами.

Целью введения модифицированных кодов являются фиксация и обнаружение случаев получения неправильного результата, когда значение результата превышает максимально возможный резуль-тат в отведенной разрядной сетке машины. В этом случае перенос из значащего разряда может исказить значение младшего знакового разряда. Значение знаковых разрядов «01» свидетельствует о положительном переполнении разрядной сетки, а «10» – об отрицательном переполнении.

1.6. Логические основы программного обеспечения

Теоретической основой построения ЭВМ являются специальные математические дисциплины. Одной из них является алгебра логики или булева алгебра (Дж. Буль – английский математик прошлого столетия, основоположник этой дисциплины). Ее аппарат широко используют для описания схем ЭВМ, их оптимизации и проектирования.

Вся информация в ЭВМ представляется в двоичной системе счисления.Алгебра логики оперирует с высказываниями. Высказывание – некоторое предложение, о

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

выражаемые словами «не», «и», «или».Соединение двух (или нескольких) высказываний в одно с помощью союза И (And) назы-

вается операцией логического умножения, или конъюнкцией. Эту операцию принято обозначать знаками «Λ, &» или знаком умножения «*». Сложное высказывание А&В истинно только в том случае, когда истинны оба входящих в него высказывания.

Объединение двух (или нескольких) высказываний с помощью союза ИЛИ (Or) называется операцией логического сложения, или дизъюнкцией. Эту операцию обозначают символами «, v» или знаком сложения «+». Сложное высказывание AvВ истинно, если истинно хотя бы одно из входящих в него высказываний.

Присоединение частицы НЕ (Not) к некоторому высказыванию называется операцией отрицания (инверсии) и обозначается Ā (или ¬A). Если высказывание А истинно, то В ложно, и наоборот.

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

– Коммутативность (перестановочность) А Λ В =В Λ А;

15

Page 16: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

A v B = B v A.– Закон идемпотентности

А & = А, A v = A.– Двойное отрицание

= А.– Сочетательные (ассоциативные) законы

A v (B v C) = (A v B) v С = A v В v С;А Λ (В Λ С) = (А Λ В) Λ С = А Λ В Λ С.

– Распределительные (дистрибутивные) законыА Λ (В v С) = (А Λ В) v (А Λ С);A v (B Λ C) = (A v B) Λ (A v С)

– Поглощениех v (х Λ у) = х;x Λ (x v у) = x.

– Склеивание(х Λ у) v ( Λ y) = y;(x v у) Λ ( v у) = у.

– Операция переменной с ее инверсиейх v = 1;х Λ = 0.

– Операция с константамих v 0 = х, х v 1 = 1;X Λ 1 = x, Х Λ 0=0.

– Законы де Моргана:A & B = v (условно его можно назвать 1-й закон);A v В = & (2-й закон) – описывает результаты отрицания переменных, связанных

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

и отрицания, называются сложными. В некоторых современных языках программирования включены операции побитового сравнения

содержимого машинных слов (которые могут содержать числовые, строчные и др. данные). При этом каждый бит результата образуется в соответствии с табл. 1.2 (для бинарных операций). Унарная операция отрицания (NOT) в данном случае реализует очевидную замену «1» на «0» и наоборот.

Таблица 1.2

Операнды и результаты операций побитового сравнения

x y x & у х v у х IMP у x EQV y x OR y0 0 0 0 1 1 00 1 0 1 1 0 11 0 0 1 0 0 1

16

Page 17: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

1 1 1 1 1 1 01.7. Алгоритмические основы программного обеспечения

Описание алгоритма – это последовательность шагов, направленных на достижение некоторого результата.

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

Теория алгоритмов – раздел математики, изучающий общие свойства алгоритмов. Понятие «алгоритм» сформировалось в математике в 20-х годах XX в. Под алгоритмом всегда понималась процедура, которая позволяла путем выполнения последовательности элементарных шагов получать однозначный результат (независящий от того, кто именно выполнял эти шаги) или за конечное число шагов прийти к выводу о том, что решения не существует.

В основе формализации понятия «алгоритм» лежит идея построения алгоритмической модели. Составляющими такой модели должны быть конкретный набор элементарных шагов, способы определения следующего шага и т.д. От модели также требуется простота и универсальность. Требование простоты важно для того, чтобы выделить действительно необходимые элементы и свойства алгоритма и облегчить доказательства общих утверждений об этих свойствах. Универсальность необходима для того, чтобы модель позволяла описать любой алгоритм.

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

данные можно закодировать числами, и как следствие – всякое их преобразование становится в этом случае арифметическим вычислением. Алгоритм в таких моделях – вычисление значения не-которой числовой функции, а его элементарные шаги – арифметические операции. Последовательность шагов определяется двумя способами. Первый способ – суперпозиция, т.е. подстановка функции в функцию, а второй – рекурсия, т.е. определение значения функции через «ранее» вычисленные значения этой же функции. Функции, которые можно построить из целых чисел и арифметических операций с помощью суперпозиций и рекурсивных определений, называются рекурсивными функциями.

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

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

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

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

Алгоритмический процесс – процесс последовательного преобразования конструктивных объектов (слов, чисел, пар слов, пар чисел, предложений), происходящий дискретными «шагами». Каждый

17

Page 18: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

шаг состоит в смене одного конструктивного объекта другим.Поскольку алгоритмы могут применяться к произвольным объектам (числам, буквам, словам,

графам, логическим выражениям), в определении алгоритма используется специальный термин – «конструктивный объект», объединяющий в себе все эти возможные случаи. Так, в алгоритме Евклида под конструктивными объектами можно понимать пары чисел.

Смена конструктивных объектов в алгоритме Евклида может быть представлена следующим образом (для пары m =10, n = 4):

(10,4)"(4,2)"(2,0).Как правило, для заданного алгоритма можно выделить семь характеризующих его независимых

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

Виды задания алгоритмов

Алгоритм может быть:– записан на естественном языке;– изображен в виде блок-схемы;– записан на алгоритмическом языке.Схема алгоритма – графическое представление алгоритма, дополненное элементами словесной

записи. Каждый пункт алгоритма отображается на схеме некоторой геометрической фигурой – блоком. Правило выполнения схем алгоритмов регламентирует ГОСТ 19.002–80 (Единая система программной документации).

Базовые структуры алгоритмов

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

Линейными называются алгоритмы, в которых действия осуществляются последовательно друг за другом. Стандартная блок-схема линейного алгоритма приводится на рис. 1.2, а (вычисление произведения двух чисел – А и В).

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

18

Page 19: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

та или иная последовательность команд.

Рис 1.2. Примеры структур алгоритмов:а – линейный алгоритм; б – алгоритм с ветвлением; в – алгоритм с циклом

Разветвляющийся алгоритм изображен в виде блок-схемы на рис. 1.2, б. Аргументами этого алгоритма являются две переменные А, В, а результатом – переменная X. Если условие А >= В истинно, то выполняется операция Х:=А*В, в противном случае выполняется Х:=А+В. В результате печатается то значение переменной X, которое она получает в результате выполнения одной из серий команд.

Циклическим называется алгоритм, в котором некоторая часть операций (тело цикла – после-довательность команд) выполняется многократно.

Перед операцией цикла (рис. 1.2, в) осуществляются операции начального присвоения значений тем переменным, которые используются в теле цикла. В цикл входят следующие структуры: блок проверки условия и блок, называемый телом цикла. Если тело цикла расположено после проверки условий Р (цикл с предусловием), то может случиться, что при определенных условиях тело цикла не выполнится ни разу. Такой вариант организации цикла, управляемый предусловием, называется цикл типа пока (здесь условие – это условие на продолжение цикла).

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

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

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

19

Page 20: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

алгоритм описывает решение какой-либо подзадачи.1.8. Системы программирования

Система программирования – совокупность языка программирования и системы разработки программ, обеспечивающей автоматизированную разработку и выполнение программ на данном языке, а также подготовку соответствующей документации. Как правило, система программиро-вания включает не эталонный вариант языка, а его версию, содержащую определенные упрощения или расширения. Некоторые системы программирования могут поддерживать разработку программ на нескольких языках. Наиболее известная система программирования для персональных компьютеров: Visual Studio, поддерживающая языки программирования Basic, Java, C++; Delphi и др.

Системы программирования включают:– компилятор (транслятор);– интегрированную среду разработки программ (не всегда);– отладчик;– средства оптимизации кода программ;– набор библиотек;– редактор связей;– сервисные средства (работа с библиотеками, текстовыми файлами);– справочные системы;– систему поддержки и управления продуктами программного комплекса.Компилятор – программа, выполняющая компиляцию программных модулей. В отличие от

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

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

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

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

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

Интегрированные среды разработки программ объединяют набор средств для их комплексного применения на технологических этапах создания программы.

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

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

– последовательное пошаговое выполнение программы на основе шагов по машинным командам или по операторам входного языка;

20

Page 21: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

Библиотека программ – программный продукт, содержащий собрание процедур, функций, макросов, предназначенных для использования при разработке программ в определенной среде программирования. Библиотека программ может содержать процедуры и функции, обеспечивающие выполнение определенных операций, например, работу с графической информацией, управление данными, математические расчеты и др. Достаточно с помощью специального оператора подключить библиотеку программ к разрабатываемой программе, чтобы содержащиеся в ней процедуры или макросы можно было включать в состав программы пользователя. Библиотека программ представляет собой специальным образом организованный файл или набор файлов, содержащих, как правило, объектные модули, которые могут быть извлечены для присоединения к разрабатываемой программе на этапе компоновки. Библиотека программ выпускается фирмами-разработчиками программного обеспечения. Ее дистрибутив обычно сопровождается руководством, позволяющим освоить работу с библиотекой. Библиотека программ существенно облегчает программирование и поэтому является важной частью программного обеспечения вычислительной системы. Примером библиотеки программ может служить библиотека классов MFC системы программирования Microsoft Visual C++. Ее версия 4.0 содержит около 200 классов, каждый из которых включает от единиц до нескольких десятков элементов данных и методов работы с этими данными. Библиотека существенно упрощает разработку пользовательского интерфейса за счет поддержки разнообразных элементов управления, окон, разветвленной системы меню, редакторов данных, манипулятора мышь, контекстных спра-вочных систем. Библиотека позволяет управлять процедурами обработки прерываний, разрабатывать высококачественные резидентные программы при минимальных усилиях, поддерживать виртуальную память для хранения данных и многое другое.

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

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

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

21

Page 22: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

– распределяет пространство оперативной памяти для программы; – связывает вместе части программы, представленные отдельными объектными модулями,

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

танные компилятором, соответствующими адресами фактически распределенной памяти; – физически размещает подготовленную версию машинного кода программы в памяти и передает

управление на первую команду программы.Сервисная программа (утилита) – программа в составе вычислительной системы, выполняющая

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

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

Контекстно-зависимая справка – справочная система, которая выдает пользователю справочную информацию с учетом текущего контекста его работы. Например, если выделен некоторый объект, то при нажатии клавиши <F1> выводится список разделов справки, имеющих отношение к работе с объектами данного типа.

Классификация систем программирования

В настоящее время существует множество систем программирования (СП) (табл. 1.3). Среди них наиболее популярными являются Паскаль, Бейсик, Java, C++, Delphi.

Таблица 1.3

Классификация систем программирования

Фактор Характеристика Группы Примеры СПУровень СП Степень близости к

архитектуре компьютераНизкий –

Высокий Паскаль, Ada, Бейсик, Java, C++

Сверхвысокий СетлСпециализация Потенциальная или

реальнаяобласть применения

Универсальные Бейсик, Паскаль, SimulaСпециализиро-

ванныеAda, Modula

Процедурность Возможность абстрагироваться от деталей алгоритма

Процедурные Паскаль, Ada, БейсикНепроцедурные Prolog, Langin, FoxPro

22

Page 23: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

решения задачи

1.9. Системы программирования информационных систем

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

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

Система программирования FoxPro предназначена для разработки приложений, являющихся открытыми или замкнутыми документальными или фактографическими информационными системами. Предшествующими системами являлись dBaseIII/IV и CLIPPER, а последующей – FoxPro. Аналогичность здесь подразумевает преемственность, основанную на том, что различие команд системы функций не превосходит 10–15%; ранее разработанные приложения не требуют существенных переработок; навыки программирования, полученные на Clipper, имеют силу для FoxPro. В настоящее время FoxPro используется с Windows и Visual FoxPro.

1.10. Инструментальные программные средства

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

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

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

Классификация инструментальных средств по типу:– символьные языки программирования, ориентированные на создание информационных

систем (например, LISP, INTERLISP, SMALLTALK);– языки инженерии знаний, т.е. языки высокого уровня, ориентированные на построение

информационных систем (например, OPS-5, LOOPS, KES, ПРОЛОГ);– системы, автоматизирующие разработку (проектирование) информационных систем (например,

KEE, ART, TEIRESIAS, AGE, TIMM).23

Page 24: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

По классам информационных систем инструментальные средства можно классифицировать на инструментальные средства для создания простых систем и инструментальные средства для создания сложных систем.

Универсальность задается совокупностью двух параметров: универсальностью представления и универсальностью функционирования. Универсальность представления характеризует способ (модель) представления знаний в инструментальном средстве и принимает следующие значения: единое представление – инструментальное средство использует одну модель; интегральное представление – инструментальное средство допускает интегральное использование нескольких моделей; универсальное – инструментальное средство допускает интегральное использование всех основных моделей представления. К основным моделям представления относятся: правила (продукции); фреймы или семантические сети; логические модели (исчисление предикатов). Примерами инструментальных средств, в которых используется единое представление, является ПРОЛОГ, интегральное представление – CENTAUR, а универсальное – KEE, ART.

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

Среда функционирования определяет тип ЭВМ, на которой реализовано инструментальное средство, тип операционной системы, в среде которой инструментальное средство работает, и используемый язык программирования.

1.11. Системы компьютерной графики

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

Растровое изображение – это совокупность разноцветных точек. Координаты точек опреде-ляются декартовой (прямоугольной) системой с началом координат, как правило, в левом верхнем углу экрана. Абсцисса точки увеличивается слева направо, ордината – сверху вниз. Таким образом, любая графическая операция сводится к работе с отдельными точками экрана монитора – пикселами. Существуют специальные графические библиотеки программ, которые предназначены для изобра-жения более сложных объектов, являющихся объединением группы пикселов; наиболее употребляемых линий, геометрических фигур, шрифтов.

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

24

Page 25: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

Изобразительная графика

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

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

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

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

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

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

Графический редактор Paint, входящий в комплект стандартных программ Windows 95/98, позволяет выполнять черно-белые и цветные рисунки, обрамлять их текстом, выводить на печать. В Paint можно работать с фрагментами графических изображений: копировать, перемещать, поворачивать, изменять размеры, записывать на диск и считывать с диска. С помощью Paint можно обрабатывать графические изображения, а также считывать и записывать в файл полностью или частично изображение с дисплея, если монитор работает в графическом режиме.

Деловая графика

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

– гистограмма – группа столбцов, пропорциональных по высоте определенным числовым значениям;

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

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

ности (измерение динамических процессов);– структурная схема – представление сложных объектов в виде дерева;

25

Page 26: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

Инженерная графика

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

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

Одним из наиболее популярных средств автоматизированного проектирования является система AutoCad. Возможности системы AutoCad:

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

Научная графика

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

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

Координатные модели – это массивы координат точек, принадлежащих объектам. Например, поверхность задается массивом точек Z = f(x, у) на координатной сетке {х, у}. Если точки в модели расположены в том же порядке, что и на линии образа, то модели называют упорядоченными. Помимо координат в модели могут быть указаны дополнительные характеристики проекции касательных или нормальных векторов.

1.12. Офисные информационные системы

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

26

Page 27: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

Рассмотрим традиционную организацию делопроизводства (рис. 1.3). Поступивший извне документ («входящий») сначала должен быть зарегистрирован (I). Ему присваивается уникальный регистрационный номер, который заносится в журнал и картотеку вместе с информацией о документе. После этого документ начинает движение по организации.

Рис. 1.3. Традиционная организация делопроизводства

Работник канцелярии передает документ руководству, которое накладывает резолюцию (II), определяющую, что (перечень работ), кто (ответственный исполнитель) и в какие сроки должен сделать. Далее документ через канцелярию направляется ответственному исполнителю (руководителю подразделения), который, в свою очередь, может распределить работу над документом между исполнителями и установить сроки ее выполнения (III).

Резолюции накапливаются и детализируются руководителями различных уровней, пока доку-мент не попадет к непосредственным исполнителям. Исполнители по мере выполнения резолюций по документу возвращают его вместе с отчетом (IV) руководителям – авторам резолюций, которые оценивают результат выполнения (V, VI) и принимают решение о дальнейшей судьбе документа. После завершения работы над документом он списывается в дело и поступает в архив в соот-ветствии с правилами, принятыми на предприятии. Формирование дел осуществляется в соответствии с составленной номенклатурой дел предприятия, представляющей собой список их заголовков (наименований).

Как правило, работа над документом завершается формированием ответа автору документа.

27

Page 28: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

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

Перед предприятиями встают задачи, напрямую связанные с большим объемом потока документов:

– сокращение сроков обработки документации, доведения ее до исполнителей, согласования с руководителями различного уровня;

– контроль за целостностью всего потока документов не только на этапе регистрации вхо-дящей и исходящей документации, но и в процессе «хождения» документов между сотрудниками различных подразделений;

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

– контроль сроков прохождения документов по каждому из этапов заданной схемы.28

Page 29: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

– учитывать возможный рост числа обрабатываемых документов и возрастающий объем архива, т.е. быть масштабируемой;

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

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

При реализации проекта построения системы учета документов и контроля исполнения решений в первую очередь были учтены следующие особенности:

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

Офисный комплекс Lotus Notes

Lotus Notes – офисный комплекс, разработанный фирмой Lotus Development, поддерживает следующие типы данных: текстовые, числовые, дата/время, ключевые поля; RTF-поля для хранения текста, таблиц, графических, аудио- и видеоданных или OLE-объектов.

Интеграция компьютерных программ осуществляется через: Clipboard; экспорт/импорт файлов; механизм OLE, драйверы Datalens для доступа к внешним базам данных INFORMIX, ORACLE, SQL SERVER. Для защиты информации в Lotus Notes используется схема шифрования RSA Public Key/PrivateKey, обеспечивающая наивысший уровень защиты, доступный приложениям типа «клиент-сервер». Для подтверждения подлинности документов используются электронные подписи. Для защиты особо важной информации предусмотрены дополнительные возможности, среди которых:

– хранение промежуточных версий документов;– хранение списка пользователей, редактировавших документ;– шифрование всех данных, передаваемых по сети;– шифрование хранимых данных, почты;– система паролей доступа.Поиск информации осуществляется по ключевым полям. Имеется возможность ведения архивов

внутренних и внешних документов. С программным продуктом поставляется ряд шаблонов, таких как Дискуссия, Обслуживание клиентов, Хранилище документов и др. Все они имеют практическое применение и могут быть легко приспособлены к конкретным потребностям. База данных может содержать разноформатные документы системы Notes. Кроме того, базы данных содержат макросы, которые автоматизируют работу, бланки, используемые для ввода информации в сложные документы, а также просматриваемые отчеты из документов базы данных.

В состав пакета Lotus Notes входят три основных элемента:

29

Page 30: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

– средства маршрутизации и обработки;– средства обеспечения защиты/управления;– архитектура базы данных продукта.Lotus Notes обладает развитыми средствами создания интерфейсов (давая возможность встраивать

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

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

Особый класс офисных программных систем образуют средства автоматизации бухгалтерской деятельности. К этому классу относятся как простейшие программы для подготовки бухгалтер-ских документов и отчетности, например, печатающие платежные поручения и накладные, формирующие сведения о доходах для налогообложения и пенсионного фонда, так и очень сложные распределенные системы комплексного бухгалтерского учета: «1С: Предприятие», «Парус», «Галактика», «Инфо-бухгалтер», «Турбо-бухгалтер» и др.

Комплекс «1С: Предприятие» является универсальной системой автоматизации деятельности предприятия и может применяться на различных участках бухгалтерского учета: товарных и мате-риальных средств, взаиморасчетов с контрагентами, расчета заработной платы, расчета амортизации основных средств, кадрового учета, расчета налогообложения.

Система «1С: Предприятие» состоит из откомпилированного ядра и конфигурации, написанной на объектном макроязыке высокого уровня. Обычно система поставляется с конфигурацией, называемой «типовой», но она может быть существенно изменена и переработана пользователем.

Система «1С: Предприятие» содержит три основных компонента:– «бухгалтерский учет», отражающий финансовые операции и оперирующий такими понятиями,

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

– «оперативный учет», предназначенный для автоматизированного учета движения и остатков товарных, материальных, денежных и других средств предприятия в различных разрезах и осно-ванный на механизме регистров, с помощью которых ведется учет взаиморасчетов с клиентами, учет складских запасов товаров;

– «расчет», позволяющий выполнять периодические расчеты различной сложности, в том числе с пересчетом результатов «задним числом», а также вести архив расчетов за прошедшие периоды, рассчитывать заработную плату.

1.13. Интегрированные программные средства

Внимание к проблеме создания интегрированных программных средств объясняется как рас-ширением сферы применения вычислительной техники, так и стремлением фирм-разработчиков программного обеспечения не «потерять» своих клиентов с переходом на более совершенные системы обработки данных.

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

30

Page 31: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

данными и описаниями среды работы, что требовало от пользователя определенных навыков и знаний в части переключения режимов пакета, форматов данных, принципов хранения и манипулирования различными типами данных, что в конечном счете снижало привлекательность пакетов. В современных пакетах (например, Microsoft Works) этот недостаток изжит: простота интерфейса позволяет применять его без предварительного обучения персонала.

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

– использования утилит, общих для всех программ комплекса. Так, например, утилита проверки орфографии доступна из всех программ пакета;

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

– реализация простого метода перехода (или запуска) из одного приложения к другому;– реализация построенных на единых принципах средств автоматизации работы с приложением

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

Совместное использование объектов с несколькими приложениями – краеугольный камень современной технологии интеграции программ и манипулирования данными. Разработаны два основных стандарта в этой области: динамической компоновки и встраивания объектов Object Linking and Embedding (OLE) 2.0 фирмы Microsoft, OpenDoc (открытый документ) фирм Apple, Borland, IBM, Novell и WordPerfect.

Механизм динамической компоновки объектов дает возможность пользователю помещать информацию, созданную одной прикладной программой, в документ, формируемый в другой. При этом пользователь может редактировать информацию в новом документе средствами того продукта, с помощью которого этот объект был создан (при редактировании автоматически запус-кается соответствующее приложение). Запущенное приложение и программа обработки документа-контейнера выводит на экран «согласованные» меню, часть пунктов которого принадлежит одной программе, а другая часть – другой. Кроме того, данный механизм позволяет переносить OLE-объекты из окна одной прикладной программы в окно другой.

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

Недостатком данной технологии является ограничение на размер объекта размером одной страницы.

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

1.14. Разработка программного обеспечения

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

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

31

Page 32: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

– программное обеспечения является сложным изделием и стоимость его все более возрастает;– программное обеспечение оказывает значительное и все возрастающее воздействие на

общественное благосостояние.Общемировые тенденции роста стоимости программного обеспечения можно проиллюстрировать

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

Рост спроса на программное обеспечение предъявляет существенные требования к инженерному программированию:

– существенно повысить производительность труда при разработке программного обеспечения;– повысить эффективность сопровождения программного обеспечения, так как оно составляет

около половины стоимости программного обеспечения.

Общие принципы разработки программного обеспечения

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

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

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

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

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

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

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

32

Page 33: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

– принцип включения, который предусматривает, что требования к созданию, функционированию и развитию программного обеспечения определяются со стороны более сложной, включающей его в себя системы;

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

– принцип развития, который предусматривает в программном обеспечении возможность его наращивания и совершенствования компонентов и связей между ними;

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

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

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

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

1.15. Технологии программирования

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

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

33

Page 34: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Разработка технологии осуществляется по отраслям производства». В Энциклопедическом словаре определение примерно то же, более того, задача технологии

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

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

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

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

Технологию программирования не следует путать с методологией программирования, несмотря на то, что в обоих случаях изучаются соответствующие методы. Дело в том, что в технологии программирования методы рассматриваются «сверху», т.е. с точки зрения организации техноло-гических процессов, а в методологии программирования – «снизу», т.е. с точки зрения основ их построения.

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

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

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

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

34

Page 35: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

именно по отношению к программному обеспечению.Современный подход к проектированию программ основан на декомпозиции задачи.

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

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

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

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

– постановка задачи;– проектирование программы;– построение модели;– разработка алгоритма;– реализация алгоритма;– анализ алгоритма и его сложности;– тестирование программы;– документирование.При постановке задачи необходимо провести следующие работы:– выработать требования (свойства, качества и возможности), необходимые для решения проблемы

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

виде (замысел), описываются функции системы, характеристики интерфейса.Чтобы приступить к решению задачи, необходимо точно ее сформулировать. В первую очередь,

это означает определение входных и выходных данных, ответы на вопросы: что дано и что нужно найти. Дальнейшая детализация постановки задачи представляет собой ответы на серию вопросов:

– как определить решение;– каких данных не хватает и все ли они нужны;– какие сделаны допущения.Проектирование программы начинается с проектирования архитектуры программной системы.

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

Обычно на модульном уровне по каждому модулю разрабатываются спецификации модуля:

35

Page 36: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

– имя/цель – дается имя модулю и предложение о функции модуля;– неформальное описание – обзор действий модуля;– ссылки – какие модули ссылаются на него и на какие модули ссылается данный модуль;– входные и выходные параметры;– примечания – комментарии общего характера.Следующим шагом является детальное проектирование. На этом этапе происходит процедурное

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

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

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

Технология построения модели при индуктивном способе:– эмпирический этап:– умозаключение;– интуиция;– предположение;– гипотеза;– постановка задачи для моделирования;– оценки, количественное и качественное описание;– построение модели.Разработка алгоритма – сложный и трудоемкий процесс. Выбор метода разработки зависит от

постановки задачи, ее модели. На этом этапе необходимо провести анализ правильности алгоритма. Наиболее распространенная процедура доказательства правильности алгоритма – это прогон его на множестве различных тестов. Однако, это не гарантирует того, что не может существовать случая, в котором программа «не сработает». В общей методике доказательства правильности алгоритма предполагают, что алгоритм описан в виде последовательности шагов. Для каждого шага предлагается некое обоснование его правильности для всех подходящих входных (условиях до данного шага) и выходных данных (условиях после этого шага). Затем предлагается доказательство конечности алгоритма с окончательными исходными входными и выходными данными.

На этапе реализации алгоритма происходит конструирование и реализация алгоритма, включая:– кодирование;– интеграцию;– тестирование (сертификацию).Проводится перевод проекта в форму программы для конкретного компьютера, сборка системы и

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

Анализ алгоритма и его сложности необходим для оценки ресурсов компьютеров, на которых 36

Page 37: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

1.15.1. Методы технологии программирования

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

Различают методы, средства и процедуры технологии проектирования программного обеспечения. Методы обеспечивают решение следующих задач:

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

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

Процедуры являются «клеем», который соединяет методы и утилиты так, что они обеспечивают непрерывную технологическую цепочку разработки. Процедуры определяют:

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

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

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

Разработка программного обеспечения начинается на системном уровне и проходит через анализ, проектирование, кодирование, тестирование и сопровождение. При этом моделируются действия стандартного инженерного цикла.

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

37

Page 38: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

Кодирование состоит в переводе результатов проектирования в текст на языке программирования.Тестирование – выполнение программы для выявления дефектов в функциях, логике и форме

реализации программного продукта.Сопровождение – внесение изменений в эксплуатируемое программное обеспечение. Цели изменений:– исправление ошибок;– адаптация к изменениям внешней для программного обеспечения среды;– усовершенствование программного обеспечения по требованиям заказчика.Сопровождение программного обеспечения состоит в повторном применении каждого из пред-

шествующих шагов (этапов) жизненного цикла к существующей программе, но не в разработке новой программы.

Процедурное программирование

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

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

Процедура – часть программы, которая выполняет некоторую четко определенную операцию над данными, определяемыми параметрами. Эта часть может быть вызвана из любой точки программы, и при каждом вызове могут пересылаться различные параметры. Термин «процедура», вообще говоря, используется в контексте языков высокого уровня. В языке C++ процедуры называются функциями. В языке Ассемблер обычно употребляется слово «подпрограмма».

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

38

Page 39: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Процедурно-ориентированный язык – это язык программирования, в котором имеется воз-можность описания программы как совокупности процедур. Эти процедуры могут вызывать одна другую и каждая из них может быть вызвана основной программой, которую тоже можно рассматривать как процедуру.

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

1.15.2. Средства технологии программирования

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

Средства CASE-технологий делятся на:– встроенные в систему реализации – все решения по проектированию и реализации привязки

к выбранной СУБД;– независимые от системы реализации – все решения по проектированию ориентированы на

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

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

В некоторых CASE-системах поддерживается кодогенерация программ – создание каркаса программ и создание полного продукта.

Примеры программных продуктов для создания приложений: Visual C++, Delphi, Visual Basic.

1.15.3. Структурное программирование

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

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

частей или подзадач, программируемых в виде подпрограмм;– модульное программирование, при котором относительно независимые подзадачи програм-

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

повторение). Структура «следование» предполагает естественную последовательность выполнения операторов. Структура «выбор» задается схемой «если – то – иначе» (условный оператор if). Структуре повторения сопоставлен оператор цикла;

39

Page 40: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

В основе структурного программирования лежит теорема, которая была строго доказана в теории программирования. Суть ее в том, что алгоритм для решения любой логической задачи можно составить только из структур «следование, ветвление, цикл». Их называют базовыми алгоритмическими структурами.

Следование – это линейная последовательность действий:

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

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

Цикл – повторение некоторой группы действий по условию. Различаются два типа цикла. Первый – цикл с предусловием (цикл-пока):

Пока условие истинно, выполняется серия, образующая тело цикла.Второй тип циклической структуры – цикл с постусловием (цикл-до):

Здесь тело цикла предшествует условию цикла. Тело цикла повторяет свое выполнение, если условие ложно. Повторение кончается, когда условие станет истинным.

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

40

Page 41: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

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

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

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

– вложенная конструкция записывается смещенной по строке на несколько позиций вправо относительно внешней для нее конструкции.

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

Еще одним важнейшим технологическим приемом структурного программирования является декомпозиция решаемой задачи на подзадачи – более простые с точки зрения программирования части исходной задачи. Алгоритмы решения таких подзадач называются вспомогательными алгоритмами. В связи с этим возможны два пути в построении алгоритма:

– «сверху вниз»: сначала строится основной алгоритм, затем вспомогательные алгоритмы;– «снизу вверх»: сначала составляются вспомогательные алгоритмы, затем основной.Первый подход еще называют методом последовательной детализации, второй – сборочным

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

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

41

Page 42: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

Метод последовательной детализации применяется в любом конструировании сложных объектов. Это естественная логическая последовательность мышления конструктора: постепенное углубление в детали. Достаточно сложный алгоритм другим способом построить практически невозможно.

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

Этапы создания структурной программы

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

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

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

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

– описание исходных данных и результатов (типы, форматы, точность, способ передачи, ограничения);

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

Выбор модели и метода решения задачи

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

Разработка внутренних структур данных

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

42

Page 43: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

себе следующие вопросы:– какая точность представления данных необходима?– в каком диапазоне лежат значения данных?– ограничено ли максимальное количество данных?– обязательно ли хранить их в программе одновременно?– какие действия потребуется выполнять над данными?Например, если максимальное количество однотипных данных, которые требуется обработать,

известно и невелико, проще всего завести для их хранения статический массив. Если таких мас-сивов много, сегментов данных и стека может оказаться недостаточно, и придется отвести под эти массивы место в динамической памяти.

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

Проектирование

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

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

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

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

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

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

43

Page 44: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Программирование

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

Кодирование также организуется по принципу «сверху вниз»: вначале кодируются модули самого верхнего уровня и составляются тестовые примеры для их отладки, при этом на месте еще не написанных модулей следующего уровня ставятся так называемые заглушки – временные программы. Заглушки в простейшем случае просто выдают сообщение о том, что им передано управление, а затем возвращают его в вызывающий модуль. В других случаях заглушка может выдавать значения, заданные заранее или вычисленные по упрощенному алгоритму.

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

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

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

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

Нисходящее программирование

Нисходящее программирование – способ разработки программ, при котором программи-рование ведется методом «сверху вниз», от общего к деталям. Алгоритм решения задачи разбивается на несколько более простых частей или подзадач. Их выделяют таким образом, чтобы програм-мирование подзадач было независимым. Составляется блок-схема программы, где выделяют головную и подчиненные подзадачи и связи между ними. Здесь же устанавливают, какие начальные данные получает каждая подзадача и какие результаты она выдает.

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

Правила программирования

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

44

Page 45: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

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

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

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

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

Для записи каждого фрагмента алгоритма необходимо использовать наиболее подходящие средства языка. Например, ветвление на несколько направлений по значению целой переменной более красиво записывается с помощью оператора case, а не нескольких if. Для просмотра массива лучше пользоваться циклом for. Оператор goto применяют весьма редко, например, для принуди-тельного выхода из нескольких вложенных циклов, а в большинстве других ситуаций лучше использовать другие средства языка, такие как процедуры break или exit.

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

Не следует размещать в одной строке много операторов. Как и в русском языке, после знаков 45

Page 46: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

препинания должны использоваться пробелы.Вложенные блоки должны иметь отступ в 3–4 символа, причем блоки одного уровня вложенности

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

только в тех случаях, когда тело непременно потребуется выполнить хотя бы один раз, например при проверке ввода. Цикл for используется, если число повторений известно заранее и параметр имеет порядковый тип, цикл while – во всех остальных случаях. При записи итеративных циклов (в которых для проверки условия выхода используются соотношения переменных, формируемых в теле цикла) необходимо предусматривать аварийный выход по достижении заранее заданного максимального количества итераций. Чтобы цикл легче читался, надо стремиться объединять инициализацию, проверку условия выхода и приращение в одном месте.

Более короткую ветвь if лучше поместить сверху, иначе вся управляющая структура может не поместиться на экране, что затруднит отладку.

Бессмысленно использовать проверку на равенство true или false.Следует избегать лишних проверок условий. Необходимо предусматривать печать сообщений в тех точках программы, куда управление

при нормальной работе программы передаваться не должно.

Нисходящее тестирование

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

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

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

Стратегия «белого ящика» предполагает проверку всех ветвей алгоритма. Общее число ветвей определяется комбинацией всех альтернатив на каждом этапе. Это конечное число, но оно может быть очень большим, поэтому программа разбивается на фрагменты, которые после тестирования рассматриваются как элементарные узлы более длинных ветвей. Кроме данных, обеспечивающих выполнение операторов в требуемой последовательности, тесты должны содержать проверку гра-ничных условий (например, переход по условию х > 10 должен проверяться для значений, больших, меньших и равных 10). Отдельно проверяется реакция программы на ошибочные исходные данные.

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

46

Page 47: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Документирование программы

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

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

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

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

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

1.15.4. Технология модульного программирования

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

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

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

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

Подпрограммы

47

Page 48: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

Внутри подпрограмм можно описывать другие подпрограммы. Они доступны только из той подпрограммы, в которой описаны.

Процедуры

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

Функции

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

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

48

Page 49: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

реализованным в функции.Ничто не мешает вычислять в функции не одно значение, а несколько. В этом случае одно,

«главное» значение передается через имя функции, а остальные – через список параметров по адресу. В таком случае чаще всего лучше использовать не функцию, а процедуру. И наоборот: если подпрограмма формирует только одно значение, предпочтительно оформить ее в виде функции.

Глобальные и локальные переменные

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

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

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

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

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

Если в подпрограмме не используются глобальные переменные, она становится независимой: ее можно использовать повторно, поместить в другую программу или в отдельный модуль.

Виды параметров подпрограмм

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

В заголовке подпрограммы нельзя вводить описание нового типа – там должны использоваться либо имена стандартных типов, либо имена типов, описанных в разделе type.

Например, в языке Паскаль существует четыре вида параметров:– значения;– переменные;– константы;– нетипизированные параметры.

49

Page 50: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Параметр-значение описывается в заголовке подпрограммы следующим образом:

имя : тип;

В подпрограмму передается копия значения аргумента.Механизм передачи следующий: из ячейки памяти, в которой хранится переменная, передаваемая

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

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

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

Признаком параметра-переменной является ключевое слово var перед описанием параметра:

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

Параметр-константу можно узнать по ключевому слову const перед описанием параметра:

const имя: тип;

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

Модули

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

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

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

50

Page 51: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

Описание модулей

Исходный текст каждого модуля хранится в отдельном файле с расширением .pas. Модуль состоит из секций (разделов). Общая структура модуля имеет вид:

Имя файла, в котором хранится модуль, должно совпадать с именем, заданным после ключевого слова unit.

Модуль может использовать другие модули. Для этого их надо перечислить в операторе uses, который может находиться только непосредственно после ключевых слов interface или implementation. Если модули подключаются к интерфейсной части, все константы и типы данных, описанные в интерфейсной секции этих модулей, могут использоваться в любом описании в интерфейсной части данного модуля. Если модули подключаются к части реализации, все описания из этих модулей могут использоваться только в секции реализации.

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

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

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

51

Page 52: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

Использование модулей

Чтобы использовать в программе величины, описанные в интерфейсной части модуля, имя модуля следует указать в разделе uses. Можно записать несколько имен модулей через запятую, например:

program example:uses Average. Graph, Crt;

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

Поиск модулей выполняется сначала в библиотеке системы, а затем в текущем каталоге. Если в программе описана величина с тем же именем, что и в модуле, для обращения к величине

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

1.15.5. Жизненный цикл программы

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

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

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

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

Функциональные спецификации – функции, которые должно выполнять программное обеспечение, т.е. в них определяется, что надо делать, а не как это делать.

52

Page 53: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

Второй стадией является проектирование программного обеспечения. На этом этапе:– формируется структура программного обеспечения и разрабатываются алгоритмы, задаваемые

спецификациями;– устанавливается состав модулей с разделением их на иерархические уровни на основе

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

декомпозиция которых нецелесообразна.Третья стадия – программирование. На данном этапе проектные решения, полученные на

предыдущей стадии, реализуются в виде программ. Разрабатываются отдельные блоки и подключаются к создаваемой системе. Одна из задач – обоснованный выбор языков программирования. На этой же стадии решаются все вопросы, связанные с особенностями типа ЭВМ.

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

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

Модели жизненного цикла

Среди известных моделей жизненного цикла можно выделить:– каскадная модель – последовательный переход на следующий этап после завершения

предыдущего;– итерационная модель – итерационные возвраты на предыдущие этапы после выполнения

очередного;– спиральная модель – прототипная модель, предполагающая постепенное расширение прототипа

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

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

53

Page 54: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

В основе спиральной модели жизненного цикла лежит применение RAD-технологии (Rapid Application Development – технологии быстрой разработки приложений). Согласно этой технологии программное обеспечение разрабатывается путем расширения программных прототипов, повторяя путь от детализации требований к детализации программного кода. Естественно, что при RAD-технологии сокращается число итераций и возникает меньше ошибок и несоответствий, которые необходимо исправлять на последующих итерациях, при этом проектирование программного обес-печения осуществляется более быстрыми темпами, упрощается создание проектной документации.

Жизненный цикл при использовании RAD-технологии предполагает активное участие конечных пользователей будущей системы на всех этапах разработки и включает следующие стадии информационного инжиниринга:

– анализ и планирование информационной стратегии. Пользователи вместе со специалистами-разработчиками участвуют в идентификации проблемной области;

– проектирование. Пользователи принимают участие в техническом проектировании под руководством специалистов-разработчиков;

– конструирование. Специалисты-разработчики проектируют рабочую версию программного обеспечения с использованием языков четвертого поколения;

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

Классический жизненный цикл

Очень часто классический жизненный цикл (рис. 1.4) называют каскадной или водопадной моделью, подчеркивая, что разработка рассматривается как последовательность этапов, причем

54

Page 55: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

Подразумевается, что разработка начинается на системном уровне и проходит через анализ, проектирование, кодирование, тестирование и сопровождение. При этом моделируются действия стандартного инженерного цикла.

Системный анализ

Анализ требований

Проектирование

Кодирование

Тестирование

Сопровождение

Рис. 1.4. Классический жизненный цикл разработки программного обеспечения

Как и любая инженерная схема классический жизненный цикл имеет достоинства и недостатки.Достоинства классического жизненного цикла: – дает план и временной график по всем этапам проекта; – упорядочивает ход проектирования. Недостатки классического жизненного цикла:– реальные проекты часто требуют отклонения от стандартной последовательности шагов;– цикл основан на точной формулировке исходных требований к программному обеспечению

(реально в начале проекта требования заказчика определены лишь частично);– результаты проекта доступны заказчику только в конце работы.

1.15.6. Применение современных технологий для решения задач в различных сферах общественной жизни

Редакторы документов

Редакторы, предназначенные для подготовки текстов, условно можно разделить на обычные (подготовка писем и других простых документов) и сложные (оформление документов с разными шрифтами, включающими графики, рисунки). Наибольшей популярностью пользуется текстовый процессор MS Word for Windows.

Текстовый редактор Word реализует следующие функции:– создание, открытие, закрытие, сохранение текстовых документов;

55

Page 56: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

– задание параметров страниц;– набор текста (режим прописных букв, гарнитура, кегль и цвет шрифта, страница, работа с

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

структуры таблицы (добавление и удаление строк и столбцов, объединение ячеек, изменение размеров ячеек). Преобразование текста в таблицу и наоборот;

– вставка и редактирование объектов – рисунков, клипов, MIDI-файлов, математических формул;

– деловая графика (построение диаграмм и графиков). Вставка рисунков, настройка положения, размера и способа обтекания рисунка (в тексте, перед текстом, за текстом);

– работа с автофигурами (линии, фигуры, стрелки), использование WordArt;– печать текста.

Работа с электронными таблицами

Электронная таблица – интерактивная система обработки информации, упорядоченной в виде таблицы с поименованными строками и столбцами. Прототипом современных электронных таблиц послужила программа Visual Calc. Наиболее часто используются электронные таблицы: Quatro Pro, MS Excel и Lotus.

Основные характеристики программного продукта Excel

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

Структура таблиц и основные операции:– в нижней части электронной таблицы расположен алфавитный указатель (регистр), обеспе-

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

– в режиме оформления и модификации экрана можно фиксировать заголовки строк, столбцов, оформлять рабочие листы;

– для оформления рабочих листов предусмотрены следующие возможности: выравнивание данных внутри клетки, выбор цвета фона клетки и шрифта, изменение высоты строк и ширины колонок, черчение рамок различного вида, определение формата данных, обеспечение автоматического

56

Page 57: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

– для вывода таблиц на печать предусмотрены функции, обеспечивающие выбор размера страницы, разбивку на страницы, установку размера полей страниц, оформление колонтитулов, а также предварительный просмотр получившейся страницы;

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

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

– деловая графика – возможность построения различного типа двумерных, трехмерных и смешанных диаграмм (более 20 различных типов и подтипов), которые пользователь может строить самостоятельно. Многообразны и доступны возможности оформления диаграмм, например, вставка и оформление легенд, меток данных; оформление осей – возможность вставки линий сеток и др.;

– выполнение табличными процессорами функций баз данных – обеспечивается заполнением таблиц аналогично заполнению баз данных, т.е. через экранную форму; защитой данных, сортировкой по ключу или по нескольким ключам, обработкой запросов к базе данных, созданием сводных таблиц. Кроме этого, осуществляется обработка внешних БД, позволяющая работать с файлами, созданными, например, в формате dBase, Paradox или других форматах;

– программирование – в табличном процессоре существует возможность использования встроенного языка программирования макрокоманд. Разделяют макрокоманды и макрофункции. При использовании макрокоманд упрощается работа с табличным процессором и расширяется список его собственных команд. С помощью макрофункций определяют собственные формулы и функции, расширив, таким образом, набор функций, предоставляемый системой. Программы обработки электронных таблиц позволяют пользователю создавать на базе табличного процессора новые приложения со специализированными диалоговыми окнами, что делает работу с приложением максимально удобной. Для создания приложений табличные процессоры содержат в качестве дополнительной компоненты язык программирования высокого уровня (например, компоненты языка Visual Basic для составляющих Microsoft Office).

Оптическое распознавание символов

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

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

57

Page 58: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Технология ввода информации в ЭВМ:– исходный документ считывается устройством, которое кодирует каждый символ и определяет

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

во внутреннем представлении.Считывающее устройство представляет собой сканер, хотя и специализированный (считывание

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

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

название OCR-software.В настоящее время программное обеспечение оптического распознавания символов –

интеллектуально, и может распознать фактически все шрифты, даже при невысоком качестве изображения документа.

Системы оптического распознавания символов

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

Типичным представителем данного семейства программ является FineReader, технологический процесс которого включает следующие шаги:

– сканирование исходного документа (страницы);– разметку областей, требующих различные виды обработки (страницы разворота книги, таблицы,

рисунки, колонки текста);– распознавание – создание и вывод на экран текстового файла (с вставленными рисунками и

таблицами, если это необходимо);– контроль правильности (ручной, автоматический, полуавтоматический);– вывод информации в выходной файл в заданном формате.Данные, полученные на каждом этапе (изображение, текстовый файл), сохраняются под «общей

вывеской» пакета (страницы с номером), что позволяет в любой момент вернуться и повторить разметку, распознавание.

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

Системы распознавания речи

Теоретически машинное распознавание речи, т.е. ее автоматическое представление в виде текста, является крайней степенью сжатия речевого сигнала.

Потребность в речевом общении с компьютером столь естественна, что ее не смогли уменьшить

58

Page 59: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

В соответствии с данной моделью на первом (фонетическом) уровне производится преобразование входного (для лингвистического блока) представления речи в последовательность фонем, как наименьших единиц языка. Считается, что в реальном речевом сигнале можно обнаружить лишь аллофоны – варианты фонем, зависящие от звукового окружения.

На следующем (фонологическом) уровне накладываются ограничения на комбинаторику фонем (аллофонов) – встречаются не все сочетания фонем, а те, что встречаются, имеют различную вероятность появления, зависящую еще и от окружения. Для описания этой ситуации используется математический аппарат цепей Маркова.

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

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

Системы генерации речи

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

59

Page 60: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

активной стороне диалога. Еще относительно недавно подсистемы распознавания и синтеза речи рассматривались как части единого комплекса речевого интерфейса.

Обратная распознаванию задача – синтез речи, или Text-to-Speech (TTS), – столь же проста в первом приближении и по-своему не менее сложна по мере достижения вершин. Известно, что синтезированная речь воспринимается человеком хуже, чем живая, причем это особенно заметно при передаче по каналу телефонной связи, т.е. как раз в тех условиях, в которых было бы наиболее заманчиво ее использовать. В интеллектуальных телефонных системах, таких как IVR, технологии TTS начинают теснить традиционные наборы записываемых заранее слов и реплик – прежде всего благодаря своей гибкости, простоте переналадки и сокращению требований к объему памяти.

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

Фонетическая разборчивость характеризует, насколько слушателю легко или трудно разобрать фонемы, произносимые синтезатором. Здесь надо понимать, что неестественная с металлическим призвуком «речь робота» может обладать высокой фонетической разборчивостью, т.е. слушатель с легкостью может различить фонемы (слоги) произносимых слов. В то же время, в естественной речи разборчивость может быть невысокой. Так происходит потому, что для придания естественности звучания синтезируемая речь проходит дополнительную фильтрацию. Степень фильтрации не всегда адекватно подбирается синтезатором и это ухудшает фонетическую разборчивость.

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

Структура идеализированной системы автоматического синтеза речи состоит из нескольких блоков:

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

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

Наиболее распространенными системами синтеза речи на сегодня являются те, которые пос-60

Page 61: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

тавляются в комплекте со звуковыми платами. Если компьютер пользователя оснащен какой-либо из них, существует значительная вероятность того, что на нем установлена система синтеза речи (не русской, а английской речи). К большинству оригинальных звуковых плат Sound Blaster прилагается система Creative Text-Assist, а вместе со звуковыми картами других производителей часто поставляется программа Monologue компании First Byte.

Технология машинного перевода

Процесс машинного перевода текстов с одного естественного языка на другой может быть разделен на три этапа.

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

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

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

2. ИНФОРМАЦИОННЫЕ ПРОЦЕССЫ В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ

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

В информатике понятие «система» широко распространено и имеет множество смысловых значений. Чаще всего оно используется применительно к набору технических средств и программ. Системой может называться аппаратная часть компьютера. Системой может также считаться множество программ для решения конкретных прикладных задач, дополненных процедурами ведения документации и управления расчетами.

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

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

Для системы характерны следующие основные свойства:– сложность;– делимость;

61

Page 62: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

взаимодействия, а также от сложности внутренних и внешних связей и динамичности.Делимость системы означает, что она состоит из ряда подсистем или элементов, выделенных

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

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

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

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

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

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

Управление связано с обменом информацией между компонентами системы, а также системы с окружающей средой. В процессе управления получают сведения о состоянии системы в каждый момент времени, о достижении (или не достижении) заданной цели с тем, чтобы воздействовать на систему и обеспечить выполнение управленческих решений.

Любой системе управления экономическим объектом соответствует своя информационная система, называемая экономической информационной системой.

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

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

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

Автоматизированная информационная система (АИС) – совокупность информации, экономико-математических методов и моделей, технических, программных, технологических средств и специалистов, предназначенных для обработки информации и принятия управленческих решений.

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

62

Page 63: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

2.1. Классификация информационных систем

Классификация информационных систем (табл. 2.1):

Таблица 2.1

Классификация информационных систем

1. Отрасли примененияДеловая информация Профессиональная

информацияПотребительская информация

Электронная коммерция

2. Вид и структура информацииБиблиографическая Полнотекстовая Справочная Графическая

3. Взаимодействие с пользователямиСистемы разделения времени Поддержка групповых решений

4. Типы принимаемых решенийСтепень неопределенности Уровень руководства

5. Масштаб АИСАИС организации Локальные АИС Глобальные АИС

6. Тип организацииПроизводство, учреждение Библиотека Вуз Прочие организации

7. Программное обеспечениеСУБД АИПС Универсальные

оболочкиПрограммируемые среды

8. Тип интерфейса с пользователемКомандный язык Шаблоны Меню Оконный

9. Наличие и тип моделей, встраиваемых в АИС

63

Page 64: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

СОПР, КИС (EPR/BRP) САПР ЭС ГИС

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

2. Вид информации отражает структуру данных, поддерживаемую в базах данных информа-ционной системы.

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

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

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

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

5.Масштаб информационных систем определяется уровнем организации и функционирования системы, спектром информационного обслуживания, объемом информационных массивов и потоков.

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

7. Программные реализации баз данных различаются по типам баз данных и структурам данных, их образующих. Реализации документальных баз данных могут использовать универсальные оболочки (JSIS) или специальные разработки в среде реляционных или постреляционных СУБД (системы программирования FoxPro, Oracle, Adabas).

8. Классы интерфейсов конечного пользователя:– информационные системы с языковым интерфейсом предусматривают взаимодействие с

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

частотных словарей образуют рубрики меню, отмечая которые курсором или указывающим устройством, пользователь строит поисковое выражение;

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

9. Применяемые в контуре информационной системы модели являются необязательной ком-понентой и могут использоваться для поддержки принятия решения пользователем. В зависимости от вида моделей выделяются интеллектуальные виды информационных систем:

64

Page 65: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

– экспертные системы – базируются на логической модели предметной области, реализо-ванной в форме базы знаний и механизма логического вывода;

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

По видам процессов управления автоматизированные информационные системы подраз-деляются на:

– АИС управления технологическими процессами – это человеко-машинные системы, обеспе-чивающие управление технологическими устройствами, станками, автоматическими линиями;

– АИС управления организационно-технологическими процессами представляют собой мно-гоуровневые системы, сочетающие АИС управления технологическими процессами и АИС управления предприятиями.

Для АИС организационного управления объектом служат производственно-хозяйственные, социально-экономические функциональные процессы, реализуемые на всех уровнях управления экономикой, в частности:

– банковские АИС;– АИС фондового рынка;– финансовые АИС;– страховые АИС;– налоговые АИС;– АИС таможенной службы;– статистические АИС;– АИС промышленных предприятий и организаций (особое место по значимости и распрост-

раненности в них занимают бухгалтерские АИС).АИС научных исследований обеспечивают высокое качество и эффективность межотраслевых

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

Обучающие АИС получают широкое распространение при подготовке специалистов в системе образования, при переподготовке и повышении квалификации работников разных отраслей.

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

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

Территориальные АИС предназначены для управления административно-территориальными 65

Page 66: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

– активное участие человека-специалиста в системе автоматизации обработки информации и принятия управленческих решений;

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

реализуемой на конкретном экономическом объекте;– создание и внедрение научных и прикладных разработок в области информатизации в

соответствии с требованиями пользователей;– формирование условий организационно-функционального взаимодействия и его математическое,

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

заданных критериев эффективности.Определяя АИС как организованную для достижения общей цели совокупность специалистов,

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

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

2.2. Процессы в информационной системе

66

Page 67: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

входной информации.

Рис. 2.1. Процессы в информационной системе

Информационная система определяется следующими свойствами:– любая информационная система может быть подвергнута анализу, построена и управляема

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

принимаются решения;– информационную систему следует воспринимать как человеко-компьютерную систему обработки

информации.В настоящее время сложилось мнение об информационной системе как о системе, реализо-

ванной с помощью компьютерной техники. Чтобы разобраться в работе информационной системы, необходимо понять суть проблем, которые она решает, а также организационные процессы, в которые она включена. Так, например, при определении возможности компьютерной информационной системы для поддержки принятия решений следует учитывать:

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

математических методов и интеллектуальных систем;– освобождению работников от рутинной работы за счет ее автоматизации;– обеспечению достоверности информации;

67

Ввод информации

Обработка информации

Вывод информации

Обратная связь

Аппаратная и программная части информационной системы

Персонал организации или другая

информацион-ная система

Page 68: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

Роль структуры управления в информационной системе

Создание и использование информационной системы для любой организации нацелены на решение следующих задач:

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

– информационная система должна контролироваться людьми, ими пониматься и использоваться в соответствии с основными социальными и этическими принципами;

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

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

2.3. Взаимодействие информационной системы и внешней среды

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

Логический метод рассуждения. У человека он основан на интуиции, на использовании накоп-ленного опыта и воображения. Метод ЭВМ – строг и систематичен. Наиболее удачной является композиция, когда ЭВМ реализует отдельные расчетные процедуры, а их логическая последова-тельность определяется человеком-создателем проектируемого объекта.

Способность к обучению. Человек обучается постепенно, степень «образованности» ЭВМ определяется ее программным обеспечением. Желательно, чтобы информация, получаемая на запрос пользователя, могла изменяться по требованию пользователя.

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

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

68

Page 69: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

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

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

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

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

Эмоциональность. Это чувство свойственно человеку и чуждо ЭВМ.

2.4. Системный подход к построению информационной системы

Классическое проектирование информационной системы берет свое начало в 70-х годах прошлого столетия. Одно из первых направлений получило название «каскадной» схемы проектирования. Она широко использовалась при проектировании АСУ и включала следующие стадии проекта:

69

Page 70: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

запуск, обследование, концепция технического задания, эскизный проект, технический проект, рабочий проект, ввод в действие (внедрение). Основной особенностью данной методики является последовательная организация работ при разбиении структуры информационной системы на заранее определенный ряд подсистем: организационное, методическое, информационное, программное и аппаратное обеспечения. Такая схема организации работ получила название «водопадной модели» и включала дополнительно итерационные процедуры уточнения требований к системе и рассмотрения вариантов проектных решений. Основными недостатками «каскадной» схемы проектирования являются запаздывание получения конечных результатов и низкая эффективность.

В процессе совершенствования появилась схема непрерывной разработки информационной системы (рис. 2.2), использовавшаяся при реализации больших проектов фирмы IBM. Характерной особенностью данной методики стал непрерывный спиральный процесс разработки информационной системы с планируемыми точками передачи в эксплуатацию новых версий и новых функциональных подсистем.

Рис. 2.2. Схема непрерывной разработки

Развитие схемы непрерывной разработки связано с совершенствованием циклических форм проектирования. Примером такого подхода является ускоренный метод проектирования, получивший название «Быстрое прототипирование». В проектный цикл дополнительно были включены стадии разработки макета-прототипа и его опробование. Недостатками схемы непрерывной разработки является жесткость используемых моделей проектирования и закрытость создаваемых информационных систем.

Следствием недостатков классических методов проектирования явился переход к системному проектированию.

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

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

70

Page 71: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

В обществе уже давно сформировались идеология и практика применения различных средств сбора, передачи, хранения, обработки и представления информации. Однако их разрозненное применение или использование их ограниченной совокупности не позволяло до сих пор получить значительный системный эффект. Необходим подход к информационным технологиям как к системе. Такой подход является обоснованным ввиду того, что информационная технология обладает единой целью, а именно – необходимостью формирования информационного ресурса в обществе, имеет сопрягаемые взаимодействующие средства ее реализации, характеризуется тенденцией развития в связи с интенсивным обновлением средств вычислительной техники и техники связи. Анализ информационных технологий как системы следует выполнять на основе дескриптивного определения, разработка информационных технологий должна базироваться на конструктивном подходе. Такой подход предполагает необходимость возникновения проблемной ситуации для разработки системы. Можно считать, что возникающая проблема порождает будущую систему. Прежде всего разработчик должен определить границы системы, полагая, что цель ее функцио-нирования известна. Необходимо в состав системы включить те элементы, которые своим функционированием обеспечивают реализацию заданной цели. Конструктивное определение системы состоит в следующем: система – это конечное множество функциональных элементов и отношений между ними, которые выделяются из окружающей среды в соответствии с поставленной целью в рамках определенного временного интервала ее реализации. Все то, что не вошло в состав системы, относят к окружающей среде. Очевидно, что окружающая среда включает в себя другие системы, которые реализуют свои цели функционирования. Входы и выходы системы связаны с внешней средой. На модельном уровне выделяют модель системы, модель внешней среды на входе системы, модель внешней среды на выходе системы и модели связей между системой и внешней средой на входе и выходе. Внешней средой для информационной технологии могут выступать производство, научное исследование, проектирование, обучение. Связи между информационной технологией и внешней средой носят чисто информационный характер. В процессе взаимодействия с внешней средой реализуются основные функции информационной технологии. Функции как проявление свойств системы во времени тесно связаны с ее структурой. Дескриптивный подход реализуется путем изучения функции либо структуры системы. В соответствии с этим в теории систем получили применение функциональный и структурный подходы.

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

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

71

Page 72: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

При использовании информационных технологий в системном аспекте необходимо соблюдать следующие принципы:

1. Наличие сформулированной единой цели у информационных технологий в рамках разраба-тываемой системы.

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

2. Согласование информационных технологий по входам и выходам с окружающей средой.В информационных технологиях как системе должны быть определены оптимальные точки

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

3. Типизация структур информационных технологий.Это прежде всего относится к базовым информационным технологиям. Должны быть проведены

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

72

Page 73: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

только при максимальной типизации проектных решений и стандартизации их реализаций возможен успех в использовании новой техники.

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

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

2.5. Стадии разработки информационных систем

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

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

Системотехника – направление в кибернетике, изучающее вопросы планирования, проектирования, конструирования и поведения сложных информационных систем, основу которых составляют универсальные средства преобразования информации – ЭВМ.

Проектирование можно представить как цикл, каждая итерация которого отличается большей детализацией и меньшей общностью (рис. 2.3).

Рис. 2.3. Процесс проектирования

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

Дивергенция – расширение границ проектной ситуации с целью обеспечения более обширного пространства поиска решения.

73

Page 74: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Трансформация – стадия создания принципов и концепций (исследование структуры проблемы).Конвергенция охватывает традиционное проектирование (программирование, отладка, проработка

деталей).Учитывая сложность проектирования информационных систем, следует обратить внимание на

трудности этого процесса:– предположение о конечном результате проектирования приходится делать еще до того, как

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

обнаруживаются непредвиденные трудности или открываются новые, более благоприятные возможности;

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

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

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

направления в проектировании информационных систем как функциональные спецификации.Функциональные спецификации – это часть исходных данных для проектирования информа-

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

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

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

74

Page 75: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

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

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

над данными.Модель данных ориентирована на описание структуры информационных объектов, их функ-

циональных взаимосвязей, необходимых для поддержания заданных действий.

75

Page 76: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

Модель пользовательского интерфейса ориентирована на описание взаимодействий пользователей с проектируемой системой, состава форм представления и команд управления заданиями.

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

Логика ориентирована на описание потока управления (последовательности выполнения) операторов программной системы и действий пользователей.

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

Каждая связь представляется совокупностью элементов:– <имя типа>;– <имя исходного компонента>;– <имя вида отношения>;– <имя типа>;– <имя связанного компонента>.Метаобъекты – это базовые компоненты для проектирования модели предметной области.Виды элементов – это экземпляры конкретного метаобъекта.Модель представления конкретной предметной области есть описание совокупности видов

элементов и их взаимосвязей.Элемент – это экземпляр вида элемента.Конкретные проектные данные представляются в виде совокупности элементов и их разнооб-

разных взаимосвязей.Используется три вида цепочек связей:– метаобъект.<имя метаобъекта> – описание структуры метаобъектов;– <имя метаобъекта>.<имя вида элемента> – описание структуры видов элементов;– <имя вида элемента>.<имя элемента> – описание связей элементов.Важным элементом проектирования информационной системы является ядро моделей предс-

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

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

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

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

Структура – относительно устойчивая связь (отношение) и взаимодействие элементов, сторон, частей предмета, явления, процесса как целого.

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

– вид_элемента – определяет устойчивый для конкретной предметной области набор свойств,

76

Page 77: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

объединяющий конкретные проектируемые компоненты в группы;– вид_отношения – определяет устойчивые для конкретной предметной области группы связей

между проектируемыми компонентами;– отношение – определяется видами элементов, вступающими во взаимосвязь и видом отношения,

задающим семантику связей.Ядро позволяет описывать требуемые виды отношений, виды элементов и отношения.На рис. 2.4 показана схема ядра моделей представления функциональных спецификаций

информационной системы.

Рис. 2.4. Схема ядра моделей представления функциональных спецификаций информационной системы, где R – отношение, TR – вид отношения, TEI – тип элемента,

RI – связь отношений, EI – элемент, class – класс, own – вид отношения

Синтаксис языка функциональных спецификаций (ФС) представлен в виде синтаксических диаграмм на рис. 2.5.

77

Page 78: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Рис. 2.5. Синтаксис языка функциональных спецификаций2.6. Построение систем с использованием информационных технологий

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

На сегодняшний день существует два основных подхода к разработке информационных систем, отличающихся критериями декомпозиции. Первый подход, получивший название функционально-модульного или структурного, определяется принципом алгоритмической декомпозиции. В соот-ветствии с этим принципом осуществляется разделение функций информационной системы на модули по функциональной принадлежности, и каждый модуль реализует один из этапов общего процесса. Такой традиционный функционально-модульный подход к проектированию информационной системы, получивший название «модель водопада», предусматривает строго последовательный порядок действий. Главный недостаток такого подхода заключается в движении информации в одном направлении. Если при проектировании или эксплуатации возникает проблема, то она

78

Page 79: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

Объектно-ориентированная технология проектирования информационной системы предоставляет гибкую, универсальную концептуальную основу для конструирования информационно-управляющих систем в различных областях хозяйственной деятельности и управления, сочетающую исполь-зование моделей современной логистики, объектного подхода к компонентам предметной области, современных инструментальных средств визуального программирования и СУБД с SQL-интерфейсом.

Объектно-ориентированная технология проектирования информационной системы включает в себя следующие компоненты:

– технологию конструирования концептуальной объектно-ориентированной модели предметной области;

– инструментальные средства спецификации проектных решений;– библиотеки типовых компонентов модели предметной области;– типовые проектные решения для ряда функциональных областей.В основу объектно-ориентированной технологии проектирования информационной системы

положены разработка, анализ и спецификация концептуальной объектно-ориентированной модели предметной области.

Концептуальная объектно-ориентированная модель предметной области является основой проекта и реализации системы и обеспечивает:

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

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

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

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

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

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

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

Oracle Method, Rational Rose, Object – Oriented Design Language (OODLE)) отсутствуют такие модели, которые бы позволяли в полной мере использовать знания по классификации элементов предметной области для описания свойств ее элементов. При этом сохранили преимущества традиционные функциональный и информационный подходы, основанные на модели данных. Объектный подход

79

Page 80: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

Этапы проектирования информационной системы:– исследование предметной области;– разработка архитектуры системы;– реализация проекта;– внедрение системы;– сопровождение системы;Исследование предметной области предусматривает следующие шаги:– спецификацию деятельности в предметной области;– анализ деятельности в предметной области;– структурно-логический анализ деятельности;– анализ путей;– анализ связности (прочности и сцепления) компонентов предметной области;– анализ производительности;– экономический анализ.Разработка архитектуры системы включает в себя разработку следующих компонентов:– спецификации требований к проектируемой системе;– конструирование концептуальной модели предметной области;– спецификации обработки данных в проектируемой системе;– спецификации пользовательского интерфейса системы;– спецификации деятельности в предметной области с учетом внедрения системы.Процесс проектирования информационной системы базируется на следующих моделях

представления проектных решений:– модели классификации объектов;

80

Page 81: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

– модели декомпозиции компонентов предметной области;– моделях потоков;– модели данных предметной области;– модели классов;– модели пользовательского интерфейса;– модели логики.Модель классификации ориентирована на группирование объектов предметной области в соот-

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

над данными. Различают виды декомпозиции действий на основе:– состава выходных данных;– входных данных;– представлений о промежуточных результатах;– представлений о фазах обработки;– представлений об альтернативных действиях.Модели потоков отражают движение различных видов носителей (материальных, финансовых,

информационных).Модель данных предметной области ориентирована на описание структуры информационных

объектов, их функциональных взаимосвязей, необходимых для поддержания заданных действий.Модель классов определяет систему классификации информации о предметной области, осно-

ванную на семантическом анализе. Среди важных характеристик модели классов можно выделить отношения наследования, включения или использования. В основе лежит объектно-ориентированный подход, в основе которого находится представление о предметной области, как совокупности взаимодействующих друг с другом объектов, рассматриваемых как экземпляр определенного класса. Классы образуют иерархию на основе наследования. Объектно-ориентированный подход содержится в современных языках высокого уровня Smalltalk, Object Pascal, C++, Java.

Модель пользовательского интерфейса ориентирована на описание взаимодействий пользователей с проектируемой системой, состава форм представления и команд управления заданиями.

Модели логики ориентированы на описание потока управления (последовательности выполнения) операторов программной системы и действий пользователей.

Для отображения результатов проектирования на различных этапах используются следующие виды схем представления проектных решений:

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

Каждый признак (основание) классификации имеет глобальный идентификатор и имя:81

Page 82: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

cat.<идентификатор признака классификации>–<имя признака классификации>.

Дуги на схеме классификации помечаются соответствующими элементами типа cat.По способу формирования различаются первичные и вторичные варианты оснований

классификации.Первичные основания характеризуют, как правило, наличие различных существенных отли-

чительных свойств у каждого подкласса рассматриваемого класса элементов.Вторичные основания классификации элемента формируются в соответствии с основаниями

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

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

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

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

– накопителями информационных потоков в зависимости от их вида являются базы данных (информационные объекты) или папки документов:

– накопителями финансовых потоков являются счета бухгалтерского учета;– накопителями материальных потоков являются места постоянного или временного размещения

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

документов и накопитель финансовых средств с идентификатором этого элемента.Реализация информационных систем на основе информационных технологий должна быть

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

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

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

82

Page 83: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

Корпоративные информационные системы ориентированы на использование в масштабе предприятия (организации) для различных рабочих групп, могут поддерживать территориально разнесенные узлы или сети. Отличительная особенность таких систем – обеспечение доступа из подразделений к центральной или распределенной БД предприятия (организации), а также к информационным ресурсам рабочей группы. Такие системы реализуются на основе архитектуры «клиент-сервер» со специализацией серверов. При этом используются корпоративные SQL-серверы и соответствующие инструментальные средства.

Групповые и корпоративные информационные системы могут строиться на основе следующих способов:

– многотерминальные централизованные вычислительные системы;– системы на основе локальной сети ПК;– системы с архитектурой «клиент-сервер»;– системы с распределенными вычислениями;– офисные системы;– системы на основе Интернет/Интранет-технологий.Среди средств разработки информационных систем выделяют следующие основные группы:– традиционные системы программирования;– инструменты для создания файл-серверных приложений;– средства разработки приложений «клиент-сервер»;– средства автоматизации делопроизводства и документооборота;– средства разработки Интернет/Интранет-приложений;– средства автоматизации проектирования (CASE-технологии).Традиционные системы программирования представлены средствами создания приложений

на алгоритмических языках программирования (Си, Паскаль, Бейсик). Инструментальные средства программирования могут быть представлены набором утилит (редактор текстов, компилятор, компоновщик и отладчик) или интегрированной программной средой. Развитием традиционных систем программирования является объектно-ориентированное и визуальное программирование.

Основой разработки файл-серверных приложений для локальных сетей ПК являются инстру-ментальные средства «персональных» СУБД, реализованные в виде диалоговой интегрирующей среды, предоставляющей три уровня доступа:

– программирование и создание приложений;– создание и ведение структуры БД, а также интерактивная генерация макетного приложения

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

ведения и просмотра БД, а также формирования простых отчетов и запросов.Среди инструментальных средств реализации приложений с архитектурой «клиент-сервер»

83

Page 84: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

RAD (Rapid Application Development), обеспечивающие реализацию удаленного доступа к СУБД по двухзвенной схеме «клиент-сервер»; связь клиентских приложений с серверами БД с помощью непроцедурного языка структурированных запросов SQL; целостность БД, включая целостность транзакций; поддержку хранимых процедур на серверах БД; реализацию клиентских и серверных триггеров-процедур; генерацию элементов диалогового интерфейса и отчетов.

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

– средства автоматизации учрежденческой деятельности Office Automation;– системы управления электронным документооборотом EDMS;– EDI – электронный документооборот и UN/EDIFACT – европейский стандарт EDI в задачах

логистики;– средства обеспечения коллективной работы Groupware;– средства автоматизации документооборота Workflow.Данная группа средств включает в свой состав: текстовые редакторы для подготовки и кор-

ректировки документов; процессоры электронных таблиц для расчетов, анализа и графического представления данных; программы генерации запросов по образцу из различных БД; сетевые планировщики для назначения рабочих встреч и совещаний; средства разработки и демонстрации иллюстративных материалов для презентаций; словари и системы построчного перевода и др. Эти средства представляют собой отдельные пакеты (Win Word, Word Perfect, Excel, Lotus), интегрированный пакет программ (MS Works) или согласованный набор пакетов (Microsoft Office, Corel Perfect Office).

Средства программирования Интернет/Интранет-приложений представлены различными сис-темами программирования на интерпретируемых языках Java, Java Script, Tel и др. Построенные с использованием этих средств, приложения могут загружаться с любого Web-сервера сети и интерпретироваться на клиентском узле. Это обеспечивает платформенную независимость при расширении функциональных возможностей.

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

– комплект специальных инструментальных средств быстрой разработки прикладных инфор-мационных систем – RAD;

– технологический комплекс разработки программного обеспечения RUP (Rational Unified Process);

– технологию разработки программного обеспечения Extreme Programming (XP).Средства RAD базируются на объектно-ориентированном подходе, когда информационные

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

84

Page 85: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

Наиболее полным описанием процесса разработки программного обеспечения, включающим методики выполнения работ на каждой стадии жизненного цикла системы, является Rational Unified Process (RUP), уникальность которого заключается в том, что это стандартизованный процесс разработки программного обеспечения, используемый многими крупными компаниями по всему миру. RUP по сравнению с другими процессами обладает следующими преимуществами:

– обеспечивает четко организованный подход к назначению задач и требований в рамках организации разработки;

– основан на объектно-ориентированных технологиях разработки программного обеспечения и может использоваться для широкого круга проектов и организаций;

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

– создает описание программного продукта, позволяющего восстановить процесс его разработки;– осуществляет полную поддержку различными инструментальными средствами, позволяющими

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

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

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

Другим подходом к разработке программного обеспечения является технология Extreme Programming или ХР. Основными элементами данного подхода являются:

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

корректности исходных кодов программ;– использование рефакторингов для расширения функциональности системы и устранения ее

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

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

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

85

Page 86: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

проектирования;– перевод исходных кодов программ с одного языка программирования на другой.

2.7. Понятие информационных технологий

Термин «технология» имеет множество толкований. В широком смысле под технологией понимают науку о законах производства материальных благ, вкладывая в нее три основные части: идеологию (принципы производства); орудия труда (станки, машины, агрегаты); кадры, владеющие профессиональными навыками. Эти составляющие называют соответственно информационной, инструментальной и социальной. Для конкретного производства технологию понимают в узком смысле как совокупность приемов и методов, определяющих последовательность действий для реализации производственного процесса. Уровень технологий связан с научно-техническим прог-рессом общества и влияет на его социальную структуру, культуру и идеологию. Для любой технологии могут быть выделены цель, предмет и средства. Целью технологии в промышленном производстве является повышение качества продукции, сокращение сроков ее изготовления и снижение себестоимости.

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

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

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

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

86

Page 87: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Можно выделить три уровня рассмотрения информационных технологий:– первый уровень – теоретический. Основная задача – создание комплекса взаимосвязанных

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

автоматизировать конкретные информационные технологии;– третий уровень – прикладной, который целесообразно разделить на две страты: инстру-

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

которые можно разделить на методические, информационные, математические, алгоритмические, технические и программные.

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

2.8. Информационная технология как система

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

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

Технологический процесс – часть информационного процесса, содержащая действия (физические, механические и др.) по изменению состояния информации.

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

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

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

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

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

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

87

Page 88: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

– мультимедиа-технологии;– геоинформационные технологии;– технологии защиты информации;– CASE-технологии;– телекоммуникационные технологии;– технологии искусственного интеллекта.Специфика конкретной предметной области находит отражение в специализированных

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

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

которые можно разделить на методические, информационные, математические, алгоритмические, технические.

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

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

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

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

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

2.9. Этапы эволюции информационных технологий

Эволюция информационных технологий наиболее ярко прослеживается на процессах хранения, транспортирования и обработки информации.

88

Page 89: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

В управлении данными, объединяющем задачи их получения, хранения, обработки, анализа и визуализации, выделяют шесть временных фаз (поколений), которые представлены на рис. 2.6. Вначале данные обрабатывали вручную. На следующем шаге использовали оборудование с пер-фокартами и электромеханические машины для сортировки и табулирования записей. В третьей фазе данные хранились на магнитных лентах, и сохраняемые программы выполняли пакетную обработку последовательных файлов. Четвертая фаза связана с введением понятия схемы базы данных и оперативного навигационного доступа к ним. Пятая фаза – обеспечение автоматического доступа к реляционным базам данных и внедрение распределенной и клиент-серверной обработки. Теперь мы находимся в начале шестого поколения систем, которые хранят более разнообразные типы данных (документы, графические, звуковые и видеообразы). Эти системы шестого поколения представляют собой базовые средства хранения для появляющихся приложений Интернета и Интранета.

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

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

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

Второе поколение (программируемое оборудование обработки записей, 1955–1980 годы) связано с появлением технологии магнитных лент, каждая из которых могла хранить информацию десяти тысяч перфокарт. Для обработки информации были разработаны электронные компьютеры с хра-нимыми программами, которые могли обрабатывать сотни записей в секунду. Ключевым моментом

89

Page 90: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

этой новой технологии было программное обеспечение, с помощью которого сравнительно легко можно было программировать и использовать компьютеры.

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

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

Третье поколение (оперативные базы данных, 1965–1980 годы) связано с внедрением опера-тивного доступа к данным в интерактивном режиме, основанном на использовании систем баз данных с оперативными транзакциями.

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

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

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

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

между записями;– физическая, описывающая физическое размещение записей базы данных на устройствах

памяти и в файлах, а также индексы, нужные для поддержания логических связей;– предоставляемая каждому приложению подсхема, раскрывающая только часть логической

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

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

Четвертое поколение (реляционные базы данных: архитектура «клиент-сервер», 1980–1995 годы) явилось альтернативой низкоуровневому интерфейсу. Идея реляционной модели состоит в единообразном представлении сущности и связи. Реляционная модель данных обладает

90

Page 91: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

Сегодня почти все системы баз данных обеспечивают интерфейс SQL. Кроме того, во всех системах поддерживаются собственные расширения, выходящие за рамки этого стандарта.

Кроме повышения продуктивности и простоты использования реляционная модель обладает некоторыми неожиданными преимуществами. Она оказалась хорошо пригодной к использованию в архитектуре «клиент-сервер», параллельной обработке и графических пользовательских интерфейсах. Приложение «клиент-сервер» разбивается на две части. Клиентская часть отвечает за поддержку ввода и представление выходных данных для пользователя или клиентского устройства. Сервер отвечает за хранение базы данных, обработку клиентских запросов к базе данных, возврат клиенту общего ответа. Реляционный интерфейс особенно удобен для использования в архитектуре «клиент-сервер», поскольку приводит к обмену высокоуровневыми запросами и ответами. Высокоуровневый интерфейс SQL минимизирует коммуникации между клиентом и сервером. Сегодня многие клиент-сер-верные средства строятся на основе протокола Open Database Connectivity (ODBC), который обеспечивает для клиента стандартный механизм запросов высокого уровня к серверу. Архитектура «клиент-сервер» продолжает развиваться. В частности, такие процедурные языки, как Бейсик и Java, были добавлены к серверам, чтобы клиенты могли вызывать прикладные процедуры, выполняемые на них.

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

Реляционные данные также хорошо приспособлены к графическим пользовательским интерфейсам (GUI). Пользователи легко могут создавать отношения в виде электронных таблиц и визуально манипулировать ими.

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

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

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

91

Page 92: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

– определение моделей данных для их новых типов (например, пространственных, графических) и их интеграция с традиционными системами баз данных;

– масштабирование баз данных по размеру (до петабайт), пространственному размещению (распределенные) и многообразию (неоднородные);

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

2.10. Составляющие информационных технологий

Информационная технология базируется и зависит от технического, программного, информа-ционного, методического и организационного обеспечения.

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

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

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

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

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

92

Page 93: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

– развитие во времени. Целесообразность – главная цель реализации информационной технологии состоит в повышении

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

Функциональные компоненты – это конкретное содержание процессов циркуляции и переработки информации.

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

Модели предметной области – совокупность описаний, обеспечивающие взаимопонимание между пользователями: специалистами предприятия и разработчиками.

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

Системные и инструментальные средства:– аппаратные средства;– системное программное обеспечение (ОС, СУБД);– инструментальное программное обеспечение (алгоритмические языки, системы программи-

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

информационно-технологических процессов: – взаимодействие с внешней средой – взаимодействие информационной технологии с объектами

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

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

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

2.11. Классификация информационных технологий

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

В свою очередь, операционные системы осуществляют командный, WIMP, SILK интерфейс. Классифицировать информационные технологии можно также по следующим признакам: спо-

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

По способу реализации информационные технологии делятся на традиционные и современные

93

Page 94: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

Электронный офис предусматривает наличие интегрированных пакетов прикладных задач, которые обеспечивают комплексную реализацию задач предметной области. В настоящее время все большее распространение приобретают электронные офисы, сотрудники и оборудование которых могут находиться в разных местах. Необходимость работы с документами, материалами и БД конкретного предприятия или учреждения в гостинице, транспорте, дома привела к появлению электронных офисов, включенных в соответствующие сети ЭВМ.

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

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

94

Page 95: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

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

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

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

95

Page 96: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

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

Специалисты выделяют ряд основных тенденций развития информационных технологий.

96

Page 97: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

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

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

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

2.12. Методические основы информационных технологий

Для большинства технологий характерной чертой их развития является стандартизация и унификация.

Стандартизация – нахождение решений для повторяющихся задач и достижение оптимальной степени упорядоченности.

Унификация – относительное сокращение разнообразия элементов по сравнению с разнооб-разием систем, в которых они используются.

Если в области традиционного материального производства уже давно сложилась система формирования и сопровождения стандартов, то в области информационных технологий многое предстоит сделать.

Главная задача стандартизации в рассматриваемой области – создание системы нормативно-справочной документации, определяющей требования к разработке, внедрению и использованию всех компонентов информационных технологий. На сегодняшний день в области информационных технологий наблюдается неоднородная картина уровня стандартизации. Для ряда технологических процессов характерен высокий уровень стандартизации (транспортирование информации), для других – он находится в зачаточном состоянии.

Многообразные стандарты и подобные им методические материалы можно упорядочить по следующим признакам:

1. По утверждающему органу:– официальные международные стандарты;– официальные национальные стандарты;– национальные ведомственные стандарты;– стандарты международных комитетов и объединений;

97

Page 98: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

– стандарты фирм-разработчиков;– стандарты «де-факто».2. По предметной области стандартизации:– функциональные стандарты (стандарты на языки программирования, интерфейсы, протоколы,

кодирование, шифрование);– стандарты на фазы развития (жизненного цикла) информационных систем (стандарты на

проектирование, материализацию, эксплуатацию, сопровождение).В зависимости от методического источника в качестве стандартов могут выступать метод,

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

Международный стандарт ISO/OSI разработан международной организацией по стандартизации (International Standards Organization - ISO), предназначен для использования в области сетевого информационного обмена, представляет эталонную семиуровневую модель, известную как модель OSI (связь открытых систем). Первоначально усилия были направлены на разработку структуры (модели) протоколов связи цифровых устройств. Основная идея была связана с разбиением функций протокола на семь различных категорий (уровней), каждая из которых связана с одним более высоким и с одним более низким уровнем (за исключением самого верхнего и самого нижнего). Идея семиуровневого открытого соединения состоит не в попытке создания универсального множества протоколов связи, а в реализации «модели», в рамках которой могут быть использо-ваны уже имеющиеся различные протоколы. В последнее время достигнут значительный прогресс в реализации различных типов протоколов, о чем говорит успешное функционирование многих сетей передачи данных, например, Интернета.

Международный стандарт ISO/IEC 12207:1995-08-01 – базовый стандарт процессов жизненного цикла программного обеспечения, ориентированный на различные его виды, а также типы инфор-мационных систем, куда программное обеспечение входит как составная часть. Разработан в 1995 году объединенным техническим комитетом ISO/IEC JTC1 «Информационные технологии, подкомитет SC7, проектирование программного обеспечения». Включает описание основных, вспомогательных и организационных процессов.

Основные процессы программного обеспечения:– процесс приобретения, определяющий действия покупателя, приобретающего информационную

систему, программный продукт или его сервис;– процесс поставки, регламентирующий действия поставщика, снабжающего указанными выше

компонентами;– процесс разработки, определяющий действия разработчика принципов построения программного

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

ционную систему в интересах пользователей и включающий помимо требований инструкции по эксплуатации консультирование пользователей и организацию обратной связи с ними;

– процесс сопровождения, регламентирующий действия персонала по модификации программного продукта, поддержке его текущего состояния и функциональной работоспособности.

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

Степень обязательности для организации, принявшей решение о применении ISO/IEC 12207, обусловливает ответственность в условиях торговых отношений за указание минимального набора

98

Page 99: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

наличием отдельных стандартов по данной тематике.ГОСТ 34 в качестве объекта стандартизации рассматривает автоматизированные системы

различных видов и все виды их компонентов, в том числе программное обеспечение и базы данных. Стандарт в основном рассматривает проектные документы, что отличает его от стандарта ISO/IEC 12207. В структуре стандарта выделяют стадии и этапы разработки автоматизированных систем.

Рассмотрим краткую характеристику:1. Формирование требований к автоматизированной системе:– обследование объекта и обоснование необходимости создания автоматизированной системы;– формирование требований пользователя к автоматизированной системе;– оформление отчета о выполненной работе и заявки на разработку автоматизированной

системы (тактико-технического задания).2. Разработка концепции автоматизированной системы:– изучение объекта;– проведение необходимых научно-исследовательских работ;– разработка вариантов концепции автоматизированной системы, удовлетворяющей требованиям

пользователя;– оформление отчета о выполненной работе.3. Техническое задание:– разработка и утверждение технического задания.4. Эскизный проект:– разработка предварительных проектных решений по системе и ее частям;– разработка документации на автоматизированную систему и ее части.5. Технический проект:– разработка проектных решений по системе и ее частям;– разработка документации на автоматизированную систему и ее части;– разработка и оформление документации на поставку изделий для комплектования автомати-

зированной системы и/или технических требований (технических заданий) на их разработку;– разработка заданий на проектирование в смежных частях проекта объекта автоматизации.6. Рабочая документация:– разработка рабочей документации на систему и ее части;– разработка или адаптация программ.7. Ввод в действие:– подготовка объекта автоматизации к вводу автоматизированной системы в действие;– подготовка персонала;– комплектация автоматизированной системы поставляемыми изделиями (программными,

техническими и информационными средствами);– строительно-монтажные работы;– пуско-наладочные работы;– предварительные испытания;– опытная эксплуатация;– приемочные испытания.

99

Page 100: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

8. Сопровождение автоматизированной системы:– выполнение работ в соответствии с гарантийными обязательствами;– послегарантийное обслуживание.ГОСТ 34 содержит обобщенную понятийную и терминологическую систему, общую схему

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

Методика Oracle CDM (Custom Development Method) является развитием ранее разработанной версии Oracle CASE-Method, известной по использованию Designer/2000. Она ориентирована на разработку прикладных информационных систем под заказ. Структурно построена как иерархическая совокупность этапов, процессов и последовательностей задач.

Этапы:– стратегия (определение требований);– анализ (формирование детальных требований);– проектирование (преобразование требований в спецификации);– реализация (разработка и тестирование приложений);– внедрение (установка, отладка и ввод в эксплуатацию);– эксплуатация (поддержка, сопровождение, расширение).Процессы:– RD – определение производственных требований;– ES – исследование и анализ существующих систем;– ТА – определение технической архитектуры;– DB – проектирование и построение базы данных;– MD – проектирование и реализация модулей;– CV – конвертирование данных;– DO – документирование;– ТЕ – тестирование;– TR – обучение;– TS – переход к новой системе;– PS – поддержка и сопровождение.Процессы состоят из последовательностей задач, причем задачи разных процессов взаимосвязаны

ссылками.Методика не предусматривает включение новых задач, удаление старых, изменение

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

представляет CORBA (Common Object Request Broker Architecture) – стандарт в виде набора специ-фикаций для промежуточного программного обеспечения (middleware) объектного типа. Его автором является международный консорциум OMG (Object Management Group), объединяющий более 800 компаний (IBM, Siemens, Microsoft, Sun, Oracle и др.). OMG разработал семантический стандарт, включающий 4 основных типа:

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

пол);– типы, описывающие конкретные значения операций;– подтипы, уточняющие типы.

100

Page 101: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

На основе этих понятий OMG определил объектную модель, спецификацию для развития стандарта CORBA, постоянно развиваемую. В настоящее время CORBA состоит из 4 основных частей:

– Object Request Broker (посредник объектных запросов);– Object Services (объектные сервисы);– Common Facilities (общие средства);– Application and Domain Interfaces (прикладные и отраслевые интерфейсы).Параллельно с CORBA корпорацией Microsoft был разработан стандарт COM/DCOMB

(Component Object Model/Distributed СОМ), предназначенный для объединения мелких офисных программ. Основным недостатком данного стандарта была ориентация на Windows и Microsoft. Корпорация Microsoft долгое время не присоединялась к OMG и развивала собственный стандарт. Однако жизнь заставила приступить к мирным переговорам. OMG взаимодействует с другими центрами стандартизации: ISO, Open Group, WWW консорциум, IEEE и многими другими. CORBA стал неотъемлемой частью распределенных объектных компьютерных систем.

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

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

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

Среди стандартов проектирования бизнес-процессов можно отметить следующие: семейство стандартов IDEF (Integration Definition for Function), RUP (компании Rational Software), Catalysis (компании Computer Associates). Каждый из этих стандартов базируется на исходных понятиях.

Использование стандартов проектирования бизнес-процессов позволяет унифицировать процесс абстрагирования и формализации представления предметной области. Мощным методологическим средством в этой области является концепция CALS (Continuous Acquisition and Life cycle Support). Основные аспекты данной концепции:

– компьютеризация основных процессов создания информации;– интеграция информационных процессов, направленная на совместное и многократное

использование одних и тех же данных;– переход к безбумажной технологии организации бизнес-процессов.В методологии CALS существуют две составные части: компьютеризированное интегрированное

производство (КИП) и интегрированная логистическая поддержка (ИЛП).

101

Page 102: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

ментации (САПР-К, САПР-Т, CAD/CAM);– системы автоматизированной разработки эксплуатационной документации (ETPD – Electronic

Technical Development);– системы управления проектами и программами (РМ);– системы управления данными об изделиях (PDM – Project Data Management);– интегрированные системы управления (MRP/ERP/SCM).Система интегрированной логистической поддержки предназначена для информативного соп-

ровождения бизнес-процессов на послепроизводственных стадиях жизненного цикла изделий от разработки до утилизации. Целью внедрения ИЛП является сокращение затрат на хранение и владение изделием. В состав ИЛП входят:

– система логистического анализа на стадии проектирования (Logistics Support Analysis);– система планирования материально-технического обеспечения (Order Administration, Invoicing);– электронная эксплуатационная документация и электронные каталоги;– система поддержки эксплуатации.Важной составляющей CALS является электронная подпись. Современный электронный тех-

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

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

Значительный прогресс достигнут в области стандартизации пользовательского интерфейса. Среди множества интерфейсов выделим следующие классы и подклассы:

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

каждый из которых регулируется своими стандартами. Графический двумерный интерфейс WIMP поддерживается следующими функциональными стандартами:

– ISO 9241-12-1998 (визуальное представление информации, окна, списки, таблицы, метки, поля и др.);

– ISO 9241-14-1997 (меню);– ISO 9241-16-1998 (прямые манипуляции);– ISO/IES 10741-1995 (курсор);– ISO/IES 12581-(1999–2000) (пиктограммы).Стандарты, затрагивающие эргономические характеристики, являются унифицированными по

отношению к классам и подклассам:– ISO 9241-10-1996 (руководящие эргономические принципы, соответствие задаче, контроли-

руемость, соответствие ожиданиям пользователя, толерантность к ошибкам, настраиваемость, 102

Page 103: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

изучаемость);– ISO/IES 13407-1999 (обоснование, принципы, проектирование и реализация ориентированного

на пользователя проекта);– ГОСТ Р ИСО/МЭК 12119-2000 (требования к практичности, понятность, обозримость, удобство

использования);– ГОСТ Р ИСО/МЭК 9126-93 (практичность, понятность, обучаемость, простота использования).Оценивая вышеприведенные стандарты, необходимо подчеркнуть, что эффективность является

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

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

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

2.13. Перспективы развития и использования информационных технологий

Информационные технологии стали важной сферой производственной деятельности, характе-ризующейся нарастающей динамикой роста и оказывающей непосредственное влияние на развитие всей экономики. За последнее время в области информационных технологий произошли следующие кардинальные изменения: бурное расширение и распространение Интернета, интенсивное развитие мобильной связи и ее интеграция с Интернетом, внедрение промышленных методов разработки программного обеспечения, прогресс в новых направлениях информационных технологий (биоинформатика, квантовая информатика). Уникальность информационного производства заклю-чается в оптимальном сочетании инженерно-технологической и интеллектуально-творческой деятельности. Это означает, что переход к высоким информационным технологиям является иск-лючительно сложной задачей. О сложности проблем, стоящих перед информационным обществом говорил в своих трудах академик А.П. Ершов: «Потребовалось примерно полтора века, чтобы начиная с Эйлера, построить современное здание математического анализа и на его основе создать науку инженерного конструирования, прежде всего машин и сооружений. Нашему и следующему поко-лениям отпущено не более пяти десятков лет на то, чтобы решить соразмерную задачу по строительству теории программирования и на его основе создать науку инженерного конструирования автоматизированных рабочих мест, роботов и других современных машин». В настоящее время

103

Page 104: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

Факторы, являющиеся наиболее важными в дальнейшем развитии информационной индустрии:– создание полноценного промышленного информационного производства, соединяющего

научное (теоретическое), исследовательское и производственное направления;– развитие методов, технологий, навыков и инструментальных средств, ориентированных на

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

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

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

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

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

– разработка корректных математических моделей и методов моделирования информационных систем, позволяющих решать задачи их оптимизации;

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

– подготовка высококвалифицированных профессиональных кадров. Спецификой информа-ционной индустрии является коллективный труд, вовлекающий в производство различных специалистов: руководителей проекта (групп), бизнес-аналитиков, прикладных и системных программистов, сетевых аналитиков и проектировщиков, аналитиков и проектировщиков баз данных, специалистов по качеству, специалистов по тестированию. Проблема подготовки кадров связана с интенсивным развитием информационной отрасли и, как следствие, с быстрым устаре-ванием инструментальных средств. В международном образовании появилось новое направление подготовки кадров в области информационных технологий «Computing», объединившее «Computer Science» и «Computer Engineering».

104

Page 105: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

1. Составьте логическую схему базы знаний по теме юниты:

105

Page 106: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

2. Назовите состав системного программного обеспечения:_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

3. Назовите виды чисел, используемых в ЭВМ:_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

4. Назовите основные логические операции:_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

5. Назовите основные характеристики систем программирования:_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

6. Назовите назначения офисного комплекса Lotus Notes:___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

7. Назовите основные виды совместного доступа к ресурсам:______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

106

Page 107: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

8. Назовите основные методы и средства технологии программирования:______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

9. Назовите модели жизненного цикла программного средства:_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

10. Назовите назначение модульного программирования:______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

11. Назовите фазы информационного цикла и их модели:_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

12. Определите основные задачи информационных технологий:_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

13. Назовите компоненты объектно-ориентированной технологии проектирования инфор-мационной системы:____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

107

Page 108: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

ТРЕНИНГ УМЕНИЙ

Пример выполнения упражнения тренинга на умение № 1

Задание

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

Решение

Алгоритм может быть:– записан на естественном языке;– изображен в виде блок-схемы;– записан на алгоритмическом языке.Схема алгоритма – графическое представление алгоритма, дополненное элементами словесной

записи. Каждый пункт алгоритма отображается на схеме некоторой геометрической фигурой – блоком. Правило выполнения схем алгоритмов регламентирует ГОСТ 19.002–80 (Единая система программной документации).

Решите самостоятельно следующие задания:

Задание 1.1

Назовите особенности линейной структуры алгоритмов.______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Задание 1.2

Назовите особенности разветвляющейся структуры алгоритмов.___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

108

Page 109: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Задание 1.3

Назовите особенности циклической структуры алгоритмов._____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Пример выполнения упражнения тренинга на умение № 2

Задание

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

Системы программирования включают:– компилятор (транслятор);– интегрированную среду разработки программ (не всегда);– отладчик;– средства оптимизации кода программ;– набор библиотек;– редактор связей;– сервисные средства (работа с библиотеками, текстовыми файлами);– справочные системы;– систему поддержки и управления продуктами программного комплекса.Назовите основные особенности компилятора.

Решение

Компилятор – программа, выполняющая компиляцию программных модулей. В отличие от интерпретатора компилятор только преобразует программу, составленную на языке программи-рования высокого уровня, в программу на машинном языке или языке, близком к машинному, не участвуя в ее исполнении. На вход компилятора поступает исходный модуль, который после компиляции преобразуется в объектный модуль. Компилятор является неотъемлемой частью системы программирования. Существуют различные виды компиляторов:

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

109

Page 110: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

Решите самостоятельно следующие задания:

Задание 2.1

Определите назначение отладчика.___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Задание 2.2

Дайте характеристику редактора связей.________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Задание 2.3

Дайте характеристику основных сервисных средств.________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

110

Page 111: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Пример выполнения упражнения тренинга на умение № 3

Задание

Назовите назначение и основные виды деловой графики.

Решение

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

– гистограмма – группа столбцов, пропорциональных по высоте определенным числовым значениям;

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

прямых линий;– временная диаграмма – последовательность операций или процессов определенной длительности

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

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

Решите самостоятельно следующие задания:

Задание 3.1

Охарактеризуйте изобразительную графику.______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Задание 3.2

Охарактеризуйте инженерную графику.______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

111

Page 112: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Задание 3.3

Охарактеризуйте научную графику.________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Пример выполнения упражнения тренинга на умение № 4

Задание

Назовите назначение и основные особенности офисного комплекса Lotus Notes.

Решение

Lotus Notes – офисный комплекс, разработанный фирмой Lotus Development, поддерживает следующие типы данных: текстовые, числовые, дата/время, ключевые поля; RTF-поля для хранения текста, таблиц, графических, аудио- и видеоданных или OLE-объектов.

Интеграция компьютерных программ осуществляется через: Clipboard; экспорт/импорт файлов; механизм OLE, драйверы Datalens для доступа к внешним базам данных INFORMIX, ORACLE, SQL SERVER. Для защиты информации в Lotus Notes используется схема шифрования RSA Public Key/PrivateKey, обеспечивающая наивысший уровень защиты, доступный приложениям типа «клиент-сервер». Для подтверждения подлинности документов используются электронные подписи. Для защиты особо важной информации предусмотрены дополнительные возможности, среди которых:

– хранение промежуточных версий документов;– хранение списка пользователей, редактировавших документ;– шифрование всех данных, передаваемых по сети;– шифрование хранимых данных, почты;– система паролей доступа.Поиск информации осуществляется по ключевым полям. Имеется возможность ведения архивов

внутренних и внешних документов. С программным продуктом поставляется ряд шаблонов, таких как Дискуссия, Обслуживание клиентов, Хранилище документов и др. Все они имеют практическое применение и могут быть легко приспособлены к конкретным потребностям. База данных может содержать разноформатные документы системы Notes. Кроме того, базы данных содержат макросы, которые автоматизируют работу, бланки, используемые для ввода информации в сложные документы, а также просматриваемые отчеты из документов базы данных.

112

Page 113: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

В состав пакета Lotus Notes входят три основных элемента:– средства маршрутизации и обработки;– средства обеспечения защиты/управления;– архитектура базы данных продукта.Lotus Notes обладает развитыми средствами создания интерфейсов (давая возможность встраивать

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

Решите самостоятельно следующие задания:

Задание 4.1

Назначение систем автоматизации бухгалтерской деятельности._________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Задание 4.2

Основные характеристики программного продукта Excel._________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Задание 4.3

Системы оптического распознавания символов._______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Пример выполнения упражнения тренинга на умение № 5

Задание

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

Назовите назначение частотного принципа.

113

Page 114: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

Решение

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

Решите самостоятельно следующие задания:

Задание 5.1

Дайте характеристику принципа модульности.______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Задание 5.2

Дайте характеристику принципа функциональной избирательности.

________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Задание 5.3

Дайте характеристику принципа функциональной избыточности.______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

114

Page 115: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

ГЛОССАРИЙ

№п/п

Новое понятие Содержание

1 2 3

1Автоматизированная

информационная система

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

2 Алгоритм

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

3 Базовая структура алгоритма

определенный набор блоков и стандартных способов их соединения для выполнения типичных последовательных действий

4 Базовое программное обеспечение

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

5 Библиотека программпрограммный продукт, содержащий собрание процедур, функций, макросов, предназначенных для использования при разработке программ в определенной среде программирования

6 Высказывание некоторое предложение, о котором можно утверждать, что оно истинно или ложно

7 Декомпозиция

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

8Жизненный цикл

программного обеспечения

процесс его создания и применения от начала до конца

9 Информационная технология

совокупность методов и способов получения, обработки, представ-ления информации, направленных на изменение ее состояния, свойств, формы, содержания и осуществляемых в интересах пользователей

10 Метаобъекты базовые компоненты для проектирования модели предметной области

11 Модель представления

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

12 Модуль

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

13 Нисходящее программирование

способ разработки программ, при котором программирование ведется методом «сверху вниз», от общего к деталям

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

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

15 Операционные оболочки

специальные программы, предназначенные для облегчения общения пользователя с командами ОС

16 Отладчик программный модуль, который позволяет выполнить основные

115

Page 116: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

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

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

1 2 3

18Прикладное программное обеспечение

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

19 Программное обеспечение

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

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

21 Процедурное программирование

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

22 Растровое изображение совокупность разноцветных точек

23 Редактирование связей

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

24 САПР

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

25Сервисное

программное обеспечение

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

26 Сетевая ОС комплекс программ, обеспечивающий обработку, передачу и хранение данных в сети

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

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

28Системное

программное обеспечение

совокупность программ и программных комплексов для обеспе-чения работы компьютера и вычислительных сетей

29 Системы обеспечения принятия решений

системы, использующие модели объекта управления, опирающиеся на вычислительные или имитационные модели и расчетные методы

30 Справочная системапрограммное средство, предназначенное для предоставления пользователю информации о некотором приложении и о порядке работы с ним в интерактивном режиме

31 Стандартизация нахождение решений для повторяющихся задач и достижение оптимальной степени упорядоченности

32 Технология программирования

технология разработки программного средства как совокупность технологических процессов его создания – от момента зарождения идеи о данном программном средстве до составления необходимой программной документации

33 Трансляторпрограмма или устройство, анализирующие команды или операторы исходной программы и немедленно выполняющие их

116

Page 117: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

34 Унификация относительное сокращение разнообразия элементов по сравнению с разнообразием систем, в которых они используются

35 Утилиты программы, служащие для выполнения вспомогательных операций обработки данных или обслуживания компьютеров

36 Функциональные спецификации

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

37 Функция

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

38 Эксплуатационные спецификации

сведения о быстродействии программного обеспечения, затратах памяти, требуемых технических средствах, надежности

117

Page 118: sga-help.ru€¦  · Web viewГуманитарная. Академия. Дистанционное образование ________________________________________________________

ИНФОРМАТИКА

ЮНИТА 3

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ И ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ

Ответственный за выпуск Е.Д. КожевниковаКорректор М.Л. Демченко

Операторы компьютерной верстки: Н.В. Гольдина, А.В. Митряхина_____________________________________________________________________________________

НОУ «Современная Гуманитарная Академия»

118