diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..99edc04 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +cache +literature diff --git a/5SST_NM.code-workspace b/5SST_NM.code-workspace new file mode 100644 index 0000000..abd7c2d --- /dev/null +++ b/5SST_NM.code-workspace @@ -0,0 +1,113 @@ +{ + "folders": [ + { + "path": "." + } + ], + "settings": { + "latex-workshop.latex.outDir": "%DIR%/cache", + "latex-workshop.latex.recipes": [ + { + "name": "pdflatex", + "tools": [ + "pdflatex" + ] + }, + { + "name": "latexmk", + "tools": [ + "latexmk" + ] + }, + { + "name": "latexmk (latexmkrc)", + "tools": [ + "latexmk_rconly" + ] + }, + { + "name": "pdflatex -> bibtex -> pdflatex * 2", + "tools": [ + "pdflatex", + "bibtex", + "pdflatex", + "pdflatex" + ] + }, + { + "name": "tectonic", + "tools": [ + "tectonic" + ] + } + ], + "latex-workshop.latex.tools": [ + { + "name": "latexmk", + "command": "latexmk", + "args": [ + "-synctex=1", + "-interaction=nonstopmode", + "-file-line-error", + "-pdf", + "-outdir=%OUTDIR%", + "%DOC%" + ], + "env": {} + }, + { + "name": "xelatexmk", + "command": "latexmk", + "args": [ + "-synctex=1", + "-interaction=nonstopmode", + "-file-line-error", + "-xelatex", + "-outdir=%OUTDIR%", + "%DOC%" + ], + "env": {} + }, + { + "name": "latexmk_rconly", + "command": "latexmk", + "args": [ + "%DOC%" + ], + "env": {} + }, + { + "name": "pdflatex", + "command": "pdflatex", + "args": [ + "-synctex=1", + "-shell-escape", + "-interaction=nonstopmode", + "-file-line-error", + "-output-directory=%OUTDIR%", + "%DOC%" + ], + "env": {} + }, + { + "name": "bibtex", + "command": "bibtex", + "args": [ + "%DOCFILE%" + ], + "env": {} + }, + { + "name": "tectonic", + "command": "tectonic", + "args": [ + "--synctex", + "--keep-logs", + "%DOC%.tex" + ], + "env": {} + } + ], + "latex-workshop.latex.rootFile.indicator": "\\begin{document}", + } +} diff --git a/appendix.tex b/appendix.tex new file mode 100644 index 0000000..3e1ab1f --- /dev/null +++ b/appendix.tex @@ -0,0 +1,19 @@ +\clearpage +\titlecontents{section} +[1.5em] % 1.5em (chapter) + 2.3em +{} +{\thecontentslabel \hspace{3mm}} +{\hspace*{-2.3em}} +{\titlerule*[2mm]{.}\contentspage} + +\titleformat{\section} + {\normalfont\fontsize{17.28}{15}\bfseries}{\thesection}{1em}{} +\renewcommand*{\thesection}{Приложение~\Alph{section}.} + +\chapter*{Приложения} +\addcontentsline{toc}{chapter}{Приложения} +\appendix + +% \section{Скрипты установки БД для компонента <<Хранение~данных>>} +% \label{script:storage} +% \inputcode{../software/architecture/first-level/component-storage/CSt.db-script.sql}{frame=none,language=sql} diff --git a/config.tex b/config.tex new file mode 100644 index 0000000..17f20ef --- /dev/null +++ b/config.tex @@ -0,0 +1,169 @@ +\documentclass[oneside,final,14pt]{extreport} +\usepackage[utf8]{inputenc} +\usepackage[T2A,T1]{fontenc} +\usepackage[russian]{babel} +\usepackage{threeparttable} +\usepackage[labelsep=endash,tableposition=top,labelfont=md,textfont=md]{caption} +\usepackage{indentfirst} +\usepackage{rotating} +\usepackage{setspace} +\usepackage{array} +\usepackage{graphicx} +\usepackage[compact]{titlesec} +\usepackage{titletoc} +\usepackage{xinttools} +\usepackage{ragged2e} +\usepackage{listingsutf8} +\usepackage{amsmath} +\usepackage{amsfonts} +\usepackage{color} +\usepackage{xstring} +\usepackage{tabularx} +\usepackage{enumitem} +\usepackage[abspath]{currfile} +\usepackage[hidelinks,linktoc=all]{hyperref} + +% ОТЛАДОЧНЫЕ ФУНКЦИИ -------------------- +% \usepackage{showframe} + +% ПОЛЯ ---------------------------------- +\usepackage{geometry} +\geometry{ + a4paper, + total={170mm,257mm}, + left=30mm, + top=15mm, + right=15mm, + bottom=20mm +} + +% ОФОРМЛЕНИЕ СОДЕРЖАНИЯ ----------------- +\addto\captionsrussian{ + \renewcommand{\contentsname}% + {\normalsize \MakeUppercase{Содержание}}% +} +\dottedcontents{chapter}[0cm]{}{1em}{2mm} +\titlecontents{chapter} +[0em] +{} +{\thecontentslabel. } +{} +{\titlerule*[2mm]{.}\contentspage} + +\titlecontents{section} +[1.5em] % 1.5em (chapter) + 2.3em +{} +{\thecontentslabel. } +{\hspace*{-2.3em}} +{\titlerule*[2mm]{.}\contentspage} + + +% ОФОРМЛЕНИЕ ЗАГОЛОВКОВ ----------------- +% В т.ч. и содержания +\titleformat{\paragraph}[runin] +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph} {\parindent}{3.25ex plus 1ex minus .2ex}{1em} +\titleformat{\chapter}[display]{\normalfont\large\bfseries}{}{0cm}{\Large\centering} +\titleformat{\section} +{\normalfont\large\bfseries}{\thesection}{5mm}{} +\makeatletter +% NormalTeXSyntaxON +\def\@makechapterhead#1{% + \vspace*{0\p@}% + {\parindent \z@ \raggedright \normalfont + \interlinepenalty\@M + \Large \centering \bfseries \space \thechapter. #1\par\nobreak + \vskip 0\p@ + }} +% NormalTeXSyntaxOFF +\titlespacing{\chapter}{0pt}{-5mm}{0cm} + +% ОФОРМЛЕНИЕ СПИСКОВ -------------------- +\setlist{noitemsep,align=left,left=\parindent} + +% ОФОРМЛЕНИЕ ЛИСТИНГОВ КОДА ----------------- +\definecolor{dkgreen}{rgb}{0,0.6,0} +\definecolor{gray}{rgb}{0.5,0.5,0.5} +\definecolor{mauve}{rgb}{0.58,0,0.82} +\lstset{ + frame=tb, + language=C++, + aboveskip=3mm, + belowskip=3mm, + showstringspaces=false, + columns=flexible, + basicstyle={\small\ttfamily}, + numbers=none, + numberstyle=\tiny\color{gray}, + keywordstyle=\color{blue}, + commentstyle=\color{dkgreen}, + stringstyle=\color{mauve}, + breaklines=true, + breakatwhitespace=true, + tabsize=3, + escapechar={|}, + emptylines=0, +} +\newcommand\inputcode[3][]{ + {\bfseries #1\filename{#2}}: + \lstinputlisting[% + #3, + ]{#2}% +} + +% ОФОРМЛЕНИЕ НУМЕРАЦИИ СПИСКОВ ---------------------------------- +% Команды ниже переназначают алфавит используемый при нумерации с английского на русский +\makeatletter +\renewcommand*{\@alph}[1]{% + \ifcase#1\or а\or б\or в\or г\or + д\or е\or ё\or ж\or з\or и\or й\or + к\or л\or м\or н\or о\or п\or р\or с\or т\or + у\or ф\or х\or ц\or ч\or + ш\or щ\or ы\or э\or у \or я + \else\@ctrerr\fi +} +\renewcommand*{\@Alph}[1]{% + \ifcase#1\or А\or Б\or В\or Г\or + Д\or Е\or Ё\or Ж\or З\or И\or Й\or + К\or Л\or М\or Н\or О\or П\or Р\or С\or Т\or + У\or Ф\or Х\or Ц\or Ч\or + Ш\or Щ\or Ы\or Э\or У\or Я + \else\@ctrerr\fi +} +\makeatother +\makeatletter +\renewcommand\@biblabel[1]{#1.} +\makeatother + + +% file path +\newcommand{\runtimeFsep}{/} +\newcommand{\updateRuntimeFsep}{\IfSubStr{\currfileabsdir}{/}{}{\renewcommand{\runtimeFsep}{\backslash}}} +\updateRuntimeFsep + +\makeatletter +\DeclareRobustCommand{\filename}[2][]{% + \begingroup + % \lstname seems to change hyphens into \textendash + \def\textendash{-}% + \filename@parse{#2}% + \IfSubStr{\filename@base}{\runtimeFsep}{\filename@parse{\filename@base}}{}% + \edef\filename@base{\detokenize\expandafter{\filename@base}}% + #1{\filename@base.\filename@ext}% + \endgroup +} +\makeatother + +% \section*{#1}% +% \addcontentsline{toc}{chapter}{#1} +\newcommand\tcchapter[1]{% + \chapter{#1}% +} +\newcommand\tcsection[1]{% + \section{#1}% +} +\onehalfspacing + +% \contentsmargin{2.55em} + +\addto\captionsrussian{\renewcommand{\figurename}{Рисунок }} diff --git a/files/cpp-logo.png b/files/cpp-logo.png new file mode 100644 index 0000000..432d4eb Binary files /dev/null and b/files/cpp-logo.png differ diff --git a/files/vyatsu_logo.png b/files/vyatsu_logo.png new file mode 100644 index 0000000..3618fc2 Binary files /dev/null and b/files/vyatsu_logo.png differ diff --git a/intro.tex b/intro.tex new file mode 100644 index 0000000..aba2591 --- /dev/null +++ b/intro.tex @@ -0,0 +1,17 @@ +\chapter*{Введение} +\addcontentsline{toc}{chapter}{Введение} +В ходе решения решения задач физики, экономики а также множества +практических задач одним их необходимых этапов является построение +математической модели, а после начала эпохи компьютеризации общества +-- разработка программы для ЭВМ или выбор уже существующих. + +Проблема состоит в том, что на данный момент ОС, которая бы могла более эффективно использовать текущее АО устройств, не разработана. + +Целью данной работы является рассмотрение архитектуры и разработка части прототипа данной ОС. + +Для достижения цели курсового проекта необходимо выполнить следующие задачи: +\begin{enumerate} + \item изучить архитектуру и требования прототипа ОС; + \item определить перечень сервисов обеспечения целостности и оптимизации экосистемы устройств; + \item разработать базу данных (БД) и сервисы обеспечения целостности и оптимизации прототипа экосистемы устройств. +\end{enumerate} diff --git a/main.tex b/main.tex new file mode 100644 index 0000000..f66874b --- /dev/null +++ b/main.tex @@ -0,0 +1,23 @@ +\input{vars} +\input{config} + +\begin{document} +\lstset{language=[11]C++} + +%title-page +\include{titlepage} +\thispagestyle{empty} +\clearpage + +\tableofcontents +\thispagestyle{empty} +\clearpage +\input{intro} + + +\chapter*{Заключение} +\addcontentsline{toc}{chapter}{Заключение} + +\input{sources} +\include{appendix} +\end{document} diff --git a/presentation.tex b/presentation.tex new file mode 100644 index 0000000..3eb76aa --- /dev/null +++ b/presentation.tex @@ -0,0 +1,73 @@ +\documentclass{beamer} + + +\usepackage[russian]{babel} +\usepackage[utf8]{inputenc} +\usepackage[outputdir=cache]{minted} + +\input{vars.tex} + +\usetheme{Madrid} +\usecolortheme{dove} +\setbeamertemplate{blocks}[rounded][shadow=false] + +\title[]{\cwtitle} +\institute[]{ФГБОУ ВО «Вятский государственный университет»} +\date{\null} +\author[ ]{Студент ПМИб-3301-52-00 \cwauthor\\ \and к.п.н. А.Н.~Соколова} + +\newcommand\frametitleSpec[1]{% +\frametitle{#1} +\section{#1}% +} + + +% set captions with numbers +\setbeamertemplate{caption}[numbered] + +\begin{document} +\begin{frame} + \centering\includegraphics[width=0.4\textwidth]{files/vyatsu_logo.png}\\ + \titlepage +\end{frame} +\begin{frame} + \frametitle{План доклада} + + \tableofcontents + +\end{frame} +\begin{frame} + \frametitleSpec{Введение} + Активное внедрение компьютеров во всевозможные отрасли жизни человека привело к тому, что при решении прикладных задач требование к скорости и дешевизне разработки стало выше требований производительности и ресурсоемкости разрабатываемой программы. + \begin{enumerate} + \item Проблема состоит в том, что на данный момент ОС, которая бы могла более эффективно использовать текущее АО устройств, не разработана. + \item Целью данной работы является рассмотрение архитектуры и разработка части прототипа данной ОС. + \begin{itemize} + \item Изучить архитектуру и требования прототипа ОС. + \item Определить перечень сервисов обеспечения целостности и оптимизации экосистемы устройств. + \item Разработать БД и сервисы обеспечения целостности и оптимизации прототипа экосистемы устройств. + \end{itemize} + \end{enumerate} +\end{frame} + +\begin{frame} + \frametitleSpec{О программной реализации} + Реализация сервисов написана на языке C++ в виде отдельных компонентов. + \begin{figure}[h] + \centering + \includegraphics[width=0.25\textwidth]{files/cpp-logo.png} + \end{figure} +\end{frame} + +\begin{frame} + \frametitleSpec{Заключение} + При реализации прототипа экосистемы был разработан один из возможных вариантов деления на подсистемы, и рассмотрены возможные пути реализации. + Из недостатков текущей реализации можно отметить отсутствие компонента, отвечающего за безопасность и разделения прав доступа пользователей к вычислительным ресурсам сервера. + Таким образом, задачи проекта выполнены, цель проекта достигнута. +\end{frame} +\begin{frame} + \begin{center} + {\huge Спасибо за внимание!} + \end{center} +\end{frame} +\end{document} diff --git a/sources.tex b/sources.tex new file mode 100644 index 0000000..169031a --- /dev/null +++ b/sources.tex @@ -0,0 +1,16 @@ + +\renewcommand\bibname{Библиографический список} +\begin{thebibliography}{00} + \addcontentsline{toc}{chapter}{Библиографический список} + \bibitem{book:nm-examples} Численные методы. Примеры и задачи. Учебно-методическое пособие по курсам «Информатика» и «Вычислительная математика». / Сост.: + Ф.Г.Ахмадиев, Ф.Г.Габбасов, Л.Б.Ермолаева, И.В.Маланичев. -- Казань: + КГАСУ, 2017. -- 107 с. + \bibitem{book:lectures} Письменный Д. Т. Конспект лекций по высшей математике. 2 часть. -- М.: Рольф, 2000. -- 256 с, с илл. + \bibitem{book:vuz} Гордеев А. В. Операционные системы: Учебник для вузов. -- 2-е изд. -- СПб.: Питер, 2007. -- 416 с. + \bibitem{book:olifer} Олифер В. Г., Олифер Н. А. Сетевые операционные системы. -- СПб.: Питер, 2002. -- 544 с. + \bibitem{links:compare} Рукасуева С.Ю., Багаева А.П. Windows и альтернативные ей операционные системы // Актуальные проблемы авиации и космонавтики. 2011. №7. URL: https://cyberleninka.ru/article/n/windows-i-alternativnye-ey-operatsionnye-sistemy (дата обращения: 23.01.2023). + \bibitem{links:cppnetlib}\mbox{ C++ Network Library [Электронный~ресурс] -- } URL:~\href{https://github.com/cpp-netlib/cpp-netlib}{https://github.com/cpp-netlib/cpp-netlib} (дата обращения: 23.01.2023) + \bibitem{links:sqlpp} A type safe SQL template library for C++ [Электронный ресурс] -- URL:~\href{https://github.com/rbock/sqlpp11}{https://github.com/rbock/sqlpp11} (дата обращения: 23.01.2023). + \bibitem{links:json} JSON for Modern C++ [Электронный ресурс] -- URL:~\href{https://github.com/nlohmann/json}{https://github.com/nlohmann/json} (дата обращения: 23.01.2023). + +\end{thebibliography} diff --git a/struct.tex b/struct.tex new file mode 100644 index 0000000..a044e94 --- /dev/null +++ b/struct.tex @@ -0,0 +1,19 @@ +\section{Введение} +\section{Классификация методов решение задач} +\subsection{Решение нелинейных уравнений} +\paragraph{Постановка задачи} +\paragraph{Возможности scipy} +\paragraph{Возможности numpy} +\subsection{...} +\paragraph{Постановка задачи} +\paragraph{Возможности scipy} +\paragraph{Возможности numpy} +\section{Разработка ПО} +\subsection{Архитектура} +\subsection{Пользовательский интерфейс} +\subsection{Используемые библиотеки} +\subsection{Тестирование} +\section{Заключение} +\section*{Список литературы} +\appendix +Исходный код, возможно - большие изображения и т.д \ No newline at end of file diff --git a/titlepage.tex b/titlepage.tex new file mode 100644 index 0000000..f3e1d70 --- /dev/null +++ b/titlepage.tex @@ -0,0 +1,53 @@ +\begin{titlepage} + \begin{center} + \begin{small} + \begin{singlespace} + \MakeUppercase{ + МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ\\ \vspace{0.7em} + Федеральное государственное бюджетное образовательное учреждение высшего образования\\ + ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ\\ \vspace{0.7em} + Институт математики и информационных систем \\ \vspace{0.7em} + Факультет компьютерных и физико-математических наук\\ \vspace{0.7em} + Кафедра прикладной математики и информатики + } + \end{singlespace} + \end{small} + \vfill + {\null\hfill + \begin{minipage}{0.4\textwidth} + Допущена к защите\\ + {\setstretch{2} + заведующей кафедрой прикладной + математики и информатики\\} + {\rule{3cm}{0.1mm}}~Е.В.Разова + \end{minipage} + + } + \vspace{5em} + + { + \large{ + {\bfseries \cwtitle} + }} + \vspace{2em} + + Курсовой проект по дисциплине <<Базы данных>> + \end{center} + \vfill + \begin{table}[ht] + \centering + \begin{tabularx}{\textwidth}{>{\raggedright}p{.5\textwidth}X} + Выполнил студент группы \mbox{ПМИб-3301-52-00} \vspace{1mm} & { {\rule{3cm}{0.1mm}}~/\cwauthor}/ \\ + К.п.н. \mbox{кафедры} ПМИ \vspace{1cm} & {{\rule{3cm}{0.1mm}}~/А.Н.~Соколова/} \\ + Работа защищена с оценкой & {\rule{3cm}{0.1mm}} \hfill {\rule{1cm}{0.1mm}}.{\rule{1cm}{0.1mm}} \the\year\ г. \vspace{1cm} \\ + Члены комиссии \vspace{2mm} & {\rule{3cm}{0.1mm}} \hfill /{\rule{3.5cm}{0.1mm}}/ \\ + \null & {\rule{3cm}{0.1mm}} \hfill /{\rule{3.5cm}{0.1mm}}/ \\ + \end{tabularx} + \end{table} + \vfill + + \begin{center} + Киров \the\year\ г. + \end{center} +\end{titlepage} +\setcounter{page}{2} diff --git a/vars.tex b/vars.tex new file mode 100644 index 0000000..3d9dd4e --- /dev/null +++ b/vars.tex @@ -0,0 +1,2 @@ +\newcommand{\cwtitle}[0]{Исследование возможностей библиотек numpy и scipy для реализации численных методов} +\newcommand{\cwauthor}[0]{Г.Е.~Ступников}