Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
59
Добавлен:
12.04.2015
Размер:
1.1 Mб
Скачать

8.7. Резюме

На начальном этапе моделирования SADT-аналитик проводит подготовку к работе, собирает информацию, декомпозирует объект и обобщает эту декомпозицию. В процессе подготовки выби­рается цель и точка зрения модели, намечается предполагаемое использование модели. Подготов­ка должна максимально облегчить сбор информа­ции. Декомпозиция означает, во-первых, состав­ление списка данных, во-вторых, списка функций и, в-третьих, построение диаграммы АО. Последним шагом является обобщение диаграм­мы АО в диаграмму А-0, содержащую основные входы, выходы, управления, а также формулиров­ку цели и точки зрения модели.

Дополнительная литература

DeMarco,Т.: Structured Analysis and System Specification, Yourdon Press, New York,1978.

DeMarco,Т.: "Specification modeling", Guide50 Proceedings,1980.

Greenspan, S., and J. Mylopoulos: "Capturing More World Knowledge in the Requirements Specification", 6th International Conference on Software Engineering Proceedings, September1982

Jackson, M.: System Development, Prentice-Hall, Englewood Cliffs, N.J.,1983.

Marca, D.: Applying Software Engineering Principles, Little Brown, Boston,1984.

Orr, K.: Structured Systems Development, Yourdon Press, New York,1977.

Ross D.: "Some Further Observations about Structured Analysis", SofTech Technical Report no.9031-6, January1976

Ross, D.: "An Essay on Activity Diagramming", SofTech Technical Report no.7104, November, 1976.

Rubinsteine, M.: Patterns of Problem Solving, Prentice-Hall, Englewood Cliffs, N.J.,1975.

SofTech, Inc.: "IDEFO Author's Guide to Creating Activity Diagrams", SofTech Deliverable no.7500-13, September1979.

SofTech, Inc.: "Integrated Computer-Aided Manufacturing (ICAM) Final Report: Function Modeling Manual (IDEFO)", contract no. F33612-78-C-5158, SofTech, Inc.,1981.

Weinberg, G.: Rethinking Systems Analysis and Design, Little Brown, Boston,1982.

Глава 9. Продолжение моделирования

Начальный этап моделирования включает определение объекта, цели и точки зре­ния модели, ограничения, накладывае­мые на объект, построение диаграммы верхнего уровня и ее обобщение, составление списков данных и функций, объединение функций в бло­ки, формирование с использованием списка дан­ных взаимоотношений между блоками. Продол­жение моделирования основывается на тех же методах и выводит модель на следующий уровень детализации. Для этого требуется создать отдель­ную диаграмму для, возможно, каждого блока диаграммы верхнего уровня, затем построить диаграммы для всех блоков новых диаграмм, и так до тех пор, пока модель не будет описывать объект с нужной для достижения цели степенью детализации. Таким образом, продолжение моде­лирования является рекурсивным процессом.

9.1. Декомпозиция ограниченного объекта

Декомпозиция модели похожа на началь­ный этап моделирования, но проще его. Почему? Потому что при декомпозиции модели аналитик всегда находится в контексте, определенном бло­ком со своими дугами одной из диаграмм. Эта граница, называемая границей объекта, определе­на двумя способами. Во-первых, объект, цель и точка зрения каждой новой диаграммы уже определены на диаграмме АО. Во-вторых, каждый блок, декомпозируемый в новую диаграмму, уже является ограниченным объектом. Другими сло­вами, он идентифицирует конкретную функцию и все данные, которые для нее требуются или ею порождаются. Строить диаграмму, исходя из этой информации, проще, потому что список данных создается на основе дуг, входящих в блок и выходящих из него, а также потому, что спи­сок функций подробно раскрывает название бло­ка. Процесс декомпозиции ограниченного объе­кта состоит из следующих шагов:

  1. выбор блока диаграммы;

  2. рассмотрение объекта, определенного этим блоком;

  3. создание новой диаграммы;

  4. выявление недостатков новой диаграммы;

  5. создание альтернативных декомпозиции;

  6. корректировка новой диаграммы;

  7. корректировка всех связанных с ней диаграмм.

Шаги 1-3 представляют созидательную часть процесса. Выполняя их, аналитик концен­трирует свои усилия, связанные с выявлением новой информации об объекте, на более высоком уровне детализации, чтобы достичь ясности изло­жения. Шаги 4-7 составляют этап саморецензи­рования, в ходе которого аналитик, создав новую диаграмму, проверяет, какую она несет информа­цию и в каком она находится отношении с роди­тельской диаграммой. Затем в созданную диа­грамму и соответственно в связанные с ней диаграммы вносятся изменения, чтобы достичь ясности для других.В этой главе мы подробнее рассмотрим шаги 1-3. Шаги, связанные с са­морецензированием и последующими изменени­ями, обсуждаются в главе 10.

9.1.1. Выбор блока

Декомпозиция начинается с чтения диа­граммы АО и определения самого содержатель­ного блока. Это такой блок, декомпозиция кото­рого выявит многие аспекты диаграммы АО и будет оказывать большое влияние на будущие декомпозиции других блоков этой диаграммы. При выборе самого содержательного блока следу­ет учитывать доминирование, функциональную сложность и понятность. Лучшим не обязатель­но будет блок, наиболее трудный для понима­ния. Лучшим блоком для первой декомпозиции будет тот, который позволит наиболее глубоко проникнуть в суть рассматриваемой системы.

