Методология структурного анализа и проектирования SADT
 

Глава 27. Написание спецификации

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

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

урок 22. Запись требований для обобщенной диаграммы и диаграммы верхнего уровня

Цель

Записать нефункциональные требования для диаграмм А-0 и АО 

Действия

1. Просмотрите главу 19, где обсуждаются способы описания нефункциональных требований с использованием меток свойств, правил действий и цвета. При выполнении пунктов 2-5 записывайте требования красным цветом с помощью SADT-замечаний "с квадратами".

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

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

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

5. Теперь сосредоточьтесь на диаграмме АО. Запишите более детализированные нефункциональные требования для внутренних дуг и блоков. Сконцентрируйте внимание на последовательности выполнения и ограничения основных функций системы. 

Примечания

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

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

3. Аннотированная диаграмма АО содержит обычно наиболее общие и важные нефункциональные требования к любой диаграмме модели. 

Образец

1. Обратите внимание, как условие частоты на диаграмме А-0, описывающее, как часто семья питается, детализировано на диаграмме АО для блока 3. Эта детализация потребовала написание требований по времени для всех других блоков на диаграмме АО.

2. Обратите внимание на то, как требования для дуг управления на диаграмме АО прояснили роль этой информации в работе системы.


 

урок 23. Аннотирование декомпозиции первого уровня

Цель

Записать нефункциональные требования для диаграмм Ах. 

Действия

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

2. Поместите диаграммы АО и Ах перед собой. Нефункциональные требования диаграммы АО перенесите на вашу диаграмму Ах.

3. Сконцентрируйтесь теперь на том, чтобы для диаграммы Ах сформулировать более подробные нефункциональные требования.. Работайте сначала с блоками, затем - с внешними дугами, а в конце - с внутренними дугами. Функциям соответствуют частота действий, продолжительность и исключительные случаи функционирования. Дугам соответствуют объемы, время создания, время использования, специальные атрибуты и места хранения. 

Примечания

1. Нефункциональные требования диаграммы АО будут более общими, чем те, которые вы пишете к диаграмме Ах.

2. Старайтесь объяснить, почему данные являются управляющими, а не входными. Это часто облегчает написание текста по диаграмме.

3. Как правило, аннотированные диаграммы Ах являются мостами между высокоуровневыми и детализированными нефункциональными требованиями.

 Образец

1. Обратите внимание, как условие частоты на диаграмме АО, описывающее, когда пополнять запасы, детализировано на диаграмме А2 для блока 2. Эта детализация потребовала написание требований в отношении времени для других блоков диаграммы А2.

2. Обратите внимание, как требования для дуг управления на диаграмме А2 проясняют важность информационных обратных связей для пополнения запасов.


 

урок 24. Запись требований для декомпозиции второго уровня

Цель

Записать нефункциональные требования для диаграммы Ахх. 

Действия

1. Просмотрите главу 19, где обсуждаются способы формулировки нефункциональных требований с использованием меток свойств, правила действий и цвета. Фиксируйте красным цветом все

требования этого урока с помощью SADT-замечаний "с квадратом «

2. Поместите диаграммы Ах и Ахх перед собой. Нефункциональные требования диаграммы Ах перенесите на вашу диаграмму Ахх и детализируйте их.

3. Сконцентрируйтесь теперь на диаграмме Ахх и формулировке более детализированных нефункциональных требованиях. Работайте сначала с блоками, затем - с внешними дугами, а в конце - с внутренними дугами. Функциям соответствуют частота действий, продолжительность и исключительные случаи функционирования. Дугам соответствует объем, время создания, время использования, специальные атрибуты и места хранения. 

Примечания

1. Нефункциональные требования диаграммы Ахх в общем случае будут более детализированными, чем нефункциональные требования диаграммы Ах.

2. Старайтесь объяснять, почему данные являются управляющими, а не входными. Это даст вам необходимую информацию для текста спецификации.

