<?xml version="1.0"?>
<SLP Version="0.3.1"><Document><OpenedView Num="1"><View BinID="0x00ffffffffffffffffffffffffffffff" IsSelected="1"></View></OpenedView><IndexViewInfo HierZoomVal="100" HierViewPageNum="1" LexiSelectInternalID="3"></IndexViewInfo><Functions Num="4" MaxInternalID="6"><Function Line="6" ChildsTreeOpen="3" InternalID="1" EditTime="1342487212"><Header FunctionHeight="97" InputWidth="250" FunctionWidth="704" OutputWidth="250"><IdName IDLevel="1" BinID="0x00ffffffffffffffffffffffffffffff" ID="0">ICカード式自動販売機</IdName><FunctionContents>これはICカード式自動販売機の仕様書である。

ICカード式自動販売機のユーザーインターフェースは、商品選択ボタン、取り消しレバー、ICカード読み取り部である。商品選択ボタンは、商品1品目につき1個のプッシュボタンから構成される。取り消しレバーは、ユーザーが押し下げることができる。ユーザーがICカード読み取り部にICカードを近づけると、ICカードとICカード読み取り部との間で通信が行われる。

また、ICカード式自動販売機は物理的な装置として、在庫商品を保管する機構と、商品を取り出し口に落とす機構を持つ。

