Credit Card System for Subsidized Nourishment of University Students
Vedran Mornar
IDEA GROUP PUBLISHING
Credit Card...
12 downloads
525 Views
299KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Credit Card System for Subsidized Nourishment of University Students
Vedran Mornar
IDEA GROUP PUBLISHING
Credit Card System For Subsidized Nourishment Of University Students IDEA GROUP PUBLISHING 1331 E. Chocolate Avenue, Hershey PA 17033-1117, USA Tel: 717/533-8845; Fax 717/533-8661; URL-http://www.idea-group.com
1
16#$ &
g n i h s i l b u P p u o r G a e d I t Credit Card System for Subsidized h g i r y p Co Nourishment of University Students g n i h lis b u P p u o r G a e d I t h g i EXECUTIVE rSUMMARY y p Co g n i h s i l b u P p u o r G a e d BACKGROUND ht I g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop Vedran Mornar, Krešimir Fertalj, Damir Kalpic and Slavko Krajcar University of Zagreb, Croatia
In Croatia the Ministry of Science and Technology is the major provider of funds for high education. There are four universities, each consisting of a number of relatively independent and dislocated faculties and academies. In 1997, the Ministry engaged the authors to computerize the system for subsidized nourishment of the university students. The initial plan was to establish a simple credit card system. Faced with political and technical infrastructure difficulties, the authors had to develop a heterogeneous distributed database scheme and develop proprietary replication mechanism, capable to exchange high volumes of data over a slow network or over dial-up networking. The system has achieved full functionality at the largest university in Croatia, and it is ready to be installed in the rest of the country. Although developed under tight budget, it has significantly improved the organization and it provides valuable data for conducting the policy of subsidized nourishment.
In Croatia for the majority of university students, no tuition is required. Moreover, the state provides for some of them subsidized housing and for all of them who are free of tuition, it subsidizes the nourishment in contract restaurants. The funding and responsibility is with the Ministry of Science and Technology. The Ministry itself had computer equipment and islands of computerization, which still could not be called an integral information system. Faculties and academies vary in size, from a few dozen students to thousands. Their level of organization and computerization varies heavily. Some have computerized most of their administrative functions (Kalpic & Mornar, 1994), while some do not have even the connection to the Croatian Academic Research Network (CARNet) (Pale & al., 1992), or in other words, they do not have Internet access. The annual amount offered to students in the Zagreb area was US$37,780,000. Out of this amount, the students have consumed the value of 13,423,000 US$. Precise data about all expenditures are stored in the database. An approximate amount of consumed subvention in the whole country is nearly US$20 million or expressed in the local currency, 160 million HRK.
Copyright © Idea Group Publishing. Copying without written permission of Idea Group Publishing is prohibited.
2 Mornar, Fertalj, Kalpic & Krajcar
Table 1: Number of Faculties and Students in Croatia for Subsidized Nourishment
University
Number of faculties and academies
Number of scheduled subsidized students
Number of contract restaurants
g n i h s i l b u P up o r G a e d I t h g i r y Cop g n i h SETTING THE STAGE s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P up o r G a e d I t h rig y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop University Zagreb University Rijeka University Split University Osijek Colleges Independent faculties and academies Sum
35 13 14 11 38 11
51,662 2,734 6,906 3,373 7,239 3,907
122
75,821
35+7 7 16 9
35(existent) + 39(planned)
The system of providing the subsidized nourishment to the university students had been based on coupons for a long time. At the beginning of every month, regular students were allowed to buy a certain quantity of coupons that they could exchange for meals valuing roughly four times more than they had paid for the coupons. In other terms, they paid a quarter of the price for every meal, the rest being a subvention by the Ministry of Science and Technology. It had been noticed that this system was not performing satisfactorily for several reasons. A considerable number of misuses and frauds were perceived, from trading coupons from one person to another, to using the coupons for purchasing goods like cigarettes, detergents and even lawnmowers. In addition, the students were required to buy coupons in advance at some offices, which involved superfluous administrative work. The students were wasting their time waiting in queues. In this system, there were three principal players, the Ministry, the students and the restaurants for students. Some restaurants allegedly cooperated with the students in abusing the purpose of the subvention. Without having a meal, a student could sell his/her coupons to the restaurant at a price that was higher than the nominal coupon value, but was less than the respective subvention. By delivering coupons to the Ministry, the restaurant collects subvention for a meal that was not consumed. The subvention money would miss its purpose and end up in the student’s pocket and on the restaurant’s account. In the previous system, each individual was entitled to buy an amount of coupons that depended on the place of residence. Students residing in the place of study could buy an amount that allowed them one complete meal a day. Students residing out of their place of study could buy twice as much. Initially, the system was meant to give the students their daily rights to receive one or two meals at a subsidized price. That would be rather simple to implement, but the Students Council did not accept it. They insisted on monthly amounts, which were eventually approved, making the system considerably more complicated. Now each student has an account on which he/she receives a certain sum at the beginning of the month. The amount on the account can be changed at any time if the student’s level of rights has changed, and, of course, after the student has consumed a meal in a restaurant. Wishing that the funding be properly applied and to discard or minimize abuse, in 1997 the Ministry decided to start the development of a computerized credit card system for that purpose. The card was named X-card as an acronym of the Croatian term for the student identification card. The X-card was conceived not only for usage at the student restaurants, but also for other purposes, like getting discount in the museums, at public transport companies, etc. The ultimate goal was to eventually replace what is now called the
Credit Card System For Subsidized Nourishment Of University Students 3
Index, a small booklet used to prove the status of a student (Kalpic & Mornar, 1994). The faculty administration fills it in with enrolled courses and professors write down the grades. The validity of X-cards was intended for the whole state territory. Present population of university and high school students totals about 76,000. Roughly, 25,000 students enroll in 73 faculties within four universities every year. The X-card is issued to a student when he/she enrolls in a university. Validity of the card expires at the end of the academic year, and it is extended by regular enrollment in the next academic year. Initial assumptions and requirements for the future system were rather simple–a central database of students was to be established. The faculties and academies keep the records of their students. They were supposed to be permanently connected to the CARNet, which should make it easy for them to maintain the data. The faculties were to collect only the basic information about their student, assign levels of rights, make a digital photo and connect it to the student’s record. The student identification cards were to be printed out of the database. The restaurants were to be provided with point-of-sale devices, connected also to the central database. The students were to use the identification cards at restaurants where a check was to be done whether they have consumed their daily quota. Unused rights would not be preserved for future use. The Ministry would be reported from the database. This simplified organization is presented in Figure 1. The faculty equipment was devised as in Figure 2, while the restaurant equipment is in Figure 3. The students objected to these simple initial assumptions, regarding them as a loss of their rights. To appeal to the students, the system had to grow in complexity, almost to resemble a banking business today. The other difficulty arose from low availability and performance of CARNet at the majority of sites. The scissors in Figures 2 and 3 symbolize the quite probable loss of connection during operation. The necessity that the students enjoy their rights had the highest priority. It is inconceivable that the students do not receive their meals because of some error in the transmission lines or because of loss of connection with the central database. The typical pattern of gradual increasing of complexity during the development was present (Brooks, 1975). The authors had to develop a heterogeneous distributed database scheme and develop a proprietary replication mechanism, capable of exchange high volumes of data over a slow network or over dial-up networking.
g n i h s i l b u P p u o r G a e d I t h g i r y p o C g n i h lis b u P p u o r G a e d I t h g i r y p Co g n i h s i l CASE DESCRIPTION b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop After the Ministry had made the decision to computerize the subsidized students’ nourishment, the Ministry required quick implementation and discarded the idea of elaborate project specification.
Figure 1: System Organization
Faculties
Central Database
Ministry of Science and Technology
Students Restaurant
4 Mornar, Fertalj, Kalpic & Krajcar
Figure 2: Faculty Equipment
g n i h s i l b u P up o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P up o r G a e d I t h rig y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop CARNet
Figure 3: Restaurant Equipment
CARNet
Credit Card System For Subsidized Nourishment Of University Students 5
The authors were engaged to its realization, and a sort of extreme programming (Kent, 1999, 2000; Juric, 2000) was the only eligible technique. The information technology infrastructure at the faculties and restaurants was being discovered during implementation. Similarly, the business rules were unveiled and modified during the whole development.
g n i h s i l b u P p u o r G a e d I t h g i r y p o C g n i h lis b u P p u o r G a e d I t h g i r y p Co g n i h s i l b u P p u o r G a e d I t h g Digital Camera Interface i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop Decisions About Hardware and Software
The first dilemma about the X-card was to choose between a magnetic and a chip card. The chip card offered the tempting possibility of containing more information. It could also be programmed to contain student’s rights, thus eliminating the need for online validation at the restaurants. After some consideration, the magnetic card was chosen for the following reasons: the card itself is cheaper, the devices are cheaper, it eliminates the need for periodical reprogramming and, most important, it is faster. At lunch times, the queues at the student restaurants are of considerable size, and every saved second of service time per student is precious. Reading of the magnetic card together with system response time adds just about one second to the total service time, which is now about 12 seconds, including the cashier’s work and printing of a detailed bill. As the student data include the picture and signature, considering also the availability at restaurants’ sites, the obvious choice of the operating system on the client side was a 32-bit version of Microsoft® Windows. Taking into account that applications at the restaurants should run permanently, independent of the availability of the network and the server, the client environment had to comprise a local database. The faculties were at first meant to work online, utilizing CARNet. To have a uniform software on both types of client sites, Microsoft Access was chosen, because it comprises a local database, royalty-free run-time version, and it offers a productive development environment. It turned out to be a wise choice also for the faculties, since the practice has shown that a vast majority of them had chosen to work offline and periodically exchange data with the server, due to a slow or even unavailable connection to CARNet. Having had some unfavorable experience with ODBC drivers for Informix®, which would otherwise be our preferred choice for the DBMS on the server side, Microsoft SQL Server was chosen for compatibility with clients and because of relatively low server hardware requirements. Thus, the server runs under Microsoft Windows NT. Initially, there was a requirement to acquire a digital picture of every student (Netraveli & Haskell, 1995; Pennebaker & Mitchell, 1993; Wallace, 1991), which would be printed on his/her X-card. A consumer use digital camera (Kawamura, 1998), Olympus® 420-L, was chosen because of its relatively good quality at an affordable price. Its macro lens mode enabled the authors to cope with a later request to store the student’s digitized signature together with other data. The signature is simply photographed, eliminating the need to purchase an additional scanner and to write additional software as an interface to the scanner.
As mentioned above, the Olympus 420-L was chosen primarily for its price/performance ratio. Unfortunately, the accompanying software was appropriate for the casual home user, but not for the intended production. The accompanying software enables the user to manipulate the camera through relatively elaborate interface and preview and download pictures to files on hard disk. To eliminate the possibility of assigning a wrong picture to a person, the authors wanted to take and download the pictures from a proprietary database interface. They hoped that the enclosed TWAIN driver (Lindley, 1994) would be callable from the program, but an inappropriate user screen interface is activated by the call to the driver. The only solution was to build a proprietary low-level communication interface, which would be a rather simple task if the camera protocol had been available. The camera communicates with the computer over a standard RS232 port. However, all the efforts to acquire the camera protocol from Olympus were futile, so the authors searched the Internet, where an unofficial protocol was published. The author of this protocol acquired knowledge about it by scanning the
6 Mornar, Fertalj, Kalpic & Krajcar
Figure 4: Compulsory Basic Student Data
g n i h s i l b u P up o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P up o r G a e d I t h rig y p Co g n i h s i l b u P p u o r Database Logical Design G a e d I t h g i r y Cop
RS232 port during the camera operation. As the result, an ActiveX object was programmed in Visual Basic (Williams, 1997), exposing the properties CommPort and Baudrate and methods Initialize, NormalMode, HQMode, FlashAuto, FlashForceOn, FlashForceOff, FlashRedEyePrevention, GetNumberOfPicturesRemaining, GetNumberOfPicturesTaken, GetFlashMode, GetPictureQuality, EraseSinglePicture, EraseAllPictures, LensMacro, LensNormal, ReleaseShutter and Download, thus producing a complete set of commands required to drive the camera from any application. The picture is stored in the database as a 300x300 pixel color JPEG. The signature is converted to black and white and stored as a 400x70 JPEG. Since the camera resolution is 640x480, a simple userfriendly picture editor component was programmed as an ActiveX object which is called from the database interface, allowing the user to preview the picture, repeat the photographing if necessary and cut the desired area out of the complete picture. This editor also provides for some basic editing capabilities (rotate, contrast, brightness, etc.), reads the picture from a file, stores the picture to a file and acquires the picture from a TWAIN source. Recently the model 420-L has been replaced by the compatible model 830-L, which supports resolutions of 640x480 and 1280x900 pixels. Acquiring of the photograph and the signature proceeds by simple mouse clicking. The initial compulsory student’s data from Figure 4 is enhanced with the student’s photograph and signature, as in Figure 5. It is immediately available for visual inspection, so that some very unpleasant errors like for example a shift which would connect a series of pictures to wrong persons, are highly improbable. Using the data from the database, X-cards are produced as in Figure 6. The reverse side contains a magnetic stripe with a standardized card identification record.
The production database currently consists of 92 relations. For simplicity reasons, an abridged logical design in the form of E-R model will be presented here. To facilitate the connection between the textual description and the E-R model in Diagram 1, the entity-set names in the following text will be bolded with capital initial letters, while the relationships will be referenced in italic. The central entity set is the Card. It is connected with otherwise rare 1:1 relationships with respective BLOBs Signatures
Credit Card System For Subsidized Nourishment Of University Students 7
Figure 5: Student Data Enhanced by Photograph and Signature
g n i h s i l b u P p u o r G a e d I t h g i r y p o C g n i h lis b u P p u o r G a e d I t h g i r y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop
Figure 6: Specimen of a Student’s X-Card (Reverse Side Contains Magnetic Stripe)
8 Mornar, Fertalj, Kalpic & Krajcar
and Photographs. The Card is issued by an Educational Institution, where the Student is enrolled. The student enjoys one of currently possible 24 Levels of Rights, covered by the subsidizer, who is predominantly but not exclusively the Ministry of Science and Technology. The student can receive messages from the system and obtains a monthly amount of money as subvention. The Ministry approves of the company running the restaurants, being within a possible hierarchy of the prices for meals and drinks to be served. The payment proceeds over points of sale (POS). The keyboards are configured for faster data entry. A POS device prints the bill consisting of consumed meals and drinks. In case of a large amount on the Bill, an Authorization is required. Any Misuse of a Card is evidenced. As mentioned previously, the low performance and insufficient availability of CARNet forced most of the users to work offline. Offline working unavoidably required the system to be distributed among local databases and a central database server. Faculties involved in the system are numerous, dislocated and diverse in size. As they enroll in span from several dozen to several thousand students, it would probably be an overkill to apply Oracle® or Informix® to maintain a database of several hundred records on a single-user PC. Microsoft Access performs quite well in small networks, which are sufficient to maintain data even at large faculties. Of course, it would not be a smart decision to assign to Microsoft Access the task of handling the central database comprising all the faculties and containing millions of records. There is unfortunately no replication mechanism between Access and SQL server (Amaru, 1995), so the authors had to devise it, particularly because the replication process is not simple and there can be several owners of a single record in the database (Anderson et al., 1998; Breitbart and Korth, 1997; Goldring, 1994; Thompson, 1997). Each table on the client side, which has to be replicated to the server, gets an UpdatedOnServer flag. If a client is working online and changes to the record are successfully updated on the server,
g n i h s i l b u P up o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P up o r G a e d I t h rig y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop
Diagram 1: Abridged Logical Database Design Signature
Photograph
1
Educational Institution
1
bears
issues
1
1:N
covers
Misuse
1:N
1
receives
1
obtains
1:N
MonthlyAmount
0:N
1:N
Subsidizer
POS
1:N
belongs to
keyboard
Bill
serves
1:N
1:N
1
0:N
Restaurant 1:N
0:N
reuquires
1
0:N
prints
0:1
1:N
LevelOfRights
1
Authorization
0:N
Student
1:N
enjoys
1
1
1:N
achieves
1
0:N
Message
1:N
Card
evidence of
enrols
1
contains
1
1:N
consists of
1:N
1:N
MealDrink
1
is within
Credit Card System For Subsidized Nourishment Of University Students 9
the flag is set to True. If the client is working offline, or if the connection to the server is broken in the middle of an online transaction, which is not a rare case, the flag is set to False. Deletions of records are tracked in a separate table, TDeleted, where all the deletions which were done offline, or which were not successfully executed on the server, are stored as SQL statements. This table is maintained by a program code because Access lack triggers. Fortunately, it is possible to write a universal function, which must just be called from any delete event (Fertalj & Kalpic, 1999). Since the data must be replicated from server to client as well, an additional attribute called SerialNumber is added to each table on the server that must be replicated to clients. This is a long integer representing a monotonically increasing transaction number that is set by an insert or update trigger. A timestamp column could have been used here (Clifford et al., 1997), but a sequential number was chosen instead, for simplicity and for better control, partially because clients lack adequate data type. Deletions are stored in the server version of TDeleted table, again as SQL statements. Each record in the TDeleted table bears its own transaction number.
g n i h s i l b u P p u o r G a e d I t h g i r y p o C g Replication Process n i h lis b u P p u o r G a e d I t h g i r y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop
When a client wishes to replicate with the server, the following procedure is executed, described also by Diagram 2. On the client Side: P1: All records from TDeleted table are unloaded to an ASCII file. P2: For each table that must be replicated to the server, an ASCII file is produced, each line containing primary key value as well as all the attribute values of records containing False value of UpdatedOnServer flag. The attributes can be of any data type including binary large objects (BLOBs). BLOBs are stored in a separate binary file. P3: All ASCII files together with binary file containing BLOBs are compressed with a standard ZIP algorithm (Nelson & Gailly, 1996). P4: Compressed file is sent by file transfer protocol (FTP) to the server. The client program when required initiates dial-up connection automatically. P5: Client introduces itself over a TCP/IP socket (Comer, 1988; Stevens, 1994) to a service running on the server, submitting also the client’s highest transaction number (CHTN), which was previously successfully collected from the server. Initially, an attempt was made to communicate over DCOM (Eddon & Eddon, 1998; Rubin and Brain, 1999; Sessions 1997; Wang et al., 1997), but frequent blocking over a slow connection forced the authors to revert to mechanisms that are more elementary. On the server side: P6: The service invokes the server program. P7: The server program expands the ZIP file. P8: Deletions from client’s TDeleted table are executed on the server. P9: For each table that must be replicated to the server, values from corresponding ASCII files are stored on the server. If a record with the given primary key exists, the record is updated with new attribute values, otherwise, a new record is added to the table. P10: At this point, the server’s highest transaction number (SHTN) is memorized. P11: All records from the server’s TDeleted table having transaction numbers between CHTN and SHTN are unloaded to an ASCII file. Deletions produced on the server during the unloading process and the subsequent steps will be collected during the next replication process for that client. P12: All records from the server tables, which have to be replicated to the client, having transaction numbers between CHTN and SHTN, are unloaded to ASCII files. This includes unloading BLOBs to a separate binary file. P13: All ASCII files together with the binary file containing BLOBs are compressed with a standard ZIP algorithm.
10 Mornar, Fertalj, Kalpic & Krajcar
Diagram 2: The Replication Process
g n i h s i l b u P up o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P up o r G a e d I t h rig y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop P1
Unload TDeleted
Client program
D1 TDeleted
a
P3
Client Database
P5
Compress files
D2 Tables
D4
ZIP file
Call the service
P2
Unload tables
CHTN
D3 BLOB
P4
b
Connect and send
Service on server
P8
Execute TDeleted
D1 TDeleted
c
CHTN
P7
Server database
ZIP file D5 on FTP
Uncompress ZIP file
D2 Tables
P6
Run server program
P9
Load tables
D3 BLOB
SHTN
P10
Server program
Memorize SHTN
D7 CHTN
CHTN
D8
P11
Unload TDeleted
D6 SHTN
D1 TDeleted
D2 Tables
P13
P14
Compress files
Send ZIP to client
P12
Unload tables
New version
P16
SHTN
D3 BLOB
Terminate connection
P20
SHTN
Set CHTN to SHTN
P15
SHTN
Client program
Check for a new version
P18
Execute deletions
D1 TDeleted
a
P17
Client Database
D2 Tables
D4
ZIP file
D9
P19
Store new data
Uncompress ZIP file
D3 BLOB
Downloaded new version
Credit Card System For Subsidized Nourishment Of University Students 11
P14: Compressed file is sent by FTP to the client. On the client side: P15: The server is checked for a new version of the client software using Remote Data Object Connection. If there exists a newer version of the client software, it is downloaded by FTP to the client. P16: Dial-up connection is terminated. P17: The client program expands the ZIP file. P18: Deletions from server’s TDeleted table are executed on the client side. P19: For each table that must be replicated to the client, the values from corresponding ASCII files are stored in the local database. If a record with the given primary key exists, the record is updated with new attribute values, otherwise, a new record is added to the table. CHTN is set to SHTN. If there is a break in the transmission, or if any error occurs on the client or server side, CHTN remains unchanged and the procedure can be repeated later. There exist two separate client programs: one for students’ data collection at the faculties; another is a point-of-sale (POS) program at the restaurants. Both are capable of working online and offline and they can exchange data in the previously described manner.
g n i h s i l b u P p u o r G a e d I t h g i r y p o C g n i h lis b u P p u System Maintenance o r G a e d I t h g i r y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop
The software became operational under a considerable pressure of deadlines, so it had to be delivered without proper testing. Moreover, the rules of the whole system have been changing all the time during the production, and are still changing. The business rules did not change only numerically, e.g., as just the percentage of subvention or the overall amount of subvention. The very model of subsidizing has been changing. To illustrate the difference between project specification at the start, compared to the current situation, let us just mention that the Ministry envisaged only two classes of student’s rights; they would differ only according to the student’s domicile. Those students who were housed and supported locally by their families would enjoy the right to a single meal per day, while the others would have the right for all the meals. In practice, it turned out that the students were falling not within the expected two, but within 24 different classes of rights, e.g., certified sportsmen, military scholarship grantees, victims of war, etc. with combinations among these categories. Some of the required program changes can be effectuated on the server side, but due to the unavailability of a stable Internet connection, a classical separation of business rules into its own layer on the server was impossible. Unfortunately, a considerable number of business rules had to be programmed in the client software. Therefore, a procedure had to be devised for updating client executables as well as the structure of local databases. The problem was solved in a very simple manner. At every data exchange, a client, which stores locally its own version number, queries the server for a new version of the program. A new version of the program might require a change in the local database structure, a specific update of client-side data and/or registration of new custom controls. Therefore, a small set-up program must be executed upon download, which performs aforementioned tasks and records the new version number in the client’s database. The changing of the business rules from time to time requires some simpler tasks to be performed on client’s local data, which can be done by means of simple SQL statements. Therefore, a set of SQL statements can be sent together with the normal data exchange. These sets are grouped into three categories: sets which are executed on all the clients, sets which are executed on each client at a particular site and sets which are executed on a single machine only. In exploitation, a significant problem arose from unresolved ownership and responsibilities regarding the computer equipment and its maintenance. It was well known in advance that after a number of printed bills, a number of read magnetic stripes and so forth, the equipment has to be substituted. The proper reaction lacked until it became obvious that the whole system is endangered.
12 Mornar, Fertalj, Kalpic & Krajcar
Derogation of the system would cause a significant problem to the Ministry because the vast majority of students have accepted the X-card system as a much better and more favorable solution than the former coupons. This is partly due to the increased students’ rights, which were introduced together with the X-card system. It was a political decision, maybe crucial for the system acceptance. Otherwise, it was expected that some persons who lost their privileges or possibilities for non-authorized earnings, not to mention them explicitly here, would spread unrest within the student population and compromise the new system at the very beginning. The system gives complete information regarding all the transactions related to the subsidized nourishment. On the system Web site, http://www.cap.fer.hr, every student can identify him or herself and after authentication password obtain a report regarding all his or her expenditures within a specified period. We include an English translation of a sample from such reports. The same information is available to the Ministry. Improper spending or behavior of the students or cashiers can be spotted. It remains a political decision to act accordingly. On the other hand, the Ministry can access the same information and review and/or control the spending habits. The best and quickest insight into the population behavior can be obtained by display of statistical distribution. The chart in Figure 7 represents the real-life distribution. The abscissa contains the average daily consumption expressed in local currency, per student. The ordinate is the percentage of the student population with this average daily consumption. An anomaly at the end of the right tail demonstrates improper behavior of some students to whom, for certain reasons, practically unlimited consumption rights have been granted. The same information as in Figure 7, but displayed as the cumulative distribution is in the Figure 8. The latter one demonstrates even better that the students’ behavior can be regarded mostly as normal.
g n i h s i l b u P up o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P up o r G a e d I t h rig y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop
Table 2: Overview of Expenditures from January 1-31, 2001
John Smith 004746587
You made altogether 19 expenditures.
You spent altogether 436,01 HRK subventions by the Ministry. You paid altogether 155,98 HRK to the restaurant cashiers. Overall amount (regular price) 591,99 HRK
Students Feeder LTD., Zagreb Bill No: Rice
Vienna steak
25.01.2001 10:48:28 417574 4.17
16.21
Cake
3.07
Chicken soup
3.15
Beans salad
1.94
Porridge
3.26
Juice
4.00
Altogether HRK:
35,80
Subvention by the Ministry:
26,37
To be paid in cash:
9,43
Credit Card System For Subsidized Nourishment Of University Students 13
Table 2: Overview of Expenditures From January 1-31, 2001 (continued) Feed the Students Inc., Zagreb Bill No:
24.01.2001 10:45:12 416369
g n i h s i l b u P p u o r G a e d I t h g i r y p o C g n i h lis b u P p u o r G a e d I t h g i r y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop 16.70
Menu 01 Cake
3.07
Juice
4.00
Altogether HRK:
23,77
Subvention by the Ministry:
17,51
To be paid in cash:
6,26
Select one of the displayed time periods and press Dohvat to fetch the bills
Top of Form i j k l m n j k l m n j k l m n
From
to
(dd.mm.yy)
Current month
Preceding month
Bottom of Form
Figure 7: Distribution of the Average Daily Consumption in Novvember 2000
12.50% 10.00% 7.50% 5.00% 2.50%
4 15 :1 9 30 :3 4 45 :4 9 60 :6 4 75 :7 9 90 :9 10 4 5: 10 12 9 0: 12 13 4 5: 13 15 9 0: 15 0
0.00%
0:
Percentage of students
15.00%
Amount of the average daily consumption [HRK/student]
14 Mornar, Fertalj, Kalpic & Krajcar
Figure 8: Cumulative Distribution of the Daily Consumption in November 2000 Cumulative distribution of the daily consumption in November 2000 100,00%
Percentage of students with average daily consumption below abscissa value
g n i h s i l b u P up o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G CURRENT CHALLENGES/PROBLEMS FACING THE a e d ORGANIZATION t I h g i r y p o C g n i h s i l b u P up o r G a e d I t h rig y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00%
90 :9 4 10 0: 10 4 11 0: 11 4 12 0: 12 4 13 0: 13 4 14 0: 14 4 15 0: 15 0
70 :7 4 80 :8 4
50 :5 4 60 :6 4
30 :3 4 40 :4 4
0:
4 10 :1 4 20 :2 4
0,00%
Amount of the average daily consumption [HRK/student]
One of the main goals of the system, to minimize the misuse of the rights to consume subsidized meals, was not achieved completely. Shortly after the system was introduced, some X-cards became available on the black market, sold by the students who do not really need them, because they regularly eat at their parents’ place. Such kind of misuse could be easily spotted at restaurants, but the cashiers have no time to check the consumer’s identity by looking at the photograph. Strict identity control would be also humiliating to the vast majority of the student population who are not prone to frauds. Nevertheless, for the time being, the number of such misuses and the damage done is considered negligible compared to the cost of hiring additional people to enforce the identity control at the restaurants. Moreover, this type of misuse demonstrates the urgent need to extend the scope of Xcards. The described abuse will most probably vanish as X-cards become indispensable for other student’s activities, such as identification on examinations, in libraries, public transportation and services, etc. A misuse of a card which has been lost is also possible to a certain limited extent, because some of the restaurants work offline, causing a delay of several hours between marking a card inactive and downloading this update to the clients. Offline work at the faculties required enormous additional amount of effort to maintain data consistency because transactions made offline frequently have to be cancelled afterwards (requests for an X-card when another X-card has already been requested or issued at another faculty) or even modified, because of a specific request of the investor that each student gets a unique ID which includes the ID of the faculty where he/she first enrolled. Most of the bugs and problems that we experienced could be contributed to the offline work. Improper status of faculty administration causes problems that should be resolved after implementation of the Information System for High Education. The software component of this information system is currently being developed by developers pertaining to the same group as the authors of this case. A local version of this software has already been in use for nearly ten years at the Faculty of Electrical Engineering and Computing in Zagreb (Kalpic & Mornar, 1994).
Credit Card System For Subsidized Nourishment Of University Students 15
It might be interesting to mention that the Ministry has recently attempted to reduce the subvention cost by limiting the consumption of some articles which bear a minor nutritive value and can be regarded as a kind of inappropriate consumption, like sodas and some more luxury cakes. They also intended to curb the consumption structure. It would not be allowed to buy, e.g., 30 packages of milk shake instead a complete daily meal. They envisaged introduction of vegetarian food as an option. The program version containing these restrictions has been prepared for installation, but the Government postponed these measures indefinitely, fearing the students’ protests.
g n i h s i l b u P p u o r Financial Aspects G a e d I t h g i r y p o C g n i h lis b Organizational Aspects u P p u o r G a e d I t h g i r y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop
The whole project has been developed under rather scarce financial conditions. Neither money nor time allowed for development of a proper project prior to programming. The system complexity was heavily underestimated in both aspects functionally and technically. When it became clear that a simple online solution would not be possible, the authors did not demand an acquisition of sophisticated commercial software but provided their own solutions to circumvent the deficiency of the encountered information technology infrastructure and of the cheap applied programming tools.
The development of the described system was assigned to a research and teaching group at the Faculty of Electrical Engineering and Computing (Kalpic, Baranovic & Fertalj, 1997). The system was designed by the “use of great designers” (Brooks, 1987) and developed by the use of “better and fewer people” (Boehm, 1983). A single person, in addition to his regular and rather heavy load of university educational activities, performed most of the system design and the crucial distributed database development. The group leader gave some support, especially in the early project phase. The system designer achieved help from a high competent colleague and from an engineer experienced in Visual Basic. Two engineers in charge of the local student administration system helped in building the interface to the new system. A programmer was a substantial support during all the development. As the system approached installation, a group of three computing engineers was established for on-site implementation and continuous maintenance. They developed most reports and the Web site. In Table 2, there is evidence of the workload within the development team. There was also a high-level project leader, who was not a member of the development team. He took care about the contract, gave presentations and suggestions for acceptance of the system, he organized hardware acquisition and hardware and software maintenance. He was also advising the Ministry regarding the business rules. Chart 1 contains the workload over the four years of the project duration for the development team. The high-level project leader is not included, nor the constant workload of regular maintenance taken by a group of three engineers, which has started in 1999.
Table 2: Workload of the Development Team Person
Time span of engagement
Workload [h]
Principal system designer and developer (PhD) Group leader (Ph.D.) Professional help (Ph.D.) Development engineer (B.Sc.) Two engineers in charge of the local student administration system (B.Sc.) Programmer Sum
27.10.1997-15.12.2000 22.12.1997-04.10.2000 20.11.1997-10.05.1999 27.10.1997-23.12.1998 17.11.1997-02.11.1998
2936 40 27 1524 10
Percentage of the whole workload 33.16 0.45 0.30 17.21 0.11
23.10.1997-29.11.2000
4318 8855
48.76 99.99
16 Mornar, Fertalj, Kalpic & Krajcar
Table 3: Distribution of Activities
Activity Programming & Design Maintenance Miscellaneous Users Organization Education Testing Installation Meetings & Discussion Documenting Sum
Workload 4592 1592 960 490 327 248 223 170 167 86 8855
g n i h s i l b u P up o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P up o r G a e d CONCLUSION ht I rig y p Co g n i h s i l b u P p u o r G a e d I FURTHER READING t h g i r y Cop Programming & Design Maintenance Miscellanea Users
Organization Education Testing
Installation
Meetings & Discussion Documenting
Although not perfect, the system described in this case works stable now. Most of the trouble during the introductory phase can be contributed to the offline work and to the unclear and volatile definitions of business rules. At the moment of writing this case (January 2001), the program for data collection has been installed at 122 high or higher education institutions. The data have been collected for 153,300 students: 121,400 students have been photographed, producing 3.05 GB of BLOB data. The POS program had been installed in 35 places, where 12,552,000 bills containing 51,665,000 items have been produced in 27 months of work. All of the records are still residing in the database for yearly reporting, but a shift to data warehousing and archiving of old records is in plan.
Interested readers could get rather comprehensive live information about the X-card system and its organization from the site http://www.cap.fer.hr. However, this information is only in Croatian because the site is aimed for the local students. Some information in English is available from the other
Credit Card System For Subsidized Nourishment Of University Students 17
Chart 1: Workload Over Time
Workload in hours
5000
g n i h s i l b u P p u o r G a e d I t h g i r y p o C g n i h lis b u P p u o r G a e d I t h g i r y p Co REFERENCES g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop 4000 3000 2000 1000 0
1
2
3
4
Years
parties involved in this project. They are the Ministry of Science Technology (http://www.znanost.hr), the Faculty of Electrical Engineering and Computing (http://www.fer.hr) and the Computer Science Group at the Department of Applied Mathematics of this faculty (http://www.zpm.fer.hr).
Amaru, C. (1995). SQL Server bundles replication, Datamation 41(11), 61. Anderson, T., Breitbart, Y., Korth, H.F. & Wool, A. (1998). Replication, consistency, and practicality: are these mutually exclusive? Proceedings of the ACM SIGMOD on Management of data, Seattle, WA USA, June 1-4, 484-495. Boehm, B. (1983). Seven basic principles of software engineering. The Journal of Systems and Software, 3(1), 3-24. Breitbart, Y. & Korth, H.F. (1997). Replication and consistency: being lazy helps sometimes, Proceedings of the Sixteenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, Tucson, AZ USA, May 11-15, 173-184. Brooks, F. (1975). The Mythical Man-Month, Addison-Wesley, Reading, MA. Brooks, F.P. (1987). No Silver Bullet: Essence and Accidents of Software Engineering. IEEE Computer, 20 (4), 10-19. Clifford, J., Dyreson, C., Isakowitz, T., Jensen, C.S. & Snodgrass, R.T. (1997). On the semantics of ‘now’ in databases, ACM Transactions on Database Systems 22(2), 171-214. Comer, D. E. (1991). Internetworking With TCP/IP: Principles, Protocols, and Architecture. Prentice Hall. Eddon, G. & Eddon, H. (1998). Inside Distributed COM, Microsoft Programming Series, Microsoft Press Fertalj, K. & Kalpic, D. (1999). An object based software development method, Proceedings of the 21st International Conference on Information Technology Interfaces, Pula, Croatia, June 15-18, 469474. Goldring, R. (1994). A discussion of database replication technology, Info DB Journal 1(8) Juric, R. (2000). Extreme Programming and its Development Practices, Proceedings of the 22nd International Conference on Information Technology Interfaces, Pula, Croatia, June 13-16, 97-104
18 Mornar, Fertalj, Kalpic & Krajcar
Kalpic, D. & Mornar, V. (1994). Student administration system, European review conference proceedings “University-Enterprise Information Systems”, Graz, Austria, September 15-16, 124-131. Kalpic, D., Baranovic, M. & Fertalj, K. (1997). How to Organise a University Based R&D and Teaching Group in Computing? A Case Study, Proceedings of World Multiconference on Systemics, Cybernetics and Informatics, Caracas, July 7-11, Orlando, FL: International Institute of Informatics and Systemics, 2, 174-181. Kawamura, S. (1998). Capturing images with digital still cameras, IEEE Micro 18(6), 14. Kent, B. (1999). Embracing Change with Extreme Programming, Computer, October 1999, 70-77. Kent, B. (2000). Extreme Programming Explained, Addison-Wesley, Reading, MA. Lindley, C.A. (1994). Image acquisition using TWAIN, Dr. Dobb’s Journal of Software Tools 19(10), 76, 78-80, 98-100. Nelson, M. & Gailly, J.L. (1996). The Data Compression Book., New York: M & T Books, Netraveli, A.N. & Haskell, B.G. (1995). Digital Pictures: Representation, Compression and Standards, New York: Plenum Press Pale, P., Bulat, D., Maric, I., Simicic, L. & Vujanovic, V. (1992). Concept and development of CARNet, Proceedings of the 14th International Conference on Information Technology Interfaces, Pula, Croatia, September 15-18, 265-272. Pennebaker, W.B. & Mitchell, J.L. JPEG (1993). Still Image Data Compression Standard, New York: Van Nostrand Reinhold Rubin, W. & Brain, M. (1997). Understanding DCOM, P T R Prentice-Hall Sessions, R. (1997). COM & DCOM: Microsoft’s Vision for Distributed Objects, John Wiley & Sons Stevens, W.R. (1994). TCP/IP Illustrated, Volume 1 — The Protocols. Addison-Wesley. Thompson, C. (1997). Database replication, DBMS Journal 10(5), 76. Wallace, G.K. (1991). The JPEG still picture compression standard, Communications of the ACM 34(4), 30-44. Wang, Y., Damani, O.P. & Lee, W. (1997). Reliability and availability issues in distributed component object model (DCOM), Proceedings of the Fourth International Workshop on Community Networking Processing, IEEE, Atlanta, GA USA, September 11-12, 59-63. Williams, A. (1997). Visual Basic 5 and ActiveX controls, Dr. Dobb’s Journal of Software Tools 22(3), 74.
g n i h s i l b u P up o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P BIOGRAPHICAL SKETCHES oup r G a e d I t h g i r y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop
Vedran Mornar is an Associate Professor of Computer Science at the Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia, where he currently teaches several graduate and undergraduate computing courses. He himself graduated and received his PhD degree in Computer Science at the same university. As a Fulbright scholar, he studied at University of Southern California, Los Angeles for an academic year. His professional interest is in application of operational research in real-world information systems, database design, development and implementation. He is an editor of international journal “Computing and Information Technology”. Krešimir Fertalj is an Assistant Professor of Computer Science at the Faculty of Electrical Engineering and Computing at the University of Zagreb, Croatia. He achieved his BS, MS degrees and PhD degree in Computer Science at the same university. Since graduation in 1988, he has been working at the Department of Applied Mathematics, where he currently teaches several computing courses. His main research interests include software engineering, CASE tools, database design and applications development. Professionally, he is developing information systems, supported by database systems. He was an information systems developer and consultant in a number of software development projects for business, industry, administration and other institutions. He can speak and write English and German.
Credit Card System For Subsidized Nourishment Of University Students 19
Damir Kalpic achieved his PhD at the institution that is now called Faculty of Electrical Engineering and Computing in Zagreb. Since graduation in 1970, he has been employed there and currently acts as vice dean. His professional interest is the application of computers in different fields. He is developing information systems, supported by database systems and extended with mathematical models stemming from operational research. From this field of activity, a scientific, professional and educational group that he is leading offers consultancy, education and software development for business, industry and administration. He can communicate in English, German, Italian, Spanish, French and Portuguese.
g n i h s i l b u P p u o r G a e d I t h g i r y p o C g n i h lis b u P p u o r G a e d I t h g i r y p Co g n i h s i l b u P p u o r G a e d I t h g i r y Cop g n i h s i l b u P p u o r G a e d I t h g i r y Cop
Slavko Krajcar received his PhD degree at the Faculty of Electrical Engineering and Computing, University of Zagreb, in the field of distribution networks planning in 1988. Now, at the same institution, he is associate professor and the Faculty dean. He lectures undergraduate and graduate courses in power engineering. He is author and co-author of more than 60 R&D papers, where the majority of them have been implemented in practice. He is chairman of the Executive Board of the Croatian Academic and Research Network (CARNet), chairman of the Organizing Committee of international conferences “Information Technology Interfaces” and the director of international journal “Computing and Information Technology”.