Автор работы: Пользователь скрыл имя, 14 Апреля 2012 в 17:24, дипломная работа
Технология при переводе с греческого (techne) означает искусство, мастерство, умение, а это не что иное, как процессы.
Под процессом следует понимать определенную совокупность действий, направленных нa достижение поставленной цели. Процесс должен определяться выбранной человеком стратегией и реализоваться с помощью совокупности различных средств и методов.
Под технологией материального производства понимают совокупность средств и методов обработки, изготовления, изменения состояния, свойств, формы сырья или материала. Технология изменяет качество или первоначальное состояние материи в целях получения продукта.
Информация является одним из ценнейших ресурсов общества, наряду с такими традиционными материальными видами ресурсов, как нефть, газ, полезные ископаемые и др., а значит, процесс ее переработки по аналогии с процессами переработки материальных ресурсов можно воспринимать как технологию. Тогда справедливо следующее определение.
Информационная технология (ИТ) - совокупность средств и методов сбора, обработки и передачи данных (первичной информации) для получения информации нового качества о состоянии объекта, процесса или явления (информационного продукта).
Раздел 1. ПОНЯТИЕ ИНФОРМАЦИОННОЙ ТЕХНОЛОГИИ_ 3
1.1 Содержание информационной технологии_ 3
1.1.1 Определение информационной технологии_ 3
1.1.2 Инструментарий информационной технологии_ 4
1.1.3 Информационная технология и информационная система 5
1.2 Этапы развития информационных технологий_ 6
1.3 Особенности новых информационных технологий_ 8
1.4 Проблемы использования информационных технологий_ 9
Раздел 2. ВИДЫ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ_ 10
2.1 Общая классификация видов информационных технологий_ 10
2.1.1 Структура управления организацией_ 10
2.1.2 Классификация видов информационных технологий_ 12
2.2 Информационная технология обработки данных_ 16
2.3 Информационная технология управления_ 19
2.4 Автоматизация офисной деятельности_ 21
2.5 Информационная технология поддержки принятия решений_ 25
2.6 Экспертные системы_ 29
2.6.1 Типы экспертных систем_ 30
2.6.2 Виды знаний_ 31
2.6.3 Способы формализованного представления знаний в БЗ_ 32
2.6.4 Области применения ЭС_ 33
Раздел 3. ОРГАНИЗАЦИЯ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ_ 36
3.1 Модели информационных процессов передачи, обработки, накопления данных_ 36
3.1.1 Обобщенная схема технологического процесса обработки информации 36
3.1.2 Сбор и регистрация информации_ 37
3.1.3 Передача информации_ 40
3.1.4 Обработка информации_ 41
3.1.5 Хранение и накопление информации_ 43
3.2 Системный подход к решению функциональных задач и к организации информационных процессов_ 45
Раздел 4. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В РАЗЛИЧНЫХ ОБЛАСТЯХ ДЕЯТЕЛЬНОСТИ_ 48
4.1 Информационные технологии в системах организационного управления 48
5.3.1 ЭВМ при выборе решений в области технологии, организации, планирования и управления производством_ 48
5.3.2 Возможности использования новых информационных технологий в системах организационного управления 49
4.2 Информационные технологии в обучении_ 52
4.3 Автоматизированные системы научных исследований_ 54
4.4 Системы автоматизированного проектирования 55
4.5 Геоинформационные системы и технологии_ 56
Раздел 5. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ 59
5.1 Технологии распределенных вычислений (РВ) 59
5.2 Распределенные базы данных_ 61
5.3 Технологии и модели "Клиент-сервер" 63
5.3.1 Модель файлового сервера 64
5.3.2 Модель удаленного доступа к данным_ 65
5.3.3 Модель сервера базы данных_ 67
5.3.4 Модель сервера приложений_ 68
5.4 Технологии объектного связывания данных_ 69
5.5 Технологии реплицирования данных_ 72
Раздел 6. ТЕХНОЛОГИИ КОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ 75
6.1 Понятие о компьютерном математическом моделировании. 75
6.1.1 Общие сведения о компьютерном математическом моделировании 75
6.1.2 Классификация математических моделей_ 75
6.2 Этапы, цели и средства компьютерного математического моделирования 77
6.2.1 Моделирования случайных процессов 80
6.2.2 Особенности имитационного моделирования производственных систем 81
Раздел 7. ТЕХНОЛОГИИ СОЗДАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ_ 83
7.1 Общая характеристика технологии создания программного обеспечения 83
7.2 Современные методы и средства разработки программного обеспечения 87
7.1.1 Современные методы разработки ПО_ 87
7.1.2 Инструментарий технологии программирования 91
7.1.3 Средства для создания приложений_ 91
7.1.4 CASE-технологии_ 94
7.3 Языки и системы программирования 95
7.3.1 Развитие языков программирования 95
7.3.2 Современные системы программирования 99
7.4 Архитектура программных систем_ 101
Модульный принцип разработки программ обладает следующими преимуществами:
§ большую программу могут разрабатывать одновременно несколько исполнителей, и это позволяет сократить сроки ее разработки;
§ появляется возможность создавать и многократно использовать в дальнейшем библиотеки наиболее употребимых программ;
§ упрощается процедура загрузки больших программ в оперативную память, когда требуется ее сегментация;
§ возникает много естественных контрольных точек для наблюдения за осуществлением хода разработки программ, а в последующем для контроля за ходом исполнения программ;
§ обеспечивается более эффективное тестирование программ, проще осуществляются проектирование и последующая отладка.
Преимущества модульного принципа построения программ особенно наглядно проявляются на этапе сопровождения и модификации программных продуктов, позволяя значительно сократить затраты сил и средств на реализацию этого этапа.
Структурное программирование
Актуальная для начального периода развития и использования ЭВМ проблема разработки программ, занимающих минимум основной памяти и выполняющихся за кратчайшее время, в последующем в связи резким падением стоимости аппаратной части ЭВМ, значительным возрастанием их быстродействия и объемов памяти сменилась необходимостью разработки и применения принципиально новых методов составления программ. Все это нашло свое воплощение в разработке принципа структурного программирования. Одной из целей структурного программирования было стремление облегчить разработку и отладку программных модулей, а главное - их последующее сопровождение и модификацию.
В настоящее время структурное программирование - это целая дисциплина, объединяющая несколько взаимосвязанных способов создания ясных, легких для понимания программ. Эффективность применения современных универсальных языков программирования во многом определяется удобством написания с их помощью структурных программ.
CASE-технологии
За последнее десятилетие в области средств автоматизации программирования сформировалось новое направление под общим названием CASE-технологии (Computer Aided Software Engineering).
CASE-технология представляет собой совокупность средств системного анализа, проектирования, разработки и сопровождения сложных программных систем, поддерживаемых комплексом взаимоувязанных инструментальных средств автоматизации всех этапов разработки программ. Благодаря структурным методам CASE-технология на стадиях анализа и проектирования обеспечивает разработчиков широкими возможностями для различного рода моделирования, а централизованное хранение всей необходимой для проектирования информации и контроль за целостностью данных гарантируют согласованность взаимодействия всех специалистов, занятых в разработке ПО.
Технологии RAD
В начале 80-х годов появилась методология, по которой разработка программы начиналась не после завершения процесса выработки окончательных требований к ней, а как только устанавливались требования на первый, “стартовый” (пилотный) вариант прикладной программы, позволяющий начать содержательную работу по ее реализации на компьютере.
Это дало пользователю возможность, получая уже с первых шагов конкретное представление о характере реализации задачи, уточнять ее постановку. Тем самым облегчался процесс экспериментального поиска нужного решения автоматизации задачи. Благодаря тесному взаимодействию разработчика с заказчиком (пользователем) на самом ответственном этапе создания прикладных программ между ними достигалось быстрое взаимопонимание цели поставленной задачи и возможности ее автоматизации в данных конкретных условиях. Это повышало скорость разработки программ и послужило основанием для названия такой технологии RAD (Rapid Application Development - быстрая разработка программ), которая получила широкое распространение.
Data Warehouse
Другое направление разработки прикладных программных средств, олицетворяющее собой современный подход к реализации широкого круга задач для принятия управленческих решений, базируется на концепции создания специального хранилища данных (Data Warehouse). Основное отличие концепции Data Warehouse от традиционного представления баз данных заключается в следующем:
§ во-первых, в том, что актуализация данных в Data Warehouse означает не обновление элементов информации, а добавление новых элементов к уже имеющимся (что расширяет возможности проведения различного рода сравнительного анализа);
§ во-вторых, в том, что наряду с информацией, непосредственно отражающей состояние системы управления, в Data Warehouse аккумулируются и метаданные.
Метаданные (данные о данных) облегчают возможность визуального представления содержимого Data Warehouse, позволяют, "перемещаясь" по хранилищу, быстро отбирать необходимые данные для последующей обработки.
Основные типы метаданных Data Warehouse отражают:
§ структуру и содержимое хранилища;
§ соответствие между исходными и выходными данными;
§ объемные характеристики данных;
§ критерии архивирования;
§ отношения между данными;
§ информацию по кодированию;
§ интервал жизни данных и т.п.
Концепция Data Warehouse поддерживается RAD средствами разработки прикладного ПО.
Концепция Data Warehouse обеспечивает возможность разработки программных приложений для поддержки процессов принятия решений с использованием OLAP-систем.
Система OLAP (On-Line Analytical Process) предоставляет возможность разработки информационных систем, ориентированных на yна организацию многомерных баз данных и создание корпоративных сетей, а также обеспечивает поддержку Web-технологий в сетях Internet/Intranet
Успешное применение инструментальных средств OLAP-систем объясняется быстротой разработки приложений, гибкостью и широкими возможностями в области доступа к данным и их преобразования. В настоящее время на рынке ПО предлагается большое число OLAP-стем, разработчиками которых являются различные фирмы, например IBM, Informix, Microsoft, Oracle, Sybase и др.
Инструментарий технологии программирования - программные продукты поддержки (обеспечения) технологии программирования.
В рамках этого направления сформировались следующие группы программных продуктов (рис. 7.2):
1) средства для создания приложений, включающие:
§ локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;
§ интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;
2) средства для создания информационных систем (CASE- технология), представляющие методы анализа, проектирования и создания программных систем и предназначенные для автоматизации процессов разработки и реализации информационных систем.
Рис. 7.2 - Классификация инструментария технологии программирования
Локальные средства разработки программ
Эти средства на рынке программных продуктов наиболее представительны и включают языки и системы программирования, а также инструментальную среду пользователя.
Язык программирования - формализованный язык для описания алгоритма решения задачи на компьютере.
Средства для создания приложений - совокупность языков и систем программирования, а также различные программные комплексы для отладки и поддержки создаваемых программ.
Языки программирования можно условно разделить на следующие классы (если в качестве признака классификации взять синтаксис образования конструкций языка):
§ машинные языки (computer language) - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
§ машинно-ориентированные языки (computer-oriented language) - языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);
§ алгоритмические языки (algorithmic language) - языки программирования, не зависящие от архитектуры компьютера (Паскаль, Си, Фортран, Бейсик и др.);
§ процедурно-ориентированные языки (procedure-oriented language) - языки программирования, где имеется возможность написания программы как совокупности процедур (подпрограмм);
§ проблемно-ориентированные языки (universal programming language) - языки программирования, предназначенные для решения задач определенного класса (Лисп, Пролог, Симула и др.);
§ интегрированные системы программирования.
Другой классификацией языков программирования является их деление на языки, ориентированные на реализацию основ структурного программирования, и объектно-ориентированные языки, поддерживающие понятие объектов и их свойств и методов обработки.
Программа, подготовленная на языке программирования, проходит этап трансляции, когда происходит преобразование исходного кода программы (source code) в объектный код (object code), который далее пригоден к обработке редактором связей. Редактор связей специальная программа, обеспечивающая построение загрузочного модуля (load module), пригодного к выполнению (рис. 7.3).
Рис. 7.3 - Схема процесса создания загрузочного модуля программы
Трансляция может выполняться с использованием средств компиляторов (compiler) или интерпретаторов (interpreter). Компиляторы транслируют всю программу, но без ее выполнения. Интерпретаторы, в отличие от компиляторов, выполняют пооператорную обработку и выполнение программы.
Существуют специальные программы, предназначенные для трассировки и анализа выполнения программ, так называемые отладчики (debugger). Лучшие отладчики позволяют осуществить трассировку (отслеживание выполнения программы в пооператорном варианте), идентификацию места и вида ошибок в программе, наблюдение за изменением значений переменных, выражений и т.п. Для отладки и тестирования правильности работы программ создается база данных контрольного примера.
Более мощным средством разработки программ являются системы программирования.
Системы программирования (programming system) включают:
§ компилятор;
§ интегрированную среду разработчика программ;
§ отладчик;
§ средства оптимизации кода программ;
§ набор библиотек (возможно с исходными текстами программ);
§ редактор связей;
§ сервисные средства (утилиты) для работы с библиотеками текстовыми и двоичными файлами;
§ справочные системы;
§ документатор исходного кода программы;
§ систему поддержки и управления проектом программного комплекса.
Средства поддержки проектов - новый класс средств разработки программного обеспечения, предназначенный для:
§ отслеживания изменений, выполненных разработчиками программ;
§ поддержки версий программы с автоматической разноской изменений;
§ получения статистики о ходе работ проекта.
Инструментальная среда пользователя представлена
специальными средствами, встроенными в пакеты прикладных программ, такими, как:
§ библиотека функций, процедур, объектов и методов обработки;
§ макрокоманды;
§ клавишные макросы; языковые макросы;
§ программные модули-вставки; конструкторы экранных форм и отчетов;
§ генераторы приложений; языки запросов высокого уровня;
§ языки манипулирования данными; конструкторы меню и многое другое.
Средства отладки и тестирования программ предназначены для подготовки разработанной программы к промышленной эксплуатации.
Интегрированные среды разработки программ
Дальнейшим развитием локальных средств разработки программ, являются интегрированные программные среды разработчиков.
Основное назначение инструментария данного вида - повышение производительности труда программистов, автоматизация создания кодов программ, обеспечивающих интерфейс пользователя графического типа, разработка приложений для архитектуры клиент-сервер, запросов и отчетов.
CASE-технологии - относительно новое направление, формировавшееся на рубеже 80-х годов.
CASE-технологии делятся на две группы:
§ встроенные в систему реализации, в которых все решения по проектированию и реализации привязаны к выбранной системе явления базами данных (СУБД);
§ независимые от системы реализации, в которых все решения по проектированию ориентированы на унификацию начальных этапов жизненного цикла, средств их документирования и обеспечивают большую гибкость в выборе средств реализации.
Основное достоинство CASE-технологии - поддержка коллективной работы над проектом за счет возможности работы в локальной сети разработчиков, экспорта/импорта любых фрагментов проекта, организационного управления проектом.
Некоторые CASE-технологии ориентированы только на системных проектировщиков и предоставляют специальные графические средства для изображения различного вида моделей:
§ диаграмм потоков данных (DFD - data flow diagrams) совместно со словарями данных и спецификациями процессов;
§ диаграмм "сущность-связь" (ERD - entity relationship diagrams), являющихся информационной моделью предметной области;
§ диаграмм переходов состояний (STD - state transition diagrams), учитывающих события и реакцию на них системы обработки данных.
Диаграммы DFD устанавливают связь источников информации с потребителями, выделяют логические функции (процессы) образования информации, определяют группы элементов данных и их хранилища (базы данных).
Описание структуры потоков данных, определение их компонентов хранятся в актуальном состоянии в словаре данных, который выступает как база данных проекта. Каждая логическая функция может детализироваться с помощью DFD нижнего уровня согласно методам исходящего проектирования.
Этими CASE-технологиями выполняются автоматизированное проектирование спецификаций программ (задание основных характеристик для разработки программ) и ведение словаря данных.
Другой класс CASE-технологий поддерживает только разработку программ, включая:
§ автоматическую генерацию кодов программ на основании их спецификаций;
§ проверку корректности описания моделей данных и схем потоков данных;
§ документирование программ согласно принятым стандартам и актуальному состоянию проекта;
§ тестирование и отладку программ.
Кодогенерация программ выполняется двумя способами: создание каркаса программ и создание полного продукта. Каркас программы служит для последующего ручного варианта редактирования исходных текстов, обеспечивая возможность вмешательства программиста; полный продукт не редактируется вручную.