Глава 22. Начало моделирования |
Вспомним, что SADT-модель начинается с очерчивания границ системы, определения цели и точки зрения модели и создания диаграмм верхнего уровня. Эта глава, состоящая из семи уроков, рассчитана на то, чтобы провести вас через те этапы, которые чаще всего выполняют SADT-аналитики в начале создания функциональной модели: в уроке 1 очерчивается контекст задачи, в уроке 2 определяется цель и точка зрения модели, в уроке 3 создается диаграмма АО , в уроке 4 - диаграмма А-0, в уроке 5 дается критическая оценка диаграммы А-0, в уроке б критически оценивается диаграмма АО, в уроке 7 обе диаграммы переделываются.
В идеале вы должны выполнить все семь уроков
без перерыва. Это даст вам верное представление об объеме работы, необходимой
для начала моделирования. В крайнем случае мы рекомендуем выполнить уроки
1-4, затем сделать перерыв, и далее приступить к выполнению уроков 5-7.
Исходите из следующего расчета: полчаса на чтение, понимание и выполнение
каждого урока. Не огорчайтесь, если вы не укладываетесь в полчаса. Ваша
задача - научиться методологии, а не устраивать гонки на скорость. По мере
приобретения опыта в SADT ваша производительность будет возрастать, потому
что, как при изучении любого языка, чем больше вы пользуетесь языком SADT,
тем лучше вы им овладеваете.
Урок 1. Очерчивание границ объекта
Цель
Создать очерченный контекст для модели "Питание семьи".
Действия
2. Начните составлять список всех основных предметов, которые, по вашему мнению, являются частью системы. Дайте свободу ассоциациям. На этом этапе не беспокойтесь о точности.
3. Теперь оцените исходный список критически. Вычеркните названия, не относящихся к системе объектов. Если есть возможность, объединяйте названия в группы, проводя соединительные линии или обводя слова кружками. Добавляйте новые названия по мере развития ваших идей.
4. Остановитесь, когда поток идей иссякнет.
5. Теперь проделайте то же самое для функций системы. Для перечисления функций пользуйтесь списком данных, затем оцените новый список. Вычеркните те названия, которые не входят в систему. Группируйте сходные функции, соединяя их названия линиями или обводя кружками. Меняйте список данных по мере постижения работы системы.
6. Остановитесь, когда вы перечислите достаточное для создания диаграммы число объектов и функций.
2. Ясность относительно входящих в систему объектов начнет появляться только после составления исходного списка, исключения из него каких-либо объектов и включения новых.
3. Иногда объекты, которые вначале были исключены, возвращаются снова в очерченный контекст.
4. Список данных изменится в ходе составления списка функций. Возможно, по мере возникновения новых идей вы начнете "метаться" между списками.
Обратите внимание на то, что по ходу составления списков данных и функций был составлен список характеристик "подростка". Это пример того, как следует документировать предположения, возникающие в ходе анализа.
Урок 2. Определение цели и точки зрения модели
Цель
Сформулировать цель модели "Питание семьи" и определить, с чьей точки зрения будет описан этот процесс.
Действия
2. С помощью этого набора вопросов определите, как будет использоваться модель. Если вы не можете сформулировать, как она будет использоваться, попробуйте записать еще вопросы или попытайтесь вообразить, кто будет применять модель. В одном предложении сформулируйте, как она будет использоваться. Это станет целью модели.
3. Теперь решите, кто рассказывает о "Питании семьи". Составьте список кандидатов, чтобы убедиться, что вы выбрали самую подходящую точку зрения. Выберите из всех того, кто сможет ответить на большинство вопросов. Его ( ее ) точка зрения станет точкой зрения модели.
2. В качестве точки зрения модели можно выбрать точку зрения одного человека (например, отца) или нескольких (например, родителей). Помните, что каждая точка зрения выделит свои аспекты проблемы. Лучшей будет та, с которой проще всего ответить на все вопросы.
2. Цель модели включает такое подробное описание для того, чтобы подростки могли реализовать питание семью даже при невозможности проконсультироваться с родителями.
3. В образце приведено несколько вариантов точки зрения (например, точка зрения соседей). Однако была выбрана точка зрения родителей, потому что они "главные специалисты" в своем домашнем хозяйстве.
Урок 3. Построение диаграммы верхнего уровня
Цель
Описать процесс питания семьи в виде одной диаграммы, состоящей из 3-6 важнейших функций, взаимосвязанных через информацию управления (например, меню) и материальные объекты (например, посуду).
Действия
2. Нарисуйте и пометьте внутренние дуги, представляющие ограничения для работы каждого блока, используя составленный
список данных. Чтобы сделать это, проанализируйте функцию каждого блока и задайте соответствующий вопрос.
3. Теперь нарисуйте и пометьте дуги, представляющие ограничения "извне" системы, используя составленный список данных. Подумайте, какого рода объекты влияют на питание семьи
4. Наконец, изобразите основной поток данных, прокладывая путь от блока к блоку. Используйте список данных и представьте себе, что вы рассказываете подросткам о том, как реализуется процесс питания.
Следите за обратными связями между блоками. Обратные связи часто возникают в системах, ориентированных на процесс (таких, как эта), в которых некоторые функции часто повторяются. Обратные связи возникают также в системах подобных рассматриваемой здесь, в которых эффективно используются побочные продукты или отходы.
Образец
2. Обратите внимание, что бюджет (абстрактный объект) влияет на план, в то время как деньги (реальный объект) даются функции, пополняющей запас продуктов, и расходуются ею.
3. Обратите внимание, что посуда и остатки возвращаются назад от функции убирать со стола к функциям, которые их используют.
4. Дуги "механизмов" сознательно опущены, потому что они не помогают достижению цели модели.
Урок 4. Обобщение диаграммы верхнего уровня
Цель
Нарисовать единственный блок со его входами, управлениями и выходами, который обобщает всю только что нарисованную диаграмму АО.
Действия
2. Теперь нарисуйте и пометьте все входные дуги, дуги управления и выходные дуги - по одной для каждой внешней дуги диаграммы АО. Это обеспечивает согласованность двух рисунков.
3. Наконец, напишите под большим блоком цель и точку зрения модели. Это сразу же определит смысл и направленность модели каждому, кто начнет ее читать.
Этот единственный блок со своими дугами обобщает внешние связи системы "Питание семьи".
Образец
2. Обратите также внимание, что внизу справа от большого блока приведен С-номер диаграммы АО. Этот номер определяет, какая именно версия диаграммы АО детализирует этот блок.
Урок 5. Критическая оценка обобщающей диаграммы
Цель
Документировать все вопросы, возникшие с диаграммой А-0.
Действия
2. Оцените изложенное с точки зрения здравого смысла. Определите неувязки, запишите, в чем они заключаются, и проведите соответствующую переделку (например, поменяйте метки, объедините дуги).
3. Критически оценив чертеж, оцените также цель и точку зрения. Запишите неувязки и пересмотрите цель и точку зрения.
Проговаривая содержание диаграммы, предпочтительно вслух, вы яснее увидите ее недостатки.
Образец
2. Ограничения рецепты, общепринятые и семейные правила и режим дня были объединены в семейные правила и цель модели была конкретизирована.
3. Нумерация замечаний указывает на последовательность выявления
и исправления недостатков.
Урок 6. Критическая оценка диаграммы верхнего уровня
Цель
Документировать все вопросы, возникшие с диаграммой АО.
Действия
2. Определите смысл данной диаграммы после исправления всех связанных с диаграммой А-0 недостатков. Оцените его адекватность. Определите недостатки нового варианта, запишите их и внесите соответствующие изменения (например, измените метки, объедините дуги).
2. Проговорив содержание исправленной диаграммы АО, вы скорее увидите ее недостатки.
2. Объединение вкусов и диетических требований в некормленных людей привело к появлению новой внешней входной дуги как к блоку спланировать меню, так и к блоку обслуживать за столом.
3. Нумерация замечаний указывает на последовательность выявления и исправления недостатков.
Урок 7. Переделка обобщающей диаграммы и диаграммы верхнего уровня
Цель
Переделать в соответствии с критической оценкой, выполненной в уроке 6, и начертить заново диаграммы А-0 и АО.
Действия
2. Перечерчивая диаграмму АО, обдумайте изложенное в ней. Обращайтесь время от времени к диаграмме А-0, чтобы удостовериться, что детали диаграммы АО согласованы с ее контекстом.
3. Свяжите все внешние дуги диаграммы АО с родительской диаграммой А-0, используя ICOM-коды. Это позволит вам избежать потери внешних дуг. Проверьте соответствие меток внешних дуг диаграммы АО меткам дуг диаграммы А-0.
2. Внешние дуги имеют важное значение для декомпозиции, потому что они связывают более общее изложение диаграммы А-0 с более подробным изложением диаграммы АО. Убедитесь в том, что они согласованы по именам и количеству в этих двух диаграммах.
2. Две дуги управления внешние факторы и семейные правила разбивают пять функций на две группы. Первая дуга влияет на подготовительные функции планировать меню и пополнить запасы. Вторая дуга влияет на функции, связанные с собственно питанием:
приготовить, обслужить за столом и убирать со стола. Это пример влияния дуг управления на декомпозицию, т. е. управления объясняют, почему выбрана данная декомпозиция.