Инфоурок Информатика Другие методич. материалыМетодическая разработка по выполнению лабораторных работ

Методическая разработка по выполнению лабораторных работ

Скачать материал

УПРАВЛЕНИЕ ОБРАЗОВАНИЯ И НАУКИ ЛИПЕЦКОЙ ОБЛАСТИ

ГОАПОУ «Липецкий металлургический колледж»

 

 

 

 


Методические указания по проведению лабораторных работ

по МДК 03.02

 

Управление проектами  

 

 

для специальности:

09.02.07 Информационные системы и

программирование

 

 

 

 

 

Липецк-2021


Методические указания по проведению лабораторных работ по
МДК 03.02 Управление проектами.

 

Составитель:     Ильичева А. А., преподаватель общепрофессиональных дисциплин и профессиональных модулей

 

 

 

 

ОДОБРЕНО

Цикловой комиссией
информационных систем и программирования

 

Председатель:

 

___________ /О.И. Кузнецова/

 

УТВЕРЖДАЮ

Заместитель директора

по учебной работе:

 

 

 

 

 

_______________/Н.М. Левина/

 

 

Методические указания по проведению лабораторных работ предназначены для студентов ГОАПОУ «Липецкий металлургический колледж» специальности 09.02.07 Информационные системы и программирование для подготовки к лабораторным работам с целью освоения практических умений и навыков и профессиональных компетенций.

Методические указания по проведению лабораторных работ составлены в соответствии с требованиями ФГОС среднего общего образования, с учетом Примерной основной образовательной программы среднего общего образования и примерной программы ПМ03 «Ревьюирование программных модулей» для профессиональных образовательных организаций, рабочей программой ПМ03.

 

 


Введение

 

