На каком программном обеспечении делают информационные системы. Жизненный цикл программного обеспечения информационной системы

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

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

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

^

Программное обеспечение ИС.


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

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

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

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

Сервисные программы предоставляют ряд услуг по обеспечению эксплуатации ЭВМ и программного обеспечения.

  1. ^

    Организационное обеспечение ИС.

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

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

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

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

  • передачу информации курьеру или её рассылку с помощью локальных, региональных или других сетей;

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

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

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

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

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

    Правовое обеспечение ЭИС.

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

    Функциональная часть ЭИС.

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

■ уровень управления (высший, средний, оперативный):
■ вид управляемого ресурса (основные фонды, материальные, трудовые, финансовые и информационные ресурсы):

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

■ функции управления и период управления.

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

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

Состав задач в ЭИС определяется следующими факторами:

■ важностью той или иной функции управления;

■ возможностью формализации управленческих процедур:

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

■ наличием информационной базы и технических средств.

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

Программное обеспечение (ПО) информационных систем (ИС) включает:

· базовое ПО- это операционные системы (ОС) и системы управления базами данных (СУБД);

· программные средства моделирования и проектирования ИС;

· средства реализации ИС – языки программирования;

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

6.1 Сравнительный анализ ОС

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

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

1. Соотношение стоимость/производительность.

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

3. Надежность функционирования.

4. Защита данных.

5. Возможность генерации ядра под конкретную структуру аппаратных средств.

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

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

а) требуемый объем оперативной памяти;

б) требуемый объем дисковой памяти;

в) совместимость с другими системами.

8. Поддержка удаленного доступа к терминалам.

9. Перспективы развития всей вычислительной системы.

10. Поддержка стандартов.

11. Простота администрирования и установки.

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

Заключение.

Для организации серверов приложений (SQL серверов) целесообразно использование операционной системы UNIX, остальные ОС в качестве серверов приложений менее эффективны.

Для реализации файл-серверов может быть использована любая современная система. Но при этом Windows NT требует наибольших аппаратных ресурсов. При невысокой пропускной способности каналов связи UNIX позволяет оптимизировать доступ за счет маршрутизации пакетов.



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

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

Основные требования для работы ОС в сетевом режиме

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

При создании ЛВС на базе сервера ключевым фактором является надежность, после чего следуют такие фактоpы, как поддержка рабочих станций и показатели быстpодействия. С точки зpения обеспечения надежности самое главное - это эффективные средства управления памятью, поскольку без этого при большом числе пользователей могут возникнуть ситуации, когда рабочие станции будут терять связь друг с другом, а файл-серверы окажутся неработоспособными. Термин надежность охватывает также понятие совместимости: сетевая ОС должна хорошо работать со всеми распространенными многопользовательскими прикладными программами и стандартными программными средствами. Надежность также означает, что сервер и рабочие станции работают в сети без сбоев, прикладные программы выполняются правильно, а сетевая ОС защищает данные при отказах аппаратуры. Требуется полный набор средств защиты от ошибок, защита данных на уровне отдельных записей БД, эффективные средства управления памятью и надежные механизмы организации многозадачной работы. Важными также являются требования по поддержке рабочих станций. Если сетевые драйверы занимают слишком много памяти на каждом ПК, то возможна ситуация, когда на рабочей станции не будут выполняться прикладное ПО и утилиты, резидентно размещающиеся в ОЗУ.

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

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


Выбор СУБД

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

Необходимо рассмотреть следующие методологии организации сетевой базы данных:

1. БД хранится централизованно на сервере, а доступ со стороны рабочих станций по сети;

2. БД распределена по компьютерам-рабочим станциям, но жестко зафиксирована.

Выбор сетевого протокола (ODBC, Microsoft, Novell).

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

Выбор осуществляется в соответствии с международным стандартом ISO (семиуровневой модели) и определяется следующими критериями:

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

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

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

1. Стандарт ISO подразумевает хранение списка пользователей с прописанными правами вместе с основной БД. Авторизация реализуется средствами СУБД.

2. Второй вариант подразумевает хранение списка пользователей не непосредственно в БД, а в операционной системе. В этом случае авторизация пользователей сетевая и реализуется на уровне ОС.

Резервирование БД.

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

1) создание резервной копии БД на самой рабочей станции, либо на любой рабочей станции в сети;

2) создание резервной копии на Backup сервере. С помощью специальной программы Backup автоматически создается зеркальная копия БД на любом сетевом компьютере достаточной мощности, который и является Backup-сервером.

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

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

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

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

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

UPD

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

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

В то же время ПО не требует документов для своего существования.