3. Аннотированные диаграммы Ахх обычно содержат довольно подробные нефункциональные требования. 

Образец

1. Детализированные нефункциональные требования диаграммы А21 описывают меры предосторожности чтобы минимизировать порчу продуктов.

2. Требования для дуг управления на диаграмме А21 проясняют, как недельный план питания влияет на детализированные действия по использованию кладовой.


 

урок 25. Написание спецификации

Цель

Описать процесс питания семьи в соответствии с диаграммами, построенными в уроках 22, 23, 24.

 Действия

1. Поместите вашу диаграмму Ахх с требованиями перед собой. Держите поблизости для справок диаграммы Ах, АО и А-0.

2. Текст, который вы собираетесь написать, снабдите названием, номером узла, а также названием вашей диаграммы Ахх. Не забудьте добавить обозначение /Т1 к номеру узла.

3. Напишите по одному абзацу текста для каждого блока на диаграмме Ахх и упорядочите абзацы в соответствии с номерами блоков. Посвятите каждый абзац описанию функций и нефункциональных требований только для одного блока.

4. Теперь вернитесь назад и напишите абзац о том, как все блоки диаграммы работают вместе. Поместите этот абзац на текстовом листе впереди остальных абзацев. Тем самым вы написали раздел документа спецификации. 

Примечания

1. Обычно для описания работы одного SADT-блока требуется только один абзац текста, поскольку графика SADT компактно захватывает небольшую, но хорошо определенную часть всей системы.

2. Абзац текста о том, как все блоки диаграммы работают вместе, лучше всего писать после описания каждого блока (таким образом получается обобщение).

 

Образец

1. Обратите внимание на то, как взятые из диаграммы А-0 цель и точка зрения кратко описывают содержание спецификации.

2. Упорядочение диаграмм и текста в соответствии с SADT-схемой нумерации узлов обеспечивает целостность спецификации в процессе ее написания.

3. Оцените, насколько мал текст каждого абзаца и как плавен переход понятий из одного абзаца в другой. Это результат организации процесса работы и концентрации информации, отраженный в спецификации SADT-диаграммы.

Спецификации модели "Питание семьи"

 Цель

Описать, как должен осуществляться процесс питания семьи, чтобы подростки могли его организовать без помощи родителей.

 

Точка зрения

Документ написан родителями для подростков.

 

Содержание

Документ содержит неполную спецификацию, поскольку он не детализирует многие важные функции процесса питания. Тем не менее, он детализирует процесс пополнения запасов продуктов. Следующий список раскрывает структуру этого документа:


 

Диаграмма

Название

А-0

А-ОТ1

АО

АОТ1

А2

А2

А21

А21Т1

Питание семьи (контекст)

Питание семьи (контекст)-текст

Питание семьи (верхний уровень)

Питание семьи (верхний уровень) - текст

Пополнять запасы

Пополнять запасы – текст

Использовать кладовую

Использовать кладовую – текст

 

 

Чтение документа.

Документ написан и составлен в соответствии со структурой и содержанием модели "Питание семьи". При работе с SADT-моделями всегда используют узловые номера. Диаграммы модели рассматриваются в соответствии с обходом дерева "от корня". Это означает, что сначала представляются наиболее общие аспекты питания семьи, а затем - более детальные аспекты этой модели. Поэтому для общего ознакомления с документом прочтите текст, относящийся к питанию семьи (т.е. А-0 и АО). Для более подробного ознакомления прочтите весь текст, относящийся к пополнению запасов продуктов (А2 и А21).

А-0 Питание семьи (контекст)

Все члены семьи в будние дни питаются дома два раза в день (завтрак и ужин), обедая в школе или на работе, и три раза в день по субботам и воскресеньям (завтрак, обед и ужин). На деньги, которые мы дали, покупайте продукты. Старайтесь уложиться в бюджет, чтобы вы смогли питаться в течение всей недели. Держите "малышей" в порядке, следуя обычным семейным правилам. В этом случае им будет труднее спорить с вами. И не забудьте, что мусоросборочная машина приезжает в семь часов утра по средам. Чтобы выбросить мусор, вам придется проснуться рано, поскольку его нельзя оставлять на ночь снаружи.

 


