sprint_lab.md 3.0 KB

Замечания по итогам и предисловие для следующих поколений

  • лабораторные работы проводятся на локальном сервере колледжа (недоступны из дома);
  • адрес сервера в локальной сети (mysql): 192.168.3.32;
  • адрес git-сервера (gogs): 192.168.3.32:3000;

Лаборатроные работы проводятся по заданиям демо-экзаменов предыдущих лет с оценкой по критериям демо-экзамена.

На что обратить внимание

  1. Типы связей в диаграмме прецедентов стандартизованы (их всего 4). Не надо рисовать что попало. В задании не акцентировано, но диаграмма прецедентов делается для всей предметной области.

  2. На сервере mysql кодировка баз по-умолчанию latin, перед созданием своих таблиц поменяйте на utb8mb4 (либо при создании таблиц указывайте эту кодировку).

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

  4. При клике кнопкой мыши на визуальный объект параметр sender в обработчике указывает на объект по которому кликнули. Если это элемент списка (ListBox), то можно явно приводить к нужному типу, а если просто кнопка ("массовая смена продукции", "удаление продукции" и т.п.), то для получения экземпляра объекта вы должны использовать не sender, а нужный объект (например, ProductListBox), причём сначала убедиться, что в списке есть выделенный элемент (SelectedItem).

  5. У ListBox-а два очень похожих по названию свойства: SelectedItem (активный элемент списка) и SelectedItems (несколько активных элементов списка, если разрешен мультивыбор).