#import "common.typ": pz-sig-line, pz-thesis-topic

// Строка ТЗ с линией на всю ширину (как бланк ВКР).
// Не входит в Пояснительная_записка_ПытковРЕ.typ – черновик: front-matter-export/tz-vkr-assignment.typ
#let tz-row(body) = {
  v(0.35em)
  table(
    columns: 1,
    stroke: none,
    inset: (x: 0pt, top: 1pt, bottom: 6pt),
    align: left,
    table.hline(stroke: 0.5pt + black),
    [#body],
  )
}

#let tz-row-split(left, right) = {
  v(0.35em)
  table(
    columns: (1fr, auto),
    stroke: none,
    inset: (x: 0pt, top: 1pt, bottom: 6pt),
    table.hline(stroke: 0.5pt + black),
    [#left],
    align(end)[#right],
  )
}

#align(center)[
  #set par(first-line-indent: 0pt, justify: false, leading: 1.15em)
  #text(weight: "bold")[ТЕХНИЧЕСКОЕ ЗАДАНИЕ]
  #text(weight: "bold")[НА ВЫПУСКНУЮ КВАЛИФИКАЦИОННУЮ РАБОТУ]
  #v(0.5em)
  БАКАЛАВРА по образовательной программе\
  #quote[Методы и средства разработки программного обеспечения]\
  направления 09.03.04 Программная инженерия
  #v(0.35em)
  студенту группы КТбо4-9\
  Пыткову Роману Евгеньевичу
]

#v(0.5em)
#set par(first-line-indent: 0pt, justify: true, leading: 0.95em)

#tz-row[
  1. Тема выпускной квалификационной работы: #quote[#pz-thesis-topic] (программный продукт Wallenc) утверждена приказом по ВУЗу.
]

#tz-row[2. Требования и исходные данные к работе:]

#tz-row[2.1 Среда разработки: Android Studio, Visual Studio Code, Gradle, Git.]

#tz-row[2.2 ОС разработки: GNU/Linux / Windows 11.]

#tz-row[2.3 Язык программирования: Kotlin; целевая платформа – Android (API 26+).]

#tz-row[2.4 Стек и инструменты: Jetpack Compose, Kotlin Coroutines/Flow, Hilt, Room, JUnit, PlantUML.]

#tz-row[3. Перечень подлежащих разработке вопросов (содержание работы):]

#tz-row[3.1 Введение]

#tz-row[3.2 Анализ требований и предметной области]

#tz-row[3.3 Проектирование архитектуры системы]

#tz-row[3.4 Проектирование пользовательского интерфейса мобильного приложения]

#tz-row[3.5 Программная реализация]

#tz-row[3.6 Тестирование программного обеспечения]

#tz-row[3.7 Вариативная профессиональная компетенция (ВПК-2)]

#tz-row[3.8 Заключение]

#tz-row[3.9 Список использованных источников]

#tz-row[3.10 Приложение А – листинги исходного кода проекта Wallenc]

#tz-row[3.11 Приложение Б – программная документация (ТЗ, руководство пользователя)]

#tz-row[3.12 Приложение В – скриншоты пользовательского интерфейса]

#tz-row[4. Перечень графического материала:]

#tz-row-split(
  [4.1 Цель, задачи и актуальность работы],
  [– 1 пл.],
)
#tz-row-split(
  [4.2 Контекстная диаграмма и анализ предметной области],
  [– 1 пл.],
)
#tz-row-split(
  [4.3 Обзор аналогов],
  [– 1 пл.],
)
#tz-row-split(
  [4.4 Требования к системе (функциональные и нефункциональные)],
  [– 1 пл.],
)
#tz-row-split(
  [4.5 Архитектура системы (BPMN, DFD, прецеденты, Clean Architecture, развёртывание, Room)],
  [– 6 пл.],
)
#tz-row-split(
  [4.6 Алгоритмы и диаграммы реализации (OAuth, шифрование, синхронизация журналов, зависимости модулей)],
  [– 4 пл.],
)
#tz-row-split(
  [4.7 Пользовательские сценарии и экраны UI],
  [– 12 пл.],
)
#tz-row-split(
  [4.8 Тестирование ПО],
  [– 6 пл.],
)
#tz-row-split(
  [4.9 Апробация результатов (производственная практика)],
  [– 1 пл.],
)
#tz-row-split(
  [4.10 Выводы по работе],
  [– 1 пл.],
)

#tz-row[
  5. Консультанты по выпускной квалификационной работе (с указанием разделов): не предусмотрены.
]

#tz-row[6. Срок сдачи законченной ВКР руководителю: «…» … … г.]

#tz-row[7. Дата выдачи задания: «…» … … г.]

#v(1.25em)

#align(left)[
  #set par(first-line-indent: 0pt, justify: false, leading: 1.1em)
  Руководитель образовательной программы\
  заведующий кафедрой математического обеспечения и применения ЭВМ\
  #v(0.5em)
  #pz-sig-line[Беликов А. Н.]\
  (подпись, дата)\
  #v(0.75em)
  Руководитель ВКР:\
  старший преподаватель кафедры системного анализа и телекоммуникаций\
  #v(0.5em)
  #pz-sig-line[Беликов А. Н.]\
  (подпись, дата)\
  #v(0.75em)
  Исполнитель:\
  студент группы КТбо4-9\
  #v(0.5em)
  #pz-sig-line[Пытков Р. Е.]\
  (подпись, дата)
]
