Файл: Методические указания по практическим работам для обучающихся пи (филиала) дгту в г. Таганроге по специальности (направлению) 09. 02. 07 Информационные системы м программирование.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.02.2024
Просмотров: 374
Скачиваний: 11
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
, одиночной и двойной ошибке.
При оформлении отчета необходимо привести необходимые таблицы, исходные данные, расчеты и результаты.
Практическая работа № 13 «Анализ потоков данных»
Цель: - научиться анализировать поток данных
Форма отчета:
−выполнить задание;
−показать преподавателю;
−ответить на вопросы преподавателя.
Время выполнения: 2 ч
Объект изучения: методология DFD. Исследование: освоение метода структурного анализа потоков данных (DFD) в нотации Gane-Sarson (синтаксис графического языка, семантика, правила построения графических диаграмм, словаря данных и спецификации процессов). Инструментарий: Microsoft Visual Professional 2002/2003; Computer Associates BPwin 4.0.
Первым этапом работы является ознакомление с системой NetCracker и получение начальных навыков работы с ней (добавление устройств и установление связей между ними при создании проекта, настройка протоколов, определение интенсивности трафика, анализ загруженности сети и т.п.); при этом удобно использовать имеющийся проект TUTOR.NET, специально предназначенный для целей обучения.
На втором этапе студент получает от преподавателя индивидуальное задание для создания проекта и анализа работы сети. Типовыми заданиями являются следующие:
Задание 1. Составить модель компьютерной сети определенного подразделения вуза (например, вычислительной лаборатории кафедры), проанализировать потоки данных, определить «слабые места» (работающие на пределе возможностей устройства и/или линии связи) сети.
Задание 2. Составить модель компьютерной сети по заданию преподавателя (исходные данные – число подразделений эксплуатирующей сеть организации, число ПЭВМ в каждой комнате и усредненный трафик каждой, расстояния между комнатами, желательность дальнейшего расширения и т.д.). Заданием является анализ потоков данных, выявление «слабых мест», уровня живучести сети (например, наличие «обходных путей» при выходе из строя отдельных связей при использовании маршрутизации).
В отчете указываются заданные преподавателем исходные данные для проектирования сети, описывается выбранная стратегия создания сети, параметры сетевых устройств и линий связи, приводится схема (желательна печатная копия рабочей зоны главного окна системы NetCracker) сети и один из стандартных видов выходной информации (обычно Bill Of Materials).
Контрольные вопросы
1.Какие задачи проектирования и исследования сетей могут быть решены с использованием пакета NetCracker?
2. Для каких целей служит браузер устройств? Рабочая зона? Панель изображений?
3. Что такое многоуровневый проект?
4. Какие средства NetCracker позволяют количественно судить о степени загруженности конкретного канала связи?
5. Каким образом в системе NetCracker можно решать задачи типа «а что, если…»?
Практическая работа № 14 «Использование метрик стилистики»
Цель: - научиться использовать метрики стилистики
Форма отчета:
−выполнить задание;
−показать преподавателю;
−ответить на вопросы преподавателя.
Время выполнения: 2 ч
Следующие пять характеристик являются продолжением метрики Холстеда.
1. Для измерения теоретической длины программы N’ М. Холстед вводит аппроксимирующую формулу:
N'= n1*log2(n1) + n2*log2(n2)
где n1 - словарь операторов; n2 - словарь операндов программы.
Вводя эту оценку, Холстед исходит из основных концепций теории информации, по аналогии с которыми частота использования операторов и операндов в программе пропорциональна двоичному логарифму количества их типов. Таким образом, выражение представляет собой идеализированную аппроксимацию N, т. е. справедливо для потенциально корректных программ, свободных от избыточности или несовершенств (стилистических ошибок). Несовершенствами можно считать следующие ситуации:
а) последующая операция уничтожает результаты предыдущей без их использования;
б) присутствуют тождественные выражения, решающие совершенно одинаковые задачи;
в) одной и той же переменной назначаются различные имена и т. п.
Подобные ситуации приводят к изменению N без изменения n.
М. Холстед утверждает, что для стилистически корректных программ отклонение в оценке теоретической длины N’ от реальной N не превышает 10%.
Можно использовать N’ как эталонное значение длины программы со словарем n. Длина корректно составленной программы N, т. е. программы, свободной от избыточности и имеющей словарь n, не должна отклоняться от теоретической длины программы N’ более чем на 10%. Таким образом, измеряя n1, n2, N1 и N2 и сопоставляя значения N и N’ для некоторой программы, при более чем 10%-ном отклонении можно говорить о наличии в программе стилистических ошибок, т. е. несовершенств.
На практике N и N’ часто существенно различаются.
2. Другой характеристикой, принадлежащей к метрикам корректности программ, по М. Холстеду, является уровень качества программирования L (уровень программы):
L=V'/V
где V и V’ /определены выше.
Исходным для введения этой характеристики является предположение о том, что при снижении стилистического качества программирования уменьшается содержательная нагрузка на каждый компонент программы и, как следствие, расширяется объем реализации исходного алгоритма. Учитывая это, можно оценить качество программирования на основании степени расширения текста относительно потенциального объема V’. Очевидно, для идеальной программы L=1, а для реальной - всегда L<1.
3. Нередко целесообразно определить уровень программы, не прибегая к оценке ее теоретического объема, поскольку список параметров программы часто зависит от реализации и может быть искусственно расширен. Это приводит к увеличению метрической характеристики качества программирования. М. Холстед предлагает аппроксимировать эту оценку выражением, включающим только фактические параметры, т. е. параметры реальной программы: L'= (2 n2)/ (n1*N2) - уровень качества программирования, основанный лишь на параметрах реальной программы без учета теоретических параметров,
4. Располагая характеристикой L’, Холстед вводит характеристику I, которую рассматривает как интеллектуальное содержание конкретного алгоритма, инвариантное по отношению к используемым языкам реализации: I = L’ * V.
По мнению самого автора, термин интеллектуальность не совсем удачен. Преобразуя выражение можно получить:
I = L’V = LV = V’V/V = V’.
Эквивалентность I и V’ свидетельствует о том, что мы имеем дело с характеристикой информативности программы.
Введение характеристики I позволяет определить умственные затраты на создание программы. Процесс создания программы условно можно представить как ряд операций:
1) осмысление предложения известного алгоритма;
2) запись предложения алгоритма в терминах используемого языка программирования, т. е. поиск в словаре языка соответствующей инструкции, ее смысловое наполнение и запись.
Используя эту формализацию в методике Холстеда, можно сказать, что написание программы по заранее известному алгоритму есть N’-кратная выборка операторов и операндов из словаря программы n, причем число сравнений (по аналогии с алгоритмами сортировки) составит log2(n).
Если учесть, что каждая выборка-сравнение содержит, в свою очередь, ряд мысленных элементарных решений, то можно поставить в соответствие содержательной нагрузке каждой конструкции программы сложность и число этих элементарных решений. Количественно это можно характеризовать с помощью характеристики L, поскольку 1/L имеет смысл рассматривать как средний коэффициент сложности, влияющий на скорость выборки для данной программы. Тогда оценка необходимых интеллектуальных усилий по написанию программы может быть измерена как.
Задание на лабораторную работу:
1. Скачать калькулятор любого производителя или взять разработанный студентами.
2. Сравнить два программных продукта: калькулятор фирмы Microsoft и калькулятор, написанный студентами (скачанный). Сравнение проводить по следующим оценочным элементам: надежность ПС, сопровождаемость, корректность. Критерии оценки (1 или 0)
3. Все сравнение занести в следующую таблицу
Практическая работа № 15 «Выполнение измерений характеристик кода в среде VisualStudio»
Цель: - Приобрести навыки программирования основных действий СУБД в MS VisualStudio .NET
Форма отчета:
−выполнить задание;
−показать преподавателю;
−ответить на вопросы преподавателя.
Время выполнения: 2 ч
Оборудование лаборатории и рабочих мест лаборатории:
компьютеры, принтер, сканер, проектор, программное обеспечение общего и профессионального назначения, комплект учебно-методической документации.
Реализация профессионального модуля предполагает обязательную учебную практику.
Оборудование и технологическое оснащение рабочих мест:
1.Комплект ТС компьютера IBM-PC
2.Методические указания для выполнения практических работ
4. Microsoft Visio.
5. Microsoft Visual Studio.
6.Microsoft Office.
Проверка, входит ли узел в поддерево, определяемое своим корнем (например, входит ли данный товар в группу одного из верхних уровней, "Кисточка" в "Инструменты для ремонта"):
WITH Поддерево ([Код территории], [Код вышестоящей территории], Наименование, Уровень)
AS (
SELECT [Код территории], [Код вышестоящей территории], Наименование, 1
FROM Территории
WHERE [Код территории] = 40288000 -- узел, проверяемый на вхождение
UNION ALL
SELECT Территории.[Код территории], Территории.[Код вышестоящей территории], Территории.Наименование, Уровень + 1
FROM Территории
INNER JOIN Поддерево ON Территории.[Код территории] = Поддерево.[Код вышестоящей территории]
)
SELECT result = CASE
WHEN EXISTS (
SELECT 1
FROM Поддерево
WHERE [Код территории] = 40260000 /* корень поддерева */
)
THEN 'Узел входит в поддерево'
ELSE 'Узел НЕ входит в поддерево'
END
Выборка поддерева по заданному узлу:
SELECT [Код подмножества], Уровень
FROM Подмножества
WHERE [Код множества] = 123 -- корень поддерева
ORDER BY Уровень
Выборка всех предков (путь к узлу от корня):
SELECT [Код множества], Уровень
FROM Подмножества
WHERE [Код подмножества] = 345 -- узел
ORDER BY Уровень
Проверка, входит ли узел в поддерево:
SELECT result = CASE
WHEN EXISTS (
SELECT 1
FROM Подмножества
WHERE [Код подмножества] = 345 /* узел */
AND [Код множества] = 211 /* корень поддерева */
)
THEN 'Узел входит в поддерево'
ELSE 'Узел НЕ входит в поддерево'
END
При оформлении отчета необходимо привести необходимые таблицы, исходные данные, расчеты и результаты.
Практическая работа № 13 «Анализ потоков данных»
Цель: - научиться анализировать поток данных
Форма отчета:
−выполнить задание;
−показать преподавателю;
−ответить на вопросы преподавателя.
Время выполнения: 2 ч
Объект изучения: методология DFD. Исследование: освоение метода структурного анализа потоков данных (DFD) в нотации Gane-Sarson (синтаксис графического языка, семантика, правила построения графических диаграмм, словаря данных и спецификации процессов). Инструментарий: Microsoft Visual Professional 2002/2003; Computer Associates BPwin 4.0.
Первым этапом работы является ознакомление с системой NetCracker и получение начальных навыков работы с ней (добавление устройств и установление связей между ними при создании проекта, настройка протоколов, определение интенсивности трафика, анализ загруженности сети и т.п.); при этом удобно использовать имеющийся проект TUTOR.NET, специально предназначенный для целей обучения.
На втором этапе студент получает от преподавателя индивидуальное задание для создания проекта и анализа работы сети. Типовыми заданиями являются следующие:
Задание 1. Составить модель компьютерной сети определенного подразделения вуза (например, вычислительной лаборатории кафедры), проанализировать потоки данных, определить «слабые места» (работающие на пределе возможностей устройства и/или линии связи) сети.
Задание 2. Составить модель компьютерной сети по заданию преподавателя (исходные данные – число подразделений эксплуатирующей сеть организации, число ПЭВМ в каждой комнате и усредненный трафик каждой, расстояния между комнатами, желательность дальнейшего расширения и т.д.). Заданием является анализ потоков данных, выявление «слабых мест», уровня живучести сети (например, наличие «обходных путей» при выходе из строя отдельных связей при использовании маршрутизации).
В отчете указываются заданные преподавателем исходные данные для проектирования сети, описывается выбранная стратегия создания сети, параметры сетевых устройств и линий связи, приводится схема (желательна печатная копия рабочей зоны главного окна системы NetCracker) сети и один из стандартных видов выходной информации (обычно Bill Of Materials).
Контрольные вопросы
1.Какие задачи проектирования и исследования сетей могут быть решены с использованием пакета NetCracker?
2. Для каких целей служит браузер устройств? Рабочая зона? Панель изображений?
3. Что такое многоуровневый проект?
4. Какие средства NetCracker позволяют количественно судить о степени загруженности конкретного канала связи?
5. Каким образом в системе NetCracker можно решать задачи типа «а что, если…»?
Практическая работа № 14 «Использование метрик стилистики»
Цель: - научиться использовать метрики стилистики
Форма отчета:
−выполнить задание;
−показать преподавателю;
−ответить на вопросы преподавателя.
Время выполнения: 2 ч
Следующие пять характеристик являются продолжением метрики Холстеда.
1. Для измерения теоретической длины программы N’ М. Холстед вводит аппроксимирующую формулу:
N'= n1*log2(n1) + n2*log2(n2)
где n1 - словарь операторов; n2 - словарь операндов программы.
Вводя эту оценку, Холстед исходит из основных концепций теории информации, по аналогии с которыми частота использования операторов и операндов в программе пропорциональна двоичному логарифму количества их типов. Таким образом, выражение представляет собой идеализированную аппроксимацию N, т. е. справедливо для потенциально корректных программ, свободных от избыточности или несовершенств (стилистических ошибок). Несовершенствами можно считать следующие ситуации:
а) последующая операция уничтожает результаты предыдущей без их использования;
б) присутствуют тождественные выражения, решающие совершенно одинаковые задачи;
в) одной и той же переменной назначаются различные имена и т. п.
Подобные ситуации приводят к изменению N без изменения n.
М. Холстед утверждает, что для стилистически корректных программ отклонение в оценке теоретической длины N’ от реальной N не превышает 10%.
Можно использовать N’ как эталонное значение длины программы со словарем n. Длина корректно составленной программы N, т. е. программы, свободной от избыточности и имеющей словарь n, не должна отклоняться от теоретической длины программы N’ более чем на 10%. Таким образом, измеряя n1, n2, N1 и N2 и сопоставляя значения N и N’ для некоторой программы, при более чем 10%-ном отклонении можно говорить о наличии в программе стилистических ошибок, т. е. несовершенств.
На практике N и N’ часто существенно различаются.
2. Другой характеристикой, принадлежащей к метрикам корректности программ, по М. Холстеду, является уровень качества программирования L (уровень программы):
L=V'/V
где V и V’ /определены выше.
Исходным для введения этой характеристики является предположение о том, что при снижении стилистического качества программирования уменьшается содержательная нагрузка на каждый компонент программы и, как следствие, расширяется объем реализации исходного алгоритма. Учитывая это, можно оценить качество программирования на основании степени расширения текста относительно потенциального объема V’. Очевидно, для идеальной программы L=1, а для реальной - всегда L<1.
3. Нередко целесообразно определить уровень программы, не прибегая к оценке ее теоретического объема, поскольку список параметров программы часто зависит от реализации и может быть искусственно расширен. Это приводит к увеличению метрической характеристики качества программирования. М. Холстед предлагает аппроксимировать эту оценку выражением, включающим только фактические параметры, т. е. параметры реальной программы: L'= (2 n2)/ (n1*N2) - уровень качества программирования, основанный лишь на параметрах реальной программы без учета теоретических параметров,
4. Располагая характеристикой L’, Холстед вводит характеристику I, которую рассматривает как интеллектуальное содержание конкретного алгоритма, инвариантное по отношению к используемым языкам реализации: I = L’ * V.
По мнению самого автора, термин интеллектуальность не совсем удачен. Преобразуя выражение можно получить:
I = L’V = LV = V’V/V = V’.
Эквивалентность I и V’ свидетельствует о том, что мы имеем дело с характеристикой информативности программы.
Введение характеристики I позволяет определить умственные затраты на создание программы. Процесс создания программы условно можно представить как ряд операций:
1) осмысление предложения известного алгоритма;
2) запись предложения алгоритма в терминах используемого языка программирования, т. е. поиск в словаре языка соответствующей инструкции, ее смысловое наполнение и запись.
Используя эту формализацию в методике Холстеда, можно сказать, что написание программы по заранее известному алгоритму есть N’-кратная выборка операторов и операндов из словаря программы n, причем число сравнений (по аналогии с алгоритмами сортировки) составит log2(n).
Если учесть, что каждая выборка-сравнение содержит, в свою очередь, ряд мысленных элементарных решений, то можно поставить в соответствие содержательной нагрузке каждой конструкции программы сложность и число этих элементарных решений. Количественно это можно характеризовать с помощью характеристики L, поскольку 1/L имеет смысл рассматривать как средний коэффициент сложности, влияющий на скорость выборки для данной программы. Тогда оценка необходимых интеллектуальных усилий по написанию программы может быть измерена как.
Задание на лабораторную работу:
1. Скачать калькулятор любого производителя или взять разработанный студентами.
2. Сравнить два программных продукта: калькулятор фирмы Microsoft и калькулятор, написанный студентами (скачанный). Сравнение проводить по следующим оценочным элементам: надежность ПС, сопровождаемость, корректность. Критерии оценки (1 или 0)
3. Все сравнение занести в следующую таблицу
Практическая работа № 15 «Выполнение измерений характеристик кода в среде VisualStudio»
Цель: - Приобрести навыки программирования основных действий СУБД в MS VisualStudio .NET
Форма отчета:
−выполнить задание;
−показать преподавателю;
−ответить на вопросы преподавателя.
Время выполнения: 2 ч
-
ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ
Оборудование лаборатории и рабочих мест лаборатории:
компьютеры, принтер, сканер, проектор, программное обеспечение общего и профессионального назначения, комплект учебно-методической документации.
Реализация профессионального модуля предполагает обязательную учебную практику.
Оборудование и технологическое оснащение рабочих мест:
1.Комплект ТС компьютера IBM-PC
2.Методические указания для выполнения практических работ
4. Microsoft Visio.
5. Microsoft Visual Studio.
6.Microsoft Office.
-
КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.
Проверка, входит ли узел в поддерево, определяемое своим корнем (например, входит ли данный товар в группу одного из верхних уровней, "Кисточка" в "Инструменты для ремонта"):
WITH Поддерево ([Код территории], [Код вышестоящей территории], Наименование, Уровень)
AS (
SELECT [Код территории], [Код вышестоящей территории], Наименование, 1
FROM Территории
WHERE [Код территории] = 40288000 -- узел, проверяемый на вхождение
UNION ALL
SELECT Территории.[Код территории], Территории.[Код вышестоящей территории], Территории.Наименование, Уровень + 1
FROM Территории
INNER JOIN Поддерево ON Территории.[Код территории] = Поддерево.[Код вышестоящей территории]
)
SELECT result = CASE
WHEN EXISTS (
SELECT 1
FROM Поддерево
WHERE [Код территории] = 40260000 /* корень поддерева */
)
THEN 'Узел входит в поддерево'
ELSE 'Узел НЕ входит в поддерево'
END
Выборка поддерева по заданному узлу:
SELECT [Код подмножества], Уровень
FROM Подмножества
WHERE [Код множества] = 123 -- корень поддерева
ORDER BY Уровень
Выборка всех предков (путь к узлу от корня):
SELECT [Код множества], Уровень
FROM Подмножества
WHERE [Код подмножества] = 345 -- узел
ORDER BY Уровень
Проверка, входит ли узел в поддерево:
SELECT result = CASE
WHEN EXISTS (
SELECT 1
FROM Подмножества
WHERE [Код подмножества] = 345 /* узел */
AND [Код множества] = 211 /* корень поддерева */
)
THEN 'Узел входит в поддерево'
ELSE 'Узел НЕ входит в поддерево'
END
-
ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ
-
Изучите методические указания и конспект лекций. -
Проанализируйте задание по своему варианту. -
Создайте приложение, отвечающее запросу задания.