Билет 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).
- Определяются основные требования, ограничения и ключевая функциональность продукта.
- Создается базовая версия модели прецедентов.
- Оцениваются риски.
- Уточнение (Elaboration)
В фазе «Уточнение» производится анализ предметной области и построение исполняемой архитектуры. Это включает в себя:
- Документирование требований (включая детальное описание для большинства прецедентов).
- Спроектированную, реализованную и оттестированную исполняемую архитектуру.
- Обновленное экономическое обоснование и более точные оценки сроков и стоимости.
- Сниженные основные риски.
- Построение (Construction)
В фазе «Построение» происходит реализация большей части функциональности продукта. Фаза Построение завершается первым внешним релизом системы и вехой начальной функциональной готовности. - Внедрение (Transition)
В фазе «Внедрение» создается финальная версия продукта и передается от разработчика к заказчику. Это включает в себя программу бета-тестирования, обучение пользователей, а также определение качества продукта.
SCRUM
SCRUM — метод управления проектами.
SCRUM — набор принципов, ценностей, политик, ритуалов, артефактов, основанных на скрайбинге и скрапбукинге, на которых строится процесс SCRUM-разработки, позволяющий в жестко фиксированные и небольшие по времени итерации, называемые спринтами (sprints), предоставлять конечному пользователю работающий продукт с новыми бизнес-возможностями, для которых определен наибольший приоритет.
Спринт — итерация в скраме, в ходе которой создается инкремент бизнес-продукта. Жестко фиксирован по времени. Длительность одного спринта от 1 до 4 недель. Чем короче спринт, тем более гибким является процесс разработки, релизы выходят чаще, быстрее поступают отзывы от потребителя, меньше времени тратится на работу в неправильном направлении
Принципы Scrum:
- Жестко фиксированные и небольшие по времени итерации - спринты
- Предоставление конечному пользователю работающее ПО с новыми возможностями, для которых определен наибольший приоритет
- Возможности ПО к реализации не могут изменяться на всем протяжении спринта
- Строго фиксирована небольшая длительность спринта
Agile
Agile - это семейство «гибких» подходов к разработке программного обеспечения. Такие подходы также иногда называют фреймворками или agile-методологиями. Agile возник в IT-среде, но затем распространился и в другие сферы – от промышленной инженерии до искусственного интеллекта. Смысл Agile сформулирован в Agile-манифесте разработки ПО: «Люди и взаимодействие важнее процессов и инструментов. Работающий продукт важнее исчерпывающей документации. Сотрудничество с заказчиком важнее согласования условий контракта. Готовность к изменениям важнее следования первоначальному плану».
Принципы, которые разъясняет Agile:
- удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения;
- приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособность полученного продукта);
- частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще);
- тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;
- проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
- рекомендуемый метод передачи информации — личный разговор (лицом к лицу);
- работающее программное обеспечение — лучший измеритель прогресса;
- спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок;
- постоянное внимание улучшению технического мастерства и удобному дизайну;
- простота — искусство не делать лишней работы;
- лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды;
- постоянная адаптация к изменяющимся обстоятельствам. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.