kp2.md 11 KB

Курсовой проект

Курсовой проект служит для закрепления и систематизации знаний и умений ПМ.05.

Что должно быть реализовано

  • база данных
  • десктопное приложение для администрирования БД
    • авторизация
    • добавление
    • редактирование
    • удаление
    • поиск
    • фильтрация
    • сортировка
  • АПИ-сервер на PHP
  • мобильное приложение, получающее данные через АПИ-сервер (просмотр/заказ)

Темы курсовых проектов

  1. Автосервис:

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

    • список продукции (админка)
    • онлайн-заказ (мобильное приложение)
  3. Фитнесс-центр

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

    • список залов и столиков (количество мест) (админка)
    • онлайн бронь (мобильное приложение) с учетом овербукинга
  5. Автомойка

    • список услуг
    • онлайн запись
  6. Запись к врачу

    • список врачей (у каждого свой график работы)
    • запись (мобилка)
  7. Сотовый оператор

    • список тарифов и опций (админка)
    • выбор тарифа и опций (мобилка)
  8. Транспортная компания (служба доставки)

    • парк транспортных средств (поезд, самолет, авто)
    • заказ доставки (вес, расстояние)
  9. Заказ ЖД-билетов

    • список поездов с расписанием
    • бронирование на нужную дату и кол-во пассажиров
  10. Покупка билета в кино

    • список фильмов, залов, мест
    • бронирование билетов
  11. Шиномонтаж

    • список услуг
    • онлайн-запись
  12. Стоматолог

    • список услуг, врачей
    • запись
  13. Аптека

    • список лекарств
    • онлайн-покупка
  14. Строй.материалы

    • список товаров
    • онлайн-покупка
  15. Доставка еды (на двоих)

    • список ресторанов, список блюд, список доставщиков (деливери, яндекс)
    • формирование заказа (мобилка)
    • доставка заказа (мобилка)
  16. Парикмахерская

    • список услуг, парикмахеров
    • запись
  17. Книга рецептов

    • список блюд, ингредиенты
    • отображение с расчетом калорийности (мобилка)
  18. Книжный магазин

    • список книг
    • онлайн заказы

Важно!!!

USE-case и ER диаграммы рисуются для всей предметной области.

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

Общие положения

Курсовой проект выполняется в виде публичного репозитория на общедоступном сервере контроля версий (github, gitlab...). Пояснительная записка располагается в файле readme.md и, соответственно, должна быть написана в формате MarkDown.

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

Требования к структуре курсового проекта

  • титульный лист. Разметку HTML можно взять из этого репозитория;
  • содержание;
  • введение, в котором раскрываются актуальность и значение темы, формулируются цели и задачи работы, объект, предмет и методы исследования;
  • теоретическая часть, в которой содержатся теоретические основы разрабатываемой темы:
    • анализ предметной области: опрос, анкетирование (разработать как минимум одну анкету)
    • разработать UseCase-диаграмму для основных пользователей системы.
      • полную диаграмму в формате PDF положить в репозиторий
      • "свой" кусок картинкой прицепить к пояснительной записке (картинки в MarkDown внедряются разметкой: ![<alt>](<имя картинки с относительным путём в вашем репозитории>)). Например, все свои ресурсы вы храните в подкаталоге src, тогда для картинки с названием erd.png команда будет выглядеть так: ![ER-диаграмма](./src/erd.png)
    • разработать спецификацию к UseCase (к 3 самым важным прецедентам). Формат MarkDown
    • для ЧЁТНЫХ номеров: разработать диаграмму состояний (в формате PDF)
    • для НЕЧЁТНЫХ номеров: разработать диаграмму последовательности (в формате PDF)
    • проектирование ERD. Необходимо спроектировать максимально полную ERD для предметной области. Обязательна 3 нормальная форма с обеспечением ссылочной целостности.
      • полную диаграмму в формате PDF положить в репозиторий
      • "свой" кусок картинкой прицепить к пояснительной записке
    • разработать словарь данных (MarkDown).
  • практическая часть, которая состоит из проектирования, описания его реализации

    • база данных (MYSQL):
      • создание базы данных. На этом этапе реализовать только основной функционал подсистемы (подойти к преподавателю и утвердить набор обязательных таблиц)
      • подготовить 3 файла с данными (в РАЗНЫХ форматах csv, txt, xls): 5 записей для справочников, 10 - для данных (список товаров/услуг/клиентов...). Для данных предусмотреть поле для изображения и, соответственно, каталог с изображениями.
        • таблица с основными данными (продукты)
        • таблица с составными данными (материалы для продуктов)
        • таблица связей (продукты + материалы)
      • импортировать данные в базу данных (в пояснительной записке привести SQL-команды, используемые при импорте)
    • разработка (C#)

      • отображение основного списка товаров/услуг с:

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

        Пример разметки "списком" есть тут

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

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

      • отображение дополнительного списка (продажи/оказанные услуги)

    • разработка (PHP)

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

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

      • разработать библиотеку классов (реализовать в ней метод для расчета вычисляемого поля в основной таблице)
      • разработать модульные тесты для метода из библиотеки классов (не менее 10)
      • разработка тестовых сценариев для удаления товара/услуги (не менее 5)
    • XML-комментарии. Не очевидный код (разработка и тестирование) должен содержать комментарии

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