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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Программное обеспечение (англ. 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 для работы в сети Интернет.

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

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

Инструментальное ПО служит для написания, редактирования, документирования и отладки программ, позволяет автоматизировать работу программистов (компиляторы, трансляторы, интерпретаторы, объединяемые в пакеты с библиотеками стандартных программ и планировщиками в CASE-средства).

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

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

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

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

24. Основные понятия искусственного интеллекта.

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

 алгоритмическое решение задачи неизвестно или нереализуемо из-за ограниченности ресурсов ЭВМ;

 задача не может быть представлена в числовой форме;

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

 большая размерность пространства решения;

 динамически изменяющиеся данные и знания.

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

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

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

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

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

Приведем ряд определений.

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

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

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

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

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

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

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

* логические модели;

* продукционные модели;

* семантические сети;

* фреймовые модели;

* модели, основанные на нечетких множествах.

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

Компьютер обрабатывает данные, представленные в формализованном виде – в виде чисел. Формализация данных является важнейшей составляющей работы информационных систем. Примером формализованных данных является представление результатов деятельности компании в виде наборов числовых таблиц: финансовые отчеты, баланс, денежные транзакции, платежи, оперативные сводки о выполнении суточных заданий, заказы, накладные и т. д. Действия с формализованными данными легче автоматизируются и могут проходить практически без участия человека. При заполнении матриц используется метод сценариев, строящихся по принципу "что, если…?" с помощью систем поддержки принятия решения (Decision Support System – DSS) .

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

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


Работа с неформализованными данными вызывает значительные трудности. Эти структуры данных, разбитые на категории, довольно сложно поддерживать с помощью репозитория. Особенно это касается систем управления смыслом и содержанием (Content Management Systems – CMS) , а также документацией. Специализированные репозитории и поисковые машины предоставляют только отдельные решения, и ни одно из них не покрывает весь спектр данных. Тем не менее, для решений на базе репозиториев существует возможность объединения как формализованных, так и неформализованных метаданных, что может быть достигнуто путем разработки соответствующих интерфейсов к этим новым технологиям. Подобный репозиторий станет центральным каналом доступа ко всем корпоративным массивам данных, идентифицируя взаимоотношения между данными, а также то, насколько сотрудники, заказчики и партнеры их используют.

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

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

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

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

- системы генерации отчетов для формального представления информации (например, программный продукт Crystal Reports компании Crystal Decisions, предназначенный для создания корпоративной отчетности);

- аналитические системы для сложного динамического анализа данных;

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

- решения по разработке КИС-приложений (Enterprise Information System Applications – EISA), предназначенные для создания инструментальных панелей руководителя и аналитических приложений для добычи данных.

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

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

Современные ИС при поиске ответов на поставленные вопросы позволяют аналитику формулировать и решать задачи нижеследующих классов:

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

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

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

- Имитационные – проведение на ЭВМ экспериментов с формализованными (математическими) моделями, описывающими поведение сложных систем в течение заданного или формируемого интервала времени. Задачи этого класса применяются для анализа возможных последствий принятия того или иного управленческого решения (анализ "что, если?...").

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

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

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

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

- системы поддержки деятельности руководителя (Executive Support Systems – ESS) на стратегическом уровне;

- управляющие информационные системы (Management Information Systems – MIS) и системы поддержки принятия решений (Decision Support Systems – DSS) на среднем управленческом уровне;

- рабочие системы знания (Knowledge Work System – KWS) и системы автоматизации делопроизводства (Office Automation Systems – OAS) на уровне знаний;

- системы диалоговой обработки транзакций (Transaction Processing Systems – TPS) на эксплуатационном уровне.

Системы диалоговой обработки транзакций (TPS) – базовые системы, обслуживающие исполнительский (эксплуатационный) уровень организации. Это компьютеризированная система для автоматического выполнения большого числа транзакций (Transactions), составляющих стандартный бизнес-процесс этого уровня. Примеры – коммерческие расчеты, заказы, регистрация продаж, заполнение стандартных форм, платежных ведомостей, отчетов. На этом уровне цели, задачи, ресурсы точно определены, их выполнение связано с минимальным риском, данные, как правило, формализованы. Правила очень жесткие, и решения всегда структурированы. Соответствие критериям и шаблонам должно быть полным. Объемы обрабатываемых данных велики, но потоки и структура данных (Data Flow and Data Structure) четко идентифицированы и легко контролируются автоматизированными средствами.

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

УЧЕБНЫЙ ПЛАН СПЕЦИАЛЬНОСТИ "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.

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

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