<?xml version='1.0' encoding='utf-8'?>
<mxfile host="app.diagrams.net" modified="2026-10-13T00:58:00.000Z" agent="ChatGPT" version="24.7.17" type="device">
  <diagram id="module4_readers_register" name="模块4-读者注册（N-S盒图）">
    <mxGraphModel dx="1380" dy="920" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1380" pageHeight="1530" math="0" shadow="0" background="#FFFFFF">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="title" value="图书管理系统 · 详细设计盒图（N-S 图）" style="rounded=1;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#E3EFFD;strokeColor=#7DA6D8;strokeWidth=2;fontColor=#163963;fontSize=38;fontStyle=1;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="62" y="35" width="1256" height="70" as="geometry" />
        </mxCell>
        <mxCell id="subtitle" value="选做模块 4：读者注册（3.1）" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=none;strokeColor=none;strokeWidth=0;fontColor=#43546B;fontSize=34;fontStyle=1;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="117" width="1230" height="51" as="geometry" />
        </mxCell>
        <mxCell id="start" value="开始" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#EADDF2;strokeColor=#9D8DAF;strokeWidth=2;fontColor=#21344D;fontSize=33;fontStyle=1;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="195" width="1230" height="72" as="geometry" />
        </mxCell>
        <mxCell id="input" value="输入：姓名、证件号码、联系方式、读者类型" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#FFF0C8;strokeColor=#D8B765;strokeWidth=2;fontColor=#21344D;fontSize=31;fontStyle=0;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="267" width="1230" height="100" as="geometry" />
        </mxCell>
        <mxCell id="validate" value="校验必填项与证件号码格式" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#E4EFFB;strokeColor=#7894B4;strokeWidth=2;fontColor=#21344D;fontSize=31;fontStyle=0;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="367" width="1230" height="90" as="geometry" />
        </mxCell>
        <mxCell id="valid_condition" value="读者信息是否合法？（选择）" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#CFE0FA;strokeColor=#7894B4;strokeWidth=2;fontColor=#21344D;fontSize=33;fontStyle=1;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="457" width="1230" height="100" as="geometry" />
        </mxCell>
        <mxCell id="valid_yes" value="是 ↓" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#E8F1FC;strokeColor=#7894B4;strokeWidth=2;fontColor=#21344D;fontSize=29;fontStyle=1;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="557" width="936" height="66" as="geometry" />
        </mxCell>
        <mxCell id="valid_no" value="否 ↓" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#FBE5BE;strokeColor=#D3AE69;strokeWidth=2;fontColor=#21344D;fontSize=29;fontStyle=1;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="1011" y="557" width="294" height="66" as="geometry" />
        </mxCell>
        <mxCell id="invalid_failure" value="输出：注册失败&lt;br&gt;（信息缺失或&lt;br&gt;证件格式错误）" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#FFF2DB;strokeColor=#D3AE69;strokeWidth=2;fontColor=#664217;fontSize=29;fontStyle=0;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="1011" y="623" width="294" height="649" as="geometry" />
        </mxCell>
        <mxCell id="lookup_D1" value="查询读者档案（D1）&lt;br&gt;按证件号码检索" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#E4EFFB;strokeColor=#7894B4;strokeWidth=2;fontColor=#21344D;fontSize=29;fontStyle=0;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="623" width="936" height="116" as="geometry" />
        </mxCell>
        <mxCell id="duplicate_condition" value="证件号码是否已注册？（选择）" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#CFE0FA;strokeColor=#7894B4;strokeWidth=2;fontColor=#21344D;fontSize=31;fontStyle=1;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="739" width="936" height="102" as="geometry" />
        </mxCell>
        <mxCell id="duplicate_yes" value="是 ↓" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#FBE5BE;strokeColor=#D0B17A;strokeWidth=2;fontColor=#21344D;fontSize=28;fontStyle=1;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="841" width="292" height="63" as="geometry" />
        </mxCell>
        <mxCell id="duplicate_no" value="否 ↓" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#E8F1FC;strokeColor=#7894B4;strokeWidth=2;fontColor=#21344D;fontSize=28;fontStyle=1;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="367" y="841" width="644" height="63" as="geometry" />
        </mxCell>
        <mxCell id="duplicate_failure" value="输出：注册失败&lt;br&gt;（证件号码重复）" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#FFF2DB;strokeColor=#D0B17A;strokeWidth=2;fontColor=#21344D;fontSize=29;fontStyle=0;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="904" width="292" height="368" as="geometry" />
        </mxCell>
        <mxCell id="create_reader_id" value="生成唯一读者证号" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#E4EFFB;strokeColor=#7894B4;strokeWidth=2;fontColor=#21344D;fontSize=30;fontStyle=0;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="367" y="904.0" width="644" height="92.0" as="geometry" />
        </mxCell>
        <mxCell id="init_status_permissions" value="初始化读者状态与借阅权限" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#E4EFFB;strokeColor=#7894B4;strokeWidth=2;fontColor=#21344D;fontSize=30;fontStyle=0;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="367" y="996.0" width="644" height="92.0" as="geometry" />
        </mxCell>
        <mxCell id="save_reader_D1" value="写入读者档案（D1）" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#E4EFFB;strokeColor=#7894B4;strokeWidth=2;fontColor=#21344D;fontSize=30;fontStyle=0;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="367" y="1088.0" width="644" height="92.0" as="geometry" />
        </mxCell>
        <mxCell id="register_success" value="输出：注册成功&lt;br&gt;返回读者证号" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#DBF0DE;strokeColor=#70A28A;strokeWidth=2;fontColor=#21344D;fontSize=32;fontStyle=1;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="367" y="1180.0" width="644" height="92.0" as="geometry" />
        </mxCell>
        <mxCell id="end" value="结束" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#F7D9D9;strokeColor=#C28A8A;strokeWidth=2;fontColor=#21344D;fontSize=33;fontStyle=1;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="1272" width="1230" height="82" as="geometry" />
        </mxCell>
        <mxCell id="note" value="说明：采用顺序与嵌套选择结构；注册失败时不创建读者档案。" style="rounded=1;whiteSpace=wrap;html=1;glass=0;shadow=0;fillColor=#F3F5F8;strokeColor=#B4C0CB;strokeWidth=1;fontColor=#5C697B;fontSize=25;fontStyle=0;fontFamily=Noto Sans CJK SC;align=center;verticalAlign=middle;spacing=8;overflow=fill;labelPosition=center;verticalLabelPosition=middle;" vertex="1" parent="1">
          <mxGeometry x="75" y="1378" width="1230" height="73" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>