Классификация программного обеспечения. Информационная система. Программное обеспечение информационной системы

Программное обеспечение информационных систем

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

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

  • Системное программное обеспечение (системные программы);
  • Прикладное программное обеспечение (прикладные программы);
  • Инструментальное обеспечение (инструментальные системы).

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

· В состав СПО входят операционные системы (ОС) и сервисные систем (СС).

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

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

ОС определяет производительность системы, степень защиты данных, выбор программ, с которыми можно работать на компьютере, требования к аппаратным средствам. Примерами ОС являются MS DOS (практически не используется), OS/2, семейство Unix, семейство Windows.

На рынке операционных систем представлены разработки различных фирм, которые различаются ориентацией на аппаратные средства, решение определенного круга задач, потребности потребителя и пр. Можно выделить операционные системы, обладающие определенными общими чертами: один производитель, единый подход к организации и функционированию и пр., что позволяет классифицировать их по семействам и линейкам. Например, можно выделить такие семейства как Windows (Microsoft ), Unix (различные разработчики), Solaris (Sun Microsystems ) и другие.

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

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

· многозадачность;

· поддержка работы в сетевой среде;

· наличие универсальной системы средств обмена данными между приложениями (буфер обмена, динамический обмен данными – DDE, связывание и встраивание объектов – OLE).

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

Cемейство Unix – это одна из самых первых ОС и в настоящее время является одной из альтернатив семейству ОС Windows . Unix была создана в Bell Telephone Laboratories в 70- е годы прошлого столетия. Основное отличие и преимущество этого семейства заключается в реализации для широкого круга аппаратных платформ – это первая действительно переносимая на различные аппаратные платформы операционная система. Unix ориентирована, прежде всего, на работу в больших локальных и глобальных сетях. В ней используются различные варианты графического интерфейса. Универсальность системы обеспечивается множеством прикладных программ.

В настоящее время существуют версии ОС Unix от различных производителей. Среди них наиболее известны коммерческие версии Sun и Solaris для компьютеров фирмы Sun, AIX для мини-компьютеров IBM, IRIX для компьютеров Silicon Graphics, свободно распространяемые FreeBSD и Linux для компьютеров платформы Intel.

Независимо от версии общими для Unix чертами являются:

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

· многозадачность;

· переносимость системы за счет написания ее ядра на языке С;

· наличие простого пользовательского интерфейса;

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

В отличие от Windows ОС Unix предъявляет повышенные требования к компьютерам и стоит значительно дороже Windows.

В настоящее время все большую популярность приобретает ОС Linux, которая является многозадачной, многопользовательской операционной системой с поддержкой национальных и стандартных клавиатур, поддерживает различные типы файловых систем, в частности, MS DOS, обеспечивает поддержку полного семейства протоколов TCP/IP для работы в сети Интернет.

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

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

Функции программных продуктов

Программное обеспечение бывает двух типов: системное и прикладное.

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

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

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

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

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

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

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

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

  • Организация взаимодействия пользователя с компьютером информационных систем;
  • Управление всеми информационными данными, введенными в ИС;
  • Использование прикладных программ ОС.

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

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

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

На видео – подробная информация о программном обеспечении информационных систем:

Защита информации

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

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

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

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

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

На видео – информация о программном обеспечение с SDL:

2. Программное обеспечение информационных систем

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

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

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

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

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

В состав базового (системного) ПО входят:

операционные системы;

сервисные программы;

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

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

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

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

Рис. 1. Базовое (системное) программное обеспечение

Однозадачные ОС предназначены для работы одного пользователя в каждый конкретный момент одной конкретной задачей. Типичным представителем таких операционных систем является MS-DOS (разработанная фирмой Microsoft). Многозадачные ОС обеспечивают коллективное использование ЭВМ в мультипрограммном режиме разделения времени (в памяти ЭВМ находится несколько программ - задач, - и процессор распределяет ресурсы компьютера между задачами). Типичными представителями подобного класса ОС являются: UNIX, OS 2 корпорации IBM, Microsoft Windows 95, Microsoft Windows NT и некоторые другие.

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

Novell NetWare, Microsoft Windows NT, Banyan Vines, IBM LAN, UNIX, Solaris фирмы Sun.

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

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

улучшающие пользовательский интерфейс;

защищающие данные от разрушения и несанкционированного доступа;

восстанавливающие данные;

ускоряющие обмен данными между диском и ОЗУ:

архивации-разархивапии;

антивирусные средства.

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

Рис. 2. Прикладное программное обеспечение

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

2.2 Прикладное программное обеспечение и тенденции его развития

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

текстовые процессоры,

табличные процессоры,

системы иллюстративной и деловой графики (графические процессоры),

системы управления базами данных,

экспертные системы,

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

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

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

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

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

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

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

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

Системы управления базами данных (СУБД) позволяют управлять большими информационными массивами - базами данных. Программные системы этого вида позволяют обрабатывать на компьютере массивы информации, обеспечивают ввод, поиск, сортировку выборку записей, составление отчетов и т.д. Представители данного класса программ – Microsoft Access, Clipper, Paradox.

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

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

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

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

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

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

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

Компонентами системного ПО являются операционные системы, средства контроля и диагностики.

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

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

До недавнего времени на компьютерах типа IBM PC применялось несколько разновидностей операционных систем:

· MS-DOS - дисковая операционная система фирмы Microsoft (наиболее популярна);

· PC-DOS - дисковая операционная система фирмы IBM;

· DR-DOS - дисковая операционная система фирмы Digital Research (используется при работе с сетевым ПО фирмы Novell);

· UNIX - дисковая операционная система фирмы Bell Laboratories (используется при работе в сети Интернет);

· Linux - один из вариантов операционной системы типа UNIX.

В последние годы большинство персональных компьютеров работает под управлением операционной системы Microsoft Windows.

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

Третью группу системного программного обеспечения составляют программы-оболочки , обеспечивающие более наглядный и простой способ диалога пользователя с ПК. Наибольшей популярностью пользуется The Norton Commander и ее аналог, работающий под управлением Windows, - Windows Commander.

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

В пятую, последнюю группу этой категории обычно объединяют вспомогательные программы (утилиты) . К ним относят:

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

· антивирусные программы, предназначенные для диагностики и «лечения» программы, поврежденных компьютерными вирусами (AVP Kaspersky, Doctor Weber и пр.);

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

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

· программы оптимизации, «кэширования» и динамического сжатия дисков, программы управления памятью и печатью и т.д. (SmartDRV, QEMM-386).

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

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

К языкам низкого уровня относятся Ассемблер, язык которого отображает архитектуру ЭВМ, обеспечивает доступ к регистрам, указание методов адресации и описание операций в терминах команд процессора. Язык Ассемблера служит для разработки операционных систем. Другим представителем языков низкого уровня является СИ - универсальный язык программирования, первоначально разработанный как язык системного программирования для операционной системы UNIX. В настоящее время является одним из наиболее популярных языков.

Многообразие языков программирования вызвано большим разнообразием задач, стоящих перед компьютером. Так, для ведения научных расчетов в 1956г. был создан FORTRAN (FORmula TRANslator), в конце 50-х - язык алгоритмов Algol (ALGOrithmic Language). Первым языком, в котором было введено широкое понятие типа данных и принципов структурного программирования, стал Pascal.

Кроме того, существует достаточно большой набор специализированных языков - Dbase, SQL, Turbo Pascal, Prolog, Visual Basic, JavaScript, DELPHI, PHP и т.д.

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

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

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

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

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

Первую группу составляют прикладные программы общего назначения . К ним относятся: редакторы текстов, табличные процессоры, СУБД и т.д.

Редакторы текстов - программы для создания и обработки текстов программ и документов. Существует достаточно большой список таких программ. У каждой из них есть свои преимущества и недостатки. Наиболее популярным текстовым редактором является Microsoft Word.

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