Рассмотрим диаграмму АО для модели экс­периментального механического цеха ( рис. 9-1). На ней три блока: управлять выполнением зада­ния, выполнить заданиеиконтролировать качество выполнения.На первый взгляд кажется, чтоуправлять выполнением, заданияявляется самым сложным блоком, потому что он самый доминантный и с ним связано самое большое количество дуг. Но при внимательном рассмотре­нии можно заметить, что многие из его дуг явля­ются просто обратными связями или выходами.Контролировать качество выполнения,видимо, является простейшей функцией, так что ее де­композиция не даст нам много новой информ­ации. Поэтому эти два блока - плохие кандидаты для первой декомпозиции.Выполнить задание выглядит более интересным, потому что этот блок участвует во многих циклах и имеет широ­кий спектр входов, управлений и выходов. Поняв, какрабочий выполняет задание,мы, ви­димо, окажемся в лучшем положении для дальне­йшей декомпозиции остальной части модели.

9.1.2. Объект, определяемый блоком

Блок 2, выполнить задание,становится те­перь самостоятельным объектом декомпозиции. Для выполнения этой декомпозиции вначале бегло осмотрим обобщающую диаграмму (посмо­трите, пожалуйста, диаграмму А-0 на рис. 8-4) и вспомним цель и точку зрения модели. Сделав это, мы увидим, что должны описать блоквыпол­нить заданиес точки зренияначальника цеха, чтобы можно было разработать инструкции для обучения нового персонала цеха. Кроме того, мы изучим блок 2 диаграммы АО и соединенные с ним дуги, чтобы выявить его особенности. Например, дуга механизма с названиемрабочий указывает, что мы можем, декомпозировав этот блок, выявить, чем занимаются рабочие.

Затем мы составляем список данных со всех дуг, касающихся блока, используя ICOM-ко-дирование для того, чтобы не потерять какие-либо интерфейсные данные. Например, план выполнения задания, станки и инструменты,а такжебраквходят в начальный список данных (см. верхнюю левую колонку на рис. 9-2). Этот список теперь улучшается благодаря декомпози­ции первоначальных данных или введению но­вых, тесно связанных данных. Например, при дальнейшем рассмотренииплана выполнения за­даниявозникла мысль обуказаниях.Далее, мы составляем на основе списка данных список функций, придерживаясь функции, соответству­ющей блоку верхней диаграммы. Обратите вни­мание на то, чтовыбрать инструменты, подго­товить рабочее место, обработать на станке и собратьиопределить степень выполнения зада­ния,по-видимому, действительно являются функ­циями, выполняемыми рабочим при выполнении задания.

Стремитесь ограничиваться разумным уров­нем сложности при объединении функций и дан­ных: четыре-пять функциональных блоков, как правило, лучше всего. Слишком много данных и функций часто содержат слишком много инфор­мации. Это приводит к запутанным диаграммам. Наоборот, небольшое число блоков дает слишком мало, и диаграмма становится почти бесполез­ной. Если вы уверены, что достигли баланса, про­верьте, во всех ли отношениях написанные вами слова адекватны объекту, определенному блоком и его граничными дугами на родительской диа­грамме. Теперь у вас есть все необходимое для построения диаграммы.

9.1.3. Создание новой диаграммы

Новая диаграмма строится аналогично диа­граммам АО и А-0. Блоки размещаются в соот­ветствии с доминированием (т.е. согласно взаим­ным ограничениям блоков), затем создаются основные дуги, представляющие ограничения, потом внешние и, наконец, внутренние дуги. Подчеркнем еще раз, что эта процедура, как и та, что описана в главе 8, ориентирована на на­чинающих пользователей SADT.Вообще говоря, SADT-диаграммы строятся в соответствии с той информацией, которую они несут. Те, кто уже знаком с SADT, строят диаграммы исходя из их содержания.

На рис. 9-2 показан результат работы SADT-автора, который сделал набросок диаграм­мы ограниченного объекта. Вот некоторые важ­ные моменты этой диаграммы: дугаследующий шаг заданияявляется носителем очень сущест­венной информации - она определяет, что нужно сделать на следующем шаге задания. Следователь­но, поскольку она ограничивает все остальные функции, блокопределить степень выполнения, порождающий дугуследующий шаг задания,яв­ляется самым доминантным на этой диаграмме.План выполнения задания (С1),очевидно, требу­ется прежде, чем что-нибудь может произойти, потому что содержимое этой внешней дуги оп­ределяет последовательность шагов обработки. Поэтому управляющая дуга очень важна. Кроме того, автор стремился отразить на диаграмме по­токи информации, в особенности потоки информации обратной связи. Обратите внимание на то, чторезультаты обработкиесть обратный вход от блокаобработать на станке и собрать к блокуопределить степень выполнения задания. Это означает:результат обработкиестьнеза­конченное задание,получаемое на каждомшаге выполнения задания,что в полной мере соответ­ствует действительности.

Рис. 9-1. Диаграмма АО готова к декомпозиции

Рис. 9-2. Предварительные наброски для декомпозиции функционального блока

Соседние файлы в папке Методология SADT