Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЭ-2013-анн-130515.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать

Достоинства и недостатки

Достоинства размерно-ориентированных метрик:

  1. Простота расчёта.

  2. Понятность как процесса оценки, так и результата, особенно для представителей заказчика.

  3. Высокий уровень объективности оценки: слабая зависимость от экспертных оценок.

Недостатки размерно-ориентированных метрик:

  1. Нельзя или трудно получить достоверные данные до начала разработки.

  2. Нет оценки для баз данных.

  3. Нельзя оценить сложность форм и выходных документов.

  4. Нет возможности адекватно оценить сложные алгоритмы.

  5. Метод чувствителен к языкам программирования: для разных языков получаются разные оценки.

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

3. Анализ и проектирование систем

3.1. Анализ требований, его роль в жизненном цикле создания программной системы. Основные задачи анализа требований. Системный структурный анализ

Анализ требований – первая фаза жизненного цикла (ЖЦ) разработки программного обеспечения (ПО). На ней требования заказчика уточняются, формализуются и документируются.

Согласно стандарту ГОСТ Р ИСО/МЭК 12207-99, регламентирующему состав процессов жизненного цикла ПО, анализ требований входит в процесс разработки. Рассматривается анализ требований к системе и к ПО.

Анализ требований к системе подразумевает определение её функциональных потребностей, требований к надёжности и безопасности, определение внешних интерфейсов и т.п.

Анализ требований к ПО предполагает определение таких характеристик ПО, как функциональные возможности, характеристики производительности, эргономические характеристики, особенности среды функционирования, требования к исходным данным, требования к установке и приёмке, ограничения в процессе разработки (сроки, ресурсы и т.п.).

На этапе анализа требований фактически даётся ответ на вопрос «Что должна делать система?» Без достаточного полного и точного ответа на этот вопрос существует значительный риск провала проекта: ошибки на этой стадии обходятся наиболее дорого. Цель анализа – преобразовать неясные, неточные знания о требованиях к системе в точные, по возможности, определения. Принципиальная сложность заключается в том, что потенциально бесконечная предметная область должна быть представлена конечным числом формализованных спецификаций, представляющих концептуальную модель предметной области. Такое преобразование невозможно выполнить формально, оно требует участия специалиста-аналитика. Этот этап нередко вызывает наибольшие трудности, которые связаны со следующими проблемами:

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

  • заказчик обычно не в состоянии оценить выполнимость и трудоёмкость той или иной функции;

  • аналитик вынужден перерабатывать большое количество неструктурированной, а иногда и противоречивой информации;

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

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

Формализация знаний о предметной области, в свою очередь, преследует следующие цели:

  • обеспечение взаимопонимания между всеми участниками процесса разработки, в том числе, и заказчиками;

  • определение архитектуры будущей системы до её фактической реализации;

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

Для достижения этих целей необходимо решить следующие задачи:

  • выбрать методику проведения исследования;

  • определить круг ключевых специалистов со стороны заказчика, которые будут выступать в роли экспертов;

  • выбрать методологию создания концептуальной модели предметной области;

  • подобрать необходимые инструментальные средства;

  • определить и согласовать терминологию документов;

  • определить структуру документов;

  • провести исследования (анализ предметной области) в соответствии с требованиями заказчика и выбранной методологией;

  • сформировать необходимую документацию;

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

Документ, который получается в результате анализа, носит название «Техническое задание». Его структура определяется на основе ГОСТ 34.602-89. Техническое задание содержит следующие разделы:

  • общие сведения:

  • назначение и цели создания системы;

  • характеристика объекта автоматизации;

  • требования к системе;

  • состав и содержание работ по созданию системы;

  • порядок контроля и приёмки системы;

  • требования по подготовке и вводу в действие;

  • требования к документированию;

  • источники разработки;

  • глоссарий.

В процессе выполнения анализа предметной области обычно используют два подхода: структурный анализ и объектно-ориентированный анализ. Методологии структурного анализа более глубоко проработаны и более понятны заказчикам, но методологии объектно-ориентированного анализа более современны и перспективны.

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

В качестве базовых принципов структурного анализа выбраны два основных принципа: разбиение задач на подзадачи и иерархическое упорядочивание. Первый означает, что изначальная задача делится на фрагменты (модули), каждый из которых легко понять, а второй позволяет определить каждый модуль, выстраивая иерархию по уровням детализации.

Кроме того, в работе полезно руководствоваться правилами, предложенными в [15], некоторые из которых приведены далее:

  • абстрагирование – выделение лишь существенных деталей на данном уровне детализации;

  • формализация – строгий методический подход к решению проблемы;

  • концептуальная общность – следование единым принципам на всех этапах ЖЦ;

  • полнота – наличие необходимых элементов описания модели;

  • непротиворечивость – согласованность элементов модели;

  • независимость данных – состав и структура данных не зависит от реализации;

Структурная методология, которая чаще всего используется для анализа – SADT, точнее, её подмножество IDEF0, которое реализовано в инструментальном средстве BPwin.