СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Методические рекомендации по выполнению практических работ по УП.02 «Ревьюирование программных модулей»

Категория: Информатика

Нажмите, чтобы узнать подробности

Методические рекомендации  по выполнению практических работ  по УП.02 «Ревьюирование программных модулей»

для обучающихся очной формы обучения

по программе подготовки специалистов среднего звена

по специальности 09.02.07 Информационные системы и программирование

Просмотр содержимого документа
«Методические рекомендации по выполнению практических работ по УП.02 «Ревьюирование программных модулей»»


Автономное учреждение профессионального образования

Ханты – Мансийского автономного округа - Югры

«СУРГУТСКИЙ ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ»











Методические рекомендации

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

по УП.02 «Ревьюирование программных модулей»



для обучающихся очной формы обучения

по программе подготовки специалистов среднего звена

по специальности 09.02.07 Информационные системы и программирование
















Должность

Фамилия/ Подпись

Дата

Разработал

Преподаватель

А.К. Даньшов

__.___.2020

Рассмотрено

Руководитель ПМО «Информатика и вычислительная техника»

Е.А. Кизилова

__.___.2020

Согласовал

Старший методист

Е.Н. Сокур

__.___.2020

Сургут 2020



Методические рекомендации по выполнению практических работ по УП.02 «Ревьюирование программных модулей»

Утверждены «27» «июня» 2020 г. на заседании ПМО «Информатика и вычислительная техника» №10.

Содержание самостоятельных работ соответствует рабочей учебной программе профессионального модуля ПМ.02 «Ревьюирование программных модулей», разработанной на основе ФГОС СПО по специальности 09.02.07 «Информационные системы и комплексы» (утверждён приказом Министерства образования и науки Российской Федерации от 09.12.2016 № 1547), примерной основной образовательной программы, разработанной Федеральным учебно-методическими объединением в системе среднего профессионального образования по укрупненным группам профессий, специальностей 09.00.00 информатика и вычислительная техника.

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






Организация-разработчик: АУ «Сургутский политехнический колледж»


Разработчик:

Даньшов Александр Константинович, мастер производственного обучения









СОДЕРЖАНИЕ

1. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 4

2. КРИТЕРИИ ОЦЕНКИ РАБОТЫ СТУДЕНТОВ НА ПРАКТИЧЕСКОМ ЗАНЯТИИ 8

Тема: 1. Цели и задачи практики. Вводный инструктаж по технике безопасности. Описание предметной области. Разработка требований. 10

Тема: 2. Формирование тестовых данных. 19

Тема: 3. Проектирование структуры данных и алгоритмов. Разработка интерфейса и программная реализация. 25

Тема: 4. Отладка и тестирование ПО заявленным характеристикам. 30

Тема: 5. Оптимизация. Рефакторинг. Оценка программного продукта. 37

Тема: 6. Дифференцированный зачёт. Защита результатов работы. 40

ПРИЛОЖЕНИЕ 1 Анкета для оценки качества взаимодействия членов команды в процессе разработки программного продукта 43

ПРИЛОЖЕНИЕ 2 Анкета для оценки качества интерфейса программного продукта 45

ПРИЛОЖЕНИЕ 3 Чек-лист соответствия программного продукта заявленным характеристикам 46




  1. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

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

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

Выполнение студентами практических работ направлено на:

  • обобщение, систематизацию, углубление, закрепление полученных теоретических знаний по конкретным темам дисциплин;

  • формирование необходимых общекультурных и профессиональных компетенций, умений и навыков;

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

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

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

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

Выполнение практических работ по УП.02 «Ревьюирование программных модулей» направлено на формирование общих компетенций:

ОК 01. Выбирать способы решения задач профессиональной деятельности, применительно к различным контекстам.

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

ОК 03. Планировать и реализовывать собственное профессиональное и личностное развитие.

ОК 04. Работать в коллективе и команде, эффективно взаимодействовать с коллегами, руководством, клиентами.

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

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

