- •Раздел 1. Общеобразовательные дисциплины
- •Раздел 2. Специальные дисциплины
- •Раздел 1. Общеобразовательные дисциплины
- •1.Основные понятия теории вероятностей. Случайные события, случайные величины. Функция распределения вероятностей, плотность распределения вероятностей.
- •2.Среднее значение (момента) случайных величин. Математическое ожидание, дисперсия.
- •3. Характеристическая функция случайных величин.
- •4. Нормальное (Гауссовское) распределение случайных величин. Плотность распределения и характеристическая функция момента.
- •5. Независимость случайных величин. Совместное распределение двух случайных величин. Условное распределение.
- •6. Семиуровневая модель osi/iso (гост р исо/мэк 7498-1-99).
- •Взаимодействие уровней модели osi
- •Уровень представления данных (Presentation layer)
- •Сеансовый уровень (Session layer)
- •Транспортный уровень (Transport Layer)
- •Сетевой уровень (Network Layer)
- •Канальный уровень (Data Link)
- •Физический уровень (Physical Layer)
- •7. Технико-экономические аспекты создания программного обеспечения вс. Оценка стоимости программной разработки.
- •8. Распределение затрат по фазам и видам работ программной разработки.
- •9. Компилятор в языках высокого уровня. Функции. Виды компиляторов.
- •Функции
- •Компиляторы
- •10. Ассемблер. Основные языковые конструкции. Необходимость двухпроходной трансляции. Основные работы, выполняемые транслятором. Таблицы транслятора.
- •11. Формальный язык. Грамматика. Сентенциальная форма. Нисходящий и восходящий анализ.
- •Грамматика
- •12. Понятие алгоритма и его свойства. Нормальные алгоритмы Маркова.
- •13. Иерархия запоминающих устройств. Кэш-память. Работа с кэш-памятью.
- •14. Прерывания. Классификация прерываний. Организация обработки прерываний.
- •15. Виды параллелизма. Векторная и конвейерная обработка. Классификация вычислительных комплексов по сочетанию потоков данных и потоков команд.
- •16. Информационная интегрированная среда предприятия. Общая база данных об изделиях (обди). Разделы обди.
- •17. Электронный документ. Технический электронный документ: форма представления, виды, жизненный цикл.
- •18. Электронная цифровая подпись. Суть и процесс использования электронной цифровой подписи.
- •19. Автоматизированные информационные системы. Цели и методы автоматизации.
- •20. Автоматизированные информационные системы. Математическое и программное обеспечение. Математическая модель. Программное изделие.
- •21. Свободное программное обеспечение: суть, области и проблемы использования.
- •22. Жизненный цикл программного обеспечения. Длительность. Состав. Стадии сопровождения.
- •Раздел 2. Специальные дисциплины
- •1. Модуль в языке System Verilog. Определение модуля, его применение. Задание портов и параметров.
- •2. Типы данных. Wire, reg, logic. Массивы. Строковый тип. Задание числе (в двоичном, десятичном, шестнадцатиричном виде).
- •3. Примитивы, типы примитивов. Объявление и применение примитивов.
- •4. Процедурные блоки (initial и always). Операторы управления временем.
- •Управление временем
- •5. Процедурные операторы. Операторы условного перехода. Операторы цикла. Операторы назначения. Оператор непрерывного назначения.
- •6. Маршрут проектирования программ плис. Средства разработки и проверки. Структура плис. Временные задержки сигналов
- •7. Математическое, программное и информационное обеспечение сапр. Математическая модель. Программное изделие.
- •8. Виды обеспечений, типы подсистем сапр. Общие требования к типовым сапр рэа.
- •9. Принципы измерения вектора движения ка
- •10. Геоцентрическая инерциальная система координат. Прямоугольные, сферические и геодезические координаты
- •11. Классификация орбит ка по параметрам движения. Параметры орбиты по Кеплеру.
- •12. Четыре основных свойства по.
- •13. Каскадная и спиральная модель жизненного цикла программного обеспечения
- •V модель (разработка через тестирование)
- •14. Биологический нейрон. Математическая модель нейрона. Связь искусственных нейронных сетей (инс) с другими дисциплинами. Проблемы, решаемые в контексте инс.
- •15. Архитектура нейронных сетей. Однослойный персептрон. Функции активации. Многослойный персептрон.
- •16. Понятие обучения. Методы обучения. Обучение персептрона. Процедура обратного распространения.
- •Метод к- ближайших соседей
- •Процедура обратного распространения
- •17. Гипотеза Хебба. Гипотеза ковариации. Конкурентное обучение.
- •18. Понятие vc-измерения (Вапника-Червоненкиса). Оценки обобщающей способности в задаче классификации. Теорема об универсальной аппроксимации.
- •19. Сети с локальным базисом. Сравнение сетей rbf с многослойным персептроном.
- •20. Сети Кохонена. Формализация задачи классификации для сети Кохонена. Алгоритм классификации для сети Кохонена.
- •21. Обучение Больцмана. Стохастические модели. Правило обучения Больцмана. Машина Больцмана.
- •22. Нейрокомпьютеры. Основные понятия. Классификация нейрокомпьютеров.
- •1. Что такое нейрокомпьютер?
- •2. Нейронные сети - основные понятия и определения
- •3. Модели нейронных сетей
- •3.1. Модель Маккалоха
- •3.2. Модель Розенблата
- •3.3. Модель Хопфилда
- •3.4. Модель сети с обратным распространением
- •4. Задачи, решаемые на основе нейронных сетей
- •5. Способы реализации нейронных сетей
- •6. Выводы
8. Распределение затрат по фазам и видам работ программной разработки.
http://www.monographies.ru/ru/book/section?id=4633
Затраты на создание ПО можно разделить на три фазы.
Создание оборудования на котором данное ПО будет функционировать.
Разработка ПО
Сопровождение ПО
Можно рассмотреть изменения этих затрат с течением времени. Так, на заре информационных технологий, в 50-е 60-е и 70-е, основной статьей затрат являлась разработка оборудования, занимавшая 80-90% бюджета проекта, втрое место было за разработкой ПО, на которую уходило порядка 10-15% и оставшаяся сумма, до 5% от бюджета, уходило на сопровождение. Такая динамика вызвана отсутствием стандартизации в производстве оборудования и софта и низкими возможностями машин того времени. Каждая система выполняла свою обособленную задачу, для которой должен был быть разработан собственный программный комплекс.
С началом 80-х и входом в широкий обиход стандарта IBM PC фокус в рассматриваемом процессе сместился в сторону разработки ПО. В большинстве случаев, кроме специфичных случаев производственных и бортовых ВС потребность в разработке оборудования просто отпала. Примерная оценка затрат по фазам может выглядеть так: 15-20% - разработка оборудования, 65-75% - разработка ПО, 5-20% - сопровождение после разработки. Такая динамика сохранялась вплоть до середины - конца 90-х кодов 20-го века.
Импульсом следующего смещения соотношения затрат можно считать дальнейшее развитие технологий разработки, таких как ООП, активное использование шаблонов итд, удешевившая и ускорившая процесс разработки практически полная гегемония стандарта IBM и мобильных на основе UNIX-подобных операционных систем в сфере создания ВС, практически полностью избавившая разработчиков от необходимости создания собственного оборудования и развитие коммуникационных технологий, и в первую очередь сети интернет, позволившее не только обеспечить устойчивый поток обновлений для существующих программных продуктов, но и создать обратную связь между пользователем и разработчиком, на основе которых данные обновления могут создаваться. Таким образом, на рубеже XXI века соотношение частей бюджета при разработке ПО можно оценить, как: 5-10% на создание систем, 10-20% на разработку софта, 70-85% на поддержку уже созданных программных решений. С течением лет данная динамика демонстрирует смещение в сторону увеличения затрат на поддержку.
Дополнение: фотка
9. Компилятор в языках высокого уровня. Функции. Виды компиляторов.
Языков высокого уровня на сегодняшний день существует буквально несколько сотен тысяч. Многие из них устарели, другие развиваются, и постоянно идёт процесс создания новых языков.
Языки высокого уровня делятся на:
процедурные = алгоритмические (Basic, Pascal, C), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру её решения;
логические (Prolog, Lisp), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;
объектно-ориентированные (Object Pascal, C++, С#, Java), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.
Для перевода команд, записанных на этих языках, понадобились программы-переводчики в двоичный код, которые получили название трансляторов (или компиляторов) языков высокого уровня. Таким образом, однажды записанный на языке высокого уровня алгоритм решения задачи мог не меняться, а для выполнения такой программы на новом процессоре необходимо было разработать только новый транслятор.
Характерной чертой языков высокого уровня является существование огромного числа уже готовых программных модулей, обеспечивающих решение различных задач, которые организованы в стандартные библиотеки. Программист должен использовать специальные команды для подключения нужных библиотек, а транслятор находить в них требуемые программные модули и объединять их с кодом программиста.
Задачи создания, сборки, отладки и выполнения больших программ настолько сложны, что понадобилось создание специальных программ-сред разработки новых программ, включающих визуальные средства работы на компьютере (визуальный интерфейс), позволяющих решать перечисленные выше задачи.
К таким средам разработки относятся уже устаревшие или устаревающие Турбо-Паскаль, Турбо-Си, Basic, Visual Studio-6, ранние версии Delphi.
Усложнение задач программирования привело к превращению сред разработки в технологии разработки. Одна из первых технологий под названием Java была предложена известной фирмой Sun Microsystems. Она позволила программистам впервые не учитывать архитектурных особенностей процессоров. Немного позже корпорацией Microsoft была изобретена технология .NET.
Эта технология представляет собой единую универсальную платформу (базу) программирования, одинаково пригодную для разработки любых программ, будь-то обычные Windows-приложения, приложения для работы с базами данных, Web-приложения или приложения для мобильных устройств.