diff --git a/BP.EAP b/BP.EAP index c1936e614ca315a4f33272af093e6896e4f899c6..ae754eabfe23de7e3674229a82e1985508c8fbd7 100644 Binary files a/BP.EAP and b/BP.EAP differ diff --git a/BP/BP_stercl_jakub_2017.aux b/BP/BP_stercl_jakub_2017.aux index 0b3743ad31eb4394f6dac629b0daf5a46b0a4de6..9251b6c8ac2361f18840de1a086bee1230518903 100644 --- a/BP/BP_stercl_jakub_2017.aux +++ b/BP/BP_stercl_jakub_2017.aux @@ -35,9 +35,9 @@ \@writefile{lot}{\addvspace {10pt}} \@writefile{toc}{\contentsline {chapter}{\chapternumberline {1}C\IeC {\'\i }l pr\IeC {\'a}ce}{3}{chapter.1}} \@writefile{toc}{\contentsline {section}{\numberline {1.1}Existuj\IeC {\'\i }c\IeC {\'\i } \IeC {\v r}e\IeC {\v s}en\IeC {\'\i }}{3}{section.1.1}} +\@writefile{toc}{\contentsline {section}{\numberline {1.2}Anal\IeC {\'y}za po\IeC {\v z}adavk\IeC {\r u}}{3}{section.1.2}} \citation{uml2} \citation{uml2} -\@writefile{toc}{\contentsline {section}{\numberline {1.2}Anal\IeC {\'y}za po\IeC {\v z}adavk\IeC {\r u}}{4}{section.1.2}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}Funk\IeC {\v c}n\IeC {\'\i } po\IeC {\v z}adavky}{4}{subsection.1.2.1}} \citation{umlsroz} \@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}Nefunk\IeC {\v c}n\IeC {\'\i } po\IeC {\v z}adavky}{5}{subsection.1.2.2}} @@ -64,24 +64,27 @@ \citation{domainmodel} \@writefile{toc}{\contentsline {subsection}{\numberline {2.1.4}Persistence dat}{11}{subsection.2.1.4}} \@writefile{toc}{\contentsline {section}{\numberline {2.2}Dom\IeC {\'e}nov\IeC {\'y} model}{11}{section.2.2}} +\citation{uml2} \@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Dom\IeC {\'e}nov\IeC {\'y} model\relax }}{12}{figure.caption.7}} \newlabel{fig:domain}{{\M@TitleReference {2.1}{Dom\IeC {\'e}nov\IeC {\'y} model\relax }}{12}{DomĂ©novĂ˝ model\relax }{figure.caption.7}{}} \@writefile{toc}{\contentsline {section}{\numberline {2.3}Proces rozd\IeC {\v e}len\IeC {\'\i } skupiny}{12}{section.2.3}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Diagram aktivit zn\IeC {\'a}zor\IeC {\v n}uj\IeC {\'\i }c\IeC {\'\i } proces vytvo\IeC {\v r}en\IeC {\'\i } rozd\IeC {\v e}len\IeC {\'\i }\relax }}{13}{figure.caption.8}} +\newlabel{fig:activity}{{\M@TitleReference {2.2}{Diagram aktivit zn\IeC {\'a}zor\IeC {\v n}uj\IeC {\'\i }c\IeC {\'\i } proces vytvo\IeC {\v r}en\IeC {\'\i } rozd\IeC {\v e}len\IeC {\'\i }\relax }}{13}{Diagram aktivit znázorĹujĂcĂ proces vytvoĹ™enĂ rozdÄ›lenĂ\relax }{figure.caption.8}{}} \@writefile{lof}{\addvspace {10pt}} \@writefile{lot}{\addvspace {10pt}} -\@writefile{toc}{\contentsline {chapter}{\chapternumberline {3}Implementace}{13}{chapter.3}} +\@writefile{toc}{\contentsline {chapter}{\chapternumberline {3}Implementace}{15}{chapter.3}} \bibstyle{csn690} \bibdata{mybibliographyfile} \@writefile{lof}{\addvspace {10pt}} \@writefile{lot}{\addvspace {10pt}} -\@writefile{toc}{\contentsline {chapter}{Z{\' a}v{\v e}r}{15}{chapter*.8}} +\@writefile{toc}{\contentsline {chapter}{Z{\' a}v{\v e}r}{17}{chapter*.9}} \bibcite{uml2}{1} -\@writefile{toc}{\contentsline {chapter}{Literatura}{17}{section*.10}} +\@writefile{toc}{\contentsline {chapter}{Literatura}{19}{section*.11}} \@writefile{lof}{\addvspace {10pt}} \@writefile{lot}{\addvspace {10pt}} -\@writefile{toc}{\contentsline {appendix}{\chapternumberline {A}Seznam pou\IeC {\v z}it\IeC {\'y}ch zkratek}{19}{appendix.A}} +\@writefile{toc}{\contentsline {appendix}{\chapternumberline {A}Seznam pou\IeC {\v z}it\IeC {\'y}ch zkratek}{21}{appendix.A}} \@writefile{lof}{\addvspace {10pt}} \@writefile{lot}{\addvspace {10pt}} -\@writefile{toc}{\contentsline {appendix}{\chapternumberline {B}Obsah p\IeC {\v r}ilo\IeC {\v z}en\IeC {\'e}ho CD}{21}{appendix.B}} -\memsetcounter{lastsheet}{35} -\memsetcounter{lastpage}{21} +\@writefile{toc}{\contentsline {appendix}{\chapternumberline {B}Obsah p\IeC {\v r}ilo\IeC {\v z}en\IeC {\'e}ho CD}{23}{appendix.B}} +\memsetcounter{lastsheet}{37} +\memsetcounter{lastpage}{23} diff --git a/BP/BP_stercl_jakub_2017.lof b/BP/BP_stercl_jakub_2017.lof index 750644f24147edec75ca15d2697f372ca44407d9..5732c4a6c47700fb656e17402d2602138cf3abb5 100644 --- a/BP/BP_stercl_jakub_2017.lof +++ b/BP/BP_stercl_jakub_2017.lof @@ -5,6 +5,7 @@ \contentsline {figure}{\numberline {1.1}{\ignorespaces Diagram p\IeC {\v r}\IeC {\'\i }pad\IeC {\r u} u\IeC {\v z}it\IeC {\'\i }\relax }}{6}{figure.caption.6} \addvspace {10pt} \contentsline {figure}{\numberline {2.1}{\ignorespaces Dom\IeC {\'e}nov\IeC {\'y} model\relax }}{12}{figure.caption.7} +\contentsline {figure}{\numberline {2.2}{\ignorespaces Diagram aktivit zn\IeC {\'a}zor\IeC {\v n}uj\IeC {\'\i }c\IeC {\'\i } proces vytvo\IeC {\v r}en\IeC {\'\i } rozd\IeC {\v e}len\IeC {\'\i }\relax }}{13}{figure.caption.8} \addvspace {10pt} \addvspace {10pt} \addvspace {10pt} diff --git a/BP/BP_stercl_jakub_2017.out b/BP/BP_stercl_jakub_2017.out index 4f7c2ba1641034c7fa661031cb73210176d47c6c..0a6d78f28764a06323516bcbf3b869cf0fcf746d 100644 --- a/BP/BP_stercl_jakub_2017.out +++ b/BP/BP_stercl_jakub_2017.out @@ -7,7 +7,7 @@ \BOOKMARK [1][-]{section.2.2}{Dom\351nov\375 model}{chapter.2}% 7 \BOOKMARK [1][-]{section.2.3}{Proces rozdelen\355 skupiny}{chapter.2}% 8 \BOOKMARK [0][-]{chapter.3}{Implementace}{}% 9 -\BOOKMARK [0][-]{chapter*.8}{Z\341ver}{}% 10 -\BOOKMARK [0][-]{section*.10}{Literatura}{}% 11 +\BOOKMARK [0][-]{chapter*.9}{Z\341ver}{}% 10 +\BOOKMARK [0][-]{section*.11}{Literatura}{}% 11 \BOOKMARK [0][-]{appendix.A}{Seznam pou\236it\375ch zkratek}{}% 12 \BOOKMARK [0][-]{appendix.B}{Obsah prilo\236en\351ho CD}{}% 13 diff --git a/BP/BP_stercl_jakub_2017.pdf b/BP/BP_stercl_jakub_2017.pdf index 0a3238031a394592f326a5b16d2b6ccb42c8715b..4589d674caae8e9835473e69d4e9ae67785aa2a9 100644 Binary files a/BP/BP_stercl_jakub_2017.pdf and b/BP/BP_stercl_jakub_2017.pdf differ diff --git a/BP/BP_stercl_jakub_2017.synctex.gz b/BP/BP_stercl_jakub_2017.synctex.gz index d5c99ce6cf672f54a2776b4f471ad1e8642f5c61..0e67b0ec656eada6254619f41635cfa8164e1512 100644 Binary files a/BP/BP_stercl_jakub_2017.synctex.gz and b/BP/BP_stercl_jakub_2017.synctex.gz differ diff --git a/BP/BP_stercl_jakub_2017.tex b/BP/BP_stercl_jakub_2017.tex index c4b86d8cd7404c4803404bd5f3326eb981f48292..1214176120e0fa18ba05979c136400100c51856a 100644 --- a/BP/BP_stercl_jakub_2017.tex +++ b/BP/BP_stercl_jakub_2017.tex @@ -30,7 +30,7 @@ \setlength{\fboxsep}{0.005pt} \newcommand{\tmpframe}[1]{\fbox{#1}} -%\renewcommand{\tmpframe}[1]{#1} +\renewcommand{\tmpframe}[1]{#1} \newcommand{\tg}{\mathop{\mathrm{tg}}} %cesky tangens \newcommand{\cotg}{\mathop{\mathrm{cotg}}} %cesky cotangens @@ -64,7 +64,7 @@ ModernĂ technologie a vĂ˝poÄŤetnĂ technika nám ÄŤĂm dál vĂce usnadĹujĂ \chapter{CĂl práce} -CĂlem práce je tedy na základÄ› analĂ˝zy poĹľadavkĹŻ navrhnout a poslĂ©ze naimplementovat aplikaci, \blind[1] +CĂlem práce je tedy na základÄ› analĂ˝zy poĹľadavkĹŻ navrhnout a poslĂ©ze naimplementovat aplikaci, která bude organizátorĹŻm soustĹ™edÄ›nĂ korespondenÄŤnĂho semináře FIKS (FiťáckĂ˝ informatickĂ˝ korespondenÄŤnĂ seminář)\footnote{\url{https://fiks.fit.cvut.cz/}} slouĹľit pĹ™i tvorbÄ› tĂ˝mĹŻ pro jednotlivĂ© hry. HlavnĂ motivacĂ, proÄŤ organizátoĹ™i takovouto aplikaci chtÄ›jĂ je, aby se účastnĂci mezi sebou poznali, tj. kaĹľdou hru hráli, pokud moĹľno, s novĂ˝mi spoluhráči. \section{ExistujĂcĂ Ĺ™ešenĂ} Vzhledem k tomu, Ĺľe s~podobnĂ˝m problĂ©mem se organizátoĹ™i po~celĂ©m svÄ›tÄ› samozĹ™ejmÄ› setkávajĂ pomÄ›rnÄ› ÄŤasto, existujĂ rĹŻznĂ© nástroje, kterĂ© tvorbu skupin umoĹľĹujĂ. VÄ›tšinou se ale jedná buÄŹ o~webovĂ© nebo mobilnĂ aplikace. Jednou z~takovĂ˝ch webovĂ˝ch aplikacĂ je napĹ™Ăklad Team~Maker\footnote{\url{http://chir.ag/projects/team-maker/}}, podobná mobilnĂ aplikace je Teamistr\footnote{\url{https://itunes.apple.com/us/app/teamistr/id609410714?mt=8} pro iOS \\ \url{https://play.google.com/store/apps/details?id=com.brownapps.sortr} pro Android}. Tyto aplikace ale neumoĹľĹujĂ vytvoĹ™enĂ a uloĹľenĂ seznamĹŻ lidĂ (napĹ™. paralelky), tudĂĹľ neukládajĂ ani historii vytvoĹ™enĂ˝ch tĂ˝mĹŻ, neumoĹľĹujĂ zobrazenĂ, s~kĂ˝m uĹľ daná osoba ve skupinÄ› byla a~neumoĹľĹujĂ ani zvolit, zda preferujeme rozdÄ›lenĂ, kde lidĂ© v~jednotlivĂ˝ch tĂ˝mech spolu jiĹľ spolupracovali, nebo naopak. Proto nejsou zdaleka dostaÄŤujĂcĂ a jejich jedinĂ˝ účel je rozdÄ›lovat skupiny do tĂ˝mĹŻ \uv{spravedlivÄ›}. @@ -80,7 +80,7 @@ PoĹľadavky sebranĂ© v analĂ˝ze (pĹ™Ăp. sbÄ›ru) poĹľadavkĹŻ se nejÄŤastÄ›ji dÄ›l Na základÄ› diskuse se zadavatelem jsem dospÄ›l k následujĂcĂm funkÄŤnĂm poĹľadavkĹŻm: \begin{itemize} \item \textbf{Správa skupin} -- Aplikace bude umoĹľĹovat vytvoĹ™it, pĹ™ejmenovat a upravovat skupiny lidĂ. Ăšpravou skupiny se myslĂ moĹľnost pĹ™idávat ÄŤleny, pĹ™ĂpadnÄ› ÄŤleny odebĂrat a pĹ™ejmenovávat. - \item \textbf{RozdÄ›lenĂ skupiny do tĂ˝mĹŻ} -- Aplikace bude umÄ›t navrhnout rozdÄ›lenĂ skupiny do tĂ˝mĹŻ podle zadanĂ˝ch parametrĹŻ. TÄ›mito parametry mĹŻĹľe bĂ˝t minimálnĂ/maximálnĂ poÄŤet lidĂ v tĂ˝mu, poÄŤet tĂ˝mĹŻ v rozdÄ›lenĂ a vynucenĂ/zakázánĂ urÄŤitĂ˝ch dvojic (skupin) lidĂ ve stejnĂ©m tĂ˝mu. Dále bude aplikace umoĹľĹovat zvolit, zda preferujeme takovĂ© rozdÄ›lenĂ do tĂ˝mĹŻ, ve kterĂ©m lidĂ©, kteřà spolu jiĹľ v tĂ˝mu spolupracovali, budou opÄ›t ve stejnĂ©m tĂ˝mu, ÄŤi naopak. + \item \textbf{RozdÄ›lenĂ skupiny do tĂ˝mĹŻ} -- Aplikace bude umÄ›t navrhnout rozdÄ›lenĂ skupiny do tĂ˝mĹŻ podle zadanĂ˝ch parametrĹŻ. TÄ›mito parametry mĹŻĹľe bĂ˝t minimálnĂ/maximálnĂ poÄŤet lidĂ v tĂ˝mu, poÄŤet tĂ˝mĹŻ v rozdÄ›lenĂ a vynucenĂ/zakázánĂ urÄŤitĂ˝ch dvojic (skupin) lidĂ ve stejnĂ©m tĂ˝mu. Dále bude aplikace umoĹľĹovat zvolit, zda preferujeme takovĂ© rozdÄ›lenĂ do tĂ˝mĹŻ, ve kterĂ©m lidĂ©, kteřà spolu jiĹľ v tĂ˝mu spolupracovali, budou opÄ›t ve stejnĂ©m tĂ˝mu, ÄŤi naopak. V pĹ™ĂpadÄ›, Ĺľe poĹľadovanĂ© rozdÄ›lenĂ neexistuje, aplikace navrhne takovĂ© rozdÄ›lenĂ, kterĂ© porušuje co nejmĂ©nÄ› poĹľadavkĹŻ. \item \textbf{Vizualizace rozdÄ›lenĂ} -- Aplikace bude umÄ›t vytvoĹ™enĂ© rozdÄ›lenĂ vizualizovat pro potĹ™eby tisku. \item \textbf{Export rozdÄ›lenĂ} -- Aplikace bude umÄ›t vytvoĹ™enĂ© rozdÄ›lenĂ exportovat do textovĂ©ho souboru. Soubor se bude skládat jednotlivĂ˝ch tĂ˝mĹŻ, kaĹľdĂ˝ na samostatnĂ© řádce. KaĹľdá řádka bude zaÄŤĂnat jmĂ©nem tĂ˝mu, následovanĂ©m jmĂ©ny ÄŤlenĹŻ tĂ˝mu, oddÄ›lenĂ˝mi čárkou. \item \textbf{ZobrazenĂ historie rozdÄ›lenĂ} -- Aplikace bude umÄ›t pro kaĹľdĂ©ho ÄŤlena skupiny umÄ›t zobrazit s kterĂ˝mi ÄŤleny skupiny jiĹľ byl v tĂ˝mu a kolikrát. ZároveĹ bude aplikace umÄ›t pro kaĹľdou skupinu zobrazit uloĹľená rozdÄ›lenĂ. @@ -228,9 +228,20 @@ DomĂ©novĂ˝ model \ref{fig:domain} pro tento projekt je celkem jednoduchĂ˝, obsah \end{figure} \section{Proces rozdÄ›lenĂ skupiny} +NejdĹŻleĹľitÄ›jšĂm a zároveĹ takĂ© nejkomplikovanÄ›jšĂm procesem v aplikaci je vytvoĹ™enĂ rozdÄ›lenĂ, tj. rozdÄ›lenĂ skupiny do tĂ˝mĹŻ. Proto jsem se rozhodl pĹ™i návrhu jej popsat a ujasnit, jak bude vlastnÄ› takovĂ© rozdÄ›lenĂ probĂhat. Pro popis tohoto procesu jsem vyuĹľil diagram aktivit (activity diagram). + +Diagram aktivit sloužà právÄ› k popisu procesĹŻ. AĹĄ uĹľ se jedná o bussiness procesy nebo proces pĹ™Ămo v systĂ©mu, obojĂ mĹŻĹľeme snadno a pĹ™ehlednÄ› popsat právÄ› diagramem aktivit. Dle \cite{uml2} \uv{nabĂzĂ univerzálnĂ mechanismus pro modelovánĂ chovánĂ, kterĂ˝ mĹŻĹľeme vyuĹľĂt, kdykoli se nám to bude hodit} a právÄ› pĹ™i popis procesu rozdÄ›lenĂ skupiny se tento diagram náramnÄ› \textit{hodĂ}. + +PĹ™i pohledu na diagram \ref{fig:activity} mĹŻĹľe vyvstat otázka, proÄŤ, pokud systĂ©m nenajde vhodnĂ© rozdÄ›lenĂ do tĂ˝mĹŻ, má uĹľivatel moĹľnost opakovat hledánĂ a proÄŤ by to chtÄ›l udÄ›lat. Tuto moĹľnost jsem do diagramu, a takĂ© do aplikace, doplnil aĹľ v prĹŻbÄ›hu implementace a souvisĂ to se zpĹŻsobem (algoritmem), kterĂ˝ se pouĹľĂvá pro nalezenĂ vyhovujĂcĂho rozdÄ›lenĂ. VĂce o tomto algoritmu v sekci \todo{odkaz na sekci s algoritmem}. + +\begin{figure} + \tmpframe{\includegraphics[width=\linewidth, trim=0.1cm 8.8cm 0.1cm 0.1cm, clip]{images/activity_distribtuion.pdf}} + \caption{Diagram aktivit znázorĹujĂcĂ proces vytvoĹ™enĂ rozdÄ›lenĂ} + \label{fig:activity} +\end{figure} + \chapter{Implementace} -%\blind[2] %\section{Ikony} %https://iconmonstr.com - iconmonstr(malĂ˝m), add to resource file, pyrcc5 diff --git a/BP/BP_stercl_jakub_2017.toc b/BP/BP_stercl_jakub_2017.toc index 44a9e22bd8b28ef4029f3d1daa88043cfeb24d89..e4ff2f726f4366ffcc48b4a8fc118247b17b4015 100644 --- a/BP/BP_stercl_jakub_2017.toc +++ b/BP/BP_stercl_jakub_2017.toc @@ -4,7 +4,7 @@ \contentsline {chapter}{{\' U}vod}{1}{chapter*.5} \contentsline {chapter}{\chapternumberline {1}C\IeC {\'\i }l pr\IeC {\'a}ce}{3}{chapter.1} \contentsline {section}{\numberline {1.1}Existuj\IeC {\'\i }c\IeC {\'\i } \IeC {\v r}e\IeC {\v s}en\IeC {\'\i }}{3}{section.1.1} -\contentsline {section}{\numberline {1.2}Anal\IeC {\'y}za po\IeC {\v z}adavk\IeC {\r u}}{4}{section.1.2} +\contentsline {section}{\numberline {1.2}Anal\IeC {\'y}za po\IeC {\v z}adavk\IeC {\r u}}{3}{section.1.2} \contentsline {subsection}{\numberline {1.2.1}Funk\IeC {\v c}n\IeC {\'\i } po\IeC {\v z}adavky}{4}{subsection.1.2.1} \contentsline {subsection}{\numberline {1.2.2}Nefunk\IeC {\v c}n\IeC {\'\i } po\IeC {\v z}adavky}{5}{subsection.1.2.2} \contentsline {subsection}{\numberline {1.2.3}P\IeC {\v r}\IeC {\'\i }pady u\IeC {\v z}it\IeC {\'\i }}{5}{subsection.1.2.3} @@ -16,8 +16,8 @@ \contentsline {subsection}{\numberline {2.1.4}Persistence dat}{11}{subsection.2.1.4} \contentsline {section}{\numberline {2.2}Dom\IeC {\'e}nov\IeC {\'y} model}{11}{section.2.2} \contentsline {section}{\numberline {2.3}Proces rozd\IeC {\v e}len\IeC {\'\i } skupiny}{12}{section.2.3} -\contentsline {chapter}{\chapternumberline {3}Implementace}{13}{chapter.3} -\contentsline {chapter}{Z{\' a}v{\v e}r}{15}{chapter*.8} -\contentsline {chapter}{Literatura}{17}{section*.10} -\contentsline {appendix}{\chapternumberline {A}Seznam pou\IeC {\v z}it\IeC {\'y}ch zkratek}{19}{appendix.A} -\contentsline {appendix}{\chapternumberline {B}Obsah p\IeC {\v r}ilo\IeC {\v z}en\IeC {\'e}ho CD}{21}{appendix.B} +\contentsline {chapter}{\chapternumberline {3}Implementace}{15}{chapter.3} +\contentsline {chapter}{Z{\' a}v{\v e}r}{17}{chapter*.9} +\contentsline {chapter}{Literatura}{19}{section*.11} +\contentsline {appendix}{\chapternumberline {A}Seznam pou\IeC {\v z}it\IeC {\'y}ch zkratek}{21}{appendix.A} +\contentsline {appendix}{\chapternumberline {B}Obsah p\IeC {\v r}ilo\IeC {\v z}en\IeC {\'e}ho CD}{23}{appendix.B} diff --git a/Implementace/model/team.py b/Implementace/model/team.py index 38b40d5178b073e9adb0b52b881c555961f7c39e..75f655c5b53685ee4037c1fee1528058f0c0d9df 100644 --- a/Implementace/model/team.py +++ b/Implementace/model/team.py @@ -4,4 +4,4 @@ class Team: def __init__(self, id_, name, members): self.id_ = id_ self.name = name - self.members = members \ No newline at end of file + self.members = members