1.
Программное обеспечение информационных систем (ИС)
Программное обеспечение информационных систем — это совокупность программ,
обеспечивающих сбор, хранение, обработку, передачу и отображение информации,
необходимой для функционирования и управления организацией или предприятием. ПО
ИС включает операционные системы, системное ПО, прикладные программы и
специализированные системы (например, системы управления базами данных, ERP-
системы, CRM, аналитические платформы). Главная задача программного обеспечения
ИС — автоматизация бизнес-процессов, повышение эффективности работы и качество
принимаемых решений.
2. Проект. Свойства проекта. Жизненный цикл проекта и его фазы. Результат
проекта
Проект — это временное предприятие, направленное на создание уникального продукта,
услуги или результата. Свойства проекта включают уникальность, ограниченность по
времени и ресурсам, наличие целей и определенный результат.
Жизненный цикл проекта — последовательность фаз от его начала до завершения.
Обычно выделяют следующие фазы:
Инициация — определение целей, задач, обоснование проекта.
Планирование — разработка плана работ, распределение ресурсов, составление
бюджета.
Выполнение — непосредственная реализация проекта.
Контроль и мониторинг — отслеживание хода выполнения, управление рисками и
изменениями.
Завершение — сдача результатов, анализ итогов и документация.
Результат проекта — это продукт, услуга или другой результат, который должен
удовлетворять требования заказчика и служить целью создания проекта.
3. Этапы процесса сопровождения. Инсталляция, настройка обеспечения ИС
Сопровождение ПО ИС — это деятельность, направленная на обеспечение устойчивой
работы и актуализации программных продуктов в процессе эксплуатации. Основные
этапы сопровождения:
Инсталляция — установка программного обеспечения на оборудование заказчика с
учетом технических требований.
Настройка — адаптация ПО под конкретные условия и требования пользователя
(конфигурация, параметры, интерфейсы).
Обновление — внесение изменений для исправления ошибок или добавления
новых функций.
Техническая поддержка — помощь пользователям в работе с системой и решение
возникающих проблем.
Модернизация — усовершенствование ПО для соответствия изменяющимся
требованиям.
4. Настраиваемое поле. Группы, типы настраиваемых полей и их количество
Настраиваемое поле — это элемент пользовательского интерфейса или базы данных,
который можно создавать и настраивать под конкретные нужды без изменения исходного
кода системы. Они позволяют расширять функциональность ИС и адаптировать ее под
специфику бизнеса.
Типы настраиваемых полей обычно включают:
Текстовые поля — для ввода и хранения текста.
Числовые поля — для числовых значений.
Дата/время — для хранения дат и времени.
Логические поля — да/нет.
Списки — выпадающие списки с предопределенными значениями.
Вычисляемые поля — содержат значения, получаемые на основе формул.
Поля с подстановкой — позволяют выбирать значения из связанных таблиц.
Количество и группы настраиваемых полей зависят от конкретной системы, но обычно
система предоставляет гибкие средства для создания и группировки таких полей.
5. Поддержка и обслуживание программного обеспечения ИС
Поддержка и обслуживание программного обеспечения информационных систем — это
совокупность мероприятий, направленных на обеспечение стабильной работы,
исправление ошибок, адаптацию под изменяющиеся требования и улучшение
функционала системы в процессе её эксплуатации. Основные задачи поддержки и
обслуживания включают:
Исправление обнаруженных ошибок (корректировка дефектов).
Обновление и модернизация ПО для повышения производительности или
добавления новых функций.
Обеспечение совместимости с новым аппаратным обеспечением или
программными платформами.
Обучение пользователей и консультирование.
Мониторинг работы системы и предотвращение сбоев.
Обслуживание может быть техническим (устранение сбоев, обновления) и прикладным
(адаптация к новым бизнес-процессам).
6. Создание настраиваемых полей, вычисляемых настраиваемых полей,
настраиваемых полей с подстановкой
Создание настраиваемых полей в информационных системах позволяет расширять
стандартный функционал без необходимости изменения программного кода.
Настраиваемые поля бывают нескольких типов:
Обычные настраиваемые поля — позволяют пользователям вводить и хранить
данные определённого типа (текст, число, дата и т.п.).
Вычисляемые настраиваемые поля — содержат данные, вычисляемые
автоматически на основе заданной формулы или логики, например, сумма
значений других полей.
Настраиваемые поля с подстановкой — представляют собой ссылки на записи из
других таблиц или справочников, позволяя выбирать значения из
предопределенного набора (например, выбор клиента из списка).
Процесс создания включает выбор типа поля, указание имени, настройку формата и, при
необходимости, формулы или источника данных.
7. Сопровождение программного обеспечения ИС. Задачи сопровождения
Сопровождение программного обеспечения — это комплекс мероприятий по поддержке
работоспособности и актуальности программного обеспечения после его внедрения.
Задачи сопровождения включают:
Исправление ошибок, обнаруженных в процессе эксплуатации.
Адаптация ПО под изменяющиеся требования пользователей и внешних условий.
Оптимизация и улучшение производительности.
Обновление документации.
Обеспечение безопасности и защита от угроз.
Поддержка пользователей и обучение.
Цель сопровождения — обеспечить непрерывную и эффективную работу программного
обеспечения, минимизировать время простоя и повысить удовлетворенность
пользователей.
8. Операции и виды полей в формуле настраиваемого поля
Формулы в настраиваемых полях позволяют автоматически рассчитывать значения на
основе других данных. Основные операции в формулах:
Арифметические: сложение (+), вычитание (-), умножение (*), деление (/).
Логические: И (AND), ИЛИ (OR), НЕ (NOT).
Сравнения: равно (=), больше (>), меньше (<), больше или равно (>=), меньше или
равно (<=).
Функции: математические (SUM, AVG), строковые (CONCAT), даты (NOW,
DATE).
Виды полей, участвующих в формуле, могут быть числовыми, логическими, датами,
текстовыми (с ограничениями).
9. Технические вопросы сопровождения программного обеспечения ИС
Технические вопросы сопровождения связаны с обеспечением стабильности,
безопасности и актуальности программных продуктов. К ним относятся:
Обновления и патчи для исправления ошибок и уязвимостей.
Совместимость с аппаратным обеспечением и операционными системами.
Мониторинг производительности и загрузки системы.
Резервное копирование и восстановление данных.
Внедрение средств защиты и шифрования.
Автоматизация процессов обновления и контроля версий.
Решение технических вопросов — ключ к долговременному и бесперебойному
функционированию ИС.
10. Какова структура стоимости проекта. Анализ стоимости задач и ресурсов разного
вида. Анализ сверхурочных затрат
Структура стоимости проекта — это детальное распределение всех затрат, связанных с
выполнением проекта, которые включают:
Прямые затраты: оплата труда сотрудников, материалы, оборудование, лицензии.
Косвенные затраты: административные расходы, аренда помещений,
коммунальные услуги.
Резервы: финансовые средства, отложенные на непредвиденные расходы.
Сверхурочные затраты: дополнительная оплата за работу вне обычного рабочего
времени.
Анализ стоимости задач позволяет оценить бюджет каждой отдельной задачи с учетом
необходимых ресурсов: людских (часы работы специалистов), материальных, временных.
Анализ сверхурочных затрат выявляет перерасход ресурсов и помогает планировать
оптимальный режим работы, чтобы избежать перерасхода бюджета и выгорания
сотрудников.
11. Процесс сопровождения программного обеспечения ИС
Процесс сопровождения ПО включает несколько этапов:
1. Обнаружение и регистрация проблемы — выявление ошибок или
необходимости изменения.
2. Анализ и классификация проблемы — определение типа ошибки или задачи,
оценки влияния.
3. Разработка решения — исправление ошибки, добавление новой функции или
оптимизация.
4. Тестирование изменений — проверка корректности работы после внесённых
изменений.
5. Внедрение изменений — развертывание обновлённой версии ПО.
6. Мониторинг работы — контроль стабильности и производительности.
Этот процесс цикличен и обеспечивает долговременную поддержку и адаптацию ПО под
новые требования.
12. Риск. Виды рисков. Анализ рисков задач различного рода. Уменьшение рисков
проекта
Риск — это потенциальная угроза или возможность возникновения нежелательного
события, влияющего на ход или результат проекта.
Виды рисков:
Технические риски — ошибки в проектировании, проблемы с технологиями.
Организационные риски — проблемы с управлением, коммуникацией.
Финансовые риски — превышение бюджета, нехватка средств.
Временные риски — срывы сроков, задержки.
Внешние риски — изменения законодательства, экономические кризисы.
Анализ рисков включает выявление, оценку вероятности и степени воздействия на проект.
Уменьшение рисков достигается через планирование резервов, контроль качества,
адаптацию планов, обучение команды и мониторинг текущего состояния.
13. Этапы процесса сопровождения
Процесс сопровождения можно разбить на несколько этапов:
Инсталляция — установка и настройка ПО.
Эксплуатация — повседневное использование, поддержка пользователей.
Обнаружение проблем — сбор информации о сбоях и пожеланиях.
Ремонт и модификация — исправление ошибок и улучшение функционала.
Тестирование и внедрение изменений — проверка и развертывание обновлений.
Документирование и обучение — обновление документации и обучение
пользователей.
Эти этапы образуют цикл, который повторяется на протяжении всего жизненного цикла
ПО.
14. Перегрузка ресурсов. Причины перегрузки
Перегрузка ресурсов — ситуация, когда ресурсы (людские, технические, финансовые)
используются сверх своей нормальной или планируемой нагрузки.
Причины перегрузки:
Недооценка времени или объема работы.
Неравномерное распределение задач.
Внезапное увеличение требований или объема работы.
Отсутствие резервов или буферов.
Несогласованность в планировании и управлении проектом.
Перегрузка приводит к снижению эффективности, ошибкам, стрессу и риску срывов
сроков.
15. Техники сопровождения программного обеспечения ИС: реинжиниринг;
“обратный” инжиниринг
Реинжиниринг — процесс радикального переосмысления и перестройки
существующего программного обеспечения для улучшения его структуры,
производительности и удобства сопровождения. Часто включает переписывание
кода и оптимизацию.
Обратный инжиниринг — анализ существующего ПО с целью извлечения знаний
о его структуре, функциональности и поведении. Используется для понимания
унаследованного кода, документирования и подготовки к реинжинирингу.
Обе техники важны для поддержки и развития сложных систем.
16. Установление факта перегруженности трудового ресурса, величины и периодов
перегруженности, источника перегрузки
Для выявления перегрузки трудовых ресурсов используются методы:
Мониторинг времени — сбор данных о реальном времени работы сотрудников
над задачами.
Анализ загрузки — сравнение планируемых и фактических часов работы.
Оценка отклонений — выявление периодов, когда загрузка превышает
допустимые нормы.
Интервью и опросы — получение информации от сотрудников о причинах
перегрузки.
Анализ источников — выявление конкретных задач или процессов, вызывающих
нагрузку.
Это позволяет планировать корректировку нагрузки и распределения ресурсов.
17. Дизассемблирование
Дизассемблирование — это процесс преобразования машинного кода (исполняемого
файла) обратно в ассемблерный код, который более читаем для человека. Используется
для анализа работы программ, поиска ошибок, изучения вредоносного ПО или
восстановления утраченного исходного кода.
Преимущества:
Помогает понять логику программы без исходников.
Используется при исследовании вирусов и хакерских атак.
Позволяет выявлять скрытые функции или вредоносные закладки.
Недостатки:
Ассемблерный код сложен для восприятия.
Не всегда можно восстановить высокоуровневую логику.
Может нарушать лицензионные соглашения.
18. Реорганизация сетевого графика и ее недостатки
Реорганизация сетевого графика — это процесс пересмотра и изменения
последовательности и связей задач проекта для улучшения планирования.
Цели:
Оптимизация сроков.
Выравнивание ресурсов.
Предотвращение конфликтов и перегрузок.
Недостатки:
Может привести к потере гибкости плана.
Сложно учесть все внешние факторы.
Частые изменения демотивируют команду.
Повышается риск ошибок в планировании.
19. Методы и средства защиты программ от компьютерных вирусов
Защита ПО от вирусов включает:
Антивирусные программы — обнаруживают и удаляют вредоносное ПО.
Фаерволы — фильтруют входящий и исходящий трафик.
Обновление программного обеспечения — закрытие уязвимостей.
Контроль доступа — ограничение прав пользователей.
Резервное копирование — восстановление после атаки.
Шифрование и цифровые подписи — защита целостности и авторства кода.
Эффективность зависит от комплексного подхода и своевременных обновлений.
20. Замена перегруженного ресурса другим и ее недостатки
Переназначение задач с перегруженного ресурса на менее загруженный помогает снизить
нагрузку.
Недостатки:
Не всегда возможно, если требуются специфические навыки.
Время на передачу знаний и адаптацию нового исполнителя.
Возможны ошибки и снижение качества работы.
Могут возникнуть конфликты из-за изменений в распределении ответственности.
21. Технологическая и эксплуатационная безопасность программ
Технологическая безопасность направлена на предотвращение ошибок в
разработке и эксплуатации программ, включая контроль версий, тестирование,
контроль доступа к исходному коду.
Эксплуатационная безопасность касается защиты программ при их
использовании — защита от несанкционированного доступа, предотвращение
сбоев и атак.
Вместе обеспечивают надежность и устойчивость ПО к внешним и внутренним угрозам.
22. Вставка перерывов в задаче или назначении и ее недостатки
Перерывы могут помочь избежать перегрузок, однако их вставка в расписание задач:
Увеличивает общую длительность проекта.
Нарушает поток работы и может привести к потере концентрации.
Сложно планировать без создания “узких мест” в графике.
Могут негативно сказаться на мотивации исполнителей.
23. Методы идентификации программ и их характеристик
Идентификация программ включает:
Использование цифровых подписей и сертификатов.
Метки версий и контрольные суммы.
Метаданные и уникальные идентификаторы.
Анализ поведения и свойств кода.
Использование специализированных инструментов для проверки подлинности.
Это важно для защиты от подделок и несанкционированного использования.
24. Перевод трудозатрат в сверхурочные и его недостатки
Перевод обычных часов работы в сверхурочные может решить проблему дефицита
времени.
Недостатки:
Повышение затрат на оплату труда.
Риск выгорания сотрудников.
Снижение качества работы из-за усталости.
Ухудшение морального климата в команде.
25. Методы защиты программного обеспечения от внедрения на этапе эксплуатации
и сопровождения программных закладок
Программные закладки (трояны, скрытые функции) — это скрытые куски кода, которые
могут нарушить работу или безопасность системы.
Методы защиты:
Код-ревью и аудиты безопасности — регулярный анализ исходного кода.
Использование средств статического и динамического анализа —
автоматизированное выявление подозрительных участков.
Обфускация кода — усложнение кода, чтобы затруднить его понимание и
изменение.
Контроль целостности файлов — сравнение хеш-сумм для выявления изменений.
Изоляция и контроль доступа — ограничение прав на изменение и запуск кода.
Мониторинг поведения ПО — выявление аномалий при работе.
Эти меры позволяют своевременно обнаруживать и предотвращать внедрение
вредоносных закладок.
26. Автоматическое выравнивание ресурсов. Сравнение планов проекта до и после
выравнивания. Удаление результатов последнего выравнивания
Автоматическое выравнивание ресурсов — процесс перераспределения задач и сроков для
оптимального использования доступных ресурсов без перегрузок.
До выравнивания: Могут возникать конфликты и перегрузки одних ресурсов,
простаивание других.
После выравнивания: Балансировка нагрузки, более равномерное распределение
задач, возможно увеличение сроков некоторых задач.
Удаление результатов: Восстановление исходного плана, если выравнивание
привело к нежелательным последствиям, например, увеличению сроков или
ухудшению качества.
Этот процесс помогает оптимизировать работу команды и повысить эффективность
проекта.
27. Методы и средства обеспечения целостности и достоверности используемого
программного кода
Обеспечение целостности и достоверности кода важно для предотвращения ошибок и
атак.
Методы:
Хеширование и контрольные суммы — проверка неизменности файлов.
Цифровые подписи и сертификаты — подтверждение авторства и подлинности.
Версионирование и системы контроля версий — отслеживание изменений и
возврат к проверенным версиям.
Код-ревью и автоматизированные тесты — проверка качества кода.
Использование защищённых репозиториев — предотвращение
несанкционированного доступа.
28. Фактические данные и способы их ввода. Ввод повременных данных ресурсов и
задач
Фактические данные — реальные показатели выполнения задач и использования
ресурсов.
Ввод данных включает:
Ручной ввод исполнителями — отчёты о времени, затраченном на задачи.
Автоматизированный сбор данных — трекеры времени, системы учёта.
Ввод повременных данных — данные о продолжительности и периодах
использования ресурсов.
Анализ отклонений — сравнение с плановыми показателями для корректировки
планов.
Точное ведение фактических данных помогает управлять проектом и принимать решения.
29. Подходы к защите разрабатываемых программ от автоматической генерации
инструментальными средствами программных закладок
Автоматическая генерация программных закладок — использование инструментов для
внедрения вредоносного кода.
Защита:
Анализ исходного кода на наличие подозрительных шаблонов.
Использование «белых» и проверенных инструментов разработки.
Обфускация и шифрование кода.
Проверка целостности с помощью цифровых подписей.
Регулярный аудит и тестирование безопасности.
30. Системное распределение фактических трудозатрат задачи по ее трудовым
ресурсам. Способы ввода процента завершения задач
Распределение трудозатрат позволяет понять, кто и сколько времени потратил на задачу.
Ввод данных по каждому ресурсу.
Анализ распределения — помогает определить узкие места.
Процент завершения задач вводится вручную или автоматически через системы
управления проектами.
Используются показатели прогресса (например, 50% выполнения) для оценки
текущего состояния проекта.
31. Формальные методы доказательства правильности программ и их спецификаций
Это математические подходы, гарантирующие, что программа соответствует
спецификации.
Моделирование и верификация — формальные модели поведения программы.
Теоремы и доказательства — логические выкладки, подтверждающие
правильность.
Спецификации на основе логики и формальных языков.
Применяются в критически важных системах, где ошибка недопустима (авиация,
медицина).
32. Методы и средства анализа безопасности программного обеспечения
Включают:
Статический анализ кода — поиск уязвимостей без запуска.
Динамический анализ — тестирование в реальном времени.
Пентесты (этический взлом) — проверка на проникновение.
Мониторинг и аудит безопасности — отслеживание подозрительных действий.
Использование специализированных инструментов (сканеров уязвимостей).
33. Методы создания алгоритмических процедур
Алгоритмические процедуры — последовательности действий, реализующих решение
задачи.
Основные методы создания:
Декомпозиция — разбиение большой задачи на подзадачи.
Рекурсия — процедура вызывает сама себя для решения части задачи.
Итерация — повторение набора операций с изменяющимися параметрами.
Использование структур управления — последовательности, ветвления (if-else),
циклы (for, while).
Модульность — создание процедур, которые можно многократно использовать в
разных частях программы.
Такие методы обеспечивают структурированный и понятный код.
34. Методы обеспечения надежности программ для контроля их технологической
безопасности
Надёжность и технологическая безопасность обеспечиваются через:
Резервирование компонентов — дублирование критических модулей.
Контроль ошибок и исключений — обработка непредвиденных ситуаций.
Тестирование и валидация — проверка корректности и безопасности.
Использование стандартов безопасности — соблюдение нормативных
требований.
Мониторинг работы программы — своевременное обнаружение и устранение
сбоев.
Эти меры снижают риск отказа и обеспечивают безопасную работу.
35. Типовые инструменты и методы анализа программных проектов
Для анализа проектов применяются:
Диаграммы Ганта и сетевые графики — планирование и отслеживание сроков.
SWOT-анализ — выявление сильных, слабых сторон, возможностей и угроз.
Анализ рисков — оценка вероятности и последствий проблем.
Методы оценки затрат — анализ ресурсов и бюджета.
Инструменты управления версиями — отслеживание изменений.
Это помогает управлять проектом и повышать шансы на успех.
36. Угрозы безопасности программного обеспечения и примеры их реализации в
современном компьютерном мире
Основные угрозы:
Вредоносное ПО (вирусы, трояны, шпионские программы).
Атаки типа «отказ в обслуживании» (DoS, DDoS).
Фишинг и социальная инженерия.
SQL-инъекции и XSS-атаки — взлом веб-приложений.
Эксплуатация уязвимостей в ПО и ОС.
Примеры: массовые атаки WannaCry (вымогатель), утечки данных из-за неправильной
настройки серверов.
37. Инструментарий Java Development Kit (JDK)
JDK — набор инструментов для разработки Java-приложений.
Включает:
Компилятор javac — перевод Java-кода в байт-код.
Виртуальная машина JVM — выполнение байт-кода.
Отладчики, профилировщики — инструменты для тестирования и оптимизации.
Библиотеки классов — готовые модули для работы с файлами, сетью, GUI.
Средства для упаковки и подписывания приложений.
JDK — основной инструмент для Java-разработчиков.
38. Сертификационные испытания программных средств
Это комплекс тестов и проверок, подтверждающих соответствие программного продукта
стандартам.
Процедуры:
Функциональное тестирование — проверка заявленных функций.
Тестирование безопасности — уязвимости и атаки.
Производительность — нагрузочное тестирование.
Совместимость — работа на разных платформах и с другими ПО.
Документальное подтверждение — отчёты и сертификаты.
Сертификация повышает доверие к продукту.
39. Инструментарий Eclipse C/C++ Development Tools (CDT)
Eclipse CDT — интегрированная среда разработки для C и C++.
Функции:
Редактор кода с подсветкой и автодополнением.
Отладчик — пошаговое выполнение и просмотр переменных.
Инструменты сборки — автоматизация компиляции и линковки.
Управление проектами — интеграция с системами контроля версий.
Плагины для анализа и рефакторинга кода.
Популярна среди разработчиков на C/C++.
40. Стандарты и нормативные документы, регламентирующие защищенность
программного обеспечения и обрабатываемой информации
Важные стандарты:
ISO/IEC 27001 — система управления информационной безопасностью.
ISO/IEC 15408 (Common Criteria) — критерии оценки безопасности.
ГОСТы и национальные стандарты — требования к защите ПО в России.
Руководства по безопасности приложений OWASP — рекомендации по защите
веб-приложений.
Регламенты GDPR, HIPAA и др. — правила обработки персональных данных.
Соблюдение стандартов необходимо для легальной и безопасной работы.
41. Инструментарий NetBeans
NetBeans — интегрированная среда разработки (IDE) с поддержкой множества языков,
включая Java, PHP, C++.
Основные возможности:
Редактор с подсветкой синтаксиса и автодополнением.
Визуальный дизайнер интерфейсов — создание GUI с помощью drag-and-drop.
Отладчик и профилировщик — поиск и исправление ошибок, оптимизация
производительности.
Управление проектами и сборка — поддержка Maven, Ant, Gradle.
Поддержка систем контроля версий — Git, Subversion.
Плагины для расширения функциональности.
NetBeans популярен для разработки на Java и является удобной средой для обучения и
профессиональной работы.
42. Юридические средства защиты программного обеспечения
Юридическая защита включает:
Авторское право — охрана исходного кода и документации.
Патенты — защита технических решений и алгоритмов.
Лицензии — определение условий использования и распространения ПО
(например, GPL, MIT, коммерческие).
Договоры и соглашения — ограничения на копирование, модификацию,
распространение.
Правоприменение — судебные иски за нарушение интеллектуальной
собственности.
Юридические меры помогают защитить разработчика от пиратства и неправомерного
использования.
43. Программное обеспечение информационных систем
Программное обеспечение (ПО) ИС — совокупность программных средств,
обеспечивающих сбор, обработку, хранение и передачу информации в рамках
информационной системы.
Виды ПО ИС:
Системное ПО — операционные системы, драйверы, утилиты.
Прикладное ПО — специализированные программы для решения конкретных
задач.
Инструментальное ПО — средства разработки и сопровождения.
Сетевое ПО — программы для организации сетевого взаимодействия.
Обеспечение безопасности — антивирусы, системы шифрования.
ПО обеспечивает функциональность и надежность ИС.
44. Уязвимости современных методов защиты
Уязвимости могут возникать из-за:
Ошибок в реализации алгоритмов шифрования.
Недостаточной аутентификации и авторизации.
Использования устаревших или небезопасных протоколов.
Социальной инженерии и человеческого фактора.
Ошибок в программном коде (например, буферные переполнения).
Примеры уязвимостей: Zero-day атаки, атаки на протоколы WPA2, уязвимости в SSL/TLS.