Программное обеспечение ис. Терминология - В чем разница между информационной системой и программным обеспечением

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

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

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

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

автоматизированный программный кодирование реквизит

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

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

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

Системы программирования -- комплекс средств, обеспечивающих создание новых программных продуктов посредством перевода текста программы с языка программирования в машинные коды (Delphi, Visual Basic, Java).

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

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

Текстовые процессоры предназначены для создания текстовых документов (MS Word, WordPerfect, Word Pro и.т.д.). Системы управления базами данных (СУБД) -- включают в себя два главных компонента -- базу данных (реляционную базу данных) (БД) и систему управления базой данных (MS Access, MS FoxPro, Corel Paradox, Lotus Approach, Oracle, Informix). Реляционная база данных представляет собой совокупность нескольких таблиц, связь между которыми устанавливается с помощью связующих полей. Пакеты презентационной графики (Microsoft PowerPoint, Lotus ScreenCam) позволяют создавать слайды и прозрачные пленки для проведения семинаров, конференций и т.д. Графические редакторы предназначены для обработки графических документов, иллюстраций, чертежей (Paintbrush, Corel DRAW, Adobe Photoshop). Допускают формирование любых изображений.

Все перечисленные виды прикладного программного обеспечения общего назначения широко используются бухгалтерами, но особое место и значение отводится табличным процессорам (MS Excel, Lotus 1-2-3, QuattroPro). Среди табличных процессоров наиболее распространенным и популярным является Microsoft Excel. Достоинства Microsoft Excel: - выдаваемая на экран таблица удобна для электронного моделирования различных первичных документов и регистров синтетического и аналитического учета, таких как: журналы-ордера, ведомости и т.д - легко выполняются любые операции с цифровой информацией;

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

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

Одним из базовых понятий методологии проектирования АИС является понятие жизненного цикла ее программного обеспечения (ЖЦ ПО). ЖЦ ПО - это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации . Структура ЖЦ ПО базируется на трех группах процессов:

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

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

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

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

Управление конфигурацией - один из вспомогательных процессов, поддерживающих основные процессы жизненного цикла ПО, прежде всего процессы разработки и сопровождения ПО. При создании проектов сложных ИС, состоящих из многих компонентов, каждый из которых может иметь разновидности или версии, возникает проблема учета их связей и функций, создания унифицированной структуры и обеспечения развития всей системы. Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ. Общие принципы и рекомендации конфигурационного учета, планирования и управления конфигурациями ПО отражены в стандарте 1ЭО 12207-2.

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

Существующие модели ЖЦ определяют порядок исполнения этапов в ходе разработки, а также критерии перехода от этапа к этапу. В соответствии с этим наибольшее распространение получили три следующие модели ЖЦ:

  • каскадная модель (1970-1980-е гг.) - предполагает переход на следующий этап после полного окончания работ по предыдущему этапу;
  • поэтапная модель с промежуточным контролем (1980-1985 гг.) - итерационная модель разработки с циклами обратной связи между этапами. Преимущество такой модели заключается в том, что межэтапные корректировки обеспечивают меньшую трудоемкость по сравнению с каскадной моделью, однако время жизни каждого из этапов растягивается на весь период разработки;
  • спиральная модель (1986- 1990 гг.) - делает упор на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проверяется и обосновывается реализуемость технических решений путем создания прототипов. Каждый виток спирали соответствует поэтапной модели создания фрагмента или версии программного изделия, на нем уточняются цели и характеристики проекта, определяется его качество, планируются работы следующего витка спирали. Таким образом, углубляются и последовательно конкретизируются детали проекта и в результате выбирается обоснованный вариант, который доводится до реализации. Специалистами отмечаются преимущества спиральной модели:
  • накопление и повторное использование программных средств, моделей и прототипов;
  • ориентация на развитие и модификацию ПО в процессе его проектирования;
  • анализ рисков и издержек в процессе проектирования.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 1.

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 2.

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