Системы управления базами данных (СУБД) - информационно-поисковые системы, позволяющие обрабатывать (вводить, осуществлять поиск, сортировать и пр.) большие массивы информации. Примером простейшей базы данных является элементарная картотека. Более сложные СУБД позволяют решать задачи, связанные с обработкой нескольких информационных массивов, связанных между собой различными отношениями. К числу наиболее популярных СУБД относятся Oracle, MS SQL, Access . В недалеком прошлом широко использовались Dbase IV, Paradox 4, Fox Rro, Clarion Professional Developer, Clipper, RBase.

Системы (средства) деловой и научной графики позволяют выводить на экран различные виды графиков и диаграмм. Среди этих систем наибольшей популярностью пользуются Microsoft Chart, Harvard graphics, StatGraf.

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

Интегрированные пакеты прикладных программ сочетают в себе возможности текстовых редакторов, табличных процессоров и СУБД. Как правило, интерфейс каждого компонента имеет родственный вид, однотипные действия выполняются одинаковыми средствами, что облегчает процедуру освоения всего пакета. Самым ярким представителем этой группы программного обеспечения является Microsoft Office - продукт корпорации Microsoft.

УЧЕБНЫЙ ПЛАН СПЕЦИАЛЬНОСТИ "1-40 01 73 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ"

Технические средства информационных систем

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

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

Теоретические основы алгоритмизации и программирования: основы теории алгоритмов и технологии программирования. Общая характеристика языка программирования высокого уровня, структура программы, типы данных, операции и выражения, ввод и вывод данных, операторы управления вычислительным процессом, подпрограммы. Дополнительные возможности изучаемого языка высокого уровня (динамическое распределение памяти, указатели и т.п.). Программирование и отладка класса разветвляющихся и циклических алгоритмов. Курс построен на базе С++ Visual Studio.

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

Понятие, назначение и функции операционной системы (ОС). Понятие ресурса, ОС как система управления ресурсами. Классификация и характеристики современных ОС. Принципы построения и архитектура ОС (ядро и вспомогательные модули, монолитная, слоистая, на основе микроядра и др. типы архитектур ядра). Организация пользовательского интерфейса. Понятие и реализации прикладного программного интерфейса. Совместимость и прикладные программные среды. Виртуальная машина Java. Архитектура управляемой программной среды на базе.Net. Понятие процесса и потока. Управление процессами и потоками, алгоритмы распределения процессорного времени. Взаимодействие процессов, гонки, синхронизация, проблема тупиков. Управление памятью. Виртуальная память, трансляция адреса, алгоритмы управления виртуальной памятью. Виртуальная память и обмен данными между процессами. Управление вводом-выводом, многослойная структура подсистемы ввода-вывода. Понятие, организация и задачи файловой системы. Логическая структура и операции с файлами. Физическая организация файла. Файловые системы Windows и UNIX. Проецирование файлов программ и данных на адресное пространство. Разграничение доступа и защита данных. Организация современных операционных систем семейств Unix, Linux и Windws.

Объектно-ориентированное программирование

Парадигмы объектно-ориентированного программирования. Классы. Объекты. Конструкторы и деструкторы. Методы. Наследование. Виртуальные методы. Механизм вызова виртуальных методов. Разграничение доступа к атрибутам объектов. Указатели на методы объектов (делегаты). Виртуальные конструкторы. Информация о типе времени выполнения программы. Курс построен на базе С# Visual Studio.

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

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

Системное программирование

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

Технологии компонентного программирования

Понятие компонентного программирования. Эволюция технологий программирования и архитектуры приложений. Сравнительная характеристика процедурного, объектно-ориентированного и компонентного программирования. Компонентная объектная модель COM и технологии на ее основе. Понятие компонента, требования и свойства. Базовая иерархия COM: сервер/класс/интерфейс/метод. Интерфейсы COM. Библиотека COM. COM-серверы. Технологии OLE и ActiveX. Автоматизация и диспетчерские интерфейсы. Библиотека типа, позднее связывание. IDL. Библиотека ATL. Потоковые модели и синхронизация. Обработка ошибок и исключительные ситуации. Коллекции и перечисления. Обратные интерфейсы, обработка событий. Контейнеры. Обзор технологии COM+, компонентного программирования на базе.NET, CORBA и спецификаций OMA, ORB, GIOP, IIOP.

