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

Первая лабораторная работа является основой всех лабораторных работ в данном семестре. Каждый вариант представляет собой задание для программной реализации на Qt, которое в итоге выполняется в рамках последней лабораторной. Вам необходимо разделиться на подгруппы по 2 человека и выбрать 1 вариант задачи (из предложенных ниже) таким образом, чтобы они не повторялись в Вашей группе. Сообщить вариант преподавателю. Затем выполнить следующее задание в форме письменного отчета. Выполнение работ должно соответствовать лекционному материалу.

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

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

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

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

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

НЕ нашли? Не то? Что вы ищете?

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

6) Сформулировать основные требования практичности (не менее трех). Например, требования могут звучать так: 1) «Расширить функционал программы-аналога (указать аналог, упомянутый в пункте 3), путем добавления …. (указать).» 2) «Улучшить быстродействие функции поиска материала на 10% по сравнению с аналогом (указать аналог)». 3) «Добавить уникальную возможность…. (придумать)». Другими словами, если вы сами положительно ответите на вопрос «стал бы я пользоваться такой программой? », то требования практичности сформулированы верно.

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

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

Основной (минимальный) функционал:

ü  База пошаговых рецептов в картинках (не менее 20),

ü  Разделение на категории по типам блюд (не менее трех),

ü  Поиск рецептов по названию,

ü  Поиск рецептов по ингредиенту,

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

ü  Выбор рецептов по времени приготовления.

ü  Добавление в избранное, удаление, сохранение.

ü  Сохранение в файл и печать любого рецепта.

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

Основной (минимальный) функционал:

ü  Выбор планировки домика из готовых вариантов (не менее 5),

ü  Пошаговое руководство по строительству (основные этапы, не менее 10),

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

ü  Расчет количества и примерной стоимости всех расходных материалов.

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

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

Основной (минимальный) функционал:

ü  Ввод пользователем размера помещения, в котором будет производиться ремонт,

ü  Предложение готовых вариантов отделки (пол+потолок+стены+окна+двери) с иллюстрациями (не менее 7 вариантов), с указанием всех затрат для помещения заданного размера и типа используемых материалов,

ü  Создание своего варианта отделки заданного помещения «с нуля», с выбором по каждому материалу не менее 5 типов, и для каждого типа не менее 3 видов.

ü  Пошаговый ремонт для выбранного варианта отделки,

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

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

Основной (минимальный) функционал:

ü  Выбор пользователем вида помещения для текущей уборки. Выбор из 5 вариантов.

ü  Выбор пользователем наполнения заданного помещения для уборки. Наличие как минимум 7 позиций.

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

ü  Вывод оптимального плана уборки для заданного пользователем времени.

ü  Сохранение и печать окончательного плана уборки.

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

Основной (минимальный) функционал:

ü  Заполнение анкеты вида: Имя (для обращения и сохранения файлов), пол, количество дней, погодные условия, вид транспорта, дата и время вылета/выезда.

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

ü  Выдача минимального готового списка вещей с учетом анкетных данных.

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

ü  Сохранение и печать списка и вкладки «важное» на любом этапе.

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

Основной (минимальный) функционал:

ü  Заполнение карточки заведения: название, владелец, время работы, количество мест, количество официантов, имена официантов.

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

ü  Бронирование мест, указание занятых/ожидающих/свободных мест в цветовом обозначении.

ü  Формирование заказов с указанием счета и обслуживающего официанта.

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

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

Основной (минимальный) функционал:

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

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

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

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

ü  Печать любой страницы плана.

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

Основной (минимальный) функционал:

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

ü  Пользователь может заполнять таблицу каждого дня недели: время, запись. Может выделять жирным и цветным шрифтом свои записи.

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

ü  Установка таймера – напоминания.

ü  Сохранение и печать недели и любого дня в отдельности.

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

Основной (минимальный) функционал:

