]>
Commit | Line | Data |
---|---|---|
1 | \section{Architecture} | |
2 | \label{arch} | |
3 | \subsection{Libraries used} | |
4 | \subsection{Coarse structuring} | |
5 | \label{coarse} | |
6 | TODO: overall description, modularity, extendability, ex: easy to add new in-/output formats | |
7 | TODO: mapping profiles (maybe better in next subsection) | |
8 | TODO: package description | |
9 | TODO: package interaction description | |
10 | ||
11 | \subsection{Fine structuring} | |
12 | \subsubsection{Class organization} | |
13 | TODO: Every class hierarchy has at least one interface | |
14 | ||
15 | \begin{table} | |
16 | \begin{multicols}{2}\begin{itemize} %\KOMAoption{fontsize}{\smallerfontsize{}} | |
17 | \item \code{bootstrapping} | |
18 | \begin{itemize} | |
19 | \item \code{Bootstrapping} | |
20 | \item \code{DirectMappingURIBuilder} | |
21 | \item \code{URIBuilder} | |
22 | \end{itemize} | |
23 | \item \code{cli} | |
24 | \begin{itemize} | |
25 | \item \code{CLIDatabaseInteraction} | |
26 | \end{itemize} | |
27 | \item \code{database} | |
28 | \begin{itemize} | |
29 | \item \code{Column} | |
30 | \item \code{ColumnSet} | |
31 | \item \code{DatabaseException} | |
32 | \item \code{DBSchema} | |
33 | \item \code{ForeignKey} | |
34 | \item \code{Helpers} | |
35 | \item \code{Key} | |
36 | \item \code{PrimaryKey} | |
37 | \item \code{ReadableColumn} | |
38 | \item \code{ReadableColumnSet} | |
39 | \item \code{ReadableForeignKey} | |
40 | \item \code{ReadableKey} | |
41 | \item \code{ReadablePrimaryKey} | |
42 | \item \code{RetrieveDBSchema} | |
43 | \item \code{SQLType} | |
44 | \item \code{Table} | |
45 | \item \code{TableSchema} | |
46 | \end{itemize} | |
47 | \item \code{helpers} | |
48 | \begin{itemize} | |
49 | \item \code{MapValueIterable} | |
50 | \item \code{MapValueIterator} | |
51 | \item \code{ReadOnlyIterable} | |
52 | \item \code{ReadOnlyIterator} | |
53 | \item \code{UserAbortException} | |
54 | \end{itemize} | |
55 | \newpage | |
56 | \item \code{log} | |
57 | \begin{itemize} | |
58 | \item \code{ConsoleDiagnosticOutputHandler} | |
59 | \item \code{GlobalLogger} | |
60 | \end{itemize} | |
61 | \item \code{main} | |
62 | \begin{itemize} | |
63 | \item \code{Main} | |
64 | \end{itemize} | |
65 | \item \code{osl} | |
66 | \begin{itemize} | |
67 | \item \code{OSLSpecification} | |
68 | \end{itemize} | |
69 | \item \code{output} | |
70 | \begin{itemize} | |
71 | \item \code{ObjectSpecPrinter} | |
72 | \item \code{OSLSpecPrinter} | |
73 | \item \code{SpecPrinter} | |
74 | \end{itemize} | |
75 | \item \code{settings} | |
76 | \begin{itemize} | |
77 | \item \code{Job} | |
78 | \end{itemize} | |
79 | \item \code{specification} | |
80 | \begin{itemize} | |
81 | \item \code{AttributeMap} | |
82 | \item \code{EntityMap} | |
83 | \item \code{IdentifierMap} | |
84 | \item \code{InvalidSpecificationException} | |
85 | \item \code{OBDAMap} | |
86 | \item \code{OBDASpecification} | |
87 | \item \code{RelationMap} | |
88 | \item \code{SubtypeMap} | |
89 | \item \code{TranslationTable} | |
90 | \end{itemize} | |
91 | \item \code{test} | |
92 | \begin{itemize} | |
93 | \item \code{CreateTestDBSchema} | |
94 | \item \code{GetSomeDBSchema} | |
95 | \end{itemize} | |
96 | \end{itemize}\end{multicols} %\KOMAoption{fontsize}{\myfontsize{}} | |
97 | \caption{Class affiliation to packages in \myprog{}} | |
98 | \label{arch_tbl_classes} | |
99 | \end{table} | |
100 | ||
101 | ||
102 | \begin{figure}[H]\begin{center} | |
103 | \ContinuedFloat* | |
104 | \includegraphics[scale=0.86]{Images/inherit_graph_8.pdf} | |
105 | \end{center}\end{figure} | |
106 | \vspace{6px} | |
107 | \begin{figure}[H]\begin{center} | |
108 | \ContinuedFloat* | |
109 | \includegraphics[scale=0.86]{Images/inherit_graph_5.pdf} | |
110 | \end{center}\end{figure} | |
111 | \begin{figure}[H]\begin{center} | |
112 | \ContinuedFloat* | |
113 | \includegraphics[scale=0.86]{Images/inherit_graph_7.pdf} | |
114 | \end{center}\end{figure} | |
115 | \begin{figure}[H]\begin{center} | |
116 | \ContinuedFloat* | |
117 | \includegraphics[scale=0.86]{Images/inherit_graph_19.pdf} | |
118 | \end{center}\end{figure} | |
119 | \begin{figure}[H]\begin{center} | |
120 | \ContinuedFloat* | |
121 | \includegraphics[scale=0.86]{Images/inherit_graph_1.pdf} | |
122 | \end{center}\end{figure} | |
123 | \begin{figure}[H]\begin{center} | |
124 | \ContinuedFloat* | |
125 | \includegraphics[scale=0.86]{Images/inherit_graph_17.pdf} | |
126 | \end{center}\end{figure} | |
127 | \begin{figure}[H]\begin{center} | |
128 | \ContinuedFloat* | |
129 | \includegraphics[scale=0.86]{Images/inherit_graph_21_extended.pdf} | |
130 | \end{center}\end{figure} | |
131 | \begin{figure}[H]\begin{center} | |
132 | \ContinuedFloat* | |
133 | \includegraphics[scale=0.86]{Images/inherit_graph_13.pdf} | |
134 | \end{center}\end{figure} | |
135 | \begin{figure}[H]\begin{center} | |
136 | \ContinuedFloat* | |
137 | \includegraphics[scale=0.86]{Images/inherit_graph_3.pdf} | |
138 | \end{center}\end{figure} | |
139 | \begin{figure}[H]\begin{center} | |
140 | \ContinuedFloat* | |
141 | \includegraphics[scale=0.86]{Images/inherit_graph_18.pdf} | |
142 | \end{center}\end{figure} | |
143 | \begin{figure}[H]\begin{center} | |
144 | \ContinuedFloat* | |
145 | \includegraphics[scale=0.86]{Images/inherit_graph_12.pdf} | |
146 | \end{center}\end{figure} | |
147 | \begin{figure}[H]\begin{center} | |
148 | \ContinuedFloat* | |
149 | \includegraphics[scale=0.86]{Images/inherit_graph_4.pdf} | |
150 | \setcounter{figure}{1} | |
151 | \caption[Class hierarchies in \myprog{}]{Class hierarchies in \myprog{}. | |
152 | Interface names are italicized, | |
153 | external classes or interfaces are hemmed with a gray frame.} | |
154 | \label{arch_fig_inheritance} | |
155 | \end{center}\end{figure} | |
156 | ||
157 | ||
158 | \begin{table}[H]\begin{center} | |
159 | \begin{tabular}{l} | |
160 | \itm{} \code{main.Main}\\ | |
161 | \itm{} \code{database.Helpers}\\ | |
162 | \itm{} \code{database.RetrieveDBSchema}\\ | |
163 | \itm{} \code{database.SQLType}\\ | |
164 | \itm{} \code{database.Table}\\ | |
165 | \itm{} \code{specification.OBDASpecification}\\ | |
166 | \itm{} \code{osl.OSLSpecification}\\ | |
167 | \itm{} \code{bootstrapping.Bootstrapping}\\ | |
168 | \itm{} \code{cli.CLIDatabaseInteraction}\\ | |
169 | \itm{} \code{log.GlobalLogger}\\ | |
170 | \itm{} \code{test.CreateTestDBSchema}\\ | |
171 | \itm{} \code{test.GetSomeDBSchema}\\ | |
172 | \end{tabular}\\ | |
173 | \caption{Standalone classes in \myprog{}} | |
174 | \label{arch_tbl_lone_classes} | |
175 | \end{center}\end{table} | |
176 | ||
177 | %For more information about the program structure on the class level, see section \fullref{code}. |