exam.md 5.3 KB

Примерное содержание экзамена

Адрес GIT ропозитория: http://192.168.3.32:3000

Состав и критерии оценок могут измениться

Написать РАБОЧЕЕ (то есть приложение собирается и запускается) оконное приложение, отображающее список данных, с возможностью фильтрации, поиска и сортировки данных:

Проверяются только результаты, опубликованные в репозитории

Каждому выдаётся набор персональных условий:

  • предметная область
  • тип поставщика данных (CSV, JSON)
  • тип шаблона для ListBox (список, плитка)
  • тип фильтрации (по словарю, по условию)

Задание

  1. Создать модель (класс) по заданной предметной области. Обязательно использовать типы: целое, вещественное, дата, строка, логическое. Одно из полей должно быть словарным (свой тип данных, как породы в "кошках") - 1 балл

    • несоответствие полей модели предметной области: штраф 0,2 балла
    • отсутствие обязательного типа данных: штраф 0,2 балла
  2. Создать набор данных (10 записей) для модели в заданном формате и написать класс поставщика данных LocalDataProvider, CSVDataProvider или JSONDataProvider: до 1.5 баллов

    • программный список (определен в LocalDataProvider): 0,5 баллов
    • CSV (загрузка из внешнего файла): 1,5 балла
    • JSON (загрузка из внешнего файла): 1,5 балла

    т.е. вы можете не заморачиваться с загрузкой из внешнего файла и реализовать LocalDataProvider

  3. вывести логотип компании - 0,5 балла (доступа в интернет при выполнении задания не будет, в качестве логотипа можно использовать любую загогулину, нарисованную в paint)

  4. вывести на экран список (ListBox) с набором данных из поставщика данных (тип списка StackPanel или WrapPanel выбирает преподаватель) - 1 балл

    Если не можете вывести в ListBox, то можно использовать DataGrid (за него 0,5 баллов)

  1. реализовать поиск по текcтовому полю - 1 балл

    не защитывается, если не реализован интерфейс INotifyPropertyChanged

  2. сделать сортировку по полю - 1 балл

    не защитывается, если не реализован интерфейс INotifyPropertyChanged

  3. сделать фильтрацию по словарному полю или по условию (определяется преподавателем перед началом экзамена) - 1 балл

    не защитывается, если не реализован интерфейс INotifyPropertyChanged

  4. Написать пояснительную записку в README.MD - 0,5 балла

    • Добавить скриншот
    • набор данных, оформленный как код

    Штраф за отсутствующий элемент 0,2 балла

    Критерий учитывается только при наличии рабочего приложения со списком

  5. Файловая структура проекта (для каждого класса свой файл, название файла соответствует классу, классы модели в отдельном каталоге): 0.5 балла

    Штраф 0,2 балла за критерий

    Критерий учитывается только при наличии рабочего приложения со списком

Оценка

Итого 8 баллов:

  • менее 1,6-х баллов, оценка "2"
  • 1,6 ... 3,1 балла, оценка "3"
  • 3,2 ... 5,5 баллов, оценка "4"
  • 5,6 и более баллов, оценка "5"