Средства визуального программирования приложений

Концепция визуального проектирования программных средств. Элементы и технология создания программных приложений в визуальной среде. Средства компиляции создания рабочих версий и программ с применением визуальной среды. Основные методы библиотеки разработки программных приложений. Основные классы базовой библиотеки, назначение и методы эффективного использования в разрабатываемых приложениях. Эффективные методы разработки приложений в области конкретного направления. Визуальные компоненты для представления данных. Методы и инструментальные средства реализации концепций в изучаемой среде. Организация ввода/вывода и обработки информации, применение и восстановление состояний объектов. Технологии связывание и внедрение объектов. Контейнеры и серверы, их использование в создаваемых приложениях. Организация доступа и работы с базами данных. Стратегии программирования приложений для различных моделей архитектур БД (удаленного сервера и активного сервера). Принципы обработки в приложениях БД сообщений от серверных программ и ошибок сервера БД. Курс построен на базе С# Forms Visual Studio.

Web-технологии

Отличительные особенности Web-приложения. Протокол HTTP. Знакомство с HTML, CSS, Bootstrap. Знакомство с приложением ASP.NET MVC. Модели, контроллеры и представления приложения ASP.NET MVC. Язык Razor. Вспомогательные методы @Html и @Url. Страницы шаблонов (Layouts) и частичные представления. Передача данных от контроллера к представлению. Механизм привязки данных. Маршрутизация (Routing). Аннотация и валидация данных. Внедрение зависимостей (Dependency Injection). Пакеты (Bundles). Передача файлов. Знакомство с Web Api. Технология AJAX. Работа с Json. Модульное тестирование приложений ASP.NET MVC. Аутентификация и авторизация. Развертывание WEB-приложения. Обзор ASP.NET Core.

Организация и проектирование база данных

Курс построен на базе T-SQL MS SQL Server, с рассмотрением особенностей в Oracle и MySQL. Принципы работы с данными в различных типах информационных системах. Системы управления базами данных, их основные функции и архитектура по стандарту ANSI. Модели данных, их классификация. Детально рассматривается реляционная модель данных, используемая в более 80% СУБД. Основа реляционной модели - реляционная алгебра. Логическая и физическая организация БД, целостность данных, организация индексов и системы безопасности. SQL. Практическое изучение управления данными, индексами и безопасностью на T-SQL.

Транзакции и модели транзакций, практическое изучение управление транзакциями на T-SQL. Журнал транзакций. Проблемы параллельного выполнения транзакций. Блокировки, виды блокировок, практическое изучение управление блокировками на T-SQL. Модели архитектур БД. Программирование БД, практическое изучение создания кода хранимых процедур, триггеров, пользовательских функций, курсоров.

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

Технологии проектирования программного обеспечения информационных систем

Модели жизненного цикла (ЖЦ) программных средств (ПС): стратегии разработки ПС; модели ЖЦ, реализующие данные стратегии; выбор модели ЖЦ для конкретного проекта. Структурный подход к проектированию ПС. Классические технологии проектирования ПС. Оценка эффективности структурного разбиения ПС на модули. Современные структурные технологии разработки ПС. Методологии и нотации структурного анализа и проектирования ПС. Введение в автоматизацию разработки программных средств: принципы автоматизации; классификация CASE-средств. Объектно-ориентированный подход к проектированию ПС. Объектно-ориентированный язык моделирования (например, унифицированный язык моделирования UML). Построение приложений, генерация программного кода, моделирование данных в среде объектно-ориентированного программного обеспечения. Курс построен на базе UML Rational Rose.

Тестирование программного обеспечения

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