Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatica_lektsii.doc
Скачиваний:
11
Добавлен:
20.04.2019
Размер:
887.3 Кб
Скачать
  • Серверы баз данных

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

    Примеры программ: MS SQL Server, Interbase, Sybase, Oracle, Pervasive, Informix SQL, Alligator SQL, MySQL.

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

    Общим для серверов баз данных является использование языка структурированных запросов SQL.

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

    1. Генераторы отчетов.

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

    Примеры программ: Crystal Reports, StimulReport.Net, FastReport, ReportSmith.

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

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

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

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

    • программы ведения архива отчетов и др.

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

    1. Текстовые процессоры.

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

    Примеры программ: Word, TeX.

    Развитием данного направления являются издательские системы

    1. Табличный процессор.

    Подготовка электронных таблиц, деловая графика, встроенные функции.

    Примеры программ: Excel, Quattro Pro, Lotus.

    1. Средства презентационной графики

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

    Примеры программ: Power Point.

    1. Графический процессор

    Подготовка растровых и векторных графических изображений.

    Примеры программ: Corel Draw, Adobe Photoshop.

    1. Интегрированные пакеты

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

    Примеры пакетов: MS Office фирмы Microsoft, OpenOffice и StarOffice фирмы Sun, WordPerfect Office фирмы Corel.

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

    • СУБД;

    • текстовый редактор;

    • табличный процессор;

    • органайзер;

    • средства поддержки электронной почты;

    • программы создания презентаций;

    • графический редактор.

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

    • полнота информационных технологий;

    • однотипный интерфейс для всех программ,

    • наличие единой языковой платформы для разработки программ,

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

    • возможность создания интегрированных документов.

    10.5.1.4Офисное по

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

    1. 0рганайзеры (планировщики)

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

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

    К ним относятся: CuneiForm, Lingvo, Magic Goody, Promt, FineReader.

    1. Коммуникационные программы.

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

    10.5.1.5Автоматизированное проектирование

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

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

    10.5.2.Системное по

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

    Без системного ПО аппаратура компьютера и компьютерной сети не сможет работать.

    Системное ПО состоит из базового и сервисного системного ПО (рис 12.5). Базовое ПО поставляется вместе с компьютером. Сервисное ПО приобретается дополнительно.

    Рис 12.5. Виды системного ПО

    Платформа – сочетание аппаратуры компьютера и операционной системы.

    10.5.2.1Базовое системное по

    В базовое ПО входят:

    • операционная система,

    • операционные оболочки,

    • сетевые средства.

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

    Ведущее положение на ПК занимает ОС Windows разных версий фирмы Microsoft. На ПК Macintosh используется ОС MacOS. Фирма IBM разработала ОС OS/2, которая сейчас на ПК не используется. ОС Unix разработала и поддерживает фирма Bell Laboratory. Развивается ОС Linux.

    Все ОС сейчас являются:

    • многопоточными – способны чередовать несколько цепочек команд,

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

    • графическими – управляют каждой точкой на экране,

    • 32-64 разрядными – используют для хранения адреса памяти 32-64 двоичных разряда,

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

    Сравнение ОС осуществляется по следующим характеристикам процесса обработки информации:

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

    • функциональные возможности вспомогательных программ в составе операционной системы;

    • возможность архивирования файлов;

    • поддержка многозадачного режима работы;

    • поддержка сетевого программного обеспечения;

    • наличие компрессии диска;

    • наличие качественной документации,

    • условия и сложность процесса инсталляции.

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

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

    Наиболее популярны следующие виды текстовых оболочек операционной системы: Проводник, Total Commander.

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

    10.5.2.2Сервисное системное по

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

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

    • программы диагностики работоспособности компьютера;

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

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

    • программы обслуживания сети.

    Эти программы часто называют утилитами.

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

    Примеры комплектов утилит: Norton Utilities фирмs Symantec, Checkit PRO Deliuxe фирмs Touch Stone, Dr Hardware.

    Наиболее известные антивирусные программы: AVP лаборатории Касперского, DrWeb компании Доктор Веб, Norton Antivirus фирмы Symantec, NOD32 фирмы Eset Software, Panda фирмы Panda Software, McAfee VirusScan, Ad-Aware.

    10.5.3.Инструментарий программирования

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

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

    Сформировались следующие группы инструментария программирования:

    • локальные средства, обеспечивающие выполнение отдельных работ по созданию программ

    • интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ

    • САSЕ-технология (Computer-Aided System Engineering), предостaвляющая методы анализа, проектирования и создания программных систем и предназначенная для автоматизации разработки информационных систем.

    10.5.3.1Локальные средства разработки программ

    Язык программирования - формализованный язык для описания алгоритма решения задачи на компьютере.

    Языки программирования можно исторически разделить на классы:

    • машинные языки - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);

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

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

    Последние, в свою очередь, подразделяются на поколения:

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

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

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

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

    П рограмма, подготовленная на алгоритмическом языке, проходит несколько этапов, реализуемых несколькими локальными средствами (рис 12.6).

    Рис 12.6. Этапы преобразования программы

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

    Объектный код - текст отдельной программы на машинном языке или на языке ассемблера.

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

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

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

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

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

    Средства поддержки проектов предназначены для:

    • отслеживания изменений, выполненных разработчиками программ;

    • поддержки версий программы с автоматической разноской изменений;

    • получения статистики о ходе работ проекта.

    10.5.3.2Интегрированные среды

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

    • транслятор;

    • редактор связей;

    • графическую среду разработчика;

    • отладчик;

    • средства оптимизации кода программ;

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

    • сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;

    • справочные системы;

    • документатор исходного кода программы;

    • систему поддержки и управления проектом программного комплекса.

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

    • библиотека функций, процедур, объектов и методов обработки;

    • макрокоманды;

    • клавишные и языковые макросы;

    • программные модули-вставки;

    • языки запросов высокого уровня;

    • языки манипулирования данными;

    • построители объектов,

    • конструкторы экранных форм, меню и отчетов;

    • генераторы приложений;

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

    К интегрированным средам относятся: С++ Builder и Visual Basic фирмы Microsoft, Delphi фирмы Borland, Oracle одноименной фирмы.

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

    10.5.3.3Саsе-технология

    САSЕ - технология сформировалась в 80-х годах ХХ века. САSЕ расшифровывается как Computer-Aided System Engineering – проектирование систем с помощью компьютера.

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

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

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

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

    Устойчивое положение они занимают в следующих областях:

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

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

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

    • диаграмма/ потоков данных (DFD - data flow diagrams) совместно со словарями данных и спецификациями процессов;

    • диаграмма "сущность-связь" (ERD - entity relationship diagrams), являющуюся инфологической моделью предметной области;

    • диаграмма переходов состояний (STD - state transition diagrams), учитывающую события и реакцию на них системы обработки данных.

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

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

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

    Другой класс САSЕ-технологий поддерживает только разработку программ, включая:

    • автоматическую генерацию кодов программ на основании их спецификаций;

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

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

    • тестирование и отладку программ.

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

    Большинство САSЕ-технологий использует также метод "прототипов" для быстрого создания программ на ранних этапах разработки. Кодогенерация программ осуществляется автоматически - до 85 - 90% текстов на языках высокого уровня.

    К CASE – средствам, например, относятся BPWin, ERWin, Rational Rose, Embarcadero, xCase.

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

    1) АНАЛИЗ И ПРОЕКТИРОВАНИЕ. Средства данной группы используются для создания спецификаций системы и для ее проектирования. Их целью является определение системных требований и свойств, которыми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответствующими свойствами. На выходе продуцируются спецификации компонент системы и интерфейсов, связывающих эти компоненты, а также "калька" архитектуры системы и детальная "калька" проекта, включающая алгоритмы и определения структур данных. К таким средствам относятся: CASE.Аналитик (Эйтэкс), The Developer (ASYST Technologies), POSE (Computer Systems Advisers), ProKit*Workbench (McDonnell Douglas), Excelerator (Index Technology), Design-Aid (Nastec), Design Machine (Optima), MicroStep (Meta Systems), vsDesigner (Visual Software), Analist/Designer (Yourdon), Design/IDEF (Meta Software), BPWin (Logic Works), SELECT (Select Software Tools), System Architect (Popkin Software & Systems), Westmount I-CASE Yourdon (Westmount Technology B.V. & CADRE Technologies), CASE/4/0 (microTOOL GmbH).

    2) ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ И ФАЙЛОВ. Средства данной группы обеспечивают логическое моделирование данных, автоматическое преобразование моделей данных в Третью Нормальную Форму, автоматическую генерацию схем БД и описаний форматов файлов на уровне программного кода: ERWin (Logic Works), Chen Toolkit (Chen & Asssociates), S-Designor (SDP), Designer2000 (Oracle), Silverrun (Computer Systems Advisers).

    3) ПРОГРАММИРОВАНИЕ. Средства этой группы поддерживают этапы программирования и тестирования, а также автоматическую кодогенерацию из спецификаций, получая полностью документированную выполняемую программу: COBOL 2/Workbench (Mikro Focus), DECASE (DEC), NETRON/CAP (Netron), APS (Sage Software). Помимо диаграммеров различного назначения и средств поддержки работы с репозитарием, в эту группу средств включены и традиционные генераторы кодов, анализаторы кодов, генераторы наборов тестов, анализаторы покрытия тестами, отладчики.

    4) СОПРОВОЖДЕНИЕ И РЕИНЖИНИРИНГ. К таким средствам относятся документаторы, анализаторы программ, средства реструктурирования и реинжениринга: Adpac CASE Tools (Adpac), Scan/COBOL u Superstructure (Computer Data Systems), Jnspector/Recoder (Language Technology). Их целью является корректировка, изменение, анализ, преобразование и реинжениринг существующей системы. Средства позволяют осуществлять поддержку всей системной документации, включая коды, спецификации, наборы тестов; контролировать покрытие тестами для оценки полноты тестируемости; управлять функционированием системы и т.п. Особый интерес представляют средства обеспечения мобильности и реинжиниринга. К средствам миграции относятся трансляторы, конверторы, макрогенераторы и др., позволяющие обеспечить перенос существующей системы в но­вое операционное или аппаратурное окружение. Средства реинжиниринга включают:

    • статические анализаторы для продуцирования схем системы ПО из ее кодов, оценки влияния модификаций (например,"эффекта ряби" -внесение изменений с целью исправления ошибок порождает новые ошибки);

    • динамические анализаторы (обычно, компиляторы и интерпретаторы с встроенными отладочными возможностями);

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

    • редакторы кодов, автоматически изменяющие при редактировании и все предшествующие коду структуры (например, спецификации);

    • средства доступа к спецификациям, их модификации и генерации нового (модифицированного) кода;

    • средства реверсного инжиниринга, транслирующие коды в спецификации.

    5) ОКРУЖЕНИЕ. Средства поддержки платформ для интеграции, создания и придания товарного вида CASE-средствам: Multi/Cam (AGS Management Systems), Design/OA (Meta Software).

    6) УПРАВЛЕНИЕ ПРОЕКТОМ. Средства, поддерживающие планирование, контроль, руководство, взаимодействие, т.е. функции, необходимые в процессе разработки и сопровождения проектов: Project Workbench (Applied Business Technology).

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

    Программирование - теоретическая и практическая деятельность, связанная с созданием программ для компьютеров.

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

    1. постановка задачи,

    2. структуризация системы,

    3. организация данных,

    4. алгоритмизация,

    5. кодирование,

    6. отладка,

    7. внедрение.

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

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

    • Среды пользователей,

    • Среды заказчиков.

    • Вычислительной среды ,

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

    Вовлекайте пользователей в процесс проектирования системы

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

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

    МАКСИМАЛЬНО ИСПОЛЬЗУЙТЕ СЕРВИСНЫЕ СРЕДСТВА АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ

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

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

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

    ВСЕ ДОГОВОРЕННОСТИ ДОЛЖНЫ ОФОРМЛЯТЬСЯ В ОФИЦИАЛЬНОМ ПОРЯДКЕ

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

    НЕОБХОДИМО ВСЕСТОРОННЕ АНАЛИЗИРОВАТЬ ЭФФЕКТЫ, СВЯЗАННЫЕ С ВНЕДРЕНИЕМ СИСТЕМЫ

    Подобный подход к проектированию можно проиллюстрировать на примере разработки языка Ада. В начале 70-х годов министерство обороны США объявило о создании нового языка, которым предполагалось заменить другие языки программирования во всех приложениях, связанных с решением задач военного характера. Еще до составления окончательного перечня функциональных требований и спецификаций было разработано несколько версий языка, которые анализировались и оценивались группой сторонних экспертов. Был объявлен конкурс на создание языка. Его победителем стала французская фирма Honeywell-Bull. После того как работа над языком была за­вершена, для его оценки вновь были приглашены сторонние эксперты. Много различных групп приняло участие в экспериментах по практической реализации некоторых наиболее нетрадиционных особенностей языка. Наконец, когда стало ясно, что Ада в целом отвечает предъявляемым требованиям, различные военные ведомства начали заключать контракты на приобрете­ние компиляторов языка.

    11.2.Структуризация системы

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

    СЛЕДУЕТ СТРЕМИТЬСЯ К СОЗДАНИЮ ПОЛНОЙ КАРТИНЫ

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

    ПРОЦЕСС ПРОЕКТИРОВАНИЯ ДОЛЖЕН БЫТЬ СТРУКТУРИРОВАН.

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

    Рис 13.1. Схема проекта системы

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

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

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

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

      4. Отчеты. Описываются формы, определяются периодичность и общее содержание отчетов, выдаваемых системой.

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

      1. Технические средства. Описывается конфигурация технических средств, указывается требуемый объем оперативной памяти, требования к внешним устройствам и т. д.

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

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

    3. Связь с внешней средой. Описывается взаимодействие пользователей с системой.

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

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

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

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

    4. Качество системы.

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

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

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

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

    5. Документация по системе.

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

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

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

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

    ПЕРТ является прямой транскрипцией английского сокращения PERT, составленного из первых букв названия «program evaluation review technique» (методика анализа и корректирования планов). ПЕРТ-диаграмма представляет собой граф, содержащий описания работ и событий и характеризующий процесс взаимодействия работ во времени. Ребра графа обозначают работы, его вершины — события. Обычно под событием понимается завершение одной работы и начало другой, причем вторая не может быть начата, прежде чем завершится первая. На рис. 13.2 приведен сокращенный вариант ПЕРТ-диаграммы_ описывающей процесс проектирования прикладной системы. Поставив в соответствие каждой работе ожидаемое время ее выполнения, можно определить максимальный по продолжительности путь от начальной до конечной вершины графа, который называют критическим путем проектирования системы.

    рис 13.2

    11.3.Организация данных

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

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

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

    Type TEN_BY_TWENTY = array[10,20] of real;

    Var A,B,C : TEN_BY_TWENTY;

    Запись на Паскале может быть определена следующим образом:

    type CUSTOMER = record

    NAME: string;

    ADDRESS: string;

    TELEPHONE: string;

    ACCOUNT_BALANCE: real;

    PAYMENT_DATE: integer

    end

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

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

    • Логическая организация данных: проектный уровень.

    • Представление данных: уровень языка реализации.

    • Физическая организация данных: машинный уровень.

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

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

    семья =отец, мать, ребенок ...

    отец = имя, возраст, профессия

    мать = имя, возраст, девичья фамилия,

    ребенок = имя, возраст, пол

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

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

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

    11.4.Алгоритмизация

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

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

    1. структурное программирование,

    2. схемы передач управления и

    3. управляющие таблицы.

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

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

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

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

    Конструкция следования имеет следующий вид:

    Р; Q

    Здесь Р и Q — простые предложения, обозначающие операции преобразования данных или информационного обмена, например такие, как ЧИТАТЬ, ПИСАТЬ или ВЫЧИСЛИТЬ

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

    Читать карту

    I [ечатать данные с нее, как заголовки столбцов, располагая их в верхней части

    страницы

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

    столбцов

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

    if ь2 - 4ас <0 { отрицательный дискриминант} then {уравнение не имеет действительных корней}

    печатать—сообщение—об—ошибке else {существуют два действительных корня}

    вычислить (-b ± V(b2 -4ac))/(2a) i печатать—корни

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

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

    while счетчик изменяется до 50do {печатать данные} читать карту печатать карту {эхо-печать}

    repeat {печатать карты с помощью:}

    читать карту

    печатать ее until конец—файла {найден}

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

    проверяйте корректность окончания циклов

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

    procedure обновление {последовательного главного файла} on конец_главного_файла печатать «файл пропущен» return on конец_файла_сообщений

    копировать остаток главного файла return

    читать главный файл while not конец—файла—сообщений do repeat

    читать сообщение

    проверить сообщение на правильность until найдено_правильное_сообщение while главный_ключ < ключ_сообщения do on конец.главного_файлаexit

    читать главный файл endwhile

    if найдена__соответствующая—запись

    обновить запись главного файла else

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

    11.4.2.Схемы передач управления

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

    На рис 13.3 представлены стандартные обозначения в блок-схемах.

    Рис 13.3

    базовые конструкции: следование, выбор и повторение. На рис. 13.4 показаны схемы этих управляющих конструкций. Каж­дая конструкция имеет единственный вход и единственный вы­ход.

    Рис 13.4

    12.Содержание

    1. Информатизация общества 2

    1.1. Понятие информации 2

    1.2. Переход к информационному обществу. 2

    1.3. Информационный рынок 3

    1.4. Информатика, предмет и задачи 3

    2. Введение в экономическую информатику 5

    2.1. Особенности экономической информации 5

    2.2. Принципы классификации и кодирования информации 6

    3. Классификация и тенденции развития ЭВМ 9

    3.1. Классификация ЭВМ (признаки) 9

    3.1.1. принципу действия 9

    3.1.2. Этапы создания 11

    3.1.3. Назначение 11

    3.1.4. Функциональные возможности 11

    3.2. Персональные компьютеры 12

    3.2.1. История создания ПК 12

    3.2.2. Свойства ПК 13

    4. Архитектура ПК 16

    4.1. Структура ПК 16

    4.2. Микропроцессор 17

    4.3. Системная шина 17

    4.4. Основная память 18

    4.5. Видеосистема 18

    4.6. Принтеры 19

    4.7. Поколение микропроцессоров. Их работа 20

    4.8. Жесткий и лазерный диски ???????? 21

    5. Компьютерные сети 22

    5.1. Назначение и классификация компьютерных сетей 22

    5.2. Локальные компьютерные сети (ЛВС) 23

    5.3. Глобальные сети (GAN) 24

    5.3.1. Глобальная финансовая сеть SWIFT. 24

    5.3.2. Глобальная сеть Internet 25

    5.4. Стандарты воздействия в компьютерной сети 27

    6. Операционная система Windows 30

    6.1. Основные положения 30

    6.2. Интерфейс пользователя 31

    6.3. Многозадачность 31

    6.4. Управление ресурсами 32

    6.5. Объектный подход 33

    6.6. Работа в сети 34

    6.7. Мультимедиа 34

    6.8. Структура интерфейса пользователя 34

    6.8.1. Окна 34

    6.8.2. Меню 35

    6.8.3. Панель задач. Папки Мой компьютер и корзина, панель управления 35

    7. Текстовый процессор 36

    7.1. Основные понятия 36

    7.1.1. Типовая структура интерфейса 36

    7.1.2. Структура электронного документа 36

    7.2. Обработка текста и документа 37

    7.2.1. Минимальный набор типовых операций 37

    7.2.2. Расширенный набор типовых операций 38

    7.3. Принципы подготовки бумажных и электронных документов 41

    7.3.1. Принципы создания документа 41

    7.3.2. Принципы форматирования документа 42

    8. Табличный процессор 43

    8.1. История развития табличного процессора 43

    8.2. Интерфейс табличного процессора 43

    8.2.1. Строки, столбцы, ячейки, адреса 43

    8.2.2. Блоки 44

    8.2.3. Окно, рабочий лист, текущая ячейка 44

    8.2.4. Типовая структура интерфейса 44

    8.3. Данные, хранимые в ячейках 45

    8.3.1. Типы входных данных 46

    8.3.2. Форматирование входных и выходных данных 47

    8.3.3. Уровни информации в ячейке 47

    8.4. Изменение ссылок при копировании формул 48

    8.4.1. Относительная и абсолютная адресация 48

    8.4.2. Правило относительной ориентации 49

    8.5. Обобщенная технология работы в табличном процессоре 49

    8.6. Объединение электронных таблиц 51

    8.6.1. Межтабличные связи 51

    8.6.2. Консолидация таблиц 51

    8.6.3. Объединение файлов 51

    8.7. Макросы в табличном процессоре 52

    9. Система управления базами данных 53

    9.1. Отличительные признаки СУБД 53

    9.2. Требования к организации базы данных 53

    9.3. Классификация БД 54

    9.4. Понятие объекта данных 56

    9.5. Структурные элементы БД 57

    9.6. Связи между наборами объектов и их типы 58

    9.7. Модель данных 60

    9.8. Иерархическая и сетевая модели данных 60

    9.9. Реляционная модель данных 64

    9.10. Правила Кодда 65

    9.11. Целостность связей 69

    9.12. Метод «сущность-связи» 71

    10. Программное обеспечение ЭВМ 72

    10.1. Основные понятия 72

    10.2. Категории специалистов по разработке и эксплуатации программ 73

    10.3. Качество программы 75

    10.4. Правовые методы защиты программ 76

    10.5. Классификация программного обеспечения (ПО) 78

    10.5.1. Прикладное ПО 78

    10.5.2. Системное ПО 83

    10.5.3. Инструментарий программирования 86

    11. Программирование 92

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

    11.2. Структуризация системы 94

    11.3. Организация данных 97

    11.4. Алгоритмизация 99

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

    11.4.2. Схемы передач управления 101

    12. Содержание 103

    106

  • Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]