PageRenderTime 71ms CodeModel.GetById 31ms RepoModel.GetById 1ms app.codeStats 0ms

/projektauftrag.html

https://bitbucket.org/springmanager/springmanager.bitbucket.org
HTML | 1120 lines | 1030 code | 90 blank | 0 comment | 0 complexity | c60e3a8e011ef4596247432ce2543fe8 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Springmanager - Projektauftrag</title>
  6. <style type="text/css" media="all">
  7. @import url("./css/maven-base.css");
  8. @import url("./css/maven-theme.css");
  9. @import url("./css/site.css");
  10. </style>
  11. <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
  12. </head>
  13. <body class="composite">
  14. <div id="banner">
  15. <span id="bannerLeft">
  16. <img src="images/logo_springmanager.jpg" alt="" />
  17. </span>
  18. <div class="clear">
  19. <hr/>
  20. </div>
  21. </div>
  22. <div id="breadcrumbs">
  23. <div class="xleft">
  24. Last Published: 2011-05-15
  25. </div>
  26. <div class="xright">
  27. </div>
  28. <div class="clear">
  29. <hr/>
  30. </div>
  31. </div>
  32. <div id="leftColumn">
  33. <div id="navcolumn">
  34. <h5>Projektdokumentation</h5>
  35. <ul>
  36. <li class="none">
  37. <strong>Projektauftrag</strong>
  38. </li>
  39. <li class="none">
  40. <a href="iceberglist.html">Iceberg List</a>
  41. </li>
  42. <li class="none">
  43. <a href="risikoliste.html">Risikoliste</a>
  44. </li>
  45. <li class="none">
  46. <a href="usecases.html">Use Cases</a>
  47. </li>
  48. <li class="expanded">
  49. <a href="">Projektberichte</a>
  50. <ul>
  51. <li class="none">
  52. <a href="stundenlisten.html">Stundenlisten</a>
  53. </li>
  54. <li class="expanded">
  55. <a href="">Statusberichte</a>
  56. <ul>
  57. <li class="none">
  58. <a href="statusbericht1.html">Statusbericht 1</a>
  59. </li>
  60. <li class="none">
  61. <a href="statusbericht2.html">Statusbericht 2</a>
  62. </li>
  63. <li class="none">
  64. <a href="statusbericht3.html">Statusbericht 3</a>
  65. </li>
  66. </ul>
  67. </li>
  68. <li class="none">
  69. <a href="meetingprotokolle.html">Meeting-Protokolle</a>
  70. </li>
  71. </ul>
  72. </li>
  73. </ul>
  74. <h5>Technische Dokumentation</h5>
  75. <ul>
  76. <li class="none">
  77. <a href="er-diagramm.html">ER-Diagramm</a>
  78. </li>
  79. <li class="none">
  80. <a href="testplan.html">Testplan</a>
  81. </li>
  82. <li class="none">
  83. <a href="gui_skizzen.html">GUI Skizzen</a>
  84. </li>
  85. </ul>
  86. <h5>Benutzerhandbuch</h5>
  87. <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
  88. <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
  89. </a>
  90. </div>
  91. </div>
  92. <div id="bodyColumn">
  93. <div id="contentBox">
  94. <div class="section"><h2>Projektauftrag</h2>
  95. <ul><li><a href="#Projektbezeichnung_und_Entwicklerteam">Projektbezeichnung und Entwicklerteam</a><ul><li><a href="#Entwickler">Entwickler</a></li>
  96. </ul>
  97. </li>
  98. <li><a href="#Ausgangssituation">Ausgangssituation</a></li>
  99. <li><a href="#Projektbeschreibung">Projektbeschreibung</a></li>
  100. <li><a href="#Zielgruppen">Zielgruppen</a><ul><li><a href="#Lagerarbeiter">Lagerarbeiter</a></li>
  101. <li><a href="#Management">Management</a></li>
  102. </ul>
  103. </li>
  104. <li><a href="#Funktionale_Anforderungen_Anwendungsfälle">Funktionale Anforderungen, Anwendungsfälle</a><ul><li><a href="#Anwendungsfall_Übersicht">Anwendungsfall Übersicht</a></li>
  105. <li><a href="#Featureliste">Featureliste</a></li>
  106. <li><a href="#Iceberglist">Iceberglist</a></li>
  107. </ul>
  108. </li>
  109. <li><a href="#Domänenmodell">Domänenmodell</a></li>
  110. <li><a href="#Arbeitsstruktur__Grober_Projektplan">Arbeitsstruktur &amp; Grober Projektplan</a><ul><li><a href="#Rollenverteilung">Rollenverteilung</a></li>
  111. <li><a href="#Horizontale_Verantwortlichkeiten">Horizontale Verantwortlichkeiten</a><ul><li><a href="#Techn._Architekten">Techn. Architekten</a></li>
  112. <li><a href="#Team_Koordinator">Team Koordinator</a></li>
  113. <li><a href="#Dokumentationsbeauftragte">Dokumentationsbeauftragte</a></li>
  114. <li><a href="#Testbeauftragte">Testbeauftragte</a></li>
  115. <li><a href="#BuildRelease_Manager">Build/Release Manager</a></li>
  116. </ul>
  117. </li>
  118. <li><a href="#Grober_Projektplan">Grober Projektplan</a></li>
  119. </ul>
  120. </li>
  121. <li><a href="#Projektabgrenzungen">Projektabgrenzungen</a></li>
  122. <li><a href="#Komponentendiagramm">Komponentendiagramm</a></li>
  123. <li><a href="#Lieferkomponenten">Lieferkomponenten</a></li>
  124. <li><a href="#Nichtfunktionale_Anforderungen">Nichtfunktionale Anforderungen</a></li>
  125. <li><a href="#Risikoabschätzung">Risikoabschätzung</a></li>
  126. <li><a href="#Informationswesen">Informationswesen</a></li>
  127. <li><a href="#Besonderheiten">Besonderheiten</a></li>
  128. </ul>
  129. <div class="section"><h3><a name="Projektbezeichnung_und_Entwicklerteam">Projektbezeichnung und Entwicklerteam</a></h3>
  130. <p>Der Name des Projekts ist <b>SpringManager</b>.</p>
  131. <div class="section"><h4><a name="Entwickler">Entwickler</a></h4>
  132. <table class="bodyTable"><tbody><tr class="a"><th align="center">Name</th>
  133. <th align="center">email</th>
  134. <th align="center">Rolle</th>
  135. <th align="center">Rolle Stellvertreter</th>
  136. </tr>
  137. <tr class="b"><td align="center">Matthias Krug</td>
  138. <td align="center">matthias.krug@student.tuwien.ac.at</td>
  139. <td align="center">Build+RelManager</td>
  140. <td align="center">Tester</td>
  141. </tr>
  142. <tr class="a"><td align="center">Stefan Schlossarek</td>
  143. <td align="center">e0925684@student.tuwien.ac.at</td>
  144. <td align="center">Tester</td>
  145. <td align="center">Team-Koordinator</td>
  146. </tr>
  147. <tr class="b"><td align="center">Sascha Rainer</td>
  148. <td align="center">e0925685@student.tuwien.ac.at</td>
  149. <td align="center">Techn. Architekt</td>
  150. <td align="center">Tester</td>
  151. </tr>
  152. <tr class="a"><td align="center">Stephan Spindler</td>
  153. <td align="center">stephan@spindler.priv.at</td>
  154. <td align="center">TeamKoord.</td>
  155. <td align="center">Build+RelManager</td>
  156. </tr>
  157. <tr class="b"><td align="center">Michael Malik</td>
  158. <td align="center">michael.malik@student.tuwien.ac.at</td>
  159. <td align="center">Doku</td>
  160. <td align="center">Techn. Architekt</td>
  161. </tr>
  162. <tr class="a"><td align="center">Lukas Sulzbacher</td>
  163. <td align="center">e9926497@student.tuwien.ac.at</td>
  164. <td align="center">Doku</td>
  165. <td align="center">Techn. Architekt</td>
  166. </tr>
  167. </tbody>
  168. </table>
  169. </div>
  170. </div>
  171. <div class="section"><h3><a name="Ausgangssituation">Ausgangssituation</a></h3>
  172. <p>Die Firma Faustenhammer GmbH produziert technische Federn. Die Fertigung erfolgt auf Auftragsbasis. Die Firma verfügt teilweise über eine datenbankgestützte Betriebsdatenerfassung. Der Auftrag langt meistens über Fax im Büro ein. Danach erfolgen die Kalkulation und die Preislegung an den Kunden. Gibt der Kunde die Serie in Auftrag, erfolgt die Produktion. Die Federn werden von den Maschinen produziert und fallen in Kisten. Am Ende des Herstellungsprozesses muss noch die gelieferte Menge geprüft werden. Im Moment passiert dies indem ein Mitarbeiter die Federn abwiegt und daraus auf die Stückzahl schließt. Der Wiegevorgang spielt sich folgendermaßen ab: Der Mitarbeiter legt eine bestimmte, abgezählte Menge an Federn auf die Waage (die Referenzmenge) und erhält das Referenzgewicht. Mit dieser Information, kann der Mitarbeiter dann die Anzahl der Federn von einem bestimmten Typ in der Kiste mit ausreichender Genauigkeit berechnen.</p>
  173. <p>Der Mitarbeiter erfasst die Wiegung auf einer Wiegekarte und legt sie der Verpackung als Information für den Kunden bei. Eine bis mehrere Kisten ergeben ein Lieferlos bzw. eine Lieferung an den Kunden. Die gesamte Kommunikation in diesem Prozess erfolgt auf Papier. Die Informationen auf dem Papier werden später in die Datenbank eingetragen. Der gesamte Prozess ist nur schwer zu überwachen und bei Reklamationen des Kunden sind die notwendigen Informationen zum Wiegeprozess oft nicht mehr auffindbar. Es müssen vor der (teilweisen) Auslieferung mehrere Qualitätsprüfungen gemacht werden. Diese Prüfungen werden im Moment von einem Mitarbeiter ebenfalls auf Papier erfasst. Im Bereich der Qualitätsprüfung gibt es eine optionale Vorserienprüfung, mehrere Zwischenprüfungen und eine verpflichtende Endprüfung. Erst nach dieser Endprüfung kann mit dem Versand an den Kunden begonnen werden. Eine Prüfung erfasst hierbei mehrere Prüfungsarten, wie zum Beispiel das Messen des Außendurchmessers oder andere Parameter. Die Messwerte müssen innerhalb der vom Kunden vorgegebenen Toleranzgrenzen liegen.</p>
  174. </div>
  175. <div class="section"><h3><a name="Projektbeschreibung">Projektbeschreibung</a></h3>
  176. <p>Es wird somit ein Produkt benötigt, dass den oben beschrieben Prozess informationstechnisch unterstützt und eine laufende Kontrolle und Archivierung der gewonnen Information ermöglicht. Springcounter soll die Wiegungen transparent und die Daten (im Betrieb) jederzeit abrufbar machen. Dafür ist die Unterteilung in zwei Applikationen notwendig, die auf die gemeinsame Datenbank zugreifen. Ein Interface für den Wiegevorgang, welches mithilfe eines Touchscreens bedient werden soll und ein Interface für die Geschäftsleitung, um betriebsrelevante Daten des Wiegeprozesses einzusehen.</p>
  177. </div>
  178. <div class="section"><h3><a name="Zielgruppen">Zielgruppen</a></h3>
  179. <p>Es gibt zwei Rollen im System:</p>
  180. <ul><li>Management (Geschäftsleitung, Lagerleitung,...)</li>
  181. <li>Lagerarbeiter (Durchführung des Wiegeprozesses) </li>
  182. </ul>
  183. <p>Die Software soll für die beiden Sichten den gesamten Prozess informationstechnisch unterstützen und erfassen. Dabei soll die Bedienung für den Lagerarbeiter über einen Touchscreen erfolgen und sehr einfach und intuitiv sein. Das Management hingegen soll umfassenden Zugriff auf alle erfassten Daten erhalten.</p>
  184. <div class="section"><h4><a name="Lagerarbeiter">Lagerarbeiter</a></h4>
  185. <p>Der Lagerarbeiter soll sich die schriftlichen Eintragungen ersparen und somit von der Aufgabe, die Wiegungen aufzuzeichnen und zu melden, entlastet werden. Die Prüfungsdaten sollen ebenfalls durch das Terminal erfasst werden können. Dies soll außerdem auch den Prozess der Wiegung optimieren und beschleunigen.</p>
  186. </div>
  187. <div class="section"><h4><a name="Management">Management</a></h4>
  188. <p>Das Management soll bessere Kontrolle und mehr Information zu den Wiegungen erhalten. Im Bereich der Qualitätsprüfung soll das Management die Möglichkeit haben Prüfungen und Prüfungsabläufe zu definieren.</p>
  189. </div>
  190. </div>
  191. <div class="section"><h3><a name="Funktionale_Anforderungen_Anwendungsfälle">Funktionale Anforderungen, Anwendungsfälle</a></h3>
  192. <div class="section"><h4><a name="Anwendungsfall_Übersicht">Anwendungsfall Übersicht</a></h4>
  193. <p>Die Features aus dem Projektvorschlag wurden zu folgenden Anwendungsfall-Paketen zusammengefasst. Aufgrund der Anforderungsvielfalt dieses Projektauftrags ist eine Priorisierung (Hoch, Mittel, Niedrig) der einzelnen Pakete zweckmäßig.</p>
  194. <ol type="1"><li><i>Stückzahl erfassen</i> (<b>H</b>): Unbedingt erforderlich, kritisch</li>
  195. <li><i>Lagerverwaltung</i> (<b>M</b>): nur Grundfunktionalität notwendig (Eckdaten - Wo? Wie viel?)</li>
  196. <li><i>Eingang/Ausgang</i> (<b>M</b>): Verschiedene Features; Prioritäten variieren, daher besondere Aufmerksamkeit</li>
  197. <li><i>Berichte</i> (<b>N</b>): Anzeigen verschiedener Berichte, nicht kritisch</li>
  198. <li><i>Qualitätsprüfung</i> (<b>H</b>): Erweiternde Features, hohe Kundenpriorität </li>
  199. <li><i>Barcode scannen</i> (<b>M</b>): Daten eines Lieferloses einlesen, mittlere Priorität</li>
  200. </ol>
  201. <p>Siehe detailierte <a href="./usecases.html#Beschreibung_der_Use_Cases">Beschreibung aller Anwendungsfälle</a> sowie das dazugehörige <a href="./usecases.html#Use_Case_Diagramm">Use Case Diagramm</a>.</p>
  202. </div>
  203. <div class="section"><h4><a name="Featureliste">Featureliste</a></h4>
  204. <p>Rollen: </p>
  205. <ul><li>L...Lagerarbeiter</li>
  206. <li>M...Management<table class="bodyTable"><tbody><tr class="b"><th align="left">Id</th>
  207. <th align="left">Feature</th>
  208. <th align="left">Beschreibung</th>
  209. <th align="center">Kunden-Priorität</th>
  210. <th align="center">Aufwand</th>
  211. <th align="center">Rolle</th>
  212. </tr>
  213. <tr class="a"><td align="left">1</td>
  214. <td align="left">Stückzahl erfassen</td>
  215. <td align="left">Um die Stückzahl an fertig produzierten Federn zu bestimmen, misst der Lagerarbeiter das Gewicht der Federn inklusive deren Verpackung, in welche die Federn üblicherweise während der Herstellung automatisch hineinfallen. Von diesem Gewicht muss das Gewicht der Verpackung (Tara) abgezogen werden. Dies geschieht entweder durch eine zu Beginn durchgeführte Wiegung des Leergewichts der Verpackung oder durch eine manuelle Eingabe des Gewichts im Nachhinein. Mit dem bestimmten Nettogewicht und einem bereits existierenden Referenzgewicht kann die Anzahl produzierter Federn ermittelt werden (Das Referenzgewicht wird vor jeder Wiegung erwogen, und gibt an wie schwer eine definierte Anzahl von Federn dieses Typs dieser Tranche ist). Die durchgeführte Wiegung wird gespeichert und optional kann ein Wiegebericht gedruckt werden, der üblicherweise der Verpackung beigelegt wird.</td>
  216. <td align="center">H</td>
  217. <td align="center">80</td>
  218. <td align="center">L</td>
  219. </tr>
  220. <tr class="b"><td align="left">1a</td>
  221. <td align="left">Stückzahl zu Lieferlos erfassen</td>
  222. <td align="left">Der Vorgang des Erfassens einer Stückzahl kann entweder zu einem Lieferlos eines Auftrages geschehen. Dazu muss der Lagerarbeiter die Auftragsnummer eingeben, oder die Auftragsnummer wird anhand des QR/Barcodes am Auftragschein erfasst. Danach wählt er aus dem Auftrag ein Lieferlos aus bzw. bekommt ein Lieferlos vorgegeben. Zu diesem Lieferlos erfolgt dann die Wiegung</td>
  223. <td align="center">H</td>
  224. <td align="center">3</td>
  225. <td align="center">L</td>
  226. </tr>
  227. <tr class="a"><td align="left">1a.1</td>
  228. <td align="left">Lieferlos Stückzahl auf Ziel wiegen</td>
  229. <td align="left">Jedes Lieferlos enthält eine zu liefernde Stückzahl. Dem Lagerarbeiter soll angezeigt werden, wieviele Stück ihm noch auf Erfüllung des Auftrages fehlen. Es soll nur eine reine Information für den Lagerarbeiter sein! Daher muss der Lagerarbeiter bestätigen, wann er den Auftrag für erfüllt hält (Kleiner Toleranzüberschuss wird dem Auftrag hinzugefügt)</td>
  230. <td align="center">H</td>
  231. <td align="center">2</td>
  232. <td align="center">L</td>
  233. </tr>
  234. <tr class="b"><td align="left">1a.2</td>
  235. <td align="left">Lieferlos Stückzahl Überschuss einlagern</td>
  236. <td align="left">Es soll möglich sein, nachdem der Auftrag erfüllt worden ist (also nachdem der Lagerarbeiter ihn als erfüllt markiert hat) weiterhin Artikel zu wiegen, allerdings werden diese dann eingelagert.</td>
  237. <td align="center">N</td>
  238. <td align="center">4</td>
  239. <td align="center">L</td>
  240. </tr>
  241. <tr class="a"><td align="left">1b</td>
  242. <td align="left">Stückzahl zu Artikel erfassen</td>
  243. <td align="left">Dieses Feature wird benötigt, um Stückzahlen von Artikeln zu zählen, die keinem Lieferlos zugeordnet sind, zum Beispiel wenn einfach nur die Stückzahl eines Artikels kontrolliert werden soll.</td>
  244. <td align="center">M</td>
  245. <td align="center">2</td>
  246. <td align="center">L</td>
  247. </tr>
  248. <tr class="b"><td align="left">1.1</td>
  249. <td align="left">Wiegen</td>
  250. <td align="left">Das bestimmen eines Gewichtes: Der Benutzer hat die Möglichkeit eine Waage auszuwählen, falls mehrere Waagen angeschlossen sind.</td>
  251. <td align="center">H</td>
  252. <td align="center">3</td>
  253. <td align="center">L</td>
  254. </tr>
  255. <tr class="a"><td align="left">1.2</td>
  256. <td align="left">Referenzgewicht wiegen</td>
  257. <td align="left">Der Benutzer legt eine festgelegte Anzahl an Federn auf die ausgewählte Waage und bestimmt dadurch das Referenzgewicht.</td>
  258. <td align="center">H</td>
  259. <td align="center">2</td>
  260. <td align="center">L</td>
  261. </tr>
  262. <tr class="b"><td align="left">1.3a</td>
  263. <td align="left">Verpackungsgewicht erfassen</td>
  264. <td align="left">Der Benutzer erwiegt das Gewicht einer Verpackung</td>
  265. <td align="center">H</td>
  266. <td align="center">2</td>
  267. <td align="center">L</td>
  268. </tr>
  269. <tr class="a"><td align="left">1.3b</td>
  270. <td align="left">Verpackungsgewicht erfassen</td>
  271. <td align="left">Der Benutzer tippt das Verpackungsgewicht über einen Touchscreen ein</td>
  272. <td align="center">H</td>
  273. <td align="center">2</td>
  274. <td align="center">L</td>
  275. </tr>
  276. <tr class="b"><td align="left">1.5</td>
  277. <td align="left">Stückzahl messen</td>
  278. <td align="left">Durch wiegen einer Kiste (das Gewicht der Kiste wurde mit 1.3 erfasst) mit Federn kann anhand des Referenzgewichtes auf die Stückzahl geschlossen werden. Diese Stückzahl wird dann erfasst.</td>
  279. <td align="center">H</td>
  280. <td align="center">8</td>
  281. <td align="center">L</td>
  282. </tr>
  283. <tr class="a"><td align="left">1.5a</td>
  284. <td align="left">Wiegekarte drucken</td>
  285. <td align="left">Zu jeder einzelnen Stückzahlerfassung wird eine Wiegekarte gedruckt, die auf die Kiste geklebt wird, oder der Wiegung beigelegt wird (zur Information des Empfängers der Kiste) zusätzlich wird allerdings auch noch die Wiegung in der Datenbank erfasst</td>
  286. <td align="center">M</td>
  287. <td align="center">6</td>
  288. <td align="center">L</td>
  289. </tr>
  290. <tr class="b"><td align="left">2</td>
  291. <td align="left">Lagerverwaltung</td>
  292. <td align="left">Die Lagerverwaltung soll dem Lagerarbeiter helfen einen geeigneten Platz zur Einlagerung von verpackten Federn zu finden und dem Management einen Überblick über Ort und Anzahl der eingelagerten Produkte geben. Nach einer durchgeführten Wiegung hat der Lagerarbeiter die Möglichkeit sich freie Lagerplätze anzeigen zu lassen. Diese Anzeige kann intelligente Vorschläge für einen Lagerort machen, wenn die Größe und das Gewicht des Lagerguts bekannt sind. So werden zum Beispiel nur freie Regale angezeigt, die auch in der Lage sind die Last zu tragen. Die in Frage kommenden Regale können auch nach Entfernung zur Waage sortiert werden, damit unnötige Wege reduziert werden. Auch die verfügbaren Verpackungen oder Kisten werden vom System berücksichtigt. Ist beispielsweise aus Platzgründen keine Einlagerung in einer einzelnen Kiste möglich, so wird der Benutzer auf diesen Umstand hingewiesen. Das System liefert dabei Alternativvorschläge (z.B. 2 Kleinere Kisten eines anderen Typs). Wählt ein Lagerarbeiter schließlich ein Regal aus und lagert dort das Lagergut ein, wird diese Information gespeichert und ist sofort für das Management verfügbar.</td>
  293. <td align="center">M</td>
  294. <td align="center">106</td>
  295. <td align="center">L,M</td>
  296. </tr>
  297. <tr class="a"><td align="left">2.1</td>
  298. <td align="left">Einlagern</td>
  299. <td align="left">Der Lagerarbeiter soll gewogenen Federn Kistenweise einlagern können</td>
  300. <td align="center">H</td>
  301. <td align="center">7</td>
  302. <td align="center">L</td>
  303. </tr>
  304. <tr class="b"><td align="left">2.1a</td>
  305. <td align="left">Einlagern - Lagerplatz eintippen</td>
  306. <td align="left">Der Lagerarbeiter gibt die Lagerplatz in das System ein</td>
  307. <td align="center">M</td>
  308. <td align="center">3</td>
  309. <td align="center">L</td>
  310. </tr>
  311. <tr class="a"><td align="left">2.1b</td>
  312. <td align="left">Einlagern - Automatischer Lagerplatz</td>
  313. <td align="left">Das System schlägt anhand der gewählten Kiste einen Lagerplatz vor</td>
  314. <td align="center">N</td>
  315. <td align="center">8</td>
  316. <td align="center">L</td>
  317. </tr>
  318. <tr class="b"><td align="left">2.2</td>
  319. <td align="left">Kistenmangement</td>
  320. <td align="left">Das System verwaltet Kisten, in verschiedenen Kategorien, wie zum Beispiel klein, mittel, groß</td>
  321. <td align="center">N</td>
  322. <td align="center">8</td>
  323. <td align="center">L&amp;M</td>
  324. </tr>
  325. <tr class="a"><td align="left">2.3</td>
  326. <td align="left">Regale verwalten</td>
  327. <td align="left">Das System verwaltet Regale + Regalplätze Regale mit Maßen eintragen + löschen + editieren</td>
  328. <td align="center">M</td>
  329. <td align="center">4</td>
  330. <td align="center">M</td>
  331. </tr>
  332. <tr class="b"><td align="left">2.3a</td>
  333. <td align="left">Regale verwalten - Barcode</td>
  334. <td align="left">Die Regalplätze sollen mit einem Barcode ausgeschildert werden könne + Bezeichnung</td>
  335. <td align="center">M</td>
  336. <td align="center">5</td>
  337. <td align="center">M</td>
  338. </tr>
  339. <tr class="a"><td align="left">2.4</td>
  340. <td align="left">Lagerstand</td>
  341. <td align="left">Den Lagerstand anzeigen in Stückzahlen</td>
  342. <td align="center">H</td>
  343. <td align="center">2</td>
  344. <td align="center">M &amp; L</td>
  345. </tr>
  346. <tr class="b"><td align="left">2.5</td>
  347. <td align="left">Freie Lagerplätze anzeigen</td>
  348. <td align="left">Die in den Regalen noch freien Lagerplätze sollen angezeigt werden können</td>
  349. <td align="center">N</td>
  350. <td align="center">5</td>
  351. <td align="center">M &amp; L</td>
  352. </tr>
  353. <tr class="a"><td align="left">3</td>
  354. <td align="left">(Eingang)/Ausgang</td>
  355. <td align="left">Die Applikation kann Informationen über die und Ausgänge der Firma liefern und sie teilweise verwalten. Ein Auftrag an die Firma besteht aus mehreren Lieferlosen. Die Applikation liefert Informationen über offene Lieferlose/Aufträge (das sind alle Aufträge, deren Endprüfung abgeschlossen ist, aber die noch nicht gewogen worden sind). Weiters können fertig gewogene und abgepackte Lieferlose angezeigt werden. Für diese Lieferlose kann das Management eine Freigabe erteilen, nach welcher der Lagerarbeiter wiederrum die Lieferung zusammenstellen und einen Lieferschein drucken kann. Sobald ein Lieferlos vollständig abgearbeitet ist soll der Benutzer darauf hingewiesen werden, dass eine Spedition bestellt werden kann.</td>
  356. <td align="center">N</td>
  357. <td align="center">72</td>
  358. <td align="center">L,M</td>
  359. </tr>
  360. <tr class="b"><td align="left">3.1</td>
  361. <td align="left">Lieferlos zum wiegen freigeben</td>
  362. <td align="left">Das Management soll über eine GUI bei einem Auftrag ein Lieferlos zum Wiegen freigeben, allerdings nur, wenn die notwendigen Qualitätsprüfungen für den Auftrag abgeschlossen sind ( 6.1 )</td>
  363. <td align="center">M</td>
  364. <td align="center">4</td>
  365. <td align="center">M</td>
  366. </tr>
  367. <tr class="a"><td align="left">3.2</td>
  368. <td align="left">Lieferlos zum Liefern freigeben</td>
  369. <td align="left">Das Management kann fertig gewogene Lieferlose zum Liefern freigeben, wenn fertig gewogen</td>
  370. <td align="center">N</td>
  371. <td align="center">5</td>
  372. <td align="center">M</td>
  373. </tr>
  374. <tr class="b"><td align="left">3.3</td>
  375. <td align="left">Lieferlos zur Abholliste stellen</td>
  376. <td align="left">Das Management kann fertig gewogene Lieferlose auf die Abholliste stellen. Dazu wird das Lieferlos mit Abholdatum markiert und soll dann durch den Lagerarbeiter für den Versand fertig gemacht werden.</td>
  377. <td align="center">N</td>
  378. <td align="center">4</td>
  379. <td align="center">M</td>
  380. </tr>
  381. <tr class="a"><td align="left">3.3a</td>
  382. <td align="left">Lieferlos zur Abholliste stellen + Spedition</td>
  383. <td align="left">Wenn das Lieferlos auf der Abholliste steht, wird eine Spedition bestellt. Dabei wird ein Abholdatum eingetragen, der Speditionsname, und andere für den Versand wichtige Informationen</td>
  384. <td align="center">N</td>
  385. <td align="center">3</td>
  386. <td align="center">M</td>
  387. </tr>
  388. <tr class="b"><td align="left">3.4</td>
  389. <td align="left">Zum Versand fertige Lieferlose anzeigen</td>
  390. <td align="left">Der Lagerarbeiter kann sich die zum Versand fertigen Lieferlose anzeigen lassen. Diese stellt er dann bereit.</td>
  391. <td align="center"></td>
  392. <td align="center"></td>
  393. <td align="center"></td>
  394. </tr>
  395. <tr class="a"><td align="left">3.4a</td>
  396. <td align="left">Drucken eines Lieferscheins zum Lieferlos</td>
  397. <td align="left">Beim bereitstellen des Lieferloses (das auch aus mehreren Kisten bestehen kann) wird ein Lieferschein gedruckt, der dem Versandgut dann beigelegt wird. Auf dem Lieferschein ist jede Kiste eingetragen mit deren Stück und Gewicht und Inhalt.</td>
  398. <td align="center"></td>
  399. <td align="center"></td>
  400. <td align="center"></td>
  401. </tr>
  402. <tr class="b"><td align="left">3.4b</td>
  403. <td align="left">Versand vermerken</td>
  404. <td align="left">Der Lagerarbeiter vermerkt dann denn Versand des Lieferloses im System</td>
  405. <td align="center">N</td>
  406. <td align="center">2</td>
  407. <td align="center">M</td>
  408. </tr>
  409. <tr class="a"><td align="left">4</td>
  410. <td align="left">Berichte</td>
  411. <td align="left">Das Management kann Berichte über die verschiedenen Prozesse innerhalb des Unternehmens anzeigen lassen. Das sind Berichte zur Anzeige der gewogenen Stück Federn und der durchgeführten Einlagerungen, sowie abgearbeitete Lieferlose und Qualitätsprüfungsergebnisse.</td>
  412. <td align="center">M</td>
  413. <td align="center">47</td>
  414. <td align="center">M</td>
  415. </tr>
  416. <tr class="b"><td align="left">4.1</td>
  417. <td align="left">Gewogene Stückzahlen</td>
  418. <td align="left">Ein Bericht über die gewogenen Stück pro Woche/Tag/Monat</td>
  419. <td align="center">M</td>
  420. <td align="center">5</td>
  421. <td align="center">M</td>
  422. </tr>
  423. <tr class="a"><td align="left">4.2</td>
  424. <td align="left">Versandte Lieferlose heute</td>
  425. <td align="left">Die versendeten Lieferlose Tag/Woche/Monat</td>
  426. <td align="center">N</td>
  427. <td align="center">4</td>
  428. <td align="center">M</td>
  429. </tr>
  430. <tr class="b"><td align="left">4.3</td>
  431. <td align="left">Abgearbeitete Qualitätsprüfungen</td>
  432. <td align="left">Die durchgeführten Prüfungen pro Lieferlos/Auftrag</td>
  433. <td align="center">N</td>
  434. <td align="center">3</td>
  435. <td align="center">M</td>
  436. </tr>
  437. <tr class="a"><td align="left">6</td>
  438. <td align="left">Qualitätsprüfung</td>
  439. <td align="left">Jeder Auftrag an die Firma Faustenhammer kann einer Qualitätsprüfung unterzogen werden. Ein Qualitätsprüfungssatz besteht aus mehreren Prüfungen, welche wiederrum aus mehreren Messvorschriften besteht. Das Management definiert und wartet diese Qualitätsprüfungen, wobei bei Änderungen von Prüfungssätzen eine Versionierung über die Änderungen vorgenommen wird. Der Lagerarbeiter kann sich notwendige Prüfungen für einen Auftrag anzeigen lassen und gegebenenfalls durchführen und deren Ergebnisse speichern.</td>
  440. <td align="center">H</td>
  441. <td align="center">99</td>
  442. <td align="center">L,M</td>
  443. </tr>
  444. <tr class="b"><td align="left">6.1</td>
  445. <td align="left">Qualitätsprüfungssatus zu Auftrag</td>
  446. <td align="left">Sind alle notwendigen Pflichtprüfungen für diesen Auftrag abgeschlossen</td>
  447. <td align="center">M</td>
  448. <td align="center">4</td>
  449. <td align="center">M</td>
  450. </tr>
  451. <tr class="a"><td align="left">6.2</td>
  452. <td align="left">Verwalten eines Qualitätsprüfungssatzes</td>
  453. <td align="left">Ein Qualitätsprüfungssatz besteht aus mehreren Prüfungen, die untereinander voneinander abhängen können (Prüfung A muss vor B passieren), Prüfungen, die pro Lieferlos durchgeführt werden müssen, oder Prüfungen, die pro Auftrag durchgeführt werden müssen. Prüfungen können auch optional sein. Kurz gesagt ist der Qualitätsprüfungssatz eine Summe an Prüfungen, die einem Artikel zugeordnet sind, und bei der Auftragserstellung an den Auftrag gekoppelt werden. Daher wenn der Qualitätsprüfungssatz geändert wird, betrifft dies nicht alte Aufträge. Andererseits können bei einem Auftrag auch Änderungen erfolgen, die nur diesen einzigen Auftrag betreffen.</td>
  454. <td align="center">H</td>
  455. <td align="center">14</td>
  456. <td align="center">M</td>
  457. </tr>
  458. <tr class="b"><td align="left">6.3</td>
  459. <td align="left">Verwalten einer Prüfung zu einem Qualitätsprüfungssatz</td>
  460. <td align="left">Eine einzelne Prüfung enthält mehrere Messvorschriften, was soll womit gemessen werden</td>
  461. <td align="center">H</td>
  462. <td align="center">12</td>
  463. <td align="center">M</td>
  464. </tr>
  465. <tr class="a"><td align="left">6.4</td>
  466. <td align="left">Messwerkzeuge</td>
  467. <td align="left">Es sollen bestimmte Prüfwerkzeuge vordefiniert sein</td>
  468. <td align="center">H</td>
  469. <td align="center">10</td>
  470. <td align="center">M</td>
  471. </tr>
  472. <tr class="b"><td align="left">6.5</td>
  473. <td align="left">Anzeigen der noch offenen Prüfungen</td>
  474. <td align="left">Zu einem Auftrag oder Lieferlos sollen die noch offenen Prüfungen angezeigt werden können, und auch Prüfungen die im Moment gemacht werden können.</td>
  475. <td align="center">H</td>
  476. <td align="center">23</td>
  477. <td align="center">L</td>
  478. </tr>
  479. <tr class="a"><td align="left">6.6</td>
  480. <td align="left">Durchführen einer Prüfung und eintragen der Ergebnisse</td>
  481. <td align="left">Der Lagerarbeiter führt die Prüfungen laut Prüfungsvorschrift durch und trägt die Werte in die Maske ein. Bei Unstimmigkeiten (zu große Abweichungen - werden beim erstellen der Messvorschrift definiert) soll der Lagerarbeiter auf den Fehler hingewiesen werden.</td>
  482. <td align="center">H</td>
  483. <td align="center">12</td>
  484. <td align="center">M</td>
  485. </tr>
  486. <tr class="b"><td align="left">6.7</td>
  487. <td align="left">Fehlgeschlagenen Prüfungen anzeigen</td>
  488. <td align="left">Wenn eine Prüfung nicht erfüllt wird, soll das Management darüber benachrichtigt werden. Es gibt einfach eine Liste von fehlgeschlagenen Prüfungen + Was ist fehlgeschlagen. Welches Qualitätskriterium wurde nicht erfüllt.</td>
  489. <td align="center">M</td>
  490. <td align="center">14</td>
  491. <td align="center">M</td>
  492. </tr>
  493. <tr class="a"><td align="left">6.8</td>
  494. <td align="left">Änderungen des Qulitätsprüfungssatzes anzeigen</td>
  495. <td align="left">Wird der Qualitätsprüfungssatz geändert, dann soll die Historie erhalten bleiben, damit man sich jederzeit die Änderungen mit der Zeit ansehen kann und auch zurückverfolgen kann wie ältere Aufträge geprüft wurden.</td>
  496. <td align="center"></td>
  497. <td align="center"></td>
  498. <td align="center"></td>
  499. </tr>
  500. <tr class="b"><td align="left">7</td>
  501. <td align="left">Barcode scannen</td>
  502. <td align="left">Der Lagerarbeiter kann einem am Auftragsschein aufgedruckten Barcode mittels einer am Terminal angebrachten Webcam scannen. Der Barcode wird von der Applikation erkannt und relevante Informationen über Aufträge, Produkte und Qualitätsprüfungen, welche zu diesem Auftrag gehören werden angezeigt.</td>
  503. <td align="center">M</td>
  504. <td align="center">15</td>
  505. <td align="center">L</td>
  506. </tr>
  507. <tr class="a"><td align="left">7.1</td>
  508. <td align="left">Barcode von Auftragsschein scannen</td>
  509. <td align="left">überall, wo die Eingabe einer Auftragsnummer ( 6.1, am Terminal notwendig ist, soll der Barcode-scanner Anwendung finden</td>
  510. <td align="center"></td>
  511. <td align="center"></td>
  512. <td align="center"></td>
  513. </tr>
  514. </tbody>
  515. </table>
  516. </li>
  517. </ul>
  518. </div>
  519. <div class="section"><h4><a name="Iceberglist">Iceberglist</a></h4>
  520. <p>siehe <a href="./iceberglist.html">Iceberg List</a></p>
  521. </div>
  522. </div>
  523. <div class="section"><h3><a name="Domänenmodell">Domänenmodell</a></h3>
  524. <img src="images/domaenenmodell.png" /></div>
  525. <div class="section"><h3><a name="Arbeitsstruktur__Grober_Projektplan">Arbeitsstruktur &amp; Grober Projektplan</a></h3>
  526. <div class="section"><h4><a name="Rollenverteilung">Rollenverteilung</a></h4>
  527. <p>siehe <a href="#Entwickler">Entwicklerteam</a></p>
  528. </div>
  529. <div class="section"><h4><a name="Horizontale_Verantwortlichkeiten">Horizontale Verantwortlichkeiten</a></h4>
  530. <div class="section"><h5><a name="Techn._Architekten">Techn. Architekten</a>:</h5>
  531. <ul><li>Projekt Object Model</li>
  532. <li>Beherschen der verwendeten Technologien</li>
  533. <li>Erstellen der Codierungsrichtlinien</li>
  534. <li>Verwalten von Enhancement-Tickets</li>
  535. <li>Design der Architektur<ul><li>Visualisierung in UML ( Komponentendiagramm )</li>
  536. </ul>
  537. </li>
  538. </ul>
  539. </div>
  540. <div class="section"><h5><a name="Team_Koordinator">Team Koordinator</a>:</h5>
  541. <ul><li>Organisation und Planung</li>
  542. <li>Controlling und Tracking<ul><li>Statusberichte</li>
  543. <li>Reviews</li>
  544. </ul>
  545. </li>
  546. <li>Kontrolle der Aufgabenverteilung</li>
  547. <li>Primärer Ansprechpartner für Auftraggeber</li>
  548. <li>Schnittstelle nach außen</li>
  549. <li>Organisation von Meetings</li>
  550. </ul>
  551. </div>
  552. <div class="section"><h5><a name="Dokumentationsbeauftragte">Dokumentationsbeauftragte</a>:</h5>
  553. <ul><li>Verfügbarkeit der Dokumentation, z.B. über Mercurial und Maven site.</li>
  554. <li>Java API Dokumentation integrieren mit dem Maven Javadoc Plugin<ul><li>Jede Java-Package muss dokumentiert werden. Eine package-info.java Datei muss für jedes Java-Package erstellt werden.</li>
  555. </ul>
  556. </li>
  557. <li>Sicherstellen, dass alle Klassen, Variablen und Methoden einheitlich dokumentiert werden</li>
  558. <li>Erstellung von Dokumentationsrichtlinien (Format- und Formatierungsrichtlinien, Spezifikation der Code Conventions, Erstellung von Vorlagen, ...)</li>
  559. <li>Überprüfung der Einhaltung von Dokumentationsrichtlinie</li>
  560. <li>Überprüfung der Vollständigkeit von Dokumenten</li>
  561. <li>Organisation und Archivierung der Dokumente im SCM</li>
  562. </ul>
  563. </div>
  564. <div class="section"><h5><a name="Testbeauftragte">Testbeauftragte</a>:</h5>
  565. <ul><li>Test Infrastruktur<ul><li>Test Bibliotheken, Testdaten (zweite DB).</li>
  566. <li>Test Suites: Integration mit Spring Framework um Testdaten zu managen.</li>
  567. <li>Sicherstellen, dass Testcode von Produktionscode getrennt wird.</li>
  568. </ul>
  569. </li>
  570. <li>Erstellung des Testplans<ul><li>Testvorgehensweise (Codegerüst), Planung von Test-Runs</li>
  571. <li>Auswirkungen bei Fehlern, Weitergabeverhalten bei Fehlern (Exceptionhandling)</li>
  572. </ul>
  573. </li>
  574. <li>Verwaltung aller Trouble-Tickets im Tracker</li>
  575. <li>Überwachung von Integrations- und Systemtests (starke Zusammenarbeit mit dem Technischen Architekten)</li>
  576. <li>Regelmäßige Überprüfung aller Unit-Tests</li>
  577. </ul>
  578. </div>
  579. <div class="section"><h5><a name="BuildRelease_Manager">Build/Release Manager</a>:</h5>
  580. <ul><li>Development Environment Infrastruktur<ul><li>Scripts zum Initialisieren, Testen oder Verteilen (deploy)</li>
  581. <li>Tagging im SCM für jeden Meilenstein, siehe Iceberglist und Lieferkomponenten</li>
  582. <li>Build, Deploy Targets von Maven; &quot;Projekt kann jederzeit ausgecheckt und kompiliert werden&quot;</li>
  583. </ul>
  584. </li>
  585. <li>Expertenwissen über die Build und SCM Werkzeuge (Maven &amp; Mercurial)</li>
  586. </ul>
  587. </div>
  588. </div>
  589. <div class="section"><h4><a name="Grober_Projektplan">Grober Projektplan</a></h4>
  590. <p>Artefakte, die aus dem Projektauftrag entstehen und werkzeugunterstützt oder als eigenständige Artefakte weitergeführt werden, wurden bereits in der Work Breakdown Structure eingeplant. Die Verteilung basiert auf den Rollen und Horizontalen Verantwortungen. Work Breakdown Structure (WBS)</p>
  591. <p>Die WBS wurde auf Meilenstein-Ebene entworfen und es wurden die ersten Arbeitspakete aufgrund der Horizontalen Verantwortungen berücksichtigt. Die technischen Arbeitspakete der Iceberglist werden in der WBS in diesem Projekt nur auf Meilensteinebene berücksichtigt - weil wir technisch nach SCRUM vorgehen. Das heisst es werden hier nur &quot;nicht-technische&quot; Arbeitspakete (Dokumentation, Konfiguration, etc.) eingetragen.</p>
  592. <table class="bodyTable"><tbody><tr class="b"><th align="center">Nr</th>
  593. <th align="center">Arbeitspakete</th>
  594. <th align="center">Anfang</th>
  595. <th align="center">Ende</th>
  596. <th align="center">Personentage</th>
  597. <th align="center">Verantwort.</th>
  598. </tr>
  599. <tr class="a"><td align="center"><i>MS.0</i></td>
  600. <td align="center">Meilenstein 0: Kick-Off</td>
  601. <td align="center">6.4.2011</td>
  602. <td align="center">7.4.2011</td>
  603. <td align="center">1</td>
  604. <td align="center"></td>
  605. </tr>
  606. <tr class="b"><td align="center">1.1</td>
  607. <td align="center">Anforderungs-Analyse</td>
  608. <td align="center">7.4.2011</td>
  609. <td align="center">1.5.2011</td>
  610. <td align="center">24</td>
  611. <td align="center">..</td>
  612. </tr>
  613. <tr class="a"><td align="center">1.1.1</td>
  614. <td align="center">Feature-Liste verfeinern: Iceberglist</td>
  615. <td align="center">7.4.2011</td>
  616. <td align="center">14.4.2011</td>
  617. <td align="center">7</td>
  618. <td align="center">..</td>
  619. </tr>
  620. <tr class="b"><td align="center">1.1.2</td>
  621. <td align="center">Ausgangs &amp; Projektbeschreibung (vom PV) verfeinern</td>
  622. <td align="center">7.4.2011</td>
  623. <td align="center">11.4.2011</td>
  624. <td align="center">4</td>
  625. <td align="center">..</td>
  626. </tr>
  627. <tr class="a"><td align="center">1.1.3</td>
  628. <td align="center">Zielgruppen verfeinern, Aktorenhierachie erstellen</td>
  629. <td align="center">7.4.2011</td>
  630. <td align="center">10.4.2011</td>
  631. <td align="center">3</td>
  632. <td align="center">..</td>
  633. </tr>
  634. <tr class="b"><td align="center">1.1.4</td>
  635. <td align="center">Anwendungsfälle: User Story zu den wichtigsten Prioritäten</td>
  636. <td align="center">8.4.2011</td>
  637. <td align="center">12.4.2011</td>
  638. <td align="center">4</td>
  639. <td align="center">..</td>
  640. </tr>
  641. <tr class="a"><td align="center">1.1.5</td>
  642. <td align="center">Projektplan erstellen</td>
  643. <td align="center">7.4.2011</td>
  644. <td align="center">14.4.2011</td>
  645. <td align="center">7</td>
  646. <td align="center">..</td>
  647. </tr>
  648. <tr class="b"><td align="center"><i>MS.1</i></td>
  649. <td align="center">Meilenstein 1: Projektdefinition, Projektauftrag</td>
  650. <td align="center">14.4.2011</td>
  651. <td align="center">15.4.2011</td>
  652. <td align="center">1</td>
  653. <td align="center"></td>
  654. </tr>
  655. <tr class="a"><td align="center"><i>MR-1</i></td>
  656. <td align="center">Management Review 1 (Anforderungs-Review)</td>
  657. <td align="center">19.4.2011</td>
  658. <td align="center">20.4.2011</td>
  659. <td align="center">1</td>
  660. <td align="center"></td>
  661. </tr>
  662. <tr class="b"><td align="center">1.2</td>
  663. <td align="center">Anforderungs-Analyse fertigstellen</td>
  664. <td align="center">2.5.2011</td>
  665. <td align="center">8.5.2011</td>
  666. <td align="center">5</td>
  667. <td align="center">..</td>
  668. </tr>
  669. <tr class="a"><td align="center">1.2.1</td>
  670. <td align="center">Anwendungsfall-Beschreibung: alle UCs mit User Story</td>
  671. <td align="center">2.5.2011</td>
  672. <td align="center">8.5.2011</td>
  673. <td align="center">5</td>
  674. <td align="center">Lukas Sulzbacher</td>
  675. </tr>
  676. <tr class="b"><td align="center">1.2.2</td>
  677. <td align="center">Nichtfunktionale Anforderungen in die UCs einarbeiten</td>
  678. <td align="center">2.5.2011</td>
  679. <td align="center">4.5.2011</td>
  680. <td align="center">2</td>
  681. <td align="center">Lukas Sulzbacher</td>
  682. </tr>
  683. <tr class="a"><td align="center">1.2.3</td>
  684. <td align="center">Projektplan verfeinern, Arbeitspaket-Ebene</td>
  685. <td align="center">4.5.2011</td>
  686. <td align="center">8.5.2011</td>
  687. <td align="center">3</td>
  688. <td align="center">Stephan Spindler</td>
  689. </tr>
  690. <tr class="b"><td align="center">2.1</td>
  691. <td align="center">Entwurf und Design</td>
  692. <td align="center">22.4.2011</td>
  693. <td align="center">7.5.2011</td>
  694. <td align="center">13</td>
  695. <td align="center">Sascha Rainer</td>
  696. </tr>
  697. <tr class="a"><td align="center">2.1.1</td>
  698. <td align="center">Domönenmodell abschließen und im SCM einchecken</td>
  699. <td align="center">22.4.2011</td>
  700. <td align="center">23.4.2011</td>
  701. <td align="center">1</td>
  702. <td align="center">Lukas Sulzbacher</td>
  703. </tr>
  704. <tr class="b"><td align="center">2.1.2</td>
  705. <td align="center">Komponentendiagramm aktualisieren und im SCM einchecken</td>
  706. <td align="center">22.4.2011</td>
  707. <td align="center">23.4.2011</td>
  708. <td align="center">1</td>
  709. <td align="center">Michael Malik</td>
  710. </tr>
  711. <tr class="a"><td align="center">3.0</td>
  712. <td align="center">Implementierung Sprint 1</td>
  713. <td align="center">19.4.2011</td>
  714. <td align="center">29.4.2011</td>
  715. <td align="center">10</td>
  716. <td align="center">Sascha Rainer</td>
  717. </tr>
  718. <tr class="b"><td align="center">3.0.1</td>
  719. <td align="center">DB Schema &amp; Testdaten</td>
  720. <td align="center">19.4.2011</td>
  721. <td align="center">29.4.2011</td>
  722. <td align="center">10</td>
  723. <td align="center">Stephan Spindler</td>
  724. </tr>
  725. <tr class="a"><td align="center">3.0.2</td>
  726. <td align="center">Persistenz-Schicht, DAOs, Model Klassen</td>
  727. <td align="center">19.4.2011</td>
  728. <td align="center">29.4.2011</td>
  729. <td align="center">10</td>
  730. <td align="center">Sascha Rainer</td>
  731. </tr>
  732. <tr class="b"><td align="center">3.0.3</td>
  733. <td align="center">Service Schicht &amp; erstes GUI Panel</td>
  734. <td align="center">19.4.2011</td>
  735. <td align="center">29.4.2011</td>
  736. <td align="center">10</td>
  737. <td align="center">Michael Malik</td>
  738. </tr>
  739. <tr class="a"><td align="center">3.0.4</td>
  740. <td align="center">SCM, Tracker Konfiguration</td>
  741. <td align="center">19.4.2011</td>
  742. <td align="center">29.4.2011</td>
  743. <td align="center">10</td>
  744. <td align="center">Stephan Spindler</td>
  745. </tr>
  746. <tr class="b"><td align="center">3.0.5</td>
  747. <td align="center">Produkt Dokumentation, maven site</td>
  748. <td align="center">19.4.2011</td>
  749. <td align="center">29.4.2011</td>
  750. <td align="center">10</td>
  751. <td align="center">Lukas Sulzbacher</td>
  752. </tr>
  753. <tr class="a"><td align="center">3.0.6</td>
  754. <td align="center">Maven Konfiguration (pom.xml)</td>
  755. <td align="center">19.4.2011</td>
  756. <td align="center">29.4.2011</td>
  757. <td align="center">10</td>
  758. <td align="center">Matthias Krug</td>
  759. </tr>
  760. <tr class="b"><td align="center">3.0.7</td>
  761. <td align="center">Tests der Persistenz-Schicht (DAOs), Test-Suites</td>
  762. <td align="center">19.4.2011</td>
  763. <td align="center">29.4.2011</td>
  764. <td align="center">10</td>
  765. <td align="center">Stefan Schlossarek</td>
  766. </tr>
  767. <tr class="a"><td align="center"><i>MS.2</i></td>
  768. <td align="center">Meilenstein 2: pre-release &quot;Hello World&quot; im SCM</td>
  769. <td align="center">29.4.2011</td>
  770. <td align="center">30.4.2011</td>
  771. <td align="center">1</td>
  772. <td align="center">Matthias Krug</td>
  773. </tr>
  774. <tr class="b"><td align="center"><i>IR-1</i></td>
  775. <td align="center">Internes Review 1 mit Statusbericht</td>
  776. <td align="center">2.5.2011</td>
  777. <td align="center">2.5.2011</td>
  778. <td align="center">1</td>
  779. <td align="center"></td>
  780. </tr>
  781. <tr class="a"><td align="center">2.2</td>
  782. <td align="center">Entwurf und Design fertigstellen</td>
  783. <td align="center">2.5.2011</td>
  784. <td align="center">2.5.2011</td>
  785. <td align="center">9</td>
  786. <td align="center">Sascha Rainer</td>
  787. </tr>
  788. <tr class="b"><td align="center">2.3</td>
  789. <td align="center">Implementierung Sprint 2 bis Version 2, siehe Iceberglist</td>
  790. <td align="center">2.5.2011</td>
  791. <td align="center">9.5.2011</td>
  792. <td align="center">9</td>
  793. <td align="center">alle</td>
  794. </tr>
  795. <tr class="a"><td align="center"><i>MS.3</i></td>
  796. <td align="center">Meilenstein 3: alpha Release Abgabe im SCM</td>
  797. <td align="center">9.5.2011</td>
  798. <td align="center">10.5.2011</td>
  799. <td align="center">1</td>
  800. <td align="center"></td>
  801. </tr>
  802. <tr class="b"><td align="center"><i>MR-2</i></td>
  803. <td align="center">Management Review 2 mit Statusbericht</td>
  804. <td align="center">11.5.2011</td>
  805. <td align="center">11.5.2011</td>
  806. <td align="center">1</td>
  807. <td align="center"></td>
  808. </tr>
  809. <tr class="a"><td align="center">3.2</td>
  810. <td align="center">Implementierung Sprint 3 bis Version 3, siehe Iceberglist</td>
  811. <td align="center">11.5.2011</td>
  812. <td align="center">1.6.2011</td>
  813. <td align="center">21</td>
  814. <td align="center"></td>
  815. </tr>
  816. <tr class="b"><td align="center"><i>MS.4</i></td>
  817. <td align="center">Meilenstein 4: beta Release Abgabe im SCM</td>
  818. <td align="center">30.5.2011</td>
  819. <td align="center">31.5.2011</td>
  820. <td align="center">1</td>
  821. <td align="center"></td>
  822. </tr>
  823. <tr class="a"><td align="center"><i>IR-2</i></td>
  824. <td align="center">Internes Review 2 mit Statusbericht</td>
  825. <td align="center">1.6.2011</td>
  826. <td align="center">2.6.2011</td>
  827. <td align="center">1</td>
  828. <td align="center"></td>
  829. </tr>
  830. <tr class="b"><td align="center">3.3</td>
  831. <td align="center">Implementierung Sprint 4 bis Version 5, siehe Iceberglist</td>
  832. <td align="center">2.6.2011</td>
  833. <td align="center">22.6.2011</td>
  834. <td align="center">20</td>
  835. <td align="center"></td>
  836. </tr>
  837. <tr class="a"><td align="center"><i>MS.5</i></td>
  838. <td align="center">Meilenstein 5: Release-Candidate Abgabe im SCM</td>
  839. <td align="center">20.6.2011</td>
  840. <td align="center">21.6.2011</td>
  841. <td align="center">1</td>
  842. <td align="center"></td>
  843. </tr>
  844. <tr class="b"><td align="center"><i>MR-3</i></td>
  845. <td align="center">Management Review 3 mit Projektendbericht</td>
  846. <td align="center">22.6.2011</td>
  847. <td align="center">21.6.2011</td>
  848. <td align="center">1</td>
  849. <td align="center"></td>
  850. </tr>
  851. </tbody>
  852. </table>
  853. </div>
  854. </div>
  855. <div class="section"><h3><a name="Projektabgrenzungen">Projektabgrenzungen</a></h3>
  856. <p>Das Sepm Projekt erfasst auf Datenbankebene alle Entitäten mit Ausnahme des Kunden, der Aufträge, Lieferlose und Artikelstammdaten. Von diesen Entitäten wird das schon vorhandene Datenbankschema in unsere zu erstellende Datenbank übernommen.</p>
  857. <p>Auf Domänenmodellebene müssen alle Domänenobjekte laut Domänenmodell realisiert werden. Allerdings muss bei den Aufträgen und Artikelstammdaten nur die Read-Methode implementiert werden. Bei den Lieferlosen muss auf einige Attribute ändernd zugegriffen werden, folglich ist beim Domänenobjekt Lieferlos auch eine Change-Methode zu implementieren. Alle anderen Domänenobjekte folgen dem CRUD-Schema.</p>
  858. <p>Das Produkt soll keine Aufträge oder Lieferlose erfassen können, es sollen lediglich offene Lieferlose zu einer eingebenen Auftragsnummer angezeigt werden können. Ebenso verfügt es über keinerlei Artikelverwaltung, da diese schon implementiert ist. Es sollen die zum Wiegen freigegebenen Lieferlose bzw. die bereits gewogenen Lieferlose angezeigt werden können.</p>
  859. <p>Die Anbindung an die Waage wird nicht im Rahmen der SEPM-LVA implementiert, stattdessen wird die Waage simuliert (siehe Grafik).</p>
  860. <img src="images/abgrenzung_waage_schnittstelle.png" /><p>Die blau markierten Klassen werden nicht implementiert. Es wird lediglich ein Testtreiber implementiert, der Testdaten zurückliefert. (Die Klasse BalanceManager verwaltet alle registrierten Waagen, die Klasse IBalanceDriver definiert die Schnittstelle der Waagentreiber.)</p>
  861. <p>In einem Folgeprojekt werden dann die notwendigen Treiber für die verschiedenen Waagen programmiert, weiters die vorhandene Ingres-Datenbank auf eine Postgresql-Datenbank migriert. In diesem Schritt erfolgt dann auch die Einbindung der neuen Entitäten in das Datenmodell.</p>
  862. </div>
  863. <div class="section"><h3><a name="Komponentendiagramm">Komponentendiagramm</a></h3>
  864. <p>Das Komponentendiagramm veranschaulicht die Verteilung der Komponenten und deren Schnittstellen auf die einzelnen Schichten des Systems.<br />
  865. Deutlich wird unter anderem dass auf der Persistenz-Schicht die Software auf die gmeinsamen DAO-Komponenten zugreifft, während der Service-Layer Core-Komponenten zur Verfügung stellt, die von den Komponenten der Service Layer für die Lagerverwaltung und des Managements genutzt werden können.<br />
  866. Auch auf der Präsentationsebene ist die Software in die Bereiche Storage und Management geteilt, da zwei unterschiedliche Benutzeroberflächen entwickelt werden.</p>
  867. <img src="images/komponentendiagramm.png" /></div>
  868. <div class="section"><h3><a name="Lieferkomponenten">Lieferkomponenten</a></h3>
  869. <ul><li>Programm für Terminal</li>
  870. <li>Programm für Management</li>
  871. <li>Datenbankschema: Ein SQL-Skript zum Erstellen aller notwendiger Tabellen in einer HSQLDB-Datenbank.</li>
  872. </ul>
  873. </div>
  874. <div class="section"><h3><a name="Nichtfunktionale_Anforderungen">Nichtfunktionale Anforderungen</a></h3>
  875. <p><b>Graphical User Interface:</b></p>
  876. <p>Dem <a href="#Lagerarbeiter">Lagerarbeiter</a> muss es möglich sein, alle seine Aufgaben über einen TouchScreen zu erledigen. Dementsprechend muss das Interface darauf ausgelegt werden:</p>
  877. <ul><li>große Buttons - mindestens 2cm x 2cm auf dem Bildschirm</li>
  878. <li>große Schrift - 20pt, ohne Serifen</li>
  879. <li>keine unnötigen Informationen anzeigen, die nicht unbedingt für die Funktion benötigt werden</li>
  880. <li>den Benutzer bevorzugt aus Listen auswählen lassen, bevor er manuell Eingaben in ein Textfeld tätigen muss, da diese Eingaben auf einem TouchScreen zu einer deutlichen Einschränkung des Benutzungscomfort führen.</li>
  881. </ul>
  882. <p><b>Portabilität:</b></p>
  883. <p>Das System soll sich nicht auf eine Plattform festlegen, sondern auf allen Plattformen lauffähig sein, auf denen die Java Virtual Machine läuft (wie Beispielsweise Windows und Unix).</p>
  884. <p><b>Ressourcenbedarf/Stabilität:</b></p>
  885. <p>Das Sytem muss auf einem durchschnittlichen Bürocomputer (P4, 3GHz, 512MB RAM) laufen können, ohne abzustürzen. Bei Abfragen ohne Datenbank-Zugriff ist eine maximale Dauer von 2 Sekunden vorgesehen, 10 Sekunden wenn eine Abfrage auf die Datenbank benötigt wird.</p>
  886. <p><b>Fehlerbehandlung:</b></p>
  887. <p>Bei einem Auftreten eines Fehlers sollen diese so behandelt werden, dass das System nur im Notfall beendet werden muss. Beispielsweise wenn kein Zugriff auf die Datenbank möglich ist kann das System beendet werden. Sollte aber nur eine Waage nicht gefunden werden und der aktuelle Arbeitsprozess er

Large files files are truncated, but you can click here to view the full file