the-honk/school/a-level/Y13 2021-2023/OOP/Bank Account Controller UML.graphml

121 lines
7.1 KiB
Text
Raw Normal View History

2024-10-09 17:02:47 +00:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--Created by yFiles for HTML 2.5.0.2-->
<graphml xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml.html/2.0/ygraphml.xsd " xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:demostyle2="http://www.yworks.com/yFilesHTML/demos/FlatDemoStyle/2.0" xmlns:demostyle="http://www.yworks.com/yFilesHTML/demos/FlatDemoStyle/1.0" xmlns:icon-style="http://www.yworks.com/yed-live/icon-style/1.0" xmlns:bpmn="http://www.yworks.com/xml/yfiles-bpmn/2.0" xmlns:demotablestyle="http://www.yworks.com/yFilesHTML/demos/FlatDemoTableStyle/1.0" xmlns:uml="http://www.yworks.com/yFilesHTML/demos/UMLDemoStyle/1.0" xmlns:GraphvizNodeStyle="http://www.yworks.com/yFilesHTML/graphviz-node-style/1.0" xmlns:VuejsNodeStyle="http://www.yworks.com/demos/yfiles-vuejs-node-style/1.0" xmlns:explorer-style="http://www.yworks.com/data-explorer/1.0" xmlns:y="http://www.yworks.com/xml/yfiles-common/3.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/3.0" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:yjs="http://www.yworks.com/xml/yfiles-for-html/2.0/xaml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<key id="d0" for="node" attr.type="int" attr.name="zOrder" y:attr.uri="http://www.yworks.com/xml/yfiles-z-order/1.0/zOrder"/>
<key id="d1" for="node" attr.type="boolean" attr.name="Expanded" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/folding/Expanded">
<default>true</default>
</key>
<key id="d2" for="node" attr.type="string" attr.name="url"/>
<key id="d3" for="node" attr.type="string" attr.name="description"/>
<key id="d4" for="node" attr.name="NodeLabels" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/NodeLabels"/>
<key id="d5" for="node" attr.name="NodeGeometry" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/NodeGeometry"/>
<key id="d6" for="all" attr.name="UserTags" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/UserTags"/>
<key id="d7" for="node" attr.name="NodeStyle" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/NodeStyle"/>
<key id="d8" for="node" attr.name="NodeViewState" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/folding/1.1/NodeViewState"/>
<key id="d9" for="edge" attr.type="string" attr.name="url"/>
<key id="d10" for="edge" attr.type="string" attr.name="description"/>
<key id="d11" for="edge" attr.name="EdgeLabels" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/EdgeLabels"/>
<key id="d12" for="edge" attr.name="EdgeGeometry" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/EdgeGeometry"/>
<key id="d13" for="edge" attr.name="EdgeStyle" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/EdgeStyle"/>
<key id="d14" for="edge" attr.name="EdgeViewState" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/folding/1.1/EdgeViewState"/>
<key id="d15" for="port" attr.name="PortLabels" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/PortLabels"/>
<key id="d16" for="port" attr.name="PortLocationParameter" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/PortLocationParameter">
<default>
<x:Static Member="y:FreeNodePortLocationModel.NodeCenterAnchored"/>
</default>
</key>
<key id="d17" for="port" attr.name="PortStyle" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/PortStyle">
<default>
<x:Static Member="y:VoidPortStyle.Instance"/>
</default>
</key>
<key id="d18" for="port" attr.name="PortViewState" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/folding/1.1/PortViewState"/>
<key id="d19" attr.name="SharedData" y:attr.uri="http://www.yworks.com/xml/yfiles-common/2.0/SharedData"/>
<data key="d19">
<y:SharedData>
<yjs:SolidColorFill x:Key="1" color="#FF607D8B"/>
<yjs:SolidColorFill x:Key="2" color="#FFA3F1BB"/>
</y:SharedData>
</data>
<graph id="G" edgedefault="directed">
<data key="d6">
<y:Json>{"version":"2.0.0","theme":{"name":"light","version":"1.0.0"},"layout":"layout-uml","config":{"p_useDrawingAsSketch":false,"p_selectedElementsIncrementally":false,"p_nodeToNodeDistance":30,"p_automaticEdgeGroupingEnabled":false,"p_considerNodeLabels":true,"p_edgeLabeling":0,"p_orientation":0}}</y:Json>
</data>
<node id="n0">
<data key="d0">1</data>
<data key="d5">
<y:RectD X="35.00025508160647" Y="0" Width="208.50425174154896" Height="140"/>
</data>
<data key="d7">
<uml:UMLNodeStyle fill="{y:GraphMLReference 1}" highlightFill="{y:GraphMLReference 2}">
<uml:UMLNodeStyle.model>
<uml:UMLClassModel stereotype="" constraint="" className="BankAccount" attributesOpen="true" operationsOpen="true">
<uml:UMLClassModel.attributes>
<x:Array Type="sys:Object">
<sys:String><![CDATA[- balance: float]]></sys:String>
</x:Array>
</uml:UMLClassModel.attributes>
<uml:UMLClassModel.operations>
<x:Array Type="sys:Object">
<sys:String><![CDATA[+ getBalance(): float]]></sys:String>
<sys:String><![CDATA[+ setBalance(newBalance): void]]></sys:String>
</x:Array>
</uml:UMLClassModel.operations>
</uml:UMLClassModel>
</uml:UMLNodeStyle.model>
</uml:UMLNodeStyle>
</data>
<port name="p0">
<data key="d16">
<y:FreeNodePortLocationModelParameter Ratio="0.5,1"/>
</data>
</port>
</node>
<node id="n1">
<data key="d0">2</data>
<data key="d5">
<y:RectD X="49.548422274215454" Y="165" Width="179.40791735633098" Height="204"/>
</data>
<data key="d7">
<uml:UMLNodeStyle fill="{y:GraphMLReference 1}" highlightFill="{y:GraphMLReference 2}">
<uml:UMLNodeStyle.model>
<uml:UMLClassModel stereotype="" constraint="" className="Controller" attributesOpen="true" operationsOpen="true">
<uml:UMLClassModel.attributes>
<x:Array Type="sys:Object">
<sys:String><![CDATA[- account: BankAccount]]></sys:String>
<sys:String><![CDATA[+ OVERDRAWN_FEE: int]]></sys:String>
</x:Array>
</uml:UMLClassModel.attributes>
<uml:UMLClassModel.operations>
<x:Array Type="sys:Object">
<sys:String><![CDATA[- overdrawnFee(): bool]]></sys:String>
<sys:String><![CDATA[+ fetchBalance(): float]]></sys:String>
<sys:String><![CDATA[+ formatBalance(): str]]></sys:String>
<sys:String><![CDATA[+ payIn(amount): void]]></sys:String>
<sys:String><![CDATA[+ withdraw(amount): bool]]></sys:String>
</x:Array>
</uml:UMLClassModel.operations>
</uml:UMLClassModel>
</uml:UMLNodeStyle.model>
</uml:UMLNodeStyle>
</data>
<port name="p0">
<data key="d16">
<y:FreeNodePortLocationModelParameter Ratio="0.5,0"/>
</data>
</port>
</node>
<edge id="e0" source="n1" target="n0" sourceport="p0" targetport="p0">
<data key="d13">
<yjs:PolylineEdgeStyle>
<yjs:PolylineEdgeStyle.stroke>
<yjs:Stroke fill="#FF000000" dashStyle="Dash"/>
</yjs:PolylineEdgeStyle.stroke>
<yjs:PolylineEdgeStyle.targetArrow>
<yjs:Arrow stroke="#FF000000" fill="#FF000000"/>
</yjs:PolylineEdgeStyle.targetArrow>
</yjs:PolylineEdgeStyle>
</data>
</edge>
</graph>
</graphml>