DIPLOM (1204343), страница 4

Файл №1204343 DIPLOM (Программный модуль для тестирования сотрудников КГБУЗ Спасская стоматологическая поликлиника) 4 страницаDIPLOM (1204343) страница 42020-10-02СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

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

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

На рисунке 4 представлена диаграмма вариантов использования тестирующей программы [2].

Рисунок 4 ‒ Диаграмма вариантов использования тестирующей программы

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

На рисунке 5 представлена структура тестирующего модуля.

Рисунок 5 ‒ Структура тестирующего модуля

На данной рисунке отображены все функции данного прогграммного модуля, и в какой форме какая из них находится [3].

2.3 Выбор программных средств разработки

Для разработки программного модуля для тестирования сотрудников КГБУЗ «Спасская СП» был выбран язык программирования C++, и среда разработки Qt Creator, библиотека Qt5.

C++ ‒ компилируемый, статически типизированный язык программирования общего назначения [11].

Поддерживает такие парадигмы программирования, как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование. Язык имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод-вывод, регулярные выражения, поддержку многопоточности и другие возможности. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником  языком C, ‒ наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.

C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ. Например, на платформе x86 это GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие. C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C# [10].

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

Достоинства языка С++

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

 высокую совместимость с языком Си: код на Си может быть с минимальными переделками скомпилирован компилятором C++. Внешне языковой интерфейс является прозрачным, так что библиотеки на Си могут вызываться из C++ без дополнительных затрат, и более того ‒ при определённых ограничениях код на С++ может экспортироваться внешне неотличимо от кода на Си;

 вычислительную производительность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. Один из базовых принципов С++ ‒ «не платишь за то, что не используешь»  то есть ни одна из языковых возможностей, приводящая к дополнительным накладным расходам, не является обязательной для использования. Имеется возможность работы с памятью на низком уровне;

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

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

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

 наличие возможности управления константностью объектов. Использование константных объектов повышает надёжность и служит подсказкой для оптимизации. Перегрузка функций-членов по признаку константности позволяет определять выбор метода в зависимости цели вызова (константный для чтения, неконстантный для изменения). Объявление позволяет сохранять логическую константность при виде извне кода, использующего кэши и ленивые вычисления;

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

 возможность встраивания предметно-ориентированных языков программирования в основной код. Такой подход использует, например библиотека Boost.Spirit, позволяющая задавать EBNF-грамматику парсеров прямо в коде C++. Boost.Spirit реализует рекурсивно-нисходящий алгоритм, что накладывает соответствующие ограничения (такие как недопустимость левой рекурсии);

 доступность. Для С++ существует огромное количество учебной литературы, переведённой на всевозможные языки. Язык имеет высокий порог вхождения, но среди всех языков такого рода обладает наиболее широкими возможностями. [26]

К числу недостатков языка можно отнести:

 отсутствие системы модулей, C++ использует заголовочные файлы, которые полны недостатков;

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

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

 сложный синтаксис и сложная спецификация языка.

Среда разработки Qt Creator

Qt Creator (ранее известная под кодовым названием Greenhouse)  кроссплатформенная свободная IDE для разработки на С, С++ и QML. Разработана Trolltech (Digia) для работы с фреймворком Qt. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML. Поддерживаемые компиляторы: GCC, Clang, MinGW, MSVC, Linux ICC, GCCE, RVCT, WINSCW [23].

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

В Qt Сreator реализовано автодополнение, в том числе ключевых слов, введённых в стандарте C++11 (начиная с версии 2.5), подсветка кода (её определение аналогично таковому в Kate, что позволяет создавать свои виды подсветок или использовать уже готовые). Также, начиная с версии 2.4, есть возможность задания стиля выравнивания, отступов и постановки скобок.

Реализован ряд возможностей при работе с сигнатурами методов, а именно:

 автогенерация пустого тела метода после его обновления;

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

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

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

Среда разработки имеет графический интерфейс для следующих отладчиков: GDB, CDB и QML/JavaScript. В качестве отдельной опции реализовано отображение содержимого контейнеров, таких как QString, std::map и прочих. Поддерживаются следующие режимы отладки:

  • простой: для отладки локально запущенных приложений, таких как GUI приложения на Qt;

 терминал: для отладки локально запущенных процессов, которым требуется консоль, обычно это приложения без GUI;

 подключённый: для отладки локальных процессов, запущенных вне Qt Creator;

 удалённый: для отладки запущенных на другой машине процессов (используя gdbserver);

 ядро: для отладки завершившихся аварийно процессов на Unix;

 Post-mortem: для отладки завершившихся аварийно процессов на Windows;

 TRK: для отладки процессов, запущенных на устройстве Symbian.

Точки остановки можно задать различными способами, а именно:

 останавливаться на заданной строчке заданного файла;

 останавливаться при вызове функции с определенным именем;

 останавливаться при обращении к данным по заданному адресу;

 останавливаться при поимке исключения;

 останавливаться при запуске или создании нового процесса;

 останавливаться при выполнении системного вызова;

 останавливаться при изменении в данных с адресами, заданными выражением [23].

Альтернативной средой разработки является Microsoft Visual Studio.

Среда разработки Microsoft Visual Studio

Microsoft Visual Studio ‒ линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight [25].

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как, например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования) или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server) [21].

3 разработка программного модуля тестирования

3.1 Правила разработки интерфейса

Для построения пользовательского интерфейса используются библиотеки Qt.

Пользовательский интерфейс программы разрабатывался, опираясь на 10 эвристик Якоба Нильсена, которые были сформированы в 1990 году, но не смотря на прошедшие годы, они не теряют своей актуальности.

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

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

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

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

  3. Свобода действий. Дайте пользователям возможность отмены действий, а также возврата к ранее отмененным действиям.

  4. Единообразие и стандарты. Не путайте пользователя, описывая одни и те же вещи разными словами и терминами. Придерживайтесь единообразия и следуйте стандартам.

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

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

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

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

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

10. Справочные материалы и документация. Если система может использоваться без документации, в процессе работы с ней все же может потребоваться справочная информация. Подобные документы должны составляться таким образом, чтобы в них легко было найти необходимое [20].

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

Характеристики

Список файлов ВКР

Программный модуль для тестирования сотрудников КГБУЗ Спасская стоматологическая поликлиника
Даниленко Павел
LNDTest
LNDTest
LNDTest
platforms
qminimal.dll
qoffscreen.dll
qwindows.dll
questions
Охрана труда
settings.ini
sqldrivers
qsqlite.dll.bak
vcredist
vcredist_msvc2013_x86.exe
LNDTest.exe
Qt5Core.dll
Qt5Gui.dll
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7027
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее