sonyps4.ru

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

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

Программное обеспечение (ПО) Системное программное обеспечение программы Операционные системы Сервисные системы Системы технического обслуживания Программные оболочки и среды Служебные программы (утилиты) Прикладное программное обеспечение Прикладные программы пользователя Пакеты прикладных программ (ППП) Общего назначения Методоориентированные Проблемноориентированные Интегрированные Инструментальное программное обеспечение Системы программирования Инструментальные среды Системы моделирования

1. СИСТЕМНОЕ ПО Системное программное обеспечение (СПО) – это программы, управляющие работой ИС, и выполняющие различные вспомогательные функции, например, управление ресурсами ИС, проверка работоспособности технических устройств, выдача справочной информации о состоянии ИС и др. Они предназначены для всех категорий пользователей, используются для эффективной работы ИС, а также эффективного выполнения прикладных программ. - В состав системного ПО входят: операционные системы; сервисные программы; трансляторы языков программирования; программы технического обслуживания.

ОПЕРАЦИОННАЯ СИСТЕМА Операционная система (ОС) - это совокупность программ, управляющая аппаратной частью компьютера, его ресурсами (оперативной памятью, местом на дисках), обеспечивающая запуск и выполнение прикладных программ, автоматизацию процессов ввода/вывода. Без операционной системы компьютер мертв. ОС загружается при включении компьютера.

СЕРВИСНЫЕ СИСТЕМЫ Сервисные системы расширяют возможности ОС по обслуживанию системы, обеспечивают удобство работы пользователя. 1) Системы технического обслуживания – это совокупность программных средств, которые выполняют контроль, тестирование и диагностику и используются для проверки функционирования устройств компьютера и обнаружения неисправностей в процессе работы компьютера. 2) Программные оболочки операционных систем – программы, которые позволяют пользователю отличными от предоставляемых ОС средствами (более понятными и эффективными) осуществлять действия по управлению ресурсами компьютера (Norton Commander (Symantec), FAR (File and Archive manage. R)). 3) Служебные программы (утилиты) – это вспомогательные программы, предоставляющие пользователю ряд дополнительных услуг по реализации часто выполняемых работ или же повышающие удобство и комфортность работы (программы-упаковщики (архиваторы), антивирусные программы, программы оптимизации и контроля качества дискового пространства; программы восстановления информации, форматирования, защиты данных; программы для записи компакт-дисков; драйверы – программы.

2. ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Прикладное ПО предназначено для решения конкретных задач пользователя и организации вычислительного процесса информационной системы в целом. Прикладное ПО позволяет разрабатывать и выполнять задачи (приложения) пользователя по бухгалтерскому учету, управлению персоналом и т. п. Прикладное программное обеспечение работает под управлением системного ПО, в частности операционных систем. В состав прикладного ПО входят: - пакеты прикладных программ (ППП) общего назначения; - пакеты прикладных программ функционального назначения.

ППП общего назначения 1) ППП общего назначения - это универсальные программные продукты, предназначенные для автоматизации разработки и эксплуатации функциональных задач пользователя и информационных систем в целом. К этому классу пакеты прикладных программ относятся: - редакторы текстовые (текстовые процессоры) и графические; - электронные таблицы; - системы управления базами данных (СУБД); - интегрированные пакеты; - Case-технологии; - оболочки экспертных систем искусственного интеллекта.

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

3. ИНСТРУМЕНТАЛЬНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ К инструментальному программному обеспечению (ИПО) относят системы программирования для разработки новых программ. К ИПО системы программирования (СП), такие как C++, Pascal, Basic инструментальные среды (ИСР) для разработки приложений, такие как, С++ Bilder, Delphi, Visual Basic, Java, которые включают средства визуального программирования, а также системы моделирования, например, система имитационного моделирования Mat. Lab, системы моделирования бизнес-процессов Bp. Win и баз данных Er. Win и другие. Следует отметить, что в настоящее время в основном используются для разработки программ инструментальные среды.