ОК 07. Содействовать сохранению окружающей среды, ресурсосбережению, эффективно действовать в чрезвычайных ситуациях.

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

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

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

Выполнение практических работ по УП.02 «Ревьюирование программных модулей» направлено на формирование профессиональных компетенций:

ПК 2.1. Осуществлять ревьюирование программного кода в соответствии с технической документацией.

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

ПК 2.3. Производить исследование созданного программного кода с использованием специализированных программных средств с целью выявления ошибок и отклонения от алгоритма.

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

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

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

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

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

уметь:

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

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

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

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


знать:

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

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

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

Перечень практических работ составлялся с учетом требований ФГОС к умениям студентов по итогам изучения МДК 02.01 Моделирование и анализ программного обеспечения, МДК 02.02 Управление проектами.


  1. КРИТЕРИИ ОЦЕНКИ РАБОТЫ СТУДЕНТОВ НА ПРАКТИЧЕСКОМ ЗАНЯТИИ

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

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

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

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

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

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

2. Оценивание защиты контрольных вопросов.

Оценка «отлично» ставится в том случае, если студент

  • правильно понимает сущность вопроса, дает точное определение и истолкование основных понятий;

  • строит ответ по собственному плану, сопровождает ответ новыми примерами, умеет применить знания в новой ситуации;

  • может установить связь между изучаемым и ранее изученным материалом из курса МДК.02.01 и МДК 02.02, а также с материалом, усвоенным при изучении других дисциплин.

Оценка «хорошо» ставится, если

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

  • студент допустил одну ошибку или не более двух недочетов и может их исправить самостоятельно или с небольшой помощью преподавателя.

Оценка «удовлетворительно» ставится, если студент

  • правильно понимает сущность вопроса, но в ответе имеются отдельные пробелы в усвоении вопросов курса, не препятствующие дальнейшему усвоению программного материала;

  • допустил не более одной грубой ошибки и двух недочетов.

Оценка «неудовлетворительно» ставится, если студент

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

  • не может ответить ни на один из поставленных вопросов.


Тема: 1. Цели и задачи практики. Вводный инструктаж по технике безопасности. Описание предметной области. Разработка требований.

Цель: сформовать производственно-технические навыки и умения по изучению предметной области и формированию требований к будущему ПО

Оснащение рабочего места, оборудование (приборы, материалы, дидактическое обеспечение): ПК, задание и инструкционная карта для проведения занятия

Норма времени: 6 академических часов

Особые правила по технике безопасности на рабочем месте: проведен инструктаж по техники безопасности в учебной лаборатории

Компьютерные программы: интернет-браузер, MS Word, MS Power Point

Общие теоретические сведения: Инспекция кода (Code review) – систематический и периодический анализ программного кода, направленный на поиск необнаруженных на ранних стадиях разработки программного продукта ошибок, а также, на выявление некачественных архитектурных решений и критических мест в программе.

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

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

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

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

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

Продуктивные приемы в процессе постановки задачи:

  • определять все термины и понятия с учетом предметной области;

  • анализировать исходные данные на достаточность (исключение лишних данных и дополнение недостающих);

  • определять выходные данные и формы их представления;

  • формулировать альтернативы решения задачи;

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

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

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

  • приводит основные термины и их определения для конкретной предметной области;

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

  • анализирует исходные данные задачи на достаточность;

  • строит логическую структуру исходных данных и связей между ними;

  • определяет выходные данные и формы их наглядного представления;

  • отбирает не менее двух способов решения задачи;

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

В команде совершают следующие действия:

  • сравнивают предложенные варианты формализации задачи;

  • отбирают лучший вариант формализации задачи для программной реализации и при необходимости дорабатывают;

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

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

ПРИМЕР постановки задачи:

Задание. Составить алгоритм нахождения N первых автоморфных чисел. Автоморфными называются числа, которые содержатся в последних разрядах их квадрата, например, 52 = 25, 252 = 625.

