Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Составление списка функций




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

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

Список функций должен находиться на одной странице со списком данных. Мы советуем при составлении исходного списка не пытаться объединять функции между собой. Вместо этого постарайтесь вначале сосредоточиться на каждой конкретной функции и ее отношении к группам данных. Кроме того, старайтесь подбирать такие функции, которые могли бы работать с наиболее общими типами данных из вашего списка. Обратите внимание на то, сколько объединений сделано на рис. 8.2, чтобы собрать несколько детальных функций в одну более общую. Не будьте слишком дотошны, записывая функции, даже если вы сомневаетесь, выполняет ли их система. Что касается пограничных функций (функций, которые могут выполняться либо системой, либо ее окружением), то вначале очень трудно определить, входят они в модель или нет.

Затем объединяйте функции в "агрегаты". Стремитесь к организации 3-6 функциональ­ных группировок. Старайтесь, чтобы эти группи­ровки имели один и тот же уровень сложности, содержали примерно одинаковый "объем" функ­циональности и функции в каждой из них име­ли сходные операции и цели. На рис. 8-2 видно, что исходный список функций сгруппирован в три функции более высокого уровня. Объедине­ние не всегда легко осуществить. Вы можете обнаружить, что на каком-то уровне модели трудно выбрать "наилучший" способ объедине­ния функций. Не волнуйтесь, потому что плохая группировка обнаружит свою слабость на этапе декомпозиции. Если это произойдет, вы всегда можете вернуться назад и попробовать другой вариант объединения.

Построение диаграммы АО

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

Правильное расположение блоков является самым важным этапом построения диаграммы. Блоки располагаются в соответствии с их доми­нированием (по степени важности или по по­рядку следования). Самый доминантный блок обычно располагается в верхнем левом углу, а наименее доминантный - в нижнем правом. Это приводит к расположению, при котором более доминантные блоки ограничивают менее доми­нантные, образуя "ступенчатую" схему. Доминирование имеет важнейшее значение для ясного представления процесса. Например, не имеет смысла говорить о контроле за выполне­нием задания до изготовления детали.

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

Основными дугами, представляющими огра­ничения, всегда являются внешние дуги, т.е. дуги, представляющие данные, поступающие из непо­средственного окружения диаграммы.

Следующим шагом в построении диаграммы является размещение остальных внешних дуг и назначение им соответствующих ICOM-кодов. Таким образом, все данные, входящие в систему или выходящие из нее, оказываются учтенными на рисунке. Потеря внешней дуги - это ошибка интерфейса, одна из самых распространенных в системном анализе. Занимаясь декомпозицией объекта, можно забыть об интерфейсных данных, потому что очень легко сосредоточиться на дета­лях. Начиная с изображения всех внешних дуг, вы повысите точность диаграммы, включив все интерфейсные данные. И наконец, нарисуйте все остальные дуги, отражающие детали работы системы в целом. Во-первых, нарисуйте оставши­еся ограничения, действующие между блоками. Например, рассматриваемый чертеж влияет на проверку детали. Во-вторых, нарисуйте основной поток данных. На рис. 8-3 показана обработка сырья и заготовок в соответствии с планом. выполнения задания и контроль качества выполне­ния задания (иногда неоднократный) и в соот­ветствии с чертежом. В-третьих, рассмотрите все "патологические" потоки данных (случаи возник­новения ошибок). В-четвертых, уточните обрат­ные связи в потоках данных. Например, забра­кованное задание снова попадает в цикл в качес­тве брака. В заключение изобразите все обратные связи, вызываемые ошибочными ситуациями.

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

Обобщение диаграммы АО

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

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

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

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

Резюме

На начальном этапе моделирования 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, September 1982

 

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, January 1976

 

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, September 1979.

 

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. Продолжение моделирования

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...