V-Model

Snippet from Wikipedia: V-model (software development)

In software development, the V-model represents a development process that may be considered an extension of the waterfall model and is an example of the more general V-model. Instead of moving down linearly, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing. The horizontal and vertical axes represent time or project completeness (left-to-right) and level of abstraction (coarsest-grain abstraction uppermost), respectively.

<svg xmlns=“http://www.w3.org/2000/svg” xmlns:xlink=“http://www.w3.org/1999/xlink” xmlns:ev=“http://www.w3.org/2001/xml-events

	xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="7.50745in" height="4.90025in"
	viewBox="0 0 540.536 352.818" xml:space="preserve" color-interpolation-filters="sRGB" class="st13">
<v:documentProperties v:langID="1053" v:metric="true" v:viewMarkup="false"/>
<style type="text/css">
<![CDATA[
	.st1 {stroke:#4bacc6;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}
	.st2 {visibility:visible}
	.st3 {fill:#000000;fill-opacity:0.4;filter:url(#filter_2.6666667461395);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.4}
	.st4 {fill:#ebf1df;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
	.st5 {fill:#000000;font-family:Arial;font-size:1.00001em}
	.st6 {fill:#eeeaf2;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
	.st7 {font-size:1em}
	.st8 {fill:#fcebdd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
	.st9 {fill:#fff2cc;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
	.st10 {marker-end:url(#mrkr13-60);marker-start:url(#mrkr13-58);stroke:#4bacc6;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
	.st11 {fill:#4bacc6;fill-opacity:1;stroke:#4bacc6;stroke-opacity:1;stroke-width:0.090252707581227}
	.st12 {fill:#ffffff;stroke:none;stroke-linecap:butt;stroke-width:7.2}
	.st13 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
]]>
</style>
<defs id="Markers">
	<g id="lend13">
		<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
	</g>
	<marker id="mrkr13-58" class="st11" v:arrowType="13" v:arrowSize="2" v:setback="31.8" refX="31.8" orient="auto"
			markerUnits="strokeWidth" overflow="visible">
		<use xlink:href="#lend13" transform="scale(11.08) "/>
	</marker>
	<marker id="mrkr13-60" class="st11" v:arrowType="13" v:arrowSize="2" v:setback="33.24" refX="-33.24" orient="auto"
			markerUnits="strokeWidth" overflow="visible">
		<use xlink:href="#lend13" transform="scale(-11.08,-11.08) "/>
	</marker>
</defs>
<defs id="Filters">
	<filter id="filter_2.6666667461395">
		<feGaussianBlur stdDeviation="2.6666667461395"/>
	</filter>
</defs>
<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
	<title>Page-1</title>
	<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
			v:shadowOffsetY="-8.50394"/>
	<g id="shape1-1" v:mID="1" v:groupContext="shape" transform="translate(346.177,-219.107) rotate(51.141)">
		<title>Sheet.1</title>
		<path d="M0 352.82 L330.82 352.82" class="st1"/>
	</g>
	<g id="shape2-4" v:mID="2" v:groupContext="shape" transform="translate(751.583,209.613) rotate(125.996)">
		<title>Sheet.2</title>
		<path d="M0 352.82 L318.4 352.82" class="st1"/>
	</g>
	<g id="shape3-7" v:mID="3" v:groupContext="shape" transform="translate(2.25368,-297.499)">
		<title>Sheet.3</title>
		<desc>Business Needs</desc>
		<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
		<v:textRect cx="75.1571" cy="326.286" width="150.32" height="53.0653"/>
		<g id="shadow3-8" v:groupContext="shadow" v:shadowOffsetX="2.12132" v:shadowOffsetY="-2.12132" v:shadowType="1"
				transform="matrix(1,0,0,1,2.12132,2.12132)" class="st2">
			<rect x="0" y="299.753" width="150.314" height="53.0653" class="st3"/>
		</g>
		<rect x="0" y="299.753" width="150.314" height="53.0653" class="st4"/>
		<text x="31.8" y="329.89" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Business Needs</text>		</g>
	<g id="shape4-13" v:mID="4" v:groupContext="shape" transform="translate(383.726,-297.499)">
		<title>Sheet.4</title>
		<desc>User acceptance test</desc>
		<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
		<v:textRect cx="75.1571" cy="326.286" width="150.32" height="53.0653"/>
		<g id="shadow4-14" v:groupContext="shadow" v:shadowOffsetX="2.12132" v:shadowOffsetY="-2.12132" v:shadowType="1"
				transform="matrix(1,0,0,1,2.12132,2.12132)" class="st2">
			<rect x="0" y="299.753" width="150.314" height="53.0653" class="st3"/>
		</g>
		<rect x="0" y="299.753" width="150.314" height="53.0653" class="st4"/>
		<text x="18.79" y="329.89" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>User acceptance test</text>		</g>
	<g id="shape5-19" v:mID="5" v:groupContext="shape" transform="translate(43.7654,-213.611)">
		<title>Sheet.5</title>
		<desc>High-level design System specification</desc>
		<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
		<v:textRect cx="75.1571" cy="326.286" width="150.32" height="53.0653"/>
		<g id="shadow5-20" v:groupContext="shadow" v:shadowOffsetX="2.12132" v:shadowOffsetY="-2.12132" v:shadowType="1"
				transform="matrix(1,0,0,1,2.12132,2.12132)" class="st2">
			<rect x="0" y="299.753" width="150.314" height="53.0653" class="st3"/>
		</g>
		<rect x="0" y="299.753" width="150.314" height="53.0653" class="st6"/>
		<text x="29.13" y="322.69" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>High-level design<v:newlineChar/><tspan
					x="20.47" dy="1.2em" class="st7">System specification</tspan></text>		</g>
	<g id="shape6-26" v:mID="6" v:groupContext="shape" transform="translate(351.223,-213.611)">
		<title>Sheet.6</title>
		<desc>System tests Integrations tests</desc>
		<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
		<v:textRect cx="75.1571" cy="326.286" width="150.32" height="53.0653"/>
		<g id="shadow6-27" v:groupContext="shadow" v:shadowOffsetX="2.12132" v:shadowOffsetY="-2.12132" v:shadowType="1"
				transform="matrix(1,0,0,1,2.12132,2.12132)" class="st2">
			<rect x="0" y="299.753" width="150.314" height="53.0653" class="st3"/>
		</g>
		<rect x="0" y="299.753" width="150.314" height="53.0653" class="st6"/>
		<text x="40.81" y="322.69" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>System tests<v:newlineChar/><tspan
					x="29.46" dy="1.2em" class="st7">Integrations tests</tspan></text>		</g>
	<g id="shape7-33" v:mID="7" v:groupContext="shape" transform="translate(99.1144,-129.722)">
		<title>Sheet.7</title>
		<desc>Low level design Design &#38; construction</desc>
		<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
		<v:textRect cx="75.1571" cy="326.286" width="150.32" height="53.0653"/>
		<g id="shadow7-34" v:groupContext="shadow" v:shadowOffsetX="2.12132" v:shadowOffsetY="-2.12132" v:shadowType="1"
				transform="matrix(1,0,0,1,2.12132,2.12132)" class="st2">
			<rect x="0" y="299.753" width="150.314" height="53.0653" class="st3"/>
		</g>
		<rect x="0" y="299.753" width="150.314" height="53.0653" class="st8"/>
		<text x="30.79" y="322.69" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Low level design<v:newlineChar/><tspan
					x="16.79" dy="1.2em" class="st7">Design </tspan>&#38; construction</text>		</g>
	<g id="shape8-40" v:mID="8" v:groupContext="shape" transform="translate(306.673,-129.722)">
		<title>Sheet.8</title>
		<desc>Unit tests</desc>
		<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
		<v:textRect cx="75.1571" cy="326.286" width="150.32" height="53.0653"/>
		<g id="shadow8-41" v:groupContext="shadow" v:shadowOffsetX="2.12132" v:shadowOffsetY="-2.12132" v:shadowType="1"
				transform="matrix(1,0,0,1,2.12132,2.12132)" class="st2">
			<rect x="0" y="299.753" width="150.314" height="53.0653" class="st3"/>
		</g>
		<rect x="0" y="299.753" width="150.314" height="53.0653" class="st8"/>
		<text x="50.15" y="329.89" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Unit tests</text>		</g>
	<g id="shape9-46" v:mID="9" v:groupContext="shape" transform="translate(203.842,-39.8918)">
		<title>Sheet.9</title>
		<desc>Code</desc>
		<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
		<v:textRect cx="75.1571" cy="326.286" width="150.32" height="53.0653"/>
		<g id="shadow9-47" v:groupContext="shadow" v:shadowOffsetX="2.12132" v:shadowOffsetY="-2.12132" v:shadowType="1"
				transform="matrix(1,0,0,1,2.12132,2.12132)" class="st2">
			<rect x="0" y="299.753" width="150.314" height="53.0653" class="st3"/>
		</g>
		<rect x="0" y="299.753" width="150.314" height="53.0653" class="st9"/>
		<text x="60.81" y="329.89" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Code</text>		</g>
	<g id="shape10-52" v:mID="10" v:groupContext="shape" transform="translate(152.568,-329.215)">
		<title>Sheet.10</title>
		<desc>Meets the need?</desc>
		<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
		<v:textRect cx="115.579" cy="352.818" width="231.16" height="0"/>
		<path d="M7.95 352.82 L8.31 352.82 L222.85 352.82" class="st10"/>
		<rect v:rectContext="textBkgnd" x="70.8799" y="345.618" width="89.3979" height="14.4001" class="st12"/>
		<text x="70.88" y="356.42" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Meets the need?</text>		</g>
	<g id="shape11-63" v:mID="11" v:groupContext="shape" transform="translate(194.08,-245.83)">
		<title>Sheet.11</title>
		<desc>Is correct built?</desc>
		<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
		<v:textRect cx="77.0526" cy="352.818" width="154.11" height="0"/>
		<path d="M7.95 352.82 L8.31 352.82 L145.8 352.82" class="st10"/>
		<rect v:rectContext="textBkgnd" x="36.3702" y="345.618" width="81.3647" height="14.4001" class="st12"/>
		<text x="36.37" y="356.42" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Is correct built?</text>		</g>
</g>

</svg>