Отчет по производствнной практике ФИО студента: Вася Пупкин Группа 28 - Б Содержание Введение 3 Глава 1. Аналитический раздел 5 1.1. Описание индивидуального задания на учебную практику 5 1.2. Исследование предметной области 6 Глава 2. Технические аспекты разработки программы 10 2.1. Логическая модель программы 10 2.2. Выбор языка разработки 14 2.3. Разработка программы 16 Глава 3. Тестирование программы 18 3.1. Выбор методов тестирования 18 3.2. Тестирование приложения 19 3.3. Создание пользовательской документации 21 Заключение 22 Список использованных источников 24 2 ВВЕДЕНИЕ Современный мир косметологии предлагает широкий спектр процедур, направленных на улучшение внешнего вида и поддержание здоровья кожи. Выбор подходящей процедуры и понимание ее стоимости часто вызывает трудности как у клиентов, так и у начинающих специалистов. Комплексность ценообразования, зависящая от множества факторов, делает необходимым создание удобного и информативного инструмента, способного помочь в предварительном расчете стоимости косметологических услуг. Целью данной учебной практики является разработка программного модуля «Калькулятор стоимости косметологических услуг». Этот программный модуль предназначен для упрощения процесса предварительного расчета стоимости различных косметологических процедур, предоставляя пользователям возможность оценки затрат на основе введенных данных. Инструмент будет полезен как клиентам, желающим планировать свой бюджет, так и косметологам, стремящимся к прозрачности в формировании цен. Однако важно понимать, что данный калькулятор предоставляет лишь ориентировочную стоимость и не заменяет консультацию квалифицированного косметолога. Фактическая стоимость процедуры может варьироваться в зависимости от конкретных обстоятельств: квалификации специалиста, используемых препаратов, индивидуальных особенностей кожи и местоположения клиники. Поэтому рекомендуется использовать полученную оценку как отправную точку для планирования бюджета, но всегда обращаться к профессионалам для получения точной суммы. Программный модуль будет решать следующие основные задачи: Предоставление пользователю возможности выбора косметологической процедуры из заранее определенного перечня. Расчет примерной стоимости процедуры на основе введенных данных, а также, возможно, с учетом сохраненной базы данных цен. 3 Отображение рассчитанной стоимости и предоставление, при необходимости, дополнительной информации о процедуре. Предполагается, что программный модуль позволит получить как клиентам, так и косметологам: Для клиентов: Возможность предварительно оценить стоимость интересующей процедуры, что помогает планировать бюджет и принимать обоснованные решения. Для косметологов: Инструмент для быстрого и прозрачного формирования цен, что может повысить доверие клиентов и улучшить качество обслуживания. В процессе работы над данным проектом будут решены следующие задачи: 1. Проведение анализа предметной области косметологии, включая изучение различных процедур и факторов, влияющих на ценообразование. 2. Определение функциональных и нефункциональных требований к мобильному приложению. 3. Разработка архитектуры и дизайна пользовательского интерфейса (UI) и пользовательского опыта (UX) приложения. 4. Реализация базовой версии мобильного приложения, включающей основные функции расчета стоимости. 5. Тестирование и демонстрация работы приложения. 4 ГЛАВА 1. АНАЛИТИЧЕСКИЙ РАЗДЕЛ. 1.1. Описание индивидуального задания на учебную практику. Название программы: «Калькулятор стоимости косметологических услуг» Цель: Разработать программный модуль "Калькулятор стоимости косметологических услуг" для косметологических клиник, который позволит клиентам предварительно рассчитать стоимость различных процедур. Задачи: 1. Провести анализ предметной области и выявить основные требования к функциональности калькулятора. 2. Разработать техническое задание на создание программного модуля. 3. Спроектировать пользовательский интерфейс калькулятора, обеспечивающий удобство и простоту использования. 4. Реализовать алгоритмы расчета стоимости косметологических услуг в зависимости от типа процедуры, уровня квалификации специалиста и других факторов. 5. Протестировать работоспособность и точность расчетов программного модуля. 6. Оформить техническую документацию, включающую руководство пользователя. Содержание задания: 1. Изучение предметной области и требований к программному модулю. 2. Разработка технического задания на создание "Калькулятора стоимости косметологических услуг". 3. Проектирование пользовательского интерфейса и архитектуры программного модуля. 4. Реализация алгоритмов расчета стоимости услуг. 5. Тестирование и отладка программного модуля. 5 6. Оформление технической документации. Ожидаемый результат: Функционирующий программный модуль "Калькулятор стоимости косметологических услуг" с понятным пользовательским интерфейсом и полной технической документацией. 1.2. Исследование предметной области Косметологические услуги являются важной частью индустрии красоты, и их популярность продолжает расти. Однако процесс определения стоимости процедур может быть затруднительным для клиентов, так как он зависит от множества факторов, таких как тип процедуры, квалификация специалиста, используемые материалы и время выполнения. Разработка программного модуля "Калькулятор стоимости косметологических услуг" является актуальной задачей для упрощения этого процесса. Проведенный анализ рынка показал, что на сегодняшний день существует несколько онлайн-калькуляторов и мобильных приложений, позволяющих рассчитать примерную стоимость косметологических услуг. Наиболее популярные примеры: 1. Калькулятор на сайте https://bwclinic.ru/calculator?ysclid=ma858d4 6 2. Калькулятор на сайте https://www.valentinamiller.com/sebestoimost Эти решения предоставляют пользователям возможность ввести основную информацию о желаемых процедурах и получить примерную оценку стоимости. Однако большинство из них имеют ограниченный функционал и не учитывают индивидуальные особенности клиентов, а также не предоставляют детализированную схему расходов. 7 Основные пользователи программного модуля "Калькулятор стоимости косметологических услуг": 1. Владельцы косметологических клиник, желающие предоставить клиентам удобный инструмент для оценки стоимости услуг. 2. Клиенты, ищущие информацию о стоимости косметологических процедур и желающие заранее планировать бюджет. 3. Специалисты в области косметологии, использующие калькулятор для оценки стоимости услуг при консультациях с клиентами. Основные потребности пользователей: 1. Возможность ввода подробной информации о процедуре, включая тип, длительность и используемые материалы. 2. Получение детальной сметы с разбивкой затрат на материалы, услуги специалиста и дополнительные расходы. 3. Учет специфики процедур, предлагаемых различными клиниками. 4. Интеграция с базами данных цен на материалы и услуги. 5. Удобный и интуитивно понятный интерфейс. Функциональные требования Исходя из потребностей целевой аудитории, основными функциональными требованиями к программному модулю "Калькулятор стоимости косметологических услуг" являются: 1. Сбор информации о процедуре: тип процедуры, длительность, используемые материалы. 2. Ввод данных о специфике услуг: уровень квалификации специалиста, дополнительные услуги. 3. Расчет стоимости процедуры на основе введенных данных с учетом цен на материалы и услуги. 4. Формирование детальной сметы расходов с разбивкой по категориям. 5. Возможность сохранения рассчитанной сметы в формате PDF. 8 6. Интеграция с базами данных, содержащими информацию о ценах на материалы и расценках на услуги. 7. Кроссплатформенность и возможность использования на различных устройствах. Разработка программного модуля "Калькулятор стоимости косметических услуг" является актуальной задачей, которая позволит клиентам косметологических клиник быстро и точно оценивать затраты на процедуры. Реализация данного модуля должна учитывать потребности целевой аудитории и включать в себя широкий функционал, интеграцию с базами данных, а также удобный интерфейс. 9 ГЛАВА 2. ТЕХНИЧЕСКИЕ АСПЕКТЫ РАЗРАБОТКИ ПРОГРАММЫ. 2.1. Логическая модель программы. Для упрощения проектирования функционала программного модуля «Калькулятор стоимости косметологических услуг» необходимо создать диаграмму, которая будет отображать основные функции программного модуля. Ниже представлена диаграмма для нашего калькулятора. Рисунок 2.1.1. – UML диаграмма Разработка калькулятора стоимости косметологических услуг включает несколько технических аспектов, которые могут варьироваться в зависимости от конкретных требований и платформы. Ниже перечислены общие технические аспекты, которые следует учесть при разработке этого программного модуля: 1. Ввод данных: Этот компонент предназначен для сбора информации о необходимых процедурах. Входные данные могут включать тип процедуры, длительность и т.д. 2. Расчет стоимости услуг: Этот компонент отвечает за расчет стоимости косметологических процедур на основе введенных данных. Он может использовать базу данных с перечнем услуг и соответствующими ценами для выполнения расчетов. Компонент также может учитывать различные факторы, такие как уровень квалификации специалиста и сложность процедуры. 10 3. Расчет стоимости материалов: В случае использования специфических косметических материалов, этот компонент отвечает за расчет стоимости необходимых продуктов. Он может использовать базу данных с информацией о материалах и их ценах, а также учитывать факторы, такие как бренд и качество. 4. Расчет общей стоимости: Данный компонент объединяет результаты расчета стоимости услуг и материалов для получения общей стоимости процедуры. 5. Представление результатов: Компонент представления отвечает за отображение результатов расчета пользователю. Это может быть выполнено в виде текстового вывода или графического интерфейса, который показывает разбивку стоимости по категориям или типам услуг. Результаты могут быть сохранены или отправлены пользователю по электронной почте. Платформы и технологии для разработки При выборе платформы и технологий для разработки калькулятора стоимости косметологических услуг следует учитывать несколько факторов, таких как целевая аудитория, функциональные требования и опыт команды разработчиков. Вот несколько платформ и технологий, которые можно рассмотреть: 1. Веб-приложение: Фронтенд: Для создания пользовательского интерфейса можно использовать HTML для разметки, CSS для стилей и JavaScript для интерактивности. Фреймворки, такие как React, Angular или Vue.js, могут значительно упростить разработку фронтенда. Бэкенд: Для обработки бизнес-логики и взаимодействия с базой данных можно использовать Python с фреймворками Django или Flask, Java с Spring, или Node.js. Эти инструменты позволяют создавать API и обрабатывать запросы. 11 База данных: Для хранения информации о процедурах и материалах можно использовать реляционные базы данных, такие как MySQL или PostgreSQL, а также NoSQL-решения, такие как MongoDB. 2. Мобильное приложение: Android: Для разработки под Android можно использовать Java или Kotlin вместе с Android SDK. Фреймворки, такие как Android Architecture Components, могут упростить разработку. iOS: Для разработки под iOS можно использовать Swift или Objective-C вместе с iOS SDK. Фреймворки, такие как SwiftUI, помогут в создании интерфейса. Кроссплатформенная разработка: Для разработки приложения для обеих платформ можно рассмотреть использование React Native или Flutter, что позволит использовать общий код. 3. Нативные приложения: Windows/macOS/Linux: Для создания нативных приложений можно использовать C# с .NET для Windows, Swift для macOS или C++/Python с Qt для Linux. 4. Гибридные приложения: Гибридные приложения позволяют сочетать веб-разработку с доступом к нативным функциям устройства. Фреймворки, такие как Ionic или Apache Cordova, могут быть использованы для этой цели. 5. Другие факторы: При разработке мобильного приложения «Калькулятор стоимости косметологических услуг» важно учитывать дополнительные аспекты, которые могут повлиять на эффективность и функциональность приложения: Интеграция с другими системами: Если вы планируете интегрировать калькулятор с системами управления клиникой, базами данных клиентов или другими сервисами, необходимо выбрать технологии, которые легко совместимы с существующими системами. Это обеспечит бесшовный обмен данными и улучшит пользовательский опыт. 12 Безопасность: Важно реализовать меры безопасности для защиты данных пользователей, такие как шифрование личной информации и безопасное взаимодействие с API. Выбор технологий с надежными механизмами безопасности поможет избежать уязвимостей и защитить программны модуль от потенциальных угроз. Масштабируемость: Если вы планируете расширять функциональность калькулятора в будущем, важно, чтобы архитектура приложения была гибкой и позволяла легко добавлять новые функции и возможности. Это может включать возможность добавления новых процедур, интеграцию с новыми поставщиками услуг и т.д. Основные функции калькулятора стоимости косметических услуг: Калькулятор может иметь различные функции в зависимости от требований проекта и потребностей пользователей. Вот некоторые из основных функций, которые можно включить в программный модуль: 1. Выбор типа процедуры: Пользователь может выбрать различные косметологические процедуры, такие как уход за лицом, эпиляция, массаж и т.д. 2. Оценка стоимости услуг: Калькулятор может оценить стоимость процедур на основе введенных данных и ценовой базы, включая возможные скидки или акции. 3. Расчет стоимости материалов: Если для процедур используются специальные косметические средства, калькулятор может оценить их стоимость и добавить к общей сумме. 4. Учет дополнительных расходов: Калькулятор может учитывать дополнительные расходы, такие как стоимость консультаций, налоги или сборы, что поможет предоставить более точную оценку. 5. Вывод общей стоимости: По завершении расчетов калькулятор предоставляет пользователю общую стоимость процедур, включая разбивку по каждому виду услуги и материалам. 13 6. Сравнение стоимости: Некоторые калькуляторы могут позволять пользователям сравнивать цены на услуги в разных салонах красоты или у различных косметологов, что поможет выбрать наиболее выгодное предложение. 7. Дополнительные функции: В приложении могут быть включены рекомендации по уходу за кожей, советы по выбору процедур, а также информация о текущих акциях и специальных предложениях. 2.2. Выбор языка разработки. В процессе разработки мобильного приложения «Калькулятор стоимости косметологических услуг» был сделан выбор в пользу языка программирования C#. Это решение обусловлено рядом факторов, которые делают C# оптимальным выбором для создания приложения на платформе Windows. Рассмотрим подробнее несколько популярных языков программирования, которые могут быть использованы для разработки Windows-приложений: 1. C#: C# является ведущим языком для разработки приложений под Windows благодаря своей тесной интеграции с платформой .NET от Microsoft. Этот объектно-ориентированный язык обеспечивает безопасность и управляемость, предоставляя мощные инструменты для создания различных типов приложений — от настольных до мобильных и вебприложений. Активное развитие C# и регулярные обновления делают его привлекательным выбором для современных разработчиков. 2. Visual Basic .NET (VB.NET): VB.NET — это эволюция классического Visual Basic и остается популярным языком для разработки Windows-приложений, особенно для проектов, требующих быстрой разработки. Он сохраняет привычный синтаксис, что облегчает переход для разработчиков, знакомых с предыдущими версиями. VB.NET также хорошо интегрируется с Windows API и .NET Framework, что делает его подходящим выбором для создания традиционных приложений. 14 3. C++: C++ — это мощный язык, который часто используется для разработки высокопроизводительных Windows-приложений, таких как игры и драйверы устройств. Он позволяет получить прямой доступ к аппаратному обеспечению, что делает его идеальным для создания критически важных приложений, где производительность имеет первостепенное значение. Однако для разработки мобильных приложений C++ может быть менее удобным, чем более высокоуровневые языки. 4. Java: Хотя Java была разработана как кроссплатформенный язык, она также активно используется для создания Windows-приложений, особенно в корпоративной среде. Преимущества Java включают надежность, безопасность и обширную библиотеку инструментов. Возможность использования одной кодовой базы для различных операционных систем делает Java удобным выбором для разработчиков. 5. Python: Python становится все более популярным языком для разработки приложений благодаря своей простоте и выразительности. Он предлагает множество библиотек и инструментов, что делает его идеальным для создания настольных утилит, аналитических инструментов и прототипов. Python подходит для быстрого прототипирования и разработки минимально жизнеспособных продуктов, что может быть полезно на этапе создания калькулятора. При выборе языка разработки важно учитывать экосистему, доступные инструменты и ресурсы, а также поддержку сообщества разработчиков. Это поможет выбрать наиболее подходящий язык, который будет соответствовать вашим требованиям и задачам при создании «Калькулятора стоимости косметологических услуг». 15 2.3. Разработка программы. Начнем с определения элементов, которые будут находиться на экране программного модуля «Калькулятор стоимости косметологических услуг»: Список клиентов (ListBox), позволяющий выбрать конкретного клиента. Кнопки действий («Рассчитать стоимость», «Записаться на процедуру», «Просмотреть историю»). Поле ввода для фильтрации процедур по названию (TextBox). Рассмотрим подробно каждый элемент: Первым элементом для реалицации стал список услуг (ListBox), предназначенный для выбора конкретной услуги перед расчетом стоимости процедуры. Рисунок 2.3.1. - «Пример элемента ListBox» 16 Основные возможности ListBox включают в себя: отображение элементов в вертикальном списке, поддержку множественного выбора (если это необходимо), возможность прокрутки списка при большом количестве элементов, события для отслеживания выбранных элементов и изменений в списке. Разработчики могут легко привязывать ListBox к различным источникам данных, таким как массивы, списки или коллекции объектов, что упрощает процесс наполнения списка. Следующий элемент — поле для назначения цены (TextBox), предназначенное для быстрого ввода цены за различные процедуры. Рисунок 2.3.2. - «Пример элемента TextBox» TextBox - это широко используемый элемент управления в Windows Forms, который позволяет пользователям вводить и редактировать текстовую информацию. Он играет ключевую роль в создании интерактивных и функциональных пользовательских интерфейсов, предоставляя разработчикам широкие возможности по управлению текстовыми данными. Основные возможности TextBox включают в себя: отображение и редактирование однострочного или многострочного текста, поддержку различных текстовых форматов, таких как обычный текст, пароли, денежные значения, даты и другие, возможность задания начального текста, ограничений на длину вводимых данных и многое другое. TextBox также предоставляет события, которые позволяют отслеживать изменения в тексте, нажатие клавиш, фокусировку и другие взаимодействия пользователя. 17 Далее идёт кнопка добавить услугу реализованная через элемент Button. Рисунок 2.3.3. - «Пример элемента Button» Button - это один из базовых элементов управления в Windows Forms, который позволяет пользователям выполнять различные действия, нажимая на него. Будучи простым в использовании, Button предоставляет разработчикам широкий набор возможностей для создания интерактивных и функциональных пользовательских интерфейсов. Основные характеристики Button включают в себя возможность отображения текста, изображения или их комбинации, настройку размеров и положения кнопки на форме, применение различных стилей оформления, таких как цвета, шрифты и темы. Button также поддерживает ряд стандартных состояний, например, обычное, наведение курсора, нажатие, отключено, которые позволяют визуально отображать текущее состояние кнопки. 18 ГЛАВА 3. ТЕСТИРОВАНИЕ ПРОГРАММЫ. 3.1. Выбор методов тестирования. После разработки программного модуля нужно убедится в его работоспособности, и провести тестирование для обнаружения неисправностей. Для этого был представлен список существующих методов тестирования: Метод черного ящика (Black Box Testing): Этот метод тестирования основан на проверке входных и выходных данных без знания внутренней реализации приложения. Тестировщик рассматривает приложение как "черный ящик" и проверяет его функциональность, интерфейс и поведение на основе ожидаемых результатов. Метод белого ящика (White Box Testing): В этом методе тестирования тестировщик имеет полное знание о внутренней структуре и коде приложения. Тестировщик может напрямую проверять состояние переменных, ветвления кода и структуру приложения для обеспечения полного покрытия тестами. Метод модульного тестирования (Unit Testing): Этот метод тестирования сосредоточен на отдельных модулях или компонентах приложения. Тестировщик создает и запускает тесты для проверки правильности работы отдельных функций, классов или методов в изоляции от других компонентов. Метод интеграционного тестирования (Integration Testing): В этом методе тестирования проверяется взаимодействие между разными компонентами приложения. Тестировщик проверяет, что различные модули работают корректно вместе, обмениваясь данными и взаимодействуя друг с другом. Автоматизированное тестирование (Automated Testing): В этом методе тестирования используются средства автоматизации для создания и выполнения тестовых сценариев. Можно использовать фреймворки для автоматического тестирования, такие как Espresso, UI Automator или Appium, для создания скриптов и автоматизации выполнения тестов на устройствах. 19 Это лишь некоторые из методов тестирования. Выбор конкретных методов зависит от требований, характеристик и целей вашего приложения. Комбинирование различных методов тестирования может помочь обеспечить более полное и надежное тестирование программного модуля перед его выпуском. 3.2. Тестирование приложения. Для данного модуля был выбран метод ручного тестирования, так как он позволяет проверять внутреннюю структуру и логику программы, тестируя различные компоненты и их взаимодействие. Преимущества ручного тестирования для данной программы: 1. Глубокое понимание внутренней реализации: Ручное тестирование структуру и логику позволяет детально модуля, чего изучить нельзя внутреннюю добиться при автоматизированном тестировании. Это дает возможность выявить скрытые ошибки и неожиданные взаимодействия между компонентами модуля. 2. Гибкость и адаптивность: При ручном тестировании тестировщик может быстро реагировать на изменения в требованиях или реализации модуля. Он может легко адаптировать тестовые сценарии и случаи использования к новым условиям. 3. Комплексная проверка: Ручное тестирование позволяет проверять сложные взаимодействия между различными компонентами модуля. Тестировщик может моделировать реальные сценарии использования и оценивать целостность работы системы. 4. Улучшение понимания предметной области: Во время ручного тестирования тестировщик глубже погружается в предметную область и лучше понимает бизнес-логику. 20 Это знание можно использовать для улучшения дизайна и функциональности модуля. Рисунок 3.2.1. – «Итог ручного тестирования». Итог тестирования: приложение работает без ошибок, не выдает ошибок и не "вылетает", все компоненты функционируют корректно. 21 3.3. Создание пользовательской документации. 3.3.1. – «Пользовательская документация». Исходя из итогов тестирования можно сказать, что приложение работает стабильно и без выявленных ошибок. ЗАКЛЮЧЕНИЕ Программный модуль «Калькулятор стоимости косметологических 22 услуг» представляет собой полезный инструмент как для специалистов отрасли красоты, так и для самих клиентов. Оно позволяет быстро и точно определить предполагаемые расходы на оказание косметических процедур, что существенно упрощает принятие решений о проведении тех или иных манипуляций. Преимущества модуля: Универсальность: Подходит для широкого спектра косметологических клиник и центров, предлагая гибкую систему настроек и возможность адаптации под специфику любого учреждения. Простота использования: Минималистичный и интуитивно понятный интерфейс делает возможным быстрый расчёт стоимости даже для новичков. Настраиваемость: Пользователь может вводить другие процедуры если в списке их не будет. Повышение доверия клиентов: Клиент заранее быстро и удобно расчитывает стоимость процедур, что уменьшает затраты времени и увеличивает удовлетворенность сервисом. Эффективность для салонов: Использование калькулятора улучшает организацию рабочего процесса, повышая точность планирования бюджета и оптимизации ресурсов заведения. Дополнительные выгоды: Помимо основного функционала по оценке стоимости, модуль предоставляет ряд важных дополнительных возможностей: Анализ стоимости процедур: Пользователям доступна сравнительная оценка стоимости аналогичных услуг в разных заведениях, что позволяет сделать оптимальный выбор. Улучшение бизнес-процессов: Применение такого инструмента помогает руководству салона контролировать эффективность персонала, следить за расходованием материалов и оптимально распределять ресурсы. Итоги разработки: Работа над проектом позволила достичь следующих целей: 23 Изучение существующих приложений-аналогов и выявление их недостатков. Определение требований и необходимого функционала будущего продукта. Проектирование архитектуры и дизайна приложения, ориентированного на удобное взаимодействие с пользователем. Создание прототипа программного модуля, тестирование основных функций и устранение выявленных проблем. Таким образом, прогрммный модуль «Калькулятор стоимости косметологических услуг» эффективно решает задачи информированности клиентов и повышения качества обслуживания, становясь важным инструментом как для профессионалов индустрии красоты, так и для потребителей. СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 24 1. Петров И.И. «Проектирование и разработка мобильных приложений.» – М.: Издательский дом «Питер», 2018. 2. Луценко С.П., Смирнов И.В. «Мобильная разработка на Android.» – СПб.: БХВ-Петербург, 2019. 3. Хантер Р. «Мобильная разработка для начинающих.» – М.: ДМК Пресс, 2017. 4. Сергеев В.В., Пантелеев В.В. «Мобильная разработка под iOS на языке Swift.» – М.: ДМК Пресс, 2019. 5. Кузнецов А.А., Попов А.В. «Мобильная разработка на платформе Android.» – М.: ДМК Пресс, 2018. 6. Смирнов А.А. «Программирование мобильных приложений.» – М.: Бином, 2019. 7. Красильников Ю.Н. «Разработка мобильных приложений с использованием Xamarin.Forms.» – М.: Издательство Московского университета, 2020. 8. Белоусов Д.М. «Программирование мобильных приложений на платформе iOS.» – М.: Издательство «Лори», 2018. 9. Попов А.А. «Разработка мобильных приложений на платформе Android.» – М.: БХВ-Петербург, 2020. 25