close

Вход

Забыли?

вход по аккаунту

?

РўР Р Р SADT 4 (2)

код для вставкиСкачать
 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Брянский государственный технический университет Утверждаю
Ректор университета
__________А.В. Лагерев
"__"________ 2010 г.
ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ФУНКЦИОНАЛЬНОЕ МОДЕЛИРОВАНИЕ В СРЕДЕ ALLFUSION PROCESS MODELER 7.2
Методические указания к выполнению лабораторной работы № 2 для студентов очной формы обучения
специальностей 230105 - "Программное обеспечение ВТ и АС" и 010503 - "Математическое обеспечение и администрирование информационных систем"
Брянск 2010
УДК 004.4 (22)
Технология разработки программного обеспечения. Функциональное моделирование в среде AllFusion Process Modeler 7.2 [Текст]+[Электронный ресурс]: методические указания к выполнению лабораторной работы № 2 для студентов очной формы обучения специальностей 230105 - "Программное обеспечение ВТ и АС" и 010503 - "Математическое обеспечение и администрирование информационных систем". - Брянск: БГТУ, 2010. - 28с. - Режим доступа: http://www.elibrary.ru
Разработал:
Д.Г. Лагерев,
к.т.н., доц.
Рекомендовано кафедрой "Информатика и программное обеспечение" БГТУ (протокол № 1 от 31.08.10г.)
1. ЦЕЛЬ РАБОТЫ
В современной практике анализа и проектирования программного обеспечения (ПО) широко применяются визуальные модели. Моделирование является центральным звеном деятельности по созданию качественного ПО. Для автоматизации моделирования используются программно-технологические средства специального класса - CASE-средства (Computer Aided Software Engineering). При структурном подходе для анализа и проектирования программных систем используются CASE-средства.
Целями лабораторной работы являются:
* освоение CASE-средства функционального моделирования AllFusion Process Modeler 7.2;
* изучение методологии функционального моделирования SADT и стандарта IDEF0;
* применение методологии SADT (IDEF0) для функционального анализа предметной области создаваемой программной системы.
Перед выполнением лабораторной работы студент должен самостоятельно повторить лекционный материал по теме и ознакомиться с рекомендуемой литературой. Продолжительность работы - 2 часа.
2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Освоение инструментальной среды AllFusion Process Modeler 7.2.
2. Изучение основ функционального моделирования в нотации SADT по стандарту IDEF0 с выполнением примера, представленного в п. 3.3.
3. Разработка функциональной модели предметной области для программной системы по индивидуальному заданию.
4. Защита лабораторной работы.
Руководством к выполнению пп. 1 и 2 является п. 3 методических указаний. Дополнительно можно воспользоваться [1].
3. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
3.1. Инструментальная среда AllFusion Process Modeler 7.2
CASE-средство AllFusion Process Modeler 7.2 фирмы Computer Associates предназначено для автоматизации моделирования программных систем на основе методологий структурного подхода. Общее описание интерфейса AllFusion Process Modeler 7.2. При запуске Process Modeler в окне появляются меню, основная панель инструментов, палитра инструментов (её вид зависит от выбранной нотации) и в левой части - навигатор модели Model Explorer (рис. 1).
Рис.1. Интегрированная среда разработки модели Process Modeler 7.2
Меню содержит полный список команд для объектов всех уровней. Рабочее пространство для диаграммы можно увеличить путём выключения навигатора и основной панели инструментов. В таблице представлено описание элементов управления основной панели инструментов. Функциональность этой панели доступна так же из основного меню.
Таблица
Элементы управления основной панели инструментов
Элемент управленияОписаниеСоответствующий
пункт меню Создать новую модельFile/New Открыть модельFile/Open Сохранить модельFile/Save Напечатать модельFile/Print Генератор отчетов ReportBuilderTools/ Report BuilderВыбор масштабаView/Zoom МасштабированиеView/Zoom Проверка правописанияTools/Spelling Включение/выключение навигатора Model NavigatorView/ Model Navigator Создание новой модели. При создании модели в окне диалога необходимо задать её имя и выбрать методологию, в которой будет построена модель (рис. 2). Process Modeler поддерживает три нотации построения моделей - IDEF0, IDEF3 и DFD, каждая из них решает свои специфические задачи. Состав палитры инструментов изменяется автоматически при переключении с одной нотации в другую.
Рис.2. Диалог создания модели
По завершению диалога создания модели необходимо определить свойства модели Properties for New Models (рис. 3).
Рис.3. Диалог Properties for New Models
Модель в Process Modeler рассматривается как совокупность работ, каждая из которых оперирует некоторым набором данных. Работа изображается в виде прямоугольного блока, данные - в виде стрелок. Любой объект модели имеет контекстное меню, каждый пункт которого соответствует редактору какого-либо свойства объекта.
Установка цвета и шрифта объектов. Пункты контекстного меню Font и Color позволяют устанавливать размеры, стиль и цвет объекта. В нижней части вкладки Font диалогов Arrow Properties и Activity Properties находится группа опций Apply setting to, позволяющих изменить шрифт для всех работ или стрелок на текущей диаграмме, в модели, и группа Global, позволяющая изменить шрифт одновременно для всех объектов модели (рис. 4). Рекомендуется перед началом работы задать параметры шрифта по умолчанию для всех необходимых объектов через меню Model/Default Fonts.
Для корректного отображения текста на диаграммах рекомендуется выбирать кириллические шрифты (имеющие в названии окончание Cyr) или выбрать из выпадающего списка поля Script - "Кириллический".
Рис.4. Вкладка Font диалога Activity Properties Навигатор модели Model Explorer. Инструмент навигации Model Explorer имеет три вкладки - Activities, Diagrams и Objects.
Вкладка Activities показывает в виде раскрывающегося иерархического списка все работы модели. Одновременно могут быть показаны все открытые модели. Работы с диаграммами IDEF0 показываются зеленым цветом, IDEF3 - желтым, DFD - голубым. При выборе работы в навигаторе происходит автоматическое переключение левого окна Process Modeler в диаграмму, на которой эта работа размещена. Для редактирования свойств работы в навигаторе можно воспользоваться контекстным меню (рис. 5). Вкладка Diagrams служит для перехода на любую диаграмму модели (рис. 6).
Вкладка Objects позволяет увидеть все объекты, соответствующие выбранной на вкладке Diagrams диаграмме. Одновременно в навигаторе представлены все модели, открытые в данный момент, причем названия моделей выделены красным цветом.
Рис.5. Вкладка Activities навигатораРис.6. Вкладка Diagrams навигатора3.2. Создание функциональной модели в Process Modeler Для построения функциональной модели используется стандарт IDEF0 (Icam DEFinition), разработанный в 1970-х годах Дугласом Россом (его первоначальное название - Structured Analysis and Design Technique, сокращенно SADT). В данном стандарте описан графический язык функционального моделирования предметной области на основе структурного подхода. Для создания функциональной модели в Process Modeler в окне диалога следует выбрать нотацию IDEF0. Автоматически открывается палитра инструментов, соответствующая этой нотации (рис.7).
Рис.7. Палитра инструментов в нотации IDEF0:
1 - указатель редактирования; 2 - новая функция; 3 - новая стрелка; 4 - выноска; 5 - текст на диаграмме; 6 - словарь; 7 - дерево диаграмм; 8 - переход к родительской диаграмме; 9 - переход к дочерним диаграммам
Процесс моделирования начинается с определения контекста, т.е. с описания системы в целом. Контекст включает определение области моделирования, цели и точки зрения на модель. Область моделирования (Scope). При определении области моделирования необходимо четко обозначить границы предметной области и уровень её детализации.
Цель моделирования (Purpose). Формулировка цели позволяет сфокусировать усилия аналитиков в нужном направлении. Пример формулирования цели: "Описать функциональность предприятия для создания информационной системы".
Точка зрения (Viewpoint). Модель должна строиться с единой точки зрения, соответствующей цели моделирования. Очевидно, что описание работы предприятия с точки зрения финансиста и технолога будет выглядеть совершенно по-разному, поэтому важно придерживаться выбранной точки зрения.
Чтобы внести область, цель и точку зрения для функциональной модели, в Process Modeler следует выбрать пункт меню Model/Model Properties, вызывающий диалог Model Properties (рис. 8). Во вкладку Purpose следует внести цель и точку зрения, а во вкладку Definition - описание предметной области. Во вкладке Sourse описываются источники информации для построения модели (например, "Опрос экспертов предметной области и анализ документации").
Функциональная модель по стандарту IDEF0 представляет собой совокупность иерархически упорядоченных и взаимосвязанных диаграмм. Модель содержит три типа диаграмм: контекстная; декомпозиции; дерева узлов.
Рис.8. Диалог задания свойств модели
Контекстная диаграмма является вершиной древовидной структуры и представляет общую функцию системы и её взаимосвязь с внешним миром.
На основе контекстной диаграммы выполняется функциональная декомпозиция системы до достижения необходимого уровня подробности описания. Каждая диаграмма декомпозиции содержит блоки и дуги (стрелки). Блоки изображают функции (Activity), а дуги - информацию (Arrow). Информация может представлять данные или объекты.
Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, входная информация - с левой стороны блока, а результаты выхода показываются с правой стороны. Механизм (человек или автоматизированная система), который выполняет функцию, представляется дугой, входящей в блок снизу (рис.9). На рис.10 показана структура функциональной модели из четырех взаимосвязанных диаграмм. Каждая диаграмма иллюстрирует "внутреннее строение" блока на родительской диаграмме. Диаграмма дерева узлов показывает иерархическую зависимость функций.
Рис.9. Функциональный блок и дуги
Рис.10. Структура функциональной модели. Декомпозиция диаграмм Функция (Activity). Функция изображается на диаграмме в виде прямоугольного блока. Все функции должны быть названы и определены. Имя функции задается сочетанием отглагольного существительного, обозначающего процесс, например: "Изготовление детали", "Приём заказа". При создании новой модели (меню File/New) автоматически создаётся контекстная диаграмма с единственной функцией, изображающей систему в целом (рис. 11).
Рис.11. Пример контекстной диаграммы
Для внесения имени функции и задания других eё свойств следует выбрать в контекстном меню пункт Name (рис. 12).
Для создания диаграммы декомпозиции следует щелкнуть по кнопке. В открывшемся окне диалога необходимо указать нотацию IDEF0 и выбрать количество функций на диаграмме (рис. 13).
Для обеспечения наглядности рекомендуется использовать от 3 до 6 блоков на одной диаграмме декомпозиции. Блоки на диаграммах располагаются по диагонали в порядке доминирования функций от левого верхнего угла к правому нижнему. Функции нумеруются автоматически слева направо. Диагональная черта в левом верхнем углу показывает, что данная функция не декомпозирована (рис. 14).
Рис.12. Редактор задания свойств функции
Рис.13. Диалог декомпозиции диаграммы
Рис.14. Пример диаграммы декомпозиции
Дуга-стрелка (Arrow). Стрелки служат для представления информации и обозначаются существительными (например, "Заготовка", "Изделие", "Заказ"). В стандарте IDEF0 представлены пять типов стрелок. Вход (Input) - это информация, которая используется и обязательно преобразуется функцией для получения результата (выхода). Управление (Control) - это правила, стратегии, процедуры или стандарты, которыми руководствуется функция. Каждая функция должна иметь хотя бы одну стрелку управления, которая влияет на функцию, но не преобразуется ей.
Выход (Output) - это информация, которая возникает в результате работы функции. Каждая функция должна иметь хотя бы одну стрелку выхода. Функция без результата не имеет смысла. Механизм (Mechanism) - это ресурсы, которые выполняют функцию, например, персонал предприятия, станки, устройства и т.д. Стрелки механизма могут отсутствовать в модели. Вызов (Call) - специальная стрелка, указывающая на другую модель работы, она рисуется из нижней грани работы. В Process Modeler стрелки вызова используются в механизме слияния и разделения моделей. Граничные стрелки. Стрелки на контекстной диаграмме служат для описания взаимодействия системы с внешним миром. Они могут начинаться у границы диаграммы и заканчиваться у функции и наоборот. Такие стрелки называются граничными. Для внесения граничной стрелки следует выбрать кнопку в палитре инструментов, перенести курсор к требуемой стороне диаграммы, пока не появится чёрная полоса, щелкнуть сначала по полосе, а затем по одному из сегментов функции. Для определения имени стрелки необходимо вернуться в режим редактирования (кнопка на палитре инструментов) и через контекстное меню выбрать Name (рис. 15). Имена стрелок автоматически заносятся в словарь Arrow Dictionary. Несвязанные граничные стрелки (unconnected border arrow). При декомпозиции функции входящие в неё и исходящие из неё стрелки (кроме стрелок вызова) автоматически появляются на диаграмме декомпозиции (миграция стрелок), но при этом не касаются функций. Такие стрелки называются несвязанными (рис.16).
Рис.15. Диалог Arrow Properties для определения имени и свойств стрелки
Рис.16. Пример несвязанных стрелок
Для связывания стрелок входа, управления или механизма необходимо перейти в режим редактирования стрелок, сначала щелкнуть по наконечнику стрелки, а затем - по соответствующему сегменту функции. Для связывания стрелок выхода необходимо щелкнуть сначала по соответствующему сегменту функции, а затем - по стрелке.
Внутренние стрелки. Для связывания функций между собой используются внутренние стрелки, они не касаются границы диаграммы, начинаются у одной и заканчиваются у другой функции. Для рисования внутренней стрелки необходимо в режиме рисования стрелок щелкнуть по сегменту одной функции и затем по сегменту другой. По стандарту IDEF0 различают четыре типа связей между функциями.
Связь по входу (output-input), когда стрелка выхода вышестоящей функции направляется на вход нижестоящей (рис.17). Часто эту связь называют последовательной.
Связь по управлению (output-control), когда стрелка выхода вышестоящей функции направляется на управление нижестоящей (рис.18). Данные выхода вышестоящей функции не меняются в нижестоящей. Часто эту связь называют функциональной.
Рис.17. Связь по входуРис.18. Связь по управлению Обратная связь по входу (output-input feedback), когда выход нижестоящей функции направляется на вход вышестоящей. Такая связь, как правило, используется для описания циклов (рис.19).
Рис.19. Обратная связь по входу
Обратная связь по управлению (output-control feedback), когда выход нижестоящей функции направляется на управление вышестоящих функций (рис. 20).
Рис.20. Обратная связь по управлению
Разветвляющиеся и сливающиеся стрелки. Одни и те же данные могут быть использованы несколькими функциями. С другой стороны, данные, порожденные в разных функциях, могут быть одинаковыми и в дальнейшем перерабатываться одной функцией. Для моделирования таких ситуаций используются разветвляющиеся и сливающиеся стрелки. Для разветвления стрелки нужно в режиме редактирования стрелки щелкнуть по фрагменту стрелки и по соответствующему сегменту функции. Для слияния двух стрелок нужно в режиме редактирования стрелки сначала щелкнуть по сегменту выхода функции, а затем по фрагменту стрелки. Смысл разветвляющихся и сливающихся стрелок передаётся именованием каждой ветви стрелок. Если стрелка именована до разветвления, а её ветви не именованы, то подразумевается, что каждая ветвь моделирует те же данные, что и ветвь до разветвления.
Если стрелка именована до разветвления, а после разветвления какая-либо из ветвей не именована, то подразумевается, что эта ветвь моделирует те же данные, что и ветвь до разветвления (рис.21). Правила именования сливающихся стрелок полностью аналогичны. Разветвляющиеся и сливающиеся стрелки позволяют организовать коммуникационную связь между функциями.
Рис.21. Пример именования разветвляющихся стрелок
Туннелирование стрелок. Вновь внесенные граничные стрелки на диаграмме декомпозиции нижнего уровня изображаются в квадратных скобках и автоматически не появляются на диаграмме верхнего уровня (рис. 22). Для "перетаскивания" таких стрелок наверх нужно в контекстном меню квадратных скобок выбрать пункт Arrow Tunnel и в диалоге Border Arrow Edition отметить опцию Resolve it to border arrow (рис. 23). При выборе опции Change it to resolved rounded tunnel стрелка будет туннелирована и не попадёт на диаграмму верхнего уровня. Туннельная стрелка изображается с круглыми скобками на конце. Туннелирование применяется для изображения малозначимых стрелок.
Рис.22. Неразрешенная стрелкаРис.23. Диалог Border Arrow Edition Нумерация функций и диаграмм. Все функции модели нумеруются с использованием префикса любой длины (по умолчанию А) и числа. Функция контекстной диаграммы имеет номер А0. Функции декомпозиции А0 имеют номера А1, А2, А3. Функции декомпозиции нижнего уровня имеют номер родительской диаграммы и очередной порядковый номер, например функции декомпозиции А3 будут иметь номера А31, А32, А33, А34 и т. д. Функции образуют иерархию, в которой каждая функция может иметь одну родительскую и несколько дочерних функций.
Диаграммы функциональной модели имеют двойную нумерацию. Контекстная диаграмма всегда имеет номер А-0, а декомпозиция контекстной диаграммы - номер А0, остальные диаграммы декомпозиции имеют номера по соответствующему узлу (например, А1, А2, А21, А213). Process Modeler автоматически поддерживает нумерацию диаграмм по узлам.
Диаграмма дерева узлов. Данная диаграмма показывает иерархию функций в модели и позволяет рассмотреть всю модель целиком, при этом стрелки взаимосвязи отсутствуют. Для создания диаграммы дерева узлов следует выбрать в меню пункт Diagram/Add Node Tree (рис. 24).
Рис.24. Диаграмма дерева узлов По умолчанию нижний уровень декомпозиции показывается в виде списка, а остальные функции в виде прямоугольников.
Каркас диаграммы. На рис. 25 показан типичный пример диаграммы декомпозиции с граничными рамками, которые называются каркасом. Каркас содержит заголовок (верхняя часть рамки) и подвал (нижняя часть рамки). Заголовок каркаса используется для отслеживания диаграммы в процессе моделирования. Подвал каркаса используется для идентификации и позиционирования в иерархии диаграмм. Значения полей каркаса задаются в меню Diagram/Diagram Properties.
Рис.25. Пример диаграммы декомпозиции с каркасом Рекомендации по рисованию диаграмм. В стандарте IDEF0 существуют соглашения по рисованию диаграмм, которые облегчают чтение и экспертизу модели. Некоторые из этих правил Process Modeler поддерживает автоматически, выполнение других следует обеспечить вручную. Ниже рассматриваются основные правила:
1. Блоки функций должны располагаться по диагонали с левого верхнего в правый нижний угол в порядке доминирования. При добавлении новых работ нарушать диагональное расположение не следует. Данное правило позволяет минимизировать изгибы и пересечения стрелок.
2. Если две стрелки проходят параллельно (начинаются с одной и той же грани одной функции и заканчиваются на одной и той же грани другой функции), то по возможности их следует объединить и назвать единым термином.
3. Обратные связи по входу рисуются нижней петлёй, обратная связь по управлению - верхней петлёй. Это правило поддерживается в Process Modeler автоматически.
4. Следует минимизировать число пересечений, петель и поворотов стрелок. Это ручная, творческая работа.
3.3. Пример создания функциональной модели в Process Modeler
Поставлена задача: автоматизировать работу с документацией в приемной комиссии университета. Необходимо определить функциональные требования к программной системе.
Для проведения анализа функций, выполняемых сотрудниками приёмной комиссии, построим функциональную модель. Используется точка зрения секретаря приёмной комиссии.
На контекстной диаграмме (рис. 26) определены все данные и объекты, необходимые для функционирования приемной комиссии.
На диаграмме первого уровня (рис. 27) выполнена декомпозиция базовой функции "Работа приёмной комиссии" на две подфункции: "Приём экзаменов и собеседований" и "Работа с документами". Проведена детализация функции "Работа с документами" (рис. 28).
Для получения полной функциональной модели следует выполнить декомпозицию функций до уровня, на котором каждая функция будет соответствовать конкретному виду документа.
Рис. 26. Контекстная диаграмма функциональной модели "Приёмная комиссия"
Рис.27. Диаграмма первого уровня функциональной модели "Приёмная комиссия"
Рис. 28. Диаграмма второго уровня для блока "Работа с документами4. ВАРИАНТЫ ЗАДАНИЙ
Во всех вариантах необходимо разработать функциональную модель для предметной области, которая составляет основу программной системы. Студент выполняет задание по теме, которую определяет ему преподаватель. Примеры тем:
1. Автоматизированная система "Библиотека".
2. Автоматизированная система "Видеопрокат".
3. Автоматизированная система "Автосервис".
4. Автоматизированная система "Автостоянка".
5. Автоматизированная система "Автосалон".
6. Автоматизированная система "Бассейн".
7. Автоматизированная система "Театр".
8. Автоматизированная система организации спортивных соревнований.
9. Автоматизированная система оптового склада.
10. Автоматизированная система магазина самообслуживания.
11. Автоматизированная система ателье.
12. Автоматизированная система "Электронная библиотека".
13. Автоматизированная система управления лечебными учреждениями.
14. Автоматизированная система обработки заказов.
15. Автоматизированная система салона красоты.
16. Автоматизированная система интернет-магазина.
17. Автоматизированная обучающее-контролирующая система.
18. Автоматизированная система расчёта заработной платы.
19. Система автоматического сбора и анализа информации по использованию сетевого оборудования.
20. Подсистема "Деканат" АСУ ВУЗ.
21. Подсистема "Абитуриент" АСУ ВУЗ.
5. ОФОРМЛЕНИЕ И ПОРЯДОК КОНТРОЛЯ РЕЗУЛЬТАТОВ
Результатом выполнения лабораторной работы является функциональная модель, включающая:
* предметную область, цель и точку зрения;
* контекстную диаграмму;
* диаграмму первого уровня;
* диаграммы второго уровня для всех функций;
* дерево диаграмм.
Лабораторная работа выполняется в среде Process Modeler и сдаётся в электронном виде.
Преподаватель проверяет логическую правильность функциональной модели. При защите лабораторной работы преподаватель вправе задать вопросы по теоретической части.
6. КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Перечислите основные элементы окна Process Modeler.
2. Какие методологии поддерживаются в Process Modeler?
3. Какие вкладки имеет навигатор модели Model Explorer?
4. Кто автор методологии функционального моделирования?
5. Перечислите основные положения стандарта IDEF0.
6. Какую роль играют в функциональной модели область, цель и точка зрения?
7. Какое назначение у сторон функционального блока?
8. Какое количество блоков должно присутствовать на диаграмме?
9. По какому принципу выполняется декомпозиция функций?
10. Сформулируйте правила именования функций и стрелок.
11. Перечислите типы стрелок.
12. Назовите типы связей между функциями.
13. Какие стрелки называют граничными?
14. Каково назначение разветвляющихся и сливающихся стрелок?
15. Какие стрелки называют туннельными?
16. Перечислите правила нумерации диаграмм.
17. Каково назначение диаграммы дерева узлов?
18. Какие части имеет каркас диаграммы?
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
1. Маклаков, С.В. Создание информационных систем с AllFusion Modeling Suite / С. В. Маклаков. - М.:Диалог-МИФИ, 2007. - 432с.
2. Федотова, Д.Э. CASE-технологии: практикум / Д.Э. Федотова, Ю.Д. Семенов, К.Н. Чижик. - М.: Телеком, 2005. - 160с.
3. Черемных, С.В. Моделирование и анализ систем. IDEF-технологии: практикум / С.В. Черемных, И.О. Семенов, B.C. Ручкин. - М.: Финансы и статистика, 2005. - 192с.
Технология разработки программного обеспечения. Функциональное моделирование в среде AllFusion Process Modeler 7.2: методические указания к выполнению лабораторной работы № 2 для студентов очной формы обучения специальностей 230105 - "Программное обеспечение ВТ и АС" и 010503 - "Математическое обеспечение и администрирование информационных систем" ЛАГЕРЕВ ДМИТРИЙ ГРИГОРЬЕВИЧ
Научный редактор А.Г. Подвесовский
Редактор издательства Л.И. Афонина
Компьютерный набор Д.Г. Лагерев
Темплан 2010 г., п. 221
Подписано в печать 10.10.10. Формат 60х84 1/16. Бумага офсетная. Офсетная печать. Усл. печ.л. 1,63. Уч.-изд.л. 1,63. Тираж 20 экз. Заказ . Бесплатно.
Брянский государственный технический университет.
241035, Брянск, бульвар 50-летия Октября, 7, БГТУ. 58-82-49.
Лаборатория оперативной полиграфии БГТУ, ул. Институтская, 16.
2
4
Документ
Категория
Рефераты
Просмотров
49
Размер файла
768 Кб
Теги
лабораторная работа, рур, лаба, sadt, лабораторная
1/--страниц
Пожаловаться на содержимое документа