Методические указания по проведению лабораторных работ составлены в соответствии с содержанием рабочей программы ПМ03 «Ревьюирование программных модулей» (МДК 03.02 «Управление проектами» входит в профессиональный цикл учебного плана для специальности 09.02.07 Информационные системы и программирование.

В результате освоения ПМ03 «Ревьюирование  программных модулей» студент должен:

иметь практический опыт в:

-  измерении характеристик программного проекта;

-  использовании основных методологий процессов разработки программного обеспечения;

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

уметь:

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

-  выполнять оптимизацию программного кода с использованием специализированных программных средств;

-  использовать методы и технологии тестирования и ревьюирования кода и проектной документации;

-  применять стандартные метрики по прогнозированию затрат, сроков и качества. 

знать:

-  задачи планирования и контроля развития проекта;

-  принципы построения системы деятельностей программного проекта;

-  современные стандарты качества программного продукта и процессов его обеспечения.

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

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

Одна лабораторная работа рассчитана на 2 часа.

 


Техника безопасности при выполнении лабораторной работы

 

 

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

Вход в лабораторию осуществляется только по разрешению преподавателя.

На первом занятии преподаватель проводит инструктаж по технике безопасности и напоминает студентам о бережном отношении к лаборатории и о материальной ответственности каждого из них за сохранность оборудования и обстановки лаборатории.

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

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

Если во время проведения работы замечены какие-либо неисправности оборудования, необходимо немедленно сообщить об этом преподавателю.

После окончания лабораторной работы рабочее место привести в порядок.

 

 

 

 

 

 

 

 

 

 

 

 

Методические указания к проведению

лабораторных работ для студентов

 

1.                 К лабораторной работе необходимо подготовиться до начала учебного занятия.

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

3.                 К лабораторной работе допускаются студенты, освоившие необходимый теоретический материал.

4.                 По окончании выполнения заданий лабораторной работы проверьте себя, ответив на контрольные вопросы для самопроверки.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Техника безопасности при проведении лабораторных работ

 

Правила техники безопасности в компьютерном кабинете

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

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

При эксплуатации оборудования необходимо остерегаться: 
- поражения электрическим током; 
- механических повреждений, травм.

 

Требования безопасности перед началом работы

1. Запрещено входить в кабинет в верхней одежде, головных уборах, с громоздкими предметами и едой.
2. Запрещено входить в кабинет информатики в грязной обуви без бахил или без сменной обуви.
3. Запрещается шуметь, громко разговаривать и отвлекать других учащихся.
4. Запрещено бегать и прыгать, самовольно передвигаться по кабинету.
5. Перед началом занятий все личные мобильные устройства учащихся (телефон, плеер и т.п.) должны быть выключены.
6. Разрешается работать только на том компьютере, который выделен на занятие.
7. Перед началом работы учащийся обязан осмотреть рабочее место и свой компьютер на предмет отсутствия видимых повреждений оборудования.
8. Запрещается выключать или включать оборудование без разрешения преподавателя.
9. Напряжение в сети кабинета включается и выключается только преподавателем.

 

Требования безопасности во время работы

1. С техникой обращаться бережно: не стучать по мониторам, не стучать мышкой о стол, не стучать по клавишам клавиатуры.
2. При возникновении неполадок: появлении изменений в функционировании аппаратуры, самопроизвольного её отключения необходимо немедленно прекратить работу и сообщить об этом преподавателю.
3. Не пытаться исправить неполадки в оборудовании самостоятельно.
4. Выполнять за компьютером только те действия, которые говорит преподаватель.
5. Контролировать расстояние до экрана и правильную осанку.
6. Не допускать работы на максимальной яркости экрана дисплея.
7. В случае возникновения нештатных ситуаций сохранять спокойствие и чётко следовать указаниям преподавателя
.

 

Запрещается

1. Эксплуатировать неисправную технику.
2. При включённом напряжении сети отключать, подключать кабели, соединяющие различные устройства компьютера.
3. Работать с открытыми кожухами устройств компьютера.
4. Касаться экрана дисплея, тыльной стороны дисплея, разъёмов, соединительных кабелей, токоведущих частей аппаратуры.
5. Касаться автоматов защиты, пускателей, устройств сигнализации.
6. Во время работы касаться труб, батарей.
7. Самостоятельно устранять неисправность работы клавиатуры. 
8. Работать грязными, влажными руками, во влажной одежде.
9. Работать при недостаточном освещении.
10. Работать за дисплеем дольше положенного времени.

 

Запрещается без разрешения преподавателя

1. Включать и выключать компьютер,  дисплей и другое оборудование.
2. Использовать различные носители информации (дискеты, диски, флешки).
3. Подключать кабели, разъёмы и другую аппаратуру к компьютеру.
4. Брать со стола преподавателя дискеты, аппаратуру, документацию и другие предметы.
5. Пользоваться преподавательским компьютером.

 

Требования безопасности по окончанию работы

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

 

 

 

 

 

Лабораторная работа 1

 

Тема: Использование метрик программного продукта.

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

Теоретическая часть:

Техническое задание представляет собой документ, в котором сформулированы основные цели разработки, требования к программному продукту, определены сроки и этапы разработки и регламентирован процесс приемно-сдаточных испытаний.

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

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

Основные факторы, определяющие характеристики разрабатываемого программного обеспечения:

- исходные данные и требуемые результаты, которые определяют функции программы или системы;

- среда функционирования (программная и аппаратная);

- возможное взаимодействие с другим программным обеспечением или специальными техническими средствами;

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

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

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

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

На техническое задание существует стандарт ГОСТ 19.201-78 «Техническое задание. Требования к содержанию и оформлению».

В соответствии с этим стандартом техническое задание должно содержать следующие разделы:

- введение;

- основания для разработки;

- назначение разработки;

- требования к программе или программному изделию;

- требования к программной документации;

- технико-экономические показатели;

- стадии и этапы разработки;

- порядок контроля и приемки.

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

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

Раздел Назначение разработки должен содержать описание функционального и эксплуатационного назначения программного продукта с указанием категорий пользователей.

Раздел Требования к программе или программному изделию должен включать следующие подразделы:

- требования к функциональным характеристикам;

- требования к надежности;

- условия эксплуатации;

- требования к составу и параметрам технических средств;

- требования к информационной и программной совместимости;

- требования к маркировке и упаковке;

- требования к транспортированию и хранению;

- специальные требования.

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

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

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

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

В подразделе Условия эксплуатации, указывают особые требования к условиям эксплуатации: температуре окружающей среды, относительной влажности воздуха. Как правило, подобные требования формулируют, если разрабатываемая система будет эксплуатироваться в нестандартных условиях или использует специальные внешние устройства, например для хранения информации.

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

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

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

В разделе Технико-экономические показатели рекомендуется указывать ориентировочную экономическую эффективность, предполагаемую годовую потребность и экономические преимущества по сравнению с существующими аналогами.

В разделе Стадии и этапы разработки указывают стадии разработки, этапы и содержание работ с указанием сроков разработки и исполнителей.

В разделе Порядок контроля и приемки указывают виды испытаний и общие требования к приемке работы. В приложениях при необходимости приводят: перечень научно-исследовательских работ, обосновывающих разработку; схемы алгоритмов, таблицы, описания, обоснования, расчеты и другие документы, которые следует использовать при разработке. В зависимости от особенностей разрабатываемого продукта разрешается уточнять содержание разделов, т. е. использовать подразделы, вводить новые разделы или объединять их. В случаях, если какие-либо требования, предусмотренные техническим заданием, заказчик не предъявляет, следует в соответствующем месте указать «Требования не предъявляются». Разработка технического задания - процесс трудоемкий, требующий определенных навыков. Наиболее сложным, как правило, является четкое формулирование основных разделов: введения, назначения и требований к программному продукту.

Задание 1: Изучить нормативные документы по разработке технического задания на разработку программного продукта.

Задание 2: Разработать техническое задание на программный продукт по заданному варианту.

Порядок выполнения работы:

Внимательно изучите варианты заданий.

Варианты заданий:

1. Программа учета домашней медиатеки.

2. Программа планирования дел «Ежедневник».

3. Информационная система учета услуг в автомастерской.

4. Программа информационной поддержки спортивных соревнований.

5. Информационно-справочная система для продажи билетов в кинотеатре.

6. Программа учета и анализа продаж в продовольственном магазине.

7. Информационная система факультета «Абитуриент».

8. Программа информационного обеспечения фестиваля художественной самодеятельности студентов.

9. Программа информационной поддержки спартакиады университета.

10.Программа учета и анализа доходов и расходов семьи.

11.Программа формирования счетов-квитанций для жильцов ТСЖ.

12.Система управления теплицей.

13.Программа обработки данных аттестации студентов.

14.Визуальный конструктор Е-сетей.

15.Программа управления очередностью обслуживания клиентов в поликлинике.

16.Программа терминала оплаты за услуги населению.

17.Программа информационной поддержки спортивных соревнований.

18.Программа учета контингента студентов на факультете.

19.Программу «Маклер» для учета заявок на обмен квартир и поиска вариантов обмена.

20. Компьютерная игра «Сражение роботов».

Контрольные вопросы:

1. Что понимают под технологичностью программного обеспечения?

2. Какие типы программных продуктов можно выделить?

3. Назовите основные эксплуатационные требования к ПП.

4. В каких ситуациях необходимы предпроектные исследования?

5. Назовите, какой раздел технического задания можно считать основным и почему?

Лабораторная работа 2

 

Тема: Проверка целостности программного кода.

Цель лабораторной работы: ознакомиться с программными средствами обеспечения безопасности и системами контроля целостности.

Теоретическая часть:

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

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

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

Контроль целостности кода заключается в проверке состояния кода исполняемых модулей.

Можно выделить следующие виды контроля целостности кода:

- контроль запуска (загрузки) кода;

- контроль времени выполнения;

- комбинированный.

Контроль запуска (загрузки) кода предполагает проверку целостности модулей на самом раннем этапе.

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

Контроль времени выполнения подразумевает периодическую проверку целостности уже загруженного в память кода.

Данный вид контроля целостности позволяет выявить наличие вредоносной активности в вычислительной системе.

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

Для проверки целостности используются следующие методы контроля:

- сравнение данных;

- сравнение значений хеш-функций;

- установка защиты на память, содержащую код;

- проверка целостности потока выполнения.

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

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

Проверка целостности при этом подразумевается как для модулей режима ядра, так и для модулей, выполняющихся в пользовательском режиме.

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

Для достижения цели обеспечения предотвращения загрузки неизвестного или модифицированного кода, а также проверки целостности во время выполнения необходимо решить следующие задачи:

- определить, какие именно части исполняемых модулей не должны изменяться (и соответственно являются объектами контролирования целостности);

- разработать модель выполнения контроля целостности кода и алгоритм проверки целостности.

Задание:

Определить неизменяемые части исполняемых модулей.

Порядок выполнения работы:

При решении задачи определения неизменяемых частей,

во-первых, была проанализирована спецификация формата PE – Microsoft Portable Executable and Common Object File Format.

По итогам анализа данной спецификации выделены следующие части структуры PE, которые не должны модифицироваться:

- заголовок MS-DOS полностью (структура IMAGE_DOS_HEADER);

- заголовок PE полностью (структура IMAGE_NT_HEADERS32 или IMAGE_NT_HEADERS64), включая заголовки разделов (структуры IMAGE_SECTION_HEADER);

- разделы, в описании характеристик которых (поле Characteristics структуры IMAGE_SECTION_HEADER) не установлен флаг разрешения записи (IMAGE_SCN_MEM_WRITE), за исключением частей разделов, содержащих информацию об импорте (таблицы поиска импорта – Import Lookup Table, таблицы адресов импорта – Import Address Table).

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

- поле AddressOfEntryPoint структуры IMAGE_OPTIONAL_HEADER из заголовка PE (IMAGE_NT_HEADERS32/64) изменяется у всех управляемых сборок .NET в процессе инициализации;

- поле ImageBase структуры IMAGE_OPTIONAL_HEADER из заголовка PE (IMAGE_NT_HEADERS32/64) изменяется у всех исполняемых модулей, у которых в поле DllCharacteristics структуры IMAGE_OPTIONAL_HEADER задан флаг IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE; данный флаг указывает, что к данному модулю необходимо применить механизм рандомизации адресного пространства (Address Space Layout Randomization, ASLR);

- в заголовках разделов (структуры IMAGE_SECTION_HEADER) значения полей VirtualSize, SizeOfRawData, PointerToRawData, PointerToRelocations, PointerToLinenumbers, NumberOfRelocations, NumberOfLinenumbers в памяти могут отличаться от значений в исполняемом файле.

Помимо этого в ходе исследования, проводимого с помощью прототипа, было выявлено, что у модулей, выполняющихся в режиме ядра, разделы, имеющие флаг IMAGE_SCN_MEM_DISCARDABLE, могут выгружаться из памяти после загрузки без возможности последующего возврата в память. К таким разделам, как правило, относятся разделы “INIT” (содержат код инициализации модуля), “.reloc” (содержат информацию, необходимую для переадресации) и “.rsrc” (содержат ресурсы).

Таким образом, если исполняемый модуль – это совокупность заголовка и разделов:

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

 

Вывод:

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

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

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

Точное определение неизменяемых участков модулей получено в результате экспериментального исследования и использовано для формального описания модели эталонной проверочной информации. Также отличительной особенностью метода является использование ключа при поиске эталонной проверочной информации, что позволяет ускорить процесс проверки. Гипотеза о составе ключа поиска подтверждена экспериментальным путём.

Разработанный метод реализован для операционной системы Windows 7. Основной программный компонент представляет собой монолитный функциональный драйвер.

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

Реализация таких функций в пользовательском режиме невозможна из-за архитектурных ограничений и реализации операционной системы.

Тестирование программного компонента показало, что он успешно выполняет как контроль загрузки, так и контроль времени выполнения.

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

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

 

 

 

 

 

 

Лабораторная работа 3

 

Тема: Проверка корректности программного кода.

Цель лабораторной работы: ознакомиться с программными средствами обеспечения проверки корректности программного кода.

Теоретическая часть:

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

 

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

 

 

 

На этапе проверки программного кода необходимо проверить корректность работы написанного кода.

Для этого предлагается проводить тестирование каждого модуля отдельно. То есть, будут тестироваться модули по отдельности.

Критерии качества делятся на два типа:

- функциональные – определяются предметной областью и функциями выполняемой программы;

- конструктивные – определяются общими для всех программ свойствами.

 

Корректность текстов программ – степень соответствия исходных программ формализованным правилам языков спецификаций и программирования.

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

Функциональная корректность модулей – корректность обработки исходных данных и получения результатов.

Конструктивная корректность данных определяется правилами их структурирования и упорядочения.

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

 

 

 

Лабораторная работа 4

 

Тема: Анализ потоков данных.

Цель лабораторной работы: познакомиться с программными средствами обеспечения проверки корректности программного кода.

Теоретическая часть:

Понятию «поток» соответствует последовательный переход процессора от одной команды к другой.

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

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

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

Каждому потоку принадлежат следующие ресурсы:

-  код исполняемой функции;

- набор регистров процессора;

- стек для работы приложения;

- стек для работы операционной системы;

- маркер доступа, который содержит информацию для системы безопасности.

В операционных системах Windows различаются потоки двух типов:

- системные – выполняют различные сервисы операционной системы и запускаются ядром операционной системы;

- пользовательские – служат для решения задач пользователя и запускаются приложением.

В работающем приложении различаются рабочие потоки (working threads) и потоки интерфейса пользователя (user interface threads).

Рабочие потоки выполняют различные фоновые задачи в приложении.

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

Качество системы – степень удовлетворения системой заявленных и подразумеваемых потребностей различных заинтересованных сторон, которая позволяет оценить ее достоинства.

Характеристика качества программы – некоторое поддающееся измерению свойство, отражающее отдельные факторы, которые влияют на качество программы.

Критерий качества – некоторый численный показатель, характеризующий степень, которая присуща оцениваемому свойству программы.

 

 

 

Критерий качества должен соответствовать следующим требованиям:

- давать численную характеристику основной целевой функции программы;

- обеспечивать возможность определить затраты, необходимые для достижения требуемого уровня качества, и степень влияния на показатель качества внешних факторов;

- по возможности быть простым, хорошо измеримым и иметь малую дисперсию.

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

   Такие измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества:

- система измерений позволяет непосредственно сравнивать программы по качеству, но сами измерения не могут быть проведены без субъективных оценок свойств программ;

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

При исследовании метрик ПО различают два основных подхода:

- когда ищутся метрики оценки самого ПО;

- либо используются метрики, помогающие оценить условия разработки программы.

 

Задание:

1.                 Классифицируйте метрики по виду информации, получаемой при оценке качества ПО (будет 3 пункта).

2.                 Классифицируйте метрики по основным направлениям применения (будет 6 групп).

 

 

Лабораторная работа 5

 

Тема: Использование метрик стилистики.

Цель лабораторной работы: получить навыки в расчете метрик стилистики компьютерных программ.

Теоретическая часть:

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

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

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

Наиболее простой метрикой стилистики и понятности является оценка уровня комментированности программы F:

F = Nком/Nстр,

где Nком – количество комментариев в программе;

Nстр – количество строк или операторов исходного текста.

Таким образом, метрика F отражает насыщенность программы комментариями.

Исходя из практического опыта принято считать, что F ³ 0.1, т.е. на каждые десять строк программы должен приходиться минимум один комментарий. Как показывают исследования, комментарии распределяются по тексту программы неравномерно: в начале программы их избыток, а в середине или в конце – недостаток. Это объясняется тем, что в начале программы, как правило, расположены операторы описания идентификаторов, требующие более «плотного» комментирования.

Кроме того, в начале программы также расположены «шапки», содержащие общие сведения об исполнителе, характере, функциональном назначении программы.

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

Более удачен вариант, когда вся программа разбивается на n равных сегментов и для каждого из них определяется Fi Уровень комментированности программы считается нормальным, если выполняется условие: F = n.

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

Поэтому не следует забывать о некоторой условности группировки метрик программ.

 

Контрольные вопросы:

1. Для чего рассчитываются метрики стилистики?

2. Какие метрики стилистики существуют?

3. Как рассчитывается оценка уровня комментированности программы?

4. Какой уровень комментированности считается нормальным?

 

Задание:

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

 

 

 

 

Лабораторная работа 6

 

Тема: Использование метрик сложности.

Цель лабораторной работы: получить навыки в расчете метрик потока данных компьютерных программ.

Теоретическая часть:

При оценке сложности программ, как правило, выделяют три основные группы метрик:

- метрики размера программ;

- метрики сложности потока управления программ;

- метрики сложности потока данных программ.

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

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

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

Основу метрики Холстеда составляют четыре измеряемые характеристики программы: h1 - число уникальных операторов программы, включая символы-разделители, имена процедур и знаки операций (словарь операторов); h2 – число уникальных операндов программы (словарь операндов); N1 – общее число операторов в программе N2 – общее число операндов в программе.

Опираясь на эти характеристики, получаемые непосредственно при анализе исходных текстов программ, Холстед вводит следующие оценки:

- Словарь программы h=h1 + h2

- Длину программы N=N1+N2

- Объем программы V=N log2 h

Смысл оценок h и N достаточно очевиден, поэтому подробно рассмотрим только характеристику V. Количество символов, используемых при реализации некоторого алгоритма, определяется в числе прочих параметров и словарей программы h, представляющим собой минимально необходимое число символов, обеспечивающих реализацию алгоритма.

Далее Холстед вводит h* - теоретический словарь программы, т.е. словарный запас, необходимый для написания программы с учетом того, что необходимая функция уже реализована в данном языке и, следовательно, программа сводится к вызову этой функции.

Следующей метрикой сложности потока данных программ является метрика Чепина.

Существует несколько ее модификаций. Рассмотрим более простой, а с точки зрения практического использования – достаточно эффективный вариант этой метрики.

Суть метода состоит в оценке информационной прочности отдельно взятого программного модуля с помощью анализа характера использования переменных из списка ввода-вывода.

Все множество переменных, составляющих список ввода вывода, разбивается на четыре функциональные группы Р – вводимые переменные для расчетов и для обеспечения вывода.

Примером может служить используемая в программах лексического анализатора переменная, содержащая строку исходного текста программы, то есть сама переменная не модифицируется, а только содержит исходную информацию. М – модифицируемые или создаваемые внутри программы переменные. C – переменные, участвующие в управлении работой программного модуля (управляющие переменные). Далее вводится значение метрики Чепина:

Q = a1P + a2M + a3C + a4T, где a1, a2, a3, a4 – весовые коэффициенты.

Весовые коэффициенты использованы для отражения различного влияния на сложность программы каждой функциональной группы. По мнению автора метрики, наибольший вес, равный трем, имеет функциональная группа С, так как она влияет на поток управления программы. Весовые коэффициенты остальных групп распределяются следующим образом: a1=1; a2=2; a4=0.5. Весовой коэффициент группы T не равен нулю, поскольку «паразитные» переменные не увеличивают сложности потока данных программы, но иногда затрудняют ее понимание.

С учетом весовых коэффициентов выражение примет вид

Q = P + 2M + 3C + 0.5T

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

Контрольные вопросы:

1. Какие метрики оценки сложности программ существуют?

2. Какие характеристики составляют метрику Холстеда?

3. Что такое метрика сложности потока данных?

4. Как рассчитывается метрика Чепина?

Задание:

1. На основании выданного преподавателем задания написать программу на заданном языке программирования. В ходе написания программы реализовать вывод всех входных и выходных данных.

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

 

 

 

Лабораторная работа 7

 

Тема: Выполнение измерений характеристик кода в среде Visual Studio.

Цель лабораторной работы: получить навыки в получении метрик оценки качества кода при выполнении работ в IDE Visual Studio.

 

Теоретическая часть:

Процесс подготовки и проведения измерений включает следующие три этапа:

- выбор рабочей нагрузки, представительной с точки зрения исследования параметров выполнения программы на исследуемой системе;

- выбор (разработка) средств регистрации параметров потребления ресурсов системы;

- выбор (разработка) алгоритмов расчетов характеристик программ по результатам измерений.

Все эти этапы объединяются в единое целое в зависимости от назначения проводимого эксперимента и его планирования.

Существует два основных способа регистрации измеряемых параметров – трассирующий и выборочный.

При трассирующем способе измеряемые параметры фиксируются в момент наступления какого-либо события, связанного с изменением управляющих таблиц операционной системы.

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

При выборочном способе измерения производятся в моменты времени, обычно равноудаленные друг от друга.

Достоинства этого способа заключается в его простоте, т.к. не надо регистрировать наступление событий.

Практическая часть:

1. Необходимо по заданию преподавателя создать приложение на языке программирования C#.

2. Выбрав пункт меню Анализ, выбрать подпункт Вычислить метрики кода для решения.

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

3. Дождавшись появления окна Результаты метрик кода, провести анализ разработанного приложения на основе предоставленных метрик:

- индекс удобства поддержки;

- цикломатическая сложность программы;

- глубина наследования;

- взаимозависимость классов;

- количество строк кода.  

 

 

 

 

Лабораторная работа 8

 

Тема: Выполнение измерений характеристик кода в среде.

Цель лабораторной работы: получить навыки использования инструментального средства IDE Eclipse для работы в системе контроля версий Subversion.

Теоретическая часть:

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

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

Для решения данной задачи целесообразно использовать системные управления (контроля) версиями, а также для удобства разработки использовать среды программирования в связке с системами контроля версий, в частности с Subversion (SVN). Даже если над проектом работает один человек, то использование такой связки оправдывает затраченное на изучение и конфигурирование время.

При работе с проектами на Eclipse достаточно удобно использовать дополнительно подключаемые модули, в частности модуль «Subversion». Для добавления поддержки SVN в Eclipse нужно в меню выбрать «Help», затем «Install New Software…» и далее в поле «Work with:» ввести адрес: http://download.eclipse.org/releases/juno В итоге появится список с возможными обновлениями. Для добавления поддержки SVN необходимо выбрать «Collaboration», и далее отметить «Subversion SVN Team Provider», «Subversion SVN Team Provider Localization (Optional)» и «Subversion SVN Team Provider Sources».

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

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

Практическая часть:

1. Необходимо по заданию преподавателя создать приложение на языке программирования Java.

2. Для оценки метрик кода, написанного на языке программирования Java, в IDE Eclipse потребуется загрузка и установка плагина Eclipse Metrics.

Для этого необходимо:

- загрузить JAR-файл Eclipse Metrics;

- сохранить загруженный JAR-файл в каталоге плагинов Eclipse;

- перезапустить Eclipse.

3. Подключаемый модуль Eclipse Metrics можно настраивать (включить или отключить) для каждого Java-проекта.

Чтобы подключить плагин, необходимо открыть пункт меню File и выбрать подпункт Properties проекта, в открывшемся окне выбрать вкладку Metrics и установить флажок Enable Metrics Gathering. Нажмите ОК для повторной компиляции проекта и вычисления метрик. При выходе метрик за пределы указанного диапазона в представлении Problems View генерируются и отображаются предупреждения, а блок кода помечается.

4. Для установки предпочтений необходимо выбрать пункт меню Windows, выбрать подпункт Preferences, а в нем вкладку  Metrics.    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Лабораторная работа 9

 

Тема: Анализ программного кода на предмет ошибок.

Цель лабораторной работы: получить навыки анализа программного кода на предмет ошибок.

 

Теоретическая часть:

 

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Методическая разработка по выполнению лабораторных работ"

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Специалист по занятости населения

Получите профессию

HR-менеджер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 670 345 материалов в базе

Материал подходит для УМК

Скачать материал

Другие материалы

Комплект измерительных материалов учебной практики ПМ 03 Ревьюирование программных модулей
  • Учебник: «Информатика (углублённый уровень)», Калинин И.А., Самылкина Н.Н.
  • Тема: § 8. Архитектура и некоторые виды информационных систем
  • 01.11.2022
  • 290
  • 5
«Информатика (углублённый уровень)», Калинин И.А., Самылкина Н.Н.
Рабочая программа по ЕН.02 Информационные технологии в профессиональной деятельности
  • Учебник: «Информатика (углублённый уровень)», Калинин И.А., Самылкина Н.Н.
  • Тема: § 8. Архитектура и некоторые виды информационных систем
  • 01.11.2022
  • 117
  • 6
«Информатика (углублённый уровень)», Калинин И.А., Самылкина Н.Н.
Комплект измерительных материалов по ЕН.02 Информационные технологии в профессиональной деятельности
  • Учебник: «Информатика (углублённый уровень)», Калинин И.А., Самылкина Н.Н.
  • Тема: § 6. Информационные системы
  • 01.11.2022
  • 211
  • 9
«Информатика (углублённый уровень)», Калинин И.А., Самылкина Н.Н.

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 01.11.2022 1861
    • DOCX 30.2 мбайт
    • 69 скачиваний
    • Рейтинг: 5 из 5
    • Оцените материал:
  • Настоящий материал опубликован пользователем Ильичева Анна Алексеевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Ильичева Анна Алексеевна
    Ильичева Анна Алексеевна
    • На сайте: 6 лет и 5 месяцев
    • Подписчики: 0
    • Всего просмотров: 40208
    • Всего материалов: 36

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Бухгалтер

Бухгалтер

500/1000 ч.

Подать заявку О курсе
  • Сейчас обучается 28 человек из 21 региона

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в образовательной организации

Учитель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 680 человек из 79 регионов
  • Этот курс уже прошли 1 816 человек

Курс профессиональной переподготовки

Педагогическая деятельность по проектированию и реализации образовательного процесса в общеобразовательных организациях (предмет "Математика и информатика")

Учитель математики и информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 36 человек из 17 регионов
  • Этот курс уже прошли 35 человек

Курс повышения квалификации

Особенности подготовки к сдаче ОГЭ по информатике и ИКТ в условиях реализации ФГОС ООО

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 101 человек из 40 регионов
  • Этот курс уже прошли 808 человек

Мини-курс

Коррекционно-развивающая работа и оценивание в образовании для детей с ОВЗ

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 59 человек из 30 регионов
  • Этот курс уже прошли 43 человека

Мини-курс

Современные подходы к духовно-нравственному воспитанию дошкольников

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Этот курс уже прошли 13 человек

Мини-курс

Педагогические идеи выдающихся педагогов и критиков

8 ч.

1180 руб. 590 руб.
Подать заявку О курсе