Вариант постановки задачи приведен в таблице ниже:

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


1.1 Определить день первой декады марта 2000 года, когда была зафиксирована максимальная температура воздуха, ºС. Результаты наблюдений даны: –1, –4, 0, +2, +2, +7, –4, +1, +2, +3

Вопрос

Ответ

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


Что дано?


Что нужно найти?


Как определить решение?


Каких данных не хватает и все ли они нужны?


Какие сделаны допущения?



1.2 Вывести все делители натурального числа N.

Этапы анализа предметной области

Результат

Описание объектов и связей между ними


Описание задач, которые будут решаться


Исходные данные (область определений)


Краткое описание решения


Выходная информация (область значений)



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

Этапы анализа предметной области

Результат

Описание объектов и связей между ними


Описание задач, которые будут решаться


Исходные данные (область определений)


Краткое описание решения


Выходная информация (область значений)




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

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




  1. Формулировки функциональных возможностей.

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

b) Граничные значения. Если использование продукта ограничено конкретными граничными значениями для продукта, они должны быть указаны в описании продукта, например: минимальные или максимальные значения, длины ключей, максимальное число записей в файле, максимальное число критериев поиска, минимальный объем выборки. В случае, когда невозможно определить фиксированные граничные значения (например, когда они зависят от типа приложения или от исходных данных), тогда на них должны быть наложены соответствующие ограничения. Могут быть приведены допустимые комбинации значений и даны ссылки на более конкретную информацию из документации пользователя.

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

  2. Формулировки практичности.

a) Интерфейс пользователя. Должен быть назван тип интерфейса пользователя, например: строка команд, меню, окна, функциональная клавиша, функция подсказки.

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

c) Адаптация к потребностям пользователя. Если продукт может настраиваться (адаптироваться) пользователем, то должны быть указаны инструментальные средства для проведения такой настройки и условия их применения, например: изменение параметров, изменение алгоритмов вычислений, назначение функциональных клавиш.

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


Задание #2 На основании изучения предметной области, согласно варианту, выполнить следующее:

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

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

ВАРИАНТЫ ЗАДАНИЙ

1. Прокат автомобилей

2. Библиотечный фонд города

3. Спортивный клуб

4. Управление складом

5. Автошкола

6. Химчистка

7. Автомастерская

8. Компания по продаже мед.техники

9. Страховая компания

10. Гостиница

11. Ломбард

12. Оптовая база

13. Завод по производству металлоизделий

14. Ювелирная мастерская

15. Предприятие по организации свадебных торжеств

16. Бюро по трудоустройству

17. Нотариальная контора

18. Производство мебели

19. Производство детских игрушек

20. Поликлиника

21. Магазин розничной торговли

22. Спортивный клуб

23. Аэропорт

24. Магазин по ремонту и продаже компьютеров и комплектующих

25. Строительная организация

26. Игровая комната

27. Строительная организация

28. Фотоцентр


Задание #3 Произвести обзор современных основных инструментальных средств для ревьюирования. Изучите и опишите сервисы, которые подходят по целям и задачам ревьюирования. Составьте сравнительную характеристику не менее 3 сервисов и ПО представьте в виде презентации Power Point.


Дополнительные задания: изучить понятие ревьюирования программного кода в качестве инженера по тестированию. Для этого используя онлайн-практикум пройдите основы тестирования: https://praktikum.yandex.ru/profile/qa-engineer/

По окончанию прохождения, покажите результат преподавателю.


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

  1. Что такое постановка задачи и зачем она нужна?

2.На сколько подробной должна быть постановка задачи?

3. С чего начать постановку задачи?

4. Как влияет постановка задачи на универсальность программного продукта?




Критерии качества выполненной работы



Тема: 2. Формирование тестовых данных.

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

Оснащение рабочего места, оборудование (приборы, материалы, дидактическое обеспечение): ПК, задание и инструкционная карта для проведения занятия

