- •Вопросы к экзамену.
- •Современная аис.
- •Группа проекта пс.
- •Жизненный цикл программных систем.
- •Case-средства.
- •Функциональная модель. Конкретизация требований к проектируемой системе с использованием функциональной модели.
- •Конкретизация требований к системе с использованием илм
- •Конкретизация требований к проектируемой системе с использованием вариантов использования.
- •Унифицированный язык моделирования uml.
- •Диаграмма вариантов использования uml.
- •Диаграмма классов uml.
- •Паттерны проектирования GoF.
- •Диаграмма взаимодействия uml.
- •Архитектура программной системы.
- •Диаграмма деятельности uml
- •Диаграмма состояний uml.
- •Модульное тестирование. Разработка посредством тестирования.
- •Ответ: tdd (Test Driven Development)
- •Диаграмма компонентов и диаграмма развёртывания uml.
- •Непрерывная интеграция и основные этапы интеграции.
Case-средства.
Ответ: Разработчикам необходимы средства для автоматизированного проектирования и создания программ или так называемые CASE-средства (Computer Assisted Software Engineering – CASE). CASE – средства позволяют хранить и получать доступ к моделям через центральный репозиторий, а также манипулировать этими моделями на экране компьютера в графическом и текстовом режимах. В идеале репозиторий должен обеспечивать одновременный доступ многих пользователей (многих разработчиков) к моделям.
Перечень типичных функций CASE-средств (репозитория).
координация доступа к моделям.
помощь в организации взаимодействия между разработчиками.
хранение нескольких версия моделей.
идентификация различий между версиями.
возможность совместного использования одних и тех же концептов в различных моделях.
проверка непротиворечивости и целостности моделей.
генерация проектных отчетов и документов.
генерация структур данных и программного кода (конструирование ПО)
генерация моделей по существующей реализации (реконструкция ПО) и.т.д.
Следует отметить, что зачастую программа, сгенерированная с помощью CASE средств, представляет собой на самом деле всего лишь «скелет» программы – вычислительный алгоритм, который необходимо дорабатывать программисту как при обычном программировании.
Совершенствование процесса – это нечто большое, чем просто введение новых методов и средств. В действительности, введение новых методов и средств в организации, находящейся на низком уровне зрелости процесса разработки, может принести больше вреда чем пользы.
Подходящий пример – CASE – технологии. Интегрированные CASE-средства позволяют нескольким разработчикам взаимодействовать и совместно использовать проектную информацию для выработки новых проектных артефактов. Чтобы воспользоваться преимуществами этой технологии, бригада разработчиков должна подчиняться определенным правилам, поскольку CASE-средства налагают на процессы некоторые ограничения. Но если группа проекта не настолько квалифицированна, чтобы усовершенствовать процесс разработки, чрезвычайно маловероятно, чтобы она смогла воспринять процесс, диктуемый CASE-средствами. В результате потенциальные возможности роста продуктивности и качества, которые обещает новая технология, так и не будут реализованы.
Рассмотренные выше особенности применения CASE-средств не должны натолкнуть вас на мысль, что CASE-технология – «рискованное дело». Она может и не дать вам ожидаемых выгод, если вы пытаетесь использовать ее для того, чтобы направлять работу всей группы проекта, а группа проекта не готова следовать нужному процессу. Однако, те же методы и CASE – средства безусловно могут обеспечить повышение личной продуктивности и качества работы отдельных разработчиков, которые используют технологию на своих локальных рабочих станциях. Моделировать программные артефакты с помощью карандаша и бумаги уместно только в аудитории, но никак ни при работе над реальным проектом.
Архитектура CASE-средства
Архитектура CASE-средства состоит из 6 компонентов:
Репозиторий данных
Графический редактор диаграмм
Верификатор диаграмм
Документатор проекта
Администратор проекта
Сервис
Репозиторий данных
Является специализированной базой данных для отображения состояния проектируемой ЭИС в любой момент времени. В нём хранится информация об объектах проектироуемой системы и все подсистемы обмениваются данными с ним.
Графический редактор диаграмм
Графический редактор диаграмм предназначен для отображения в графическом виде в заданной нотации проектируемой ЭИС. Он позволяет:
создавать элементы диаграмм и взаимосвязи между ними
задавать описания элементов диаграмм
задавать описания связей между элементами диаграмм
редактировать элементы диаграмм, их взаимосвязи и описания
Верификатор диаграмм
Верификатор диаграмм служит для контроля правильности построения диаграмм в заданной методологии проектирования ЭИС. Он выполняет:
мониторинг правильности построения диаграмм
диагностику и выдачу сообщений об ошибках
выделение на диаграмме ошибочных элементов
Документатор проекта
Документатор проекта позволяет получать информацию о состоянии проекта в виде различных отчётов. Отчёты могут строиться по нескольким признакам, например по времени, автору, элементам диаграмм, диаграмме или проекту в целом.
Администратор проекта
Администратор проекта представляет собой инструменты, необходимые для выполнения следующих административных функций:
инициализация проекта
задания начальных параметров проекта
назначения и изменения прав доступа к элементам проекта
мониторинга выполнения работ
Сервис
Сервис представляет собой набор системных утилит по обслуживанию репозитория. Данные утилиты выполняют функции архивации данных, восстановления данных и создания нового репозитория.
Требования к системе FURPS+.
Ответ: Требования (requirements) – это возможности или условия, которым должна соответствовать система или проект. Основная задача этапа определения требований – найти, обсудить и зафиксировать, что действительно требуется от системы в форме, понятной и заказчикам ПО и членам команды разработчиков.
Существует несколько принципов систематизации требований и перечня атрибутов качества. Применительно к программным системам предложена следующая классификация требований, которая получила название модели FURPS+, что соответствует первым буквам соответствующих категорий требований на английском языке:
– функциональные требования (Functionality) – свойства, возможности, безопасность;
– требования к удобству использования (Usability) – человеческий фактор, справочная система, документация;
– требование к надежности (Reliability) – частота сбоев, возможность восстановления и предсказуемость поведения;
– требования к производительности (Performance) – время отклика, точность, доступность использования ресурсов;
– требования возможности сопровождения (Supportability) – адаптивность, возможность поддержки, соответствие международным стандартам, возможность конфигурирования, возможность расширения.
При этом символом “+” обозначены дополнительные условия, к которым относятся:
– проектные ограничения;
– требования управления системой;
– требования к графическому интерфейсу пользователя;
– физические требования;
– юридические требования – авторское право и т. п.
Помимо такой классификации требования делят на две большие категории: функциональные (относящиеся к поведению) и нефункциональные (все остальные). Центральное место среди указанных требований занимают функциональные, которые специфицируют особенности реализации отдельных бизнес-процессов моделируемой системы.
Требования к системе фиксируют в техническом задании – текстовом документе, в котором описывается разрабатываемая система. В этом документе содержится информация о том, что именно пользователи хотят получить от этой системы. В соответствии с этим документом заказчик будет оценивать готовую систему. Документ должен быть достаточно детальным, чтобы на его основе пользователь смог реально оценить полноту системы. В нем необходимо привести соответствующие сведения, которые будут использоваться проектировщиками на этапе проектирования системы.
Однако в техническом задании могут содержаться некоторые неточные сведения о разрабатываемой системе, поэтому часто составляется еще один документ – требования к системе. Требования должны формировать окончательное представление о разрабатываемой системе. Все последующие документы, создаваемые в процессе разработки системы, будут основываться именно на этих требованиях.
Помимо требований, классифицированных по модели FURPS+, полезно рассмотреть следующие вопросы:
– cовместимости (система должна быть совместима с существующими и проектируемыми информационными системами для данного объекта);
– масштабируемости (свойство, характеризующее поведение системы при добавлении ресурсов (обычно аппаратных) – масштабируемой принято считать систему, производительность которой возрастает пропорционально объему приобщенных ресурсов;
– адаптируемости, гибкости и возможности настройки под конкретные нужды пользователей;
– высокой степени защищенности информации от несанкционированного доступа и сбоев оборудования;
– единой внутренней логики работы системы, открытость для внесения необходимых изменений, устойчивость к организационным изменениям;
– обеспечения разделенного доступа пользователей к ресурсам системы и обеспечение сетевого режима функционирования;
– обеспечения ясности и простоты логической организации данных.
Требования оказывают существенное влияние на архитектуру разрабатываемой системы. Например, требования высокой производительности или надежности влияют на выбор программного обеспечения и аппаратных средств.