ИНТЕГРИРОВАННЫЕ ПАКЕТЫ ПРИКЛАДНЫХ ПРОГРАММ Интегрированные ППП включают набор инструментальных средств, компонентов, каждый из которых по своим функциональным возможностям равносилен проблемноориентированному пакету. Например, интегрированный пакет Microsoft Office включает в свой состав приложения, которые могут функционировать автономно, независимо друг от друга (текстовые процессор Word, электронные таблицы Excel, СУБД Access и т. д.). В структуре таких пакетов предусмотрены системные компоненты, обеспечивающие переключение между различными приложениями, их взаимодействие и бесконфликтное использование общих данных.

ЭТАЛОННЫЕ МОДЕЛИ СРЕДЫ И ВЗАИМОСВЯЗИ ОТКРЫТЫХ СИСТЕМ Требование совместимости и взаимодействия прикладных программ привело к разработке системы стандартов "Интерфейс переносимой операционной системы" (свод POSIX-стандартов) и стандартов коммуникаций. Однако эти стандарты не охватывают требуемый спектр потребностей даже в рамках установленной для них области распространения. Развитие стандартизации в области ИТ и формирования принципа открытых систем нашло выражение в создании функциональной среды открытых систем OSE и построении соответствующей модели, которая охватывала бы стандарты и спецификации по обеспечению возможностей ИТ.

Модель ориентирована на руководителей ИТ-служб и менеджеров проектов, ответственных за приобретение (разработку), внедрение, эксплуатацию и развитие информационных систем, состоящих из неоднородных программноаппаратных и коммуникационных средств. Прикладные программы в среде OSE могут включать в себя: системы реального времени (Real Time System – RTS) и встроенные системы (Embedded System – ES); системы обработки транзакций (Transaction Processing System – TPS); системы управления базами данных (Database Management System – DBMS); разнообразные системы поддержки принятия решения (Decision Support System – DSS); управленческие ИС административного (Executive Information System – EIS) и производственного (Enterprise Resource Planning – ERP) назначения; географические ИС (Geographic Information System – GIS); другие специализированные системы, в которых могут применяться спецификации, рекомендуемые международными организациями.

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

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

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

Прикладные программы и средства OSE взаимодействуют друг с другом, если они предоставляют услуги пользователю, используя стандартные протоколы, форматы обмена данными и интерфейсы систем совместной или распределенной обработки данных для целенаправленного использования информации. Процесс передачи информации с одной платформы на другую через локальную вычислительную сеть (ЛВС) (Local Area Network – LAN) или комбинацию любых сетей (вплоть до глобальных) должен быть абсолютно прозрачен для прикладных программ и пользователей и не вызывать технических трудностей при использовании. При этом местонахождение и расположение других платформ, операционных систем, баз данных, программ и пользователей не должно иметь значения для используемого прикладного средства

В описании модели используется элементы: 1) Логические объекты, включающие: a)Прикладное программное обеспечение (ППО), b)Прикладная платформа состоит из совокупности программноаппаратных компонентов, реализующих системные услуги, которые используются ППО. Понятие прикладной платформы не включает в себя конкретной реализации функциональных возможностей. Например, платформа может представлять собой как процессор, используемый несколькими приложениями, так и большую распределенную систему. c)Внешняя среда платформ состоит из элементов, внешних по отношению к ППО и прикладной платформе (рабочие станции, внешние периферийные устройства сбора, обработки и передачи данных, объекты коммуникационной инфраструктуры, услуги других платформ, операционных систем или сетевых устройств).

2) Интерфейсы, содержащие: a) Интерфейс прикладной программы (Application Program Interface – API) является интерфейсом между ППО и прикладной платформой. Основная функция API состоит в поддержке переносимости ППО. Классификация API производится в зависимости от типа реализуемых услуг: взаимодействие в системе "пользователь – компьютер", обмен информацией между приложениями, внутренние услуги системы, коммуникационные услуги. b) Интерфейс обмена с внешней средой (External Environment Interface – EEI) обеспечивает передачу информации между прикладной платформой и внешней средой, а также между прикладными программами, которые выполняются на одной платформе.

Логические объекты представлены тремя классами, интерфейсы – двумя. В контексте эталонной модели OSE прикладное программное обеспечение содержит непосредственно коды программ, данные, документацию, тестирующие, вспомогательные и обучающие средства. Эталонная модель OSE RM реализует и регулирует взаимоотношения "поставщик – пользователь". Логические объекты прикладной платформы и внешней среды являются поставщиком услуг, ППО – пользователем. Они взаимодействуют с помощью набора API- и EEIинтерфейсов, определенных моделью