Норма времени: 6 академических часов

Особые правила по технике безопасности на рабочем месте: проведен инструктаж по техники безопасности в учебной лаборатории

Компьютерные программы: интернет-браузер, MS Word, Visual Studio

Общие теоретические сведения: Продуктивные приемы тестирования:

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

  • В каждом следующем тесте необходимо использовать класс данных, отличный от предыдущего;

  • Следует испытывать программный продукт в нормальных, экстремальных и исключительных условиях;

  • Вычислять эталонные результаты нужно обязательно до, а не после получения машинных результатов;

  • Очередной тестовый прогон должен контролировать нечто такое, что еще не было проверено на предыдущих прогонах;

  • Первый тест должен быть максимально прост, чтобы проверить, работает ли программа в принципе;

  • Арифметические операции в тестах должны предельно упрощаться для уменьшения объема вычислений;

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

  • Усложнение тестовых данных должно происходить постепенно.

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

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

  • Отбирает простые тестовые данные для проверки правильности работы программного продукта в нормальных условиях;

  • Разрабатывает тестовые данные для работы в экстремальных и граничных условиях;

  • Определяет тестовые данные, которые программный продукт определяет, как ошибочные (исходные данные не принадлежат области их определения);

  • Исключает дублирование тестовых данных по условиям использования;

  • Рассчитывает ожидаемые результаты для каждого набора входных данных;

  • Представляет тестовые данные и в визуально наглядной, и в текстовой форме;

  • Разрабатывает тестовые данные для программы в целом и для отдельных модулей;

  • Документирует разработанный вариант тестовых данных для отчета.

В команде совершают следующие действия:

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

  • проверяют правильность уже рассчитанных ожидаемых результатов;

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

  • рассчитывают недостающие ожидаемые результаты;

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

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

ПРИМЕР тестовых данных:

Котельная осуществляет запуск системы отопления при условии, если в течение трех суток температура воздуха не поднимается выше 8ºС. Написать программу, которая позволяет отследить минимальное и максимальное значения температуры в течение одних суток.

Постановка задачи. Количество измерений температуры в течение суток N определяется как зависимость от интервала между замерами: N=T/interval, где T= 24 часа × 60 минут = 1440 минут, интервал задается в минутах, например, для interval= 30 минут N= 1440 / 30 = 48 измерений. За первоначальное значение температуры взято показание термометра в 0000 часов (t0). Необходимо отслеживать минимальное и максимальное значения температуры на протяжении суток. Если максимальная температура воздуха не превысит 8ºС, обязательно вывести сообщение об этом. Тестовые данные приведены в таблице ниже:


Задание #1 Разработать систему тестов для задачи нахождения корней квадратного уравнения ax2+bx+c = 0


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

2.1 Тестовые данные для модуля «Ввод числа в виде строки и проверка правильности числа»


    1. Тестовые данные для модуля «Сложение чисел в строковом представлении»



    1. Тестовые данные для модуля «Сравнение чисел в строковом представлении»

Задание #3 Разработать тестовые данные для проверки качества работы программного продукта. Определить, имеют ли общие точки две плоские фигуры: треугольник с заданными координатами его вершин и круг заданного радиуса с центром в начале координат.



Какой вариант взаимного расположения треугольника и круга на плоскости рассматривается в вашем тесте?


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

1.Что такое тестовые данные?

  1. Какого вида и сколько тестовых данных нужно разработать?






Критерии качества выполненной работы


Тема: 3. Проектирование структуры данных и алгоритмов. Разработка интерфейса и программная реализация.

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

Оснащение рабочего места, оборудование (приборы, материалы, дидактическое обеспечение): ПК, задание и инструкционная карта для проведения занятия

Норма времени: 6 академических часов

Особые правила по технике безопасности на рабочем месте: проведен инструктаж по техники безопасности в учебной лаборатории

Компьютерные программы: интернет-браузер, MS Word, Visual Studio

