6e458ae76f
ASPICE 4.0 / ISO 26262 Entwicklungsprozess fuer kleine Teams. Inhalte: - README mit hybrider Format-Strategie (Word + Markdown) - Toolstack (Gitea, Doorstop, Cppcheck, gcov, CppUTest, pandoc) - Markdown-Vorlagen fuer Requirements + Architektur (SA, SWA) - Markdown-Vorlagen fuer formelle Dokumente (PID, PM-Plan, QA-Plan, SWE-Plan, Test-Plan, Reviews, Non-Conformity, MISRA Permits/Records) - Word-Master-Template (slohmaier-doc-template.docx) mit ISO-9001- konformer Document Control, Formatvorlagen, Auto-Verzeichnissen - Build-Scripts (build_word_template.py, generate_word_vorlagen.sh) - gitea-aspice-setup.md, V-Modell-Infografik
212 lines
15 KiB
HTML
212 lines
15 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>slohmaier Dev Process – V-Model (ASPICE 4.0 / ISO 26262)</title>
|
||
<style>
|
||
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
|
||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||
html, body { width: 100%; height: 100%; background: #fff; }
|
||
@page { size: A4 landscape; margin: 10mm; }
|
||
@media print {
|
||
body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
|
||
svg { width: 100% !important; height: auto !important; }
|
||
}
|
||
body {
|
||
display: flex; justify-content: center; align-items: flex-start;
|
||
padding: 20px; font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
|
||
}
|
||
svg { max-width: 1200px; width: 100%; height: auto; }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800" width="1200" height="800">
|
||
<defs>
|
||
<marker id="arr" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto">
|
||
<path d="M0,0 L8,3 L0,6 Z" fill="#5BA5D6"/>
|
||
</marker>
|
||
<marker id="arr-t" markerWidth="7" markerHeight="5" refX="6" refY="2.5" orient="auto">
|
||
<path d="M0,0 L7,2.5 L0,5 Z" fill="#92BDD8"/>
|
||
</marker>
|
||
<filter id="sh" x="-3%" y="-5%" width="106%" height="115%">
|
||
<feDropShadow dx="0" dy="1.5" stdDeviation="2.5" flood-color="#282728" flood-opacity="0.07"/>
|
||
</filter>
|
||
</defs>
|
||
|
||
<!-- Background -->
|
||
<rect width="1200" height="800" fill="#ffffff"/>
|
||
|
||
<!-- ======================== HEADER ======================== -->
|
||
<image href="https://slohmaier.com/branding/logo-doc-light.svg" x="30" y="16" width="150" height="38" preserveAspectRatio="xMinYMid meet"/>
|
||
<text x="600" y="36" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="20" font-weight="700" fill="#282728">Software Development Process</text>
|
||
<text x="600" y="56" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="11.5" font-weight="400" fill="#888">ASPICE 4.0 / ISO 26262 — V-Model with GitLab Toolchain</text>
|
||
|
||
<!-- ======================== SUPPORTING PROCESSES ======================== -->
|
||
<!-- Horizontal bands spanning the full width -->
|
||
<rect x="40" y="72" width="1120" height="26" rx="4" fill="#D4A574" opacity="0.13"/>
|
||
<text x="600" y="89" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="600" fill="#D4A574">SUP.1 — Quality Assurance</text>
|
||
|
||
<rect x="40" y="100" width="1120" height="22" rx="4" fill="#D4A574" opacity="0.09"/>
|
||
<text x="600" y="115" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="9" font-weight="500" fill="#C49564">SUP.8 — Configuration Management (Git / GitLab)</text>
|
||
|
||
<rect x="40" y="124" width="1120" height="22" rx="4" fill="#D4A574" opacity="0.06"/>
|
||
<text x="600" y="139" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="9" font-weight="500" fill="#C49564">SUP.9 — Problem Resolution (GitLab Issues)</text>
|
||
|
||
<rect x="40" y="148" width="1120" height="22" rx="4" fill="#D4A574" opacity="0.04"/>
|
||
<text x="600" y="163" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="9" font-weight="500" fill="#C49564">SUP.10 — Change Request Management (GitLab Merge Requests)</text>
|
||
|
||
<!-- ======================== V-MODEL ======================== -->
|
||
<!--
|
||
Layout (Y positions):
|
||
SYS.2 y=195 (top, left only — no right counterpart shown)
|
||
SWE.1 / SWE.6 y=275 (same height pair)
|
||
SWE.2 / SWE.5 y=355 (same height pair)
|
||
SWE.3 / SWE.4 y=435 (same height pair, SWE.3 bottom-center)
|
||
Implementation y=495 (bottom center)
|
||
|
||
Left boxes: x = 55..305 → 65..315 → 115..365 → center
|
||
Right boxes: x = 835..1095 → 785..1045 → 735..995 → center
|
||
-->
|
||
|
||
<!-- V-shape guide lines (subtle background V) -->
|
||
<polyline points="190,225 490,525" stroke="#5BA5D6" stroke-opacity="0.12" stroke-width="2.5" fill="none"/>
|
||
<polyline points="1010,225 710,525" stroke="#5BA5D6" stroke-opacity="0.12" stroke-width="2.5" fill="none"/>
|
||
|
||
<!-- Side labels -->
|
||
<text x="125" y="188" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="700" fill="#5BA5D6" letter-spacing="1.5">SPECIFICATION</text>
|
||
<text x="1080" y="188" text-anchor="end" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="700" fill="#5BA5D6" letter-spacing="1.5">VERIFICATION</text>
|
||
|
||
<!-- ===== SYS.2 — System Requirements (top left, no mirror) ===== -->
|
||
<g filter="url(#sh)">
|
||
<rect x="55" y="198" width="270" height="56" rx="6" fill="#f0f2f4" stroke="#5BA5D6" stroke-width="1.5"/>
|
||
<rect x="55" y="198" width="5" height="56" rx="2.5 0 0 2.5" fill="#5BA5D6"/>
|
||
<text x="74" y="220" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="700" fill="#5BA5D6">SYS.2</text>
|
||
<text x="74" y="240" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="13" font-weight="600" fill="#282728">System Requirements</text>
|
||
</g>
|
||
|
||
<!-- ===== SWE.1 — Software Requirements ===== -->
|
||
<g filter="url(#sh)">
|
||
<rect x="145" y="278" width="270" height="56" rx="6" fill="#f0f2f4" stroke="#5BA5D6" stroke-width="1.5"/>
|
||
<rect x="145" y="278" width="5" height="56" rx="2.5 0 0 2.5" fill="#5BA5D6"/>
|
||
<text x="164" y="300" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="700" fill="#5BA5D6">SWE.1</text>
|
||
<text x="164" y="320" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="13" font-weight="600" fill="#282728">Software Requirements</text>
|
||
</g>
|
||
|
||
<!-- ===== SWE.6 — Qualification Test (mirrors SWE.1) ===== -->
|
||
<g filter="url(#sh)">
|
||
<rect x="785" y="278" width="270" height="56" rx="6" fill="#f0f2f4" stroke="#5BA5D6" stroke-width="1.5"/>
|
||
<rect x="1050" y="278" width="5" height="56" rx="0 2.5 2.5 0" fill="#5BA5D6"/>
|
||
<text x="1040" y="300" text-anchor="end" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="700" fill="#5BA5D6">SWE.6</text>
|
||
<text x="1040" y="320" text-anchor="end" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="13" font-weight="600" fill="#282728">Qualification Test</text>
|
||
</g>
|
||
|
||
<!-- ===== SWE.2 — Software Architecture ===== -->
|
||
<g filter="url(#sh)">
|
||
<rect x="235" y="358" width="270" height="56" rx="6" fill="#f0f2f4" stroke="#5BA5D6" stroke-width="1.5"/>
|
||
<rect x="235" y="358" width="5" height="56" rx="2.5 0 0 2.5" fill="#5BA5D6"/>
|
||
<text x="254" y="380" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="700" fill="#5BA5D6">SWE.2</text>
|
||
<text x="254" y="400" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="13" font-weight="600" fill="#282728">Software Architecture</text>
|
||
</g>
|
||
|
||
<!-- ===== SWE.5 — Integration Test (mirrors SWE.2) ===== -->
|
||
<g filter="url(#sh)">
|
||
<rect x="695" y="358" width="270" height="56" rx="6" fill="#f0f2f4" stroke="#5BA5D6" stroke-width="1.5"/>
|
||
<rect x="960" y="358" width="5" height="56" rx="0 2.5 2.5 0" fill="#5BA5D6"/>
|
||
<text x="950" y="380" text-anchor="end" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="700" fill="#5BA5D6">SWE.5</text>
|
||
<text x="950" y="400" text-anchor="end" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="13" font-weight="600" fill="#282728">Integration Test</text>
|
||
</g>
|
||
|
||
<!-- ===== SWE.3 — Detail Design (left of bottom) ===== -->
|
||
<g filter="url(#sh)">
|
||
<rect x="325" y="438" width="230" height="56" rx="6" fill="#f0f2f4" stroke="#5BA5D6" stroke-width="1.5"/>
|
||
<rect x="325" y="438" width="5" height="56" rx="2.5 0 0 2.5" fill="#5BA5D6"/>
|
||
<text x="344" y="460" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="700" fill="#5BA5D6">SWE.3</text>
|
||
<text x="344" y="480" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="13" font-weight="600" fill="#282728">Detail Design</text>
|
||
</g>
|
||
|
||
<!-- ===== SWE.4 — Unit Verification (mirrors SWE.3) ===== -->
|
||
<g filter="url(#sh)">
|
||
<rect x="645" y="438" width="230" height="56" rx="6" fill="#f0f2f4" stroke="#5BA5D6" stroke-width="1.5"/>
|
||
<rect x="870" y="438" width="5" height="56" rx="0 2.5 2.5 0" fill="#5BA5D6"/>
|
||
<text x="860" y="460" text-anchor="end" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="700" fill="#5BA5D6">SWE.4</text>
|
||
<text x="860" y="480" text-anchor="end" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="13" font-weight="600" fill="#282728">Unit Verification</text>
|
||
</g>
|
||
|
||
<!-- ===== IMPLEMENTATION (bottom center, accent filled) ===== -->
|
||
<g filter="url(#sh)">
|
||
<rect x="420" y="518" width="360" height="58" rx="6" fill="#5BA5D6"/>
|
||
<text x="600" y="543" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="600" fill="#fff" opacity="0.8">SWE.3</text>
|
||
<text x="600" y="562" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="14" font-weight="700" fill="#fff">Implementation</text>
|
||
</g>
|
||
|
||
<!-- ======================== FLOW ARROWS (V path) ======================== -->
|
||
<!-- Left side: SYS.2 → SWE.1 → SWE.2 → SWE.3 → Implementation -->
|
||
<line x1="210" y1="254" x2="260" y2="276" stroke="#5BA5D6" stroke-width="2" marker-end="url(#arr)"/>
|
||
<line x1="300" y1="334" x2="350" y2="356" stroke="#5BA5D6" stroke-width="2" marker-end="url(#arr)"/>
|
||
<line x1="390" y1="414" x2="420" y2="436" stroke="#5BA5D6" stroke-width="2" marker-end="url(#arr)"/>
|
||
<line x1="480" y1="494" x2="520" y2="516" stroke="#5BA5D6" stroke-width="2" marker-end="url(#arr)"/>
|
||
|
||
<!-- Right side: Implementation → SWE.4 → SWE.5 → SWE.6 -->
|
||
<line x1="680" y1="516" x2="720" y2="496" stroke="#5BA5D6" stroke-width="2" marker-end="url(#arr)"/>
|
||
<line x1="790" y1="438" x2="810" y2="416" stroke="#5BA5D6" stroke-width="2" marker-end="url(#arr)"/>
|
||
<line x1="880" y1="358" x2="900" y2="336" stroke="#5BA5D6" stroke-width="2" marker-end="url(#arr)"/>
|
||
|
||
<!-- ======================== TRACEABILITY ARROWS (horizontal dashed) ======================== -->
|
||
<!-- SWE.1 ↔ SWE.6 (y=306, same height) -->
|
||
<line x1="415" y1="306" x2="783" y2="306" stroke="#92BDD8" stroke-width="1.2" stroke-dasharray="6,4" marker-end="url(#arr-t)"/>
|
||
<rect x="548" y="293" width="102" height="16" rx="3" fill="#fff" fill-opacity="0.85"/>
|
||
<text x="600" y="304" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="8.5" font-weight="600" fill="#92BDD8">Traceability</text>
|
||
|
||
<!-- SWE.2 ↔ SWE.5 (y=386, same height) -->
|
||
<line x1="505" y1="386" x2="693" y2="386" stroke="#92BDD8" stroke-width="1.2" stroke-dasharray="6,4" marker-end="url(#arr-t)"/>
|
||
<rect x="548" y="373" width="102" height="16" rx="3" fill="#fff" fill-opacity="0.85"/>
|
||
<text x="600" y="384" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="8.5" font-weight="600" fill="#92BDD8">Traceability</text>
|
||
|
||
<!-- SWE.3 ↔ SWE.4 (y=466, same height) -->
|
||
<line x1="555" y1="466" x2="643" y2="466" stroke="#92BDD8" stroke-width="1.2" stroke-dasharray="6,4" marker-end="url(#arr-t)"/>
|
||
|
||
<!-- ======================== TOOLCHAIN BAR ======================== -->
|
||
<line x1="50" y1="600" x2="1150" y2="600" stroke="#e0e0e0" stroke-width="1"/>
|
||
<text x="600" y="622" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="10" font-weight="700" fill="#282728" letter-spacing="2">TOOLCHAIN</text>
|
||
|
||
<!-- Tool boxes (6 items, evenly spaced) -->
|
||
<!-- GitLab -->
|
||
<rect x="52" y="636" width="175" height="48" rx="5" fill="#f0f2f4" stroke="#d0d0d0" stroke-width="1"/>
|
||
<text x="139" y="656" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="11" font-weight="600" fill="#282728">GitLab</text>
|
||
<text x="139" y="672" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="8.5" font-weight="400" fill="#666">Source · Wiki · Reviews · CI/CD</text>
|
||
|
||
<!-- Cppcheck + MISRA -->
|
||
<rect x="239" y="636" width="145" height="48" rx="5" fill="#f0f2f4" stroke="#d0d0d0" stroke-width="1"/>
|
||
<text x="311" y="656" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="11" font-weight="600" fill="#282728">Cppcheck</text>
|
||
<text x="311" y="672" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="8.5" font-weight="400" fill="#666">MISRA Compliance</text>
|
||
|
||
<!-- gcov/lcov -->
|
||
<rect x="396" y="636" width="155" height="48" rx="5" fill="#f0f2f4" stroke="#d0d0d0" stroke-width="1"/>
|
||
<text x="473" y="656" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="11" font-weight="600" fill="#282728">gcov / lcov</text>
|
||
<text x="473" y="672" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="8.5" font-weight="400" fill="#666">MCDC-Star Coverage</text>
|
||
|
||
<!-- CppUTest / Google Test -->
|
||
<rect x="563" y="636" width="155" height="48" rx="5" fill="#f0f2f4" stroke="#d0d0d0" stroke-width="1"/>
|
||
<text x="640" y="656" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="11" font-weight="600" fill="#282728">CppUTest</text>
|
||
<text x="640" y="672" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="8.5" font-weight="400" fill="#666">Google Test</text>
|
||
|
||
<!-- ScanCode / FOSSology -->
|
||
<rect x="730" y="636" width="155" height="48" rx="5" fill="#f0f2f4" stroke="#d0d0d0" stroke-width="1"/>
|
||
<text x="807" y="656" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="11" font-weight="600" fill="#282728">ScanCode</text>
|
||
<text x="807" y="672" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="8.5" font-weight="400" fill="#666">FOSSology</text>
|
||
|
||
<!-- pandoc -->
|
||
<rect x="897" y="636" width="155" height="48" rx="5" fill="#f0f2f4" stroke="#d0d0d0" stroke-width="1"/>
|
||
<text x="974" y="656" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="11" font-weight="600" fill="#282728">pandoc</text>
|
||
<text x="974" y="672" text-anchor="middle" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="8.5" font-weight="400" fill="#666">Document Export</text>
|
||
|
||
<!-- ======================== FOOTER ======================== -->
|
||
<line x1="40" y1="710" x2="1160" y2="710" stroke="#eaeaea" stroke-width="0.5"/>
|
||
<text x="40" y="728" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="9" font-weight="400" fill="#aaa">slohmaier.com</text>
|
||
<text x="1160" y="728" text-anchor="end" font-family="Inter, Helvetica Neue, Arial, sans-serif" font-size="9" font-weight="400" fill="#aaa">ASPICE 4.0 / ISO 26262 compliant process overview</text>
|
||
|
||
</svg>
|
||
</body>
|
||
</html>
|