Now it's time for the team to work on the technical backbone for the Digital Library. They've got business processes and class diagrams. Can they begin with the coding now, or not? They're not even close to writing a program, first, they have to develop a vision of the system.
The team will use its business process
knowledge and newly acquired domain knowledge to see where infusion of technology enhances
the library work. The players in this conversation are an analyst, a modeler, a librarian,
a lender, a DataEntry clerk, a member and a system engineer. A facilitator runs the
meeting. The facilitator distributes copies of the business process diagrams developed in
previous lessons.
See Discovering business processes 1, and Discovering business processes 2.
This conversation is about information movement. Some of the processes in the library business depends on the movement of the information. If we can speed that movement along - something technology is really good at - we'll meet our goal. From this conversation was concluded that information movement takes place when:
![]() |
The member lends a book's sample |
![]() |
The member lends a journal's sample |
![]() |
The lender recommends a book to the member |
![]() |
The lender recommends a journal to the member |
![]() |
The member contracts the membership with the DataEntry clerk |
Next will be given a part from this conversation. Here modeler has some interesting ideas about adding new attributes in the class diagram. Let's see what is happening:
Analyst | Let's go to the process of lending. It was mentioned that members has time limit and copies limit for a lending. How the lender knows how many books or journals to give to the member? |
Lender | First of all I take a look at member's lending record, and count how many items he or she has lended. Also I check the lending date to see if there is a books or journals with overloaded time limit. |
Modeler | I've been working on my class diagrams while I've been listening to all of you. And I have some questions to ask. In the Member class, we may add new attributes like timeLimit and copiesLimit which are common for every member. Also an attribute that holds the number of lended samples - samplesLended may be introduced, and a derived attribute - numberToLend, which is the difference between copiesLimit and samplesLended. |
Lender | That's a nice idea. Then I'd know the number of allowed samples to lend to the member. |
Analyst | What about timeLimit? |
Modeler | We have an attribute that holds the lending time. If we add timeLimit to it, a result is aimed. Then if the result is greater than current date, we can inform the member that he or she has a time pass over for a lended book or journal. |
Analyst | What about multimedia data? It was said that for some of the books, journals or authors multimedia data is supported. |
Modeler | It's a perfect time to introduce a new class in our class diagram - Multimedia. For that purpose, Multimedia class will have two attributes type (text, audio, video or picture) and file (physical location of the multimedia file) and one operation - newMultimedia(). |
Facilitator | Analyst are you satisfied? |
Analyst | I agree. Now things comes clearer to me. Every part of the puzzle is putted on its place. |
Modeler | Here's another possibility. Look carefuly at the Book and the Journal classes. Both are haveing common attributes like ISBN, title, publishing year, publishing house, number of samples. They are differing in author and genre data for the book, and volume and area data for the journal. This is perfect situation for a new inheritance. Common attributes can be putted in new parent class, let's say Item. Also in this new class some of the operations can take place like: freeSamples(), makeLending() and makeReservation(). With this we can save memory space in our database. |
Facilitator | I'm glad that we're making some optimization. Before going to the next steps, san I suggest you to look at new classes? |
(All agree) |
Changes in the Member class. New Multimedia class and hierarchy between books and journals, the parent class is the new one - Item class | ||||
Analyst | During reservation process or lending process, current date must be somewhere stored. In our class diagram I don't see place in the classes where this data is stored. Please tell me where do you put information about date of lending and date of reservation? |
Modeler | According to many-to-many association between the Sample class and the Member class, we are supposed to add a new class for that association holding the intersection data for that association. Right here we can add two new classes, the Reservation and the Lending. Here date of reservation and date of lending can take place. Also in the Reservation class an attribute for timeLimit of the reservation can be added. This is necessary for calculating the time period of holding a reservation to the member. These new classes are given in the following pictures |
New classes added in our class diagram are the Reservation class and the Lending class | ||||
Analyst | Allright. For this moment I think that we've resolved all the problems about classes. Now, can we move on to some ideas about what the system should specifically do? |
Facilitator | Sure. Ideas everyone? |
Member | I think that this sytem will be more productive if we, the members, can access to all the data in the library from home. Sometimes, when I go to the library with tought to lend some book that I realy need, I hear the Lender's words: "Sory, but we're out of free samples for that book. Can I recommend you something else?". In that moment I'm saying into me: "My chef will kill me. I spent so much time and I didn't finished my work. I hope that there will be a little bit crowd in traffic." |
Analyst | Yes. Our system has to somehow keep the members from walking to the library so much. Obviously they have to go to the library when they made a reservation from their home and a free sample is holded for them. Also a lending process can be done if a member is present in the library. |
System Engineer | I think we're onto something. We can allow members to access to the library's LAN directly from their homes or work offices, using the global network - Internet. Then the information would move around very quickly. Also I heed to tell you that our system will cooperate with library's LAN, but new software will be implemented everywhere. |
Analyst | The system you're talking about would resolve a number of issues. Like data search from home and makeing a reservation for a book or journal from your home or office. I'll have a feeling that I'm in the library and using their local area network and I don't care for a free terminal. |
Member | That's beautifull. When I have a lot of work to do, I can turn on my computer, make a connection with the library and search the data to find out a free sample of books or journals I need to lend. But from library's network I can't make a reservation for a book of journal. How can I make a reservation from my home or office? |
System Engineer | We are going to implement a Web interface that allows you to access data stored in the library's database, and allows you to make a reservation from your home or office by clicking a button that sends a message from your computer with your personal data and book's data that you want to reserve. This message will open a new reservation record in our database holding the data until you get your reservation, or time limit is oversteped. |
Member | But how can my computer know my personal data? |
System Engineer | First of all, Web interface can be used only be library's members. In our class diagram we have memberID - number printed on your member's card with all the neccesary personal data. When you search the data you make a selection of books/journals to reserve. This list is also sent when you click the button. But if you aren't a member in the library, first that you must do is to make a library's membership. |
Librarian | Is it possible some of our employees to access the system if they aren't present in the library too? |
System Engineer | Of course. Data entry clerks can do their job even if they are not present in their work offices. They can access the database data from every place in the world that has a computer and Internet connection. |
Librarian | How are you going to make this happen? |
System Engineer | Let's don't worry about that right now. Very soon you'll find out how this will be realized. |
Facilitator | So we're all set, then? Our system will incorporate the library's local area network and Internet. Now is time to give a name for our system. |
System Engineer | How about Digital Library. |
Facilitator | Can we all agree with Digital Library? |
(All agree) | |
Facilitator | Okay. I think our work here is done. |