Общие теоретические сведения: Продуктивные приемы при работе со структурами данных и алгоритмами:

  • Выбирать представление данных, соответствующее задаче;

  • Использовать в качестве параметров переменные, а не константы;

  • Создавать универсальные алгоритмы;

  • Не проектировать вновь функцию вычисления квадратного корня;

  • Короткие модули предпочтительнее длинных модулей

Продуктивные приемы разработки интерфейса пользователя:

  • Разрабатывать интерфейс пользователя до начала процесса кодирования;

  • Выводить вместе с результатами работы программы исходные данные, при которых они получены;

  • Указывать единицы измерения выводимых величин;

  • Учитывать интересы разных групп пользователей, обеспечивая возможность настройки пользователем программы «под себя»;

  • Выводить диагностические сообщения при ошибочных действиях пользователя.

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

Теоретические сведения:

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

Второй этап. В команде:

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

  • Распределяют между членами команды модули.

Третий этап. Каждый член команды:

  • Разрабатывает набор алгоритмов и структур данных для своих модулей;

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

  • Оценивает эффективность с проектированных алгоритмов;

  • Документирует свой набор модулей (таблица описания функций и таблица описания структур данных)


Задание #1 Разработать структуры данных и алгоритмы для решения поставленной задачи

Теоретические сведения:

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

  • Обеспечивает соответствие программной реализации разработанным алгоритмам и структурам данных (верификация программного кода);

  • Определяет мнемоничные имена для переменных, структур данных, функций;

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

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

  • Составляют краткое описание того, что делает программный продукт в целом;

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

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

  • Формулируют сообщения, сопровождающие ввод данных, и проверяют их необходимость и достаточность для выполнения задания;

  • Формулируют сообщения, описывающие выходные данные, проверяют их необходимость и достаточность для анализа фактического результата;

  • Составляют диалог с пользователем в терминах предметной области выполняемого задания;

  • Включают в сообщения информацию о единицах измерения входных и выходных данных;

  • Формулируют сообщения, приглашающие вводить конкретные данные (имя);

  • Формулируют сообщения, приглашающие вводить конкретные данные в заданном формате (вид);

  • Добавляют сообщения, подтверждающие правильность ввода данных;

  • Разрабатывают для ошибочных действий пользователя диагностические сообщения и способы исправления ошибок;

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

Пример представлен в таблице 3.1.


Задание #2 Программно реализовать разработанные на предыдущем этапе алгоритмы и подготовить соответствующую документацию

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

Название правила или принципа


Правило доступности


Правило эффективности


Правило непрерывного развития


Правило соблюдения контекста


Принцип структуризации


Принцип простоты


Принцип видимости


Принцип обратной связи


Принцип толерантности


Принцип повторного использования






Дополнительные задания: Ознакомьтесь с основными характеристиками представления информации, которые определяет ГОСТ Р ИСО 92-41-1-2007 «Эргономические требования к проведению офисных работ с использованием видео дисплейных терминалов (VDTs)». Так же определите имеется ли описание методики разработки диалоговых окон меню и диалоговых команд на уровне стандартов.

Таблица 3.1 Пример представления диалога с пользователем

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

1.Когда приступать к разработке алгоритма?

2. Как выбрать один из нескольких вариантов алгоритма?

3. Почему выбор структур данных важен при построении алгоритма?

4. Почему нужно тщательно разрабатывать интерфейс в программе?

  1. Что нужно определить при проектировании пользовательского интерфейса?



Критерии качества выполненной работы


Тема: 4. Отладка и тестирование ПО заявленным характеристикам.

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

Оснащение рабочего места, оборудование (приборы, материалы, дидактическое обеспечение): ПК, задание и инструкционная карта для проведения занятия

Норма времени: 6 академических часов

Особые правила по технике безопасности на рабочем месте: проведен инструктаж по техники безопасности в учебной лаборатории

Компьютерные программы: интернет-браузер, MS Word, Visual Studio

