<?xml version='1.0' encoding='utf-8'?>
<mxfile host="app.diagrams.net" modified="2026-10-27T00:00:00.000Z" agent="ChatGPT" version="24.7.17" type="device"><diagram id="atm-uml" name="银行ATM业务类图"><mxGraphModel dx="1600" dy="1000" grid="1" gridSize="10" page="1" pageScale="1" pageWidth="1800" pageHeight="1250"><root><mxCell id="0" /><mxCell id="1" parent="0" /><mxCell id="bank" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="80" y="100" width="240" height="132" as="geometry" /></mxCell><mxCell id="bank_name" value="银行 Bank" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="bank"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="bank_attrs" value="- bankId: String&amp;#xa;- name: String" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="bank"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="bank_ops" value="+ verifyCard(): Boolean" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="bank"><mxGeometry x="0" y="95" width="240" height="37" as="geometry" /></mxCell><mxCell id="bank_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="bank"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="bank_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="bank"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="customer" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="390" y="100" width="240" height="132" as="geometry" /></mxCell><mxCell id="customer_name" value="客户 Customer" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="customer"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="customer_attrs" value="- customerId: String&amp;#xa;- name: String" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="customer"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="customer_ops" value="+ openAccount(): Account" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="customer"><mxGeometry x="0" y="95" width="240" height="37" as="geometry" /></mxCell><mxCell id="customer_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="customer"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="customer_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="customer"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="card" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="700" y="100" width="240" height="132" as="geometry" /></mxCell><mxCell id="card_name" value="银行卡 BankCard" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="card"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="card_attrs" value="- cardNo: String&amp;#xa;- expiryDate: Date" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="card"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="card_ops" value="+ validatePIN(pin: String): Boolean" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="card"><mxGeometry x="0" y="95" width="240" height="37" as="geometry" /></mxCell><mxCell id="card_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="card"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="card_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="card"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="atm" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1040" y="100" width="240" height="150" as="geometry" /></mxCell><mxCell id="atm_name" value="ATM柜员机 ATM" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="atm"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="atm_attrs" value="- atmId: String&amp;#xa;- location: String" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="atm"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="atm_ops" value="+ authenticate(card: BankCard): Boolean&amp;#xa;+ execute(tx: Transaction): Boolean" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="atm"><mxGeometry x="0" y="95" width="240" height="55" as="geometry" /></mxCell><mxCell id="atm_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="atm"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="atm_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="atm"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="account" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="390" y="370" width="240" height="150" as="geometry" /></mxCell><mxCell id="account_name" value="账户 Account" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="account"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="account_attrs" value="- accountNo: String&amp;#xa;- balance: Decimal" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="account"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="account_ops" value="+ credit(amount: Decimal): void&amp;#xa;+ debit(amount: Decimal): Boolean" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="account"><mxGeometry x="0" y="95" width="240" height="55" as="geometry" /></mxCell><mxCell id="account_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="account"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="account_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="account"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="checking" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="80" y="650" width="240" height="132" as="geometry" /></mxCell><mxCell id="checking_name" value="活期账户 CheckingAccount" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="checking"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="checking_attrs" value="- overdraftLimit: Decimal" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="checking"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="checking_ops" value="+ debit(amount: Decimal): Boolean" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="checking"><mxGeometry x="0" y="95" width="240" height="37" as="geometry" /></mxCell><mxCell id="checking_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="checking"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="checking_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="checking"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="saving" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="390" y="650" width="240" height="132" as="geometry" /></mxCell><mxCell id="saving_name" value="储蓄账户 SavingsAccount" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="saving"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="saving_attrs" value="- interestRate: Decimal" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="saving"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="saving_ops" value="+ calculateInterest(): Decimal" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="saving"><mxGeometry x="0" y="95" width="240" height="37" as="geometry" /></mxCell><mxCell id="saving_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="saving"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="saving_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="saving"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="transaction" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1030" y="370" width="240" height="150" as="geometry" /></mxCell><mxCell id="transaction_name" value="«abstract» 交易 Transaction" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="transaction"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="transaction_attrs" value="- transactionId: String&amp;#xa;- amount: Decimal&amp;#xa;- time: DateTime" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="transaction"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="transaction_ops" value="+ execute(): Boolean" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="transaction"><mxGeometry x="0" y="95" width="240" height="55" as="geometry" /></mxCell><mxCell id="transaction_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="transaction"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="transaction_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="transaction"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="withdraw" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="750" y="650" width="240" height="132" as="geometry" /></mxCell><mxCell id="withdraw_name" value="取款 Withdrawal" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="withdraw"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="withdraw_attrs" value="- cashDispensed: Boolean" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="withdraw"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="withdraw_ops" value="+ execute(): Boolean" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="withdraw"><mxGeometry x="0" y="95" width="240" height="37" as="geometry" /></mxCell><mxCell id="withdraw_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="withdraw"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="withdraw_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="withdraw"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="deposit" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1040" y="650" width="240" height="132" as="geometry" /></mxCell><mxCell id="deposit_name" value="入账 Deposit" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="deposit"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="deposit_attrs" value="- depositMethod: String" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="deposit"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="deposit_ops" value="+ execute(): Boolean" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="deposit"><mxGeometry x="0" y="95" width="240" height="37" as="geometry" /></mxCell><mxCell id="deposit_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="deposit"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="deposit_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="deposit"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="transfer" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1340" y="650" width="240" height="132" as="geometry" /></mxCell><mxCell id="transfer_name" value="转账 Transfer" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="transfer"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="transfer_attrs" value="- targetAccountNo: String" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="transfer"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="transfer_ops" value="+ execute(): Boolean" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="transfer"><mxGeometry x="0" y="95" width="240" height="37" as="geometry" /></mxCell><mxCell id="transfer_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="transfer"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="transfer_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="transfer"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="network" value="" style="swimlane;html=1;startSize=35;horizontal=1;rounded=0;fillColor=#dae8fc;swimlaneFillColor=#ffffff;strokeColor=#6c8ebf;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1360" y="100" width="240" height="132" as="geometry" /></mxCell><mxCell id="network_name" value="跨行清算网络 InterbankNetwork" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;align=center;fontStyle=1;" vertex="1" parent="network"><mxGeometry x="0" y="0" width="240" height="35" as="geometry" /></mxCell><mxCell id="network_attrs" value="- networkId: String" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="network"><mxGeometry x="0" y="35" width="240" height="60" as="geometry" /></mxCell><mxCell id="network_ops" value="+ route(tx: Transaction): Boolean" style="text;html=1;whiteSpace=wrap;overflow=hidden;align=left;verticalAlign=middle;spacingLeft=9;strokeColor=none;fillColor=none;" vertex="1" parent="network"><mxGeometry x="0" y="95" width="240" height="37" as="geometry" /></mxCell><mxCell id="network_line35" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="network"><mxGeometry x="0" y="35" width="240" height="1" as="geometry" /></mxCell><mxCell id="network_line95" value="" style="line;strokeColor=#6c8ebf;" vertex="1" parent="network"><mxGeometry x="0" y="95" width="240" height="1" as="geometry" /></mxCell><mxCell id="e0" value="部署 1 / 0..*" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=open;endFill=0;" edge="1" parent="1" source="bank" target="atm"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e1" value="管理 1 / 0..*" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=open;endFill=0;" edge="1" parent="1" source="bank" target="account"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e2" value="拥有 1 / 0..*" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=open;endFill=0;" edge="1" parent="1" source="customer" target="account"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e3" value="持有 1 / 0..*" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=open;endFill=0;" edge="1" parent="1" source="customer" target="card"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e4" value="关联 0..* / 1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=open;endFill=0;" edge="1" parent="1" source="card" target="account"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e5" value="读取" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;dashed=1;endArrow=open;endFill=0;" edge="1" parent="1" source="atm" target="card"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e6" value="发起 1 / 0..*" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=open;endFill=0;" edge="1" parent="1" source="atm" target="transaction"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e7" value="操作 0..* / 1..2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=open;endFill=0;" edge="1" parent="1" source="transaction" target="account"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e8" value="继承" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=block;endFill=0;" edge="1" parent="1" source="checking" target="account"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e9" value="继承" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=block;endFill=0;" edge="1" parent="1" source="saving" target="account"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e10" value="继承" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=block;endFill=0;" edge="1" parent="1" source="withdraw" target="transaction"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e11" value="继承" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=block;endFill=0;" edge="1" parent="1" source="deposit" target="transaction"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e12" value="继承" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=block;endFill=0;" edge="1" parent="1" source="transfer" target="transaction"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e13" value="跨行请求" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;dashed=1;endArrow=open;endFill=0;" edge="1" parent="1" source="atm" target="network"><mxGeometry relative="1" as="geometry" /></mxCell><mxCell id="e14" value="清算交互" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=1.5;fontSize=11;labelBackgroundColor=#ffffff;endArrow=open;endFill=0;" edge="1" parent="1" source="network" target="bank"><mxGeometry relative="1" as="geometry" /></mxCell></root></mxGraphModel></diagram></mxfile>