Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Создание функциональных моделей и диаграммСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
В этой части учебника показано, как аналитик (или автор) создает описание работы системы, набрасывая эскиз функциональной SADT-модели. Будет рассмотрено, как получить информацию в ходе опроса, как создаются диаграммы, как осуществляется декомпозиция и как оценить собственную работу с точки зрения точности и наглядности.
Сбор информации Опрос – это сбор сведений. Первый опрос служит точкой отсчета в процессе моделирования. Чтобы провести опрос, аналитик вначале выбирает наилучший источник информации (документ или конкретного человека), а затем организует его «опрос». Цель опроса – получение порции информации, необходимой для начала либо для продолжения построения определенной части модели. После первого опроса sadt-модель используется для определения той информации, которую необходимо получить в ходе следующего опроса. В соответствии с иерархией модели может быть проведена последовательность опросов для выяснения все более конкретных деталей рассматриваемой области. SADT-аналитики используют свои модели для более сфокусированного опроса и оптимизации затрат времени на работу с источниками информации. Это повышает эффективность работы, сокращает время на повторное рассмотрение неясных или забытых деталей и уменьшает вероятность повторно задавать вопросы одному и тому же эксперту. При таких условиях эксперты более охотно отвечают на вопросы аналитиков и тем самым спасают аналитические проекты от одного из «убийц» – прекращения потока информации. Обычно источниками информации служат эксперты. Часто именно они являются наилучшими источниками, потому что им знакомы текущие нюансы и недокументированные аспекты системы. Самое важное – это то, что экспертам известны факты, которые не отражены в документах или которые трудно объяснить. Их можно получить только путем опроса экспертов. Чтобы подготовиться к такому опросу, следует исследовать другие источники информации, например документы. Существует множество различных стратегий для извлечения информации из этих источников. Вот те, которые обычно принято использовать: - чтение документов; - наблюдение за выполняемыми операциями; - анкетирование; - использование собственных знаний; - составление описания. Документы – хороший источник информации, потому что они чаще всего доступны и их можно «опрашивать» в удобном для себя темпе. Чтение документов – прекрасный способ получить первоначальное представление о системе и сформулировать вопросы к экспертам. Для SADT-проектов такие документы могут храниться в библиотеке проекта и распространяться в виде небольших рабочих пакетов, называемых папками. Наблюдение за работой моделируемой системы – хорошая стратегия получения информации. Оно должно проводиться всегда, когда есть такая возможность. Через наблюдение, а возможно, и участие аналитики получают информацию о происходящих день за днем операциях из первых рук. Во время наблюдения за работой системы часто возникают вопросы, которые никогда бы не появились, если бы аналитик только читал документы или разговаривал с экспертами. Анкетирование проводится для того, чтобы опросить большие группы экспертов в сжатые сроки. Его можно использовать, например, когда необходимо быстро получить сведения о работе какой-либо определенной части системы с разных позиций. Анкетирование при опросе экспертов позволяет выявить, какие части системы более всего нуждаются в улучшении. Иногда опытные аналитики исследуют большое число систем определенного типа (например, производство, телефонная сеть, бухгалтерия). В ходе многих проектов они приобретают фундаментальные знания в соответствующей предметной области, относительно определенного класса систем. Такие знания очень полезны, поскольку для многих различных систем существуют общие понятия. Эти понятия могут иметь широкое применение. Если вы хорошо знаете предметную область, то можете стать сами источником информации. Еще одна полезная стратегия – придумать описание и дать его экспертам для корректировки. Придуманные описания могут дать альтернативные схемы функционирования системы – схемы, о которых эксперты никогда не думали. В процессе анализа, независимо от источников информации, проводятся опросы нескольких типов. Выбор того или иного типа зависит от вида необходимой информации и поставленной цели. Наиболее распространены следующие типы опросов: - опросы для сбора фактов; - опросы для определения проблем; - совещания для принятия решений; - диалоги автор/читатель. Опросы для сбора фактов проводятся, когда пытаются определить, как функционирует система в настоящее время. Опросы для определения проблем полезны, когда вы хотите выяснить, что в системе не в порядке. Совещания для принятия решений проводятся, когда нужно получить представление о том, как должна функционировать будущая система, чтобы устранить недостатки в настоящей. Диалоги автор/читатель – это неформальные обсуждения при разногласиях между автором и экспертом. Ниже приведено несколько важных советов, которые нужно иметь в виду в процессе опроса. Поскольку их все трудно запомнить сразу, перечитайте эти пункты после опроса, чтобы посмотреть, в чем вы можете улучшить свое уменье собирать информацию: - Определите, является ли информация фактом или скорее мнением, задавая уточняющие вопросы. Попытайтесь выяснить, какое место занимает эксперт в своей организации. Это может помочь вам лучше интерпретировать и квалифицировать его ответы; всегда спрашивайте о числах и количествах (когда речь идет о времени, объеме, затратах). Числовые характеристики придают сказанному достоверность. - Уточняйте источники и назначение данных, их формат, сроки сохранения, предполагаемое использование, требуемые изменения и т.д. Эти пояснения могут помочь определить, что представляют собой данные. Следующие рекомендации, помогают поддерживать непрерывность потока и достоверность информации, поступающей от эксперта: - Делайте паузы, пока эксперт думает. Дайте эксперту возможность решать, что сказать дальше. Никогда не перебивайте, подсказывая ответ или задавая другой вопрос. - Старайтесь не задавать наводящих вопросов, вопросов-подсказок, вопросов, содержащих ответ, потому что это не позволяет эксперту делиться своими знаниями. Старайтесь не задавать контрольных вопросов, так как это прерывает поток информации. - Делайте записи, чтобы сосредоточиться на предмете разговора и чтобы подготовиться к следующему вопросу, но не становитесь стенографом, иначе вы можете потерять контроль над опросом. Умение проводить опросы так же важно, как и умение строить хорошие диаграммы и модели. Применяя на практике приведенные рекомендации, вы станете более умелым интервьюером. Чем лучше вы проводите опрос, тем легче получить базовые знания, необходимые для ваших SADT-диаграмм и SADT-моделей.
Начало моделирования
Начало моделирования в SADT означает создание диаграмм А0 и А-0, которые затем могут быть отрецензированы. Эти две диаграммы полностью рассказывают все об изучаемой системе с минимальной степенью детализации. Создавая их, аналитик предпринимает начальную попытку декомпозировать систему и затем обобщить полученную декомпозицию. Декомпозиция (диаграмма А0) освещает наиболее важные функции и объекты системы. Объединение (диаграмма А-0) трактует систему как «черный ящик», дает ей название и определяет наиболее важные входы, управления, выходы и, возможно, механизмы. Прежде чем начать моделирование, SADT-аналитик проводит подготовку к нему, собирает информацию, декомпозирует объект и обобщает эту декомпозицию. Подготовка включает выбор цели модели (например, разработка нового программного продукта), выбор точки зрения, с которой будет представлена модель (например, группа разработки), тип создаваемой модели (например, модель «потокового» процесса) и предполагаемое использование построенной и проверенной модели (например, организация процесса разработки нового программного продукта). Таким образом, подготовка должна максимально облегчить сбор информации. Сбор информации может включать любую комбинацию следующих видов деятельности: чтение документов, наблюдение за существующими операциями, анкетирование группы экспертов, опрос одного или нескольких экспертов, использование собственных знаний и придуманного описания работы системы, которое впоследствии может быть откорректировано. Декомпозируя объект нужно, прежде всего, обратить внимание на входные и выходные данные для всей системы. Декомпозиция всей системы начинается с составления списка основных типов данных и основных функций. Делая это, вы мысленно окидываете взглядом основные функции системы, рассматривая все нормальные и аномальные ситуации, обратные связи и случаи потенциальных ошибок. Потом эти списки снабжаются комментариями для указания основных типов, как данных, так и функций системы или их различных сочетаний. Наконец, списки с комментариями используются для создания диаграммы А0, которая затем обобщается с помощью диаграммы А-0. Цель и точка зрения модели определяются на самой ранней стадии создания модели. Выбор цели осуществляется с учетом вопросов, на которые должна ответить модель, а выбор точки зрения – в соответствии с выбором позиции, с которой описывается система. Иногда цель и точку зрения можно выбрать до того, как будет сделана первая диаграмма. Например, цель модели разработки нового программного продукта можно определить заранее, потому что она очевидна в постановке задачи: «понять обязанности всех задействованных лиц так, чтобы организовать процесс разработки программного обеспечения». Настоятельно рекомендуется, как можно раньше определять цель и выбирать точку зрения новой модели. Но вначале попробуйте записать ряд специфических вопросов, на которые модель должна ответить, чтобы убедиться, что цель сформулирована точно, и рассмотрите систему с нескольких различных точек зрения, прежде чем выбрать одну из них. На рис. 2.1 показано, как это делается для задачи, связанной с разработкой нового программного обеспечения. Иногда оказывается, что определить цель и точку зрения в самом начале моделирования чрезвычайно трудно. В таком случае следует составить списки данных и функций и, может быть, нарисовать диаграмму А0. Сделав это, вы начнете чувствовать систему и установите, описывает ли ее диаграмма А0 с нужной точки зрения. Может быть, вам придется нарисовать несколько альтернативных А0-диаграмм, прежде чем появится достаточная уверенность для того, чтобы осуществить выбор правильной цели и точки зрения. Списки объектов системы, создаваемые в ходе моделирования, в SADT принято называть «списками данных». Термин «данное» здесь употребляется как синоним слова «объект». Следовательно, при обсуждении различных аспектов моделирования в SADT будем применять термин «список данных». Составление списка данных является начальным этапом создания каждой диаграммы функциональной SADT-модели. Правило заключается в том, чтобы вначале составить список данных, а потом список функций. Рис. 2.1. Определение целей и точки зрения Рис. 2.2. Подготовка списков функций и данных
Рис. 2.3. Диаграмма A-0 Рис. 2.4. Диаграмма A0. Начните свою диаграмму с выделения всех основных групп и категорий данных, используемых и генерируемых системой. И не будьте слишком дотошны – запишите все разумные возможности. При сомнении записывайте все, что приходит на ум, потому что лучше записать слишком много, чем провести неполный анализ. Обратите внимание, что на рис. 2.2 в список вошло много деталей, хотя аналитик пытался создать диаграмму цеха как единого целого. В современных аналитических методах слишком часто уделяется повышенное внимание функциям в ущерб данным. Начиная с составления списка данных, вы сможете избежать перехода к немедленной функциональной декомпозиции. Списки данных помогут выполнить более глубокий анализ и при этом не концентрироваться на функциях системы, избегая пробелов, которые часто возникают из предвзятых представлений о функциональных декомпозициях. Кроме того, вы сможете уделить должное внимание данным и идентифицировать ограничения, определяющие функциональную декомпозицию. SADT-диаграммы представляют границы функций и ограничения, накладываемые на них, причем ограничения должны присутствовать во всех системах. Указывая вначале ограничения, выявляем естественную структуру системы. Без ограничений функциональная SADT-диаграмма представляет собой не более чем схему потоков данных. Без ограничительных дуг диаграммы не смогут рассказать читателю, почему аналитик выбрал именно данную декомпозицию. Благодаря тому, что в SADT различаются входные дуги и дуги управления (информация, необходимая для пояснения декомпозиции), SADT-диаграммы ясно объясняют изучаемую систему и причину такой декомпозиции.
Закончив список данных, приступайте с его помощью к составлению списка функций. Для этого представьте себе функции системы, использующие тот или иной класс (тип) или набор данных. Помните, что несколько различных типов данных может использоваться одной функцией. Обозначьте, какие типы или наборы данных необходимы для каждой конкретной функции. Это позволит выделить данные сходных типов, которые затем можно объединить в метатипы. По мере продвижения по списку, проверяйте, верны ли ваши первоначальные представления, которые часто могут не совпадать с выбранной целью и точкой зрения модели. С другой стороны, не следует автоматически отвергать первоначальные идеи, если они кажутся неверными. Дальнейшие размышления могут прояснить внутренние аспекты работы системы, не очевидные при первом взгляде, и вы, возможно, восстановите исходные идеи после построения нескольких других диаграмм. Список функций должен находиться на одной странице со списком данных. При составлении исходного списка не пытаться объединять функции между собой. Вместо этого постарайтесь вначале сосредоточиться на каждой конкретной функции и ее отношении к группам данных. Кроме того, старайтесь подбирать такие функции, которые могли бы работать с наиболее общими типами данных из вашего списка. Не будьте слишком дотошны, записывая функции, даже если вы сомневаетесь, выполняет ли их система. Что касается пограничных функций (функций, которые могут выполняться либо системой, либо ее окружением), то вначале очень трудно определить, входят они в модель или нет. Затем объединяйте функции в «агрегаты». Стремитесь к организации 3-6 функциональных группировок. Старайтесь, чтобы эти группировки имели один и тот же уровень сложности, содержали примерно одинаковый «объем» функциональности, и функции в каждой из них имели сходные операции и цели. На рис. 2.2 видно, что исходный список функций сгруппирован в три функции более высокого уровня. Объединение не всегда легко осуществить. Вы можете обнаружить, что на каком-то уровне модели трудно выбрать «наилучший» способ объединения функций. Не волнуйтесь, потому что плохая группировка обнаружит свою слабость на этапе декомпозиции. Если это произойдет, вы всегда можете вернуться назад и попробовать другой вариант объединения.
Исходное содержание диаграммы А0 обеспечивают списки данных и функций. Для правильного описания системы содержанию надо придать форму. В SADT это делается посредством построения диаграммы. Начинающим авторам необходимо придерживаться определенного порядка: (1) расположите блоки на странице, (2) нарисуйте основные дуги, представляющие ограничения, (3) нарисуйте внешние дуги и (4) нарисуйте все оставшиеся дуги. Со временем накопленный опыт позволит вам отойти от этой процедуры и изображать блоки и дуги в соответствии с той идеей, которую вы хотите воплотить в диаграмме. Правильное расположение блоков является самым важным этапом построения диаграммы. Блоки располагаются в соответствии с их доминированием (по степени важности или по порядку следования). Самый доминантный блок обычно располагается в верхнем левом углу, а наименее доминантный – в нижнем правом. Это приводит к расположению, при котором более доминантные блоки ограничивают менее доминантные, образуя «ступенчатую» схему. Доминирование имеет важнейшее значение для ясного представления процесса. Например, не имеет смысла говорить о контроле над выполнением задания до изготовления детали. Затем изображают основные дуги, представляющие ограничения. Это является второй важной частью построения диаграммы А0. Они дают основание для разбиения объекта диаграммы на 3 системные функции, изображаемые блоками. Рисуя эти дуги, проверяйте, действительно ли каждая из них оказывает влияние, соответствующее декомпозиции объекта. Проследите по списку данных, не отсутствуют ли какие-то дуги, представляющие ограничения. Если это так, вы, возможно, захотите проверить правильность декомпозиции. Основными дугами, представляющими ограничения, всегда являются внешние дуги, т.е. дуги, представляющие данные, поступающие из непосредственного окружения диаграммы. Следующим шагом в построении диаграммы является размещение остальных внешних дуг и назначение им соответствующих ICOM-кодов. Таким образом, все данные, входящие в систему или выходящие из нее, оказываются учтенными на рисунке. Потеря внешней дуги – это ошибка интерфейса, одна из самых распространенных в системном анализе. Занимаясь декомпозицией объекта, можно забыть об интерфейсных данных, потому что очень легко сосредоточиться на деталях. Начиная с изображения всех внешних дуг, вы повысите точность диаграммы, включив все интерфейсные данные. И, наконец, нарисуйте все остальные дуги, отражающие детали работы системы в целом. Во-первых, нарисуйте оставшиеся ограничения, действующие между блоками. Во-вторых, нарисуйте основной поток данных. В-третьих, рассмотрите все «патологические» потоки данных (случаи возникновения ошибок). В-четвертых, уточните обратные связи в потоках данных. В заключение изобразите все обратные связи, вызываемые ошибочными ситуациями. Здесь следует обратиться к одному очень важному моменту моделирования. На практике оказывается невозможным нарисовать диаграмму сразу набело. Для того чтобы придать некоторую форму данным и функциям, лучше всего сделать набросок (черновик). В процессе работы с черновиком, ситуация начинает проясняться. То, что вначале виделось смутно, становится четким по окончании наброска. При этом часто приходится переименовывать дуги и блоки, зачеркивать дуги, перемещать блоки. Поэтому рекомендуется вначале делать набросок диаграммы, а потом перерисовывать диаграмму набело, чтобы уточнить свое понимание, прояснить ситуацию и создать описание, которое могут посмотреть другие.
Обобщение является последним важным шагом начального этапа моделирования. Вспомните, что для любой SADT-диаграммы есть родительская диаграмма, содержащая ее контекст, где под контекстом понимается блок с набором входных дуг, дуг управления и выходных дуг. Верхняя диаграмма модели (т.е. диаграмма А0) не составляет исключения. Контекстом для нее служит диаграмма А-0, представляющая собой обобщение всей модели. Диаграмма А-0 имеет несколько предназначений. Во-первых, она объявляет общую функцию всей системы. Например, блок на рис. 2.3 с названием разработать программный продукт ясно указывает, что делает группа разработчиков. Во-вторых, она дает множество основных типов или наборов данных, которые использует или производит система. Например, системные требования позволяют осуществлять контроль над персональными компьютерами, на базе которых разрабатывается программное обеспечение. В-третьих, А-0-диаграмма указывает взаимоотношения между основными типами данных, проводя их разграничение. Например, исследование рынка рассматривается как входное данное, нечто, изменяемое процессом, в то время как системные требования контролируют выполнение заданий для определенного типа ЭВМ. Таким образом, А-0-диаграмма представляет собой общий вид изучаемой системы. При создании диаграммы А-0 используется информация, уже зафиксированная на диаграмме А0. Вначале в центре SADT-бланка рисуют один большой блок, название которого совпадает с названием диаграммы А0. В этот момент следует проверить, адекватно ли название отражает то, что делает система. Все внешние дуги диаграммы А0 изображаются на диаграмме А-0 входящими в соответствующую сторону блока. При этом проверьте, что название каждой дуги описывает то, чем обмениваются система и ее среда. После того как вы изобразите входные и выходные дуги, остановитесь на минуту, чтобы проверить точность описания потока данных. Нарисовав дуги управления, убедитесь, что именно они управляют тем, как система преобразует входные данные в выходные. Наконец, напишите цель и точку зрения модели под основным блоком и сверьте их с тем, что представляется блоком и его дугами. В процессе обобщения вы убедитесь в том, что он помогает прояснить описание системы, потому что при обобщении вы просматриваете метки дуг для более точного наименования данных, которыми обмениваются система и ее среда. Кроме того, во время обобщения дуги часто объединяются для упрощения изображения модели. В этом случае дуги разветвляются на слои составляющие на диаграмме А0. Построение диаграммы А-0 свидетельствует об окончании начального этапа моделирования. К этому моменту сделана первая попытка обобщить и описать основную деятельность системы и показать связь системы с ее средой. Несмотря на ограниченное число описанных деталей, диаграммы А-0 и А0 представляют законченную картину, потому что они отражают все основные входы, управления, выходы и функции системы. Общий вид системы, полученный с помощью диаграмм А-0 и А0, – основная цель аналитика на начальном этапе построения SADT-модели.
Продолжение моделирования Начальный этап моделирования включает определение объекта, цели и точки зрения модели, ограничения, накладываемые на объект, построение диаграммы верхнего уровня и ее обобщение, составление списков данных и функций, объединение функций в блоки, формирование с использованием списка данных взаимоотношений между блоками. Продолжение моделирования основывается на тех же методах и выводит модель на следующий уровень детализации. Для этого требуется создать отдельную диаграмму для, возможно, каждого блока диаграммы верхнего уровня, затем построить диаграммы для всех блоков новых диаграмм, и так до тех пор, пока модель не будет описывать объект с нужной для достижения цели степенью детализации. Таким образом, продолжение моделирования является рекурсивным процессом. Декомпозиция модели похожа на начальный этап моделирования, но проще его. Почему? Потому что при декомпозиции модели аналитик всегда находится в контексте, определенном блоком со своими дугами одной из диаграмм. Эта граница, называемая границей объекта, определена двумя способами. Во-первых, объект, цель и точка зрения каждой новой диаграммы уже определены на диаграмме А0. Во-вторых, каждый блок, декомпозируемый в новую диаграмму, уже является ограниченным объектом. Другими словами, он идентифицирует конкретную функцию и все данные, которые для нее требуются или ею порождаются. Строить диаграмму, исходя из этой информации, проще, потому что список данных создается на основе дуг, входящих в блок и выходящих из него, а также потому, что список функций подробно раскрывает название блока. Процесс декомпозиции ограниченного объекта состоит из следующих шагов: 1. выбор блока диаграммы; 2. рассмотрение объекта, определенного этим блоком; 3. создание новой диаграммы; 4. выявление недостатков новой диаграммы; 5. создание альтернативных декомпозиций; 6. корректировка новой диаграммы; 7. корректировка всех связанных с ней диаграмм. Шаги 1-3 представляют созидательную часть процесса. Выполняя их, аналитик концентрирует свои усилия, связанные с выявлением новой информации об объекте, на более высоком уровне детализации, чтобы достичь ясности изложения. Шаги 4-7 составляют этап саморецензирования, в ходе которого аналитик, создав новую диаграмму, проверяет, какую она несет информацию и в каком она находится отношении с родительской диаграммой. Затем в созданную диаграмму и соответственно в связанные с ней диаграммы вносятся изменения, чтобы достичь ясности для других. Выбор блока. Декомпозиция начинается с чтения диаграммы А0 и определения самого содержательного блока. Это такой блок, декомпозиция которого выявит многие аспекты диаграммы А0 и будет оказывать большое влияние на будущие декомпозиции других блоков этой диаграммы. При выборе самого содержательного блока следует учитывать доминирование, функциональную сложность и понятность. Лучшим не обязательно будет блок, наиболее трудный для понимания. Лучшим блоком для первой декомпозиции будет тот, который позволит наиболее глубоко проникнуть в суть рассматриваемой системы. Рассмотрим диаграмму А0 для модели разработки программного продукта (рис. 2.4). На ней три блока: планирование и проектирование разработки продукта, создание программ и документации, маркетинг. Остановим свой выбор на первом блоке планирование и проектирование разработки продукта. Поняв, как происходит планирование и проектирование разработки программного обеспечения, мы, видимо, окажемся в лучшем положении для дальнейшей декомпозиции остальной части модели. Объект, определяемый блоком. Блок 1, планирование и проектирование разработки продукта, становится теперь самостоятельным объектом декомпозиции. Для выполнения этой декомпозиции вначале бегло осмотрим обобщающую диаграмму (посмотрите, пожалуйста, диаграмму А-0 на рис. 2.5) и вспомним цель и точку зрения модели. Сделав это, мы увидим, что должны описать блок планирование и проектирование разработки продукта, чтобы можно было описать процесс разработки программного продукта с точки зрения руководителя разработки. Далее изучаем блок 2 диаграммы А0 и соединенные с ним дуги, чтобы выявить его особенности. Затем мы составляем список данных со всех дуг, касающихся блока для того, чтобы не потерять какие-либо интерфейсные данные. Данные могут быть декомпозированы в нутрии блока. Например, механизм – группа разработки, декомпозируется на специалиста по маркетингу, постановщика задачи, руководителя проекта и редактора. Далее, составляем на основе списка данных список функций, придерживаясь функции, соответствующей блоку верхней диаграммы. Обратите внимание на то, что планирование маркетинга, проектирование интерфейса пользователя, проектирование системы, организация работы программистов и проектирование документации, по-видимому, действительно являются функциями, выполняемыми при планировании и проектировании разработки программного обеспечения. Стремитесь ограничиваться разумным уровнем сложности при объединении функций и данных: четыре-пять функциональных блоков, как правило, лучше всего. Слишком много данных и функций часто содержат слишком много информации. Это приводит к запутанным диаграммам. Наоборот, небольшое число блоков дает слишком мало, и диаграмма становится почти бесполезной. Если вы уверены, что достигли баланса, проверьте, во всех ли отношениях написанные вами слова адекватны объекту, определенному блоком и его граничными дугами на родительской диаграмме. Теперь у вас есть все необходимое для построения диаграммы. Создание новой диаграммы. Новая диаграмма строится аналогично диаграммам А0 и А-0. Блоки размещаются в соответствии с доминированием (т.е. согласно взаимным ограничениям блоков), затем создаются основные дуги, представляющие ограничения, потом внешние и, наконец, внутренние дуги. На рис. 2.5-2.6 показаны следующие шаги работы по декомпозиции функций планирование и проектирование разработки продукта, создание программ и документации. Рис. 2.5. Результат декомпозиции функции – Планирование и проектирование разработки продукта Рис. 2.6. Результат декомпозиции функции – Планирование и проектирование разработки продукта
Инженерам известно, что существенная доля ошибок приходится на интерфейсы. Например, повреждение соединительной прокладки может послужить причиной течи в канализационных трубах, компьютерный кристалл с погнутым выходом может отказать при установке его на монтажную плату, а слишком тугое закрепление клеммы может привести к обрыву электрического провода. Аналогично в моделях сбои часто происходят в точках интерфейса. Для SADT интерфейсными являются места соединения диаграмм со своими родителями. Вот почему каждую декомпозицию необходимо аккуратно соединять со своим родителем. Дуги выражают связи между блоками. Их вычерчивают не для показа последовательности действий. Они отражают отношения между блоками, независящие от потенциального следования. Такой механизм приводит к реализации различных сценариев, активизируя блоки в различные моменты времени в зависимости от ситуации. Может случиться, что, начав рисовать дугу, вы засомневаетесь в том, что она нужна на диаграмме. Не изобразив дугу при первом наброске диаграммы, вы рискуете совершить ошибочный пропуск. Поскольку SADT-диаграммы всегда проверяются другими специалистами, и поскольку отсутствующую дугу никто не сможет обнаружить, изъятие сомнительной дуги с диаграммы – прямая дорога к возникновению ошибок и отсечению дополнительных возможностей. Рекомендуется включать сомнительные дуги в диаграмму с вопросом об их необходимости адресованным читателям. Полученные в ответ комментарии, скорее всего, помогут разрешить ваши сомнения. SADT-дуги представляют собой наборы объектов и поэтому они потенциально могут нести много данных. Например, оборудование может быть просто бумагой, а может быть компьютерами, столами и т.д. Опытные SADT-аналитики не изображают каждый объект отдельной дугой. В крайнем случае, лучше давать определение новой дуги в глоссарии и, возможно, уточнять ее содержимое при декомпозиции тех блоков, которых она касается. Таким образом, вы предоставите читателям достаточно информации для понимания вашей диаграммы и не потратите много времени на избыточно подробное описание модели на слишком ранней стадии, что неизбежно привело бы в дальнейшем к большим переделкам.
Проверка диаграммы автором
Процесс декомпозиции в SADT сводится к представлению каждого блока диаграммы с помощью диаграммы следующего уровня детализации. Во время декомпозиции составляют список данных и список функций, объединяют функции в блоки и используют список данных при формировании взаимосвязей между блоками. В ходе этого процесса аналитик выполняет такие шаги, как выбор блока, изучение его объекта и построение новой диаграммы. Целью аналитика на этом этапе является в первую очередь ясное восприятие сути декомпозируемой модели. Построив диаграмму, попытайтесь самостоятельно выявить ее недостатки, прежде чем рассылать ее для подробного рецензирования. Опытные SADT-аналитики при декомпозиции блока разделяют этап создания и этап критического рассмотрения диаграммы. Они специально выбирают время для того, чтобы окинуть ее критическим взглядом, помня о том, что за несколько минут можно самому обнаружить те ошибки, которые часто выявляются с помощью обратной связи с читателями. Процесс авторской проверки дает новое направление работе – определение ее качества. На этапе декомпозиции возникает диаграмма, которая декомпозирует блок и его дуги. Аналитик пытается объяснить объект самому себе. Неудивительно, что результат может оказаться малодоступным для других. В работе, естественно, появляются жаргон и неявно подразумеваемые факты. При критической оценке аналитик абстрагируется от своей работы. Это позволяет взглянуть свежим взглядом на диаграмму с тем, чтобы информация, которую она несет, стала доступной не только ее автору, но и другим людям. Часто в ходе критической оценки выполняют альтернативные декомпозиции, чтобы проверить, является ли исходный набросок лучшим для передачи желаемой информации. Кроме того, проверяют взаимосвязи с родительской и другими диаграммами. После этого во все диаграммы вносятся необходимые изменения.
Выявление недостатков новой диаграммы. Выявление недостатков диаграммы происходит по схеме вопрос-ответ, поэтому нельзя четко сформулировать правила ее пошаговой оценки. Опытный SADT-аналитик, однако, в процессе оценки диаграммы задает определенный набор вопросов относительно блоков, связи с родительской диаграммой и внутренних дуг. Ответ на каждый из них дает направление последующим вопросам. Таким образом, поток вопросов и ответов управляет анализом каждой части диаграммы. Вначале следует критически оценить блоки диаграммы. Определим функциональные аспекты диаграммы, задавая вопросы типа: ־ Представляют ли блоки содержательную декомпозицию функции? ־ Не выглядит ли диаграмма запутанной? ־ Все ли блоки соответствуют точке зрения модели? ־ Несут ли блоки достаточный объем новой информации? ־ Все ли блоки имеют одинаковый уровень детализации? ־ Соразмерна ли сложность всех блоков? ־ Отражает ли каждый блок какой-либо аспект блока родительской диаграммы? Теперь зададим вопросы о связи диаграммы с ее родителем. При этом проверим, как диаграмма вписывается в модель. ־ Все ли внешние дуги имеют ICOM-коды? ־ Все ли ICOM-коды соединяют дуги с одним и тем же значением (рис. 2.7)? Рис. 2.7. Примеры расположения дуг ־ Дополняют ли названия внешних дуг информацию, сообщаемую диаграммой? ־ Не противоречит ли смысл анализируемой диаграммы смыслу родительской диаграммы? Вопросами о внутренних дугах обычно заканчивают поиск ошибок в диаграмме. Теперь, после разрешения основных вопросов, следует проанализировать детали диаграммы. Мы можем задать вопросы типа: ־ Не слишком ли много внутренних дуг? ־ Нет ли блоков без дуг управления? ־ Нет ли блоков без выходных дуг? ־ Правильно ли отражают дуги, представляющие ограничения, доминирование блоков? ־ Верно ли решение диаграммы? ־ Все ли важные обратные связи отражены? ־ Все ли ошибочные ситуации учтены?
Создание альтернативных декомпозиций. К этому моменту у вас накопилось много новой информации о диаграмме, которую вы набросали. Воспользуйтесь этой информацией разумно. Попробуйте произвести альтернативные декомпозиции с использованием новых фактов и посмотрите, не получится ли у вас более точной диаграммы. Даже если вам не удастся построить совершенно новую диаграмму, доносящую смысл лучше, вы сможете исправить часть своего исходного наброска. Ниже приведены некоторые технические приемы. Иногда у аналитика возникают сомнения относительно блоков диаграммы. На хорошей SADT-диаграмме блоки должны обладать некоторыми важными качествами: ־ выполнять строго определенные функции; ־ иметь одинаковую сложность; ־ иметь одинаковый уровень детализации; ־ просто соединятьс
|
||||
Последнее изменение этой страницы: 2016-09-13; просмотров: 607; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.34.75 (0.013 с.) |