АО Питание семьи (обзор)

Обзор

Меню на целую неделю составляется утром каждую субботу. Продукты покупаются и запасаются в субботу после обеда. Еда, готовящаяся в будни два раза в день, подается на стол сразу после приготовления. Стол и кухня убираются сразу после того, как все поедят. 

Планирование

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

Запасание продуктов

Сразу после составления меню пойдите и купите все необходимые продукты. Возьмите с собой недельное меню, чтобы вы могли быстро получить именно то, что вы хотите. И не забывайте, выходя из дома, брать с собой деньги. 

Приготовление

Подавайте завтрак в семь часов каждое утро, обед - в полдень каждый день и ужин в шесть часов каждый вечер. Придерживайтесь этого распорядка и вы увидите, что так легко накормить всех. Кроме того, следуйте спланированному в субботу меню, тогда продукты не кончатся раньше времени. И, наконец, выбирайте простые рецепты. Это уменьшает вероятность неудачи. 

Еда

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



Уборка

Сразу после того, как все поедят, уберите со стола, сложите объедки в мусорное ведро и спрячьте остатки. Затем вымойте посуду и уберите кухню (это не займет слишком много времени). Тогда в оставшееся время вы свободны.

А2. Поддержание запасов

Обзор

Покупки планируются сразу после составления недельных меню. Вы должны также составить маршрут покупок (куда идти) и список покупок (что купить). При планировании покупок проверьте кладовую, чтобы определить, сколько и каких продуктов есть под рукой. Продукты закупаются после составления плана покупок. Иногда, в случае отсутствия некоторых продуктов в магазинах, список покупок нуждается в изменениях. 

Хранение

Слово "кладовая" обозначает любое место в доме, где хранятся продукты (чулан, холодильник, морозильник). В недельном меню вы узнаете, как распорядиться кладовой. Два два вида продуктов идет в кладовую: то, что вы только что купили в магазине, и остатки еды, которую вы только что ели. Доставайте продукты из кладовой, когда хотите проверить, сколько и какой еды у вас есть, или когда нужно приготовить еду.

 Планирование

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

Покупки

Когда идете покупать продукты, возьмите деньги, маршрут покупок и список покупок. Имейте в виду ваше недельное меню, когда вы покупаете продукты. В этом случае у вас будет двойной самоконтроль. Придерживайтесь списка покупок, чтобы у вас не кончились деньги. Если в магазине нет того, что вы хотите купить, измените список покупок прямо там. В этом случае вам надо изменить меню так, чтобы не покупать лишних продуктов. Когда вернетесь домой, сразу же положите все покупки в кладовую. Тогда они не испортятся.


 

 

А21. Использование кладовой

Обзор

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

Упаковка

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

Хранение

Упакованные продукты или покупки, не нуждающиеся в упаковке, положите на хранение в подходящие места. Дважды проверьте, куда что вы кладете. Тогда меньше вероятность, что вы положите что-то не туда, куда нужно. Избегайте хранить жидкости в морозильнике, поскольку там посуда обязательно лопнет. И всегда проверяйте, плотно ли закрыты дверцы холодильника и морозильника. 

Извлечение

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

Проверка

Тщательно проверьте продукты, если сомневаетесь в их доброкачественности. Понюхайте их и посмотрите, нет ли на продуктах плесени. Если вы не уверены, можно ли их есть, возьмите что-нибудь другое. Не рискуйте с сомнительными продуктами. Немедленно выбрасывайте испорченную еду; не кладите ее обратно. Если вы просто подсчитываете имеющиеся продукты, положите их обратно сразу после подсчета. 

Подсчет

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



 

 

Оглавление

В начало