Интерфейс EEI представляет собой совокупность всех трех интерфейсов, каждый из которых имеет характеристики, определяемые внешним устройством: 1) интерфейс коммуникационных сервисов (Communication Service Interface – CSI) – обеспечивает сервис для реализации взаимодействия с внешними системами. Реализация взаимодействия осуществляется с помощью стандартизации протоколов и форматов данных, которыми можно обмениваться по установленным протоколам; 2) человекомашинный интерфейс (Human Computer Interface – НCI) – интерфейс, через который осуществляется физическое взаимодействие пользователя и системы программного обеспечения; 3) интерфейс информационных сервисов (Information Service Interface – ISI) – граница взаимодействия с внешней памятью долговременного хранения данных, обеспечивается стандартизацией форматов и синтаксиса представления данных.

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

КРИТЕРИИ ВЫБОРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ § § § § § стабильность продукта и компании; цена/ бюджет; возможность интеграции с другими программами; предоставляемые возможности; наличие службы по работе с клиентами и ее оперативность; количество рисунков и символов, имеющихся в базе данных; вашу цель, потребности и применение ПО; объем и сложность данных, которые необходимо обработать; совместимость с платформами Macintosh или Windows; наличие дополнительных программ, расширяющих возможности ПО.

ОСНОВНЫМИ ТЕНДЕНЦИЯМИ РАЗВИТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ЯВЛЯЮТСЯ - стандартизация как отдельных компонентов программных средств, так и интерфейсов между ними, которая позволяет использовать то или иное приложение на разных аппаратных платформах и в среде разных операционных систем, а также обеспечить его взаимодействие с широким кругом приложений; - ориентация на объектно-ориентированное проектирование и программирование программных средств, что позволяет в совокупности с их стандартизацией перейти к новой технологии - технологии «сборки» того или иного приложения, - интеллектуализация интерфейса пользователя, обеспечение его интуитивной понятности, непроцедурности и приближение языка общения с компьютером к профессиональному языку пользователя; настройка интерфейса пользователя на особенности и потребности конкретного пользователя при организации его диалога с компьютером; использование средств мультимедиа при реализации интерфейса пользователя; - интеллектуализация возможностей программ и программных систем; все шире при проектировании приложений используются методы искусственного интеллекта, что позволяет сделать приложения более «умными» и решать все более сложные, плохо формализуемые задачи;

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

БИЗНЕС ИНФО История Компания основана 14 мая 2001 года с целью удовлетворения спроса на информационные ресурсы правового профиля. ООО «Профессиональные правовые системы» одна из компаний Владимира Гревцова. Сегодня ООО «Профессиональные правовые системы» является одним из лидеров по распространению правовой информации в электронном виде на территории Республики Беларусь. Продукция ООО «Профессиональные правовые системы» производит и реализует аналитическую правовую систему «Бизнес-Инфо» . До 2008 года компания была представлена на рынке справочноаналитической системой «Главбух-Инфо» , которая прекратила существование с выходом на рынок АПС «Бизнес-Инфо» . Наши клиенты Количество организаций, которые выбрали в качестве источника правовой информации АПС «Бизнес-Инфо» , неуклонно растет и в настоящее время составляет около 10 000.

ИНФОРМАЦИОННО-ПОИСКОВАЯ СИСТЕМА «ЭТАЛОН» Эталонный банк данных правовой информации Республики Беларусьс информационнопоисковой системой «ЭТАЛОН» версии 6. 1 (ЭБДПИ) - основной государственный информационно-правовой ресурс, который формируется, ведется и представляет собой совокупность банков данных «Законодательство Республики Беларусь» , «Решения органов местного управления и самоуправления» , «Международные договоры» . ЭБДПИ распространяется в виде электронной копии (ИПС «ЭТАЛОН»). В составе ИПС «ЭТАЛОН» распространяется от 3 до 6 банков данных, в их числе: Законодательство Республики Беларусь; Международные договоры; Решения органов местного управления и самоуправления; Распоряжения Президента и Главы Администрации Президента Республики Беларусь (предоставляется по согласованию с Администрацией Президента Республики Беларусь); Распоряжения Правительства и Премьер-министра Республики Беларусь; Судебная практика; Правоприменительная практика.

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