ICカードにはチャージ金額が記録されている。ICカード式自動販売機は、商品の金額をICカードから引き落とし、かわりに、商品を取り出し口に落とす。<Object Size="654" OriginalSize="2770">eJy9Vk2T2jAM7bkz/Q/cuMaJ49jDsaf+B1/8SZkygQa2PTD73ytH8tRJIUsZdg9EsbGl96QnwUUP
58i06U+78eGOW9XU2ocYq/Tcm37LqqbJ7zGwirOLjof+fLZ7eKl07Hd7HY/DT6mj+26GUzizWq70
WtZ6LRzark4bjV63DVmBVtRoedi8gjv2RHevXz5ftDvsDwNAXW30EHylt0MIfaXt/iVUGzihf+3C
7x+73nP94pg+msFrBzCQOWcjw1PNMK4lGwxa5799pYBpB75tLQGRYINem0BW6bVqcK043HRoZfrA
HV6RR4fnBeyrjhhHeKfIrkVr6HxQGJfXCTvwGZ/vgiqlWkz9te10zakcKpclTL/vOJ2b+5E5n8SG
IWuTsgAxhMIMcLKxIn+2iJPj5vuwFwRlSaI/l+vYEh/iJWKBZ7y/lMEUxXXoyft/IyXEYxaX6/U4
w8VMscIhgPJZqopsTYBGLbu/G7nG3ayVcmvJdhmRoQAhZQbQtUlLwMJQz9pm2juTTDxaq3km3tJo
wpnip+TEwj+sLeGyZaWKnneiuF9W1l7hcxeOp2lMLfZ7TWqCPU+cXa5ZnHJ14h7908nIVk9jIAoN
gi9fdI9K1qCWuC9qAO9d1pS/qS2gXgzG9AuDiLIq/V2MH5mZHjkaiZNcebzHc64ldroijl07zYXN
a17o21MuHTX0bILkWqe1t5jLXAPbFbnJOKlPp7W/7fdan4qyj8BXzH2pkHe6M+HVXY+f/Suq5TiX
/u+XrRxznvZpjspm1o2EIlSYpc4UykroUlUlTbkr08uRQk09V9x76GipLmPPXGESq7dyNZnYsBfz
vr1RubZAUt7P3VfW4KOUVCgE/s59+gP4/dnt</Object></FunctionContents><WorkNum Unit="1"></WorkNum></Header><Line Home="4" Home2="4" End="19" DataNum="3" FnNo="1" EditTime="1341807974" InternalID="4"><InputStr>自動販売機の初期状態を設定せよ</InputStr></Line><Line Next="4" ConstNo="1" Home="4" Home2="21" End="37" DataNum="4" EditTime="1342579609"><InputStr>ICカード式自動販売機の状態</InputStr><InputStr>が</InputStr><InputStr>商品が選択されている</InputStr><InputStr>状態ならば</InputStr></Line><Line Top="4" Next="4" Home="8" Home2="12" End="33" DataNum="3" FnNo="2" EditTime="1341807987" InternalID="5"><InputStr>商品が選択されているとき、ユーザーの操作に反応せよ</InputStr></Line><Line Next="4" ConstNo="2" Home="4" Home2="4" End="4" EditTime="1341541602"></Line><Line Top="4" Next="4" Home="8" Home2="12" End="30" DataNum="3" FnNo="3" EditTime="1341543861" InternalID="3"><InputStr>商品が選択されていないとき、ユーザーの操作に反応せよ</InputStr></Line><Line ConstNo="3" Home="5" Home2="5" End="5" EditTime="1341541602"></Line><Function Line="1" ChildsTreeOpen="3" InternalID="4" EmbodimentCount="1" ParentInternalID="1" EditTime="1342486993"><Header FunctionHeight="209" InputWidth="250" FunctionWidth="792" OutputWidth="250"><IdName IDLevel="1" BinID="0x01ffffffffffffffffffffffffffffff" ID="1">自動販売機の初期状態を設定せよ</IdName><FunctionContents>初期状態では、いずれの商品も選択されていない。<Object Size="236" OriginalSize="413">eJxdj01uhDAMhbseae4wO7b5G5qIq3gTkpiiRoEGpl2guXsNplLbhfPFjt+LvUFdUYIvy3gcYR6c
VhATotjP7MsghdY/d0xSGLkBTmVd+0wXAVjGDDjXDwsY3nxd0iqVvUFjFTRtYL6qvaChueuTLbNV
TJO65/N62SBMearkfeugpihgqCkVAX1+JNFRB3yO6et9LNHAI0iYfY0QaAce1chjpEVJskUKR+Gh
Qc850leO3kh9zBXuJyOR6kZy7hWzt8zkz77APp70jrStO98F+xrHpCFYr//pzV//YH/lu17tG10v
tOjLN2UQeaM=</Object></FunctionContents><WorkNum Unit="1"></WorkNum></Header><Line ConstNo="4" Home="3" Home2="24" End="41" DataNum="4" EditTime="1342579631"><InputStr>ICカード式自動販売機の状態の初期値</InputStr><InputStr>を</InputStr><InputStr>商品が選択されていない</InputStr><InputStr>状態にせよ</InputStr></Line></Function><Function Line="15" ChildsTreeOpen="3" InternalID="5" EmbodimentCount="1" ParentInternalID="1" EditTime="1342487345"><Header FunctionHeight="209" InputWidth="250" FunctionWidth="704" OutputWidth="250"><IdName IDLevel="1" BinID="0x02ffffffffffffffffffffffffffffff" ID="2">商品が選択されているとき、ユーザーの操作に反応せよ</IdName><FunctionContents>いずれかの商品が選択されている状態で、ユーザーがICカードを読み取り部にかざすと、ICカードの残高が引き落とされ、商品が取り出し口に落ちる。ICカードの残高が不足しているときは、Function欄に記載した方法で対処する。

