Билет 8 - stankin/design-1 GitHub Wiki

1.Понятие информационной базы. Внемашинные и машинные базы данных.

Информационная база - это совокупность всей информации, используемой в конкретной информационной системе, размещенной на материальных или электронных носителях.

  • Информационная база автоматизированной системы (информационная база АС) - совокупность упорядоченной информации, используемой при функционировании АС

    Пример: коммутационная станция, принимающая информацию от пользователей и автоматически сохраняющая их в БД.

  • Внемашинная информационная база автоматизированной системы (внемашинная информационная база АС) - часть информационной базы АС, представляющая собой совокупность документов, предназначенных для непосредственного восприятия человеком без применения средств вычислительной техники.

    Пример: Пилот самолета имеет написанные на брошюре инструкции, которые помогают ему принять решение при возникновении критической ситуации.

  • Машинная информационная база автоматизированной системы (машинная информационная база АС) : - часть информационной базы АС, представляющая собой совокупность используемой в АС информации на носителях данных.

    Пример: Hana - резидентная реляционная СУБД компании SAP :. Поддерживает как строчное, так и столбцовое хранение данных: первое используется для транзакционных нагрузок, второе — для аналитических. Для обеспечения отказоустойчивости система ведёт журналы упреждающей записи.

    Существует большое количестве всевозможных машинных носителей информации. Это Оптические диски (МО, DVD), магнитные ленты, CD-RW и другие, каждый из которых обладает своими достоинствами. Наиболее выгодным считается оптический DVD носитель. При использовании в роботизированных накопителях DVD идеальны для долгосрочного архивного хранения больших объемов данных (файлы, e-mail, Oracle read-only tablespaces) и для расширения жестких дисков и массивов. Физические свойства этих носителей, а также механизмы контроля записи и диагностики состояния оптических дисков обеспечивают надежное хранение ценных данных в течение десятков лет.

Источники: Информация о носителях - Информация о носителях и их применении

2.Назначение и способы применения методологий RUP, Agile, XP, Scrum в разработке программных средств.

Рациональный Унифицированный процесс (RUP)

Rational Unified Process (RUP) — методология разработки программного обеспечения, созданная компанией Rational Software

В основе RUP лежат следующие принципы:

  • Ранняя идентификация и непрерывное (до окончания проекта) устранение основных рисков.
  • Концентрация на выполнении требований заказчиков к исполняемой программе (анализ и построение модели прецедентов (вариантов использования)).
  • Ожидание изменений в требованиях, проектных решениях и реализации в процессе разработки.
  • Компонентная архитектура, реализуемая и тестируемая на ранних стадиях проекта.
  • Постоянное обеспечение качества на всех этапах разработки проекта (продукта).
  • Работа над проектом в сплочённой команде, ключевая роль в которой принадлежит архитекторам.
    RUP использует итеративные модели разработки в конце каждой итерации (а итерации включают в себя от 2 до 6 недель) проектная команда должная получить промежуточную, но функционирующую версию конечного продукта

Стадии RUP
1.Начальная стадия (Inception)
В фазе начальной стадии:

  • Формируются видение и границы проекта.
  • Создается экономическое обоснование (business case).
  • Определяются основные требования, ограничения и ключевая функциональность продукта.
  • Создается базовая версия модели прецедентов.
  • Оцениваются риски.
  1. Уточнение (Elaboration)
    В фазе «Уточнение» производится анализ предметной области и построение исполняемой архитектуры. Это включает в себя:
  • Документирование требований (включая детальное описание для большинства прецедентов).
  • Спроектированную, реализованную и оттестированную исполняемую архитектуру.
  • Обновленное экономическое обоснование и более точные оценки сроков и стоимости.
  • Сниженные основные риски.
  1. Построение (Construction)
    В фазе «Построение» происходит реализация большей части функциональности продукта. Фаза Построение завершается первым внешним релизом системы и вехой начальной функциональной готовности.
  2. Внедрение (Transition)
    В фазе «Внедрение» создается финальная версия продукта и передается от разработчика к заказчику. Это включает в себя программу бета-тестирования, обучение пользователей, а также определение качества продукта.

SCRUM

SCRUM — метод управления проектами.
SCRUM — набор принципов, ценностей, политик, ритуалов, артефактов, основанных на скрайбинге и скрапбукинге, на которых строится процесс SCRUM-разработки, позволяющий в жестко фиксированные и небольшие по времени итерации, называемые спринтами (sprints), предоставлять конечному пользователю работающий продукт с новыми бизнес-возможностями, для которых определен наибольший приоритет.

Спринт — итерация в скраме, в ходе которой создается инкремент бизнес-продукта. Жестко фиксирован по времени. Длительность одного спринта от 1 до 4 недель. Чем короче спринт, тем более гибким является процесс разработки, релизы выходят чаще, быстрее поступают отзывы от потребителя, меньше времени тратится на работу в неправильном направлении

Принципы Scrum:

  • Жестко фиксированные и небольшие по времени итерации - спринты
  • Предоставление конечному пользователю работающее ПО с новыми возможностями, для которых определен наибольший приоритет
  • Возможности ПО к реализации не могут изменяться на всем протяжении спринта
  • Строго фиксирована небольшая длительность спринта

Agile

Agile - это семейство «гибких» подходов к разработке программного обеспечения. Такие подходы также иногда называют фреймворками или agile-методологиями. Agile возник в IT-среде, но затем распространился и в другие сферы – от промышленной инженерии до искусственного интеллекта. Смысл Agile сформулирован в Agile-манифесте разработки ПО: «Люди и взаимодействие важнее процессов и инструментов. Работающий продукт важнее исчерпывающей документации. Сотрудничество с заказчиком важнее согласования условий контракта. Готовность к изменениям важнее следования первоначальному плану».

Принципы, которые разъясняет Agile:

  • удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения;
  • приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособность полученного продукта);
  • частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще);
  • тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;
  • проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
  • рекомендуемый метод передачи информации — личный разговор (лицом к лицу);
  • работающее программное обеспечение — лучший измеритель прогресса;
  • спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок;
  • постоянное внимание улучшению технического мастерства и удобному дизайну;
  • простота — искусство не делать лишней работы;
  • лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды;
  • постоянная адаптация к изменяющимся обстоятельствам. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.

Список использованных источников: