diff --git a/main.tex b/main.tex index 876fe5f..108e2ab 100644 --- a/main.tex +++ b/main.tex @@ -1,4 +1,4 @@ -\documentclass[14pt, a4paper]{article} +\documentclass[10pt, a4paper]{extarticle} \usepackage[T2A]{fontenc} \usepackage[english, russian]{babel} @@ -11,7 +11,11 @@ sorting=none]{biblatex} \addbibresource{bibliography.bib} \usepackage{fontspec} -\setmainfont{Times New Roman} +\setmainfont[Scale=1.4]{Times New Roman} + +\usepackage{caption} +\captionsetup[table]{labelsep=space, name=Таблица, justification=raggedright, singlelinecheck=false} +\captionsetup[figure]{labelsep=space, name=Рисунок, justification=centering} % Поля: левое 30мм, остальные 15мм \usepackage[left=30mm, right=15mm, top=20mm, bottom=20mm]{geometry} @@ -55,7 +59,6 @@ sorting=none]{biblatex} \usepackage{titlesec} \usepackage{etoolbox} -\AtBeginEnvironment{tabular}{\fontsize{12pt}{14.4pt}\selectfont} \setcounter{tocdepth}{2} diff --git a/newcmd.tex b/newcmd.tex index 8c70d10..0667426 100644 --- a/newcmd.tex +++ b/newcmd.tex @@ -5,8 +5,4 @@ \end{center} \vspace{1em} } -\makeatletter -\renewcommand{\footnotesize}{% - \@setfontsize\footnotesize{11pt}{13.2pt} % {размер шрифта}{межстрочный интервал} -} -\makeatother \ No newline at end of file +\makeatletter \ No newline at end of file diff --git a/patches.tex b/patches.tex index 8ad38d6..fb5f972 100644 --- a/patches.tex +++ b/patches.tex @@ -2,13 +2,22 @@ \renewcommand{\cfttoctitlefont}{\hfill\bfseries\fontsize{14pt}{16pt}\selectfont} \renewcommand{\cftaftertoctitle}{\hfill} \renewcommand{\contentsname}{\MakeUppercase{Содержание}} -% Принудительная установка шрифта для всего документа -\fontsize{14pt}{16.8pt}\selectfont + + +% Центрируем заголовок "Содержание" +\renewcommand{\cfttoctitlefont}{\hfill\bfseries} +\renewcommand{\cftaftertoctitle}{\hfill} +\renewcommand{\contentsname}{\MakeUppercase{Содержание}} % Команда для восстановления шрифта после таблиц -\newcommand{\resetfont}{\fontsize{14pt}{16.8pt}\selectfont} +\newcommand{\resetfont}{\normalfont} -% Настройка заголовков разделов -\titleformat*{\section}{\normalfont\fontsize{14pt}{16.8pt}\bfseries} -\titleformat*{\subsection}{\normalfont\fontsize{14pt}{16.8pt}\bfseries} -\titleformat*{\subsubsection}{\normalfont\fontsize{14pt}{16.8pt}\bfseries} \ No newline at end of file +% Настройка заголовков разделов (без указания размера) +\titleformat*{\section}{\normalfont\bfseries} +\titleformat*{\subsection}{\normalfont\bfseries} +\titleformat*{\subsubsection}{\normalfont\bfseries} + +\AtBeginEnvironment{tabular}{\fontsize{8.57pt}{10.28pt}\selectfont} +\AtBeginEnvironment{longtable}{\fontsize{8.57pt}{10.28pt}\selectfont} + +\renewcommand{\arraystretch}{0.93} \ No newline at end of file diff --git a/sections/practice.tex b/sections/practice.tex index 8d57d50..976ac3b 100644 --- a/sections/practice.tex +++ b/sections/practice.tex @@ -37,7 +37,7 @@ \subsubsection{Верификация оценки трудозатрат на основе анализа исторических данных аналогов} Для обоснования реалистичности планируемых трудозатрат был проведён самостоятельный количественный анализ истории разработки трёх классических open-source архиваторов. Методология заключалась в сборе и обработке данных из публичных git-репозиториев с использованием скриптов на основе команд `git log` и `git diff` \cite{git_log_docs}. -\begin{longtable}{|p{0.22\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|} +\begin{longtable}{|p{0.28\textwidth}|p{0.22\textwidth}|p{0.2\textwidth}|p{0.2\textwidth}|} \caption{Результаты сравнительного анализа истории разработки open-source архиваторов (по данным git-репозиториев)} \label{tab:project_analysis_long} \\ \hline @@ -46,7 +46,7 @@ \multicolumn{4}{c}{Продолжение таблицы \thetable{}} \\ \hline - Критерий & \texttt{bzip2} & \texttt{xz utils} & \texttt{zstd} \\ \hline + Критерий & bzip2 & xz utils & zstd \\ \hline \endhead \hline @@ -68,7 +68,7 @@ \begin{longtable}{|p{0.35\textwidth}|p{0.2\textwidth}|p{0.15\textwidth}|p{0.15\textwidth}|} \caption{Оценка трудозатрат на разработку программного продукта} - \label{tab:labor_estimation_long} \\ + \label{tab:labor_estimation} \\ \hline Этап разработки & Трудозатраты, час & Ставка, руб./час & Стоимость, руб. \\ \hline \endfirsthead diff --git a/sections/theory.tex b/sections/theory.tex index 4694367..94025d0 100644 --- a/sections/theory.tex +++ b/sections/theory.tex @@ -26,21 +26,30 @@ \subsubsection{Основные типы лицензий открытого программного обеспечения} Юридической основой, регулирующей использование, модификацию и распространение OSS, являются лицензии открытого кода. Они определяют баланс между свободой сообщества и правами авторов. Наиболее распространённые лицензии можно разделить на две основные категории, представленные в таблице 1. -\begin{table}[h!] - \centering +\begin{longtable}{|p{0.25\textwidth}|p{0.3\textwidth}|p{0.35\textwidth}|} \caption{Сравнительная характеристика основных лицензий открытого программного обеспечения} - \label{tab:oss_licenses} - \begin{tabular}{|p{0.25\textwidth}|p{0.3\textwidth}|p{0.35\textwidth}|} - \hline - Лицензия & Ключевой принцип (тип) & Основные условия и особенности \\ \hline - \hline - GNU GPL (General Public License) & Копилефт (Copyleft) & Обязательное лицензирование производных работ на условиях той же лицензии. Гарантирует сохранение открытости всех последующих модификаций. Является основой для многих проектов, включая ядро Linux. \\ \hline - MIT License & Разрешительная (Permissive) & Предоставляет максимальную свободу при минимальных ограничениях. Позволяет использование, изменение, распространение, в том числе в составе проприетарного ПО, с обязательным сохранением уведомления об авторских правах и лицензии. \\ \hline - Apache License 2.0 & Разрешительная (Permissive) & Аналогична MIT, но дополнительно содержит явное предоставление патентных прав от contributors пользователям и защиту от патентного троллинга. Также требует сохранения уведомлений об изменениях. \\ \hline - BSD 2-Clause/3-Clause License & Разрешительная (Permissive) & Краткая лицензия, близкая по духу к MIT. Основное различие в 3-пунктной версии — наличие условия о запрете использования имени авторов для одобрения производных продуктов. \\ \hline - \end{tabular} -\end{table} - + \label{tab:oss_licenses}\\[-4pt] + \hline + Лицензия & Ключевой принцип (тип) & Основные условия и особенности \\ \hline + \endfirsthead + + \multicolumn{3}{|l|}{\small Продолжение таблицы \thetable{}} \\[-4pt] + \hline + Лицензия & Ключевой принцип (тип) & Основные условия и особенности \\ \hline + \endhead + + \hline + \endfoot + + \hline + \endlastfoot + + GNU GPL (General Public License) & Копилефт (Copyleft) & Обязательное лицензирование производных работ на условиях той же лицензии. Гарантирует сохранение открытости всех последующих модификаций. Является основой для многих проектов, включая ядро Linux. \\ \hline + MIT License & Разрешительная (Permissive) & Предоставляет максимальную свободу при минимальных ограничениях. Позволяет использование, изменение, распространение, в том числе в составе проприетарного ПО, с обязательным сохранением уведомления об авторских правах и лицензии. \\ \hline + \pagebreak[2] % разрешить разрыв здесь, если нужно + Apache License 2.0 & Разрешительная (Permissive) & Аналогична MIT, но дополнительно содержит явное предоставление патентных прав от contributors пользователям и защиту от патентного троллинга. Также требует сохранения уведомлений об изменениях. \\ \hline + BSD 2-Clause/3-Clause License & Разрешительная (Permissive) & Краткая лицензия, близкая по духу к MIT. Основное различие в 3-пунктной версии — наличие условия о запрете использования имени авторов для одобрения производных продуктов. \\ \hline +\end{longtable} Выбор лицензии имеет прямые экономические последствия. Копилефт-лицензии (GPL) способствуют сохранению экосистемы полностью открытых проектов, но могут ограничивать коммерческое использование в проприетарных продуктах. Разрешительные лицензии (MIT, Apache) обеспечивают максимальную гибкость для бизнеса, позволяя интегрировать код в коммерческие решения, что способствует их широкому распространению в отраслевых стандартах и облачных сервисах \cite{linux_census3_2024}. \subsubsection{Компрессоры как класс служебных программ (утилит)} @@ -260,9 +269,7 @@ Проведённый анализ позволяет сформулировать следующие выводы, являющиеся основой для практического расчёта в Главе 2: \begin{enumerate} \item Для оценки алгоритмической сложности разрабатываемого архиватора возможно использование аппарата параметрических моделей (адаптированной COCOMO) на этапе проектирования. - \item Структура затрат для open-source проекта будет кардинально отличаться от коммерческого: необходимо рассчитать два сценария — «коммерческий» (полная калькуляция) и «реальный open-source» (учёт только прямых материальных затрат и альтернативной стоимости времени). % Принудительная установка шрифта для всего документа - \fontsize{14pt}{16.8pt}\selectfont - + \item Структура затрат для open-source проекта будет кардинально отличаться от коммерческого: необходимо рассчитать два сценария — «коммерческий» (полная калькуляция) и «реальный open-source» (учёт только прямых материальных затрат и альтернативной стоимости времени). \item Ключевым экономическим показателем для подобного проекта является не прямая прибыль, а соотношение общественной полезности (ценности) к понесённым затратам. Это требует введения в анализ качественных и косвенных количественных метрик. \item Предлагаемая в работе методика должна быть гибридной: сочетать формальный расчёт для частей проекта, поддающихся оценке (трудозатраты на реализацию ядра), и экспертную оценку для специфических аспектов open-source (стоимость поддержки сообщества, ценность портфолио). При этом выбор модели монетизации (например, Open Core или SaaS) будет определять структуру потенциальных доходов проекта. \end{enumerate} diff --git a/titlepage.tex b/titlepage.tex index b57cca4..1135d85 100644 --- a/titlepage.tex +++ b/titlepage.tex @@ -24,11 +24,11 @@ \begin{tabular}{p{0.5\textwidth}p{0.5\textwidth}} Выполнил студент группы 412ИС-22 & Руководитель \\ - \underline{\hspace{6cm}} \hfill Уткин Д.С. & \underline{\hspace{6cm}} \hfill Хашина О.В. \\ + \underline{\hspace{5.5cm}} \hfill Уткин Д.С. & \underline{\hspace{5.5cm}} \hfill Хашина О.В. \\ \end{tabular} \vfill - \textbf{МОСКВА 2026 г.} + \textbf{Москва 2026 г.} \end{titlepage} \ No newline at end of file