ü  Заполнение данных: пол, рост, вес, основные параметры фигуры в сантиметрах.

ü  Подсчет индекса массы тела, определение типа фигуры (минимум 5 типов), характеристика.

ü  База вариантов гардероба для каждого типа фигуры (не менее 3 вещей для каждого типа).

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

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

10)  Часто молодые люди задаются целью вести свою семейную бухгалтерию, чтобы учитывать все свои расходы и доходы и как-то спланировать свой бюджет. Разработать систему ведения домашней бухгалтерии.

Основной (минимальный) функционал:

ü  Внесение начальных данных в базу: имя, наличная сумма в рублях, сумма в «копилке».

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

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

ü  Функция внесения средств в «копилку».

ü  Сохранение всех введенных данных в файл и загрузка при каждом запуске.

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

Основной (минимальный) функционал:

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

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

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

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

12)  Вы можете предложить свой вариант задания, предоставив его преподавателю в письменном виде.

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

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

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

2)  Выбрать одну любую «плохую» программу с интерфейсом, которую Вы разрабатывали когда-то в процессе обучения. Задание выполняется каждым студентов в отдельности. Провести CWT анализ интерфейса на примере одной задачи, состоящей как минимум из 5 действий. Отчет должен содержать описание программы со скриншотами, формулировку задачи, анализ и результат.

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

Третья лабораторная работа содержит три части: первые две части выполняются подгруппой, третья часть индивидуальная для каждого студента. Отчет должен содержать три части в скрепленном виде. Прежде Вы должны обязательно иметь «+» в журнале по первым двум лабораторным.

1)  Разработать макет интерфейса, взяв за основу улучшенный черновой вариант интерфейса после CWT анализа. Макет должен быть приведен в виде скриншотов реального интерфейса Вашей программы.

2)  Провести GOMS анализ Вашего интерфейса на примере двух задач (рассмотреть две «цели», содержащие не менее трех подцелей). Отчет по данной части должен содержать:

а) формулировку конкретной цели, подцелей, методов, операций,

б) расчет времени в секундах,

в) поиск проблем (лишние действия, нуждающиеся в оптимизации и т. д.), минимум 1.

г) исправление (доработка) проблемной части интерфейса,

д) конечный улучшенный результат в секундах и скриншот доработанной вследствие анализа части макета.

3)  Взять «плохую» программу с интерфейсом, которую Вы использовали уже во второй лабораторной. Задание выполняется каждым студентов в отдельности. Провести GOMS анализ интерфейса на примере одной задачи (цель должна содержать не менее трех подцелей). Отчет по данной части должен содержать: а) формулировку конкретной цели, подцелей, методов, б) расчет времени в секундах, в) перечислить найденные проблемы (минимум одну).

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

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

1)  Провести подробный анализ интерфейса на соответствие а)Правилам Нильсена-Молиха; б) правилам организации графического интерфейса. Анализ проводится по макету, полученному в предыдущей лабораторной. Найденные проблемы несоответствий (желательно их все-таки найти) нужно сформулировать и решить, привести изображение исправленного макета.

2)  Выбрать одну любую «плохую» программу с интерфейсом, которую Вы разрабатывали когда-то в процессе обучения. Задание выполняется каждым студентов в отдельности. Провести подробный анализ интерфейса на соответствие а)Правилам Нильсена-Молиха; б) правилам организации графического интерфейса. Сформулировать найденные проблемы несоответствия, предложить пути решения в письменном виде.

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

Данные задания рассчитаны на получение элементарных навыков работы с Qt. Необходимо выполнить 1 из предложенных вариантов. Номер варианта соответствует Вашему выбранному номеру из первой лабораторной. (Для удобства).

1.  На форме разместить 2 объекта PushButton и 1 Label. По нажатию на первую кнопку в label должна появляться одна картинка, по нажатию на другую – вторая.

Для вставки картинки использовать:

QPixmap Имя_Объекта("название файла");

