From 16bbb09c8cd59660e29b05c836c9fa85fc7badd1 Mon Sep 17 00:00:00 2001 From: Christian Wolf Date: Tue, 21 May 2019 15:44:05 +0200 Subject: [PATCH] Created basic structure to use rmtoo --- .buildpath | 1 + ...se.texlipse.builder.TexlipseBuilder.launch | 7 + .project | 11 ++ requirements/.gitignore | 2 + requirements/Config.yml | 63 +++++++ requirements/Makefile | 69 ++++++++ .../artifacts/.git_do_not_ignore_empty_dir | 0 requirements/constraints/.empty_dir_for_git | 0 requirements/html/footer.html | 8 + requirements/html/header.html | 167 ++++++++++++++++++ requirements/html/trenner01.png | Bin 0 -> 627 bytes requirements/latex/requirements.tex | 80 +++++++++ requirements/req.template | 12 ++ .../requirements/model/abstract-object.req | 13 ++ requirements/requirements/model/adbo-id.req | 13 ++ .../requirements/model/adbo-simple.req | 13 ++ requirements/requirements/model/cache.req | 13 ++ .../requirements/model/sql-interface.req | 13 ++ requirements/requirements/project.req | 12 ++ requirements/testcases/.empty_dir_for_git | 0 requirements/topics/ReqsDocument.tic | 4 + requirements/topics/model.tic | 3 + 22 files changed, 504 insertions(+) create mode 100644 .externalToolBuilders/org.eclipse.texlipse.builder.TexlipseBuilder.launch create mode 100644 requirements/.gitignore create mode 100644 requirements/Config.yml create mode 100644 requirements/Makefile create mode 100644 requirements/artifacts/.git_do_not_ignore_empty_dir create mode 100644 requirements/constraints/.empty_dir_for_git create mode 100644 requirements/html/footer.html create mode 100644 requirements/html/header.html create mode 100644 requirements/html/trenner01.png create mode 100644 requirements/latex/requirements.tex create mode 100644 requirements/req.template create mode 100644 requirements/requirements/model/abstract-object.req create mode 100644 requirements/requirements/model/adbo-id.req create mode 100644 requirements/requirements/model/adbo-simple.req create mode 100644 requirements/requirements/model/cache.req create mode 100644 requirements/requirements/model/sql-interface.req create mode 100644 requirements/requirements/project.req create mode 100644 requirements/testcases/.empty_dir_for_git create mode 100644 requirements/topics/ReqsDocument.tic create mode 100644 requirements/topics/model.tic diff --git a/.buildpath b/.buildpath index e9e2cb4..a59af60 100644 --- a/.buildpath +++ b/.buildpath @@ -1,6 +1,7 @@ + diff --git a/.externalToolBuilders/org.eclipse.texlipse.builder.TexlipseBuilder.launch b/.externalToolBuilders/org.eclipse.texlipse.builder.TexlipseBuilder.launch new file mode 100644 index 0000000..0db118f --- /dev/null +++ b/.externalToolBuilders/org.eclipse.texlipse.builder.TexlipseBuilder.launch @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.project b/.project index b6e535a..75abb50 100644 --- a/.project +++ b/.project @@ -5,6 +5,16 @@ + + org.eclipse.ui.externaltools.ExternalToolBuilder + full,incremental, + + + LaunchConfigHandle + <project>/.externalToolBuilders/org.eclipse.texlipse.builder.TexlipseBuilder.launch + + + org.eclipse.wst.common.project.facet.core.builder @@ -22,6 +32,7 @@ + org.eclipse.texlipse.builder.TexlipseNature org.eclipse.php.core.PHPNature org.eclipse.wst.common.project.facet.core.nature diff --git a/requirements/.gitignore b/requirements/.gitignore new file mode 100644 index 0000000..696f164 --- /dev/null +++ b/requirements/.gitignore @@ -0,0 +1,2 @@ +/artifacts/ +/.rmtoo_dependencies diff --git a/requirements/Config.yml b/requirements/Config.yml new file mode 100644 index 0000000..beeb793 --- /dev/null +++ b/requirements/Config.yml @@ -0,0 +1,63 @@ +--- +global: + modules: + directories: + - . +processing: + analytics: + stop_on_errors: false +requirements: + input: + commit_interval: + begin: FILES + end: FILES + default_language: de_DE + dependency_notation: + - Solved by + directory: requirements + inventors: + - flonatel + - wolf + stakeholders: + - development + - management + - users +topics: + ts_common: + sources: + - - filesystem + - requirements_dirs: + - requirements/model + - requirements + topics_dirs: + - topics + topic_root_node: ReqsDocument + constraints_dirs: + - constraints + testcases_dirs: + - testcases + output: + graph: + - output_filename: artifacts/req-graph1.dot + graph2: + - output_filename: artifacts/req-graph2.dot + html: + - footer: html/footer.html + header: html/header.html + output_directory: artifacts/html + #LatexJinja2: + latex2: + - output_filename: artifacts/reqtopics.tex + #template_path: latex/LatexJinja2 + prios: + - output_filename: artifacts/reqsprios.tex + stats_burndown1: + - output_filename: artifacts/stats_burndown.csv + start_date: '2011-05-01' + stats_reqs_cnt: + - output_filename: artifacts/stats_reqs_cnt.csv + stats_sprint_burndown1: + - output_filename: artifacts/stats_sprint_burndown.csv + start_date: '2011-05-01' + version1: + - output_filename: artifacts/reqs-version.txt diff --git a/requirements/Makefile b/requirements/Makefile new file mode 100644 index 0000000..2c70b42 --- /dev/null +++ b/requirements/Makefile @@ -0,0 +1,69 @@ +.PHONY: all +.PHONY: all_html +all: artifacts/requirements.pdf artifacts/req-graph1.png \ + artifacts/req-graph2.png all_html + + +# Adding new files (especially requirements) can not automatically +# handled. The 'force' target tries to handle this. +.PHONY: force +force: + rm .rmtoo_dependencies + ${MAKE} all + +# +# This is the way the rmtoo must be called. +# (The RMTOO_CALL variable is set in the setenv.sh script) +# You can override the default Config.py file by setting +# the RMTOO_CONFIG variable from the command line. +# ie: +# make RMTOO_CONFIG=YourConfig.json +# +RMTOO_CALL ?= rmtoo +RMTOO_CONFIG=Config.yml +RMTOO_CONTRIB_DIR ?= /usr/share/rmtoo + +CALL_RMTOO=${RMTOO_CALL} -y file://${RMTOO_CONFIG} + +# +# Dependency handling +# The file .rmtoo_dependencies is created by rmtoo itself. +# +include .rmtoo_dependencies + +all_html: ${OUTPUT_HTML} + +# And how to make the dependencies +.rmtoo_dependencies: + ${CALL_RMTOO} \ + --create-makefile-dependencies=.rmtoo_dependencies + +artifacts/req-graph1.png: artifacts/req-graph1.dot + unflatten -l 23 artifacts/req-graph1.dot | \ + dot -Tpng -o artifacts/req-graph1.png + +artifacts/req-graph2.png: artifacts/req-graph2.dot + dot -Tpng -o artifacts/req-graph2.png artifacts/req-graph2.dot + +# Two calls are needed: one for the requirments converting and one for +# backlog creation. +artifacts/requirements.pdf: ${REQS_LATEX2} latex/requirements.tex +# (cd artifacts && \ +# gnuplot ${RMTOO_CONTRIB_DIR}/contrib/gnuplot_stats_reqs_cnt.inc && \ +# epstopdf stats_reqs_cnt.eps) +# (cd artifacts && \ +# gnuplot ${RMTOO_CONTRIB_DIR}/contrib/gnuplot_stats_burndown.inc && \ +# epstopdf stats_burndown.eps) +# (cd artifacts && \ +# gnuplot ${RMTOO_CONTRIB_DIR}/contrib/gnuplot_stats_sprint_burndown.inc && \ +# epstopdf stats_sprint_burndown.eps) + (cd artifacts && pdflatex ../latex/requirements.tex; \ + pdflatex ../latex/requirements.tex; \ + pdflatex ../latex/requirements.tex) + +.PHONY: clean +clean: + rm -fr artifacts/html + rm -f artifacts/* \ + add_data.py* + rm -fr debian/rmtoo build diff --git a/requirements/artifacts/.git_do_not_ignore_empty_dir b/requirements/artifacts/.git_do_not_ignore_empty_dir new file mode 100644 index 0000000..e69de29 diff --git a/requirements/constraints/.empty_dir_for_git b/requirements/constraints/.empty_dir_for_git new file mode 100644 index 0000000..e69de29 diff --git a/requirements/html/footer.html b/requirements/html/footer.html new file mode 100644 index 0000000..2d51c72 --- /dev/null +++ b/requirements/html/footer.html @@ -0,0 +1,8 @@ +
+

