МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Новосибирский национальный исследовательский государственный университет» Факультет информационных технологий УТВЕРЖДАЮ _______________________ "_____"__________________20__ г. Аннотации учебных дисциплин Наименование магистерской программы Технология разработки программных систем Направление подготовки 230100 Информатика и вычислительная техника Квалификация (степень) выпускника Магистр Новосибирск 2011 1 Аннотация учебной программы дисциплины «Интеллектуальные системы» Целью дисциплины является подготовка магистров к созданию и применению интеллектуальных автоматизированных информационных систем. Задачами дисциплины является построение моделей представления знаний, проектирование и разработка экспертных систем, разработка моделей предметных областей. Дисциплина входит в базовую образовательной программных магистерской систем» часть общенаучного цикла М1 программы направления «Технология подготовки разработки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА». Изучение данной дисциплины требует следующих компетенций студентов: Владение методиками использования программных средств для решения практических задач, Умение обосновывать принимаемые проектные решения. Владение методами построения и анализа формальных моделей предметных областей Владение теоретическими основами программирования, основами логического и декларативного программирования Владение понятиями синтаксиса и семантики формальных языков. Владение навыками формального представления содержательных знаний средствами формальных языков. Знание современных тенденций развития информационных технологий Владение методами трансляции, компиляции, верификации и статического анализа программ Владение современными средствами управления базами данных, включая средства объектно-реляционного отображения, объектные и иерархические базы данных 2 Изучение дисциплины направлено на формирование следующих компетенций: научно-исследовательская деятельность: ПК-1 применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий; проектно-конструкторская деятельность: ПК-3 разрабатывать и реализовывать планы информатизации предприятий и их подразделений на основе Web- и CALS-технологий; ПК-5 выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации; проектно-технологическая деятельность: ПК-6 применять комплексов современные с технологии использованием разработки CASE-средств, программных контролировать качество разрабатываемых программных продуктов. В результате изучения дисциплины студент должен: Знать: модель представления знаний, подходы и технику решения задач искусственного интеллекта, информационные модели знаний, методы представления знаний, методы инженерии знаний; модели методы формализации, автоформализации и представления знаний; теорию и технологии приобретения знаний, принципы приобретения знаний; 3 математические модели представления знаний, методы работы со знаниями; виды систем поддержки принятия решений; основные понятия, связанные с концепцией системы, основанной на знаниях (интеллектуальная система, база знаний, механизм интерпретации знаний, подсистема объяснения, подсистема приобретения знаний, дедуктивный вывод, прямой и обратный вывод, индуктивный вывод и т. д.); основные понятия, к построению (искусственный связанные интеллектуальных нейрон, с нейросетевым подходом информационных синаптические систем связи, веса синаптических связей, искусственная нейронная сеть — ИНС, обучение ИНС и т. д.) основные понятия и методы мягких вычислений и нечеткого моделирования основные понятия и методы семантического представления и излечения информации в сети Интернет, методы разработки и применения онтологий различных предметных областей Уметь: разрабатывать модели предметных областей разрабатывать методы исследования предметных областей выполнять сравнительный анализ разработанных методов применять методы представления и обработки знаний для решения научных и прикладных задач Владеть: способами формализации интеллектуальных задач способами работы с базами данных и базами знаний инструментальными средствами и технологиями работы со знаниями 4 инструментами и методами формального описания проектных решений базовыми принципами и методологией построения информационных систем (ERP, EAM, MRP, CRM, PLM, САПР, АСУ, АОС и т. д.) как систем, основанных на знаниях Иметь представление: об основных моделях формализации знаний: логических, продукционных, фреймовых, семантических сетях, а также о методах представления и извлечения знаний. Об известных методах и алгоритмах логического вывода на знаниях продукционного типа, стратегии управления ими, а также представлять себе возможные направления их развития Тематический план курса Модуль 1 Введение в область ИИ. Тема 1.1. Область ИИ. Тема 1.2. Этапы развития и основные направления ИИ. Модуль 2. Экспертные системы Тема 2.1. Понятие экспертной системы. Тема 2.2. Структура ЭС Тема 2.3. Классификации ЭС. Тема 2.4. Коллектив разработчиков ЭС. Тема 2.5. Подходы к созданию ЭС. Тема 2.6. Методы извлечения знаний. Тема 2.7. Машина вывода ЭС. Тема 2.8. Представление неопределенности знаний в ЭС. Тема 2.9. Компонента объяснения ЭС. Тема 2.10. Гибридные ЭС. Модуль 3. Системы поддержки принятия решений 5 Тема 3.1. Представление процесса принятия решений Тема 3.2. Эволюция информационных систем Тема 3.3. Определение систем поддержки принятия решений Тема 3.4. Разработка систем поддержки принятия решений Модуль 4. Мягкие вычисления Тема 4.1. Нечеткое моделирование Тема 4.2. Искусственные нейронные сети Тема 4.3. Генетические алгоритмы и эволюционное программирование Тема 4.4. Гибридные системы Модуль 5. Инженерия знаний Тема 4.1. Методы извлечения и представления знаний Тема 4.2. Онтологии предметных областей. Разработка и применение онтологий. Тема 4.3. Семантический Веб. Семантические методы представления, поиска и извлечения информации в Интернете. 6 Аннотация учебной программы дисциплины «Методы оптимизации» Основной целью математическими курса моделями и является ознакомление освоение численных с базовыми методов решения классических экстремальных задач, а также знакомство с современными направлениями развития методов оптимизации. В целом материал курса ориентирован на умение правильно классифицировать конкретную прикладную задачу, выбирать наиболее подходящий метод решения и реализовывать его в виде алгоритма и программы. Для достижения поставленной цели выделяются задачи курса: Дать студентам представление об областях применения математического программирования и, в частности, линейного, выпуклого и нелинейного программирования. Помочь им в изучении симплекс – метода, двойственного симплекс – метода, метода возможных направлений, метода Ньютона, градиентных методов, методов штрафов, метода отсечении Гомори, методов нулевого порядка, метода ветвей и границ, декомпозиции Бендерса, метода Келли. Дисциплина входит в базовую образовательной программных магистерской систем» часть общенаучного цикла М2 программы направления «Технология подготовки разработки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Научить правильно классифицировать конкретную прикладную задачу, выбирать наиболее подходящий метод её решения и реализовывать его в виде алгоритма и программы. Изучение данной дисциплины базируется на дисциплинах: «Математический анализ», "Алгебра и геометрия", «Математическая логика», «Дискретная математика». Изучение дисциплины направлено на формирование следующих общекультурных и профессиональных компетенций: 7 ОК-1, ОК-2, ОК-4 ПК-1, ПК-5, ПК-6 В результате изучения дисциплины студент должен: Знать: - элементы теории сложности для анализа задач математического программирования: линейного, выпуклого, квадратичного и двухуровневого программирования; - основы теории многогранных множеств; - базовые понятия, основные определения теории экстремальных задач и численные методы решения; - современнные подходы к решению задач линейного и выпуклого программирования Уметь: - правильно классифицировать прикладную задачу в терминах математического программирования; - выбирать подходящий метод решения задачи и анализировать скорость его сходимости; - профессионально работать с готовыми коммерческими программными продуктами для решения задач линейного и выпуклого программирования; Владеть навыками: - классическими методами решения задач математического программирования: методом Ньютона, градиентными методами, методом штрафов, симплекс-методом, методом ветвей и границ; - методами синтеза алгоритмов решения новых классов задач. Основные разделы курса: Элементы алгоритмической теории экстремальных задач Классификация задач математического программирования Необходимые и достаточные условия оптимальности Элементы лагранжевой теории двойственности Линейное программирование. Численные методы 8 Выпуклое программирование. Численные методы Нелинейное программирование. Численные методы Целочисленное линейное программирование. Численные методы Лабораторный моделирования практикум сложных заключается технико – в приобретении экономических проблем навыков в виде экстремальных задач в среде современных пакетов типа GAMS и разработке алгоритмов решения средствами этих пакетов. 9 Аннотация учебной программы дисциплины «Теория принятия решений» Основной целью курса является ознакомление с базовыми математическими моделями и освоение алгоритмов решения дискретных экстремальных задач, а также знакомство с современными направлениями развития теории принятия решений. В целом материал курса ориентирован на умение правильно сформулировать оптимизационную задачу, классифицировать её, определить вычислительную сложность задачи и выбрать или разработать наиболее подходящий метод решения, реализовать его в виде алгоритма и программы. Для достижения поставленной цели выделяются задачи курса: Дать студентам представление о классах задачах, которыми занимается теория принятия решений (исследование операций), способах моделирования дискретных задач, точных и приближенных методах решения, оценки качества и вычислительной сложности алгоритмов. Помочь студентам в математическом моделировании задач смешанного целочисленного программирования, задач размещения, календарного планирования, упаковки, задач о рюкзаке, в изучении эвристических алгоритмов: имитации отжига, локальном поиске, алгоритме муравьиных колоний, генетическом алгоритме, в изучении точных методов: ветвей и границ, динамического программирования. Научить строить математические модели сложных производственноэкономических процессов, правильно классифицировать конкретную прикладную задачу, выбирать наиболее подходящий метод решения и реализовывать его в виде алгоритмов, включая возможности современных пакетов типа GAMS. Дисциплина входит в базовую образовательной программных магистерской систем» часть общенаучного цикла М2 программы направления «Технология подготовки разработки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» 10 Изучение данной дисциплины базируется на дисциплинах: «Математическая логика», «Дискретная математика», « Теория алгоритмов» и «Методы оптимизации». Изучение дисциплины направлено на формирование следующих общекультурных и профессиональных компетенций: ОК-1, ОК-2, ОК-4 ПК-1, ПК-5, ПК-6 В результате изучения дисциплины студент должен: Знать - элементы теории сложности для анализа NP-трудных задач; - основы теории алгоритмов комбинаторной оптимизации и вычислительную сложность; - базовые понятия и определения, математические модели классических задач исследования операций численные методы и подходы к их решению; - современные подходы к решению актуальных задач в области теории принятия решений; Уметь - правильно формулировать прикладную задачу в виде математической модели; - выбирать подходящий метод решения и реализовывать его в виде алгоритмов и программ; - профессионально работать с готовыми коммерческими программными продуктами для решения дискретных оптимизационных задач (GAMS, CPLEX и др.); Владеть - общими численными методами решения задач дискретной оптимизации; - теорией алгоритмов решения задач размещения, составления расписаний, календарного планирования, теорией игр, раскроя и упаковки, маршрутизации Основные разделы курса: 11 Предмет и метод теории принятия решений. Математические модели. Экстремальные задачи. Системы поддержки принятия решений. Классификация задач математического программирования. Метод динамического программирования. Задачи о рюкзаке. Задачи раскроя и упаковки. Модели календарного планирования. Задачи маршрутизации. Задачи о покрытии. Игровые задачи размещения. Задачи двухуровневого программирования и равновесия Штаккельберга. Приближенные алгоритмы с оценками. Аппроксимационные схемы. Эвристики: алгоритмы локального, алгоритм локального поиска с чередующимися окрестностями, генетический алгоритм, алгоритм имитации отжига, алгоритм муравьиных колоний. Классификация задач теории расписаний. Задачи на одной машине. Алгоритм Лаулера. Перестановочный прием. Задачи на параллельных машинах. Теория матричных игр. Чистые и смешанные стратегии. Теорема Фон-Неймана. Дилемма о заключенных. Вычислительная сложность задач. Основные классы вычислительной сложности. Теория матроидов. Пересечение матроидов. Семинарские занятия включают практикум по приобретению навыков моделирования сложных производственно-экономических проблем в виде оптимизационных задач в среде современных пакетов типа GAMS и разработке алгоритмов решения средствами этих пакетов. 12 Аннотация учебной программы дисциплины «Анализ алгоритмов» Дисциплина «Анализ алгоритмов» является частью профессионального цикла основных образовательных программ (ООП) по направлению подготовки 230100.68 «Информатика и вычислительная техника». Дисциплина реализуется на факультете Информационных исследовательского университета Технологий Национального Новосибирский государственный университет (НГУ) кафедрой общей информатики. Дисциплина «Анализ алгоритмов» имеет своей целью: систематизировать знания о об основных алгоритмах на стандартных структурах данных; научить основным методам дизайна, представления и доказательства алгоритмов; познакомить с основами теории сложности алгоритмов и классов сложности. Для достижения поставленной цели выделяются задачи курса: (1) связать воедино полученные ранее знания по алгоритмам и их сложности, (2) предоставить и верифицировать шаблоны для проектирования алгоритмов. Изучение данной дисциплины базируется на дисциплинах: «Математическая логика», «Дискретная математика», «Программирование», «Методы трансляции и компиляции». Изучение дисциплины направлено на формирование следующих общекультурных и профессиональных компетенций: ОК-1, ОК-2, ОК-4, ПК-1, ПК-5. В результате освоения дисциплины студент должен: иметь представление об общей концепции эффективности, документированности и корректности алгоритма; знать основные алгоритмы работы со стандартными структурами данных, основные методы дизайна алгоритмов, методы доказательства корректности алгоритмов, основы теории сложности алгоритмов; уметь применять основные методы дизайна алгоритмов к конкретным задачам, оценивать эффективность проектируемых алгоритмов, обосновывать 13 корректность проектируемых алгоритмов, документировать разработанные алгоритмы. Дисциплина включает следующие разделы: 1. Основы доказательства представления, алгоритмов, документирования, базовые алгоритмы спецификации сортировки, поиска и и матричной алгебры. 2. Методы дизайна алгоритмов: откат, ветвей и границ, динамическое программирование. 3. Основы теории классов сложности, недетерминированных и альтернирующих алгоритмов. 14 Аннотация учебной программы дисциплины «Современные проблемы информатики и вычислительной техники» Основной целью курса является ознакомление с базовыми информационными моделями и освоение методов решения сложных задач, а также знакомство с современными направлениями развития методов применения компьютерных технологий. В целом материал курса ориентирован на умение правильно классифицировать конкретную прикладную задачу, выбирать наиболее подходящий метод решения и реализовывать его в виде алгоритма и программы. Для достижения поставленной цели выделяются задачи курса: Дать студентам представление об областях применения компьютерных и телекоммуникационных технологий в различных направлениях, включая управление деятельностью, документооброт, науку и образование. Помочь им в изучении средств и методов решения особо сложных задач, возникающих на стыке современных наукоемких технологий и информатики. Научить правильно классифицировать конкретную прикладную задачу, выбирать наиболее подходящий метод её решения и реализовывать его в виде алгоритма и программы. Данная дисциплина относится к циклу М2. Профессиональный цикл (базовая часть) образовательной программы магистра Технология разработки программных систем по направлению 230100 Информатика и вычислительная техника. С другими частями образовательной программы соотносится следующим образом: Изучение данной дисциплины базируется на дисциплинах, изучаемых на этапе подготовки бакалавра: Программирование на языке высокого уровня 15 Основы параллельного программирования Методы трансляции и компиляции Сетевые технологии Для изучения дисциплины определены «входные» требования: - знание фундаментальных основ информатики и современных информационных технологий на уровне программы бакалавра по направлению 230100 «Информатика и вычислительная техника»; - базовое понимание проблем развития и ограничений теоретической и практической информатики на современном этапе; - умение применять методы и технологии информатики для решения прикладных задач Последующими для данной дисциплины являются Научно-исследовательская практика Итоговая государственная аттестация Изучение дисциплины направлено на формирование следующих общекультурных и профессиональных компетенций: Общекультурные компетенции ОК-1, способен совершенствовать и развивать свой интеллектуальный и общекультурный уровень ОК-2, способен к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности ОК-4, использует на практике умения и навыки в организации исследовательских и проектных работ, в управлении коллективом Профессиональные компетенции 16 ПК-1, применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий ПК-5, выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации ПК-6, применять современные технологии разработки программных комплексов с использованием CASE-средств, контролировать качество разрабатываемых программных продуктов В результате изучения дисциплины студент должен: Знать: - элементы теории решения сложных задач на базе современных компьютерных средств; - основы информационных технологий; - базовые понятия и основные определения, возникающие в связи с развитием многопроцессорных конфигураций и сетевых технологий; - современнные подходы к применению информационных систем в наиболее важных областях, таких как управление, наука и образование. Уметь: - правильно классифицировать прикладную задачу в терминах информационных систем; - выбирать подходящий метод решения задачи и информационную систему для его реализации; - грамотно работать с готовыми программными продуктами для решения задач информатики в области управления, науки и образования; Владеть навыками: - классическими методами дистанционного доступа к информационным системам; - методами синтеза алгоритмов решения новых классов задач информатики. 17 Основные разделы курса: Часть 1. Проблемы становления информатики Часть 1 посвящена проблемам становления информатики как науки и ее основным составным частям, а также применению информационных технологий в науке и образовании. Структура информатики как науки - научная дисциплина, изучающей структуру и общие свойства семантической информации, закономерности ее функционирования в обществе, являющейся теоретической базой для информационных технологий, которые часто отождествляют с информатикой. Информационные (числовые) модели. Понятие о вычислениях. Основные этапы развития вычислительных устройств и моделей. Связь с экономическим развитием общества. Краткий исторический обзор от Аристотеля и Леонардо да Винчи до наших дней. Информационное моделирование. Может ли компьютер затормозить развитие «разума». Стоит ли читать «старые» книги – проблема извлечения «знаний». Становление вычислительной техники от дифференциальных анализаторов до суперкомпьютеров. «Вычислительные Пионеры». Становление программирования – парадигмы программирования (объекты или процессы). Информационная вселенная. Информационные модели организации вычислений. Соответствие информационных и математических моделей реального мира. Компьютерная грамматика и арифметика – «критика программирования: чистого парадигмы и разума» реалии. (следуя Канту). Компьютерная Языки грамотность. Национальные информационные ресурсы. Как далеко можно плести сети. Кто на что влияет: общество и «вычислительные науки». Кризис информационных технологий. Дом, который построил Джон (фон Нейман). Что такое «наука информатика» и «образование». Информатика и физика. Как нам реорганизовать РАБКРИН (почти по Ленину). Что делать или кризис информационного жанра. Информация – данные – знания. Электронные 18 библиотеки, коллекции Информационное информационном и построение системы. Метаданные окружающего пространстве. и мира Распределенные схемы – данных. документы в информационно- вычислительные ресурсы. Назад или вперед к «майнфреймам». Сетевые «операционные системы». Метаданные и принцип «цифровых библиотек». Настройка алгоритмов на данные или наоборот. Часть 2. Компьютерные технологии в науке Понятие о математическом моделировании. Волна цунами – общие сведения Современные ИКТ в задаче своевременного предупреждения об угрозе цунами Методы обработки записей глубоководных гидрофизических станций Использование современных архитектур для обработки данных в режиме реального времени Примеры применения современных ИКТ в науках о Земле, науках о Живом и в образовании Актуальные нерешенные задачи На примере задачи уменьшения последствий природных катастроф излагаются совокупность элементов современных инфо-коммуникационных технологий, связанных прикладной направленностью. Часть 3. Компьютерные технологии в образовании Изучаются методологические основы преподавания информатики, проектирование целей, содержания и технологий реализации образовательного процесса по информатике. Обсуждается представление образовательного процесса по информатике в виде совокупности взаимосвязанных элементов, с объяснением характера связи между ними, обоснованием на этой основе необходимой структуры концептуально-описательной модели образовательного процесса. 19 Теории научения и обучения Экспертные системы в образовании Деятельностный подход к образованию Создание учебной обстановки Некомерческие линии развития информационных систем Методические материалы по информатике и программированию Дистанционное и факультативное обучение программистов История информатики и ИКТ Нерешенные проблемы образовательной информатики. 20 Аннотация учебной дисциплины «Технология разработки программного обеспечения» Целями дисциплины являются: ознакомление с современными языками программирования, их классификацией и областями их применения; освоение различных методов абстрагирования, обеспечения модульности и других аспектов проектирования программных систем; повышение профессиональной эрудиции. Для достижения поставленных целей выделяются следующие задачи дисциплины: ознакомить слушателей с возможностями современных динамических языков и областями их применения; ознакомить с методами функционального и аспектно- ориентированного программирования и проектирования; ознакомить с элементами метапрограммирования, включая интроспекцию, управляемую кодогенерацию; дать представление о преимуществах и недостатках различных методах программирования и проектирования, а также о возможностях их комбинированного использования при решении прикладных задач. Дисциплина входит в базовую образовательной программных магистерской систем» часть профессионального цикла М2 программы направления «Технология подготовки разработки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» С другими частями образовательной программы соотносится следующим образом: 21 Требования к первоначальному уровню подготовки обучающихся для успешного освоения дисциплины: Обучающийся должен знать: методы императивного (структурного, объектно-ориентированного программирования); методы объектно-ориентированного проектирования включая принципы и GOF-шаблоны; математическое понятие функции, в том числе высшего порядка (функционал, оператор), основы λ-исчисления или комбинаторной логики. Обучающийся должен уметь: проводить объектно-ориентированную декомпозицию задачи в соответствии с заданными требованиями; реализовать заданную спецификацию (архитектуру) программной системы на языках Java, С++; оценивать качество спецификации (архитектуры) программной системы и ее кода. Дисциплины, последующие по учебному плану: Учебная и производственная практики Итоговая государственная аттестация Изучение дисциплины направлено на формирование следующих компетенций: ОК-10 Способен осваивать новые методы и технологии, опираясь на знания фундаментальных основ становления информатики в ее историческом развитии; ПК-11 Оптимально применять методы, инструменты функциональной декомпозиции для описания проектных решений и бизнес требований при разработке программных систем (частично: методы 22 функциональной декомпозиции применительно к разработке программных систем); ПК-12 Владеть методами и формализмами для идентификации и описания свойств языков и систем программирования (частично: владение методами идентификации свойств языков и систем программирования с целью выбора оптимальной технологической базы для решения поставленной задачи); ПК 14 Владеть современными методологиями и технологиями разработки программных систем (динамическое, функциональное, аспектное программирование и пр.). В результате освоения дисциплины обучающийся должен: Знать: классификацию современных языков программирования по назначению, модели исполнения, парадигмам; методы абстрагирования и обеспечения модульности, используемых в языках различных классов, преимущества и недостатки этих методов, а также их взаимную совместимость; методы проектирования программных систем с применением различных парадигм. Уметь: самостоятельно осваивать современные языки программирования различных классов; оценивать возможности языков и систем программирования, и их применимость к решению поставленных задач; комбинировать различные языки и системы программирования, а также методы проектирования с целью оптимального решения поставленных задач; 23 расширять существующие языки дополнительными механизмами абстрагирования. Владеть: рядом современных функциональных, динамических и аспектноориентированных языков, а также соответствующими им методами проектирования. Тематический план курса Раздел 1. Современные динамические языки 1.1.Общая классификация языков по назначению и модели исполнения. Общие свойства динамических языков (динамическая типизация, модель трансляции и исполнения) 1.2. Язык Ruby: основные конструкции языка, коллекции. Функциональный стиль программирования в Ruby: блоки и замыкания. Итераторы. 1.3. Особенности объектной модели Ruby: унифицированность объектного представления, модули и примеси, инкапсуляция. Динамическое изменение классов, элементы Meta-Object Protocol (MOP) в Ruby. JRuby и взаимодействие с Java, Java Scripting API. 1.4. Регулярные выражения Раздел 2. Современные функциональные языки 2.1. Классификация языков по парадигмам программирования. Функциональное программирование (ФП). Неподвижное состояние объекта как ключевое отличие ФП от ООП. Функции, как объекты первого класса. Чистые функции, функции высших порядков. Лексические контексты, анонимные функции, замыкания. Основные семейства функциональных языков. Историческая связь динамических и функциональных языков. 2.2. Общие характеристики семейства языков Lisp: единое представление кода и данных, S-выражения, модель трансляции и исполнения, REPL. Язык Clojure, как современный представитель семейства Lisp: основные структуры языка. 24 2.3. Функциональные возможности Clojure: коллекции, отложенные вычисления, бесконечные структуры данных. Абстрагирование данных с помощью функциональных примитивов (пары, числа Черча). Моделирование времени с помощью потоков. Преимущества и недостатки ФП в сравнении с ООП. 2.4. Императивные возможности Clojure. Software Transactional Memory. Многопоточность. Ссылки, атомы, агенты, виды транзакций. Взаимодействие с Java. Раздел 3. Элементы метапрограммирования, аспектно-ориентированное программирование. 3.1. Управляемая кодогенерация. Макросы в Lisp (на примере Clojure). Модель исполнения макросов. Макросы, как способ расширения языка. 3.2. Понятие о проблемно-специфичных языках (DSL) и языках сценариев. Методы генерации DSL. Символьные вычисления. 3.3. Динамические объектные модели. CLOS: обобщенный динамический полиморфизм, обобщенные функции и мультиметоды, вспомогательные методы. Реализация элементов CLOS в Clojure. Интроспекция, введение в MOP. 3.4. Сквозная функциональность (cross-cutting concerns), проблема модульности. Традиционные методы обеспечения модульности в условиях сквозной функциональности. Контекстный полиморфизм. Механизм binding в Clojure, отличия от let. Аспектно-ориентированное программирование (АОП). Понятие аспекта. Язык AspectJ, как аспектное расширение Java. Понятия pointcut и advise. Виды перехвата управления. Расширение существующих классов и интерфейсов. Использование интерфейсов Java, как абстрактных классов. Модель компиляции и исполнения AspectJ. 3.5 Применение АОП в проектирование. Преимущества и недостатки по сравнению с традиционными методами проектирования. Примеры задач, эффективно решаемых с помощью АОП. 25 Аннотация учебной программы дисциплины «Основания и обоснования информатики» Целью дисциплины является рассмотреть информатику в целом, в её конструктивном (проектном и программном), научном и гуманитарном аспекте; систематизировать знания о базисных понятиях информатики в их взаимной согласованности и особенностях применения в различных технологиях разработки программ Задачами дисциплины являются: определить основания информатики — взаимосогласованную систему категорий и базисных понятий, их свойств и отношений между ними; представить основные положения теории деятельности для анализа и обоснования базисных категорий информатики, методов и средств, применяемых для разработки аппаратных и программных комплексов и систем; рассмотреть теоретико-деятельностное обоснование информатики в разных аспектах построения аппаратных и программных и систем и их приложений — технологическом, инструментальном, управленческом, организационном, внедренческом. Дисциплина входит в вариативную образовательной программных магистерской систем» часть профессионального цикла М2 программы направления «Технология подготовки разработки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Требования к первоначальному уровню подготовки обучающихся для успешного освоения дисциплины: 26 Уровень «знать»: основные парадигмы фукнциональное, программирования логическое и (императивное, объектно-ориентированное программирование); примеры успешного применения различных парадигм программирования при решении конкретных задач. Уровень «уметь»: выбрать парадигму программирования в зависимости от уровня изученности класса решаемых задач и модели жизненного цикла разрабатываемой информационной системы. Дисциплины, последующие по учебному плану: Научно-методический практикум; Итоговая государственная аттестация Изучение дисциплины направлено на формирование следующих компетенций: Общекультурные компетенции: Способность совершенствовать и развивать свой интеллектуальный и общекультурный уровень (ОК-1); Способность к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности (ОК-2); Способность свободно пользоваться русским и иностранным языками, как средством делового общения (ОК-3); Способен осваивать новые методы и технологии, опираясь на знания фундаментальных основ становления информатики в ее историческом развитии (ОК10). 27 Профессиональные компетенции: Способность применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий (ПК-1); Способность разрабатывать концептуцальные и теоретические модели решаемых научных проблем и прикладных задач (ПК-2). В результате освоения дисциплины студент должен Знать концепции теории деятельности и идеях, на которых основано многообразие средств и современных технологий создания программ; проблемы, решаемые при организации жизненного цикла программы; систему взаимосогласованных базисных понятий и категорий информатики их взаимосвязи и основные характеристики; характеристики программно-аппаратных комплексов и систем как объектов и субъектов деятельности; основные подходы к организации процесса разработки программноаппаратных комплексов и систем; Уметь сделать сравнительный анализ и методологически обосновать выбор средств разработки для программ разных типов; определить условия и ограничения применимости различных технологий и методов в зависимости от специфики проблемной области. Владеть 28 типовыми методологиями, технологиями и инструментами, применяемыми для разработки программ; методами обеспечения качества результата труда; методами обеспечения качества и развития процесса разработки программ. Содержание разделов и тем курса Раздел 1 Краткий исторический обзор 1. Методологические замечания, Историчность, Конструктивность 1.1. Внешние спецификации и внутренние описания, 1.2. Важность понятия «Граница», разрывы определимости, 1.3. Категории элементарности и дополнительности 2. Мировые информационные ресурсы: 2.1. Языки, Тексты, Образы, 2.2. Компьютеры, Программы, Базы данных и знаний, Сеть 2.3. Различные миры в Реальном Мiре, содержащем Среды, Вещи и Существа: 2.3.1. Субъекты среди существ, Внутренний мир Субъекта, 2.3.2. Действительный мир, 2.3.3. Знаковый мир и Объекты 3. Краткая история Вычислительного дела 3.1. Смена парадигм по десятилетним периодам ХХ века Раздел 2 Основные конструкции 4. Структура и функции Компьютера, Отход от принципов фон-Неймана в ходе развития вычислительной техники 5. Действия и данные, составные действия — подпрограммы 6. Уровни представления программ, 6.1. Языки и исходные тексты, 29 Статика и динамика, стадия трансформаций и стадия исполнения 6.2. 7. Интерпретация и трансляция, 7.1. Смешанные вычисления и исполнение, 7.2. Оптимизация 7.3. Двойной смысл функциональности: описание функций и задание функцио- нирования, 8. Общее понятие свёртки, различие способов передачи параметров. Фундаментальное значение понятия «Информационная замкнутость» — гарантии отсутствия побочных эффектов при функционировании 8.1. Переходы между уровнями сверток, 8.2. Языковое обеспечение и типология сверток: Макросы, Подпрограммы, Объекты, Доступы, ВиртМашины Раздел 3 Структуры Исполнения 9. Исполнение действий, операционные обстановки высокого уровня (ООВУ) 9.1. Согласованности в ООВУ, Совмещение нескольких ООВУ в одну 9.2. Активные и Пассивные компоненты обстановки: 9.2.1. Исполнитель и сигналы, 9.2.2. Рабочая область с подобластями Входов и Выходов, 9.2.3. Перечни Объектов и протоколов, Программный фрагмент 9.2.4. Программные фрагменты и их строение, Предписания, их типология, 9.2.5. Атрибуты предписаний: Оценка, значения (аргументы и результат), эффект, цель и смысл 9.3. Замкнутость ООВУ, Частные разновидности обстановок 10. Конкретная деятельность — Единичное исполнение программного фрагмента в заданной замкнутой обстановке 11. Преобразователи, их разновидности: Функции, Автоматы, Объекты и т.д. 12. Значения, Однократность и уникальность Значений, 30 13. Внутреннее информационное время Единичного исполнения. Многомерность внутренних времен Раздел 4 Объектные понятия 14. Объектная парадигма: 14.1. Объектно-ориентированные языки и Объектно-организованные системы 14.2. Способы описания, Классы и наследование, полиморфизм. 14.3. Объекты, типы Объектов, инкапсуляция 14.3.1. Основные свойства Объектов — пассивность и замкнутость, 14.3.2. Простые и составные Объекты, конфигурации Объектов 14.3.3. Работа с составными Объектами, подОбъекты, доступы, навигация 14.3.4. Соотношения Имя – Тип – Объект, Полиформизм 14.3.5. Логическое строение Объекта: домен, методы, интерфейс 14.3.6. Размещение Объектов в подпространствах, статус Объектности, 14.3.7. Внутреннее подпространство Объектов, 14.4. Соотнесение Значений и Состояний Объектов, 14.5. Реализация Функций и Значений Объектами 15. Конфигурации Объектов, навигационные типы 16. Типы данных и их эволюция, Типы значений и типы Объектов 17. Отдельные и связанные конфигурации Объектов, наведенная активность 18. Общее понятие доступа: обобщение обозначения, именования, указателя, функции расстановки и т.п. 18.1. Доступы как значения. Держатели доступа 19. Реализация подпространств Объектами и конфигурациями Раздел 5 Субъектные понятия 20. Субъект, Строение Субъекта 31 20.1. Активность и активаторы: 20.2. Тик-так, Процессор, Креатор (создать и исполнить) 20.3. Отсутствие активности в Знаковом мире 20.4. Объективируемое представление Субъектов, Состояние Субъекта 21. Взаимодействие Объектов и/или Субъектов, 21.1. Протоколы, их классификация и реализация, 21.2. Объективизация Субъектов в протоколах, 21.3. Прерывания, Многоуровневость протокола и восстановление взаимодействия 21.4. Элементарность Значений, Протоколы реализации передач Значения 22. Реализация Объектов Субъектами, Субъекты реализуются Субъектами. ВиртМашины, как реализация Субъектов-исполнителей для ООВУ. Раздел 6 Проектирование и Программирование 23. Три «Священные коровы» информатики, Граница применимости Программирования 24. Приложение Базисных категорий Системного анализа, Проектирования и Программирования в требуемой области применения: 24.1. Создание системы Объектов для требуемой области применения 24.2. Организация структуры подпространств размещения: Объектов, Имен, Конфигураций, ВиртМашин 24.3. Создание Виртуальных Машин, структуры управления и системы команд для свертки характеристических операций области применения 24.4. Создание системы Протоколов взаимодействия Объектов как ассемблерных программ ВиртМашин в области применения 25. Представление различных стилей программирования (Императивного, Функционального, Событийного, ООП и т.д.) через описанную систему Базисных категорий и понятий 32 Раздел 7 Теоретико-деятельностные структуры 26. Работы Московского Методологического Кружка по созданию Теории Деятельности (50-е – 90-е годы ХХ века) 27. Структуры Деятельности, её компоненты, способы описания 28. Содержательно-генетическая логика, Двуслойность атрибутивного знания, Многослойность Знакового Мира 29. Естественное и Искусственное, Связи состояний и причинность, не наследуемость благоприобретенных свойств 30. Метод восхождения от абстрактного к конкретному 31. Воспроизводство Деятельности — «Клеточка целостности», необходимость Субъектного участия в Объективированном описании Действительности Раздел 8 Гуманитарная информатика 32. Человеческие и человеко-машинные взаимодействия, Программно- аппаратные системы и человек — равноправные Субъекты, партнеры при взаимодействии 32.1. Гуманитарные приложения информатики (примеры): 32.1.1. Электронная подготовка изданий 32.1.2. Образовательная информатика 32.1.3. Порождение и понимание текстов в деятельности. Смыслы и содержание Раздел 9 Взаимодействия Субъектов 33. Задачи и методы управления, анализ управленческих функций 34. Мульти-Структуры организованностей, Ролевые места, ограничивающие протоколы 35. Примеры протоколов различного уровня жесткости: от Программного фрагмента через Партитуру, Роль и Сценарий до художественного Текста 33 36. Информационно-деятельностная структура Мiра — система Взаимодействия миров: Внутреннего, действительного и знакового 37. Деятельность (в общем смысле) — как «клей» цивилизации Раздел 10 Общесистемные структуры 38. Понимание, рефлексия, мышление, пополнение культуры 39. Теоретико-деятельностное описание систем 40. Определение категории системы. Уровни системы: структуры, функционирование, процессы, организованности и морфология 41. Системный анализ, структура функционирования, проектирование, определение сетки организованностей, морфология материала, а затем программирование — этапы Пути создания современных сверхсложных информационных систем 42. Организация взаимодействия Субъектов — Субъектно-организованные системы, — проблематика современной Информатики 43. Мыследеятельность и коллективная деятельность, СМД-методология, Оргдеятельностные игры 34 Аннотация учебной программы дисциплины «Прикладная логика» Дисциплина «Прикладная логика» ставит своей целью ознакомление магистрантов с основными принципами и методами применения аппарата математической логики для решения различных прикладных задач, возникающих в программировании, а также при разработке и использовании современных информационных технологий. К числу таких областей, в которых математическая логика применяется наиболее широко и успешно, относятся функциональное программирование, логическое программирование, разработка и применение дедуктивных баз данных, системы формальной спецификации и верификации программ, представление и обработка знаний. В рамках этой дисциплины решаются следующие задачи: даются систематические знания о выразительных и вычислительных возможностях различных логических систем; раскрывается многообразие неклассических логик, используемых для решения прикладных задач, у студентов логического вырабатываются программирования, навыки владения современными технологией логическими методами спецификации и верификации программ, а также методами формального представления и извлечения сложной информации (знаний). Дисциплина направлена на формирование следующих компетенций: способен совершенствовать и развивать свой интеллектуальный и ОК-1 общекультурный уровень способен к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного ОК-2 профиля своей профессиональной деятельности ОК-4 использует на практике умения и навыки в организации исследовательских и проектных работ, в управлении коллективом 35 ОК-6 способен самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций ПК-1 развития вычислительной техники и информационных технологий выбирать методы и разрабатывать алгоритмы решения задач ПК-5 управления и проектирования объектов автоматизации В результате освоения дисциплины студент должен: Знать: выразительные и вычислительные возможности различных логических систем; виды неклассических логик, используемых для решения прикладных задач. Уметь: применять аппарата математической логики для решения различных прикладных задач, возникающих в программировании, а также при разработке и использовании современных информационных технологий. Владеть: навыками логического программирования; современными логическими методами спецификации и верификации программ; методами формального представления и извлечения сложной информации (знаний). Содержание курса: Введение. Основные принципы устройства формальных логических систем (синтаксис, семантика, аксиоматика, логический вывод). Многообразие 36 формальных логических систем и их выразительные возможности. Применение формальных логических систем в современных информационных технологиях. Основы логического программирования. Парадигма логического программирования. Логическое программирование в хорновских дизъюнктах. Программные утверждения, процедуры, факты, целевые утверждения. Эрбрановские модели логических программ. Наименьшая эрбрановская модель логической программы. Теорема о наименьшей эрбрановской модели. Правильный ответ на запрос к логической программе. Декларативная Оператор непосредственного следования и его свойства. Неподвижные точки оператора непосредственного следования. Теорема о наименьшей неподвижной точке. Денотационная семантика логических программ. SLD-резолюция. SLDрезолютивный вывод как вычисление логической программы. Вычислимый ответ. Множество успеха. Операционная семантика хорновских логических программ. Теоремы корректности и полноты операционной семантики относительно декларативной. Вычислительная универсальность хорновских логических программ. Правила выбора подцелей. Переключательная лемма. Теоремы сильной полноты операционной семантики относительно декларативной. Дерево SLD-вычислений. Стратегии вычислений. Стандартная стратегия вычислений и ее неполнота. Отрицание в логическом программировании. Допущение замкнутости мира. Операционная семантика оператора отрицания. вычислением Оператор логических отсечения программ. как Основные средство управления элементы языка программирования ПРОЛОГ (оператор вычисления значений, встроенные функции и предикаты, средства модификации базы данных и др.). Применение языка ПРОЛОГ в реляционных базах данных и для решения задач искусственного интеллекта. Дедуктивные базы данных. Логическое программирование как язык запросов к базам данных. Синтаксис языка Дейталог и его отличительные особенности. Декларативная, денотационная и операционная семантики языка Дейталог. Теоермы корректности и полноты операционной семантики 37 относительно декларативной. Стратегии вычисления ответов на запросы к Дейталог-программам. Отрицание в Дейталоге. Логическое программирование с ограничениями. Логика Хоара. Верификация последовательных программ. Задача проверки правильности (верификации) программного обеспечения, особенности и трудности ее решения. Теоретико-доказательный подход к решению задачи верификации. Триплеты Хоара. Постусловие и предусловие программного оператора. Инвариант цикла. Аксиомы и правила вывода триплетов Хоара. Корректность и полнота исчисления триплетов Хоара. Система построения автоматизированного построения доказательств PVS. Модальные и временные логики. Верификация параллельных программ. Особенности модальных логик. Синтаксис модальных логик. Примеры законов модальных логик. Семантика возможных миров (семантика Крипке) модальных логик. Взаимосвязь модальных логик с классической логикой предикатов первого порядка. Многообразие темпоральных логик. Темпоральные модели Крипке. Паранепротиворечивые логики. Представления и анализа знаний. Немонотонные рассуждения и область их применение. Немонотонные логики. Логики умолчания. Немонотонный логический вывод. Очерчивание. Нечеткие логики. Формализация нечеткости. Нечеткие множества и функции принадлежности. Нечеткие отношения. Показатель размытости нечеткости. Нечеткая логика и приближенные рассуждения. 38 Аннотация учебной программы дисциплины «Английский язык» Цель дисциплины - развития у обучаемых общеязыковых и профессионально-ориентированных лингвокоммуникативных навыков, а также умений и навыков письменного перевыражения иностранного текста на русском языке в виде полноценного письменного перевода или устного резюме заданного объема. Задачами дисциплины являются: совершенствование навыков и умений чтения, говорения, письма и перевода, аудирования; овладение лексическим запасом, обеспечивающим эффективную иноязычную коммуникацию в рамках профессиональной деятельности, ознакомление с основами культуры делового общения и ведения профессиональной документации на иностранном языке Дисциплина входит в вариативную часть циклу общенаучных дисциплин М1 (дисциплины по выбору студента) образовательной магистерской программы «Технология разработки программных систем» направления подготовки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Изучение данной дисциплины требует следующих компетенций студентов: владеет одним из иностранных языков на уровне не ниже разговорного ; в следующем объеме: Уровень «знать»: основные грамматические явления, характерные для английского языка; лексический минимум в объеме 3000-4000 единиц общего и поведения в терминологического характера; о роли невербального общения (нормах и правилах 39 инокультурной среде) в бытовой и профессиональной сферах; Уровень «уметь»: читать и понимать аутентичные статьи общего характера из журналов, газет и других источников; читать и понимать аутентичные статьи по специальности с целью общего понимания текста либо с целью извлечения необходимой информации; выразить свою точку зрения по вопросам, обсуждаемым в прочитанных статьях, приводя соответствующие пояснения и аргументы; понимать на слух аутентичные сообщения, беседы и интервью с целью извлечения информации; делать аннотации (abstract), рефераты (summary), презентации и отчеты по соответствующим темам и письменным продуктам; составить деловые письма и резюме; Уровень «владеть» элементами стилевой организации письменного научного текста, делового текста (деловая переписка, резюме), «личного» непрофессионального текста (личная переписка); общекультурных явлениях и национальных особенностях организации обыденной жизни, науки, обучения в США и в Великобритании; правилами речевого общения в бытовой и профессиональной сферах; Дисциплины, последующие по учебному плану: Научно-методический практикум Научно-исследовательская работа Итоговая государственная аттестация В результате освоения дисциплины студент должен: Знать лексический минимум в объеме 4000 учебных лексических единиц 40 общего и терминологического характера (с учетом магистерского «списка» Masters’ Word List); основные грамматические явления, характерные для профессиональной устной и письменной речи; основные правила письменного перевода текстов научного и делового стиля на основе приемов перевыражения; правила речевого бытового и профессионального этикета. Уметь выразить свою точку зрения по актуальному вопросу, приводя необходимые пояснения и аргументы на иностранном языке; объяснить на иностранном противоположной языке суть стороне в ходе дискуссии проблемы на и указать преимущества и недостатки той или иной позиции; участвовать в диалоге на профессиональные темы с носителями изучаемого языка, не создавая препятствий языкового характера; сделать сообщение по теме научного исследования на иностранном языке; составить реферат и аннотацию научной статьи по специальности на иностранном языке; составить резюме, заполнить документы на грант, написать план и обоснование исследовательского проекта на иностранном языке; понимать на слух сообщения на профессиональные темы; читать литературу по специальности на иностранном языке с целью общего понимания текста либо с целью извлечения необходимой информации, переводить литературу по специальности на иностранном языке, показывая полное и точное понимание профессиональной проблемы. 41 владеть основными правилами написания (составления) связного текста; навыками использования разного стиля (обиходно-литературный, официально-деловой и научный) в письменной и устной формах; В результате освоения дисциплины у учащегося формируются следующие компетенции: Общекультурные компетенции: способен совершенствовать и развивать свой интеллектуальный и общекультурный уровень (ОК-1) способен свободно пользоваться русским и иностранным языками, как средством делового общения (ОК-3); Тематический план курса Чтение и перевод английской научно-технической литературы. Элементы синтаксического и текстового анализа (в рамках разграничения и опознания разностилевых компонентов, обозначенных выше): • основные структуры простого предложения; • базовая структура сложносочиненного предложения; • основные структуры сложноподчиненного предложения; • конструкции с неличными формами глагола (причастие I; причастие II; причастные обороты, герундий; герундиальные обороты; инфинитив; инфинитивные обороты); • модальные глаголы и их эквиваленты, • употребление основных пунктуационных знаков в английском предложении (запятая, точка с запятой, двоеточие, дефис, тире, скобки) Чтение и обсуждение английской научно - технической литературы. 42 Работа с текстами и упражнениями по тексту, взятыми из учебников, или разработанных преподавателями на базе материалов из дополнительных аутентичных источников, ведение диалогов и участие в дискуссиях на темы по специальности Деловой английский. Основы деловой переписки; составление резюме и CV; ключевые черты эффективной презентации/научного доклада; практика составления презентаций. Реферирование английской научно-технической литературы Изучение правил составления аннотации, конспекта, резюме и краткого содержания научных статей, а также развитие умения анализировать информацию. 43 Аннотация учебной программы дисциплины «Философия» Целью курса является ознакомление с основными проблемами и концепциями современной философии науки, философии языка и социальной философии. Курс лекций расчитан на магистрантов, обучающихся по негуманитарной специальности. Курс разделен на два семестра. В первом семестре основное внимание уделено современным философским подходам к анализу научной теории, применению философии для критики текста, пояснению базовых понятий и методов новейшей философии. Во втором семестре внимание сосредоточено на проблемах социальной философии и политической теории. Для достижения поставленной цели выделяются задачи курса: Провести анализ основных проблем современной философии науки, философии языка и социальной философии. Показать взаимозависимость проблематики различных областей философии. Продемонстрировать различные подходы к решению философских проблем. Сформулировать базовые философские понятия, используемые для анализа научной теории и текста. Дать студентам представление о применении философских идей в современном обществе, зависимости между общественно-политическими отношениями и их отражением в социально-философских воззрениях. Научить самостоятельно анализировать сложный профессиональный текст при помощи средств современной философии. Дать представления о многообразии современных философских подходов к исследованию естественных и искусственных языков. Дать базовые гумманитарные сведения о современных социально-философских и политологических воззрениях. Показать роль философии в формировании общественно-политических структур. 44 Дисциплина входит в вариативную часть общенаучного цикла основной образовательной программы магистратуры по направлению подготовки 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА». Изучение данной дисциплины базируется на дисциплинах: «История», «Когнитивная психология», «Экономика», «Методология ИТ исследования», «Философия» (для бакалавров). Изучение дисциплины направлено на формирование следующих общекультурных и профессиональных компетенций: ОК-1, ОК-2, ОК-6; ОК-7; ОК-8 ПК-6, ПК-8 В результате изучения дисциплины студент должен: Знать - основные подходы современной философии науки и философии языка; - основные проблемы современной философии и методы их решения; - роль философии в развитии научной теории, производственной и общественной практики, формировании общественных отношений; - содержание современных концепций в области философии науки и техники, философии языка, философии информатики, социальной философии и политической теории; Уметь - применять современные философские концепции для анализа сложных текстов; - анализировать значение понятий, составлять понятийный аппарат предметной области, устанавливать смысловые и структурные связи между терминами, применяемыми в различных областях профессиональной деятельности; Владеть - базовыми представлениями в области философии науки, философии языка, социальной философии; 45 - философскими методами анализа текста Основные разделы курса: Современная философия: основные разделы философии, направления философских исследований, области применения философии, взаимосвязь философии с научной теорией и практической деятельностью. Предмет и метод философии науки. Основные этапы развития философии науки. Философия науки в рамках позитивистского подхода. Возникновение позитивизма в XIX в, четыри этапа развития позитивизма. Классический позитивизм. Эмпириокритицизм. Неопозитивизм (логический позитивизм) – проблема демаркации научной теории, определение понятий «истины» и «доказательства» в науке, анализ структуры научной теории и терминологического аппарата. Соотношение эмпирического и теоретического знания в философии позитивизма. Кризис неопозитивизма. Критический рационализм, постпозитивизм. Историко-научный подход в философии. Философия науки в рамках марксистского подхода. Особенности марксисткой философии. Воззрения на стуктуру научного знания и роль науки в жизни общества в философии марксизма. Роль онтологии в философии науки (сопоставление позитивистской и марксистской точек зрения). Научная онтология диалектического материализма. Современное состояние материалистической диалектики. Лингвистические исследования в философии. Основные вопросы философии языка. Развитие философии языка в конце XIX – начале ХХ вв. Лингвистический поворот. Логический атомизм. Философские концепции Л. Витгенштейна – «ранний» и «поздний» Витгенштейн. Аналитическая философия. Философия искусственных языков. Влияние идей Витгенштейна на появление языков программирования. Философия естественного языка, ее применение в современных информационных технологиях. Философия языка в СССР. Концепция Выгодского-Лурия, ее значение для философии языка. Философия сознания – сопоставление советских и западных концепций. Применение психолингвистических знаний в современной 46 философии, науке, ИТ-индустрии. Современная философия языка. Лингвистические деревья Н. Хомского, генеративная грамматика и разработка языков высокого уровня в программировании. Философия языка в современном Китае. Специфика логографических языков с точки зрения философского анализа текстов. Социальная философия: определение базовых понятий, роль социальной философии в жизни общества, основные направления современной социальной философии. Сопоставление естественнонаучного и гуманитарного знания. Структура общества и ее отражение в философской теории. Политикоиделогические концепции ХХ в, их современное состояние. Философия истории, социальная этика, философия права. Современное общество с точки зрения социальной философии. Социальнополитические теории XIX-XX вв. Кризис классических социально- философских идей в конце ХХ в. Вызовы современного общества и их осмысление философами. Современные философские дискуссии по общественно-политическим проблемам. Семинарские занятия включают обсуждение философских текстов, предварительно прочитанных студентами в ходе самостоятельной подготовки. 47 Аннотация учебной программы дисциплины «Формальные методы в описании языков и систем программирования» Целью дисциплины является изучение теории и методов предикатного программирования для задач вычислительной и дискретной математики. Задачами дисциплины являются освоение студентами методов и практик применения предикатного программирования. Дисциплина входит в вариативную образовательной программных магистерской систем» часть профессионального цикла М2 программы направления «Технология подготовки разработки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Изучение данной дисциплины требует следующих компетенций студентов: знание современных тенденций развития информационных технологий; владение культурой мышления, способен к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения; знание основ математической логики. Дисциплины, последующие по учебному плану: Научно-методический практикум; Итоговая государственная аттестация. Изучение дисциплины направлено на формирование следующих компетенций: Общекультурные компетенции (ОК): Cпособность к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности (ОК-2); 48 Cпособность свободно пользоваться русским и иностранным языками, как средством делового общения (ОК-3); Cпособность самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности (ОК-6). Профессиональные компетенции: Cпособность применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий (ПК-1); Cпособность программных применять комплексов современные с технологии использованием разработки CASE-средств, контролировать качество разрабатываемых программных продуктов (ПК6); Cпособность владеть методами и формализмами для идентификации и описания свойств языков и систем программирования (ПК-12) В результате освоения дисциплины студент должен: Знать типовые методы предикатного программирования; язык спецификаций предикатных программ; методы трансформации предикатных программ. Уметь создать формальную спецификацию программы; построить предикатную программу для простых задач; провести математическое доказательство корректности предикатной программы. 49 Владеть методами описания формальной семантики языков программирования; методами спецификации и доказательства корректности программ. Содержание разделов и тем курса 1. Общее понятие программы 2. Задача дедуктивной верификации 3. Математические основы 4. Язык исчисления вычислимых предикатов 5. Система правил доказательства корректности программы 6. Построение языка предикатного программирования 7. Технология предикатного программирования 8. Методы доказательства корректности программ 50 Аннотация учебной программы дисциплины «Технологии создания информационных систем. Бизнес моделирование (SADT, ERWin, BPWin, IDEF0, IDEF1, UML, VB)» Целью дисциплины является систематизация знаний о возможностях и особенностях применения различных методологий и технологий разработки информационных систем. Задачами дисциплины являются: начальное формирование точки зрения аналитика, способного сделать обоснованный выбор методов и технологий для решения задач разного типа, умеющего определить критерии этого выбора; знание методов, средств, инструментов, применяемых на каждом этапе жизненного цикла программного изделия; представление о взаимосвязи между показателями качества программы и качества процесса ее разработки, методы обеспечения качества; видение проблем построения и применения технологии разработки в разных аспектах – методологическом, управленческом, инструментальном, организационном, стоимостном, внедренческом. Дисциплина входит в вариативную образовательной программных магистерской систем» часть профессионального цикла М2 программы направления «Технология подготовки разработки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Изучение данной дисциплины требует следующих компетенций студентов: Уровень «знать»: 51 Объектно-ориентированный подход, основные понятия: класс, объект, свойство, метод, событие, основы UML) Основные понятия и конструкции языков программирования (процедуры, функции, указатели) Основные элементы математической логики Базовые модели описания деятельности предприятия Уровень «уметь»: Умение проектировать и реализовывать программы на одном из языков объектно-ориентированного программирования Умение составлять и отлаживать программы на языках программирования высокого уровня Умение использовать правила логического вывода и логические операции при написании программы Умение применять базовые модели к созданию бизнес-моделей Дисциплины, последующие по учебному плану: Технология разработки программного обеспечения Научно-методический практикум Научно-исследовательская работа Итоговая государственная аттестация Изучение дисциплины направлено на формирование следующих компетенций: Общекультурные компетенции (ОК): 52 Способность к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности (ОК-2); Способность свободно пользоваться русским и иностранным языками, как средством делового общения (ОК-3); Способность самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности (ОК-6) Способность к профессиональной эксплуатации современного оборудования и приборов (в соответствии с целями магистерской программы) (ОК-7). Способность применять на практике полученные знания и навыки для разработки методик, учебных материалов, научных публикаций и докладов, отчетов, технической документации, презентаций (ОК-9) Профессиональные компетенции: Способность применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий (ПК-1); Способность разрабатывать и реализовывать планы информатизации предприятий и их подразделений на основе Web- и CALS-технологий (ПК-3); Способность формировать технические задания и участвовать в разработке аппаратных и/или программных средств вычислительной техники (ПК-4); 53 Способность выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации (ПК-5); Способность программных применять комплексов современные с технологии использованием разработки CASE-средств, контролировать качество разрабатываемых программных продуктов (ПК6); Способность оптимально применять методы, инструменты функциональной декомпозиции для описания проектных решений и бизнес требований при разработке программных систем (ПК-11) В результате освоения дисциплины студент должен: Знать концепции и идеи, на которых основано многообразие современных технологий создания программ проблемы, решаемые при организации жизненного цикла программы особенности промышленного производства программ. характеристики программного изделия как объекта труда основные подходы к организации процесса разработки программ Уметь выполнить анализ требований и создание сценариев использования продукта проводить переговоры с заказчиком с целью выяснения его первоначальных потребностей и бизнес-задач разработать варианты решения выявленных бизнес-задач на основе результатов экспресс-обследования разработать концепцию будущей информационной системы заказчика 54 провести контроль разработки технической спецификации по полученным требованиям разработать и документально оформить проект создаваемой информационной системы участвовать в инспекциях программного обеспечения провести обучение и консультирование персонала в рамках своей компетенции Владеть типовыми методологиями, технологиями и инструментами, применяемыми для автоматизации процесса разработки программ методами обеспечения качества результата труда методами обеспечения качества и развития процесса разработки программ. Содержание разделов и тем курса Теоретическая часть Раздел 1 Базовые понятия. Модели ЖЦПО. Основы системологии 1.1.Программная система как объект труда. Типизация программ. Понятие программного продукта. Рост сложности программы в период эксплуатации. Кривая Лемана. Восемь признаков сложности программ как объекта труда (по Фоксу). 1.2.Общая характеристика процесса разработки программ. Девять главных проблем, решаемых при организации программного проекта (по Соммервиллу). Четыре вида подходов к организации процесса. Нисходящее и восходящее проектирование. 1.3.Модели жизненного цикла программного обеспечения (ПО) – традиционная, каскадная, итерационная, матричная, спиральная. Анализ условий и ограничений применения моделей ЖЦПО. Достоинства и недостатки каждого типа моделей. 55 1.4.Краткий обзор основных понятий системологии. Определение системы. Классификация систем эрготехнические). (физико Базовые – категории биологические, системного социальные, подхода. Общие закономерности свойств, поведения, развития систем любой природы. Иерархичность структуры. Целеобусловленность. Целостность Коммуникативность. и Типы эмергентность. функционирования. Системное время. Управление и самоорганизация в системах. 1.5.Принципы и правила системного подхода при исследовании или построении эрготехнических систем, вытекающие из общих свойств систем – целеобуловленность, относительность, управляемость, симбиозность, оперативность 1.6.Моделирование как главный метод системного обследования. Виды моделей. Особенности моделирования эрготехнических систем. Функциональное моделирование. Понятия целевой функции, критериев успеха, альтернатив в достижении цели, анализа рисков 1.7.Введение в методологию структурного анализа и проектирования SADT. Принципы функционального моделирования. Стратегия декомпозиции, описание системы в трех измерениях (структурном, функциональном, техническом). Принцип «черного ящика», описание уровней иерархической структуры. Описание функционирования системы, типизация моделей – модели вхождения, предметная, причинная и приоритетная. Виды эрготехнических средств, обеспечивающих функционирование системы. Раздел 2. Этапы разработки - задачи, работы, методы, инструменты для каждого этапа 2.1.Методы анализа и постановки задачи. Определение требований к программной системе. Анализ осуществимости проекта. 56 Метод решения задач по Пойа. Особенности эрготехнических систем, выбор альтернативных решений, критерии эффективности. Прототипирование как инструмент системного обследования. Правила описания требований к программному изделию, категории требований. Спецификация требований, концепция «черного ящика». Пример спецификации требования надежности ПО (по Маейрсу). Правила предотвращения ошибок при описании внешнего поведения системы. Валидация и эволюция требований. 2.2.Методы проектирования ПО. Моделирование архитектуры системы. Метод Дейкстры. Разработка структуры программной системы. Методологии модульного, структурного и объектно-ориентированого программирования. Методология структурного анализа SADT. Обзор подходов к доказательному программированию – синтез программ, сборочное и конкретизирующее программирование. Раздел 3 Качество продукта и процесса Обеспечение качества ПО. Модели и стандарты качества – ISO, TQM, CMM, SPICE. Методы предотвращения ошибок в ПО, правила защитного программирования. Статические анализаторы, виды статического контроля программ. Реализация концепции качества в технологии «стерильного цеха» (Cleanroom) Миллза. Оценка надежности и готовности программы. Статистическое тестирование. Модель использования программы, операционный профиль. Раздел 4. Применение CASE-систем Сквозная автоматизация работ в программном проекте. Обобщенная архитектура и возможности CASE-систем. Сравнительный анализ методологий RUP, RAD, XP. Особенности применения CASE- систем, выбор состава и функций интегрированной среды разработки при конструировании АРМов профессиональных программистов. 57 Аннотация учебной программы дисциплины «Верификация и анализ программ» Цель дисциплины - изучение основ современной методологии верификации программ с позиций ее практического использования в процессе разработки программ; формирование у студентов навыков, позволяющих применять на практике полученные знания в области верификации и анализа программ. Задачами дисциплины являются: изучение классических методов Флойда и Хоара верификации и анализа программ; обучение современной методологии практического применения этих методов; изучение проблемы автоматизации процесса верификации программ. Дисциплина входит в вариативную образовательной программных магистерской систем» часть профессионального цикла М2 программы направления «Технология подготовки разработки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Требования к первоначальному уровню подготовки обучающихся для успешного освоения дисциплины: уровень знать: методы объектно-ориентированного проектирования; уровень уметь: реализовать заданную спецификацию (архитектуру) программной системы на языках Java, С++; уровень владеть: навыком проводения объектно-ориентированной декомпозиции задачи в соответствии с заданными требованиями; Дисциплины, последующие по учебному плану: 58 Научно-исследовательская работа Итоговая государственная аттестация В результате освоения дисциплины обучающийся должен: Знать основные классические методы верификации программ методы автоматического доказательства условий корректности Уметь применять классические методы верификации программ Владеть методологией верификации и анализа программ в конкретных типовых ситуациях методологией автоматизации процесса верификации программ В результате освоения дисциплины у учащегося формируются следующие компетенции: Общекультурные компетенции: Способен к самостоятельному исследования, к производственного обучению изменению профиля новым научного своей и методам научно- профессиональной деятельности (ОК-2); Способен свободно пользоваться русским и иностранным языками, как средством делового общения (ОК-3); Способен самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности (ОК-6); 59 Профессиональные компетенции: Уметь применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий (ПК-1); Уметь применять современные технологии разработки программных комплексов с использованием CASE-средств, контролировать качество разрабатываемых программных продуктов (ПК-6). Уметь применять современные методы и инструменты верификации для оценки корректности и качества программ (ПК8); Тематический план курса 1. Базовые понятия. Метод Флойда. Постановка задач. Надежность программ и систем. Логический язык спецификаций. Понятие корректности программ. Формальная семантика языков программирования. Метод индуктивных утверждений Флойда доказательства частичной корректности программ. 2. Метод Хоара верификации программ. Частичная корректность программ. Аксиоматическая семантика элементарных конструкций и циклов. Аксиоматическая семантика операторов над сложными структурами данных: массивами, файлами, указателями. Аксиоматическая семантика рекурсивных процедур. 3. Методы синтеза инвариантов циклов и ограничивающих функций. Эвристические методы синтеза инвариантов циклов. 60 Метод ограничивающих функций для доказательства терминации программ. 4. Автоматизация процесса верификации программ. Методы автоматического доказательства условий корректности. Автоматические системы верификации программ. 61 Аннотация учебной программы дисциплины «Вычислительные системы» Основной целью курса является овладение современными технологиями моделирования, реализации и аттестации крупномасштабных распределённых вычислительные систем. Для достижения цели выделяются следующие задачи курса: - представление формального подхода к разработке распределённых систем, основанного на моделировании сценариев обмена данными посредством частично упорядоченных множеств; - обзор основных аспектов современных крупномасштабных распределённых систем, принципов и примеров их реализации; - обучение основам программной реализации систем с привлечением технологий Grid. Дисциплина входит в базовую образовательной программы магистра. часть профессионального цикла Изучение данной дисциплины базируется на следующих курсах: «ЭВМ и периферийные устройства», «Телекоммуникации и сети», «Операционные системы», «Алгебра и геометрия», «Математическая логика», «Дискретная математика» Изучение дисциплины направлено на формирование следующих общекультурных и профессиональных компетенций: ОК-7, ПК-4. В результате изучения дисциплины у студента формируются: - представления о формальных методах моделирования и верификации крупномасштабных распределённых систем; - знания ключевые принципы и основные технологии разработки крупномасштабных распределённых систем; - умения вырабатывать, верифицировать и реализовывать оптимальные проектные решения по созданию проблемно-ориентированных крупномасштабных распределённых систем. 62 Основные разделы курса: 1. Постановка задач о глобальной интеграции информационных ресурсов 2. Математические основы инженерии распределённых систем 3. Анализ эффективности распределённых систем 4. Интеграция данных 5. Организация совместной работы ресурсов 6. Интеграция ресурсов реального времени 7. Агентные и автономные системы 8. Пользовательский интерфейс распределённых систем 9. Защита информации в распределённых системах 10. Технологии Grid 11. Проектирование Grid-систем 12. Реализация Grid-систем 13. Комплексирование крупномасштабных распределённых систем 14. Технологический процесс разработки крупномасштабных распределённых систем 63 Аннотация учебной программы дисциплины «Методы тестирования» Целью дисциплины является формирование у студента правильного понимания задачи тестирования программ; систематизация знаний о способах достижения «хорошего» уровня тестированности программ. Задачами дисциплины являются: показать проблемы и важность этапа тестирования программ как одного из этапов ее разработки; рассмотреть основные критерии тестирования, остановиться на организации процедуры тестирования и одном из этапов тестирования - тестировании модулей; рассмотреть основные подходы (методы, алгоритмы) автоматизации этого важного этапа создания ПО на примерах систем автоматизации построения тестов и систем оценки полноты тестового набора. Дисциплина входит в вариативную образовательной программных магистерской систем» часть профессионального цикла М2 программы направления «Технология подготовки разработки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Требования к первоначальному уровню подготовки обучающихся для успешного освоения дисциплины: Уровень «знать»: 64 особенности индустриального программирования. требования, предъявляемые к современным средствам разработки программных систем. Уровень «уметь»: определить условия и ограничения применимости различных технологий и методов в зависимости от специфики программного проекта. Дисциплины, последующие по учебному плану: Научно-методический практикум; Итоговая государственная аттестация. Изучение дисциплины направлено на формирование следующих компетенций: Общекультурные компетенции: Способность к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности (ОК-2); Способность свободно пользоваться русским и иностранным языками, как средством делового общения (ОК-3); Способность самостоятельно информационных технологий приобретать и использовать с в помощью практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности (ОК-6). Профессиональные компетенции: Способность применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий (ПК-1); 65 Способность разрабатывать и реализовывать планы информатизации предприятий и их подразделений на основе Web- и CALS-технологий (ПК-3); Способность формировать технические задания и участвовать в разработке аппаратных и/или программных средств вычислительной техники (ПК-4); Способность выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации (ПК-5); Способность программных применять современные комплексов с технологии использованием разработки CASE-средств, контролировать качество разрабатываемых программных продуктов (ПК-6); Способность эффективно использовать на практике стратегии, методы и технологии тестирования программного обеспечения (ПК-10). В результате освоения дисциплины студент должен Знать средства автоматизации тестирования; формализмы, применяемые для описания критериев тестирования; принципы тестирования; основные критерии тестирования; стратегию тестирования и критерии завершения тестирования; основные этапы тестирования. Уметь создать хороший набор тестов для программы как основываясь на ее спецификации так и ее тексте; оценить качество набора тестов; 66 при необходимости создать систему автоматизации этапов тестирования. Владеть типовыми приемами и методами тестирования программ; методами обеспечения качества результата труда. Содержание разделов и тем курса Тема 1. Введение. 1.1. Этапы разработки программного обеспечения и этапы жизненного цикла программы. Временные диаграммы данных этапов. Обоснование необходимости рассмотрения методов тестирования программ. 1.2. Психология и экономика тестирования программ. Определения теста, тестирования, удачного теста. Экономика тестирования. Методология "черного" и "белого" ящика. Невозможность построения полного теста в каждой из стратегий. Принципы тестирования. Тема 2. Проектирование тестов (методы или критерии тестирования). 2.1. Критерии "черного" ящика. Эквивалентное разбиение, граничные значения, функциональные диаграммы и предположение об ошибке. 2.2. Критерии "белого" ящика. 2.2.1. Критерии потока управления. Покрытие операторов, покрытие решений или С1, покрытие условий, покрытие решений и условий, комбинаторное покрытие условий. 2.2.2. Критерии потока данных. Покрытие всех определений (all-defs), all-p-uses, all-c-uses/some-puses, 67 all-p-uses/some-c-uses, покрытие всех def-use цепочек (all-uses), all-du-paths, покрытие контекстов используемых переменных (Ucontext), all_uses2 ( включает С1). Определение включения одного критерия в другой. Схема строгого включения для потоковых критериев, ее обоснование. 2.2.3. Критерии для определенных конструкций языка. Покрытие циклов (all-loops), критерий покрытия отношений, критерий покрытия рекурсии (all-rec), критерий покрытия вызовов процедур, критерий покрытия входных параметров и результатов процедур. 2.3. Мутационные критерии. 2.4. Формальное определение наиболее известных критериев. Демонстрация возможности формализации определения большинства критериев с помощью множества требуемых элементов и предиката покрытия. Тема 3.Тестирование модулей. Проектирование тестов. Способ построения рабочей программы. Монолитное, пошаговое тестирование. Нисходящее и восходящее тестирование. Методы тестирования за столом - инспекции, сквозные просмотры и обзоры программ. Тема 4. Стратегия тестирования. Стратегия тестирования. Критерии завершения тестирования. Тема 5. Автоматизации тестирования. Основные направления автоматизации построения тестов, символьное тестирования. Автоматизация исполнение программ . Построение минимального дугового покрытия УГ и на его основе минимального набора тестов для критерия С1. 68 Контроль качества набора тестов. Системы контроля полноты набора тестов для определенных критериев. Системы Тестор-Фортран, Ритм, TGS, OCT (инструментация исходного кода программ, язык описания тестовых условий., генератор отчетов, комплексный критерий). Инструментация объектного кода. 69 Аннотация учебной программы дисциплины «Менеджмент проектов на базе MS Project» Цель дисциплины изучение основ управления проектной деятельностью, методов планирования и реализации проектов на базе стандарта РМВОК. Задачи дисциплины - изучение принципов и правил организации проектной деятельности, ее структуризации - изучение особенностей делегирования ответственности и полномочий, ведения контроля работ и других аспектов управления в парадигме «управления по целям» и ее частном виде – управлении проектами - изучение функциональных областей проектного менеджмента, методов управления проектами по функциональным областям - изучение групп и видов процессов управления проектами, жизненного цикла проекта - освоение методов управления разработкой проекта и методов управления реализацией проекта Дисциплина входит в вариативную магистерской программы направления подготовки часть цикла М2 образовательной «Технология разработки программных систем» магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Изучение данной дисциплины требует следующих компетенций: осваивать методики использования программных средств для решения практических задач; обосновывать принимаемые проектные решения, осуществлять постановку и выполнять эксперименты по проверке их корректности и эффективности (ПК-6); 70 Уровень «знать»: Основные понятия и конструкции языков программирования Основные элементы математической логики Базовые модели описания деятельности предприятия Уровень «уметь»: Умение применять базовые модели к созданию бизнес-моделей Умение составлять макет бизнес плана проекта Умение использовать правила логического вывода и логические операции Дисциплины, последующие по учебному плану: Научно-исследовательская работа Итоговая государственная аттестация Изучение дисциплины направлено на формирование следующих компетенций: использует на практике умения и навыки в организации ОК-4 исследовательских и проектных работ, в управлении коллективом ; Способен проявлять инициативу, в том числе в ситуациях риска, ОК-5 брать на себя всю полноту ответственности Способность самостоятельно приобретать и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой ОК-6 деятельности способен к профессиональной эксплуатации современного оборудования и приборов (в соответствии с целями магистерской ОК-7 программы) способен ОК-8 управления использовать для методы, планирования, инструменты организации проектного научной и 71 практической деятельности в форме проектов способен применять на практике полученные знания и навыки для разработки методик, учебных материалов, научных публикаций ОК-9 и докладов, отчетов, технической документации, презентаций Способность формировать технические задания и участвовать в разработке аппаратных и/или программных средств ПК-4 вычислительной техники применять современные технологии разработки программных комплексов с использованием CASE-средств, контролировать ПК-6 качество разрабатываемых программных продуктов организовывать разработчиков работу и аппаратных руководить и/или коллективами программных средств ПК-7 информационных и автоматизированных систем В результате освоения дисциплины студент должен: Знать процедуру создания и планирования задач и назначения им ресурсов; средства отслеживания хода проекта и анализа промежуточных результатов; средства координирования проектов; принципы совместной работы в организации. Уметь настроить параметры проекта; создать новый проект, назначить ему ресурсы и затраты, отследить ход выполнения проекта, произвести анализ результатов и подготовить отчет; делать обоснованный выбор методов управления с учетом специфики проекта; 72 организовать работу в команде и управлять коммуникациями проекта. провести обучение и консультирование персонала в рамках своей компетенции Владеть типовыми методологиями, технологиями и инструментами, применяемыми для автоматизации процесса управления проектом; методами обеспечения качества результата труда; методами обеспечения качества и развития процесса разработки проекта. Основные разделы курса а) Теоретические занятия Основные понятия управления проектами. Организационные структуры управления проектами Функциональные области управления проектами. Процессы управления проектами. Правила и принципы процессно-ориентированного управления. Управление разработкой проекта. Логика действий и последовательность шагов при планировании проектаДокументирование плана проекта. Управление реализацией проекта. Основные процессы исполнения, контроля и завершения проекта. административное закрытие. б) Практические занятия - приобретение навыков управления проектами 73 Аннотация учебной программы дисциплины «Интерфейсы программных систем» Цель дисциплины - познакомить студентов с основными методологиями и технологиями проектирования и оценки пользовательских интерфейсов программных систем Задачами дисциплины являются: изучение основ процесса взаимодействия пользователя с программной системой; организации процесса проектирования пользовательских интерфейсов программных систем; определение взаимосвязи между показателями качества программы и характеристиками ее интерфейса, методы обеспечения качества. Данная дисциплина относится к циклу профессиональных дисциплин М2 (вариативная часть) образовательной магистерской программы Технология разработки программных систем направления подготовки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Требования к первоначальному уровню подготовки обучающихся для успешного освоения дисциплины: Уровень «знать»: знаком с современными тенденциями развития информационных технологий осознает социальную значимость своей будущей профессии, обладает высокой мотивацией к выполнению профессиональной деятельности осознает сущность и значение информации в развитии современного общества; владеет основными методами, способами и средствами получения, хранения, переработки информации Уровень «уметь»: способен анализировать социально значимые проблемы и процессы 74 Уровень «владеть» имеет навыки работы с компьютером как средством управления информацией способен работать с информацией в глобальных компьютерных сетях Дисциплины, последующие по учебному плану: Научно-методический практикум Научно-исследовательская работа Итоговая государственная аттестация В результате освоения дисциплины студент должен: Знать о месте и роли изучаемой дисциплины среди других наук; о концепциях и идеях, на которых основаны современные технологии проектирования интерфейсов программных систем; о когнитивных возможностях и ограничениях человека; о роли пользователя в процессе разработки и оценки качества программной системы; Уметь проводить сравнительный анализ и обоснование выбора методологии разработки для разных типов программных интерфейсов; проводить сравнительный анализ качества и обоснование выбора методологии оценки качества для разных типов программных интерфейсов; Владеть основными методологиями, технологиями и инструментами, применяемыми для автоматизации процесса разработки пользовательских интерфейсов программных систем; 75 методологией анализа качества интерфейсов программных систем; методологией сравнительного анализа качества интерфейсов программных систем; В результате освоения дисциплины у учащегося формируются следующие компетенции: Общекультурные компетенции: Способность к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности (ОК-2) Способность свободно пользоваться русским и иностранным языками, как средством делового общения (ОК-3) Способность самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности (ОК-6) Профессиональные компетенции: Способность применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий (ПК-1) Способность разрабатывать концептуцальные и теоретические модели решаемых научных проблем и прикладных задач (ПК-2) выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации (ПК-5); применять современные технологии разработки программных комплексов с использованием CASE-средств, контролировать качество разрабатываемых программных продуктов (ПК-6); Применять и создавать технологии разработки интерфейсов программных систем (ПК-9) 76 Тематический план курса Основные понятия. НСI как область знаний. Пользователи как интегрированная часть компьютерных систем. Диверсификация пользователей. Критерии диверсификации. Принципы проектирования пользовательского интерфейса Критерии эффективного проектирования. Концептуальная, семантическая, синтаксическая и лексическая модели Основы психологии программирования Когнитивная психология и процесс проектирования интерфейсов программных систем. Особенности восприятия информации человеком. Структура памяти человека. Факторы, оказывающие влияние на процесс восприятия. Виды ошибок. Способы организации и модели HCI, модели поведения пользователя. Процесс дизайна. Теория Carroll и Rosson. Функциональная и декоративная составляющая пользовательского интерфейса. Основные принципы композиции. Качество ПИ. Стандартизация. Структура и классификация пользовательских интерфейсов. Понятие usability. Usability тестирование. Качественные и количественные оценки. Виды usability тестирования. Задачи usability тестирования. Сравнительное usability тестирование. Типы пользовательских интерфейсов, их особенности, достоинства и недостатки. 77 Аннотация учебной программы дисциплины «Методы визуализации информации при помощи графов» Целью дисциплины является понятий, наиболее важных систематическое изучение базовых алгоритмов и программных систем, предназначенных для визуализации информации, представленной в виде графов. Задачами дисциплины являются: Ознакомление с областями применения методов и средств визуализации информации и классификацией используемых алгоритмов. Изучение математических основ и сравнительный анализ методов и алгоритмов, применяемых для решения различных подзадач на каждом этапе разработки реальных систем. Ознакомление с реальными приложениями и демонстрация значимости и полезности теоретических результатов, излагаемых в курсе, для решения практических вопросов на уровне создания систем. Дисциплина входит в вариативную часть профессионального цикла М2 (дисциплины по выбору студента) образовательной магистерской программы «Технология разработки программных систем» направления подготовки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Изучение данной дисциплины требует следующих компетенций студентов: знание современных тенденций развития информационных технологий; умение составлять и отлаживать программы на языках программирования высокого уровня. способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения. 78 Дисциплины, последующие по учебному плану: Научно-методический практикум; Итоговая государственная аттестация Изучение дисциплины направлено на формирование следующих компетенций: Общекультурные компетенции (ОК): Способность совершенствовать и развивать свой интеллектуальный и общекультурный уровень (ОК-1); Способность к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности (ОК-2); Способность свободно пользоваться русским и иностранным языками, как средством делового общения (ОК-3); Способность самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности (ОК-6) Способность к профессиональной эксплуатации современного оборудования и приборов (в соответствии с целями магистерской программы) (ОК-7). Профессиональные компетенции: Способность применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий (ПК-1); Способность на основе знания педагогических приемов принимать непосредственное участие в учебной работе кафедр и других учебных 79 подразделений по профилю направления "Информатика и вычислительная техника" (ПК-2); Способность разрабатывать и реализовывать планы информатизации предприятий и их подразделений на основе Web- и CALS-технологий (ПК-3); Способность формировать технические задания и участвовать в разработке аппаратных и/или программных средств вычислительной техники (ПК-4); Способность выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации (ПК-5); Способность программных применять комплексов современные с технологии использованием разработки CASE-средств, контролировать качество разрабатываемых программных продуктов (ПК6); Применять графовые методы визуализации информации для оптимального графического представления данных (ПК-13) В результате освоения дисциплины студент должен: Знать основные области, в которых используются методы данного курса; наиболее важные программные системы; о проблемах, решаемых при создании программных средств визуального анализа; об основных требованиях, предъявляемых к системам в зависимости от области применения. оценки сложности основных алгоритмов и характеристики получаемых результатов; способы оптимизации различных целевых функций; границы применимости существующих алгоритмов на практике. 80 Уметь применять методы и средства визуализации информации при помощи графов; выбирать алгоритмы, наиболее адекватные конкретному приложению; выбирать структуры данных, позволяющих эффективную реализацию выбранных алгоритмов. Владеть навыками разработки алгоритмов, а также реализации программных систем, использующих методы визуализации информации, навыками применения методов визуализации информации в задачах построения систем бизнес-аналитики и бизнес-разведки, виртуальной реальности, автоматизированного проектирования, био-информатики, систем искусственного интеллекта и др. Содержание разделов и тем курса Введение в методы и средства визуального анализа на основе графовых моделей. Примеры наиболее важных современных приложений визуального анализа на основе графовых моделей. Математическая формулировка задачи построения изображения графа. Эстетические критерии и основные стили при построении изображений графов. Проблемы, возникающие при работе с реальными приложениями. Методы построения статических изображений деревьев для анализа иерархической информации, теоретические оценки. Эстетические критерии, используемые при визуализации деревьев. Алгоритм построения поуровневого изображения бинарных деревьев и деревьев произвольной степени. Структуры данных, необходимые для 81 реализации за время O(n). Теоретические оценки качества изображения статических деревьев. Методы построения изображения на основе выбора пути в дереве Теоретические оценки качества изображения статических деревьев. Продолжение Методы построения изображений на основе разделителей Радиальные и круговые изображения деревьев От диаграмм связей к методам заполнения пространства Интерактивные методы визуализации деревьев Интерактивные методы визуализации графов Построение st-нумерации двусвязных графов Проверка планарности графов и построение комбинаторной укладки Свойства триангулированных графов Построение прямолинейных изображений планарных графов. Построение прямолинейных изображений планарных графов. Продолжение. Угловая резолюция и ортогональные изображения планарных графов Построение обзорного изображения для планарного графа. Понятие сильного и слабого обзорного представления. Алгоритм построения сильного обзорного представления для триангулированного планарного графа на основе канонического упорядочения вершин планарного триангулированного графа. Оценки временной сложности алгоритмов и площади получаемого изображения. Задача минимизации количества сгибов при построении ортогонального изображения. Стандартный способ описания ортогональных изображений. Задача минимизации количества сгибов при построении ортогонального изображения. Сведение задачи минимизации сгибов к поиску потока минимальной стоимости в сети. Построение сети для углов планарной укладки. Построение сети для минимизации количества сгибов для графов, имеющих вершины степени > 4 Задача вычисления геометрических размеров ортогонального изображения. Алгоритм вычисления размеров ортогонального изображения, состояший из 82 следующих этапов: разбиение ортогональных граней на прямоугольники, вычисление горизонтального и вертикального размеров изображения посредством построения двух сетей и вычисления потоков минимальной стоимости на этих сетях. Информация, представимая с помощью неориентированных графов, и методы визуализации, основанные на физических аналогиях. «Пружинные алгоритмы» для построения изображения неориентированных графов общего вида. Алгоритма, имитирующие действие сил гравитации и магнитные силы Алгоритмы, основанные на минимизации энергии Алгоритмы размещения, имитирующие действие сил гравитации и магнитные силы Алгоритмы, основанные на минимизации энергии Повышение эффективности силовых алгоритмов размещения за счет применения многоуровневых методов. Метод Барнеса-Ната. Модель размещения LinLog для графов малых миров Метод Сугиямы поуровневого изображения ориентированных графов, основные критерии, принимаемые во внимание при поуровневых визуализациях. Размещение ориентированных графов, задача разбиения на слои Размещение ориентированных графов, задача минимизации количества пересечений Размещение ориентированных графов, задача вычисления горизонтальных координат вершин Визуализация составных графов Метрики, используемые в социальных сетях, и их визуализация. Разбиение сетей на сообщества и визуализация кластеризованных сетей 83 Аннотация учебной программы дисциплины «Корпоративные системы» Целью дисциплины является углубленное изучение современных корпоративных систем управления предприятием. Задачами дисциплины являются: изучение управления предприятием во всем комплексе его проблем, связанных с внешней средой, экономикой, производством, организацией, человеком; предоставление системного подхода к разработке и использованию информационных систем управления, учитывающих информационные, материально-вещественные, финансово- экономические и производственные процессы на предприятии; Дисциплина входит в вариативную образовательной программных магистерской систем» часть профессионального цикла М2 программы направления «Технология подготовки разработки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Требования к первоначальному уровню подготовки обучающихся для успешного освоения дисциплины: Уровень «знать»: основные понятия, показатели и закономерности являющиеся базовыми для оценки экономической деятельности фирм и государства, экономики России; базовые модели описания деятельности предприятия 84 Уровень «уметь»: осваивать способы познавательной, коммуникативной, практической деятельности, необходимые для участия в экономической жизни общества и государства; применять базовые модели к созданию бизнес-моделей Дисциплины, последующие по учебному плану: Научно-методический практикум; Итоговая государственная аттестация. Изучение дисциплины направлено на формирование следующих компетенций: Общекультурные компетенции: Способность совершенствовать и развивать свой интеллектуальный и общекультурный уровень (ОК-1) Способность к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности (ОК-2); Способность свободно пользоваться русским и иностранным языками, как средством делового общения (ОК-3); Способность использовать на практике умения и навыки в организации исследовательских и проектных работ, в управлении коллективом (ОК-4). Профессиональные компетенции: Способность применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий (ПК-1); Способность разрабатывать и реализовывать планы информатизации предприятий и их подразделений на основе Web- и CALS-технологий (ПК3); Способность формировать технические задания и участвовать в разработке аппаратных и/или программных средств вычислительной техники (ПК-4); 85 Способность выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации (ПК-5); Способность применять современные технологии разработки программных комплексов с использованием CASE-средств, контролировать качество разрабатываемых программных продуктов (ПК-6); Способность знать и уметь оптимально применять современные концепции, методы, системы автоматизации работы предприятия (ПК-9). В результате освоения дисциплины студент должен Знать основные понятия, фактологический материал, признаки, параметры, характеристики, свойства, основные компоненты корпоративных систем; информационные технологии, используемые в управлении; классификацию, структуру и функциональные возможности информационных систем управления предприятием. Уметь применять полученные знания к решению вопросов выбора и внедрения корпоративных систем и информационных технологий для решения задач управления Владеть соответствующим категориальным аппаратом; методами обеспечения качества результата труда; приемами работы в среде корпоративной системы управления предприятием. 86 Содержание разделов и тем курса Тема 1. Эволюция современных систем управления. Задачи предприятия, решаемые современными методами управления на основе информационных систем. Методы управления предприятием без применения компьютерной системы. Концепция «Точно во время». Теория ограничений. Тема 2. Корпоративная информационная система как интегратор современных информационных технологии. Основные принципы построения корпоративных Информационное пространство управления. систем управления. Понятие корпоративная информационная система бизнес-объекта. Взаимосвязь информационных потоков. Информационные системы управления предприятием как основа корпоративных систем. Основные проблемы построения бизнес процессов в корпоративных системах управления. Тема 3. Классификация концепций построения систем управления предприятием. Планирование материальных потребностей (Material Requirements Planning - MRP). Планирование производственных ресурсов (Manufacturing Resource Planning - MRPII). Планирование ресурсов предприятия (Enterprise Resource Planning - ERP). Усовершенствованные системы управления (Advance Planning and Scheduling - APS). Системы уровня цеха (Manufacturing Execution Systems – MES). Системы сбора информации учета. Вертикальная и горизонтальная интеграция информационных систем (ERP – MES – системы сбора информации учета). Управление взаимоотношениями с клиентами (Customer Relations Management - CRM,)и др. Проблемы построения корпоративных информационных систем. Основные зарубежные системы: SAP, Oracle, PeopleSoft, J.D. Edwards, Baan, Siebel, Microsoft Business Solutions, SunSoft и др. Отечественные разработки: Галактика, Парус, 1С и др. Достоинства и недостатки. 87 Тема 4. Информационные системы управления предприятием. Конфигурация систем планирования и управления ресурсами предприятия. Управление производством. Контроль текущего состояния предприятия. Планирование материальных ресурсах управление Управление качеством и объемов производственных производства. логистическими Прогнозирование спроса. производства, Расчет мощностях. Контроль себестоимости процессами. Управление потребностей запасами. в и продукции. Планирование сбыта. Управление складом. Управление закупками. Контур управления персоналом, его составные части и функциональное назначение. Финансовый контур. Управление денежными потоками. Примеры информационных систем управления предприятием. Тема 5. Основные проблемы внедрения ERP-системы на предприятии. Внедрение как проект. Процессно-ориентированный подход. Реинжениринг бизнес-процессов. Подготовка проекта. Решение о внедрении. Анализ деятельности предприятия. Анализ внешних факторов. Разработка модели управления. Выбор системы. Формирование команды выбора. Члены команды выбора. Роль консалтинга. Разработка требований к ERP-системе. Источник системы. Разработка методологии выбора. Основные требования к системе. Выбор системы и поставщика. Определение потенциальных поставщиков системы. Пересылка требований и получение ответов. Изучение предлагаемых систем. Оценка затрат и окупаемости ERP-системы. Принятие решения. Организация процесса внедрения. Руководитель команды внедрения. Координационный комитет. Команда внедрения. Процесс внедрения. Осуществление внедрения. Стратегия внедрения. Тема 6. Практические задачи управления на базе информационных систем управления предприятием. История создания программного продукта. Краткое описание программного комплекса в целом, перечисление модулей, объяснение взаимосвязи модулей. Схема документооборота системы. Формирование справочников. Описание логистических модулей и направлений работы компании, которые они 88 поддерживают. Схема взаимосвязи контрагентов, описание деятельности компании на верхнем уровне. Основные справочники и настройки модуля Управление запасами. Номенклатурные группы. Группы складских моделей. Группы складской аналитики. Номенклатура. Работа с поставщиками. Справочник клиентов. Просмотр информации по клиентам. Настойки модуля Управление запасами. Проведение складских операций. Проведение инвентаризации. Принципы формирования себестоимости в системе. Обзор финансового контура системы. Основные элементы учетной политики. Валютный учет. Налоговый учет. Операции в журнале Главной книги. 89 Аннотация учебной программы дисциплины «Научно-методический практикум» Дисциплина имеет своей целью: подготовку студентов к выполнению различных видов и форм научно-методической работы, как то написание обзоров и статей для участия в работе научных и научно-практических конференций и семинаров, разработка учебно-методических пособий, практика преподавания IT-дисциплин и т.п. Задачами дисциплины являются: обучение студентов навыкам изложения результатов собственных научных исследований и практических работ в форме статей и обзоров для публикации соответствующих изданиях; обучение студентов навыкам разработки собственных учебно-методических пособий и руководств по изучению и освоению IT-дисциплин; подготовка студентов к преподаванию IT-дисциплин различным аудиториям учащихся (школьники, взрослые, сотрудники фирм). Дисциплина входит в вариативную образовательной программных магистерской систем» часть профессионального цикла М2 программы направления «Технология подготовки разработки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Изучение данной дисциплины требует следующих компетенций студентов: владеет культурой мышления, способен к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения (ОК-1); готов к кооперации с коллегами, работе в коллективе (ОК-3); осознает социальную значимость своей будущей профессии, обладает высокой мотивацией к выполнению профессиональной деятельности (ОК-8); Дисциплины, последующие по учебному плану: Итоговая государственная аттестация 90 Изучение дисциплины направлено на формирование следующих компетенций: Общекультурные компетенции (ОК): использует на практике умения и навыки в организации исследовательских и проектных работ, в управлении коллективом (ОК-4); Способность самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности (ОК-6) Способность к профессиональной эксплуатации современного оборудования и приборов (в соответствии с целями магистерской программы) (ОК-7). Способен применять на практике полученные знания и навыки для разработки методик, учебных материалов, научных публикаций и докладов, отчетов, технической документации, презентаций (ОК-9) Профессиональные компетенции: Способность применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий (ПК-1); Способность на основе знания педагогических приемов принимать непосредственное участие в учебной работе кафедр и других учебных подразделений по профилю направления "Информатика и вычислительная техника" (ПК-2); В результате освоения дисциплины студент должен: Знать правила оформления научных статей, учебно-методических пособий и размещения их в соответствующем издании Уметь 91 излагать результаты собственных научных исследований и практических работ в форме статей и обзоров, передавать их для публикации в соответствующих изданиях, представлять в своем выступлении на семинаре, конференции, подготовить материал для учебных занятия по IT-дисциплине. Владеть навыками проведения учебных занятий по IT-дисциплинам. навыками подготовки научной статьи, доклада для семинара, конференции. навыками разработки учебно-методического пособия Содержание разделов и тем курса 1. Подготовка тезисов статьи для подачи заявки на участие в научнопрактической конференции. Обзор примеров публикаций статей и тезисов статей в материалах международной научной студенческой конференции МНСК «Студент и научно-технический прогресс». Общие рекомендации по разработке тезисов и написанию статьи для участия в конференции Обзор традиционных регулярных студенческих научных конференций. 2. Разработка учебно-методического пособия по IT-тематике на выбор. Выбор тематики для написания учебно-методического пособия. Разработка плана и структуры учебно-методического пособия. Написание учебнометодического пособия. 3. Разработка плана учебных занятий для преподавании IT- дисциплины. Проведение учебных занятий по конкретной IT-дисциплине. Выбор IT-дисциплины для преподавания. Разработка плана учебных занятий. Проведение учебных занятий. 92 Аннотация учебной программы дисциплины «АРМ директора» Цель дисциплины освещение основных практических подходов, к проектированию и созданию корпоративных информационных систем с высокой степенью мобильности участников информационного взаимодействия Задачи дисциплины Знакомство с основными этапами построения корпоративных информационных систем. Обзор наиболее часто встречающихся проблем при внедрении информационных систем. Изучение особенностей практической реализации в российском бизнесе современных систем менеджмента - системы сбалансированных показателей, процессного управления. Изучение практики реализации системы скользящего планирования. Обзор особенностей построения информатизации предприятий среднего и малого бизнеса. Дисциплина входит в вариативную часть профессионального цикла М2 (дисциплины п выбору студента) образовательной магистерской программы «Технология разработки программных систем» направления подготовки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Требования к первоначальному уровню подготовки обучающихся для успешного освоения дисциплины: Изучение данной дисциплины требует следующих компетенций студентов: осваивать методики использования программных средств для решения практических задач (ПК-2); разрабатывать модели компонентов информационных систем, включая 93 модели баз данных (ПК-4); уровень знать: методы объектно-ориентированного проектирования; уровень уметь: применять базовые модели описания деятельности предприятия уровень владеть: основами технологии разработки программного обеспечения Изучение дисциплины направлено на формирование следующих компетенций: ОК-3 готов к кооперации с коллегами, работе в коллективе организовывать разработчиков ПК-7 и аппаратных руководить и/или коллективами программных средств информационных и автоматизированных систем уметь моделировать информационную ПК-11 работу и технологию программно для реализовывать создания конкретных автоматизированных рабочих мест предприятия В результате освоения дисциплины студент должен: Знать методы разрешения проблем возникающих на этапах внедрения и сопровождения систем об особенностях внедрения современных методов управления в условиях российского малого и среднего бизнеса Уметь аргументированно обосновать выбор методов реализации основных функций управления 94 определять необходимый набор информации для принятия различного уровня ответственности решений Владеть методами и средствами адаптации разработки корпоративных информационных систем к условиям существования предприятий малого и среднего бизнеса основами передовых решений в области информатизации и управления. Тематический план курса Раздел 1. Обзор средств методов и управления в современных информационных системах. Понятие процессного подхода. Особенности внедрения элементов процессного подхода в условиях российского бизнеса. Раздел 2. Особенности сбора и обработки данных информационных системах малого и среднего бизнеса. Понятие системы сбалансированных показателей Практика внедрения систем сбалансированных показателей Принципы скользящего планирования и практическая реализация Раздел 3. Обзор методов менеджмента и адаптация к условиям работы предприятий малого и среднего бизнеса. Практика реализации систем сбора и обработки информации в малом и среднем бизнесе. Методы выявления структурной организации управления бизнес процессами в малом и среднем бизнесе. Способы построения высокомобильных информационных систем. Раздел 4. Управление инцидентами, основы работы с пользователями 95 Аннотация учебной программы дисциплины «Теория и методы сетевого анализа на примере социальных сетей» Целью дисциплины является подготовка магистров, имеющих специальные знания в области информационных технологий, для работы в отраслях маркетинга, социологии. Задачами дисциплины являются: Дать информацию о современных количественных методах в социологии, о применении методов сетевого анализа; Дать сравнительный обзор существующего ПО для анализа социальных сетей; Познакомить с методами моделирования социальных систем и извлечения данных из открытых источников информации о них. Дисциплина входит в вариативную часть профессионального цикла М2 (дисциплины по выбору студента) образовательной магистерской программы Технология разработки программных систем направления подготовки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Требования к первоначальному уровню подготовки обучающихся для успешного освоения дисциплины: Уровень «знать»: элементы теории кодирования и теории сложности алгоритмов; элементы обработки изображений и сигналов; методы обработки информации; базовые понятия и основные теоремы теории информации. Уровень «уметь»: 96 применять методы теории информации и методы обработки изображений и сигналов в различных областях. Дисциплины, последующие по учебному плану: Научно-методический практикум; Итоговая государственная аттестация. Изучение дисциплины направлено на формирование следующих компетенций: Общекультурные компетенции (ОК): Способность к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности (ОК-2); Способность свободно пользоваться русским и иностранным языками, как средством делового общения (ОК-3); Способность самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности (ОК-6); Способность применять на практике полученные знания и навыки для разработки методик, учебных материалов, научных публикаций и докладов, отчетов, технической документации, презентаций (ОК-9). Профессиональные компетенции: Способность применять перспективные методы исследования и профессиональных задач на основе знания решения мировых тенденций развития вычислительной техники и информационных технологий (ПК-1); Способность разрабатывать и реализовывать планы информатизации предприятий и их подразделений на основе Web- и CALS-технологий (ПК-3); Способность формировать технические задания и участвовать в разработке аппаратных и/или программных средств вычислительной техники (ПК-4); 97 Способность выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации (ПК-5); Способность применять современные технологии разработки программных комплексов с использованием CASE-средств, контролировать качество разрабатываемых программных продуктов (ПК-6); Способность организовывать работу и руководить коллективами разработчиков аппаратных и/или программных средств информационных и автоматизированных систем (ПК-7); Способность использовать методы сетевого анализа для моделирования и исследования управленческой деятельности предприятия (ПК-13). В результате освоения дисциплины студент должен Знать современные тенденции развития сетевого анализа; существующие средства для анализа социальных сетей; тенденции развития социологии, актуальных задачах; основные теоретические и методологические направления сетевого анализа; область его применения. Уметь формализовать социально-экономическую проблему и предложить адекватные сетевые методы для ее анализа. Владеть соответствующим категориальным аппаратом; методами обеспечения качества результата труда. 98 Содержание разделов и тем курса 1.Возникновение сетевых подходов в социологии Проблема структурных переменных (П.Лазарсфелд). Дж. Морено и техника социометрии. Изучение коммуникаций в группе (А.Бейвлас и Х.Левитт). Гештальт и балансовый подход. Антропологические подходы, их вклад в становление сетевого анализа. Изучение сетевого общества (М.Кастелс) 2.Математические методы анализа данных, полученных социометрическими методами Эгоцентричные сети. Социометрия и социодинамика. Анализ связей между признаками и между объектами. Графическое и матричное представление данных. Два подхода работы с социоматрицами, их достоинства и недостатки. Индивидуальные и групповые социометрические индексы. Динамические индексы. Разработка социометрических индексов и показателей их качества. Способы выявления подструктур группы. 3.Теория графов и ее применение к сетевым измерениям Теория графов как раздел дискретной математики. Основные определения теории графов. Способы матричного представления графов, их сравнение, достоинства и недостатки. Операции над матрицами. Операции над графами. Маршруты, цепи и циклы графов. Ориентированные графы. Эйлеровы циклы. Гамильтоновы циклы. Двудольные графы. Деревья. Включение сетевых подходов в общую структуру анализа данных. Сетевые подходы и регрессионный, факторный, кластерный анализ. Социальные сети и марковские процессы. 99 Сетевой подход в теории игр. 4.Индикаторы свойств сети. Методологические проблемы сетевых измерений Позиции и акторы, атрибуты акторов. Связи и сцепления, их свойства: число, направленность, взаимность, транзитивность, сила связей. Размер сети. Сетевая плотность, ранг сети. Мосты, посредники, централи, эквивалентности. Способы их измерений. Уровни сетевого анализа и проблемы использования данных на разных уровнях. Источники сетевых данных: обзоры и опросы, архивы, источники масс-медиа. Определение границ сети. Способы построения сетевой выборки, подбор метода в каждом конкретном случае. Генератор имен. Проблемы точности получаемых данных (свободные интервью и их перепроверки, встречные интервью, сравнение ответов с известным стандартом). 5.Нейронные сети Принципиальная схема нейронных сетей, архитектура восприятия информации и распознавания образов. Линейная автоассоциативная память. Обучающее правило Хаббиана. Гетероассоциативная память. Самопродуцирование ошибок. Построение нейронной сети по данным Интернет-форумов. 6.Взаимосвязь сетевых подходов с теориями социального и человеческого капитала Определение социального капитала по Коулману, Лоури, Бурдье. Взаимосвязь социального капитала с другими видами капитала. Источники и функции социального капитала. 100 Аннотация учебной программы дисциплины «ИТ-сервис менеджмент. Вводный курс на основе ITIL» Цели учебной дисциплины - Сформировать понимание IT Service Management как подхода к управлению ИТ - Познакомиться с содержанием разделов Service Support и Service Delivery библиотеки ITIL - Систематизировать знания о процессах управления ИТ в организации Задачи учебной дисциплины - дать ключевые понятия IT Service Management, и сравнительный анализ сервисного и процессного подхода - Общее знакомство с библиотекой ITIL - Знакомство с процессами, составляющими поддержку сервисов (Service Support) и предоставление сервисов (Service Delivery) - определить взаимосвязи между процессами, составляющими поддержку сервисов (Service Support), предоставление сервисов (Service Delivery) и другими процессами Дисциплина входит в вариативную часть профессионального цикла М2 (дисциплины по выбору студента) образовательной магистерской программы «Технология разработки программных систем» направления подготовки магистров 230100 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» . Изучение данной дисциплины требует следующих компетенций студентов: Основные понятия и конструкции языков программирования Технологии разработки программного обеспечения Базовые модели описания деятельности предприятия Дисциплины, последующие по учебному плану: Научно-методический практикум; Итоговая государственная аттестация 101 Изучение дисциплины направлено на формирование следующих компетенций: организовывать работу и руководить коллективами разработчиков аппаратных ПК-7 и/или программных средств информационных и автоматизированных систем Применять методологию информационных сервисов ITIL для планирования и организации поддержки деятельности предприятия ПК-12 информационными технологиями В результате освоения дисциплины студент должен: Знать - цели, задачи, преимущества использования Service Desk. - типы Service Desk: Call Center, Help Desk, Service Desk – общее и отличия. - структуру службы Service Desk: локальная, централизованная или виртуальная. Уметь - определять особенности процессов поддержки сервисов - определять особенности процессов предоставления сервисов, - уровни оказания сервиса, Управление качеством. - осуществлять планирование, идентификация управление CI, учет статуса конфигураций, верификация и аудит. Владеть типовыми методологиями, технологиями и инструментами, применяемыми для автоматизации процесса поддержки сервисов; методами обеспечения качества результата труда; методами обеспечения качества и развития процесса. Тематический план курса Раздел 1 Базовые понятия Раздел 2. Поддержка сервисов Раздел 3 Предоставление сервисов 102 Аннотация учебной программы дисциплины «Практика управления проектами» Курс ставит целью обучение студентов-магистров практическому управлению проектом по разработке программного обеспечения, в соответствии с технологическим процессом, принятым в индустрии, с использованием соответствующих технических средств. Для достижения поставленной цели выделяются задачи курса: изучение инструментария коллективной разработки; изучение методов планирования и текущего контроля состояния проекта в соответствии со стандартами, принятыми в индустрии разработки ПО; изучение принципов организации процесса разработки и управления коллективом разработчиков; управление тренировочным бакалаврами в рамках проектом, выполняемым студентами курса «Управление производственным процессом разработки ПО». Дисциплина нацелена на формирование общекультурных компетенций ОК-1, ОК-2, ОК-4, ОК-5, ОК-6, ОК-7 профессиональных компетенций ПК-4, ПК-5, ПК-6, ПК-7 выпускника. В результате освоения дисциплины студент должен: Получить навык управления процессом коллективной разработки программного обеспечения, реализовать лидерский потенциал, организовать свою работу в рамках задач коллектива. Знать и уметь использовать на практике основные инструменты поддержки коллективной работы, такие как: системы конфигурационного управления (version control), системы управления требованиями, изменениями требований и дефектами (issue tracking), системы планирования потоков работ (project planning). 103 Знать и уметь использовать на практике методы планирования проекта, оценки трудозатрат и рисков, методы текущего контроля состояния проекта, управленческие техники обеспечения качества кода и технической документации. Содержание дисциплины охватывает круг вопросов, связанных с производственным циклом разработки программного обеспечения. 104 Аннотация учебной программы дисциплины «Инженерия знаний» Целью курса является освоение одного из важных направлений современного программирования, занимающееся развитием языков, методов и систем представления и обработки знаний на компьютерах. Задачи курса: Формирование представлений об области «Инженерия знаний»; Изучение искусственных языков, применяемых в инженерии знаний; Изучение методов создания систем инженерии знаний. Дисциплина направлена на формирование следующих компетенций: ОК-1 способен совершенствовать и развивать свой интеллектуальный и общекультурный уровень ОК-2 способен к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности ОК-6 способен самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности ПК-1 применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий ПК-3 разрабатывать предприятий и и реализовывать планы информатизации их подразделений на основе Web- и CALS- технологий ПК-5 выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации ПК-6 применять современные технологии разработки программных комплексов с использованием CASE-средств, контролировать качество разрабатываемых программных продуктов 105 В результате освоения дисциплины студент должен: Знать: Формы представления знаний; Языки систем обработки знаний; Основы построения систем инженерии знаний. Уметь: Описывать предметную область на языках инженерии знаний. Содержание курса: Введение. Что такое обработка знаний. Проблемы современных вычислительных систем. Возможности обработки знаний. Установление новых человеко-машинных отношений. Описание и формализация проблемы. Различие форм представления проблем и его влияние на компьютеризацию. Формы представления информации. Классификация типов представления знаний. Языки систем обработки знаний. Необходимость языков декларативного типа. Семантика процедурных и декларативных языков. Уровни представления в обработке информации. Обработка языков. Декларативные языки и структура данных. Математическая структура данных в декларативных языках. Основы построения систем инженерии знаний. Границы обработки знаний. Два типа обработки знаний. Оценка и моделирование. Методы создания систем инженерии знаний. Условия создания систем. Языки представления знаний в качестве языков описания моделей. Человеко-машинное взаимодействие в системах обработки знаний. Представление знаний как универсальное средство описания моделей. Структура языков представления знаний. Свойства логики предикатов как языка представления знаний. Методы построения универсальных моделей. Процесс синтеза по иерархическим структурам. 106 Аннотация учебной программы дисциплины «Современные тенденции развития информационных технологий» Целью курса является систематизация знаний студентов в области информационных технологий. В рамках изучаемой дисциплины решаются следующие задачи: раскрываются современные подходы и концепции к определению понятий «информация», «информационные ресурсы и системы»; приводятся основные характеристики информационных технологий; производится сравнение основных компонентов материальных и информационных технологий; анализируются тенденции развития современных информационных технологий. Дисциплина направлена на формирование следующих компетенций: ОК-1 способен совершенствовать и развивать свой интеллектуальный и общекультурный уровень ОК-6 способен самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности ПК-5 выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации ПК-6 применять современные технологии разработки программных комплексов с использованием CASE-средств, контролировать качество разрабатываемых программных продуктов В результате освоения дисциплины студент должен: Знать: Тенденции развития компьютерной техники и информационных технологий; 107 Знать подходы к определению понятий "информация", "информационные ресурсы и системы". Уметь: Выбирать перспективную технологию для соответствующих задач. Содержание курса: История развития информатики. Информационные технологии и их роль в развитии современного общества. Понятие информационной технологии. Основные этапы развития информационных технологий. Классификация информационных технологий. Основные этапы развития информационных технологий. Направления развития ИТ: мобильность, беспроводные технологии, в том числе беспроводный Интернет, широкополосный Интернет, мультимедиа, ликвидация компьютерной безграмотности, робототехника. Тенденции развития компьютерной техники. Серверные технологии. Современные средства хранения информации. Современные сетевые технологии. Компьютерная периферия. Компьютеры пятого поколения. Новые возможности ПО. Утилиты обслуживания компьютеров. Антивирусные программы. Современные операционные системы. Современные языки программирования и их использование. Защита информации в информационных системах. Программная инженерия. Интернет и Web – технологии. Социальные сервисы Web 2.0. Современные браузеры. Ajax - как пример новой web технологии. Ресурсы Интернет для специалиста в области ИКТ. Семантический Web. Системы автоматизации управления процессов. Системы управления электронными документами. Lotus Notes. Достижения в других областях. Нанотехнологии. Робототехника. Биоинформатика. Телемедицина. 108 Аннотация учебной программы дисциплины «Системы поддержки принятия решений» Основной целью курса является формирование у студентов профессиональной компетенции в области разработки и использования систем поддержки принятия решений (СППР) в профессиональной деятельности. Для достижения цели выделяются следующие задачи курса: • рассмотрение современных традиций приложения информационных технологий для решения проблем организации управления ресурсами в соответствии с данными предшествующих периодов; • ознакомление с информационной (объектной) структурой программного обеспечения в форме информационных систем, предметно ориентированных на автоматизации учета и управления; • представление типовых подсистем, обеспечивающих накопление и математическую обработку данных для принятия управленческих решений; рассмотрению соответствующих информационных, математических моделей. Дисциплина входит в базовую образовательной программы магистра. часть профессионального цикла Изучение данной дисциплины базируется на следующих курсах: «Объектно-ориентированный анализ и дизайн», «Логические основы программирования», «Интеллектуальные системы». Изучение дисциплины направлено на формирование следующих общекультурных и профессиональных компетенций: ОК-1, ОК-6, ОК-7, ПК-3, ПК-4, ПК-5, ПК-14. В результате изучения дисциплины у студента формируются: - представления о методах проектирования СППР; - знания классификации СППР, методов и алгоритмов проектирования, используемых СППР; 109 - умения адаптировать СППР под различные бизнес-процессы, использования современных СППР. Основные разделы курса: 1. История систем поддержки принятия решений. 2. Классификация СППР. 3. Методы и алгоритмы используемые СППР. 4. Разработка систем поддержки принятия решений. 5. Современные СППР и практика их использования. 110 Аннотация учебной программы дисциплины «Нечёткие модели и теория мягких вычислений» Цель курса — ознакомление студентов с основными принципами и методами применения аппарата мягких вычислений для решения различных прикладных задач, возникающих в программировании, а также при разработке и использовании современных информационных технологий. Дисциплина направлена на формирование следующих компетенций: ОК-2 способен к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности ОК-6 способен самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности ПК-1 применять перспективные методы исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий ПК-5 выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации В результате изучения дисциплины студент должен: Знать: - основные понятия теории нечётких множеств; - основы нечёткой логики и нечётких вычислений. Уметь: - строить нечёткие модели для прикладных задач. Владеть: - методами нечёткого моделирования применительно к информационным технологиям. 111 Содержание курса: Сущность Методология теории мягких гранулированного вычислений. подхода. Историческая Методология справка. лингвистических рассуждений. Основные понятия теории нечетких множеств. Характеристические параметры нечеткого множества. Лингвистические модификаторы нечетких множеств. Типы функций принадлежности. Нечеткие множества второго типа. Нечеткая арифметика. Принцип обобщения. Виды нечетких чисел. Сложение, вычитание, умножение и деление нечетких чисел. Различия между нечеткими числами и лингвистическими значениями. Нечеткая математика. Основные операции над нечеткими множествами: пересечение, объединение, дополнение до четкого множества. Нечеткие модели. Структура, основные элементы и операции в нечетких моделях. Свойства правил, баз правил и нечетких моделей. Сокращение баз правил. Масштабирование входов и выходов нечеткой модели. Экстраполяция в нечетких моделях. Типы нечетких моделей. Методы нечеткого моделирования. Нечеткое моделирование на основе экспертных знаний о системе. Построение самонастраивающихся нечетких моделей. Построение самоорганизующихся нечетких моделей. Нечеткое управление. Статистические нечеткие регуляторы. Динамические нечеткие регуляторы. Проектирование и разработка нечетких регуляторов на основе экспертного знания об объекте управления. Проектирование и разработка нечетких регуляторов на основе модели эксперта, управляющего объектом. Проектирование и разработка нечетких регуляторов на основе модели объекта управления. Устойчивость нечетких систем управления. Устойчивость нечетких систем управления с неизвестными моделями объектов. Круговой критерий устойчивости. Методы теории гиперустойчивости. Анализ формальных понятий. Формальные контексты и решетки формальных понятий. Построение решеток формальных понятий для 112 представления знаний и моделирования предметных областей. Свойства решеток формальных понятий. Концептуальные семантические системы. Концептуальные графы как метод представления знаний и моделирования предметных областей. ДСМ метод автоматического порождения гипотез. Основные определения и классификация типов вывода. Теория правдоподобных выводов. Правила правдоподобных выводов. ДСМ метод с точки зрения формального анализа понятий. Применение ДСМ метода в медицине. Нейронные сети и нейровычисления. Основы искусственных нейронных сетей. Процедура обратного распространения. Стохастические методы обучения нейронных сетей. Нейронные сети Хопфилда и Хэмминга. Двунаправленная ассоциативная память. Генетические алгоритмы и эволюционное программирование. Определения и принципы работы. Преимущества и недостатки генетических алгоритмов. Теорема Холланда. Одноточечный кроссинговер. Двухточечный кроссинговер. Дифференциальное скрещивание. Инверсия и переупорядочение. Эпистаз. Ложный оптимум. Метод миграции и искусственной селекции. Метод прерывистого равновесия. Сети доверия. Определения и принципы работы. Семантика зависимостей. Приложения в задачах моделирования. Приложения в задачах классификации документов. Приложения в системах принятия решений. Теория возможностей. Теория возможностей как уточнение теории вероятностей. Теория возможностей как расширение теории нечетких множеств. Теория нечеткой меры. Фракталы и теория хауса. Классификация фракталов. Свойства хаоса: эффект бабочки, экспоненциальное накопление ошибки, фазовое пространство. Фрактальное сжатие данных. Применение для анализа финансовых рынков. 113 Аннотация учебной программы дисциплины «Методы разработки корпоративных информационных систем» Цели изучения дисциплины. Целью дисциплины является ознакомление с современным состоянием технологий разработки и внедрения корпоративных информационных систем (КИС). Задачи изучения дисциплины. Задачами изучения дисциплины является приобретение студентами теоретических знаний и представлений о принципах разработки, используемых технологий при проектировании современных КИС. Дисциплина направлена на формирование следующих компетений: ОК-1 способен совершенствовать и развивать свой интеллектуальный и общекультурный уровень ОК-2 способен к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности ОК-6 способен самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе в новых областях знаний, непосредственно не связанных со сферой деятельности ПК-3 разрабатывать предприятий и и реализовывать планы информатизации их подразделений на основе Web- и CALS- технологий ПК-4 формировать технические задания и участвовать в разработке аппаратных и/или программных средств вычислительной техники ПК-5 выбирать методы и разрабатывать алгоритмы решения задач управления и проектирования объектов автоматизации 114 ПК-6 применять современные технологии разработки программных комплексов с использованием CASE-средств, контролировать качество разрабатываемых программных продуктов В процессе изучения дисциплины студенты должны: Иметь представление: об основных терминах и понятиях теории и практики в области разработки и внедрения современных КИС. Знать: состав и структуру различных классов КИС, современные технологии разработки проектирования КИС, содержание этапов разработки БИС, методы и инструментальные средства разработки КИС. Уметь: выбирать способы формализации процессов разработки КИС, состав и содержание технологических операций разработки КИС, разрабатывать планы выполнения проектировочных работ. Содержание курса: Введение. Общее представление об информационной системе. Специфика информационных программных систем. Задачи информационных систем (ИС). Проблемы построения ИС. Требования к техническим средствам, поддерживающим ИС. Общая классификация архитектур информационных приложений. Файл-серверные приложения. Клиент-серверные приложения. Intranet- приложения. Склады данных (DataWarehousing) и системы оперативной аналитической обработки данных. Интегрированные распределенные приложения. Средства и методологии проектирования, разработки и сопровождения файл-серверных приложений. Традиционные средства и методологии разработки файл-серверных приложений. Системы программирования и библиотеки. Средства и методы разработки приложений на основе СУБД на персональных компьютерах. Новые средства разработки файл-серверных приложений. Общая характеристика современных средств. Примеры новых 115 подходов. Перенос файл-серверных приложений в среду клиент-сервер. Библиотеки доступа к базам данных. Протокол ODBC и его реализации. Укрупнение приложений (Upsigsing). Рекомендации по использованию инструментальных средств разработки файл-серверных приложений. Средства и методологии проектирования, разработки и сопровождения клиент-серверных приложений. Базовые средства построения ИС в архитектуре "клиент-сервер". Серверы баз данных как базовая системная поддержка информационной системы в архитектуре "клиент-сервер". Язык SQL - базовый интерфейс SQL-сервера. Классический подход к проектированию реляционных баз данных. Концептуальные модели и схемы баз данных. CASEсистемы для проектирования информационных систем. Физическое проектирование баз данных. Средства и методологии проектирования, разработки и сопровождения Intranet-приложений. Основные понятия Intranet. Языки и протоколы. Серверы Intranet. Язык программирования Java. Возможные архитектуры Intranet-приложений. Информационные приложения, основанные на использовании "складов данных" (DataWarehousing). Проблема интеграции данных. Подходы и имеющиеся решения. Глобально распределенные информационные системы. Проблема "унаследованных систем" (Legacy Systems). Объектный подход. Предложения OMG и ODMG. Промышленный стандарт CORBA. 116 Аннотация учебной дисциплины «Разработка приложений для мобильных устройств» Основной целью курса является изучение архитектуры существующих мобильных платформ и платформ для разработки, а также ознакомление с принципами разработки приложений для мобильных устройств на примере платформы Google Android. Для достижения поставленной цели выделяются задачи курса: Сделать обзор существующих мобильных платформ. Дать студентам представление об основных проблемах разработки приложений для мобильных устройств. Научить основам проектирования и разработки приложений для платформы Google Android. Изучение данной дисциплины базируется на дисциплинах «Объектноориентированное программирование», «Объектно-ориентированный анализ и дизайн». Изучение дисциплины направлено на формирование следующих общекультурных и профессиональных компетенций: ОК-1, ОК-2, ОК-6; ПК-1, ПК-5, ПК-6. В результате освоения дисциплины студент должен: Знать: Список существующих мобильных платформ; Основные составляющие мобильной платформы для разработки; Основные проблемы разработки приложений для мобильных устройств; Архитектуру мобильной платформы Google Android; 117 Список компонент приложения для Android, их назначение и жизненный цикл; Принципы построения пользовательских интерфейсов для приложений Android. Уметь: Управлять пакетами платформы для разработки Android SDK; Управлять проектами платформы для разработки Google Android; Проектировать приложения для Android; Разрабатывать пользовательские интерфейсы и соответствующие компоненты приложений Android. Владеть навыками: разработки приложений для Android. Основные разделы курса: 1. Основные проблемы разработки приложений для мобильных платформ. 2. Архитектура мобильной платформы Google Android. 3. Разработка пользовательских интерфейсов в Android. 4. Хранилища данных в Android. Семинарские занятия включают практикум по приобретению навыков разработки приложений для Android и сосредоточены на изучении принципов разработки пользовательских интерфейсов. 118