ユーザーが取り消しレバーを下げたときは、商品が選択されていない状態に戻る。<Object Size="452" OriginalSize="1327">eJytVM1u2zAM3nnA3qG3XCVLUSTkWKBA34EXiZIyo4aTOk53CPruo0x5sbt2K7BdRFOh+P1QyhWG
MUvw/bmdFjwdnGogppxFWTvfH6RQav7OSQotr5CP/TiGjj4E5L7tIJ+GZwsZv/vhnEbZ2DvY2AY2
BjnumrKhYLNVNRqOpuGo0/719dvXK+CxOw7U+24PQ4oCDkNKvYDQXZLYUwW8tOnHU9tHDReUcPJD
BCQNTFXLidK5kYzrG47Bcky+7juOWPhlyjVs3Jbo1H1PdY56aMeRmnIfte6Deo2THPfLis/F+jtS
b1v6SZZrDefbUO3YLvIJ//G+GuPXlaYqKYwc5bjjPEaKiRiYysSyIjczcGvloe6Heh7NzPBvyJNn
hGSKjsh7s2eWanKt83TO7bj2F8JbD2dPPpjBW0WlzuTap3hGXHK4KVzihbyYScFp/kVZYbarU/Vh
weCjW7BQPNdjnBU/XHoc22PPjJ1azIhqNTJ+9GucEJlHUeyotxa321V4YWKHrF3P9uZAeS/0hnj9
5E18fwooF9wUT2LyMq/PTy+H8MOsRdy0/Nmj//sy0S7y916oY0/jb7eG3aK/ni8/Af1YZso=</Object></FunctionContents><WorkNum Unit="1"></WorkNum></Header><Line Next="4" ConstNo="5" Home="8" Home2="8" End="17" DataNum="2" EditTime="1342579639"><InputStr>ユーザーの操作</InputStr><InputStr>が</InputStr></Line><Line Next="4" ConstNo="6" Home="5" Home2="5" End="25" DataNum="2" EditTime="1342579648"><InputStr>ICカードを読み取り部にかざした</InputStr><InputStr>ならば</InputStr></Line><Line Top="4" Next="8" ConstNo="1" Home="8" Home2="19" End="42" DataNum="4" EditTime="1342579657"><InputStr>ICカードの残高</InputStr><InputStr>が</InputStr><InputStr>ユーザーが選択した商品の価格以上である</InputStr><InputStr>ならば</InputStr></Line><Line Top="8" Next="8" ConstNo="4" Home="11" Home2="25" End="35" DataNum="4" EditTime="1342579661"><InputStr>ユーザーが選択した商品</InputStr><InputStr>を</InputStr><InputStr>取り出し口に落とせ</InputStr></Line><Line Top="8" Next="8" ConstNo="4" Home="11" Home2="22" End="45" DataNum="4" EditTime="1342579666"><InputStr>ICカードの残高</InputStr><InputStr>を</InputStr><InputStr>ユーザーが選択した商品の価格分だけ引き落とせ</InputStr></Line><Line Top="8" Next="8" ConstNo="4" Home="11" Home2="28" End="45" DataNum="4" EditTime="1342579672"><InputStr>ICカード式自動販売機の状態</InputStr><InputStr>を</InputStr><InputStr>商品が選択されていない</InputStr><InputStr>状態にせよ</InputStr></Line><Line Top="4" Next="8" ConstNo="2" Home="8" Home2="8" End="8" EditTime="1341543516"></Line><Line Top="8" Next="8" ConstNo="4" Home="11" Home2="19" End="41" DataNum="4" EditTime="1342579681"><InputStr>スピーカー</InputStr><InputStr>が</InputStr><InputStr>「ICカードの残高が足りません」と発声せよ</InputStr></Line><Line Top="4" Next="4" ConstNo="3" Home="9" Home2="9" End="9" EditTime="1341543516"></Line><Line Next="4" ConstNo="6" Home="5" Home2="5" End="20" DataNum="2" EditTime="1342579686"><InputStr>取り消しレバーを下げた</InputStr><InputStr>ならば</InputStr></Line><Line Top="4" Next="4" ConstNo="4" Home="7" Home2="24" End="41" DataNum="4" EditTime="1342579696"><InputStr>ICカード式自動販売機の状態</InputStr><InputStr>を</InputStr><InputStr>商品が選択されていない</InputStr><InputStr>状態にせよ</InputStr></Line><Line Next="4" ConstNo="7" Home="4" Home2="4" End="4" EditTime="1341543516"></Line><Line Top="4" Next="4" ConstNo="10" Home="6" Home2="6" End="43" DataNum="1" EditTime="1341543516"><InputStr>「ユーザーの操作」は状態ではなくイベントなので、elswは考えなくてよい。</InputStr></Line><Line Top="4" Next="4" ConstNo="9" Home="14" Home2="14" End="14" EditTime="1341543516"></Line><Line ConstNo="8" Home="5" Home2="5" End="5" EditTime="1341543516"></Line></Function><Function Line="11" ChildsTreeOpen="3" InternalID="3" EmbodimentCount="1" ParentInternalID="1" EditTime="1342487406"><Header FunctionHeight="209" InputWidth="250" FunctionWidth="704" OutputWidth="250"><IdName IDLevel="1" BinID="0x03ffffffffffffffffffffffffffffff" ID="3">商品が選択されていないとき、ユーザーの操作に反応せよ</IdName><FunctionContents>商品が選択されていないとき、ユーザーが商品のボタンを押すと、そのボタンに対応する商品が選択される。ただし、売り切れの商品を選択しようとしても、何も起きない。<Object Size="333" OriginalSize="853">eJylUk1vwyAM3bnS/kNvuQIhaVD/ii9ATBctSjuaboeq/30mGDWtepi0Cw8b8/z8cYU4Bwl2Og/L
4U8HUyvoMQSRztFOBynqutwDSqHlFcJxmmc30kVAmIYRwil+dRD8h41nnKXqtlB1CqrWZ9yp5Kih
amrGNmOrMmrc327vmyv443iMxL3dQ8RewCEiTgLceEGxpwj4HvDnc5h6DRcv4WRjD55qyFK1XCSd
lSTaAJXVUJmG0pisw1qy6U2bjBS8+F2dEW1Grzlesd092S3bjjDxyVxG12a7cVxms7I5/ytd3uf4
XfmHGQ3rWnQmzYH17lY6Sv7kd3/j81y/R+bFR140/+vf8j/Fcb9cz1jyNHfdJvWa+43UZ0Ocffc0
D/9aT8r/Uk/D/8uc9OPcynuZM4pVH81d7+J3aT1X837eh1wnbeL7hhb07Rc6Iulg</Object></FunctionContents><WorkNum Unit="1"></WorkNum></Header><Line Next="4" ConstNo="1" Home="4" Home2="14" End="28" DataNum="4" EditTime="1342579709"><InputStr>ユーザーの操作</InputStr><InputStr>が</InputStr><InputStr>商品のボタンを押した</InputStr><InputStr>ならば</InputStr></Line><Line Top="4" Next="8" ConstNo="1" Home="8" Home2="22" End="33" DataNum="4" EditTime="1342579719"><InputStr>ユーザーが選択した商品</InputStr><InputStr>が</InputStr><InputStr>売り切れである</InputStr><InputStr>ならば</InputStr></Line><Line Top="8" Next="8" ConstNo="10" Home="10" Home2="10" End="42" DataNum="1" EditTime="1341542418"><InputStr>売り切れの商品のボタンを押しても、自動販売機の状態は変わらない。</InputStr></Line><Line Top="8" Next="8" ConstNo="9" Home="18" Home2="18" End="18" EditTime="1341542418"></Line><Line Top="4" Next="8" ConstNo="2" Home="8" Home2="8" End="8" EditTime="1341542418"></Line><Line Top="8" Next="8" ConstNo="4" Home="11" Home2="28" End="44" DataNum="4" EditTime="1342579730"><InputStr>ICカード式自動販売機の状態</InputStr><InputStr>を</InputStr><InputStr>商品が選択されている</InputStr><InputStr>状態にせよ</InputStr></Line><Line Top="4" Next="4" ConstNo="3" Home="9" Home2="9" End="9" EditTime="1341542418"></Line><Line Next="4" ConstNo="2" Home="4" Home2="4" End="4" EditTime="1341542418"></Line><Line Top="4" Next="4" ConstNo="10" Home="6" Home2="6" End="43" DataNum="1" EditTime="1341542418"><InputStr>「ユーザーの操作」は状態ではなくイベントなので、elseは考えなくてよい。</InputStr></Line><Line Top="4" Next="4" ConstNo="9" Home="14" Home2="14" End="14" EditTime="1341542418"></Line><Line ConstNo="3" Home="5" Home2="5" End="5" EditTime="1341542418"></Line></Function></Function></Functions><DeletedList></DeletedList><IDTable HalfFlag="1" Unit="1" Separator="46"></IDTable><Environment MaximumNumberOfTabs="3"><FontInfo><FontTable Name="ConstructionFont" Size="90" Color="16711680" Bold="1" ColorNo="9">ＭＳ ゴシック</FontTable><FontTable Name="AuVerbFont2" Size="105" Color="255" ColorNo="12">ＭＳ ゴシック</FontTable></FontInfo><TitleTable><IDTitle></IDTitle><FuncNameTitle></FuncNameTitle><FuncTitle></FuncTitle><SignTitle></SignTitle><ChildTitle></ChildTitle><WorkTitle></WorkTitle><TotalTitle></TotalTitle></TitleTable><Construction Num="14"><Data ID="1" Column="4" Simple="FN">Fn</Data><Data ID="2" Column="4" Indent="4" Simple="IF">if</Data><Data ID="3" Column="4" Indent="4" Simple="EL">else</Data><Data ID="4" Column="5" Simple="EI">endif</Data><Data ID="5" Column="3" Simple="DO">Do</Data><Data ID="6" Column="8" Indent="4" Simple="SW">switch</Data><Data ID="7" Column="5" Indent="4" Simple="CA">case</Data><Data ID="8" Column="4" Indent="4" Simple="ES">elsw</Data><Data ID="9" Column="5" Simple="EN">endsw</Data><Data ID="10" Column="10" Simple="NX">Do Nothing</Data><Data ID="11" Column="2" Simple="CO">(:</Data><Data ID="12" Column="4" Indent="4" Simple="LP">loop</Data><Data ID="13" Column="5" Simple="EP">endlp</Data><Data ID="14" Column="6" Simple="EX">exitlp</Data></Construction><TypeTable Num="2"><Data ID="1">FS<Details>機能安全</Details></Data><Data ID="2">SE<Details>セキュリティ</Details></Data></TypeTable><AuVerbTable Num="5"><Data ID="1" Flg="1">となった</Data><Data ID="2" Flg="1">になった</Data><Data ID="3" Flg="1">に変わった</Data><Data ID="4">である</Data><Data ID="5">であった</Data></AuVerbTable><MemberTable></MemberTable><StatusTable></StatusTable><FAreaTable IfLineColor1="9" IfLineColor2="10" IfLineColor3="12" RecycleColor="9" ModifyColor="10" IsDispRegisterMember="1" IsDispRegisterStatus="1" IsDispLineNum="1"></FAreaTable><IndexViewTable HieBoxSizeX="140" HieBoxSizeY="50" HieBoxIntvX="20" HieBoxIntvY="20" HieIDAlign="1" HieFuncAlign="1" HieColorDescOff="9" HieColorReuse="8" HieColorReuseRef="4"><FontTable Name="LexFont" Size="100">ＭＳ ゴシック</FontTable><FontTable Name="HieFont" Size="100">ＭＳ ゴシック</FontTable><FontTable Name="HieIDFont" Size="100">ＭＳ ゴシック</FontTable></IndexViewTable><WeThinkTable><MenuName>我思う</MenuName><GroupName>グループ1</GroupName><GroupName>グループ2</GroupName><GroupName>グループ3</GroupName><GroupName>グループ4</GroupName><Attribute ColorNo="9">考え中</Attribute><Attribute ColorNo="12" Shape="1">迷ってる</Attribute><Attribute ColorNo="13" Shape="2">もっと調べよ</Attribute><Attribute ColorNo="10" Shape="3">意見を聞け</Attribute><Attribute ColorNo="11" Shape="4">ひとまず保留</Attribute><Attribute ColorNo="14">定義し直せ</Attribute><Attribute ColorNo="8" Shape="1">レビューせよ</Attribute><Attribute GroupNo="1">属性8</Attribute><Attribute GroupNo="1">属性9</Attribute><Attribute GroupNo="1">属性10</Attribute><Attribute GroupNo="1">属性11</Attribute><Attribute GroupNo="1">属性12</Attribute><Attribute GroupNo="1">属性13</Attribute><Attribute GroupNo="1">属性14</Attribute><Attribute GroupNo="1">属性15</Attribute></WeThinkTable><FuzzwordTable></FuzzwordTable><OutputView></OutputView><HeaderIOSettings ColorNo2="9" Color2="16711680" HorizontalSizeShared="1" VerticalSizeShared="1" FunctionHeight="97" InputWidth="250" FunctionWidth="704" OutputWidth="250"></HeaderIOSettings><TestTable IsIdRow="1" IsDoFirst="1"><KnowledgeFolder></KnowledgeFolder></TestTable><VersionControlTable></VersionControlTable><WorkTable ImportUnit="1" UnitDayToHour="8.000000" UnitMonthToDay="20.000000" UnitYearToMonth="12.000000"><WorkName>工数1</WorkName><WorkName>工数2</WorkName><WorkName>工数3</WorkName><WorkName>工数4</WorkName><WorkName>工数5</WorkName><WorkName>工数6</WorkName><WorkName>工数7</WorkName><WorkName>工数8</WorkName><WorkName>工数9</WorkName><WorkName>工数10</WorkName><WorkName>工数11</WorkName><WorkName>工数12</WorkName><WorkName>工数13</WorkName><WorkName>工数14</WorkName><WorkName>工数15</WorkName><WorkName>工数16</WorkName></WorkTable><TraceTable></TraceTable><TestSpecifications></TestSpecifications><RequirementName>原要求項目</RequirementName><InconsistencyTable></InconsistencyTable><FlowchartTable><FlowchartName>要求仕様確定</FlowchartName><FlowchartName>システム設計</FlowchartName><FlowchartName>単体設計</FlowchartName><FlowchartName>実装</FlowchartName><FlowchartName>単体テスト</FlowchartName><FlowchartName>統合テスト</FlowchartName><FlowchartName>妥当性確認</FlowchartName><FlowchartName></FlowchartName><FlowchartName></FlowchartName><FlowchartName></FlowchartName></FlowchartTable><NaturalSentenceConfiguration ElswFlag="0" NestUse="0" QuartUse="0" SignUseFunction="1" SignUseMember="1" SignUseState="1"><BeginComment>(:</BeginComment><BeginConditionalSequence>もし</BeginConditionalSequence><BeginLoop>次のことを繰り返す</BeginLoop><ClausePunctuation>、</ClausePunctuation><ConditionalSequenceConjunction>かつ</ConditionalSequenceConjunction><EndComment>:)</EndComment><EndConditionalSequence>ならば</EndConditionalSequence><EndLoop>ここまでを繰り返しとする</EndLoop><EnumeratedNegationConjunction>または</EnumeratedNegationConjunction><ExitLoop>繰り返しから抜ける</ExitLoop><FunctionCallPostfix>を行う</FunctionCallPostfix><ImperativeInfix>を</ImperativeInfix><ImperativePostfix>せよ</ImperativePostfix><Ineffective>何もしない</Ineffective><InfixPunctuation>、</InfixPunctuation><NegativeInfix>が</NegativeInfix><NegativePostfix>でない</NegativePostfix><PositiveInfix>が</PositiveInfix><PositivePostfix></PositivePostfix><SentencePunctuation>。</SentencePunctuation><TotalNegationPostfix>それら以外</TotalNegationPostfix></NaturalSentenceConfiguration></Environment><MemoText></MemoText></Document></SLP>
