
- •1. Диссертация как документ-контейнер
- •2 Способы систематизации научной информации средствами информационных технологий
- •3 Понятие информации и информационных технологий. Классификация и виды информационных технологий
- •4 Информатизация и компьютеризация. Техническое и программное обеспечение. Техническое и программное обеспечение современных процедур научной деятельности.
- •5. Понятие и виды информационных систем.
- •6 Вычислительная техника, классификация компьютеров по применению.
- •7 Персональные компьютеры. Периферийные устройства. Электронная оргтехника.
- •8. Компьютерные сети. Современные средства связи и их взаимодействие в с компьютерной техникой
- •По территориальной распространенности
- •По типу функционального взаимодействия
- •9 Понятие операционной системы. Функции ос.
- •10. Классификация операционных систем. Понятие файловой системы в ос.
- •11. Авторизация, разграничение доступа к объектам ос. Краткий обзор современных операционных систем.
- •12. Общая характеристика языков программирования. Виды языков программирования
- •13. Общая характеристика языков программирования. Классы языков программирования
- •14 Стандартизация языков программирования. Парадигма программирования
- •17 Процедурное, объектно-ориентированное и логическое программирование
- •18 Математическое обеспечение информационных технологий и компьютерное моделирование в предметной области.
- •19 Понятие модели. Основные принципы и этапы моделирования.
- •20 Статистические методы анализа данных
- •21 Пакеты прикладных программ по статистическому анализу данных
- •22 Пакет прикладных программ по статистическому анализу данных Statgraphics. Возможности и особенности пакета Statgraphics.
- •23 Пакет Statgraphics. Одномерный статистический анализ: оценка числовых характеристик, подбор закона распределения случайных величин.
- •24 Пакет Statgraphics. Одномерный статистический анализ. Сравнение нескольких случайных величин: сравнение числовых характеристик и законов распределения. Статистическая проверка гипотез.
- •25 Пакет Statgraphics. Анализ зависимостей между величинами: регрессионный и корреляционный анализ. Анализ временных рядов.
- •26 Пакет Statgraphics. Многомерный анализ: метод главных компонентов, кластерный, дискриминантный анализ.
- •27 Имитационное моделирование. Принципы построения имитационных моделей. Примеры решения инженерных и научных задач методом имитационного моделирования.
- •28 Имитационные эксперименты. Язык имитационного моделирования gpss – возможности, структура. Примеры решения инженерных и научных задач методом имитационного моделирования.
- •29 Элементы теории планирования экспериментов. Методы планирования эксперимента, методы оптимизации, методы экспертного анализа.
- •30 Системы поддержки принятия решений. Пакеты прикладных программ.
- •31 Экспертные системы. Оболочки для построения экспертных систем. Поисковая, диагностическая, интерпретирующая системы. Пакеты прикладных программ.
- •32. Системы компьютерной математики и математического моделирования, системы программирования. Инструментальные средства для решения прикладных задач.
- •33 Назначение и состав универсальной интегрированной системы компьютерной математики matlab (MathCad).
- •34 Интерфейс системы, основные объекты и форматы чисел matlab (MathCad).
- •35 Операторы и функции в matlab (MathCad).
- •36 Матричные вычисления в matlab (MathCad).
- •37 Построение графиков в matlab (MathCad).
- •38 Основы программирования в matlab (MathCad).
- •39 Исследование функций и оптимизация в matlab (MathCad). Исследование функций одной переменной. Исследование функций нескольких переменных.
- •40 Линейное программирование (решение задач оптимизации) в matlab (MathCad).
- •41.Понятие и классификация программного обеспечения. Обзор и характеристики пакетов программ в предметной области.
- •42 Текстовый процессор: основные объекты. Символ, абзац, страница, непечатаемые знаки, документ. Стиль, шаблон, перекрестные ссылки, оглавления, указатели.
- •43. Табличные процессоры. Системы поддержки принятия решения.
- •44. Статистический анализ данных средствами ms Excel.
- •45 Пакет анализа ms Excel. Описательная статистика. Решение задач описательной статистики.
- •46 Пакет анализа ms Excel. Генерация случайных чисел.
- •47. Пакет анализа ms Excel. Корреляционный анализ, регрессионный анализ.
- •48 Поиск корней уравнения с помощью подбора параметра в ms Excel.
- •49 Поиск решения. Решение задач оптимизации средствами ms Excel.
- •50.Системы подготовки презентаций.
- •51.Сервисные инструментальные средства: архиваторы, электронные словари, переводчики, программы распознавания текста
- •Электронные переводчики
- •Электронный переводчик как словарь.
- •Электронный переводчик как накопительная словарная база
- •Программа распознавания текста CuneiForm
- •Основные возможности программы
- •Достоинства CuneiForm
- •Недостатки
- •52 "Технология Compreno для обработки текстов на естественном языке. Множество прикладных задач по обработке текстов на естественном языке с помощью универсальной лингвистической платформы Compreno."
- •53 Основы компьютерной графики. Графические редакторы. Понятие о векторных и растровых графических редакторах.
- •54. Универсальный растровый графический редактор Photoshop – возможности, назначение , создание и редактирование рисунков.
- •55. Графический редактор Corel Draw – возможности, назначение, создание и редактирование рисунков.
- •56. Понятие системы автоматизированного проектирования. Обзор систем автоматизированного проектирования.
- •57 Универсальный векторный графический редактор AutoCad – возможности, назначение, создание и редактирование чертежей.
- •Разработка проекта в системе Autocad
- •58. Системы автоматизированного проектирования: возможности, назначение, принципы работы (пример ArchiCad)
- •59 Структуры данных, модели данных, создание базы данных и таблиц
- •60 Основы проектирования баз данных. Базы знаний.
- •Базы знаний
- •61 Системы управления базами данных (субд): понятие и основные объекты. Access, Oracle, MySql, Foxpro, dBase, sql Server и др.
- •62 Реляционные и объектно-ориентированные базы данных.
- •63 Объекты ms Access. Построение различных типов запросов в ms Access. Формы и отчеты в ms Access.
- •Построение различных типов запросов в ms Access
- •1 Создание запроса на выборку при помощи мастера
- •2 Создание запроса на выборку без помощи мастера
- •3. Создание запроса с параметрами, запрашивающего ввод условий отбора при каждом запуске
- •Формы и отчеты в ms Access
- •64.Основы языка sql и построение sql-запросов. Сортировка, поиск, фильтрация данных.
- •65 Основы web-дизайна
- •66. Проектирование и разработка web-сайтов и сопутствующее по
- •Создание шаблона html-документа и заполнение его информацией
- •68. Основы Web-дизайна. Работа с редакторами визуального проектирования.
- •69. Основы Интернет-программирования. Основы JavaScript.
- •70 Компьютерные сети: локальные, корпоративные, региональные, глобальные.
- •71 Службы сети Интернет: электронная почта, всемирная информационная паутина, служба передачи файлов, служба телеконференций и др.
- •72. Работа с почтовым клиентом. Планирование совместной деятельности в корпоративной сети с помощью почтовых программ
- •73. Методы и средства поиска информации в интернет
- •74 Проблемы защиты информации: несанкционированный доступ к данным, влияние деструктивных программ, преступления в деловых Интернет-технологиях.
- •75 Организационные методы защиты информации.
- •Физическое ограничение доступа
- •Контроль доступа к аппаратуре
- •Контроль доступа к данным и носителям информации
- •76 Технические и программные методы защиты информации.
- •Защита данных на отдельном компьютере
- •Защита данных в локальных сетях
- •1) Служба www
- •2) Электронная цифровая подпись (эцп)
- •77. Криптографические методы защиты. Электронная цифровая подпись. Методы компьютерной стеганографии.
- •78. Организационно-правовые аспекты защиты информации и авторское право. Нормативные документы.
- •Глава 7 защита информации
- •80 Пути решения проблемы информатизации общества.
- •81 Информационные технологии управления
- •Внедрение информационных технологий в образование
- •Электронное обучение: самообучение; обучение, управляемое инструктором; дистанционное обучение.
- •Управление качеством образования на основе информационных технологий
- •83. Ит сбора, хранения и быстрой обработки научн. Инф.
- •84 Проблемы и риски внедрения информационных технологий в общественной практике.
14 Стандартизация языков программирования. Парадигма программирования
Стандартизация языков программирования
Концепция языка программирования неотрывно связана с его реализацией. Для того чтобы компиляция одной и той же программы различными компиляторами всегда давала одинаковый результат, разрабатываются стандарты языков программирования. Существует ряд организаций, целенаправленно занимающихся вопросами стандартизации. Это Американский национальный институт стандартов ANSI (American National Standards Institute), Институт инженеров по электротехнике и электронике IEEE (Institute of Electrical and Electronic Engineers), Организация международных стандартов ISO (International Organization for Standardization).
Как правило, при создании языка выпускается частный стандарт, определяемый разработчиками языка. Если язык получает широкое распространение, то со временем появляются различные версии компиляторов, которые не точно следуют частному стандарту. В большинстве случаев идет расширение зафиксированных первоначально возможностей языка. Для приведения наиболее популярных реализаций языка в соответствие друг с другом разрабатывается согласительный стандарт. Очень важным фактором стандартизации языка программирования является своевременность появления стандарта – до широкого распространения языка и создания множества несовместимых реализаций. В процессе развития языка могут появляться новые стандарты, отражающие современные нововведения. Так, язык FORTRAN первоначально был стандартизирован в 1966 году. В результате был издан стандарт FORTRAN 66. Далее этот стандарт несколько раз пересматривался (в 1977 году был выпущен FORTRAN 77, затем появился и FORTRAN 90).
Язык Java, ставший в последнее время весьма распространенным, постепенно был значительно расширен и модифицирован: новая спецификация получила название Java 2.
В процессе развития языка некоторые его конструкции и функции устаревают. Однако с целью обратной совместимости новые версии должны поддерживать и все устаревающие возможности. Это ведет к "разбуханию" компиляторов. В последнее время в реализациях введено понятие не рекомендуемой и устаревшей возможности. В первом случае следующий стандарт еще будет поддерживать не рекомендуемую возможность, но может перевести ее в категорию устаревшей. Во втором случае стандарт может исключить поддержку возможности, объявленной ранее как устаревшая. Введение не рекомендуемых и устаревших возможностей предоставляет разработчикам временной интервал, в течение которого они могут модифицировать код в соответствии с новыми требованиями стандарта.
Парадигмы программирования
Синтаксис языка описывает систему правил написания различных языковых конструкций, а семантика языка программирования определяет смысл этих конструкций. Синтаксис языка программирования может быть описан с помощью НБФ-нотаций.
Семантика языка взаимосвязана с используемой вычислительной моделью. В настоящее время языки программирования в зависимости от применяемой вычислительной модели делятся на четыре основные группы:
Процедурные языки, которые представляют собой последовательность выполняемых операторов. Если рассматривать состояние ПК как состояние ячеек памяти, то процедурный язык – это последовательность операторов, изменяющих значение одной или нескольких ячеек. К процедурным языкам относятся FORTRAN, C, Ada, Pascal, Smalltalk и некоторые другие. Процедурные языки иногда также называются императивными языками. Код программы на процедурном языке может быть записан следующим образом:
оperator1; operator2; operator3;
Аппликативные языки, в основу которых положен функциональный подход. Язык рассматривается с точки зрения нахождения функции, необходимой для перевода памяти ПК из одного состояния в другое. Программа представляет собой набор функций, применяемых к начальным данным, позволяющий получить требуемый результат. К аппликативным языкам относится язык LISP. Код программы на аппликативном языке может быть записан следующим образом:
function1(function2(
function3(beginning_date)));
Языки системы правил, называемые также языками логического программирования, основываются на определении набора правил, при выполнении которых возможно выполнение определенных действий. Правила могут задаваться в виде утверждений и в виде таблиц решений. К языкам логического программирования относится язык Prolog.
Код программы на языке системы правил может быть записан следующим образом:
if condinion1 then operator1;
if condinion2 then operator2;
if condinion3 then operator3;
Объектно-ориентированные языки, основанные на построении объектов как набора данных и операций над ними. Объектно-ориентированные языки объединяют и расширяют возможности, присущие процедурным и аппликативным языкам. К объектно-ориентированным языкам относятся C++, Object Pascal, Java.
В настоящий момент наибольшее распространение получили языки, основанные на объектно-ориентированной модели. Они, реализуя процедурную модель построения языка, поддерживают аппликативность конструкций, позволяя представлять блок-схему выполнения структурированной программы как некоторый набор аппликативных функций.
15. Технология программирования как процесс разработки программных продуктов, создающихся как неразрывное целое в виде хорошо оттестированных программ и методических материалов, описывающих их назначение и использование
Программирование — процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций (программ) на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ.
Технология программирования - совокупность методов и средств, используемых в процессе разработки программного обеспечения.
Разработка программного обеспечения — это род деятельности и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания.
Технология программирования представляет собой набор технологических инструкций, включающих:
указание последовательности выполнения технологических операций;
перечисление условий, при которых выполняется та или иная операция;
описания самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т. п.
Кроме набора операций и их последовательности, технология также определяет способ описания проектируемой системы, точнее модели, используемой на конкретном этапе разработки.
Различают технологии, используемые на конкретных этапах разработки или для решения отдельных задач этих этапов, и технологии, охватывающие несколько этапов или весь процесс разработки. В основе первых, как правило, лежит ограниченно применимый метод, позволяющий решить конкретную задачу. В основе вторых обычно лежит базовый метод или подход (парадигма), определяющий совокупность методов, используемых на разных этапах разработки, или методологию.
В соответствии с историческими этапами развития технологии программирования выделяется несколько подходов.
Структурный подход - представление задачи в виде иерархии подзадач простейшей структуры. Проектирование осуществлялось "сверху-вниз" и подразумевало реализацию общей идеи, обеспечивая проработку интерфейсов подпрограмм. Одновременно вводились ограничения на конструкции алгоритмов, рекомендовались формальные модели их описания, а также специальный метод проектирования алгоритмов — метод пошаговой детализации. Среди наиболее известных языков этой группы стоит назвать PL/1, ALGOL-68, Pascal, С.
Модульное программирование предполагает выделение групп подпрограмм, использующих одни и те же глобальные данные, в отдельно компилируемые модули (библиотеки подпрограмм), например, модуль графических ресурсов. Связи между модулями при использовании данной технологии осуществляются через специальный интерфейс, в то время как доступ к реализации модуля (телам подпрограмм и некоторым "внутренним" переменным) запрещен. Эту технологию поддерживают современные версии языков Pascal и С (C++), языки Ада и Modula.
Объектно-ориентированное программирование (ООП) определяется как технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а классы образуют иерархию с наследованием свойств.
Современная технология программирования — компонентный подход, который предполагает построение программного обеспечения из отдельных компонентов — физически отдельно существующих частей программного обеспечения, которые взаимодействуют между собой через стандартизованные двоичные интерфейсы. В отличие от обычных объектов объекты-компоненты можно собрать в динамически вызываемые библиотеки или исполняемые файлы, распространять в двоичном виде (без исходных текстов) и использовать в любом языке программирования, поддерживающем соответствующую технологию.
Каждый программный продукт должен выполнять определенные функции, т.е. делать то, что задумано. Качество программного продукта − это совокупность его черт и характеристик, которые влияют на его способность удовлетворять заданные потребности пользователей.
В настоящее время критериями качества программного продукта принято считать:
− функциональность (способность выполнять набор функций, удовлетворяющих заданным или подразумеваемым потребностям пользователей.);
− надежность (его способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью);
− легкость применения (характеристики, которые позволяют минимизировать усилия пользователя по подготовке исходных данных, применению программного продукта и оценке полученных результатов, а также вызывать положительные эмоции определенного или подразумеваемого пользователя);
− эффективность (отношение уровня услуг, предоставляемых программным продуктом пользователю при заданных условиях, к объему используемых ресурсов);
− сопровождаемость (характеристики программного продукта, которые позволяют минимизировать усилия по внесению изменений для устранения в нем ошибок и по его модификации в соответствии с изменяющимися потребностями пользователей);
− мобильность (способность ПС быть перенесенным из одной среды (окружения) в другую, в частности, с одной ЭВМ на другую).
Важным этапом создания программного продукта является тестирование и отладка.
Отладка − это деятельность, направленная на обнаружение и исправление ошибок в программном продукте с использованием процессов выполнения его программ.
Тестирование − это процесс выполнения его программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ.
Отладку можно представить в виде многократного повторения трех процессов: тестирования, в результате которого может быть констатировано наличие в программном продукте ошибки, поиска места ошибки в программах и документации ПС и редактирования программ и документации с целью устранения обнаруженной ошибки.
Отладка = Тестирование + Поиск ошибок + Редактирование
Существуют следующие методы тестирования ПС:
1) Статическое тестирование – ручная проверка программы за столом.
2) Детерминированное тестирование – при различных комбинациях исходных данных.
3) Стохастическое – исходные данные выбираются произвольно, на выходе определяется качественное совпадение результатов или примерная оценка.
16. Представление о программировании как о процессе формализации требований заказчика (пользователя) в виде внешнего проекта, создания необходимых структур данных, кодирования программ, их тестирования и отладке, а также формализованного документирования результатов проектирования
Целью любого проекта по разработке программного продукта является поставка заказчику программного обеспечения, соответствующего требованиям, которые к нему предъявляются. Качество ПО зависит от вклада всех членов проектной команды: программистов, специалистов по тестированию, бизнес-аналитиков, QA-инженеров и др. Менеджер проекта несет персональную ответственность за успех проекта и, следовательно, за качество созданного в рамках проекта ПО.
The PMBOK Guide (Американский стандарт – «Руководство к своду знаний по управлению проектами») определяет Quality Assurance как "выполнение планируемой, систематической деятельности в области качества для того, чтобы обеспечить применение в проекте всех процессов, необходимых для соответствия требованиям".
Таким образом, работа по обеспечению качества строится по следующей схеме:
1. Перед началом проекта всегда проводится анализ. На этой стадии специалист по обеспечению качества должен изучить требования к продукту, создаваемому в проекте и, основываясь на задокументированном опыте компании, предложить менеджеру проекта возможные варианты построения процесса разработки в проекте с включением необходимых активностей для обеспечения качества, таких как:
Сбор и анализ требований к ПО (как требований заказчика, так и нормативных и законодательных требований к ПО)
Прототипирование
Разработка дизайна
Кодирование — процесс написания программного кода, скриптов, с целью реализации определённого алгоритма на определённом языке программирования.
Различные виды анализа рабочих продуктов (peer review), включая анализ планов проекта.
Различные виды тестирования (функциональное, нагрузочное, юнит-тестирование)
Приемка готового ПО заказчиком и поставка ПО.
2. Контроль проектного процесса. Проектный процесс строится на базе стандартных процессов компании (таких, как «Менеджмент проекта», «Разработка», «Управление конфигурацией» и т.д.). Стандартные процессы могут быть адаптированы к нуждам конкретного проекта.
3. Кроме работы непосредственно в проекте может проводиться так называемый внутренний аудит проекта, т.е. независимая проверка того, насколько точно в проекте выполняются те требования, которые предъявляются в компании к функционированию процессов.
4. Наиболее опытные QA-Engineer могут принимать участие в проведении официальной оценки соответствия СМК компании требованиям CMMI (набор моделей (методологий) совершенствования процессов в организациях разных размеров и видов деятельности) или в проведении сертификации других компаний на соответствие требованиями ИСО 9001.
Важным этапом создания программного продукта является тестирование и отладка.
Отладка − это деятельность, направленная на обнаружение и исправление ошибок в программном продукте с использованием процессов выполнения его программ.
Тестирование − это процесс выполнения его программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ.
Отладку можно представить в виде многократного повторения трех процессов: тестирования, в результате которого может быть констатировано наличие в программном продукте ошибки, поиска места ошибки в программах и документации ПС и редактирования программ и документации с целью устранения обнаруженной ошибки.
Отладка = Тестирование + Поиск ошибок + Редактирование
Основные принципы организации тестирования:
1) необходимой частью каждого теста должно являться описание ожидаемых результатов работы программы, чтобы можно было быстро выяснить наличие или отсутствие ошибки в ней;
2) следует по возможности избегать тестирования программы ее автором, т.к. кроме уже указанной объективной сложности тестирования для программистов здесь присутствует и тот фактор, что обнаружение недостатков в своей деятельности противоречит человеческой психологии (однако отладка программы эффективнее всего выполняется именно автором программы);
3) по тем же соображениям организация - разработчик программного обеспечения не должна “единолично ” его тестировать (должны существовать организации, специализирующиеся на тестировании программных средств);
4) должны являться правилом доскональное изучение результатов каждого теста, чтобы не пропустить малозаметную на поверхностный взгляд ошибку в программе;
5) необходимо тщательно подбирать тест не только для правильных (предусмотренных) входных данных, но и для неправильных (непредусмотренных);
6) при анализе результатов каждого теста необходимо проверять, не делает ли программа того, что она не должна делать;
7) следует сохранять использованные тесты (для повышения эффективности повторного тестирования программы после ее модификации или установки у заказчика);
8) тестирования не должно планироваться исходя из предположения, что в программе не будут обнаружены ошибки (в частности, следует выделять для тестирования достаточные временные и материальные ресурсы);
9) следует учитывать так называемый “принцип скопления ошибок”: вероятность наличия не обнаруженных ошибок в некоторой части программы прямо пропорциональна числу ошибок, уже обнаруженных в этой части;
10) следует всегда помнить, что тестирование - творческий процесс, а не относиться к нему как к рутинному занятию.
Последней составляющей процесса программирования является документирование. Оно включает широкий спектр описаний, облегчающих процесс программирования и обогащающих результирующую программу. Постоянное документирование должно составлять неотъемлемую часть каждого шага программирования. Постановка задачи, проектные документы, алгоритмы и программы – все это документы. Внутренняя документация, включенная непосредственно в программу, облегчает чтение кода.
Пользовательская документация программы объясняет пользователям, как они должны действовать, чтобы использовать данную программу.
Документация по сопровождению программы описывает программу с точки зрения её разработки. Эта документация необходима, если программа предполагает изучение того, как она сконструирована.