This document is part of the rmtoo +requirements documentation and was generated +by rmtoo itself.

+

rmtoo is copyright 2010 by flonatel. rmtoo is distributed under +GPL V3.

+ + diff --git a/requirements/html/header.html b/requirements/html/header.html new file mode 100644 index 0000000..5a79840 --- /dev/null +++ b/requirements/html/header.html @@ -0,0 +1,167 @@ + + + +rmtoo + + + + diff --git a/requirements/html/trenner01.png b/requirements/html/trenner01.png new file mode 100644 index 0000000000000000000000000000000000000000..405f8fca52e3172128f260b5778a558c99de5f8a GIT binary patch literal 627 zcmV-(0*w8MP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RV2Nen{HXh3ZasU7T8FWQhbVF}# zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b0pLkQK~zY`?NdpT<1h>(sb!ut`TwV~ zm;m}fDR#Q%K9|5%5(QHd#KrB4FTVKVi!c5+qP0I`j5)^`bIvj5m}72x&N23n%kMtM z+#X}hIs53Nx7K^_z4dLkK6)>*=+^eC_tx8JqxCjMZ>=_Ms-IqMpV-?{EXiatNt8*H zB#D#+QWObt4I}`p2>=KruE+$CKxP7oWEq)Rz6Y{)WG(~c@(Uyq5SS#fE++`Fbde>K z;#;UZFVlU!-Q5>g=KANKF!v}cJlx%484;VTRYWX0JUqf9qIeH) z+g^)uSvWl}%R1cceOE**E#YBHM=__Iz3D3Lq$Aus!p$u#JpBFGF!MS!K0{#cVP+BT z=JpYyS`{4@=KDK?dL1g{dsul{c{p3h-79@Ex!lYub(Fb@l$j{ms(_k!0)Rkpm1zRJ zR%h;#-DQYG=IgjW9*_I|@p#^!_vhpJdcI!A>o|@h48<1-EL>1{bP8C$KA|g zSJQf;U7kphNg%Nri9~_`2$H!wt0sb3GxDSPE*6+ft~~@m<~9~1imIL=MWY~DMQ`<# zL{>AAtG`x&SFi1uU$}F`%E$HN`-(cP?mlJI4Uh!<>)|n2QvTw N002ovPDHLkV1huS5yAif literal 0 HcmV?d00001 diff --git a/requirements/latex/requirements.tex b/requirements/latex/requirements.tex new file mode 100644 index 0000000..5d9ebcb --- /dev/null +++ b/requirements/latex/requirements.tex @@ -0,0 +1,80 @@ +\documentclass{report} + +\usepackage[ngerman]{babel} +\usepackage{longtable} +\usepackage{graphicx} +% When latex aborts with +% pdfTeX error (ext4): \pdfendlink ended up in different nesting level than \pd +% fstartlink. +% Comment that line with draft out and inpect the errornous page +\usepackage[pdfauthor={flonatel},% +%draft,% +pdftitle={Requirment for project},% +pdfsubject={Requirment description for project},% +pdfkeywords={placeholder for some keywords},% +pagebackref=true,% +pdftex, bookmarks=true, colorlinks=true]{hyperref} + +\usepackage[a4paper]{geometry} + +\usepackage[titles]{tocloft} +\usepackage{fancyhdr} + +\setlength{\cftsubsecnumwidth}{4em} +\pagestyle{fancy} +\fancyhead{} +\fancyfoot{} +\fancyhead[L]{\rightmark} +\fancyfoot[R]{\thepage} +% \fancyfoot[L]{Version \input{../artifacts/reqs-version.txt}} +\renewcommand{\headrulewidth}{0.4pt} +\renewcommand{\footrulewidth}{0.4pt} + +\parindent0em + +\begin{document} +\thispagestyle{empty} + +\mbox{} + +\vfill + +{\LARGE\textbf{Requirements for project}} + +\vfill + +{\Large\textbf{written by You}} + +\vfill + +09. October 2010 + +\vfill + +% Requirements Version: \input{../artifacts/reqs-version.txt} + +\vfill + +\newpage + +\tableofcontents + +\newpage + +\chapter{Status} +\input{../artifacts/reqsprios.tex} + +\input{../artifacts/reqtopics.tex} + +% \chapter{Statistics} +% \section{Burndown diagram for Sprint} +% \includegraphics{../artifacts/stats_sprint_burndown.pdf} +% +% \section{Burndown diagram for Project} +% \includegraphics{../artifacts/stats_burndown.pdf} +% +% \section{Requirements Count Statistics} +% \includegraphics{../artifacts/stats_reqs_cnt.pdf} + +\end{document} + diff --git a/requirements/req.template b/requirements/req.template new file mode 100644 index 0000000..981a3bd --- /dev/null +++ b/requirements/req.template @@ -0,0 +1,12 @@ +Name: projectdfg +Type: requirement | design decision +Invented on: +Invented by: wolf +Owner: development | management | users +Description: +Rationale: +Status: not done +#Solved by: +#Priority: +#Effort estimation: 5 +#Topic: diff --git a/requirements/requirements/model/abstract-object.req b/requirements/requirements/model/abstract-object.req new file mode 100644 index 0000000..fa7b86c --- /dev/null +++ b/requirements/requirements/model/abstract-object.req @@ -0,0 +1,13 @@ +Name: Definition Abstractes DB Objekt +Type: design decision +Invented on: 2019-05-21 +Invented by: wolf +Owner: development +Description: Jedes Objekt in der Datenbank wird durch ein + Objekt in der Sprache repräsentiert. +Rationale: +Status: not done +Solved by: adbo-id adbo-simple +#Priority: +#Effort estimation: 5 +Topic: model diff --git a/requirements/requirements/model/adbo-id.req b/requirements/requirements/model/adbo-id.req new file mode 100644 index 0000000..7c7b1b5 --- /dev/null +++ b/requirements/requirements/model/adbo-id.req @@ -0,0 +1,13 @@ +Name: Objekt-ID +Type: design decision +Invented on: 2019-05-21 +Invented by: wolf +Owner: development +Description: Jedes Objekt der Datenbank hat einen eindeutigen Schlüssel + genannt \emph{id}. +Rationale: +Status: not done +#Solved by: +#Priority: +#Effort estimation: 5 +Topic: model diff --git a/requirements/requirements/model/adbo-simple.req b/requirements/requirements/model/adbo-simple.req new file mode 100644 index 0000000..621686b --- /dev/null +++ b/requirements/requirements/model/adbo-simple.req @@ -0,0 +1,13 @@ +Name: Einfache Objektstruktur +Type: design decision +Invented on: 2019-05-21 +Invented by: wolf +Owner: development +Description: Einfache Attribute eines Objekts werden als Spalten + in der DB-Tabelle abgespeichert. +Rationale: +Status: not done +#Solved by: +#Priority: +#Effort estimation: 5 +Topic: model diff --git a/requirements/requirements/model/cache.req b/requirements/requirements/model/cache.req new file mode 100644 index 0000000..4423099 --- /dev/null +++ b/requirements/requirements/model/cache.req @@ -0,0 +1,13 @@ +Name: Aufrufe der Datenbank cachen +Type: design decision +Invented on: 2019-05-21 +Invented by: wolf +Owner: development +Description: DB-Aufrufe sollen soweit es möglich ist, + zwischengespeichert werden. +Rationale: +Status: not done +#Solved by: +#Priority: +#Effort estimation: 5 +Topic: model diff --git a/requirements/requirements/model/sql-interface.req b/requirements/requirements/model/sql-interface.req new file mode 100644 index 0000000..a29c12e --- /dev/null +++ b/requirements/requirements/model/sql-interface.req @@ -0,0 +1,13 @@ +Name: Anbindung der SQL-Datenbank in das Programm +Type: design decision +Invented on: 2019-05-21 +Invented by: wolf +Owner: development +Description: Die Daten in der Datenbank müssen durch einfache + Funktionsaufrufe abrufbar sein. +Rationale: +Status: not done +Solved by: abstract-object cache +#Priority: +Effort estimation: 0 +Topic: model diff --git a/requirements/requirements/project.req b/requirements/requirements/project.req new file mode 100644 index 0000000..0da3fe0 --- /dev/null +++ b/requirements/requirements/project.req @@ -0,0 +1,12 @@ +Name: projectdfg +Type: master requirement +Invented on: 2010-10-09 +Invented by: flonatel +Owner: development +Description: \textsl{project} \textbf{must} exists. +Rationale: The world needs a good, usable and free \textsl{project}. +Status: not done +Solved by: sql-interface +Priority: development:10 +Effort estimation: 5 +Topic: ReqsDocument diff --git a/requirements/testcases/.empty_dir_for_git b/requirements/testcases/.empty_dir_for_git new file mode 100644 index 0000000..e69de29 diff --git a/requirements/topics/ReqsDocument.tic b/requirements/topics/ReqsDocument.tic new file mode 100644 index 0000000..62afad9 --- /dev/null +++ b/requirements/topics/ReqsDocument.tic @@ -0,0 +1,4 @@ +Name: project +Text: This is placeholder for some introductional text. +IncludeRequirements: full +SubTopic: model diff --git a/requirements/topics/model.tic b/requirements/topics/model.tic new file mode 100644 index 0000000..d6d207f --- /dev/null +++ b/requirements/topics/model.tic @@ -0,0 +1,3 @@ +Name: Datenbank-Modelle +Text: Abhängigkeiten der Model-Klassen +IncludeRequirements: full