ui->Имя_метки->setPixmap(Имя_Объекта);

2.  На форме разместить spinBox и progressBar. Использовать менеджер размещения. При изменении значения в spinBox должно меняться соответственно значение в progressBar.

3.  На форме разместить textEdit, в свойствах снять галочку ReadOnly. Поместить на форму checkBox. При установке галочки выводить в textEdit фамилию и группу (с помощью метода append), а при снятии галочки очищать текстовое поле.

4.  На форме разместить объект Label во весь размер формы. Разместить на нем объект Calendar и кнопку PushButton. В Label поместить рисунок с помощью:

QPixmap Имя_Объекта("название файла");

ui->Имя_метки->setPixmap(Имя_Объекта);

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

5.  На форме разместить groupBox с тремя переключателями radioButton, разместить TextEdit. При выборе каждого переключателя в TextEdit должен выводиться разный текст (с помощью метода append). Использовать менеджер размещения.

6.  На форме разместить Label и checkBox. При выборе галочки в Label должна появляться картинка, при снятии галочки – текст. Для вставки картинки использовать:

QPixmap Имя_Объекта("название файла");

ui->Имя_метки->setPixmap(Имя_Объекта);

7.  На форме разместить объект Calendar и Label. При выборе месяца «декабрь» в Label должна появляться соответствующая картинка.

Для вставки картинки использовать:

QPixmap Имя_Объекта("название файла");

ui->Имя_метки->setPixmap(Имя_Объекта);

8.  На форме разместить объект textEdit и 2 кнопки PushButton. По нажатию на первую кнопку в поле textEdit должна производиться вставка текста из буфера, а при нажатии на вторую кнопку поле должно очищаться.

9.  На форме разместить объекты comboBox и Label. Добавить в comboBox несколько элементов выбора. В Label помещать разные изображения в зависимости от выбора элемента в comboBox. Использовать менеджер размещения.

Для вставки картинки использовать:

QPixmap Имя_Объекта("название файла");

ui->Имя_метки->setPixmap(Имя_Объекта);

10.  На форме разместить LCD Number и spinBox. При изменении значения в spinBox в LCD Number должно отображаться то же значение. Поместить на форму кнопку, которая будет обнулять значения счетчиков. Использовать менеджер размещения.

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

Разработать приложение на QT в соответствии с наработанным макетом. Обязательно наличие в журнале «+» по ВСЕМ предыдущим лабораторным. Работу программы необходимо продемонстрировать преподавателю, а также подготовить руководство пользователя в печатном виде.

Руководство пользователя должно содержать:

1) минимальные системные требования;

2) инструкцию по установке программы с иллюстрациями;

3) руководство по использованию программы с иллюстрациями;

4) информацию об авторах (должна соответствовать предложенному составу команды разработчиков из первой лабораторной, с указанием ваших реальных ФИО и вымышленных ФИО и должностей остальных людей в команде).

Руководство по использованию программы (отдельно пункт 3) должно открываться из меню программы «Помощь».

После того, как программа и руководство одобрены преподавателем, необходимо передать в электронном виде готовое приложение для последующего тестирования (выслать на адрес Katerina. *****@***ru с указанием группы и фамилий в теме письма). Программа должна инсталлироваться с запросом пути установки. На рабочем столе, по запросу при установке, должен быть создан ярлык с индивидуальной «фирменной» иконкой и названием. Также должен открыться readme, который содержит пункты 1, 2, 4. Все окна программы должны иметь свое осмысленное название.

Рекомендуемая литература:

1.  А. Человеко-машинное взаимодействие. Учебное пособие. Солон, 2008. 96 с.

2.  С., М., А. Человеко-машинное взаимодействие: теория и практика. Учебное пособие. Феникс, 2006. 285 с.

3.  Примеры программ на Qt, учебное пособие: http://doc. crossplatform. ru/qt/4.6.x/examples. html

Основные порталы (построено редакторами)

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством