Interactions in the System 1
One way to find out the interactions in
the system is to enumerate the system components suggested in each package of use cases.
The task to perform is to show how the system components interact in order to complete
each use case.
Altough we didn't explicitly analyze all the use cases in all the packages in the
previous lessons, we can still extract the system components those use cases assume. Let's
start to reanalyze the packages that were analyzed in previous lessons. That were the
Member package and the Book package. We're going to find interactions between components
of these packages, but only for reservation and lending process. Because this course is
too short to comprise all the interactions between components, we'll analyze only these
two interactions, and a rest of them you'll need to do like an exercise in the workshop
part of the day.
The Member package
The member package use cases: |
 |
enter data for searching |
 |
transmit the reservation to the library's database |
 |
transmit the data to the library's database |
 |
receive notification from library's database |
 |
retreive a list of items |
 |
take a list of recommended books |
 |
make a reservation for some of them |
 |
take a list of recommended journals |
Let's exsamine again the process of reservating the book. Suppose that you have to
reserve a book from retreived list of recommended books. Now let's look at the steps
necessary to perform these operations.
 |
The part of use case diagram in the Member
package |
|
- Take a list of
recommended books |
|
The steps of this use case are: |
1 |
Activate the recommendation part from the
member's interface. |
2 |
After clicking the RECOMMEND button on the
interface, a signal is sent to the Digital Library, to activate the recommendation
algorithm. |
3 |
The Digital Library activates a recommendation algorithm* which produces
a list of recommended books. |
4 |
The Digital Library sends this list of books
to the member's interface. |
5 |
Print this list of items to the member's
screen. |
*
For the purpose of Digital Library a special algorithm
for recommendation is developed. If you need some detailed information about this
algorithm please refer to the webmaster of this course. |
To activate the reservation process, a RESERVE button must be obtained beyond every
item in the list. Pressing this button another use case sequence is activated. This
sequence includes "make reservation" use case, "transmit reservation"
use case, and "receive notification" use case. The steps for everyone use case
are given in following tables:
- Make reservation |
|
1 |
The member receives a list of items (from
searching or from recommendation) |
2 |
The member clicks the RESERVE button for the
items that he or she wants to reserve |
3 |
The form for acknowledging a reservation
appears |
4 |
The member fills in the information in the
form |
|
- Transmit reservation |
|
1 |
Click on the SUBMIT button on the reservation
form. |
2 |
Digital Library transmits the reservation
request to the Reservation database. |
3 |
The request arrives in the Reservation
database. |
4 |
On the member's screen appears a message
indicating "request sent", and a message " wait to receive
acknowledge". |
Before going to the "receive notification" use case we'll take a look at
Reservation package use cases. A "new reservation" and "transmit
notification" use cases will take part at this process of interactions.
- New reservation |
|
1 |
A request arrives in the Reservation database,
and the process of creation new reservation is activated. |
2 |
Result of this process is status of
reservation, which is sent to the Digital Library. |
3 |
Send the status of reservation to the Digital
Library. |
|
- Transmit notification |
|
1 |
Digital Library sents the status of
reservation to the member's interface. |
2 |
Status arrives in the member's side. |
|
- Receive notification |
|
1 |
Member's interface receives arrived status. |
2 |
Status is decoded. |
3 |
A message is printed on the member's screen
according to the decoded status of reservation. |
|
 |
The sequence diagram for reservation process
of recommended book |
As you can see some of use case steps are
modified. These modifications are example of the way one phase of a project can influence
another.
Note also the state changes on the first lifeline. It's intended to clarify how the user
interface sets up to handle a particular kind of activity. We could include all the
possible state changes as separate state diagrams, but this would be overkill. Putting
them on the sequence diagrams appears to be more economical.