Slides Part 2 (OOA, pages 1-128, pdf, 4 slides per page)
Slides Part 2 (OOA, pages 1-128, pdf, 4 slides per page)
Slides Part 2 (OOA, pages 1-128, pdf, 4 slides per page)
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
USE CASE “PREPARE APPLICATION/CONTRACT”, COMBINED<br />
FRAGMENTS<br />
sd EnterClientData<br />
Employee<br />
c_data_present?<br />
alt<br />
[cdp] c_data_present!<br />
[else]<br />
c_data_not_present!<br />
enter_c_data<br />
c_data_entered<br />
: Agency<br />
sd PrepareAppl/Contr<br />
Employee<br />
ref EnterClientData<br />
alt<br />
[ok]<br />
[else]<br />
97<br />
prepare_application<br />
application_prepared<br />
contract_prepared<br />
contract_not_prepared<br />
: Agency<br />
Pre = exists client : Client with client.nr = cl nr<br />
coregion<br />
check_application<br />
application_accepted<br />
application_not_accepted<br />
CentralOffice<br />
Post = application.nr ′ = app nr, where app nr new appl. number<br />
prod = car ⇒<br />
application.applicationData ′ =<br />
generate application(client.clientData,<br />
al.productData, al.alData, a data)<br />
ForAppl ′ = ForAppl ∪{(application, al)}<br />
prod = liability ⇒<br />
application.applicationData ′ =<br />
generate application(client.clientData,<br />
pl.productData, pl.plData, a data)<br />
ForAppl ′ = ForAppl ∪{(application, pl)}<br />
99<br />
O<strong>per</strong>ation = prepare application<br />
Description = An application for a known client is prepared.<br />
Reads = supplied cl nr : CNr<br />
supplied prod : Prod ID<br />
supplied a data : applicationData<br />
client : Client with client.nr = cl nr<br />
hi, al, pl : Product<br />
Changes = new application : Application<br />
PreparesAppl, ForAppl<br />
Sends = Employee: {application prepared(app nr)},<br />
CentralOffice:{check application(prod,<br />
application.applicationData ′ , app nr, client.clientData)}<br />
prod = health ⇒<br />
98<br />
application.applicationData ′ =<br />
generate application(client.clientData,<br />
hi.productData, hi.hiData, a data)<br />
ForAppl ′ = ForAppl ∪{(application, hi)}<br />
PreparesAppl ′ = PreparesAppl ∪{(client, application)}<br />
is sent{application prepared(app nr)}<br />
is sent{check application(prod, application.applicationData ′<br />
100<br />
app nr, client.clientData)}