Общие теоретические сведения: Продуктивные приемы при отладке:

  • исключать синтаксические ошибки, приводящие к множественным распространенным ошибкам;

  • заранее продумывать и включать операторы вывода значений промежуточных результатов;

  • документировать обнаруженные ошибки.

Продуктивные приемы при тестировании:

  • начинать тестирование как можно раньше;

  • прежде всего провести ручную проверку;

  • стремиться проверять правильность построения программного продукта на его простом варианте;

  • применять тестирование по методу сверху вниз;

  • использовать тестовые данные для проверки каждой части алгоритма;

  • повторять тестирование после каждого случая внесения изменений в программу;

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

Ошибки общего характера приведены в таблице ниже:

Набор тестов, от выполнения которых ожидается один и тот же результат:

Входное или выходное значение

Допустимые классы

Недопустимые классы

Ввод числа

Числа от 1 до 99

Число 0

Числа больше 99

Выражения, результатом которого является недопустимое число, например, 5-5=0

Отрицательные числа

Буквы и другие нечисловые символы

Ввод первой буквы имени

Первый символ является заглавной буквой

Первый символ является прописной буквой

Первый символ является не буквой

Рисование прямой

От одной точки прямая линия длиной до 4 см

Отсутствие рисунка

Линия длиннее 4 см

Линия не является прямой


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

Теоретические сведения:

В команде совершают следующие действия:

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

  • документируют результаты тестирования.

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

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

Задание #1 Выполнить отладку и тестирование программ, представленных в примерах.

Программный код

Ошибка, недочет + решение







#include "stdafx.h"

#include

using namespace std;

 

int main(int argc, char* argv[])

