JAD Session

Now that the team has a vision for the system, can the programmers program and the system engineers engineer? Absolutely not. The team must center the Digital Library system around the user's needs, not around nifty technology. Altough they have a few insights   from the team meeting, they haven't exposed the Digital Library concept to a group of employees and end users - the members, to get feedback and ideas from the user's point of view. The next GRAPPLE action does just that. In a Joint Application Development session, the team will gather and document system requirements.

note.GIF (411 bytes)The JAD session takes place in conference room. Led by a facilitator, it's called a joint because it includes members of the development team along with potencial system users and domain experts. The development team members are analyst, a modeler, two programmers and a system engineer. The potential users are two members, a lender, two data entry clerks and a librarian. This meeting will produce a package diagram that shows the major functionality of the system.

This session starts with a facilitator's speech about the Digital Library concept. The structure of a Digital Library system is represented on this picture, which is given to all the participants in the meeting.

TheDigitalLibrary.GIF (3898 bytes) The physical structure and connections between components in the Digital Library

The group starts their conversation by figuring out what the major pieces of functionality should the system had. It was decided to use following functionality of the system:

DLFunctionality The packages of functionality for the Digital Library

Next will be given a part of the meeting conversations between some of the participants:

Facilitator Now that we have the major pieces, does anyone have a preference as to where to start?
Member1 How about the Member part?
Facilitator Sounds good. Alright, what kinds of functionality would you waht to see in this package? Remember, group, just because we're doing a piece that happens to not coincide with your particular job, you can still participate. everyoune's insights are welcome.
Member1 I like to perform a search from my home and selected books and journals reserve until I go to the library and lend them.
Facilitator Okay. What else?
Member2 I want to print electronic books and journals directly from my office.
Analyst By the way I don't see any information about electronic items in our class diagram. How can we manage these items?
Modeler You're right. In the Item class we must add new attributes for an electronic books/journals. A status will be one. With this one we can check the type of the item (electronic or paper). Also we must add an attribute that holds the location of the electronic item (on the local storage device or on Internet). This attribute will be named as link.
Facilitator Has anyone had another kind of functionality to add?
Member1 I want to take a list of recommended books and journals onto my computer.
Facilitator OK. You'll notice that I'm writing these in labeled ellipses. We refer to these as use cases. We'll be asking some of you to come back and help us analyze those use cases, but that's another meeting.

When JAD session has finished, participants had a set of requirements that appear as use cases arranged in the packages. The list of uses cases for every package is given to you.

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
The book package use cases:
select an author check for reservations
receive an author data receive number of reservations
enter data for a new book find out the oldest reservation
edit data for an existing book make a reservation
enter multimedia data receive notification for reservation
receive notification from multimedia adding make a lending
check for free samples transmit lending data
receive number of free samples receive notification for lending
The sample package use cases:
add new sample receive a request for free samples
set it free return number of free samples
edit data for an existing sample
The reservation package use cases:
receive a request for reservation transmit a reservation result to the member
perform a reservation delete a reservation
The lending package use cases:
receive a request for new lending receive a request for returning a lending
perform a lending return a lending
transmit a lending result to the lender and book transmit a result to the lender
delete lending check for reservations
receive oldest reservation transmit information for reservations
The author package use cases:
enter new author receive request for author's data
edit old author's data transmit data to the book
The lender package use cases:
enter new lending perform a lending return
receive notification from lending receive a result from returning a lending

For exercise try adding the use cases in DataEntry clerk package, Multimedia package, and to the Journal package.

Click here to see how will look our functionality package diagram filled with use cases!

In a JAD session, the development team meets with potential users and domain experts to gather the requirements for the system. The result is a package diagram in wich each package represent a major piece of functionality. Use cases inside a package elaborate on the functionality.