MICROSOFT VISIO Microsoft Visio - векторный графический редактор, редактор диаграмм и блок-схем для Windows Выпускается в трёх редакциях: Standard, Professional и Pro for Office. Первоначально Visio разрабатывался и выкупался компанией Visio Corporation. Microsoft приобрела компанию в 2000 году, тогда продукт назывался Visio 2000, был выполнен ребрендинг, и продукт был включен в состав Microsoft Office Visio поддерживает обширный набор шаблонов - блок-схемы бизнеспроцессов, схемы сетей, диаграммы рабочих процессов, модели баз данных и диаграммы ПО. Их можно использовать для визуализации и рационализации бизнес-процессов, отслеживания хода работы над проектами и использования ресурсов, оптимизации систем, составления схем организационных структур, карт сетей и планов зданий.

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

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

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

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

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

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

Операционные системы (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.

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

Компьютер обрабатывает данные, представленные в формализованном виде – в виде чисел. Формализация данных является важнейшей составляющей работы информационных систем. Примером формализованных данных является представление результатов деятельности компании в виде наборов числовых таблиц: финансовые отчеты, баланс, денежные транзакции, платежи, оперативные сводки о выполнении суточных заданий, заказы, накладные и т. д. Действия с формализованными данными легче автоматизируются и могут проходить практически без участия человека. При заполнении матриц используется метод сценариев, строящихся по принципу "что, если…?" с помощью систем поддержки принятия решения (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) четко идентифицированы и легко контролируются автоматизированными средствами.

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

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

Именно программное обеспечение (ПО – software или просто «софт») является одной из самых важных и необходимых составляющих информационной системы.

Условно ПО можно разделить на три основных категории:

    1) Системные программы – управляют устройствами компьютера и вычислительными процессами.

    2) Инструментальные системы – это различные языки программирования, с помощью которых создаются новые программы.

    3) Прикладные программы – пользовательское программное обеспечение, которое не относится к системным программам и инструментальным системам.

Теперь мы рассмотрим каждую из категорий более детально.

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

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

    . операционные системы (Windows , Linux , Mac OS ) – комплекс программ, который обеспечивает функционирование аппаратной части компьютера, а также обеспечивает работу пользовательских и системных программ.

    . драйверы – программы, которые позволяют операционной системе (ОС) «понимать» внешние подключаемые устройства (например, принтер, сканер, web -камера и т. д.)

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

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

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

Прикладные программы условно можно разделить на несколько групп. Это деление условно, потому что мы рассмотрим только наиболее часто используемые программы.

Итак, прикладные программы делятся на:

    . программы обработки текста – создание и редактирование текстовых документов;

    . издательские системы – создание макетов печатных изданий;

    . электронные таблицы – обработка числовых и символьных данных, представленных в табличной форме;

    . системы управления базами данных – создание и управление базами данных;

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

    . программы переводчики и электронные словари;

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

    . программы для Web -дизайна – создание Web -страниц;

    . антивирусные программы и программы архиваторы.

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

Теперь, если вы хорошо усвоили материал, можете закрепить его, выполнив несложные задания. Для этого перейдите в режим тренажера. Если хотите позаниматься позже – закройте текущее окно.

Упражнение №1. Выберите лишнее:

А) системные программы;

Б) электронные таблицы (+);

В) инструментальные системы;

Г) прикладные программы.

Упражнение №2. Создание Web -страниц относится к:

А) web -дизайну (+);

Б) издательским системам;

В) электронным таблицам;

Г) программам переводчикам.

Упражнение №3. Одной из самых важных составляющих операционной системы является:

А) монитор ;

Б) программное обеспечение (+);

В) электронным таблицам;

Г) язык программирования.

Упражнение №4. К какой категории ПО относится разработка нового программного обеспечения?

А) прикладные программы;

Б) инструментальные системы (+);

В) системные инструменты;

Г) системные программы.

Упражнение №5. Выберите лишнее.

А) операционная система;

Б) утилита;

В) драйвер;

Г) язык программирования (+).



Загрузка...