{

    setlocale(LC_ALL, "rus");

    cout Введите количество иксов: ";

    int number_x = 0; // количество иксов

    cin number_x;

    float *arrayPtrZ = new float [number_x]; // динамический массив для значений Z

    float *arrayPtrB = new float [number_x]; // динамический массив для значений B

    float *arrayPtrA = new float [number_x]; // динамический массив для значений A

    float *arrayPtrBe = new float [number_x]; // динамический массив для значений Betta

    // инициализируем динамические массивы, введёнными с клавиатуры значениями

    for (int counter = 0; counter

    {

        cout Введите значения Z, B, A, Betta для X"

        cout

        cin arrayPtrZ[counter];

        cout

        cin arrayPtrB[counter];

        cout

        cin arrayPtrA[counter];

        cout

        cin arrayPtrBe[counter];

    }

    float x = 0, y = 0;

    for (int counter = 0; counter

    {

        x = pow(arrayPtrZ[counter], 3) - arrayPtrB[counter] + pow(arrayPtrA[counter], 2) / pow(tan(arrayPtrBe[counter]),2); // формула нахождения икса

        y += x; // суммируем иксы

    }

        delete arrayPtrZ;     delete arrayPtrB;   delete arrayPtrA;     delete arrayPtrBe; // высвобождаем память

    cout ответ

    system("pause");

    return 0;

}


#include

#include

using namespace std;

int main(){

setlocale (LC_ALL, "RUS");

double a, n, rezult=1, i;

cut

cina;

cutendl

cinn;

for(i=0; i

rezult *=a;

coutendlnarezulendl;

return 0;

}


#include

using namespace std;

int main()

{

cout t\tНомер четверти плоскости с координатами\n" endl;

int x, y;

cout X: ";

cin x;

cout n\nВедите координату Y: ";

cin y;

if (x != 0 && y != 0)

{

if (x

{

cout n\nI четверть плоскости\n\n";

}

if (x 0 && y

{

cout n\nII четверть плоскости\n\n";

}

if (x 0 && y 0)

{

cout n\nIII четверть плоскости\n\n";

}

if (x y 0)

{

cout n\nIV четверть плоскости\n\n";

}

}

else

cout n\nПроизведение координат не должно равнять 0!!!\n\n";

return 0;

}


#include

using namespace std;

int main()

{

setlocale (LC_ALL, "RUS");

int chislo;

coutt\t\tТаблица умножения введенного числа\n";

cout

cout

coutВведите число: "

cinchislo

cout

for (j=1; j

{

cout

}

cout

return 0;

}





Задание #2 Выполнить отладку и тестирование разработанной на предыдущем этапе программы, в том числе произвести нагрузочное тестирование (потребление ресурсов ЦП в %, потребление оперативной памяти в Мб, потребление сетевых ресурсов, время выполнения запроса в мс) и тестирование стабильности (до 10 минут). Подготовить соответствующую документацию.


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

1.Чем отличается отладка от тестирования?

2.Как избежать распространённых ошибок при отладке?

  1. Назовите распространенные ошибочные ситуации (не менее 4) при отладке?

  2. Какие приёмы ускорения отладки программного продукта существуют?

  3. В чем заключается тестирование?

  4. Что может случится, если программу не протестировать соответствующим образом?

  5. Что называют нагрузочным тестированием?


Критерии качества выполненной работы


Тема: 5. Оптимизация. Рефакторинг. Оценка программного продукта.

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

Оснащение рабочего места, оборудование (приборы, материалы, дидактическое обеспечение): ПК, задание и инструкционная карта для проведения занятия

Норма времени: 6 академических часов

Особые правила по технике безопасности на рабочем месте: проведен инструктаж по техники безопасности в учебной лаборатории

Компьютерные программы: интернет-браузер, MS Word, Visual Studio, Power Point.

Теоретические сведения: при комментировании программного кода продуктивно:

  • Делать комментариев больше, чем это кажется необходимым;

  • Использовать вводные комментарии;

  • Делать оглавление в больших программах;

  • Комментарии должны содержать дополнительную информацию, а не перефразировать программу;

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

  • Неправильные комментарии хуже, чем их отсутствие;

  • Делать пробелы для улучшения читаемости программы;

  • Использовать имена с подходящей мнемоникой;

  • При наименовании файлов использовать определенный префикс или суффикс;

  • Одного оператора в строке достаточно;

  • Упорядочивать списки в операторах описания по алфавиту;

  • Скобки обходятся дешевле, чем ошибки;

  • Для выявления структуры программы использовать отступы;

  • Для выявления структуры данных использовать отступы;

  • Начинать документирование на стадии разработки программы.

Удобочитаемость программы обычно более важна, чем эффективность.

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

Теоретические сведения. На процесс разработки и деятельность по оценке качества ПО оказывают влияние следующие обобщённые показатели ПО:

  • Область применения и назначения ПО;

  • Тип решаемых задач;

  • Объём и сложность ПО;

  • Необходимы состав и требуемые значения характеристик качества ПО;

  • и другие.


Задание #1. Определить, что относится к инструментальным средствам для отладки, рефакторинга и оптимизации программного обеспечения. Выполнить работу в Power Point.



Задание #2. Определить, что относится к основным приёмам оптимизации программ. Произвести оптимизацию программы не менее 3 приёмами.

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


Теоретические сведения. Рефакторинг – процесс улучшения написанного ранее кода путём такого изменения его внутренней структуры, которое не влияет на внешнее поведение. Целью данного процесса является улучшение логики и прозрачности программного продукта.

Задание #3. Определить, что относится к основным приёмам рефакторинга программ. Произвести рефакторинг программ.


Задание #4 Произведите оценку качества программного обеспечения. Учитывая и раскрывая показатели качества программного обеспечения (рисунок ниже) укажите какие показатели можно отнести к разработанному вами коду?



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

  1. Когда и какие необходимо давать комментарии в тексте программы?

  2. Что такое качество программного обеспечения?

  3. Перечислите критерии качества программного обеспечения

  4. Что понимается под областью оптимизации?


Основные пункты оценивания:

Выполнение Задание #1 + Ответы на вопросы

Выполнение Задание #2 + Ответы на вопросы

Выполнение Задание #3 + Ответы на вопросы





Критерии оценивания:

0 баллов – не выполнен;

1 балл – критерий выполнен с грубыми ошибками или работа сдана с опозданием и выполнена не целиком

2 балла – в общем критерий выполнен, имеются недочёты или работа сдана с опозданием;

3 балла – выполнено в полном объёме, без нареканий, в указанный срок, без ошибок и проблем

«Отлично»: 8-9 баллов

«Хорошо»: 6-7 баллов

«Удовлетворительно»: 4-5 баллов

«Неудовлетворительно»: менее 4 баллов

Тема: 6. Дифференцированный зачёт. Защита результатов работы.

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

Оснащение рабочего места, оборудование (приборы, материалы, дидактическое обеспечение): ПК, задание и инструкционная карта для проведения занятия

Норма времени: 6 академических часов

Особые правила по технике безопасности на рабочем месте: проведен инструктаж по техники безопасности в учебной лаборатории

Компьютерные программы: интернет-браузер, MS Word, MS Power Point, Visual Studio

Теоретические сведения: Инспекция кода (Code review) – систематический и периодический анализ программного кода, направленный на поиск необнаруженных на ранних стадиях разработки программного продукта ошибок, а также, на выявление некачественных архитектурных решений и критических мест в программе.

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

Задание.

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

  • продемонстрировать работоспособность и универсальность программного продукта на тестовых данных, выбранных преподавателем (заказчиком);

  • показать возможности практического использования программного продукта (валидация);

  • продемонстрировать адаптируемость программного продукта (возможность настройки на конкретную целевую группу);

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

Рекомендуемый план выступления:

  • название;

  • разработчики, роль в команде;

  • анализ и описание предметной области;

  • назначение продукта, в т.ч. целевая аудитория;

  • формирование тестовых данных, в т.ч. исходные данные и ожидаемые результаты;

  • проектирование структур данных и алгоритмов;

  • разработка интерфейса;

  • отладка и тестирование (фактические результаты тестирование и т.п.);

  • самооценка работы команды (приложение 1);

  • самооценка качества разработанного интерфейса (приложение 2);

  • самооценка соответствия программного продукта заявленным характеристикам (приложение 3).

Критерии качества выполненной работы

Основные пункты оценивания

Действия

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

Формирование тестовых данных

Проектирование структур данных и алгоритмов

Разработка интерфейса и программная реализация

Отладка и тестирование



Защита результатов работы

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

  • Приведены требования, дополнения, замечания заказчика (преподавателя) и описаны способы их реализации (или обоснован отказ от них) в данной работе

  • Представлена самооценка работы команды (приложение 1)

  • Представлена самооценка качества разработанного интерфейса с помощью анкеты (приложение 2) (меньше 60 баллов минус 1 балл за пункт оценивания)

Презентация

  • Демонстрация прочности и прикладной направленности полученных знаний и умений, раскрытие все пунктов и подпунктов

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

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


Критерии оценивания каждого пункта оценивания:

0 баллов – не выполнен;

1 балл – критерий выполнен с грубыми ошибками;

2 балла – в общем критерий выполнен, имеются недочёты;

3 балла – критерий выполнен в полном объёме, без нареканий.


Критерии отметок:

Отметка «Отлично»: 21-24 баллов;

Отметка «Хорошо»: 16-20 баллов;

Отметка «Удовлетворительно»: 8-15 баллов;

Отметка «Неудовлетворительно»: менее 8 баллов.



ПРИЛОЖЕНИЕ 1

Анкета для оценки качества взаимодействия членов команды в процессе разработки программного продукта


ПРИЛОЖЕНИЕ 2

Анкета для оценки качества интерфейса программного продукта

Как итог подсчитайте сумму баллов.



ПРИЛОЖЕНИЕ 3

Чек-лист соответствия программного продукта заявленным характеристикам






Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!