Процесс проектирования информационных систем

Страницы работы

Содержание работы

Модуль 5

Процесс проектирования информационных систем

•  Предвидение будущего программного продукта, понятие прецедента, роли и сценария использования

•  Планирование разработки информационной системы, три стадии проектирования

•  Прототипирование информационных систем

•  Учёт факторов безопасности при проектировании информационных систем

•  Масштабируемость, готовность, надёжность, производительность информационных систем

•  Типы баз данных, основы проектирования баз данных

•  Оптимизация баз данных, нормальные формы

•  Основные аспекты кодирования программного обеспечения информационных систем

•  Основы тестирования программного обеспечения, терминология тестирования

•  Формирование предварительных версий программного обеспечения, номера версий

•  Основные особенности развёртывания информационных систем

•  Развёртывание центральных и периферийных компонентов

Предвидение будущего программного продукта

•  Предвидение – создание общего представления о целях проекта и его ограничениях

•  Цель – получение одинакового представления о будущем проекте между заказчиком и командой

Процесс предвидения

•  Сбор команды проекта

•  Определение структуры проекта

•  Выявление целей проекта

•  Оценка текущей ситуации

•  Оценка будущей ситуации и определение границ проекта

•  Выявление требований и профилей пользователей

•  Разработка концепции будущего продукта

•  Оценка рисков

Прецедент, роль и сценарий использования

•  Прецедент – описание серий событий, происходящих в системе при взаимодействии её с пользователями или внешними системами

•  Прецеденты определяют границы системы, а также последовательность и иерархию выполнения задач

•  Роль (actor) – внешнее по отношению к системе лицо или другая система, осуществляющее взаимодействие с системой

•  Сценарий использования – описание последовательности действий, выполняемых системой, пользователем или внешними системами для решения конкретной задачи

•  Сценарии использования позволяют выявить исключения

Планирование разработки программного продукта

•  Анализ требований

•  Функциональная спецификация – описание каждой из возможностей будущей системы, включая описание внутреннего устройства каждой из возможнойстей

•  Проект будущего решения

•  Рабочие планы

•  Оценки стоимости

•  Даты формирования основных результатов

Три стадии проектирования программного продукта

•  Концептуальный проект – видение системы с точки зрения пользователей и решаемых проблем

•  Логический проект – видение системы с точки зрения команды проекта, определяющее систему как набор сервисов

•  Физический проект – видение системы с точки зрения программистов, определяющее технологии, интерфейсы и классы системы

Процесс планирования

•  Разработка архитектуры и проекта будущей системы

•  Разработка функциональной спецификации – финального документа предвидения и планирования

•  Разработка планов и расписаний проекта

•  Формирование среды разработки, среды тестирования и среды представления

Прототипирование

•  Прототип (proof-of-concept) –работающее демонстрационное приложение, реализующее часть функций разрабатываемого приложения, предназначенное для минимального внедрения

•  В прототипе реализуются самые рисковые возможности проекта

•  Позволяет оценить правильность направления разработки, проверить идеи, оценить правильность принятых решений до выпуска разрабатываемой системы

Уязвимость информационных систем

Уязвимость

Пример

Слабый пароль

Сотрудники используют пустые или легко подбираемые пароли

Неточные настройки ПО

Сервисы обладают большими привилегиями, чем необходимо для их нормальной работы

Социальная инженерия

Атакующий может узнать пароль или номер банковской карты путём обмана

Передача незашифрованных данных

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

Переполнение буфера

Проверенное приложение выполняет незапланированные действия

Инъекция кода

Выполнение вредоносного кода на сервере или на клиенте

Секреты в коде

Злонамеренный пользователь может найти пароли, встроенные в программный код

Принципы разработки безопасных ИС

•  Система должна использовать известные проверенные механизмы обеспечения безопасности

•  Никогда не доверять внешним данным

•  Принимать, что внешние системы являются небезопасными

•  Использовать принцип наименьших привилегий

•  Система должна использовать минимально необходимое количество программного кода и данных

•  По умолчанию система должна быть настроена как безопасная

•  Не использовать спрятанную безопасность (security by obscurity)

•  Использовать принципы модели угроз STRIDE

Модель угроз STRIDE

•  Spoofing identity – подмена уникальности (подбор пароля, отправка e-mail от другого лица, вставка ложного IP в пакет данных)

•  Tampering with data (integrity) – повреждение данных

•  Repudiation – сокрытие следов

•  Information disclosure – разглашение информации

•  Denial of service – отказ в обслуживании

•  Elevation of privilege – эскалация привилегий

Учёт требований безопасности

•  Собрать требования по безопасности

•  Разработать модель угроз

Похожие материалы

Информация о работе