Выбор стратегии декомпозиции
Часто при начале работы над моделью пытаются испробовать несколько различных стратегий декомпозиции. Наш опыт показывает, что разработке качественной диаграммы АО может предшествовать несколько неудачных попыток. Первая попытка декомпозиции, в результате которой создается диаграмма АО, обычно приводит к сверхпридирчивому анализу читательской аудиторией. Эта начальная декомпозиция при детальном рассмотрении часто не соответствует цели модели. Не унывайте, когда это случится, если ваши первые попытки являются ясными и четкими. Помните, что в начале моделирования важнее ясность изложения, чем его правильность, поскольку коллективные знания экспертов, читательской аудитории, других авторов помогут вам создать полноценное общее описание, которое после детализации будет удовлетворять цели модели. Просмотрите материал уроков в данной книге и обратите внимание на то, как диаграмма АО модели "Питание семьи" изменялась по мере декомпозиции ее главных функций. В этом примере интерфейсы и ожидаемые действия главных функций подвергались большим изменениям, которые должны были найти отражение на диаграмме АО в соответствии с требованиями синтаксических правил SADT. Кроме того, несмотря на адекватность начальной стратегии декомпозиции, соответствующей полному жизненному циклу продуктов, все диаграммы модели подвергались пересмотру для получения верного и согласованного изложения этого конкретного сценария. (Полную модель "Питание семьи" см. в приложении С.) Таким образом, даже если ваша исходная стратегия декомпозиции была удачной, ожидайте больших изменений в диаграмме АО. Момент прекращения декомпозиции определяется точностью
Постоянное, но контролируемое изменение диаграмм модели, может служить примером инженерной деятельности. Другими словами, работа в методологии SADT является инженерным процессом, поскольку она включает последовательное улучшение описания системы. Но, как при любой инженерной деятельности, процесс улучшения всегда в некоторый момент должен быть прекращен. SADT-модели должны не просто отвечать на определенный набор вопросов. Ответы на них должны иметь заданную степень точности. Поэтому декомпозиция в SADT прекращается, когда диаграммы, образующие нижний уровень модели, достаточно детализированы для достижения цели модели. Другими словами, дальнейшая декомпозиция не требуется, если модель достаточно точна, чтобы отвечать на все вопросы, соответствующие ее цели. Например, целью модели, описывающей экспериментальный механический цех, является определение обязанностей персонала механического цеха с той степенью подробности, которая достаточна для описания этих обязанностей в учебном руководстве. Обратите внимание, что диаграмма нижнего уровня, приведенная на рис. 17-1, изображает набор обязанностей, которые могут быть легко записаны для каждого блока в одном параграфе текста. Это и является точным критерием для данной модели: процесс моделирования прекращается, когда каждый блок может быть объяснен в одном параграфе текста. Для целей учебного руководства один абзац объяснений рассматривается как достаточная точность. Поэтому, как и в других прикладных дисциплинах, разработка SADT-модели прекращается по достижении требуемой степени точности. Резюме SADT-модели организуют естественный язык в точные и сжатые модели, а благодаря графическому языку SADT из описаний системы на естественном языке устраняется неоднозначность. Точка зрения модели влияет на то, какие аспекты системы подчеркиваются и какие аспекты затушевываются, а выбор точки зрения означает использование конкретной терминологии. Декомпозиция является процессом, используемым для построения модели. Она включает этапы как анализа, так и синтеза. В SADT предусмотрено проведение анализа объектов системы как "вступление" к анализу функций системы. Существует множество разнообразных стратегий декомпозиции. Выбор той или иной стратегии декомпозиции и получение диаграммы АО высокого качества часто требуют нескольких итераций и многих изменений. Декомпозиция прекращается, когда модель достаточно точна, чтобы отвечать на вопросы, составляющие ее цель.
Дополнительная литература
Alexander, С.: Notes on the Synthesis of form, Harvard University Press, Cambridge, Mass., 1964.
Jackson, M.: System Development, Prentice-Hall, Englewood Cliffs, N.J., 1983.
Orr, K.: Structured Systems Development, Yourdon Press, New York, 1977.
Miller, G.: "The magical Number Seven, Plus Or Minus Two: Some Limits on Our Capacity for Information Processing", The Psychology Review, vol. 63, no. 2, March 1956. Marca, D., and McGowan, C.: "Static and Dynamic Data Modeling for Information System Design", 6 th International Conference on Software engineering Proceedings, September 1982.
Parnas, D.: "On the Criteria to be Used in Decomposing Systems into Modules", CACM, December 1972.
Pirsig, R.: Zen and the Art of Motorcycle Maintenance, Bantam Books, New York, 1974.
Ross, D.: "An Essay on Activity Diagramming", SofTech Technical Report no. 7104, November, 1976.
SofTech, Inc.: "IDEFO Author's Guide to Creating Activity Diagrams", SofTech Deliverable no. 7500-13, September 1979.
SofTech, Inc.: "Integrated Computer-Aided Manufacturing (ICAM) Report: Function Modeling Manual (IDEFO)", contract no. F33612-78-C-5158, SofTech, Inc., 1981. Часть II Создание функциональных моделей и диаграмм В этой части книги показано, как аналитик (или автор) создает описание работы системы, набрасывая эскиз функциональной SADT-модели. Будет рассмотрено, как получить информацию в ходе опроса, как создаются диаграммы, как осуществляется декомпозиция и как оценить собственную работу с точки зрения точности и наглядности. II часть поможет вам преодолеть первый этап системного анализа, в ходе которого должен быть сделан набросок функционального описания системы. В главе 7 обсуждаются навыки, которыми надо обладать, чтобы получить у экспертов информацию, необходимую для создания модели. В главе 8 описан этап анализа, на котором делают первую попытку создать модель. Глава 9 посвящена второму этапу анализа, на котором декомпозируется часть модели, созданной в главе 8. В главе 10 показано, как оценить собственную работу, прежде чем послать ее на рецензирование. В главе 11 приведен основной набор стандартных графических обозначений для упрощения SADT-диаграмм. В процессе изложения материала в этих главах обсуждаются способы опроса и методы анализа и синтеза. Модель экспериментального механического цеха используется для иллюстрации синтаксических правил диаграмм и моделей, процесса создания диаграмм и построения моделей. Таким образом, последовательно изучив материал этих глав, вы получите представление о том, как мыслит системный аналитик в процессе создания модели системы по методологии SADT.
Глава 7. Сбор информации Эта глава посвящена методам, которые использует квалифицированный SADT-аналитик для изучения предметной области и технологии получения от экспертов сведений о системе, подлежащей описанию. Практики SADT называют эту технологию сбором данных, а в информатике она больше известна как опрос (интервьюирование) или извлечение знаний. Но как бы она не называлась, способность собрать необходимую информацию, основанную на знаниях экспертов, весьма существенна для построения точной и полезной модели. Поэтому технология сбора информации составляет важную часть методологии SADT. Опрос - это сбор сведений. Первый опрос служит точкой отсчета в процессе моделирования. Чтобы провести опрос, аналитик вначале выбирает наилучший источник информации (документ или конкретного человека), а затем организует его "опрос". Цель опроса - получение порции информации, необходимой для начала либо для продолжения построения определенной части модели. После первого опроса sadt - модель используется для определения той информации, которую необходимо получить в ходе следующего опроса. В соответствии с иерархией модели может быть проведена последовательность опросов для выяснения все более конкретных деталей рассматриваемой области.
SADT-аналитики используют свои модели для более сфокусированного опроса и оптимизации затрат времени на работу с источниками информации. Это повышает эффективность работы, сокращает время на повторное рассмотрение неясных или забытых деталей и уменьшает вероятность повторно задавать вопросы одному и тому же эксперту. При таких условиях эксперты более охотно отвечают на вопросы аналитиков и тем самым спасают аналитические проекты от одного из "убийц" - прекращения потока информации. Источники информации Обычно источниками информации служат эксперты. Часто именно они являются наилучшими источниками, потому что им знакомы текущие нюансы и недокументированные аспекты системы. Самое важное - это то, что экспертам известны факты, которые не отражены в документах или которые трудно объяснить. Эти факты иногда называют "казаульное знание". Их можно получить только путем опроса экспертов. Чтобы подготовиться к такому опросу, мы советуем исследовать другие источники информации, например документы. Существует множество различных стратегий для извлечения информации из этих источников. Вот те, которые мы обычно используем:
· чтение документов; · наблюдение за выполняемыми операциями; · анкетирование; · использование собственных знаний; · составление описания.
Документы - хороший источник информации, потому что они чаще всего доступны и их можно "опрашивать" в удобном для себя темпе. Чтение документов - прекрасный способ получить первоначальное представление о системе и сформулировать вопросы к экспертам. Мы советуем в ходе аналитического проекта, по возможности, формировать и поддерживать библиотеку документов. Для SADT-проектов такие документы могут храниться в библиотеке проекта и распространяться в виде небольших рабочих пакетов, называемых папками (см. главу 13). Наблюдение за работой моделируемой системы - хорошая стратегия получения информации. Оно должно проводиться всегда, когда есть такая возможность. Через наблюдение, а возможно, и участие аналитики получают информацию о происходящих день за днем операциях из первых рук. Во время наблюдения за работой системы часто возникают вопросы, которые никогда бы не появились, если бы аналитик только читал документы или разговаривал с экспертами. Стратегией наблюдения слишком часто пренебрегают, а потому мы призываем аналитиков пользоваться ею чаще. Однако следует соблюдать осторожность. Слишком долгие наблюдения могут привести к избыточному привыканию к текущему состоянию дел. Из-за потери объективности можно не увидеть альтернативные пути описания функций системы.
Анкетирование проводится для того, чтобы опросить большие группы экспертов в сжатые сроки. Его можно использовать, например, когда необходимо быстро получить сведения о работе какой-либо определенной части системы с разных позиций. Анкетирование при опросе экспертов позволяет выявить, какие части системы более всего нуждаются в улучшении. На практике, однако, информация, полученная от экспертов с помощью анкет, оказывается малодостоверной. Мы советуем использовать анкеты только после достаточного знакомства с системой, когда вы сможете задавать конкретные, четко сформулированные вопросы. Тогда у вас больше вероятности быть правильно понятыми и получить точные ответы. Иногда опытные аналитики исследуют большое число систем определенного типа (например, производство, телефонная сеть, бухгалтерия). В ходе многих проектов они приобретают фундаментальные знания в соответствующей предметной области, относительно определенного класса систем. Такие знания очень полезны, поскольку для многих различных систем существуют общие понятия. Эти понятия могут иметь широкое применение. Если вы хорошо знаете предметную область, то можете стать сами источником информации. Мы рекомендуем проводить самоопрос с тем, чтобы получить максимальную пользу от своих знаний. В то же время при этом следует проявлять осторожность в использовании такой стратегии, потому что у вас может не хватать знаний, специфических для рассматриваемой системы. Когда вам нужна специфика, не полагайтесь на себя, лучше опросите экспертов. Еще одна полезная стратегия - придумать описание и дать его экспертам для корректировки. Придуманные описания могут дать альтернативные схемы функционирования системы - схемы, о которых эксперты никогда не думали. Однако для реализации таких схем нужна поддержка. Мы советуем автору предварительно изучить предметную область и найти хотя бы одну доброжелательно настроенную группу экспертов, прежде чем пытаться придумать описание. В этом случае описание будет иметь шансы отразить реальность. Придуманные описания могут, однако, потерпеть неудачу, если эксперты не готовы воспринимать новые возможности. В идеале, прежде чем прибегать к этой стратегии, автор должен установить надежные контакты с несколькими экспертами. Типы опроса В процессе анализа, независимо от источников информации, проводятся опросы нескольких типов. Выбор того или иного типа зависит от вида необходимой информации и поставленной цели. Наиболее распространены следующие типы опросов: · опросы для сбора фактов; · опросы для определения проблем; · совещания для принятия решений; · диалоги автор/читатель. Опросы для сбора фактов проводятся, когда пытаются определить, как функционирует система в настоящее время. Опросы для определения проблем полезны, когда вы хотите выяснить, что в системе не в порядке. Совещания для принятия решений проводятся, когда нужно получить представление о том, как должна функционировать будущая система, чтобы устранить недостатки в настоящей. Диалоги автор/читатель (см.главу 12) - это неформальные обсуждения при разногласиях между автором и экспертом. Классификация опросов приведена здесь по двум причинам. Во-первых, очень важно осознавать основную задачу опроса. Ясно понятая цель позволяет направлять беседу в нужное русло. Во-вторых, аналитик получает возможность сортировать различную информацию, собранную при опросе эксперта. Обычно эксперт рассказывает о том, как идет дело в настоящее время, что не в порядке и что следует предпринять. Классификация опросов позволяет расставить по своим местам все типы фактов. Процесс опроса Мы советуем опрос проводить стандартным образом для всех типов источников информации. Наша цель - формализировать этот процесс так, чтобы максимизировать поток информации и предупредить возникновение ситуаций, мешающих достигнуть цели опроса. Для этого мы рекомендуем подход, подразумевающий три этапа: подготовку, проведение опроса и завершение.
7.3.1. Подготовка Подготовка к опросу приобретает решающее значение, если у вас есть только единственная возможность поговорить с экспертом (например, с президентом компании или генералом). Кроме того, она поможет вам оптимизировать время, которое вы проведете с источником информации, и получить надежный поток информации. Мы рекомендуем следующие шаги:
· выберите нужного собеседника; · договоритесь о встрече; · установите предварительную программу встречи; · изучите сопутствующую информацию; · согласуйте свои действия с группой проектирования.
Выбор собеседника является первым и самым важным шагом. Слишком часто автор не получает необходимой информации при неправильном выборе источника. Позаботьтесь о выборе представителей соответствующего иерархического уровня организации, правильных типов документов, лучшей позиции для обзора, а также о выборе эксперта, обладающего нужными знаниями. Согласуйте свой выбор с другими членами группы. После выбора собеседника договоритесь с ним о скорой, насколько это возможно, встрече. Установите цель встречи и ограничьте беседу в пределах часа или менее. Информационный поток, как правило, иссякает через час, поэтому не рассчитывайте обсудить больше чем возможно за это время. Если тематика обширна, найдите способ разбить беседу на несколько часовых встреч. Установите программу беседы сразу же, как договоритесь о встрече. Определите круг обсуждаемых проблем и запишите конкретные вопросы, особенно те, на которые необходимо получить ответы для продолжения работы. В ходе формирования программы изучите доступную исходную информацию. Обратитесь к соответствующим документам и терминологическим справочникам и используйте SADT-модель, чтобы проще выделить круг ваших вопросов. Наконец, не забудьте согласовать ваши приготовления со всей группой проектирования. Последнее, что вам может понадобиться - это беседа с тем, кто только вчера разговаривал с вашим коллегой именно на ту тему, которую вы хотите обсудить. Правильная координация позволяет сберечь время эксперта и минимизирует дублирование действий авторами модели.
7.3.2. Проведение опроса В проведении опроса самое важное правильно организовать и поддерживать поток информации от эксперта к вам. Мы советуем потратить время на обдумывание верного начала опроса, при сборе информации по возможности использовать записи, заканчивать разговор плавно. Обсудим подробнее каждый из этих пунктов. Начиная разговор, не забудьте представиться и сформулировать цель встречи. Это поможет избежать недоразумений и даст беседе правильное направление. Кроме того, обговорите возможность ведения записей. Заверьте эксперта в конфиденциальности беседы и в том, что впоследствии ему будет предоставлена возможность внести поправки в ваши записи. Затем сформулируйте первый вопрос. Помните, что первый вопрос часто задает тон всему разговору, поэтому хорошо продумайте его. Собирайте информацию, делая записи обо всем (о специальных терминах, взаимосвязях между частями системы и т.п.) и ограничивая время беседы. Запишите SADT-функции и данные, попытайтесь набросать диаграмму. Поддерживайте поток информации, задавая вопросы, которые уточняют и подтверждают ответы. Вопросы, которые могут помочь уточнить или подтвердить полученную информацию, должны быть сформулированы следующим образом:
· Можете ли Вы привести пример? · Когда это произошло? · Есть ли у этого правила исключения? · Можете ли Вы привести какие-нибудь цифры в подтверждение Ваших слов?
Прежде всего не возражайте. Никогда не задавайте наводящих вопросов или вопросов с короткими ответами "да" или "нет". Вместо этого записывайте то, что вам говорят, и просите подвести итог или дать пояснения. Вы получите от опроса больше, если вы дадите эксперту возможность говорить то, что он хочет сказать, а не то, что вы хотите услышать. Следите за возникновением следующих ситуаций:
· вы уже получили достаточно информации; · вы получаете большой объем неподходящей информации; · обилие информации вас подавляет; · эксперт начинает уставать; · у вас с экспертом часто возникают конфликты.
Любая из этих причин - достаточное основание для завершения беседы. Когда вы считаете нужным закончить опрос, завершайте беседу плавно. Кратко подытожьте основные пункты и сделайте обзор полученных сведений, которые могут быть опущены или неверно истолкованы. Договоритесь о времени следующей встречи, если она нужна, и получите рекомендации для ближайших опросов. Поставьте эксперта в известность, когда и как вы собираетесь использовать полученную информацию и когда вы пришлете ему материал на рецензирование.
7.3.3. Завершение Всегда оформляйте материалы опроса сразу же после встречи с экспертом. В этом случае немедленно возникает обратная связь, и вы минимизируете возможность потери важной информации. Просмотрите и закончите ваши заметки, а потом составьте SADT-глоссарий как средство определения новых понятий и терминологии. Затем набросайте диаграмму, определяя, какие еще следует задать вопросы и какие области исследовать. Как можно скорее сделайте хорошие копии этих диаграмм и глоссариев, сформируйте из них небольшой пакет материалов для рецензирования (папку) и отправьте ее эксперту,
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|