Home

Librarius 2000 Plus - Tinovimba G. Motsi

image

Contents

1. 3 To save the report Click the Save button Choose Save from the report window s File menu gt Enter the file name and choose Save or press enter 4 Toclose the report window choose the Close button Motsi Tinovimba G Page 168 Terminated subscriptions Librarius 2000 Plus allows you to browse through the records of terminated subscriptions This facility is provided through the Terminated Subscriptions window shown below that is available from the Database menu of Librarius 2000 Terminated Subscriptions Gi Xx Task SubseriberlD 95e sss SsS National ID i245878834 Registred On Tuesdapyl ugust 200 0 Terminated Tuesday 1 August 2000 O Reason BonafiedGuest sssi Ss Termination Remark non Name Prof JK Simbakamwe Expires Wednesday 2 August 2000 amp Borrowinng Fee 340 20 9 9 9 Borrowing Limit Po Loan Duration bomo Remark Bondiedguest Home Address Contact Address none 031 2811 none lt lt Previous Next gt gt Close Figure 15 Terminated Subscriptions Window It must be stressed that you can only browse through these records that is to say that you cannot alter them in any way The browsing techniques outline under Current Subscription also apply here with the only change being that the Terminated Subscription window provides you with 2 more sorting indexes which are The deregistered on
2. Reason Termination Rink Name Expires Borrowing Fee Borrowing Limit Loan Duration Remark Home Address Contact Address L L Motsi Tinovimba G Page 68 Deregister Book or Subscriber Task Facilitate the deregistration of books and subscribers Deregisier Book Subscriber Book No Reason Re mark Algorithms by task Deregister Button Validate the Reason and remark entered The remark is optional If it is a Book deregistration then Locate the book record Enter the located record in the books Deregisterd table Add the Date deregistered Reason and Remark Enter the deregistration transaction in the book transaction log Delete the deregistered book s record from the Book table Else Locate the subscription record Enter the located record in the Terminated subscriptions table Add the Date deregistered Reason and Remark Enter the termination transaction in the subscriptions transaction log Delete the terminated subscription s record from the Subscriptions table End if Unload the Deregistration form Cancel Button Unload the Deregistration form Motsi Tinovimba G Page 69 Global Routines I have decided to place the global routines in two modules The General global routines will make up one module whilst the validation routines will make up the other It should be noted that the need for most of the General Global routines was actually dis
3. Open as read only Z Figure 31 Standard Open Box 2 Enter the filename in the space provided 3 Choose Open or simply press Enter To abort the open operation simply press the Escape key or choose Cancel Saving a file To save the displayed text in a text file which you may open later in the report maker or a Word Processor 1 Choose Save from the File menu You will be presented with a standard Save Dialog Box 2 Enter the file name 3 Choose Save or simply press Enter If you already have a file name appearing on the title bar of the report maker utility choosing Save from the File menu will lead to the YD system performing the second and third steps automatically If you wish to save the file under a file name other than the one on the title bar then choose Save As Motsi Tinovimba G Page 191 Beginning work on a new document If you have been working on a document and you wish to begin work on a new document then 1 Choose Close from the File menu 2 You will be prompted to save the displayed text If you wish to do so choose Yes Printing the displayed Text You may wish to print the whole text or just a portion of it To do so 1 If you wish to print just a portion of the text then select the text you wish to print by holding the shift key whilst specifying the direction with the arrow keys 2 Choose Print from the File menu You will be presented with a standard print dialogue box P
4. Motsi Tinovimba G Page 145 The Report Utility Test 8 01 Mail merge Procedure 1 Start report maker and specify a merge session 2 Load a SQL source filewith the following contents SELECT FROM Subscriber Table WHERE Expiry Date 30 09 2000 3 Enter the merge source text Subscriber title Initials Surname Home address 1 October 2000 Dear Subscriber title Surname RE RENEWAL OF SUBSCRIPTION This letter serves to inform you that you subscription expired on Expiry date and that if it is not renewed by 10 October 2000 it will be terminated Your Sincerely Motsi Tinovimba G Head Librarian 4 Run the merge Expected Results Each of the subscribers with an expired subscription should receive a personalised letter Motsi Tinovimba G Page 146 Test 8 02 The Report Builder Procedure 1 Start report maker and request a Report session 2 Load the SQL file made in 7 02 3 Choose all the fields and trim none 4 Build the report Expected Results The report should be printed as the records appear in the query NB Please also study the reports in Test Data appendix Motsi Tinovimba G Page 147 User Privileges Test 9 01 Procedure Initialise all access rights to no access For each access centre Ensure that access is denied Enable access Ensure that access is now granted Next Calendar Utility Test 10 01 1 Generate the following calendar months using Microsoft Wind
5. Press the today s date icon Today s date should appear in the date registered column Move to the record for book number The field values should be 15 and change the field values to the updated ones shown below Remark Donation Drama club Set the index to a book number index Expected order and choose Go to first from the Task 1 2 3 4 5 6 8 9 10 12 15 17 menu Use the next button to browse 37 through all the records Motsi Tinovimba G Page 128 Choose move to first Locate and try For 7 the first book after 7 i e 8 the book numbers 7 12 and 38 should be displayed For the second search the record for 12 should be displayed 38 should result in a match not found message Set the index to Title index and Expected order browse as in 2 13 Aquifers 5 English Etiquette 3 Evolution 10 ExponentialFunctions 8 Galaxies near us 9 Immunity 6 International trade 4 International Trade Qtns 37 Relativity 2 Revelations 1 Small Orange 12 The art of war 17 The inorganic 15 Choose move to first and try to locate Ist Relativity 2 M English Etiquette and Volcano 2nd Match found 3rd No match found Set the index to the Author index and Expected order browse as in 2 13 Andrakatta 2 Camelot 1 Clarista 12 Gatak 4 Gatak 37 Laraka 3 Liprakas 15 Malakov 8 Peter 9 Picard 17 Rabin 6 Waugh 5 Zivanai 10 Motsi Tinovimba G Page 129
6. Test T2 OM sir ta opi toot hcl be iie bee pH RE DbA Bec EID E 149 User Manual 151 Chapter T Getting St rtedi o coe D eta ata Eb oH ieee ies Ee END robs 152 System Requirements eseri eeri enaa oeae TEE E E cose bg ERA TEATE Ea 152 Installing tlie S ySIOT auc as meon o ata tst a id Celi E NEN 152 Initialisine the databases 1o terr tr nectit ss eode tas rad an eue aieiaiei 152 CUSTOMUSING Yo r System uode oneri ire a rende pee E ie page 156 The Formats Category cute rtr rb cer eene epe eque tt acit testae ge te aai 157 The Charges Cate POLY oup ex ner ae a AR prede pedea dance uma 158 The Limits Cale OLy ie eso eter tita ED pe pee cing rudes seb rae as 158 The Users Cale oiy eoe red earn o pe Ur Feet esti E Ea ria 160 The Start Wp Cave gory 161 Librarius 2000 Plus Components eee od deir ovens rr oe eene edere oe 162 Motsi Tinovimba G CTapiet 2 os otto Ha ee as Nee INDIOS qetu dads totes saa US aude 163 Managing Subscription And Book Records essere 163 Current SUDSOTIDETODS qz acne e ceta teas eco dtn an bod esten ated Rote eAE OQ hel sechs une eene e bdo ducts deos 163 Entering new SUDSCPIDUOT seinistir Red In On Rea Cet HIP kr d heb Rn Race aae 163 Browsing through the subscription records esee 165 Editing subseription details 1 ceo e ortae rentis teria armen po Ip bea R arbo cade tabe bib epie 166 Terminating a SUDSCTIDHOD isesi entisiin re M Faro aaa aed kcu 167 Savi
7. These libraries are gt The Mucheke Public Library The Victoria High School Margaret Sharpe Library gt The Civic Centre Library gt The Mkwasine Country Club Library I happen to be well acquainted with the Mkwasine and Margaret Sharpe libraries and I believe that my knowledge of their operations and the predefined principles that limit their efficiency will be complementary to this research Methods of research used The information presented on the research work carried out has been obtained through interviews with the librarians of the libraries under study observation of the systems at work and inspection of the libraries records In some cases I have also included information obtained from discussions with the libraries subscribers I had originally intended to use questionnaires but I dropped the idea after realising the inadequacies of the information that would be obtained if the librarians even bothered to reply at all In the case of the Mkwasine Country Club I was unable to hold a formal interview but I managed to gain access to the library s records and as I have been acquainted with the library for many years I believe that this was sufficient In some cases I was able to source copies of the documents used and I have included these as exhibits Where I was unable to obtain the original documents I have had to make do with sketches I have also included certified interview scripts as proof of the authenticity of the
8. from the Mail Merge Menu Motsi Tinovimba G Page 196 Reports The report facility allows you print out reports based on SQL results To build report 1 2 3 6 Start Report Maker or if you are running the Report Maker choose New Session from the File menu Choose the Report Making session and click the OK button Enter the filename of the SQL source file created using the SQL utility If the query file is valid your report writing session will be started otherwise a text editing session will be stared instead Type in the Report header e g Report of expired subscriptions on 02 08 2000 The header may contain as many lines as you wish it to Select the report fields you wish to print in the order you would like them to appear in the report To do this gt Choose report fields from the report menu You will be presented with the following dialog box Choose Report Fields ojx SURNAME SUBSCRIBER TITLE INITIALS EXPIRY DATE lt HOME ADDRESS Figure 36 Choosing Report Fields gt Click the field you would like to appear first in the report and choose the gt button It will be moved to the Selected list Repeat the step above for all the other fields you would like to be included in the report bearing in mind that the order in which the fields appear in the list will be the same as their order in the report gt Use the button to return any field in the Selected list to the Av
9. 25 characters Book author Text 20 characters Borrowing fee Integer Amount in cents Loan period Text 6 characters Duration format Loanable Boolean Publisher Text 25 characters Supplier Text 20 characters Dewey Text 15 characters Class Text 10 characters ISBN Text 20 characters Reason Text 30 characters Remark Text 30 characters Edited Text 12 characters A binary string for the columns in the order Book title Book author Date registered Borrowing fee Loan period Loanable Class Dewey ISBN Publisher Supplier Remark During deregistration the columns will be used as follows Column name Data Stored Date Date registered Book number Book number of book deregistered Reason Standard reason for deregistration Remark Deregistration remark All the other columns in the transaction log will be left blank Motsi Tinovimba G Page 46 Subscriber Transaction Log Column Data type Size Comments Date Date Type Integer 1 Register new subscription 2 Edit existing record 3 Terminate subscription Subscriber ID Text 8 characters Registered On Date Expiry date Date Surname Text 15 characters Initials Text 4 characters Subscriber Title Text 4 characters National ID Text 20 characters Borrowing fee Integer Borrowing limit Integer Loan period Text 6 characters Duration format Home Address Text
10. April 2002 19 44 hrs Current subscriptions Expired subscriptions Deregistered subscriptions Current books Figure 8 Summary Statistics Window X If your system is taking too long to start up Librarius 2000 then turn this i option off You can always obtain the summary when you want it by choosing Quick Statistics from the Librarius Tools Menu Motsi Tinovimba G Page 161 Librarius 2000 Plus Components Librarius 2000 Plus is made up of is made up of the main system called Librarius 2000 Plus and 9 utility The main program does the following Facilitates the loaning and returning of books Facilitates requisitions making and processing Allows the user to specify the main system settings Allows the user to create and maintain book and subscription records The functions of the 9 utility programs are as follows Utility Function Backup Create compact Librarius 2000 plus backup files Calendar Allows you to browse through the Librarius 2000 Plus calendar that is from January 1800 to December 2100 Database Initialisation Allows you to set up the Librarius 2000 Plus databases Query Allows you to write and execute SQL statements on the Librarius databases Repair and Optimise Repair and or optimise the Librarius 2000 Plus databases Report Provides you with text editing report writing and mail merge facilities Restore Restores Librarius 2000 P
11. If you choose this option then you should specify the amount the subscriber will be charged in his or her subscription record See the section Managing subscription records that appears in Chapter 2 for more information The third option charge books as to the type of book and is appropriate where the library loans out different books at different fees If you choose this option then you should specify the amount the borrower subscriber would be charged in the book s record For more information on this see the section Managing book records in Chapter 2 The fourth option allows you to combine the subscription and books charging options It is appropriate where fees are as to the type of book but a certain subscriber or group of subscribers is require to pay an extra fee for each loan made The other possible scenario is where the basic system is as to membership schemes but subscribers are required to pay an extra fee if they wish to borrow a particular book that may be on loan from another library new or under high demand 2 Fine per day Use this option to specify the fine you wish to charge for each day a book will be overdue by The Limits Category The limits category allows you to specify 7 loan and requisition settings 1 Borrowing limit as to Use this to specify whether the borrowing limits will Be fixed e g 5 books for each and every subscriber Vary as to membership schemes e g Mr Motsi has a borrowing limit of
12. In the third box enter the surname that maybe up to 15 characters long Motsi Tinovimba G Page 164 Registered on Enter the official date of registration in the following format Date Month Year where the date and month are 2 digit numbers prefixed by a O where necessary and the year is a 4 digit number Alternatively you can enter today s date by simply clicking the button alongside the Registered on date Expires On Enter the last date on which the subscription will still be valid using the Date Month Year format described above Remark Optional Any additional notes you may wish to make Borrowing fee The borrowing fee in cents ranging from 0 to 32767 Borrowing limit The borrowing limit that should range between O and 20 inclusive Loan duration The loan duration ranging from OOMOOD to 12M31D See the section The limits category under Customising your system in Chapter 1 for more details on the format Home Address May include more than one line and maybe be up to 60 characters long Home phone number Optional May include letters amp Spaces and may be up to 12 characters long Contact address Optional May include more than one line and maybe be up to 60 characters long Contact phone number Optional May include letters amp Spaces and may be up to 12 characters long Browsing through the subscription records You may move from one subscription record to the
13. Librarius allows you to locate all the occurrences of a word in your document To use this facility 1 Choose New Search from the Edit menu You will be presented with the following window Figure 33 Finding text 2 Enter the word or phrase you wish to locate Motsi Tinovimba G Page 193 3 Specify whether Report Maker should only return matches that are whole words or phrases only 4 Specify whether you would like Report Maker to consider the case when making its comparisons If this option is not selected then Report Maker will interpret capitals and small letters as identical 5 Choose OK 6 To find any more matches press F3 or choose Find Next from the Edit menu Replacing every occurrence of a particular word or phrase This facility allows you to automatically replace all the occurrences of a particular word or phrase To do this 1 Choose search and replace from the Edit menu You will be presented with the following window E Search nd Replace Iof x Text Replace with Whole word Match Case Enter the word or phrase you wish to replace in the Text box Enter the word or phrase you wish to replace the text in 2 with Specify the search criteria i e whole words only and or Check case Choose OK Mop S D Inserting Dates and Text Files To insert a date or text file in the document you are working on 1 Place the cursor where you would like to make the insertion 2 Choos
14. Print button Close menu Activate the close button Motsi Tinovimba G Page 63 Subscriptions Records Management Tasks 1 Displaying the details of all valid subscriptions including information on books borrowed and requested 2 Facilitating the updating of all subscription details including those concerning books borrowed and requested 3 Facilitating the registration editing and termination of subscriptions Plan As the tasks which this form is supposed to perform are basically the same as those of the book records management form with the only major difference being in the table being managed I have decided to adopt the book records management algorithms with the following modifications smsmmms Subscriber ID National ID Name Registered On Expires Remark Borrowing fee Borrowing Limit Loan Duration Home Address Contact Address Loans Details Requisition Details Motsi Tinovimba G Page 64 Algorithms New Edit Menu Mark the displayed subscription record Disable the Read Only Mode Register The New Edit operation in the Save button s tag property Transfer the subscription ID to the Enter Subscription code text box For an edit operation disable the Enter Subscriber ID text box Reformat the Registered on Expires on and Borrowing fee data Replace the name text box with the Title Initials and Surname text boxes Enter the data in
15. Program siosar eiie teres rhe a er E ede rio EEE EE AE REEE 115 Al icula Me E EE 117 Testing 119 Introductions ane e ec E a erdt PL LN a ULM 120 xillsewica iP 120 Valid ranges S 121 Testing the TOC ate function uoce n ucc r ra aaa i a R ia 124 jefe dea A ER 126 T stra pe OF Book n uinbet cani eh tren oer qe ee Face Eae ka o eigen 126 Loan and requisition LESAN a recen detto tone ce pr ael i edente rere Eee ER ends 132 Search Testing ir ttm 137 Loan requisition subscription and book records see 139 Dieparatiols i5 ea tia a di I ES eed etant deese ca AE AE TE a 139 jl sees geese acs E R RA E od cds arc V edna on A cares 139 Motsi Tinovimba G Transaction COSTS a ra a is tette te IIR HIR eut Ha IRAN nines apnea Ru dead Rs 141 Test 6 01 Test User lop maintenance enceinte tret tigre nhe Fo testae 141 Testine neci M dopes 141 Expected tres ltS cM 141 Test 6 02 Test subscriber log maintenance essere 142 gu ci EC Siaa 142 EXPected ci MT 142 Test 6 03 Test books loe miaintenani Ces eee etin tetigere esta rere rper ned tinta 143 gi ccu NH ais 143 Expected Results 2 ou utei oad io tere Marg ation uas asus paio kd co MM aA rise 143 Test 6 04 Main Log maintenance s eerie tet tote ctim ba ed Plo ce dert eodd beue 144 Proced r nnen
16. SQL to obtain the number of books borrowed by a subscriber Compare the above number with the subscriber s limit If the subscriber has exceeded or reached this limit then abort any loan operation in progress New Button Lower the confirm flag Set the total cost to 0 Set the cost of the last book to 0 Erase all the text box data Give the Enter subscription Id textbox the focus Refresh Details Button Recall the Obtain subscription details routine Close Button Activate the New button and hide the form Motsi Tinovimba G Page 75 Returning Books Subscriber ID Details Book number Title Author Total Fine Requests Subscriber ID Text Box Keypress and Lostfocus events Same as for the Borrow form Refresh Subscriber Details Button Same as for the Borrow form Motsi Tinovimba G Page 76 Books textbox Keypress event If the key pressed was the enter key then If the Confirm flag is down Ensure that the subscription exists Validate the entered book number Ensure that the book exists and is actually on loan to the named subscriber Enter the books title in the Book title text box If the book is overdue calculate the fine Add the fine on the book to the total fine Enter the new Total fine in the Fine text box Raise the confirm flag Else Ensure that the subscription exists Ensure that the book exists and is actually on loan to the named subscriber Cancel out the loan Lower the Confirm
17. Tinovimba G Page 199 You can only edit the rights of one user at a time To set the rights of the other user simply choose his her name from the Category menu It is important that you understand that you can only change or set a user s access rights after you have specified his her name and access password in the Options window of the main program See Customising your system in Chapter 1 for more information Motsi Tinovimba G Page 200 Chapter 7 Keeping Track The Transactions Manager This utility allows you to keep track of all the data processing activities including the use of the system by different users To access this facility choose Transaction Viewer from the Librarius program group The four transaction logs can be viewed simultaneously or one at a time To view any particular log chose it from the Transaction manger s Transactions menu Librarius 2000 Transactions ioj xi Transactions of Zimbabwe Time 20 24 hrs Subscribers log i User 1 Motsi Tinovimba G Books log Users log Help F1 Exit Figure 39 The Transaction Viewer The Main Log This contains a record of all the transactions relating to loans and requisitions The extra date and amount columns are used as follows Type Extra Date Amount Borrow Due date Borrowing fee Extend loan New due date Days extended by Return Date due Fine if any Delete loan Date due Make request Expiry dat
18. Until Array building is through Print the merge letters For each records in the Query result For each row in the Merge array If Array Field_type Text_info then Insertion Text between Start and End inclusive Add the insertion to the merge text Else Field name Text between Start and End inclusive Insertion Field value If the field is a date field then Format the insertion as to the system s date format If it contains time information then Add the time to the formatted insertion End if Else if it is a Boolean field then Replace True with Yes and False with No End if Add the formatted insertion to the merge text End if Next Print the merge text on a new page Reset the merge text to nothing Next Send the job to the printer Report Text Box Mouse Down Event If the right mouse button was pressed and if it is a Merge session then Load the merge pop up menu Insert the chosen field name in the text at the cursor s position End if Motsi Tinovimba G Page 101 Choose Report Fields Form Choose Report Fields Form Load Place all the fields in the recordset in the fields available list box Choose All Button Move all the fields in the available list to the chosen list Choose Button Move the highlighted field to the chosen list Undo All Choices Button Move all the fields in the Chosen list back to the Available list Undo Choice Move the highlighted it
19. Using the author index try to locate Picard Found Picard L and Zororai L Laraka found Zororai Match not found Set the Index to the Dewey index and Expected order browse as in 2 13 100 4 100 37 300 6 300 12 325 15 400 10 500 8 600 3 700 5 750 17 800 2 900 9 Using the Dewey index search for 1 Match found 6 300 7720 and 901 2 Match found 750 17 3 Match not found Set the index to the Registered on Expected order index and browse as in 2 14 25 08 1979 6 23 03 1981 5 01 01 1982 1 01 01 1982 4 01 01 1982 9 28 02 1982 37 17 05 1983 10 23 07 1983 8 10 05 1987 3 22 10 1987 17 02 02 1991 15 12 09 1991 2 31 08 1992 12 Using the registered on index search 1st Record found 37 for 28 02 1982 01 05 1987 and 2nd Record for 3 found 01 01 1993 3rd Book not found Motsi Tinovimba G Page 130 Set the index to Class and browse as in 2 13 Expected order Astronomy 9 Biography 17 Customs 3 Divinity 1 Economics 4 Economics 37 Fiction 12 Geology 5 History 10 Maths 8 Physics 2 Sci Fiction 15 Zoology 6 Using the class index search for Economics I and Zoomantics Motsi Tinovimba G 1 Match found 2 Match found 8 3 Match not found Page 131 Loan andrequisition testing 3 01 Loan book to a non existent Error message subscriber by entering ID 12345abc Subscriber non existent and pressing en
20. a a E Nea Uaboc a aE eaa Nek renal EEEE RR ES 144 Expected Eog ENIES spisie dsbcotes sede edensctanaadesssp tea R ede ch ea dea dn 144 He query ut DOS ice isini a te e e d ve E a NE a S 145 Test 7 01 Query on the Main Database ssesseeesesesesesesseesssseeesesesesesrrersrreresesesese 145 Test 7 02 Query on the Transactions Database esee 145 The Report UCU y ED 146 Test DI Mail merte siise de attivi ue E e tete etui s E uescons 146 Proced t MR I R aiis 146 Expected Results iudei to hen eet bn ttd ces Ev cepe eV dens e sees 146 Test 6 02 2 The Report BUIldet cuu eser itat ORIPES er het Niue setasion 147 Pro ed r doctr ite adi v aen E etia cd o mu OR dece pea DNO s 147 Expected Results M 9 147 NB Please also study the reports in Test Data appendix 147 User Privileges cuis eorr eet pa heec idee E ESEA EEEE ue riti EA bak eed ep ieu dad 148 NIE PER S 148 Calendar Wat qe assis its ausnaspecensctarssnscqcsilecvssunc ant AEE AEE E EEE T A ES 148 Test 100l uurin m 148 Backup and BestOre cuin ade te rest ined ee Re td aeei AE RE eap TETE 149 Test EL eda ose ode icio etii e enn Ode Ud EPA TI EDU tr i due 149 lg e QUES MM 149 Expected OSU IS cusan oid e a te ote ion uuo a tani o a Sr eer rd cues 149 origo S 149
21. any in terms of links If you do happen to come across one then please do send a bug report through the feedback page on the site Formatting with particular reference to indentions remains a problem and is being looked into The system documentation has been revised to accommodate the changes made The research documents have been moved from their Appendix into the main body of the first section This should allow for easier reading Designs have been revised and a substantial amount of errors in the algorithms has been identified and removed The test strategy remains largely unchanged as the opinion of the author was that the problem was with the implementation and not in the actual design of the tests The results have been relocated to Appendix B and the Test data is in Appendix A The appendices are available as a separate download The source code is also available as a separate download Included in the source code are all the help project files for the Help system The installation program download also includes the testing database in the form of a backup file that can be restored using the Librarius 2000 Restore Facility As outlined above substantial progress has been made towards making the system stable Work is still however underway and further revisions will be implemented over the next couple of months Please check the site occasionally for updates Tinovimba G Motsi May 2002 Motsi Tinovimba G 1 Acknowledgements Fir
22. combinations he please include this im vour explanation Q memesc v 0 enwsd eo eec oo BPP at see eum e Ny eee X oane vagus Bern oy Mee wee eeermedk aha ah m er QM 0985 pe Mie ec o0 eoo 7 Please specify how vou line for overdue books De SoRECO S ON a aaae 3 pe 8 What information about vour subseriber do vou keeps Dome aadAretst eco 0 ene an o Ocoeuue ese shucks comes meme dedesetom em caen bret eene eienn P 9 What records conceming your books do you keep Uae anbhnoer numer p cea act _ Motsi Tinovimba G Page 27 n Do vou stock take yrs 4 LE vou do then How olen emcee ex eane Lo What imfonmation do vou collect Hid meer e S te Mee Un ger coe eV O umma ie ri AS sin METTRE ue Ae Cata yate o BE ee ee eem nA Mee ee as xo cA S exe cnl S n m Oe i Lo vont members bave fibrin cards Yes he H they do thor what key details appear ow these carde X lv LITnRAEY Sam Oh eed and Corect 1 i Efit NOCERE Motsi Tinovimba G Page 28 The Mkwasine Country Club Library The Mkwasine Country Club is located in Mkwasine Estate about 38 kilometres from Chiredzi in the Low veld The club is the major provider of entertainment services to the residents of Mkwasine Estate and the surrounding areas It is made up of a sports unit a children play centre a catering department and a library The library only has fictional books obtained through donations fro
23. e Date format e Week Day e Day e Month e Year Limits Collection e Borrowing limit as to Fixed borrowing limit Requisition limit as to Fixed requisition limit Loan duration as to Fixed loan duration e Requisition valid for Charges Collection e Books charged as to e Fixed borrowing fee e Fine per day Users collection e User name ser 1 password ser 2 name ser 2 password ser 3 name e User 3 password Start up collection e Show statistics e Confirm date U U U U The last category does not appear in the design and the need for it only became apparent when I was going over the Configuration settings Each category will be allocated a window which will be activated by clicking on the corresponding button on the categories ribbon Motsi Tinovimba G Page 92 Algorithms Form Load Lower the Already loaded flag Form Activate If the Already Loaded flag is down then Raise it Assign the setup table property value to the corresponding controls End if Change password Button Array Ensure that the user name has been entered first Load the change password form Ensure that the password returned is unique Save Button Ensure that all the data has been entered Only the user information regarding to Users 2 amp 3 may be left blank Ensure that all the data in the text boxes is within the valid ranges Convert the data into the form expected by the setup table and update the table Update the
24. eie oes EN 181 The Query U liby sete dee en ee tet eem o abiere ace ree die etd 183 Main Database Table S UCD re sos aeri der piece rr etri exea eaa Ee iei eci npu doped 183 Transaction Database Str ctlte s cech oer terne rient eran pesa rayon 185 Use of columns in the Main Eg uie rtr t titre unte eR eee eer dee Deu ga 187 Execuling a QUE Y a iode terae einer paced arie ood need ri E estu epu ve pee n ERU E 188 Chapter 5 Reports amp Mail Met eei eet o Etude este el ete pls tu yd tua 190 PORE EdE uet eoa ti a aee rites t iare ex bug eae uu RECHNER renes 190 Opening an existing FINS s soie bb Leti Cet vdd E Weste eo ve ull V LE E RN ves 191 Savins a fle aee st 191 Beginning work on a new document eesssesessessesseseresrersrrertsrsesestseersrrereseserenese 192 Printing the displayed Text roeier ekio raeas e es P ep AEE 192 CASS th TOL aoo i ceteb eod be en Et a et oci a a aa eals 192 Finding a word or phrase in a document eese 193 Replacing every occurrence of a particular word or phrase 194 Inserting Dates arid Text Files 4 ons etre etri epe ea eto ra eal tea gn enn 194 SEU ru m 195 REDOLS eth AE AEAEE SE EE ES teni uc sa PAN E E gr deis 197 Sinne M T 199 Setting Access Rights Tor Users 2 3 ue ore citer eo Code ut d ben xe kao eee tou pueda 199 Chapter T M PER 201 Motsi Tinovimba G Keeping Track The Transactions Manager seen 201 The
25. entries should be made Motsi Tinovimba G Page 143 Test 6 04 Main Log maintenance Procedure Create subscribers 12345jkl and 78965pqr Create books 270 and 513 Loan out 513 and 270 to 12345jkl at a fixed cost of 2 50 and loan period of O00M14D 78965pqr requests 513 and 270 at a fixed period of 7 days Extend the loan 12345jkl 513 by 13 days Reduce the loan 12345jkl 270 by 12 days Extend the requisition 78965pqr 513 by 3 days Reduce the requisition 78965pqr 270 by 2 days Delete the loan 12345jkl 513 10 Delete the request for 513 11 12345jkl returns 270 12 78965pqr borrows 270 Request processing NS po ON e Tu Go EE Expected Log Entries 18 09 2000 270 2 50 18 09 2000 270 18 09 2000 270 42 18 09 2000 270 2 18 09 2000 270 18 09 2000 270 18 09 2000 78965pqr 02 10 2000 O Motsi Tinovimba G Page 144 The query utility To test the SQL utility two queries will be executed each dealing with a table from one f the two databases The query results will be compared with those obtained by Microsoft Access Test 7 01 Query onthe Main Database A query to display the details of all the subscribers with expired subscriptions SELECT FROM Subscriber Table WHERE Expiry Date gt 20 08 2000 Test 7 02 Query onthe Transactions Database A query to display the User s log s 10 20 sessions SELECT FROM User s log WHERE Session gt 10 and Session lt 20 ORDER BY Session
26. ieee eee ee FOR ORLICE SE ONLY KECEIPT NO DATE ertt s so 99094 65e0eeba4v eesedos nesaotccurc sso di FU ERES EARN SOAM A s9 N wweoe SIGNED D LL sid Le 2 SLE Ey TE AE ITENYTTTTTT ae otsi Tinovimba G Page 10 Interview Script Ate von part of apy larger organisation vet xe FEvou are then please specie p Name otersunsaion Muicapayba op Wan mae Type Mans misc e Approxumitely how manv hooks and ubsentiers do vog have Books S60 c Subscriber a ee PRI Please specily the following about cach catesons of the books yar have Loaned out Borrowing oun Y N Period Repren ce LEM r VAN Nan Fictvor 4 U you offer more than one wpe of membership following for each lupe where applicable Catopores Borne 3 Ror rone m DEN Motsi Tinovimba G Page 11 Do w allow your subscribers to request books which will be ont so that they av 5e the first to borrow them when the are returned Please state kow vour borrowing limit is organised Hf it inclades cilegon cembinatis Ure please inchade tiis in vour explanation orne Ne ok Per 0 preon por Nama Quod Ok oh weet Please specif how vou Bae for overdue hooks aic per eon OQ Sean 3 What intomiatiou about sour snbieribers do vou keep Boxe 9 innen a n pte eel ces card oo eee ek marian heme Adrara yarn YaN Fem tre b
27. in a position to terminate the subscription Terminate Subscription Subscriber ID fi 0000abe Reason Remark Figure 13 Deregistration Window 3 Enter the reason and if you want to you may also enter a cancellation remark Each maybe up to 30 characters long 4 Choose deregister 5 If the subscription is terminated successfully you will be given a confirmation message and returned to your Browsing X You should consider having a set of standard reasons that you enter as the Aue reason and to include any other information as a remark This will allow you to later select similar deregistrations when preparing reports Saving to Text or Printing the displayed subscription record You can print the displayed subscription record or save it to a text file of your choice for opening letter in a text editor like Notepad or even a Word processor like Word To do this 1 Choose Report from the subscription window s Task menu 2 To print the report Click the print button or choose print from the report window s File menu gt A Print window will then appear See Chapter 5 for details on printing gt Choose Print Motsi Tinovimba G Page 167 Report iof x 21058prc Miss R Motsi 35 277382 P79 Sunday 10 May 1987 Tuesday 9 May 2000 4 50 5 00 Months 14 Days none Home Address P O Box M50 Makuvatsine Chiredzi Home phone Mo 031 246919 E Figure 14 Report Window
28. in that teachers are allowed to take out more than one book at a time whilst students are restricted to only one The library is audited once a year and during this audit the records are checked against the actual books present in the library with all discrepancies being noted down in the remark column of the accession book The librarian is also required to routinely compile lists of all the lost books or books which will have been out for a suspiciously long time for the clearing of students before they go home or collect their public examinations results Various other statistics are also extracted regularly for the bursar O Motsi Tinovimba G Page 14 Problems Faced 1 The request system is extremely inefficient as the librarian will often not be able to check the list on busy days 2 Records are not secure as the junior librarians often edit the records before the stock taking period so that their friends show no outstanding books during the Student Clearing period As there is no record of transactions the culprits are rarely caught 3 Accessing the records of individual books even in their indexed form is a long and extremely tedious process This is often necessary as most students will often approach the librarian requesting a particular book without even knowing the proper title or the author s name 4 Statistics compilation is slow laborious and prone to an extremely high degree of error especially when under pressure from the Sc
29. information contained in the reports Each of the interviews I held focussed on obtaining the following information e The name and organisational structure of the library e The approximate size of the library in terms of the number of registered books and subscribers The categorisation of books and the membership schemes offered The efficiency of a requisition system if present The loaning and fining system used The information concerning books and subscribers kept The methods used in the storage of data The methods of statistics collection and the type of information collected along with its uses e The computer literacy of the librarians O Motsi Tinovimba G Page 4 This focus is reflected in the structure of the interview scripts I have also included an embedded description of the data flow in the current systems in the reports Motsi Tinovimba G Page 5 The Mucheke Public Library The Mucheke Public Library is owned and run by the Municipality of Masvingo as a service to its ratepayers It is run on a non profit making basis and its activities are financed by the municipality and well wishers The library has a total of about 2 522 members and this number is expected to keep rising steadily The library offers only three types of membership The first type of membership known as temporary membership is for those who may wish to use the library s studying facilities for only one day and this scheme is quite popular around exam
30. item on which the search will be based It must be one of the following Subscriber ID Subscriber surname Subscriber Initials Subscriber title Book number Book title Book author 2 Specify the search string that all the returned records must match e g 12345xyz for a Subscriber ID based search 3 Specify the search type gt If you choose the Whole word option then only those records which contain the search item specified above that will be identical to the search string also specified above will be presented as matches gt If you choose an the Embedded option then all records which contain the search string anywhere in the search item will be presented as matches For example if the search string is Jumo then matches will include surnames like Jumo Rajumo Jumoka and Makajumoka VVVVVVV Motsi Tinovimba G Page 181 4 Choose the Search button 5 If any matches are found you will be presented with the following Results window File 20000def z Search Results f x Mr S Mhiribidi Saturday 12 February 2000 Friday 12 May 2000 3 00 1 DO Months 21 Days none P Bag 7012 Chiredzi 031 2811 Admin Chiredzi Figure 27 Search facility Results Window Mkwasine Estate 6 If more than one match is found indicated on the first line of the results then you may use the Next and Previous buttons to view the other matches You may print the search results or save them to a text fi
31. paid and it is believed that incorporating this into the system would be beneficial In addition some libraries maintain prepaid accounts from which borrowing fees and fines are deducted and this should be incorporated into the next version Direct SQL Most users are quite uncomfortable with SQL and since the range of SQL allowed in Librarius is quite limited a user friendlier interface should be considered This interface would probably adopt a Wizard interface that would allow a user to specify the details for each SQL statement by selecting fields from a list Motsi Tinovimba G Page 213 Reports The reports utility should incorporate a facility for saving reports The saved report file would probably include details of the SQL fields chosen and their trimmed lengths In order to discourage direct editing this file would be held in binary format Users The system should allow the primary user to declare as many users as required In addition the utility for setting individual user rights should be incorporated into the Options window Starting it up on its own is rather inconvenient Transaction Logs Although the format for holding the main transactions is quite convenient space wise the main log is quite difficult to read Ways of improving o this should be explored O Motsi Tinovimba G Page 214
32. qe bedeutete petente b oun cta rod eekucind ii auri enire a eie eTa aE a Eaa Ee Ee Eea Ee Eas ii PROBLEM FORMULATION ANALYSIS AND SOLUTION 1 The Problemerne P 2 Generalised ODjSCHVES MT 3 Research into the current systems eco uer conssussis eoi tmb eda Cont vene en EU Vl Ute nde trice dud 4 gestore rm ccbpeae 4 Methodsof tesearclrused en e eto oe nl ri ed acd tu PE OP m ge id curs 4 Ihe Mucheke Public Libr ty iie tester ttn tH Spear co Ue HR oiii 6 The book Ioan Syst m xou E Rte tote terc trt eoo e Draco n eo 7 Problems LACE EE sd 8 BOHOWEES Card uai teo o Dto dts etm oct Poids otim e d even eid EER 9 Iovi caddie M 10 Interview SOLID doin resorte tatu ia Gd qct it eco ee a Ris 11 The Margaret Sharpe LiDrary iecore doe eoba deter tn e rado epe tira pesto da tap enia etd 14 Problems PACE eie LA tos vts tetendit e Qt a M Cen aiv cae ai 15 ACCESSION BOOK raisini na e aaa ia Sa ESEAS 16 Catalog ing POUCY i creto oem Ieri e tI E Ee rise ER casei UG V SR D ded tee 17 Ca talog e ecu 19 Interview lora m 21 The Civic Centre Dibraty een cerner tri tru nra poeta tu epa eias E E EE aa Ey 24 Problems faced sissies tore ee ita ied Ee rete tere des 25 Interview Scipia Mm 26 The Mkwasine Country Club E3bEAtyu aede Eee uites rere E bru od tee Serene 29 Problems Faced 225 2 epar cora rp ue tnra pesi tct baee edel riae ciet vo Ree EORR Heg 29 Members hips Cards 22 2 pato tea p h
33. read then Raise the All text read flag Else Mark where to begin the next read Start count End if Else If the current character is an end of string character then MyLine Text between Start Count and the current position Move the x pointer to the field s start position Print MyLine Add 1 to both offset and the printer s current row Raise the all text read flag Else Move to the next character End if End if Until the All text read flag is up Motsi Tinovimba G Page 98 Algorithms Mail Merge Section Insert Merge Field Menu Run the insert merge filed form Begin mail Merge Menu Validate the starndard letter Build the merge letter array Print the letters Validating the standard letter Current position 1 Repeat If the current character is then Mark the beginning of the field as Current Position 1 Repeat Current position Current position 1 If the current letter is then Record the text between and as a field name Search for the filed name in the list f available fields If it is not found then Report the error Abort the compile standard letter operation Else Raise the field verified flag End if Else if the current character is a then Give Error Field name found within another field name Abort the compile standard letter operation Else if the current character is the last character in the string then Give Error End of field name not found Abort the compile standard letter o
34. respective link to gain access to the dialog box you want Once you have the dialog box on the screen you can use it to change the due expiry dates and to cancel loans requisitions depending on the dialog box you will be in It should however be noted that you cannot change the dates on which the loan requisition was made and you cannot set the due expiry date to a date before this date If the window indicates that it has more than one page then you can move to the previous or next page by clicking the or 2 buttons respectively Changing the due date 1 Click the due date you wish to change The following dialog box will be displayed Adjust Due Date 5 i DE x C Add oo x Months foo Days Subtract oo Months oo Days C Specify Date o5 May 2002 Ok Help Cancel Figure 25 Adjust Due Date 2 To subtract a given number of days or months gt Choose Subtract by clicking it Choose the number of days from the list by clicking the downward facing arrow and then clicking the number of days you wish to subtract Do the same for the months gt Choose OK 3 To add a given number of days or months gt Choose Add by clicking it Choose the number of days from the list by clicking the downward facing arrow and then clicking the number of days you wish to add Do the same for the months gt Choose OK 4 Tochange the due date to a specific date gt Choose Specify Date Select the day mon
35. table on the use of the Amount and Extra Date columns later on Extra date Date Books log Date See the main log Date field description Type An integer 50 New 5 Edit 52 Deregister All the fields in the gt The loan period in the Books log has Books Table 6 characters and appears as it does when entered with the M and D For Deregistration transactions only the Remark column is used and it is used to store the Cancellation remark All the other columns are padded with Nulls during deregistration Reason Text Motsi Tinovimba G Page 185 Subscriber Log Date See the main log Date field description Type An integer 60 New 61 Edit 62 Deregister All the fields Subscriber Table For Deregistration transactions only the Remark column is used and it is used to store the Cancellation remark All the other columns are padded with Nulls during deregistration Reason Text User s Log Time in See the main log Date field description User name Text Session Long Integer A unique number that determines a session Area Integer 1 Main 2 Security 3 Backup 4 Optimise 5 Restore 6 Transactions 7 Report 8 Query Time out See the main log Date field description Motsi Tinovimba G Page 186 Use of columns in the Main Log Date Type Sub
36. the fixed book charge from the set up table and assign it to the borrowing fee Else if it is on Subscription basis then Obtain the borrowing fee from the subscriptions table and assign it to the borrowing fee Else if it is on Book by books basis then Obtain the borrowing fee from the books table and assign it to the borrowing fee Else if it is a book and subscription basis Add the book and subscription borrowing fees and assign it to the borrowing fee End if Ensure that the book can be borrowed Ensure that the book number exists Ensure that the book s loanable property is set to true Ensure that the book has not been borrowed O Motsi Tinovimba G Page 74 If the book appears in the requisition table then If the person who made the requisition is not the one trying to borrow it Generate an error End if End if If the loan period for the book is OOMOOD then warn the user Make the loan If the book had been on request Enter the requisition processing transaction Delete the requisition from the Requests table End if Add the loan to the Borrowed books table Enter the loan transaction in the log table Get due date If loan duration is fixed then Obtain the fixed loan duration from the set up file Else if the loan duration is as to books then Obtain the loan duration in the books table Else if the loan duration is as to subscriptions then Use the loan duration in the subscriptions table End if Check subscriber s limit Use
37. the loan should be cancelled manually i e not a normal return then the following details will need to be noted down e The date on which it is deleted e The date on which it was due In all the above transactions the loan affected will be identified by noting down the book and subscriber concerned Requisitions Concerning the making of new requests the extension of requisition expiry date and the deletion of requisitions the data will be modelled along the lines of the loan data The only difference is that no fines or fees will be recorded as it is assumed that the requisition service will be offered free of charge However the treatment of a requisition record when the person who will have made it borrows the book needs special treatment and when this does occur the following details will need to be noted down before automatically deleting the requisition entry e The date on which the book is borrowed e The requisition s expiry date e The book and subscriber concerned Motsi Tinovimba G Page 40 System Identity As to the specific objectives the system will maintain an editable file defining its specifications that will reflect the library s various policies The following details will be kept for this purpose c c q 4 q 44 The format of the subscription identification codes i e the combination of letters and digits This will be maintained for validation purposes How the borrowing fee per book is determined that i
38. this with the paper width also available from the tools menu The adjusted total width should be less than or equal to the Paper Width or an error will result during the report building 8 Choose OK 9 Choose Build Report from the Report menu 10 Specify the printer paper size and Paper orientation See the section Printing a document under the Text Editing Section Motsi Tinovimba G Page 198 Chapter 6 Setting Access Rights for Users 2 amp 3 This facility allows the high priority user to determine the facilities to which the other two users will each have access to Librarius 2000 Plus Specify Security User 2 Mafuva Gerald T LJ M z zd d d ud WS MEL ee REGED a ORNA 89809 3 1 Figure 38 Setting Access Rights The facilities are divided into 4 categories namely Routine tasks Data Management Transactions Database Management To access a particular category click its tab and its facilities will be displayed along with all the active settings if any A check mark alongside the title of a particular facility indicates that the user will be given access to the facility Click the check mark to switch it between marked and unmarked To save the displayed settings click the Save button If this will be the first time you will be assigning a particular user access rights you will be prompted to confirm the creation of the new set of access rights You should choose Yes Motsi
39. time The second type of membership is called General Membership This scheme is for those who wish to use the library s studying facilities regularly and the scheme is on an annual basis About 90 of the 2 522 members are General members Borrowers make up the other 10 and as their scheme s title implies they are allowed to borrow books The borrowers pay a general membership fee a borrowing fee and a Caution fee which is refundable on termination of membership provided that no books have been lost or damaged The borrowing fee is paid only once at the onset or renewal of membership The borrowers are allowed to borrow only one book at a time for a maximum of two weeks after which a fine of 1 50 per day is charged The library has over 17 500 books which fall into 3 categories namely Fiction Non fiction and Reference The reference section is made up of books considered to be either too valuable or highly demanded to be loaned out The library has no requisition system as the librarian feels that the system of putting books under high demand in the reference section is adequate The General Members and Borrowers are given library cards which are basically similar with the only difference being in the type of membership printed on the front of the card Detailed records of all the subscription details considered relevant are kept in a file and these include e Date on which membership commenced Date on which the subscription expires Card n
40. when the column has been adjusted to the width you desire 5 In the case of subscriber addresses when the results are presented only the first line of the address will be shown To display more lines for the record number 2 Place the mouse pointer on the line on the Row Number bar between the rows number 2 and 3 and hold down the left mouse button The mouse pointer should change to an arrow pointing to the top and bottom when you do this Motsi Tinovimba G Page 188 gt Without releasing the left mouse button move the pointer down to increase the number of displayed lines and up to reduce the number of lines displayed Release the mouse button when the row has been adjusted to the height you desire 6 Ifthe query returns more than 100 records then they will be displayed on the screen in pages of 100 records each To view other pages Use the Next and Previous buttons at the bottom of the Results window 7 You may save the displayed SQL text or print it out to by following the procedures out lined in Chapter 2 under Printing the displayed subscription record SQL Result ojx SUBSCRIBER ID SURNAME SUBSCRIBER INITIALS EXPIRY HOME ADDRESS a 20000def Mhiribidi Mr 5 P Bag 7012 12 05 2000 Chiredzi 21058prc Motsi Miss R P 0 Box M50 Makuvatsine 08 05 2000 Chiredzi 7 Baobab Ay Lochinvar 25 08 2000 Harare 37652xyz Mhiribidi D w Figure 29 SQL Results Motsi Tinovimba G Pag
41. you choose to display the day with leading zeros your day will always be two digits long implying that the days 1 to 9 will be displayed prefixed with a zero c The month can be displayed as gt A full month e g January gt Inits shortened form Jan Asanumber with a leading zero where necessary Asanumber with leading zeros d The year can be displayed either as a 4 digit year or as a 2 digit year e You have a choice of separators and these are gt gt gt Aspace Using the above you should be able to specify any date format that you may wish You however do not have a choice as far as the order is concerned The order is Week day if present followed by the day month and year separated by the specified separators Motsi Tinovimba G Page 157 The Charges Category 1 Borrowing fee When you loan out books you may choose to charge the borrowers for each loan made and Librarius 2000 Plus gives you 4 charging options The first one is a universal charge referred to as the fixed charge This charging system is appropriate where all loans are made to all the subscribers at the same fee If you choose this charging option then you must specify the universal charge in the box labelled Fixed charge The second option which charges books as to membership schemes is appropriate where the library has more than one membership scheme where the borrowing fees vary as to the type of loaning scheme you will be on
42. 6 whilst Mr Mutasa has a borrowing limit of 2 The borrowing limits must be specified in the individual subscriber s records Fixed less the number of requests e g a subscriber can only have 7 books on both loan and request Motsi Tinovimba G Page 158 X If you select this option it is advisable to also set the requisition limit to AWO Fixed less Borrowed and to specify the same fixed limit for both requests and loans Membership less requests which is basically the same as the as the one above with the only difference being in that the total for each subscriber will be specified in the subscription record 2 Fixed Borrowing Limit Specifies the universal limit for the fixed limit or fixed less requested option 3 Requisition Limit The requisition limit can either be fixed or dependent on the number of books you will have borrowed Use the second option if you have specified Fixed less requested in 2 above 4 Fixedrequisition limit Specifies the universal limit for the fixed limit or fixed less borrowed option 5 Loan duration as to Specifies how the loan duration is going to be determined The loan duration can be gt Fixed Vary from book to book gt Vary from subscriber to subscriber 6 Fixed Loan duration Used to specify a loan duration between 0 days and 12 months 31 days The loan duration must be specified as follows gt Two digits representing the number of
43. 60 characters Home phone number Text 12 characters Contact Address Text 60 characters Contact phone number Text 12 characters Remark Text 30 characters Reason Text 30 characters Edited Text 14 characters National ID Surname Initials Subscriber Title Registered on Expiry Date Remark Enter Borrowing fee Borrowing limit Enter Loan period Home address Home phone number Contact address Contact phone number Reason Motsi Tinovimba G Page 47 During deregistration the columns will be used as follows Column name Data Stored Date Date registered Subscriber ID Subscriber ID of book deregistered Reason Standard reason for termination Remark Termination remark All the other columns in the transaction log will be left blank Books table Column Data type Size Comments Book number Long integer Date registered Date Book title Text 25 characters Book author Text 20 characters Borrowing fee Integer Amount in cents Loan period Text 6 characters Duration format Loanable Boolean Publisher Text 25 characters Supplier Text 20 characters Dewey Text 15 characters Class Text 10 characters ISBN Text 20 characters Remark Text 30 characters Deregistered books table This table will contain in addition to all the columns in the Books table the following Column Data type Size Comments Deregistered Date Date
44. 7 2000 70000dnh 30 09 2000 52712prs Motsi Tinovimba G Page 123 Testing the locate function Set the index to Subscriber ID and move to the first record By choosing locate from the task menu try to locate subscribers 377652xyz then 60000abc and 90000cfg Using the name index search for Mhiribidi Karidza and Valencia Using the Expires on index search for e 25 08 2000 e 31 08 2000 11 06 2004 Using the Registered on index search for 10 05 1987 01 03 1988 and 01 10 2000 Test ability to save a new record This test is actually carried out during the data entry process Motsi Tinovimba G The record for 37652xyz should be located and displayed For 60000abc the record for 60000jkl should be located as it appears after 60000abc For 90000abc a Match not found message should be displayed as there is no record after where 90000abc would be and the record for 60000jkl should remain displayed Mhiribidi Match found Dr S Karidza Mafuva found Valencia No matches The record for Dr S Mhiribidi should be displayed for the first search and that for Mr T Gurajena for the second since it is the first expiry date after 31 09 2000 The last search should be unsuccessful For the first match the record for Miss R Motsi should be displayed and that for Miss H R Mandoreba should be displayed for the second search The last search should be unsuccessful A test database Page 124
45. Advantages v The systems are accepted by those who use them and recognised as important symbols of tradition v The users of the systems fully understand them and they know what to do when things go wrong Y The systems are relatively inexpensive as far as running costs are concerned with most of the inputs being obtained at low costs either from established suppliers or donors Disadvantages X The systems were designed to handle relatively small amounts of data making it difficult for them to deal with the increase in the volume of data especially in the area of data analysis and statistics compilation X The systems cannot efficiently handle the stress brought onto them during peak periods like holidays and exam time leading to delays and errors X The systems are rigid making it very difficult to introduce anything new without having to first make an unreasonably large amount of changes to the existing system Comment on Evaluation When the advantages and disadvantages are weighed against one another it becomes evident that the disadvantages are not only long term but also that they are likely to worsen with time On the other hand given time the advantages need not be sacrificed as they can be cultured into a new system A change in the system is therefore advisable O Motsi Tinovimba G Page 31 Alternatives to Computer isation W orker ncrease This alternative is based on an assumption that having more librarians will dist
46. Data contained Setup table System identity Main transaction log Record of transactions involving loans and requisitions Books transaction log Record of transactions involving the registration and deregistration of books along with any changes made to book records Subscriptions transaction log Record of transactions involving the maintenance of subscriber records Subscribers table Details of all valid subscriptions Books table Details of all the books in the library Books deregistered table Details of all deregistered books Terminated subscriptions table Details of all subscriptions which will have been terminated User log Record of system use Books borrowed Details of all books out on loan Books requested Details of all books requested Motsi Tinovimba G Page 42 Table Design Storing Durations Durations in the tables will be stored using the following format xxMyyD where M Months D Days XX is a 2 digit number between 00 and 12 inclusive yy is a 2 digit number between 00 and 31 inclusive Setup Table The Setup table will be made up of two columns with the first column containing 30 character strings identifying the contents of each record The second column will be made up of the variable defining the system element stated in the first column For example a row may appear as follows Fine per book per d
47. Figure 19 Borrow Window To make a loan 1 Enter the subscriber ID code of the borrower in the subscriber ID box and press Enter Some useful subscription information including the full name of the subscriber will be displayed in the Details text box if the entered subscription code is valid The 2 numbers prefixed by a represent overdue books and expired requisitions respectively 2 Enter the book number and press Enter If the book number is valid its Title and Author will be displayed in the respective text boxes and the borrowing fee will be added to the amount the Total Cost text box Motsi Tinovimba G Page 174 If the displayed details are correct then press enter to confirm the loan otherwise press any other key and repeat the second step along with this one 4 Repeat the second and third steps to loan out any more books to the same subscriber To make a loan to a different subscriber Click the New button or press F2 and choose New from the pop up menu shown below This menu is available in all the listed facilities and you can also use it to quickly switch between the listed facilities Borrow Return Request Search Figure 20 F2 Pop up menu Motsi Tinovimba G Page 175 Returns This facility allows you to process returns and it is provide through the returns window shown below To access it choose Return from Librarius 2000 Plus s Task menu Return BEE Subscriber ID JE0000ik Detai
48. ICANT FULL NAME eT ed ee ee ee s c n a es2 65ncp mspt sacnataeo BUSINESS ADn2ara3 3CHOOL TOOTH ROEHL ee sos mectsssatuesoetovospevescovecen OM BUSINESS TELEPHONE NUBE Lunas ae es ra d NATIONAL RE IS RATION RARER URDU Mk sean cone Se Rea Se KOR ca ace wa S ER Aa WR UO RE EN A R DATE or BIKIHg sswectuss au eequascaqu vieue vtae jenny t hhtuscthbhatwtsenmsii RESIDENTIAL ATDRESS Lee eene nennen ee nen atn eee ed eh on I declare th che information I have given t for in evary pazi iglar I accept full rocpensipt ily of from the lit i S is correct nnd complete y book I have borrowed f r p as at tat oc cav PART B TO BE ZOMPjETED BY PARZNT CUARDIAN 2 I certify ch tha above information is orrlct AAT Ia for any bouk Lorrowed from the library hy my chilid 1 FULL BEAMER QUEE EAR CQ AE Ba e aon Fa D Gc NATIONAL KEGISTNATION NO caseeec eseses econ 4eesesass lor rassssasaet nasgeppeasae 6 BUSINESS ADDRESS ee eee eese e asse eee ere ean enlp p peeelye e e BUSINESS TELEFHCHE NO ececccccssescecereccedeces RESIDENTIAL ACDR SS e ccccascccsessascceessess TELEPHONE NO oo cccecensras cept full reaponethi lity vescecccwee PLEASE PRINT f eel EEEE EREET ETETETT LL iin ee oe ee d SKK eee Set eseabecaerssenese iii een eee eee ee ee 2 oe SIGNATURE reine csesevechecrccsvcrvescaces D ana Ln eet TE T E M NU E RENE E QE i ee e mm
49. If the show column is marked Yes then Add the value of the longest field End if Next Motsi Tinovimba G Page 105 Trim text box Keypress Event If the key pressed was the Enter key then Read the trimming condition in the trim column If it is Increase only permission then If the value in the trim is higher than the longest length then Approve the trim Else Reject it End if Else if it is Full Permission Approve the trim Else Reject the trim End if End if Close Button Hide the trim form Close Menu Activate the Close button Grid Change in the current cell position If the new row is not the title bar row then Copy the text in the trim cells to the trim text box End if Motsi Tinovimba G Page 106 Report Program Insert Fields Insert Memo Field List of available fields Cancel Button Unload the form OK Button Insert the highlighted name into the text at the cursor s current position Form Activate Insert the fields in the recordset in the Available fields list box Motsi Tinovimba G Page 107 Transaction Viewing Util ities Main Form Librarius 2000 Plus Transactions Transactions Main Log Subscriber Log Books Log Users Log Help Exit General log form Plan The modules which will facilitate the viewing of the Transaction logs are basically similar in the tasks they will need to perform with the only difference being in the transaction logs
50. Librarius 2000 Plus Development amp User Manual Preface From its humble beginnings as a QBASIC program in 1996 to the 2000 16 bit version Librarius 2000 has been a relatively unstable system This instability was mainly a result of faulty designs and poor testing This upgrade was undertaken primarily to address instability and give the system a modern look and feel Most of the code however clearly remains 16 bit with particular reference to the database management routines The interface on the other hand has been completely overhauled with the third party custom controls that were the source of many problems being removed Work was also carried out on the look and feel with particular reference to database initialisation and the Options window in the main program Installation has been a major concern and although this version does address most of the problems in the last one by sticking to the Visual Basic packaging and deployment wizard the registry remains a problem It has been noted that the system has a problem with the registration of msjro dll and work is currently in progress to identify the source of the problem The other problem area of Report preparation has finally been addressed to what should be a satisfactory level A facility for resetting the printer has also been included to give the user a recovery route in the event of errors The online help system has been rewritten and this version should contain very few errors if
51. M in Log ER O 201 Filtering PEC ORAS aie m 203 DERG OCH logis Henne e Toate anite ied ersten a S 204 Chapter 8 Managing your databases 4 ccsceessccesecnssestsocesseosicnveasdoddverpoadbedssccicadesudbans 205 Optimising your databases eicit rete tit te tico ml esas Fo e HI MR Haas 205 Repairing The databases uae t cette io to ina Paten eai notan tou ASIA Rei doute 205 Backing Up your databases ce eee eere ipt otim etel e eee idee 206 RestOrins youridata bases e E ni es 207 System Maintenance And Appraisal 211 Databas s m 212 Mod l S psec ass sara a Poeta tiyd E 212 Me etin the Q Dj CCU yes ras tin pa cedi e aa E aie poe a d aio eee ates 212 Opportunities for Improvement iore e ec rdiet fe saa tu otua attuare ir uno dE ed ete 213 uicit E C 213 nins 213 Subscriptions and Books rtt emet epe eia rte rk EEEE or pe eae Eee aos ESES 213 Loans and ISequisttrOLls 222 res trei t eec oet vaca etes Horto R E cite eus ets pa redo 213 Diitect SOL o ce ete te cae alec ee em ee iad acne aaa eee 213 ione PP 214 D c 214 Tra sa tion bo c REUS 214 Motsi Tinovimba G PROBLEM FORMULATION ANALYSIS AND SOLU TION Motsi Tinovimba G The Problem The traditional systems used by the small libraries of Zimbabwe have become outdated and are beginning to be found seriou
52. Move to the record for Mr S Mhiribidi Choose edit from the Task menu and change the values of the fields to the following values hu p Registered 01 06 1999 On Expires on 31 05 2000 Remark Invoice 239 1999 Borrowing 700 fee Borrowing limit Loan 03M21D duration Home Add A F Z Thornhill Air Base 23 Marital Qt Gweru Contact 1 Hume Av Address Southdowns Gweru Contact 054 52725 phone Motsi Tinovimba G The new field values should be recorded Page 125 Books Form 2 01 Testing Ability to obtain free The first unused number 11 should number be inserted in the book number Choose New and click the button to text box Note that 7 belongs to a obtain a free number deregistered book Testing ability to enforce An error This book number has uniqueness of ID with registered been allocated to another book books should be raised Change the book number to 8 and choose save Testing ability to enforce An error This book number has uniqueness of ID with deregistered been allocated to another book books should be raised Change the book number to 56 which belongs to a deregistered book Test range of Book number 0 should be rejected as being Change the book number to 0 outside the valid range 2147483647 and 2147483648 2147483647 should be Choosing save after each change accepted The system should block the entry of 2147483648 or range grounds Test ability to recognise require
53. P 2 Mark the transaction types in the Type box you would like too view You must specify at least one transaction type for your filter condition to be accepted 3 You can go further and limit the transactions shown to those concerning gt A certain book by marking the Book number box and entering the book number e g all the transactions selected involving book number 16 gt A subscriber by marking the Subscriber ID box and entering the subscriber code e g all the transactions selected involving subscriber ID 12345xyz gt A certain book and subscriber by marking both the book number and subscriber box and entering both the book number and subscriber code e g all the transaction selected which involve both subscriber 12345xyz and book number 16 4 Choose OK 5 After you have finished viewing the results of the filtering condition you can return to the viewing of all the records in the log by choosing the filtering icon and then choosing the Reset button Motsi Tinovimba G Page 203 The other logs The other logs are similar to the Main log if not simpler in structure and mastery of the Main Log form should automatically be extended to the other windows as well One point to note though is that in the subscriber and books logs in the edit transactions in particular those transactions that would have been changed will be marked with a c Motsi Tinovimba G Page 204 Chapter 8 Managing your databases Optimising your data
54. Should be flagged as invalid date 01 01 99 to test the ability to enforce formats the dd mm yyyy input format Test the ability to validate durations e Null should be interpreted as Enter the following values for the OOMOOD loan period field 0 OMOD 9M10D 01M2D should Extreme be detected as not being in the Null 0 OOMOOD 12M31D correct format Abnormal 00M00D 12M31D should be 0MOD 9M10D 01M2D 31M00D accepted 31M00D 10M32D 10M32D should be rejected as being outside the valid range The input mask is xMyD where 002x212 002 y212 Testing the indexes Expected record order Set the sorting index to Subscriber 10000abc ID and choose Go to first from the 20000def Task menu Browse through the table 21058prc using the Next button 37652xyz 52712prs 60000jk1 65502 gta 70000dnh Motsi Tinovimba G Page 122 Test the name sorting index Expected record order Gurajena T Mrs Mafuva T Mr Mandoreba H R Miss Mhiribidi S Dr Mhiribidi S Mr Motsi R Miss Rusheil G H Mr Takawira J K Prof Test the Expires on index Expected Record Order 09 05 2000 21058prc 12 05 2000 20000def 25 08 2000 37652xyz 06 09 2000 10000abc 31 12 2000 65502gta 11 07 2001 70000dnh 30 09 2001 52712prs 10 06 2004 60000jkl Test the Registered on index Expected Record Order 10 05 1987 21058prc 11 06 1999 60000jkl 01 01 2000 65502gta 12 02 2000 20000def 06 03 2000 10000abc 25 05 2000 37652xyz 12 0
55. T 89 System Conf CURA OM asin T 91 Tost llation Program TP 91 D tabase ImitialiSatoti ui tet Tasn det que n Ier te De dece oV Ronee ada tiep eet 91 setup form Located in the main Program 2 2 csc sccceiscscnesadsesncccnvvabesnsecestoursderssbecutes 92 Change Password BODIE uode dia cocto e e eh P tere recte qoi de ee e E tope S Eres 94 The Report Writing UGlEles ue iiie erlitten etis cepe ett ndo pecora cite opa tiae epar e cun 95 Main Report POL a eoi oett e e ERR Ee it t I eor tu tb Resp optet 95 Genera Algoth ee 96 Algorithms Reports Section aaa rena edere Veto Eli oni ee dee cute 96 Algorithms Mail Merge SectloB aside ditate hone that iih irata etin dee iae ene 99 Choose Report PFields Fotim s oie tete e emer e rese eei ie pre dete dius 102 Report Program Trim Fields Field Form eee 103 Report Program Insert Fields eet Taie eret Ee erro te pel cei sae ed ds 107 Transaction Viewing Utilities eae irt etre enero tiae eire era Recte cesare d opere e eden 108 Mam POM Edo c 108 Greneral log FOE 1th rn pe te err edid preti iere pae el EE E EE ERES 108 Gen ral filter fofi PN 111 Jump to PA Be e r E R E R E caves tae este E A AE AR a 112 Database Management Utilities aisi er E LP qe debt ees eO E Utere ue Ere EDU 113 Repair and Optimise FOI retten tte sicca ded oha seen vn Ee rope ak dus 113 ries E E EE E ESS 114 Restore Utility
56. Ur E 55 OLE POU My ss 555 seca 61 Locate Fori oo ennt D cn ad ratente deer Sedo t EU 62 Report DO TILa cei nta corse receta sds eee Reiss ead epu Re aee tu ee pase ee ien ced Eee iua Ree 63 subscriptions Records Manasemeltt u c ior ted ctn as tor vn taxe Uc rri p e ONU ER Reo UR 64 rdi Cm 65 Deresistered BOOKS 232p E ap tone pr ali wr edocet dera ded 67 Terminated Subscriptions eiiis toti tarta tope Ere ch uei ee et ede i aides o auae 68 Deregister Book or SubseriDer eo nne e Sete e RI Sd reci tenti redde 69 Global Routines rettet iet reato terere wee E Een dra Ue Fx che A E puces 70 General Global ROUES issik ttt te eta edi de dO ea eae eed 70 Validation ROWLINES m 71 Loan and Requisition Handling etta mente koe vt eco ex hore rh sed 13 Motsi Tinovimba G Borrow i fiM uude aceto vedas opo RR vaste cates EK QURE REGAT IE PE vias aS Cop TAREA E Ed oM 73 lizenindslo p 76 Requisiions POP resa oat sete bares dota ee pb reta lupe ace gu Dia Pb c desee fd ER duo ESES 78 vicini 80 Search Form Located in the main program eese 80 Ermibedded Search Prostrani 83 Search R s lts si vi P 85 VALON ANE ni KEA E 85 Direct SOL Input EOEID is uod ett e ro Ate etea a oaa o aa seen dopivbansistedsduckeos 87 SOL Program Results EODD 2 6 ndvra naonnana le pts so en tivi a 89 zou M
57. ailable list The arrow with the A above it moves all the fields in the Available box to the Selected list in the order in which they appear in the Available list The arrow with the A above it moves all the fields in the Selected list back to the Available list Choose OK You will then be presented with the following the Trim Fields dialogue box Use this dialogue to adjust the length of any of the columns You may do this so as to shorten any particular details e g you can trim the surname to just 6 characters or you may increase the width of a given column if the system is having problem fitting the information in the columns it will have calculated For example if surnames are not fitting in the 15 character column allocated to them you can increase it to 20 Motsi Tinovimba G Page 197 characters The fields marked N A cannot be altered and the ones marked INCR can only be increased Trim Report Fields BT Iools Column name SUBSCRIBER ID SURNAME SUBSCRIBER TITLE Yes INITIALS EXPIRY DATE Yes HOME ADDRESS Yes Figure 37 Specifying field width on paper 7 To adjust the field width on the printed paper Place the grid cell pointer in the respective Trim field cell by clicking the cell Enter the adjusted length in the trim to text box at the bottom of the window and press enter gt Use the tools menu to get statistics on the trimmed adjusted and unadjusted total widths and compare
58. alculated as Page 1 100 Adjust the page indicator Repeat 100 times If the current record is the End Of File marker then Remove the remaining rows in the Grid Else Enter the row number Enter the field data in the columns If this was an editing transaction Mark the columns which were changed with a End if End if Move to the next row Next Row counter End if Jump to page Button Use the Jump form to obtain the new page to display Change the Page variable to the returned page Display the current page Filter Button Use the filter form to obtain the filter condition If the returned condition is a Reset condition then Set the recordset to the whole table Verify the table data and load the first page Else Construct the SQL from the selected check boxes and the entered text Assign the SQL to the Books log s Query object and execute it Verify the table data and load the first page End if Motsi Tinovimba G Page 110 General filter form P Main tog Fitter O O Subscriber ID C1 Book Number L1 Book Number L1 Request O Return O Request Process O Extend Loan O Extend Request O Delete Loan O Delete Request Ok Button Ensure that a filter condition has been set Hide the form Reset Button Pass a reset message to the calling form in the filter form s tag property Hide the form Motsi Tinovimba G Page 111 J ump to page Sump ToPage o To
59. anagement will however also be tested Preparations The following conditions will need to be recreated 1 Reset the borrowing limit to 8 Fixed 2 Reset date to 19 09 2000 3 Loan out 8 amp 37 to 37652xyz Tests 5 01 Test ability to display loan data by A form displaying the loan entries using the subscribers window and to 37652xyz moving to the record for 37652xyz Test ability to extend loan period by The due date should be changed to adding month and 3 days to book 25 11 2000 number 5 s due date Test ability to reduce the loan period The due date should change to by subtracting 20 days to the due date 12 10 2000 for book number 3 Try setting the due date to the date The update should be successful borrowed Use book number 2 Try setting the due date to a date Error message before the date borrowed Use book You cannot set the due date to a number 2 date before the date borrowed Test ability to delete loan by deleting The pages should be adjusted and the loan concerning book number 17 the entry removed Test the effect of trying to deregister Error message a subscriber with books on loan This subscriber book s on loan Use 60000JKL Cancel the loans first Test the effect of trying to deregister Error message a subscriber with books on request This subscriber book s on request Motsi Tinovimba G Page 139 Test the effect of trying to deregister a book on loan Use 5 Test the effect o
60. any of the settings you will have specified To do this start Librarius 2000 and from its program window and then enter your high priority access password when you are prompted to do so The bar shown below will then appear at the top of your screen Figure 5 Main Librarius Window From the Tools menu on this bar choose Options and you will be presented with the following window Figure 6 Options Window Setup is divided into 5 categories namely Formats Charges Limits Users Start up VVVVV Motsi Tinovimba G Page 156 To access any particular category click the tab that will be bearing its title The Formats Category 1 Subscriber ID The subscriber ID textbox is used to show the system s subscription ID mask This property cannot be edited 2 Dates Librarius allows you to specify how dates should be displayed by the system We may consider a date like Monday 31 July 2000 to be made up of gt Monday the weekday gt 31 the day gt July the month gt 2000 the year To specify a particular formatting for any given element of the date choose from the samples that will be shown when you click on the downward facing arrows alongside its title The formatting options are as follows a For the weekday you can choose to gt Omit it Display it in its shortened form e g Mon Display it in full e g Monday b The day can be displayed with or without leading zeros If
61. at the book can be requested Enter the request Lower the Confirm flag Clear the Books Title and Author text boxes End if Else If the Confirm flag is up then Lower the Confirm flag Clear the Author and Title text boxes End if End if Ensure that the book can be requested Ensure that the book exists Ensure that the book has been borrowed by someone other than the person trying to request it Ensure that the book has not already been requested Entering the request Calculate the expiry date by adding the requisition duration to the date on which the book is due Add the requisition to the requisition table Add the requisition transaction to the Main log New Button Clear all the text boxes Close Button Activate the New button and hide the form Motsi Tinovimba G Page 79 Search Utilities Search Form Located in the main program Plan This search utility will facilitate whole word searches through the implementation of parameter queries and embedded string searches based on the copying of a whole table to a temporary table and then selecting the records that are required The embedded searching will be carried out by a different module 9 Whole word Embedded string Queries Book number PARAMETERS My Book number Long SELECT Books table Books borrowed table subscriber id as Out to Date borrowed Date due Books borrowed table Books borrowed table Books requested
62. ated All the fields in the Subscriptions Table Subscriber Table as they are Deregistered Date deregistered Cancellation remark Text Remark entered during deregistration Reason Text Reason entered during deregistration Motsi Tinovimba G Page 183 Books Table Book number Long integer Date registered Date Book title Text Book author Text Borrowing fee Integer Loan period Text See Subscribers Table Loanable Boolean Publisher Text Supplier Text Dewey Text Class Text ISBN Text Remark Text Deregistered Books All the fields in the Books Table as they are Deregistered Date Deregistered Cancellation Remark Text Reason Text Books borrowed Subscriber ID Text table Book number Long integer Date borrowed Date Date due Date Books requested Subscriber ID Text table Book number Long integer Date requested Date Expiry date Date O Motsi Tinovimba G Page 184 Transaction Database Structure Table Name Field Name Remarks Main log Date Date on which transaction occurred Includes time information so work with ranges and not exact values Subscriber ID Text Type An integer 10 Borrow 11 Extend loan 20 Return 2 Delete Loan 30 Request 3 Request process 32 Extend Request 33 Delete Request Book number Long integer Amount Currency Refer to the
63. ay 525 Visual Basic s data manager maintains only one data type per column so I have decided to adopt the String data type for the second column Each column will be 30 Characters long The variables will be converted to into their proper data types during use The table will be encrypted to discourage direct editing which may jeopardise the integrity of the data held The variables will be stored as follows Identifier Storage format amp Possible values for the variable Subscriber ID format 8 character string with each of the characters being either an L or a D representing a letter or digit respectively The string will be copied into an 8 1 array on loading This property will be read only after setting up the database Books charged as to An integer between 1 amp 4 inclusive 1 Fixed 2 Membership scheme 3 Type of book 4 Book Membership Fixed book charge An integral amount in cents between 0 and 32767 inclusive The 32767 barrier is imposed as the limit for integers in VB Motsi Tinovimba G Page 43 Fine per day An integral amount in cents between 0 and 32767 inclusive Borrowing limit as to An integer between 1 and 4 inclusive 1 Fixed 2 Membership scheme 3 Fixed less Number requested 4 Membership scheme Number requested Fixed borrowing limit An integral amount between 0 and 20 inclusive Requisition limit as to An integer between 1 and 2 inclusi
64. bases Pv Librarius 2000 Repair amp Optimise Choose the database to Repair and Optimise Main Transactions C Work Help Close Figure 42 Optimising and Repairing With time the information in your databases will cease to be organised in what could be referred to as the best and most orderly way As a result the size of your databases will be actually higher that it should be and this will slow down access To rectify these problems run the Librarius 2000 Plus optimisation utility accessible from the Librarius 2000 Plus program group Running this utility once every week should be result in satisfactory performance This process however requires considerable working space and if you start experiencing disk space problems while running you should consider obtaining a larger hard disk To carry out the optimisation 1 Choose Optimise amp Repair from the Librarius program group 2 Enter your product ID password 3 Mark the database you would like to optimise 4 Choose OK Repairing the databases No matter how reliable your system is power failures and other disruptions that may result from an unlimited number of misfortunes may leave your database damaged For this reason you are urged to make frequent backups of your databases using the backup utility The repair utility will do its best to recover as much information from your database as possible but a 100 recovery is rare It is most likely tha
65. bers 1 e those living outside Masvingo may keep their books for up to 1 month instead of the standard 2 weeks Members currently pay a 50 annual subscription that entitles them to one book at a time for a maximum of 2 weeks There is no limit on the number of times you may borrow books Members also have an option of paying an extra annual payment of 25 per book per year if they wish to have their borrowing limit raised There is also no theoretical limit to the number you can raise your borrowing limit to The books in the library fall into three main categories namely Fiction Non fiction and Reference All of the books in the library may be borrowed by all members save for those in the reference section The fiction category is further subdivided into paperbacks and hardbacks The books in the reference section are classified first as to the library classification system and then as to the Dewey Decimal Classification System Each member has an Account card and a borrowing pocket The Account Card shown below contains a record of all the transactions involving subscription payments Masinire K P Bag 3076 Renco Mine Country Member Date Transaction Receipt 12 06 97 Subse to 11 06 98 C270 97 05 06 98 Subsc to 11 06 99 E592 98 Limit raise 1 25 E593 98 The pocket is used as a record of the books currently loaned out to the member Each book also has e atitle card e anauthor card e a borrowing card e and an entry in the ac
66. ble LEFT JOIN Books borrowed table ON Books table Book number Books borrowed table Book number ON books requested table book number Books table book number WHERE Books table Book title My Book Title Subscriber ID search PARAMETERS My Subscriber ID Text SELECT FROM Subscriber table WHERE Subscriber table Subscriber ID 2 My Subscriber ID Subscriber surname search PARAMETERS My Surname Text SELECT FROM Subscriber table WHERE Subscriber table Surname My Surname Motsi Tinovimba G Page 81 Subscriber initials search PARAMETERS My Initials Text SELECT FROM Subscriber table WHERE Subscriber table Initials My Initials Subscriber title search PARAMETERS My Title Text SELECT FROM Subscriber table WHERE Subscriber table subscriber title My Title Algorithms Search Button If the search is a whole word search then Execute the relevent Query If the Query does not return any records then Inform the user that the search was unsuccessful Else Load the search results form End if Else Load the embedded search form End if Motsi Tinovimba G Page 82 Embedded Search Program Embedded Search The plan is to have a search table containing all the possible book or subscriber records which may contain the specified string The records will then be tested one by one and all those not containing the st
67. brarians who use and probably designed them If the librarians where to withdraw their services these systems would virtually crash with no hope of recovery as the little remaining efficiency they portray would also go with the librarians Presented with the ever increasing interest in literature which is increasing the amount of information managed by the librarians in terms of subscription and book records it is obvious that these problems can only worsen with time It is therefore necessary to modify or even replace these systems so as allow them to satisfactorily meet the demands of the future Motsi Tinovimba G Page 2 Generalised Objectives Given the problem and current state of affairs any change to the current system would have to be capable of fulfilling the following generalised objectives Allow for the easier storage and management of large volumes of data Becapable of processing large amounts of data quickly and efficiently gt Be easy to use and modify Beless prone to errors and capable of detecting and correcting them quickly if they should occur gt Encourage and facilitate increased accountability O Motsi Tinovimba G Page 3 Research into the current systems ntroduction In undertaking my research into the current systems I have chosen the four examples of the typical Zimbabwean library available to me and I have reason to believe that they represent most if not all of the Zimbabwean libraries
68. cession book Motsi Tinovimba G Page 24 The entry in the accession book contains e the accession number title author date of accession class When a book is borrowed its card is taken out of its pocket which will be on the back cover of the book and placed in the member s pocket The book s due date form is then stamped and at the end of the day all the pockets of those who will have borrowed books are taken and placed in a tray with the due date stuck on its front panel After a due date has elapsed all the pockets still in the tray are taken and placed in another tray for overdue books and expired subscriptions When a book is returned the process is simply reversed by returning the card and the pocket to their original locations If a book is overdue the member is fined 50 cents per book per week At the end of the month the librarian compiles a list of suspiciously overdue books and expired subscriptions She then proceeds to write each one of the affected people a letter asking them to return the overdue books or pay their subscriptions The librarians also periodically checks the popularity of books and all those found to be under high demand are transferred to the reference section Also if she feels that a particular book is unpopular she may put it up for sale Problems faced 1 The librarian s main complaint was to do with the extraction of information from the system with particular references to the month end collect
69. cognise required Error message input Enter Field name Date registered Expiry date Title Initials Surname and Home address left blank Test ability to recognise optional A None should be inserted in the input empty text box Contact Address Contact and home phone numbers along with remark left blank Test borrowing limit validation Null should be interpreted as 0 range 0 1 9 19 20 should be accepted Enter the following The text box should refuse to e Abnormal 1 21 register a sign and 21 should be e Extreme Null 0 and 20 rejected e Normal 1 9 and 19 Valid range is 0 20 Test borrowing fees validation Null should be interpreted as 0 range Enter the following 0 1 450 32766 32767 should be Abnormal 1 32768 e pied eee Null 0 32767 The text box should refuse to register Normal 1 450 32766 a sign and 32768 should be rejected Valid Range is 0 32767 Test ability to validate dates 32 13 2101 should be recognised Enter the following as invalid Abnormal 32 13 2101 31 02 2000 should pass the test 31 12 1799 but be adjusted to 02 03 2000 Extreme 01 01 1800 31 12 1799 and 01 01 2101 should 31 12 2100 be rejected as containing years outside the valid 1800 to 2100 range 01 01 1800 31 12 2100 should be accepted Normal 31 02 2000 01 01 2101 Valid ranges Year 1800 2100 Month 1 12 Day 1 31 Motsi Tinovimba G Page 121 Enter 1 01 1999 01 1 1999 and
70. covered during the coding of the programs General Global Routines Get formatted Address Used to format the Multi line addresses into a suitable form for the Report and Search Forms Declare the following variables All text read Variable for stopping the loop MyLine Variable for holding the text between two carriage returns Result Variable for holding the formatted address Counter 21 Variable for marking the character being read Start Count 21 Variable for marking where to start reading the next line Repeat If the next two characters are a carriage return followed by a line feed then Indicate that the Address contains more than one line MyLine Text between Start count and Counter If the Result variable is empty then Add the line with only one indent Otherwise Add the line with a double indent End if Skip over line feeds and indents If all the text has been read then All text read true Mark where to start reading the next line Else If all the text has been read If this is the fist line found then Add the line with only one indent Otherwise Add the line with a double indent End if Set AII text read to true Else Increase Counter by One End if End if Until All the text has been read Compare text Strip the text of all leading and trailing spaces Compare the upper case versions of the text Motsi Tinovimba G Page 70 Validation Routines Validate Loan Duration Conditions e If the variable is blank then it sh
71. d Error message fields Enter Field name Leave the title author library class Dewey ISBN and Publisher blank Test ability to recognise optional A None should be inserted into fields the blank fields Pad the fields in 5 with valid data and leave the Remark and supplier fields blank Choose Save O Motsi Tinovimba G Page 126 Borrowing fees of Null 1 0 1 450 32766 32767 32768 Test ability to recognise dates Use 32 13 2101 31 02 2000 31 12 1799 and 01 01 2101 Enter 1 01 1999 01 1 1999 and 01 01 99 to test the ability to enforce the dd mm yyyy input format Enter the following values for the loan period field Null 0 OMOD 9M10D 01M2D OOMOOD 12M31D 31M00D 10M32D The input mask is xMyD where 002x212 002 y212 Motsi Tinovimba G Null should be interpreted as 0 0 1 450 32766 32767 should be accepted The text box should refuse to register a sign and 32768 should be rejected 32 13 2101 should be recognised as invalid 31 02 2000 should pass the test but be adjusted to 02 03 2000 31 12 1799 and 01 01 2101 should be rejected as containing years outside the valid 1800 to 2100 range Should be flagged as invalid date formats Null should be interpreted as 00MOOD 0 OMOD 9M10D 01M2D should be detected as not being in the correct format 00M00D 12M31D should be accepted and 31M00D 10M32D should be rejected as being outside the valid range Page 127
72. deregistered Cancellation remark Text 30 characters Reason Text 30 characters Motsi Tinovimba G Page 48 Subscriptions Table Column Data type Size Comments Subscriber ID Text 8 characters Registered On Date Expiry date Date Surname Text 15 characters Initials Text 4 characters Subscriber Title Text 4 characters National ID Text 20 characters Borrowing fee Integer Borrowing limit Integer Loan period Text 6 characters Home Address Text 60 characters Home phone number Text 12 characters Contact Address Text 60 characters Contact phone number Text 12 characters Remark Text 30 characters Terminated Subscriptions Table This table will contain in addition to all the columns in the subscriptions table the following Column Data type Size Comments Deregistered Date Date deregistered Cancellation remark Text 30 characters Reason Text 30 characters User log table Column Type Size Comments Time in Date Date amp time User name Text 30 characters Area Integer Area codes to be determined after modulation Session Long integer Unique session identification code automatically entered by VB Time out Date Date amp time Motsi Tinovimba G Page 49 Books Borrowed Table Column Type Size Date borrowed Dat
73. e Process request Expiry date Extend request New Expiry date Days extended by Delete request Expiry date Motsi Tinovimba G Page 201 Main Transaction Log 21 04 2002 13 00 eem 60000 kl 05 05 2002 21 04 2002 13 08 Retum BOD00jkI 05 05 2002 21 04 20021208 Bomow EOOD0jkI 05 05 2002 21704 2002 13 09 Request 10000abc 12 05 2002 21 04 20021309 Retum EODO0jkI 05 05 2002 21 04 2002 13 09 Bomow 60000jkl 05 05 2002 21 04 2002 13 39 Borrow 60000 k 05 05 2002 Figure 40 Typical transaction log Window Each page contains 100 transactions To view the next page click the gt button To view the previous page choose the button To jump to a particular page click the Bridge button You will be presented with a dialogue box like the one shown below Locate Page _ 5 x Total pages 3 Jump to page j Simply enter the page number you wish to jump to and choose OK Motsi Tinovimba G Page 202 Filtering records The transactions manager allows you to select the type of main log transactions to view using the filter window shown below Tal Main Log Filter Subscribed fo 2 Book number M Type Borrow Request Retun Req process ExtLoan Ext request DelLoan Del Request Reset Cancel Figure 41 Specifying the transactions to view To filter records 1 Choose the filtering icon
74. e Subscriber ID Text 8 characters Book number Long integer Date due Date Books Requested Table Column Type Size Date requested Date Subscriber ID Text 8 characters Book number Long integer Expiry date Date Motsi Tinovimba G Page 50 Modulation ntroduction I have decided to adopt the following categories as the basis of my modulation exercise e File management Loan and Requisition handling System configuration Search Utilities Report writing Security management Database management File management The file management section of the system will be made up of 8 modules each dealing with one of the following areas e Current subscriptions Books in the library and in circulation Terminated subscriptions Deregistered books Main transaction log Subscriptions transaction log Books transaction log Users transaction log I have also decided to place the modules which deal with transaction logs in their own Project This will go a long way towards making the main project more efficient as it will be smaller and thus requiring less memory Loan and Requisition handling This section will be made up of 3 modules with each handling one of the following e Borrowing e Returning e Requisition making System configuration This section will be made of the following e A program for installing the system e A program for initialising the database straight after installation e A module for setting the system configurati
75. e 189 Chapter 5 Reports amp Mail Merge Librarius Report Maker allows you to carry out Text Editing Mail merge and Report Writing operations The Report Maker is accessible from the Librarius Program manager group Text Editing To begin a text editing session 1 Start the Report maker or if you are already in the Report Maker choose New Session from the File menu 2 You will be presented with the following screen Specify Session Oe Xx What do you want to do Create or Edit a text file C Mail merge C Create a report Exit the Report Tool Figure 30 Specifying a Report Session 3 Click the text editing option and choose OK During the text editing session you will be able to carry out the following tasks Opening an Existing file Saving the displayed text Beginning work on a new document Printing the displayed text Changing the font Finding or replacing every occurrence of a given word or phrase Inserting dates or text files All of the above will also be available when you do you reports and mail merge VVVVVVV Motsi Tinovimba G Page 190 Opening an existing file To open an existing file 1 Choose Open from the File menu You will be presented with a standard Open Dialogue box Look in za Desktop x El Tl c My Computer 3 My Documents Network Neighborhood E Mv Briefcase Sg Tino s Programs Files of type Text Files TXT Cancel
76. e previous record Ensure that the current record is not the Beginning Of File marker Call the Display record routine End if Close button Unload the books form Requisition data label clicked Search for the requisition entry Load the display Loan and Requisition data form Requisition Details Bk XX Out to OO Borrowed On O 1 Due On a Customise the forms labels to reflect a requisition entry Enter the Book number in the caption of the form Enter the full name of the subscriber who made the requisition in the Name text box Enter the date on which the requisition was made Enter the date on which the requisition expires Display the form Loan data label clicked Search for the loan entry Load the Display Loan and Requisition data form Customise the forms labels to reflect a loan entry Enter the Book number in the caption of the form Enter the full name of the subscriber who borrowed the book in the Name text box Enter the date on which the loan was made Enter the date on which the due date Display the form Motsi Tinovimba G Page 56 Menu New If the books table is not empty then Mark the record displayed Disable the Read only mode Clear all the text boxes Allow access to the Book number text box Specify in the save button s tag property that the system is Engaging in a New data operation Read Only mode handling If enabling the read only mode Show the Next Previous and Close but
77. e record s details to the Requisitions table Else if it is an Extend requisition transaction then Locate the requisition entry Overwrite its details with those in the log Else if it is a Process request or Delete Request transaction then Locate the requisition entry Delete it End if Until all the records have been read End if Motsi Tinovimba G Page 116 Test Strategy The system will be tested during and after development During development the emphasis will be on efficiency whilst the post development stage testing will focus on effectiveness The areas of emphasis will be e Ability to deal with normal extreme and abnormal data e Ability to operate as integrated unit e Ability to recover from crashes e Ability to run on 32 bit Windows machines without Visual Basic O Motsi Tinovimba G Page 117 Motsi Tinovimba G Page 118 Testing Motsi Tinovimba G Page 119 Introduction For a record of the test data please see appendix 2 The test data in Appendix 2 was produced using the Report maker A copy of the test data is in the backup database that can be found in the Librarius 2000 Testing subdirectory under the name Backup DBM This database once restored can be used to further verify the authenticity of the tests designed and carried out under this section The test results may be found in Appendix 3 All the testing that involves printing has been simulated on the Adobe Acrobat PDF Writer Subscript
78. e the item you wish to insert from the Insert menu If it is a text file you will be prompted to specify its file name Motsi Tinovimba G Page 194 Mail Merge The Mail Merge facility allows you to prepare a standard letter and to have Librarius generate all the actual personalised letters automatically To start Mail merge 1 Start the Report Maker or if you are already running the report maker choose New Session from the File menu 2 Choose the mail merge option from the Session window 3 You will be prompted to specify an SQL source file This file must contain the SQL you wish to use as the basis of you mail merge For example if you want to mail all the people with expired subscriptions then the file must contain SQL that lists all the expired subscriptions An example of an SQL source file is in your report directory under the name Expired SQL This file picks out expired subscriptions i A It is advisable to create these files in the SQL utility and to test them C before saving them there to avoid problems After you have started the mail merge you can prepare a standard letter warning all subscribers with expired subscriptions of the need to renew their subscriptions before a given deadline Mail merge requires that you specify where the personalised details are to be inserted To do this Place the cursor where you would like to insert the personalised detail like a name 2 Either gt Choose Insert merge field from the Mai
79. een hase is Dd a aR 30 Generalised EvaluatiOW u s iie irte toi et age eia se E dE uH PNE e eos AEE 31 PUAN GINA BES M 31 Disadvantages APP 31 Comment ot BEval dti n us oce ek ttp tenir cente E a uite FUP 31 Alternatives to ComputetrisSatlon ecce ced seerssseecabscsestapeocdesestestnccacanevdbsdisescsvautavieonns 32 boost disi NM ats scares ated Senses chestsoe O A a a E ESE 32 Information Reorganisation eoe oh ee eire s etr pe i trii tige e pn doceo Eu edies 32 ond m E 32 Specific ODISCH VES ehm 33 DESIGN 35 TAMA UL Ch Oa E rea a E EE E E E Ok sae alsa EE A 36 Choice of Programming Language seeeeeesesereressessrreresrseresestrtsssrerrsrseesenerenenrerrsrseees 37 Database DESIN a iee eer a E KEE i 38 Id n ricati m OF data items suene iteras a i ceded 38 Motsi Tinovimba G Books Records une td ce cr otto eiecit co a Bu cedet ds oue ie Ee P ERR 38 Silbewisieuhize nc 39 BOOK GANS C 40 hice DI ER T M 40 Systemi Identity c Eer iE 41 oea E A EEEE ET E EE 41 The Grouping of Data Hemisotidae aris 42 Table Desi dh M C ie Piesi tetett teia E A ER EE Ena Re EES 43 Storme D rat nS ieee aee eera a a ara atoia taaie iais 43 Setup Tables nsona a vaca a a a E ict nent R 43 Main Transaction Log Tables ennonn nedienas 45 Book records transaction 0B seseeeesssesesseseeesesesesest
80. em back to the Available list OK Button Show the trim fields form Hide the choose report fields form Motsi Tinovimba G Page 102 Report Program Trim Fields Field Form PT o mmres 1 Tools Column Name Show Longest Field Trim rim Status Form Load Set the number of rows in the grid to the number of Available fields 1 Enter the column titles Enter the row numbers Enter the field names in the first non fixed column For each column in the recordset Locate its row in the grid and move to it If the column contains date data then For each field in the column If it contains time info then Longest field length is 16 Else If a field with time info has not yet been encountered then Longest field length is 10 End if End if Next Insert the longest field length Specify that the column length cannot be reduced Motsi Tinovimba G Page 103 Next Else if it contains numerical data then For each field in the column If its length exceeds the current longest then Longest length Current field length End if Next Insert the longest field length Specify that the column length cannot be reduced Else if it is a text column For each field in the column If the string contains a carriage return then Get the longest line in the string If this length exceeds the current longest Set longest to current length End if Raise flag Multi line Else If the string s length exceeds the current l
81. en in the design section with a detailed analysis of the interface algorithms and database tables accessed The actual forms appear in the User manual The only word of caution to the prospective upgrader is that there exist modules described under design that have been moved to global modules not explicitly mentioned anywhere in the text These modules have a BAS extension and care should be taken when upgrading them as they are extensively shared Also some of the design documentation for these modules is quite outdated given the changes that they have gone through during development and testing Meeting the Objectives The system meets all the specific objectives as follows 1 The Subscription and Books modules assisted by the Terminated Subscriptions and Deregistered Books modules manage all the book and subscription records as to the requirements of Objective 1 The Borrow Return and Requisition modules with particular reference to their extensive validation routines achieve Objective 2 The Database management tools comprising Backup Restore and the Repair amp Optimisation routines achieve Objective 3 The Statistics routines in the Librarius Tools menu along with the Query utility achieve Objective 4 The Search routines also contribute towards the achievement of this objective The Query utility though unable to save the actual results satisfactorily meets Objective 5 when assisted by the Report routines The Transaction
82. eps that are detailed below After you have successfully entered your Product Password choose the Next button after reading the introduction Motsi Tinovimba G Page 152 RE windows Update di Winzip am Programs m Real Upen Ultice Document qe Ummunmeura fa Librarius 2000 Plus Microsoft Help Workshop Microsoft Office ej Microsoft Office Tools Ej Music and Videos gt 3 Online Services Programing Languages gt A SiS Multimedia V1 30 WHOL A StartUp b n d Xe Librarius 2000 Plus gt Librarius Calender gt Librarius Database Backup A Librarius Database Initialisation gt i Librarius Database Repair amp Optimise Librarius Database Restore gt QN Librarius Direct SQL gt o Librarius Report gt PE Librarius Security gt Librarius Transaction Viewer Figure 1 The Librarius Program Group Introduction Welcome to the database initialisation wizard This utility will help you to set up the three databases that Librarius 2000 uses It will also quide you through the setting up of the primary user and the format of the subsciber ID All the details you will set here will be final so it is important that vou qo through the manual first and then follow the steps as given Enter your Product ID Password lt lt Previous Next gt gt Quit Figure 2 Database Initialisation Welcome Window 4 For Ste
83. example if the sorting order is the Name Index then enter a surname or if it an expiry date then enter a date All dates must be in the Date Month Year format explained earlier The system will then try to locate the subscription item If it is unable to do so then it will look for the best alternative match that is defined as the item that would appear immediately after the search item if it was there If this also fails then a Subscriber not found dialogue box would be displayed Editing subscription details To change any of the details in a subscriber record 1 2 3 Browse to the desired subscription record Choose Edit from the subscription windows task menu Change the details you want changed The valid entry formats specified under Entering a new subscription also apply here You may change all the details save for the subscription ID code Choose Save Motsi Tinovimba G Page 166 5 Confirm the details you are prompted to confirm 6 Ifthe editing is successful you will be returned to the record you were viewing with all the changes made having been effected Terminating a subscription To terminate any given subscription 1 Browse to the desired record 2 Choose Deregister from the subscription window s Task menu If the concerned subscriber does not have any books on loan or request you will be presented with the window shown below If not you will be told why the system will not be
84. ext box and enter the filename you wish your transactions database to have Do the same for the Main database To view the catalogue record of the backup file choose Catalogue Information and to restore the database choose Restore Motsi Tinovimba G Page 207 Chapter 9 The Calendar Utility The Librarius 2000 Plus Calendar utility provides you with an online calendar for the years 1800 too 2100 Task July 1800 Next gt gt You can use the Next and Previous buttons to browse through all of the months in the above specified range Alternatively you can Jump to any month in the above specified range by doing the following 1 Choose jump from the Calendar s task menu After doing this you will be shown the following dialog box Month anuary Mi Year poo 2 Select the month you wish to jump too from the month list 3 Enter the year you wish to jump to The year should be in the above specified range 4 Click the OK button At any time during the browsing you can jump too the current date by choosing Today from the Calendar Task menu Motsi Tinovimba G Page 208 YOUR PRODUCT ID PASSWORD LIBRA 25081982 Please tear off this page and keep it in a safe place Motsi Tinovimba G Page 209 Motsi Tinovimba G Page 210 System M aintenance And Appraisal Databases All the database structures are described in details in the Design section Modules The structure of the modules is giv
85. f trying to deregister a book on request Use 17 Test ability to deregister subscribers ID 21058prc Reason Expired Remark Ref 25 08 1982 ID 5277 12prs Reason Cancelled Remark Ref 27 05 1982 Test ability to deregister books Bk no 10 Reason Lost Remark 37652xyz Bk no 15 Reason Damaged Remark 70000dnh Replaced with Motsi Tinovimba G t Use 70000dnh Cancel the requisitions first Error message This book is on loan Cancel the loan first Error message This book is on request Cancel the requisition first The data should appear in the deregistered subscribers table The data should appear in the deregistered book table Page 140 Transaction testing Test 6 01 Test User log maintenance CC Mes mma Ta Testing procedure 1 User l enters the security manager and gives the other 2 users full access 2 Each user will then access the main areas in the following order e Main module Transactions Report Maker Query Backup Expected results The log should be prepared showing all the above logging ins in the order given above O Motsi Tinovimba G Page 141 Test 6 02 Test subscriber log maintenance Procedure 1 Enter new subscriber 12345abc 2 Open the record for editing but save it without changes 3 Open the record for editing 14 times On each opening edit one of the following fields in the order given below and save e National ID Title Initials Surname Registered o
86. flag Clear the Books Title and Author text boxes End if Else If the Confirm flag is up then Lower the Confirm flag Subtract the fine on the last book from the total fine and update the display Clear the Author and Title text boxes End if End if Cancelling the loan Locate the loan record Copy its contents to the Main log as a return transaction Delete the loan record If the book is on request then add its number to the Requests textbox s text New Button Set the total fine to 0 Set the fine on the last book to 0 Clear all the text in all the text boxes Close Button Activate the New button and hide the form O Motsi Tinovimba G Page 77 Requisitions Form Requests Subscriber ID Details Book number Title Subscriber ID Text Box Keypress and Lostfocus events Same as for the Borrow form Refresh Subscriber Details Button Same as for the Borrow form Motsi Tinovimba G Page 78 Books text box Keypress event If the key pressed was the enter key then If the Confirm flag is down Validate the entered book number Ensure that the book can be requested Ensure that the subscription exists and has not expired Ensure that the subscriber has neither reached nor exceeded has requisition limit Enter the books title in the Book title text box If the book is overdue calculate the fine Raise the confirm flag Else Ensure that the subscriber has not exceeded his borrowing limit Ensure th
87. g limit is organised Tf if includes c itle gory combinations the please imelade this in your explanation Merwioers jure 00 wee 0999 bo the Merten em Bloc HEN NEN re AR T Please specify iow soi tine Tor overdue books JR dose cumrdese o e ne Areen on eem S Mn carr S AA m 0 pei oie earn anire oe ee Sey ek Nem pce Torn 8 What informerien about vonr aibscribers do vou keep Surname Pirate nem Ciare poen t What records conce ming your hooks do you keep Motsi Tinovimba G Page 22 tu Do vou stock take IF vou do thea How often Our ita ge Wirt t lonmiauon do veg collect Weoowne Som Sede en a e ES 0 num Ae cum CU 11 Do vour members have library cards 13 Are you computer literae VICTORIA HIGH SCHOOL LiIDWARY iT PEMA INGA u1 C a Motsi Tinovimba G Page 23 The Civic Centre Library The Civic Centre Library is a small library located next to the municipal offices in Masvingo It is run by an independent committee not affiliated to any organisation The library offers only one type of membership that is subdivided into three slightly different schemes The first scheme is for people over the age of 18 years the second one is for people below the age of 18 years and the third scheme is for people living outside Masvingo The only differences between the schemes are that the people below the age of 18 years need to have some sort of guardian approval and that the country mem
88. gical troubleshooting Facilitate the extraction of statistics and their use in the automatic preparation of reports Enable wide database querying with the results produced being stored in a format that would facilitate their use in mail merging and report preparation Keep a log of all the transactions and a record of the librarians who will have committed them Be capable of giving different users different levels of access Store most of the environmental features in a set up file and provide a utility for managing this file so as to facilitate easy policy changing This file should be encrypted for security reasons Motsi Tinovimba G Page 33 Motsi Tinovimba G Page 34 DESIGN Motsi Tinovimba G Page 35 Introduction I intend to adopt a Top Down structured design At the first level I have divided the design into 3 stages namely e Database design e Modulation e Module design The database design stage will primarily involve the identification and grouping of data items into tables and databases It will be followed by the modulation stage that will involve the splitting of the system into task specific modules The final stage that I have decided to call Module design will involve the design of each module identified during the modulation stage with particular attention being paid to interface input and output design After designing the solution I will then proceed to code each module in either Turbo Pascal 6 0 or Vi
89. he subscription details Change the determination to Fixed less requested and refresh the details Change the determination to membership less requests Refresh the subscription details The following limits should appear in the details box The limit is given by Borrowed Can Borrow Fixed 7 Membership 12 Fixed Req 7 2 5 Memb Req 12 2 10 Investigate the effect of a Fix Req or Memb Req which results in a negative amount by setting the fixed limit to 0 using 70000DNH Motsi Tinovimba G Fix Req 0 2 2 Memb Req 1 2 1 0 should be displayed and a warning message displayed Page 136 Search Testing Search on Subscriber ID Mr G H Rusheil Search str 65502gta Type Whole word Search on Subscriber ID 21058prc Search str 10 Type Embedded Search on Surname Search str Mhiribidi Type Whole word Search on Surname Search str ma Type Embedded Search on S Title Search str Mr Type Whole word Search on S Title Search str ro Type Embedded Search on S Initials Search str T Type Whole word Search on S Initials Search str H Type Embedded Search on Bk Number Search str 8 Type Whole word Search on Bk Number Search str 1 Type Embedded Motsi Tinovimba G 10000abc 20000def Lt P 37652xyz Dr S 60000JKL Mandoreba 7 70000DNH Mafuva 70000dnh Mr Mafuva 65502gta Mr Rusheil 527 12prs Prof J K Taka
90. hool Administration Motsi Tinovimba G Page 15 Accession Book De ws c Menor Gu bofs se Y iets 2ta hie cow P4 du Ad f me Te nd gy ah ours Seams v Foye KEP oig ah 27 iw wu TU ess 27 aet TT T i t I R 1 y ae Ape May 5 TAE fe ft aota i s I T j 2 be 1 wee Kec M I e Lena lw i v s x n pa lay 7 Jamei Morrie eal d 337 A i 3 3 po j ET y j red r Sach I hi 294 t7 PL MIO l L t nes e f g ear 4 f AU Page 16 inovimba G Motsi Cataloguing Policy Only First check whether the author is already in the catalogue List all books by the same author together v Bruce Mary From Billabong to London Circus ring Accession number goes to the right Capitals for the beginning of names only i NON FICTION 2 cards required Author card and Dewey card First check whether the author is already in the catalogue List all books by the same author together The accession number now goes to the left margin eg Lloyd Christopher 866 The capture of Quebec 971 2043 Captain Cook 369 5919 Sea fights under sail 359 Motsi Tinovimba G Page 17 we E S rahe Wea Every number has a different card eg 940 and 940 5 are listed separately Different authors are listed separately eg 940 5 Brandon Russell has a differen
91. hoose a location that will have a substantial amount of space This space requirement will vary from one user to another so please consult your program vendor To specify the filename click on the white box A typical Save Window should then appear Enter the name of the databases and then choose Save Choose Next to go to the next step Specify the location for the Main database 121 xi erans Jala File name mairi Save as type Databases mdb M Cancel Open as read only Z Figure 3 Typical Save Window 7 For Step 4 and 5 you will be required to specify the location and name of the other two databases using the same procedure The same considerations apply with the only notable addition being that no two databases may be given the same name 8 In Librarius 2000 all subscription numbers are referred to as Subscription IDs and must be 8 characters long and obey the Subscription ID mask Once you have specified the mask you will not be in a position to change it in any way If you want the character in a certain position to be a letter then enter an L in that position in the pattern otherwise enter a D Motsi Tinovimba G Page 154 For example DDLDLLLD would specify a pattern where The first two characters would be digits Followed by a letter Followed by a digit Followed by three letters With a digit at the end VVVVV It is worthwhile having a pattern that means something For example y
92. index Date gt The reason index Motsi Tinovimba G Page 169 Managing Book Records Books in the library and in circulation Facilities for managing books in the library and in circulation are provided by the Books window that is accessed in Librarius by choosing Books from the Database menu This window provides the same facilities to Book records management that the Subscriptions window provides to Subscription records management Relativity Theory of Andrakatta Thursday 12 September 1991 I LIS 375 00M28D a e e 0 748 70553 7 Stanely Thornes Textbook Sales i Figure 16 Books Window Registering a new Book 1 To register a new book choose New from the Books window s Task menu You will be presented with a blank Books Window Screen 2 Enter the details ensuring that they are in line with the data entry specifications listed below The items that you may leave out are prefixed by the word Optional Motsi Tinovimba G Page 170 Item Valid entry Book number Must be between 1 and 2 147 483 647 inclusive Alternatively you can click the button and the system will automatically fine a free number for you amp Title May be as long as 25 characters Author Maybe as long as 20 characters Registered Enter the official date of registration in the following format Date Month Year where gt The date and month are 2 digit numbers prefixed by a 0 where necessar
93. ing to request a non existent book Subsc 60000JKL Bk 72 Test the effect of trying to request a book not on loan Subsc 60000JKL Bk 15 With a request valid for period of 00MO7D test ability to record requests by entering the following requests 60000JKL 6 3 70000DNH 9 17 37652xyz 1 4 With a fixed requisition limit of 2 test the recognition of the limit by having 60000JKL request book number 2 The entries should be added to the loans table Error message There is no book with book number 72 Error message This book has not been loaned out The requests should be entered into the requests table with the following expiry dates 6 16 10 2000 3 8 11 2000 9 9 10 2000 17 25 11 2000 1 15 11 2000 4 15 11 2000 Error message Requisition limit reached Test the effect of requesting a book already requested by someone else Subscriber 37652xyz Bk 9 Test the effect of having a subscriber request a book he has already requested Subscriber 70000DNH Bk 17 Test the effect of having a subscriber request a book he already has on loan Subscriber 37652xyz Bk 3 Test the effect of trying to return a book on record as being on loan to someone else Subscriber 37652xyz Bk 4 On loan to 60000JKL Motsi Tinovimba G Error message This book has already been requested by someone else Error message This subscriber has already requested this book Error message This s
94. inting the displayed record in the Subscription sections O Motsi Tinovimba G Page 172 Deregistered Books Librarius 2000 Plus allows you to browse through the records of Deregistered Books This facility is provided through the Deregistered Books window available from Librarius Database menu Deregistered Books Wednesday 26 July 2000 Tuesday 1 August 2000 The Aculpuulco heat 4 50 00M14D I 7 890654 X CC Previous Figure 17 Deregistered Books Window i i It must be stressed that you can only browse through these records you cannot alter them in any way The browsing techniques outline under Books in Loan and Circulation also apply here with the only change being that the Deregistered Books window provides you with 2 more sorting indexes which are gt The deregistered on index Date gt The reason index Motsi Tinovimba G Page 173 Chapter 3 Loans And Requisitions M aking loans In Librarius 2000 Plus loan making facilities are provided throughout the Borrow windows shown below To access it choose Borrow from the Librarius 2000 Plus Task menu Figure 18 Librarius Task Menu Borrow OE x Subscriber ID Je0000 k Details Miss H R Mandoreba Png Expires Thursday 10 June 2004 Borrowed D i 0 Can Borrow D Requested D amp Oj Can Request 0 Books 37 Title International trade Qtns Author Gatak S Total Cost s 5 50
95. ion of data and preparation of letters She believes that although the general management of data will probably remain satisfactory for quite some time the statistics collection and end of month mailings area is going to worsen with time 2 She also raised concerns on the requisition system which she has decided not to formalise because of the complexities that would be introduced 3 The librarian believes that the current system major weakness is in its ability to assimilate change with special reference to the requisition system Motsi Tinovimba G Page 25 Interview Script 1 Are you part of aay larger organisation 8S ix TI vou are then please spect Name e organisation Pyne Z Approximately how man books and gubseribers do von fave Books ME DM ei ETR Subseribers 400 Bagiea 200 Children 3 Please speci she following about each calego of ure books vou have Category Name Loaned out Borrowing Tonn YN Fee Periix Uc QC Fewer a mon vac oc 4 H vou aller more than one wpe of membership then please spealy the following for cach type where applicable Categories Borrewing Loan Borrowed Duration Sy ATS n M E M me yee eens Motsi Tinovimba G Page 26 Deo you allow your subscribere to request hooks Which will he oul so that they may be the lina lo borrow them when the are returned os HO 6 Please state how vour borrowing limit is organised T it indudes category
96. ion should be an important component of any solution it cannot be viewed as satisfactory on its own Conclusion Given the above arguments it is the opinion of this author that the above mentioned alternatives seek to only deal with the symptoms without addressing the root causes of the problem Computerisation will therefore be adopted and implemented as the solution to the above problem O Motsi Tinovimba G Page 32 Specific Objectives Given the above deliberations it is now possible to define the specific targets that should be met by any future system The system should c q 4 Facilitate the management of book and subscriber records with particular reference to e Registering new books and subscriptions e Editing and deregistering these records e Allocating different rights to different members e Allocating different loan properties to different books Facilitate the borrowing returning and requisition of books through a user friendly interface with particular reference to the following e Automatically maintaining a list of books on loan and requisition e Working behind the scenes to detect possible errors by validating the entries made e Presenting the details of subscribers requesting the loans or requisitions and the books concerned for verification processes Be capable of maintaining a large database with particular reference to e An optimised organisation of data e Backup and file restoration facilities e Lo
97. ions Tests carried out on the Members to be carried out on the Subscriptions form The tests will focus on data entry with particular attention being given to the ability of validation routines to detect input errors The effect of extreme and normal data will also be taken into account The ability to save records is demonstrated by the presence of the Appendix 2 Test Data Test ability to enforce the 8 For each instance an error should be character length of the Subscriber flagged Subscriber ID should be 8 ID characters long Choose New from the Task menu and enter 2345pq and the repeat the test with a null value Test ability to recognise non compliance with ID pattern Enter abcde123 1234fa3c and 12345cvb for the subscriber ID Investigate the effect of entering a non unique ID code Enter 21058prc and 98765QWE as the subscriber ID code 21058prc belongs to a current subscriber and 98765qwe to a deregistered subscriber Test functionality of automatically entering the day s date in the date registered Press the today s date icon Motsi Tinovimba G Each letter should be flagged as an error for the first test For the second test only the fifth and seventh characters should be flagged as errors The third code should be accepted An error should be flagged ID code has already been allocated to someone else Today s date should appear in the date registered column Page 120 Test ability to re
98. isation process 2 Product registration by specifying the licensed user e The input will have to be checked to ensure that it is not a blank 3 Specification of the primary user s profile i e e Name e Password e Confirmation of Password 4 Specification of the main database e Must be checked to ensure that it is not blank 5 Specification of the transaction database e Must be checked to ensure that it is not blank and that it is different from the one specified for the main database 6 Specification of the temporary database e Must be checked to ensure that it is not blank and that it is different from the ones specified for the main and transactions databases 7 Specification of the subscription ID mask e Must be 8 characters long and composed of L s and D s only e Must be converted to upper case before validation and storage 8 Confirmation of details before commitment 9 Confirmation of commitment e Create the main database and enter the default values for the setup table Create the transactions database The working database will only be created when needed Create the initialisation file Remind the user of the need to modify the setup defaults O Motsi Tinovimba G Page 91 Setup form Located in the main Program Plan As it will not be possible to display all the system properties in one window at the same time I have decided to place the properties into the following categories Formats Collection e Subscriber ID mask Read only
99. l merge menu The following window will appear with all the available fields in the list Insert merge field BEE SURNAME SUBSCRIBER TITLE INITIALS EXPIRY DATE HOME ADDRESS Help Cancer Figure 34 Inserting a merge field gt Choose the field you wish to insert from the list by clicking it and the choosing OK Motsi Tinovimba G Page 195 3 Or gt Click the right mouse button A pop up menu with all the available fields listed in it like the one shown below will appear You may need to click the right button twice P METTE Report Maker C My Documents expired txt File Edi Insert MailMerge Help HOME ADDRESS Sunday 21 April 2002 Dear SUBSCRIBER TITLE SURNAME RE RENEWAL OF SUBSCRIPTION Please be advised that your subscription expired on EXPIRY DATE and that i it is not renewed by 27 April 2002 it will be terminated Your Siren SUBSCRIBER ID SURNAME SUBSCRIBER TITLE INITIALS EXPIRY DATE HOME ADDRESS Merge letter Session Figure 35 Merge Session with Pop Up Insert Field Menu gt Choose the field you wish to insert from the menu 4 The field name will the appear will be inserted surrounded by set brackets i e You should never type in brackets in normal mail merge text as this will result in the system interpreting the text between those brackets as Fields and flagging errors 5 Once you have finished composing the standard letter choose Begin Mail Merge
100. le by following the procedures outlined in Chapter 2 under Printing the displayed subscription record The search utility is case insensitive i e it interprets JUMO Jumo jumo and juMo as identical Motsi Tinovimba G Page 182 The Query Utility The Query utility enhances your ability to quickly locate information through the use of SQL Standard Query Language It should however be noted that you are only allowed to execute queries which only look up data The queries you enter must therefore start with Select and should not be Make table queries For more information on SQL please consult a Microsoft Access SQL Guide Opening your databases in Microsoft Access may lead to Permanent Damage and huge losses of data For the purpose of SQL the following is the structure of the two Librarius 2000 Plus databases and points worth noting in your construction of SQL statements Main Database Table Structure Table Name Field Name Remarks Subscriber Table Subscriber ID Text National ID Text Registered on Date Surname Text Initials Text Subscriber title Text Home Address Text Home phone number Text Contact Address Text Contact phone number Text Expiry Date Date Borrowing fee Integer Borrowing limit Integer Loan Period Text 4 characters First 2 represent the number of month gt Other two represent the number of days Remark Text Termin
101. ls Miss H R Mandoreba MER Expires Thursday 10 June 2004 D 3 1 80 Borrowed Can Borrow B Requested Of 0 Can Request 7 Books C Title Aquifers Author fwaugh D Total Fine s 000 o Requests Reo Figure 21 Returns Window To process a return 1 Enter the subscriber ID code of the subscriber in the subscriber ID box and press Enter Some useful subscription information including the full name of the subscriber will be displayed in the Details text box if the entered subscription code is valid The two numbers prefixed by a represent overdue books and expired requisitions respectively Enter the book number and press Enter If the book number is valid its Title and Author will be displayed in the respective text boxes and if it is overdue the fine levied on it will be added to the amount the Total Fine text box If the displayed details are correct then press enter to confirm the return otherwise press any other key and repeat the second step along with this one If the book has been requested by another subscriber its book number will be added to the Requested text box Repeat the second and third steps to process any more returns by the same subscriber To process returns from a different subscriber Click the New button or press F2 and choose New from the pop up menu Motsi Tinovimba G Page 176 Making Requisitions This facility is provided through the Requests window shown below To access it choose re
102. lus databases from Librarius 2000 Plus backup files Security Provides the high priority user with facilities for creating and maintaining the access privileges for Users 2 amp 3 Transactions Provides you with a facility for viewing and analysing the Librarius 2000 Plus transaction logs These logs are a record of all the data processing activities carried out on the system O Motsi Tinovimba G Page 162 Chapter 2 Managing Subscription And Book Records Current Subscriptions Librarius provides you with an easy to use environment that allows you to enter and maintain subscription records for Current subscribers This facility is provided through the subscription window and to access it simply choose Subscriptions from the Librarius 2000 Plus s Database menu V Lilvaeius 2000 Plus Figure 9 The Librarius Database Menu Entering a new subscription To enter a new subscription 1 Choose new from the Subscription window s Task menu You will be presented with a blank form and the Previous Next amp Close buttons will be replaced by the Save Help amp Cancel buttons Fill the form observing the requirements given in the table below Items that you may omit are prefixed by the word Optional Choose Save You will be prompted to confirm some details If you discover that you have entered an item incorrectly then choose No correct the entry and repeat this step Ifthe subscription is saved c
103. m club members and Mkwasine Estate The books are kept for as long they are regarded popular Once a book goes for a long time without being borrowed it is put up for sale Each member of the club has a membership card that is used for identification purposes throughout all the departments of the club including the library Although one needs to be a member of the club before becoming a member of the library being a member of the club does not automatically make one a member of the library Subscribers to the library are charged a joining fee a monthly subscription and a borrowing fee for each book borrowed At the present moment a subscriber is allowed to borrow a maximum of 5 books at a time with each book being kept for a maximum of 2 weeks Where the end of the 2 week period falls on a public holiday the loan period is extended to the day after the public holiday Records of the subscription details along with the date on which the subscription expires and the books loaned out to the subscriber are all kept on a single sheet of paper in a file containing the details of all the subscribers Once the sheet is full or the subscription has been terminated the sheet is moved to another file for achieving Records of the books are also kept for cross referencing purposes In order to ensure that due dates are observed by the subscribers a fine is charged for each day a book is kept after the due date If a book is lost or returned in a very bad conditio
104. months between 00 and 12 gt An M gt Two digits representing the number of days between 00 and 31 gt AD For example 01M07D for 1 month 7 days It must be stressed that the number of days and months must be specified as two digits Where the number is between 1 and 9 inclusive you must prefix it with a 0 No other format is acceptable 7 Request valid for This specifies the period over which the request will be considered valid For example if a book is due on 02 08 2000 and if the period of request validity is 00m05D then if the book is requested the request will expire on 07 08 2000 and after the 7 it will be flagged as expired although it may still be processed until it is explicitly cancelled Motsi Tinovimba G Page 159 The Users Category Librarius allows you to have up to 3 librarians at any one time Of these one will be the high priority user described in the section Database Initialisation earlier in this chapter Each user must be allocated a unique name and password The system identifies users by their passwords and these should be allocated to the other two users by Userl To enter or change the user s name simply tab to the text box and enter the name To enter or change the password Click the key button alongside the particular user s details You will be presented with the following window Change Password Motsi Tinovimba G Password l Help Cancel Figure 7 Specify or change pas
105. n Expires on Borrowing fee Borrowing limit Loan duration Home address Home phone number Contact Address Contact phone number e Remark 4 Open the record for editing and edit all the fields 5 Deregister the subscriber specifying Cancelled as the reason and Ref 25 10 200 as the remark Expected Results The transaction log should register all the transactions For each editing transaction the fields changed should be marked For the deregistration transaction the deregistration remark should be entered in the remark field the reason in the Reason field No other entries should be made O Motsi Tinovimba G Page 142 Test 6 03 Test books log maintenance Procedure 1 Enter new book 2507 2 Open the record for editing but save it without changes 3 Open the record for editing 12 times On each opening edit one of the following fields in the order given below and save Title Author Date registered Borrowing fee Loan Period Loanable Library Class Dewey number ISBN Publisher Supplier Remark 4 Open the record for editing and edit all the fields 5 Deregister the book specifying Sold as the reason and Receipt 1234 2000 as the remark Expected Results The transaction log should register all the transactions For each editing transaction the fields changed should be marked For the deregistration transaction the deregistration remark should be entered in the remark field the reason in the Reason field No other
106. n the subscriber is fined an amount equal to the cost of replacing the book or alternatively the subscriber may simply obtain a replacement for the library At the end of the year all the books are returned for stocktaking and inspection and all those not returned are considered lost and the subscribers responsible fined The proceeds from the library are used in improving the services provided by the club Problems Faced The Mkwasine Country Club has of late been facing some severe data management problems Its traditional record management system which was viewed as being satisfactory only a few years ago has now collapsed Most of the records are still there but then their unreasonably large quantity has made it virtually impossible to extract any useful information from them The library however is still running and the only thing which probably saved it was the sharp decline in the number of subscribers which accompanied the opening of a Video Club In an effort to alleviate the above mentioned problems the library has downsized its data management to records of the books borrowed and subscription payments It is however my opinion that the system can still be saved since most of the records are still available Motsi Tinovimba G Page 29 Membership Cards Motsi Tinovimba G Page 30 Generalised Evaluation The following is an evaluation of all the systems put together taking into account all their strengths and weaknesses
107. n index Motsi Tinovimba G Page 171 5 6 Dewey index Class index Editing a given book record To change any of the details in a book s record 1 2 3 en Browse to the desired book s record Choose edit from the Books windows Task menu Change the details you want changed The valid entry formats specified under Registering a new book also apply here You may change all the details save for the Book number Choose Save Confirm the details you are prompted to confirm If the editing is successful you will be returned to the record you were viewing with all the changes made having been effected Deregistering a Book To deregister a book l 2 Browse to the desired record Choose Deregister from the Books window s Task menu If the concerned book is not on loan or request you will be presented with the deregistration window If not you will be told why the system will not be in a position to deregister the book Enter the reason and if you want to you may also enter a cancellation remark Each maybe up to 30 characters long Choose deregister If the book is deregistered successfully you will be given a confirmation message Saving to a text file or Printing out the displayed record To print out the displayed book record or to save it to a text file choose Report from the Books window s Task menu and then follow the instructions outline under the section Saving to a text file or Pr
108. ng the S ystem To install Librarius 2000 Plus l 2s Close any programs you may be running To minimise the risk of complications restart your computer first If you obtained the installation program from the website then gt Extract the zip file using WinZip to a folder of your choice Click on My Computer on your Desktop and select the folder with the unzipped files gt Double click Setup exe If you have the program on disks then Insert the diskette labelled Librarius 2000 Plus Installation disk 1 in Drive A From the Start menu choose Run gt Type in A Setup and press Enter Follow the instructions that will be displayed on the screen Some machines will record an error when it comes to registering msjro dll If this comes up simply choose ignore Once you have successfully installed Librarius 2000 Plus you MUST initialise the database as shown below before running Librarius 2000 Plus or any of its utilities nitialising the databases To initialise the databases you must run the Database Initialisation Utility whose icon will be in the Librarius 2000 Plus group l Start up the initialisation wizard by choosing it from the Librarius 2000 program group in the start menu If you start it properly you should be greeted by the welcome screen In the Enter Password Window enter your Product ID password You will find this password on the last page of this User Manual The wizard has 8 St
109. ng to Text or Printing the displayed subscription record 167 Terminated SUBSCT PUGS TE 169 Managing Book Records Books in the library and in circulation 170 Resist ritie new BOOK 2 nce prt etre eode ier bene thea Pnse a deal dobvcasededapes 170 Browsing through the book records ui npe oec ers a eee ad te UH epo ka coe 171 Editing given Dook TECOED cescecsccecdtacotavesadadsacatenssduedsssSinvosnesdasdubesdeduedsdachevateendanes 172 Detesistering X BOOK cz siut Staats ra de tdg aea LAW Ie oisi utes dn reete 172 Saving to a text file or Printing out the displayed record 172 Deresisteted BOOKS 5o ee ro ig tr tp cob EEEE EERE REEE ESS 173 Chapter 3 Loans And Requisitions ii c ccicotiesscdenecnesenesa des etr titu iae drbu cach ra deed eina ede be docu 174 M ki g AE E 174 igna so T C 176 Making Requisitlons i eti e rh n ER sire e NUES EN EHE inni duo be PY Sedan a dad eU 177 Managing loans and requisitions essere ener 178 Chaneimo the died2te ose tt vet oor a alta tnc een enc t eiie es 179 To cancel a loannis soiin sitiseni iaoee keirin ioei du lU ina Es 180 All the above procedures also apply to Requisitions sese 180 Chapter 4 Finding Information oce erret hien ttn cake eoe eae ineat aee eren 181 The Search PACHA Oy act ce sea ciate ee Mp HERR o Sets tl el tud ueste pmi
110. o form its own project and it will focus on user access rights and data encryption It will be made up of 3 modules each carrying out one of the following tasks e Specifying user access rights e Enforcing the specified access rights e A form for entering the access password The password and access rights enforcing modules will be shared by the whole system Motsi Tinovimba G Page 52 Database management This section will be made up of 4 modules each one making up an executable file of its own The modules will each deal with one of the following e Backup e Recovery e Repair and Optimisation The optimisation and repair module will use the Visual Basic database optimisation and repair methods to carry out their tasks Motsi Tinovimba G Page 53 File Management Books Records Management Plan The plan is to have a simple form displaying one record at a time To avoid crowding details concerning loans and requisitions will be displayed on another form accessible from the main books details form The form should also be capable of sorting the records as to all the indexes in the books table and performing searches on these indexes It should also facilitate the exporting of the displayed record to a text file or to the printer Input Form oe Book Number Title Author Registered Borrowing Fee Loan Period Library Class Dewey ISBN Publisher Supplier Remark Loans Details Requisition Details M
111. on Motsi Tinovimba G Page 51 Search Utilities I intend to provide search facilities at two levels i e e A simple search utility for finding simple subscription and book data e A Standard Query Language SQL based search utility for in depth analysis of the database The simple search utility will become part of the main program and will contain 2 modules each dealing with one of the following e Specifying the search criteria e Showing the search results The SQL based utility will form a separate project and will also be made up of 2 modules each dealing with one of the following e Entering the SQL and executing it e Showing the query results Report writing The Report writing utility will form its own Project and it will contain text editing report writing and mail merge facilities The modules will be as follows General e A menu module which will also contain general text editing facilities for fonts printing opening amp saving documents and inserting text e A module which will enable the user to specify what he wants to do e Compiling SQL statements which will form the basis of the reports and mail merge activities Text editing e Finding text e Search and replace Mail merge e Inserting merge fields e Compiling standard letters and printing out the personalised letters Report writing e A module for specifying report fields e A module for specifying field widths Security management This section will als
112. on End if Else if it is a report making session then Show the report menu and hide the merge menu Get the SQL file s filename and try to open it If the file exists and is not empty then Check the integrity of the SQL Else Report the Error Load the text editing session End if Else Assume a text editing session Hide both the report and merge menus End if End if Algorithms Reports Section Choose Report fields Load the Choose report fields form Trim Report fields Load the trim fields form Build Report Menu Build the report array Print the report Motsi Tinovimba G Page 96 Building the report Array The array will be as follows Field Name Data Type Length Start Position Set the number of rows in the array to the number of fields in each returned record For each field in the recordset enter the Name Data type and length Set the start position of the first field to 0 Total The first field s length For each of the remaining fields if any Set the start position to Total 1 Add the field s length to Total Next Printing the Report Set the printer s position to the top left edge of the paper Print the header text in the report form s text box Add 2 blank lines Print the column headers Draw a line just below the headers For each record in the recordset Offset 0 For each row in the array If the field is a date field with time info then Use the mask dd mm yy
113. one after it by choosing Next If this button is dimmed then the record you will be viewing will be the last one in the list To view the previous record click the Previous button If the button is dimmed then the record you will be viewing will be the first one in the list Determining the viewing order You may view subscriptions in the order of the Subscriber ID s Names gt Expiry dates gt Registration dates For example if you want the subscriptions too appear in alphabetical order of the surname then you all you have to do is to choose the Name sorting order To do this 1 Choose sort from the subscription window s Task menu The Sort Window should then appear 2 Click the downward facing arrow on the sort button and choose the sorting order you want 3 Click the OK button or press the Enter key Motsi Tinovimba G Page 165 SS Sort Jol x Table fs ubscribers Sort as to SubscriberlD index Figure 11 Sort Window Locating a particular record During you normal browsing you may jump to any particular subscription by doing the following 1 Choose Locate from the subscriptions window s Task menu The following dialogue box will appear with the sorting order in use in the Sort as to box Table 5 ubscribers Sorted as to Subscriberid index Locate Figure 12 Locate Window Enter the item you wish to find which should be in line with the sorting order For
114. ongest Set longest to current length End if End if Next Insert the value of the longest field length If the Multi line flag is up then Specify that the column length cannot be reduced Lower flag Multi line End if End if Form Activate For each row in the grid Next Search for the field name in the chosen list If the field name is found then Record Yes in the show column Else Record No End if Paper Width Menu Facilitate choice of printer and paper size Display the paper width in characters Motsi Tinovimba G Page 104 Getting the longest line in a multi line string Start 1 Repeat If the current character is a carriage return then Line length Current position Start 1 If Line length gt Longest line then Longest line length Line length End if Move to the next character Set start to current position If the current character is the last then Line length Current position Start 1 If Line length gt Longest line then Longest line length Line length End if Raise flag Whole string read End if Else Move to the next character End if Until the whole string flag is up Trimmed Total Menu For each row in the grid If the show column is marked Yes then If there is a value other than 0 in the Trim column then Add that value to the trimmed total Else Add the value of the longest field End if End if Next Untrimmed Total Menu For each row in the grid
115. ooks number 17 12 and 3 to 37652xyz Book number 3 has already been loaned out to 37652xyz Test ability to recognise borrowing limits by trying to loan out books number 8 and 9 Borrowing limits are fixed at 7 and the 37652xz already has 6 books on loan Choose New and then try to loan out book number 9 to 20000def who has an expired subscription The following entry should be entered Date Borr 18 09 2000 Bk number 3 Subsc 37652XYZ Date due 01 11 200 3 50 should be added to the cost to make it 10 50 The following entry should be entered Date Borr 18 09 2000 Bk number 6 Subsc 37652XYZ Date due 09 10 2000 2 00 should be added to the cost to make it 12 50 The following entry should be entered Date Borr 18 09 2000 Bk number 2 Subsc 37652XYZ Date due 16 10 2000 Cost added 3 75 2 00 New total 18 25 Book 17 amp 12 should be loaned out without a problem Book number 3 should result in an error This book has already been loaned out Book number 8 should be loaned out without a problem Book number 9 should result in an error Subscriber limit reached Error message Subscription has expired Attempt to loan out a non existent Error message book number 23 to 60000jkl Book non existent Motsi Tinovimba G Page 133 Loan out books number 9 4 and 1 to 60000JKL for the purpose of analysing the effect of including more than one subscriber in the table Test the effect of try
116. ooks which will have been overdue for a suspiciously long time The book loan system When a book is borrowed the librarian notes down the following e The date e The borrowers card number e The book s accession number e The due date The borrower then signs an acknowledgment of the receipt of the book When the book is returned the librarian signs against the loan record thus cancelling it and fines the borrower if the book is overdue Motsi Tinovimba G Page 7 Problems faced 1 Statistics collection is laborious and time consuming especially when the statistics are required on short notice 2 During peak periods especially during holidays and just before exams the workload on the librarians often becomes too large to manage resulting in errors Motsi Tinovimba G Page 8 Borrowers Card MUNICIPALITY OF MASVINGO GENERAL MEMBERSHIP CARD 8 7 5 7 DEPARTMENT OF HOUSING MUCHEKE PUBLIC LIBRARY Prone 62056 i Sumame CAO Tio Y PH First honos MONS IRDA LRRD aa Home Address C ex AHA Mee ne d agree to abade Ey the mules and requianions of the Library Signad T hse E NEY SAA Date M SY o acest d Wome rich Aste d ius WASTE A Url Fa Ads Rei S Librarian ade Motsi Tinovimba G Page 9 Borrowers Form L MUNICIPALITY OF MASVINGO MUCHEKE PUBLIC LIPRARY BOROWER S FORM PART A TO 5k FILLED BY APPL
117. opt the above as the columns of the main transaction log table I have also decided to include a sixth column which will indicate the type of transaction stored in a record The following is the numbering system to be used for this purpose Type of Transaction Number Used Borrowing 10 Extending loan due date 11 Returning a book 20 Deleting a loan manually 21 Making a requisition 30 Processing a request Book borrowed 31 Extending a requisition expiry date 32 Deleting a request manually 33 The data type structure of the table will be as follows Column Data type Size Date Date Subscriber ID Text 8 characters Type Integer Book number Long integer Amount Currency Extra date Date The columns will be used as follows Date Type Subscriber ID Book number Extra date Amount 10 ID ID Due date Borrowing fee 11 ID ID New due date Days extended by 20 ID ID Date due Fine if any 21 ID ID Date due 30 ID ID Expiry date 31 ID ID Expiry date 32 ID ID New expiry date Days extended by 33 ID ID Expiry date Motsi Tinovimba G Page 45 Book records transaction log Column Data type Size Comments Date Date Book number Long integer Date registered Date Type Integer 1 Register new book 2 Edit existing record 3 Deregister book Book title Text
118. orrectly your display will be returned to the one before you started entering the data with the new subscription displayed otherwise you will be returned to the record you were viewing before the failed attempt to add a new subscription record At any one time during the editing process you may choose the Help button if you require assistance or you may choose Cancel to cancel the New entry operation Motsi Tinovimba G Page 163 Subscriptions Task New Edit Deregister Sort Locate Go to First Ctrl F GotoLast Ctrl L Pile Es 6 March 2000 sday 6 September 2000 Report Help Close Home Address P D Box 241 Masvingo none Loan Duration Joon 4D Books borrowed Books requested lt lt Previous Contact Address none none Figure 10 Subscriptions Window Item Valid entry Subscriber ID A unique subscription identification code that must obey the subscriber ID pattern declared during database initialisation It must be 8 characters long National ID Any alternative ID number you may wish to keep Maybe a national ID passport number or even a receipt number Should not exceed 20 characters Name Made up of 3 items gt In the first box enter the subscriber title that maybe up to 4 characters long gt In the second box enter the initials that may be up to 4 characters long gt
119. orromenes gt VD oo Pret n nddee nats CQ eme cl prone ern adr ie Wiar records eoncening vonr books do vir keep Date obtained go NECI ra SC Tuer o eM nas no Tue Vase aa oMa morte amp pem ja foe Xa fest hm Cou MP een 4 Motsi Tinovimba G Page 12 10 Do you stock take Yvon do then t How otten APT NOU sou erie cu A oe What informatpen do you collect SANTEE OT rA S Secke ie t9 eeoosd te send _ REL io bee eee 11 D voir member have librar cards TS Fa cx 1 rev do thea what key detis appear on these carde Nee Gord qe TAS Derm cu doce ne Are von compter literate MUCHEKE PUBLIC LIBRARY pu P O BOX MI YES NE 5 i 1999 05 17 iena ca Com CC CHIKATO Motsi Tinovimba G Page 13 The Margaret Sharpe Library The Margaret Sharpe Library was founded by Mrs Sharpe the wife of the founder headmaster of Victoria High School Its main aim is to promote wider reading in the school especially among the junior forms The library relies on the school for both operational funds and books This support is supplemented by the various clubs in the school and well wishers On receiving a book the librarian enters its details in the Accession Book and then proceeds to catalogue the book as to the library s cataloguing policy After cataloguing the book the librarian ticks the Catalogue column of the book s record in the accession book and then proceeds
120. otsi Tinovimba G Page 54 Algorithms as to Task Form Loading Raise the loading flag Form Activate If the loading flag is up Lower the loading flag Set the default sorting index to the Book number index If the table is empty Alert the user of the empty books table and dim all the record manipulating controls Else Display the first record in the table End if End if Display Record Routine If the books table is empty Alert the user of the empty books table and dim all the record manipulating controls Clear all the text boxes Else Enable all the record manipulation controls Enter the field data into the text boxes If the book is on loan then enable the loan data form link If the book is on request then enable the requisition data form link If the current record is the last record then dim the next button If the current record is the first record then dim the previous button End if Next Button If the books table is empty Alert the user of the empty books table and dim all the record manipulating controls Clear all the text boxes Else Move to the next record Ensure that the current record is not the End Of File marker Call the Display record routine End if Motsi Tinovimba G Page 55 Previous Button If the books table is empty Alert the user of the empty books table and dim all the record manipulating controls Clear all the text boxes Else Move to th
121. ou 3 can have a pattern of three letters followed by 5 digits where the 5 digits a represent a subscription code and the 3 letters represent the type of membership the subscriber has 9 Step 7 gives you an opportunity to review your entries before committing them To view all the entries specified save for the password that click on the white box labelled CURRENT SPECIFICATION To change anything click on back until you come to the step You will not be forced to renter anything correct you will have entered before If you are satisfied with the entries then choose Finish 10 If your Database Initialisation is successful you will be shown the window below After initialising your databases you must customise your system by defining your library policies See the section Customising Your System after this for more details eu Database Initialisation Initiafisation Complete You have successfully created the basic databases for Librarius 2000 Plus Y ou may now start up your system and set the other options using the setup in Librarius 2000 Plus Please refer to the section CUSTOMISING YOUR SYSTEM under Chapter 1 of your User Manual Choose Exit to end this program Figure 4 Successful Initialisation Motsi Tinovimba G Page 155 Customising Your System Before you begin using Librarius 2000 you will need to specify certain things to customise your system You may also revisit this section later to change
122. ould be change to OOMOOD The variable must be 6 characters long The third and sixth characters must be M and D respectively The number of months must be between 1 and 12 inclusive The number of days must be between 1 and 31 inclusive Confirm Loan Duration Interpret the loan duration and present it in a message box asking for confirmation Validate date Conditions e The date must be 10 characters long e The day must range from 1 to 31 inclusive e The month must be between 1 and 12 inclusive e The year must be between 1800 and 2100 inclusive Confirm date Interpret the date and present it in a message box asking for confirmation Validate numbers Variables passed Text box concerned Lower limit Upper limit Description Validate text Variables passed Text box Maximum length Permit null Procedure Strip the text of all leading and trailing spaces carriage returns and line feeds If the text is longer than the stated limit the Generate error Else if the text is a null string If nulls are allowed then Replace the text with a none Otherwise generate an error End if End if O Motsi Tinovimba G Page 71 Validate Subscriber ID Variables passed Text box concerned Conditions e The subscriber ID must be 8 characters long e The character pattern must match that in the subscription array Output e Anerror report with the affected text box highlighted Motsi Tinovimba G Page 72 Loan and Requisition Handling Borro
123. ows Adjust Date Time utility Jan 1980 Feb 1981 Feb 1982 Mar 1983 Apr 1984 May 1985 Jun 1986 July 1987 Aug 1988 Sept 1989 Oct 1990 Nov 1991 e Dec 1992 2 Use the Calendar utility to display each month 3 Compare the two Motsi Tinovimba G Page 148 Backupand Restore Test 11 01 Procedure 1 Print all the tables in the databases after carrying out all the above tests 2 Backup the databases 3 Delete the original databases 4 Restore the databases to a different location to ensure that the initialisation file is being updated properly 5 Print the new Database tables Expected results The backup should be restored to its previous state with the only addition being in the form of a transaction inserted to indicate the date of restoration in the user s log Repair Test 12 01 The ability to perform this test hinges on my ability to corrupt a Libra database Unfortunately I have so far been unable to do this despite trying to reset the computer during reads writes etc Motsi Tinovimba G Page 149 Motsi Tinovimba G Page 150 U ser M anual Chapter 1 Getting Started System Requirements To satisfactorily install and run Librarius 2000 Plus you will need l A computer running Windows 95 98 or 2000 2 A wide printer for printing reports and the paper to go with it 3 3MB of free hard disk space for the program 4 Space for the databases as advised by your vendor nstalli
124. p 1 you must specify the name of the individual or organisation that you would like Librarius to record as the registered owner This name would usually be the name of your parent organisation or Library whichever is more appropriate Once you specify this name you will not be able to change it without deleting your databases and starting all over again so you should make sure that you enter it correctly The name can be up to 30 characters A character is any letter digit or symbol you can type including the space 5 For Step 2 you must specify the profile of the primary user who will be referred to after this as Userl Enter the name and then the password you would like to assign this user twice in the two spaces provided These may each be up to 30 characters Motsi Tinovimba G Page 153 User1 will not be restricted by the system in any way and will be responsible for administrating the access privileges of the other two users so it is vital that this password be known by Userl alone You may change both later provided you know the current User 1 Password If you forget this password you will not be able to gain access to your databases with unlimited access as User 1 through Librarius 2000 Plus again as you will need to know the current Userl password before changing it 6 For Step 3 you must specify the location of the main Librarius database The databases will most likely all grow to quite a substantial size so you must c
125. peration End if Until Field verified Else Current position Current Position 1 End if Until the current character is the last character Motsi Tinovimba G Page 99 Building the merge array Array Structure Field Type Start End Set array dimensions 3 columns and 1 row Current_array_row 1 If the first character is then Array Field type Field name Else Array Field type Text info End if Array Start 1 Repeat If current character is then If not consecutive fields then Array End Current position 1 End if Current array row Current array row 1 Increment the number of rows in array by 1 Move to next row in array Array Field_type Field_name Array Start Current Position 1 Else if the current character is then Array End Current Position 1 If the current character is the last then Raise flag Array building through Else Increment Current position by 1 If the current character is then Raise flag Consecutive fields Else Lower flag Consecutive fields Increment the number of rows in the array by 1 Move to the next row in the array Array Field type Text info Array Start Current position End if End if Motsi Tinovimba G Page 100 Else If the current character is also the last character then Array End Current Position Raise flag Array building through Else Current Position Current Position 1 End if End if
126. quests from the Librarius 2000 Plus Task menu Requests ICE x Subscriber ID fi O000abe Details Mrs T Gurajena ge Expires Saturday 6 September 2003 D Borrowed D it 0 Can Borrow 7 Requested Of O Can Request Y Books 37 Title Intemational trade Otns Author Gatak 5 Figure 22 Requests Window Making a requisition l Enter the subscriber ID code of the subscriber in the subscriber ID box and press Enter Some useful subscription information including the full name of the subscriber will be displayed in the Details text box if the entered subscription code is valid The two numbers prefixed by a represent overdue books and expired requisitions respectively Enter the book number and press Enter If the book number is valid its Title and Author will be displayed in the respective text boxes If the displayed details are correct then press enter to confirm the requisition otherwise press any other key and repeat the second step along with this one Repeat the second and third steps to process any more requests concerning the same subscriber To process requisitions made by a different subscriber Click the New button or press F2 and choose New from the pop up menu Requests are automatically deleted when the subscriber borrows the book Motsi Tinovimba G Page 177 Managing loans and requisitions Once a book has been requested or borrowed a link will appear on i
127. r If it is a book search then Display the book record Else Display the subscription record End if End if Close Button Unload the search results form Save amp Print Menu Options Same as for the report form Motsi Tinovimba G Page 86 Direct SQL I nput Form Diaso O Task Menu Save Print Help Close Algorithms Form Load Ensure that only one instance of the program is running Form Activate If the form is loading then Open the main and transaction databases End if Execute Button Strip the SQL of all leading spaces tabs line feeds and carriage returns Ensure that the SQL is not a make table query Execute the query If the query fails to execute or does not return any records then Raise an error Else Load and run the Show SQL Results form End if Motsi Tinovimba G Page 87 Open Menu Get the file name Open the file If the file is not larger than 30 kb then Assign the file s contents to the text box End if Print Menu Get the printing specifications If the user wants to print only the selected set then Print the selected text only Else Print all the text in the text box End if Save Menu Get the file name Open the file for output Insert contents in the file specified Build SQL Menu Simulate a click of the Execute button Close Menu Simulate a click of the Close button Motsi Tinovimba G Page 88 SQL Program Results Form Fo
128. rd Until the end of the table is reached If the temporary search table is empty then Inform the user that no matches were found Else Load the Results form End if Motsi Tinovimba G Page 84 Search Results Form Search Results 0 0 0 0 Task Menu Save Print Help Close Books Borrowed Query Queries Parameter Subscriber Text Select From Books borrowed table Where Subscriber ID Subscriber Books Requested Query Parameter Subscriber Text Select From Books requested table Where Subscriber ID Subscriber Algorithms Form Activate Set the current record to 1 If itis a book search then Display the first book record Else Display the first subscription record End if Motsi Tinovimba G Displaying a book record Print Match x of y Include the book details from the books table Add the requisition and loan data if present Displaying a subscription record Print Match x of y Add the subscription details from the subscriptions table Execute the books borrowed query and append its output Execute the books requested query and append its output Next Button If the current record is not the last record then Increment the current record marker If it is a book search then Display the book record Else Display the subscription record End if End if Previous Button If the current record is not the first record then Decrement the current record marke
129. resesreresesererentressnresestneseneeerreeees 46 Subscriber Transaction LOG ss sccicssesssesssvebanesededansivnaesdvedssscencebseetezdtaatadeedsbechandeaesedsouns 47 LS 1010 CoA 12 MR ee a Une Coe CHa ee ere rr ere eee ne 48 Deregister d books table naien nereiidi aeeaiei itea iie iTia 48 Subscriptions Tables sisa pite taut Pr a e Dire eE EEE K PESEE sY 49 Terminated Subscriptions Table eeeeeeeeeseseseseseseessseresesrsesesrerrsreresesrsrreeesesrsrsesese 49 User log tablen e N a E E E E aS 49 Books Borrowed Table piirini naarn i aR soia 50 Books Requested Table airo ii te EEEE A cre rh E 50 jbanlEaro e E AEE xi Introduction so de codo atia bct Noe eran ASI Nd eee tan 51 File mandgement oso ence pon ott irt eo doce ota nem tati RA a aai ide etd 51 Loan and Requisition hanuling ipee ntt rae oa reato st ea Saee oco 51 System c nfig ration eenas m 51 Seateh VUES M 52 Report WEIBTIB nueces ide eser er E Dese PE pee sl ue ee bague AEAEE RAE Eee iu E Reap 52 Security managementa ee eee de eo o Ce D tn IE Du irt vis be brid N sacar 52 Database Management t 53 Pile Management onen o i Us eA t E dot oaa Ro E E ob RET E vid 54 Books Records Management euer reete ope etra rade etse pu stk pee ee obi aa epa pee augus 54 Poets oeste hese pees iad dst PC DI Su MT I S E 54 Input Rin e acetates cn ec a EEE EE crea er ee cde dala ehe ease bud esee deep R ees Deve E 54 Algorithmsas to Task o eio th tette Pete duh a d
130. ribute the workload relatively equitably over the then many librarians thus reducing the individual workload to a manageable level However further analysis reveals that although this applies in a theoretical world it is not practical Firstly an increase in the number of librarians would also mean paying out more salaries and wages and given the funding structure of the libraries any long term recurrent expenditure is not feasible Secondly people tend to have relatively similar preferences with regards to service deliverers This implies that the individual most liked would be swamped when on duty whilst the other librarians would be avoided Finally yet importantly having more librarians would reduce the level of accountability that is a bare necessity in all accuracy sensitive systems This lack of accountability would significantly reduce the pressure to perform reasonably and thus lead to more errors in the system Information Reorganisation This alternative is based on the assumption that the information in the library is not satisfactorily organised thus providing an opportunity to increase efficiency by simply reorganising the way the information is structured Whilst it is evident that the organisation of the information has become far from optimum over the last couple of years reorganising it without tackling the causes of this state would only result in a short term solution It therefore follows that although information reorganisat
131. ring will be deleted from the temporary search table At the end of the process only those containing the specified string will be left in the table and they will be presented to the Search results form Plan Queries Subscription searches Select INTO Search IN Working db path FROM Subscriber table Subscription Searches Select Books table Books borrowed table Books borrowed table Books borrowed table Books requested table Books requested table Date requested Books requested table Expiry Date INTO Search IN Working db path FROM Books requested table RIGHT JOIN Books table LEFT JOIN Books borrowed table ON Books table Book number Books borrowed table Book number ON books requested table book number Books table book number subscriber id as Out to Date borrowed Date due subscriber id as Requested by lI Ll Motsi Tinovimba G Page 83 Algorithm Set the start length and the number of records processed to 0 Create an empty working database Use the relevant make table query to build the source search table Record the initial table length Specify the column concerned Repeat If the field does not contain the string then delete the record Increment the number of records processed by 1 Calculate the percentage processed i e Number processed Initial table length Report the percentage processed Move to the next reco
132. rint i21 x Printer Name Acrobat PDFwriter Properties Status Default printer Ready Type Acrobat PDFwWriter 3 x Where LPT1 Comment Print to file m Print range Copies All Number of copies f1 C Pages tomb tr hp i Selection pi pi l Cancel Figure 32 Print Window 3 Select the printer you would like to use from the Printer Name drop down list 4 Every printer comes with options to allow you to change things like paper size and orientation landscape or portrait To access these options click on the Properties button of the print dialog For more information on changing these settings consult your printer s manual 5 Select whether you would like to print the whole text or just the selected text 6 Choose Print Changing the font Sometimes you may find it useful to print something in a larger type or in a different font Librarius allows you to change the font with which it normally displays and prints your text to any of the other fonts available on your system Motsi Tinovimba G Page 192 To change the font 1 Choose Font from the File menu 2 You will be presented with the standard Font dialog box listing all the fonts on your system that Librarius will be in a position to use Ultra Condensed Sans Ultra Condensed Sa VAG Rounded Light 3 Choose the font style and size you prefer 4 Choose OK Finding a word or phrase in a document
133. rm semsus 1 Grid Control j BPE Algorithms Form Load If the source recordset is not empty then Set the number of grid columns to the to the number of fields in the recordset Enter the field names Calculate the number of pages at 1000 rows per page Display the current page End if Next Button If the current page is not the last page then Increment the page counter Display the current page End if Back Button If the current page is not the first page then Decrement the page counter Display the current page End if Motsi Tinovimba G Page 89 Displaying the current page If the recordset is not empty then Move to the beginning of the current page Update the page indicator For each of the 1000 rows in the current page If the current record is the end of table marker then Clear the remaining cells Else For each of the fields in the current record Display as to type i e Date Boolean or otherwise Next End if Move to the next record Next End if Close Button Unload the results form Motsi Tinovimba G Page 90 SystemConfiguration Installation Program The setup program will be generated by the Visual Basic Package and deployment wizard Database nitialisation The database initialisation will be modelled along the lines of Setup Wizards with the steps outlined below Each step will be validated before the one after it is executed 1 A brief introduction to the initial
134. rs subscriber Text Select From books borrowed table Where subscriber id Subscriber Define the Query parameter Subscriber as the Subscriber s ID Execute the Query and ensure that it has returned some records before proceeding Load the books borrowed or requested form Customise the books borrowed or requested form Show the books borrowed or requested form Relocate the subscription record Redisplay the subscription data Motsi Tinovimba G Page 66 Deregistered Books Plan The plan is to have a simple form displaying one record at a time as detailed in the diagram below The form will have the same browsing features as the other file management forms but it will not have any editing capabilities The browsing features are detailed in the menu plan below the main diagram All the features will be based on the general file management algorithms detailed in the books form s design resisters spooks O Registered Deregisiered l Cancellation Remark _ Book Number Title Author Borrowing Fee Loan Period Library Class Dewey ISBN Publisher Supplier Remark Cancellation Remark _ Motsi Tinovimba G Page 67 Terminated Subscriptions Plan The terminated subscriptions form will be based on the design principles outlined under Deregistered Books Subscriber ID National ID Registered On Terminated On
135. s whether it e is fixed e varies from book to book e varies from subscriber to subscriber e depends on both the subscriber and the book concerned The fine per book per day How the borrowing limit is determined i e whether it e is fixed e varies from subscriber to subscriber e is calculated as the fixed limit lest the number of books requested e is calculated as the subscriber s personal limit less the number of books requested How the requisition limit is determined i e whether it eis fixed e is calculated as the fixed limit less the number of books borrowed How the loan duration is determined i e whether it e is fixed e varies from subscriber to subscriber e varies from book to book e is calculated as the sum of the subscriber s and book s loan duration duration of validity of requisitions calculated from the date on which the book will be due how dates should be formatted the paths of the databases the name password and level of a access for each user Security In the interest of system security and increasing accountability the system will also maintain a log of the users containing the following e The time during which the user was using the system e The user s name e The part of the system accessed e A unique session identification number for later reference Motsi Tinovimba G Page 41 The Grouping of Data tems I have decided to group the identified data items into the following tables Table Name
136. s utility s User log routines achieve Objective 6 The Security modules achieve Objective 7 by assigning Users 2 and 3 different access rights The Setup Utility achieves Objective 8 Motsi Tinovimba G Page 212 Opportunities for Improvement Although it is clear from the above analysis that all the specific objectives as outlined in the Problem analysis have been satisfactorily met there is still room for improvement in the following areas Installation The setup program registers an error when trying to register msjro dll The cause and implications of this error need to be investigated and addressed So far the system has been noted to perform as to design despite this Setup The set up process for the system should be integrated to allow the user to install configure databases and set the default setup table values in one go The more integrated the system the less room there will be for errors Subscriptions and Books It has been noted that the system of maintaining schemes through individual book and subscription records is not very conducive to change A proposed alternative to this would involve the creation of a scheme table that would define limits and charges An individual book or subscription record would then be linked to a particular scheme thus allowing all the records to be updated by just updating the scheme table Loans and Requisitions Most libraries issue out receipts when fines and borrowing fees are
137. scriber ID Book number Extra date Amount 10 ID ID Due date Borrowing fee 11 ID ID New due date Days extended by 20 ID ID Date due Fine if any 21 ID ID Date due 30 ID ID Expiry date 31 ID ID Expiry date 32 ID ID New expiry date Days extended by 33 ID ID Expiry date Motsi Tinovimba G Page 187 Executing a query 1 Start Direct SQL by choosing it from the Librarius program group 2 Type in the SQL It must start with Select and must not be a make table query File SELECT Subscriber ID Surname Subscriber Title Initials Expiry Date Home Address FROM Subscriber Table WHERE Expiry date lt 420 09 20008 ORDER BY Subscriber ID Figure 28 Direct SQL 3 Choose Execute If the SQL is executed successfully you will be presented with the SQL results window 4 n most cases the columns will not be the right width and some of the information will not be visible To adjust the column widths so as to display the column s information fully follow the following steps which resize the Surname column in the SQL results given on the next page Place the mouse pointer on the line on the Title bar between the Surname and Title fields and hold down the left mouse button The mouse pointer should change to a sideways facing arrow when you do this Without releasing the left mouse button move the pointer to the right to increase the width and to the left to reduce it gt Release the mouse button
138. sly wanting as far as their efficiency is concerned The volume of data which needs to be processed and stored has become so large that its management is now time consuming and laborious The extraction of information has also become so slow that by the time the information is available it will have become outdated and of limited if any use The heavy workload placed on the librarians is beginning to result in isolated but costly errors Errors in the initial recording of transactions worsened by the systems inability to detect or trace these errors within a reasonable time frame has led to the disappearance of many books without a trace This has also led to people losing what little confidence they had left in the systems especially when they are accused of having borrowed books which the will have not Some have also taken to manipulating these inadequacies so as to allow themselves to successfully defraud the libraries As far as change is concerned these systems like most other traditional systems lack the ability to assimilate new components into their structure A slight modification will often require that an unreasonably large portion of the system including components which will not even be directly related to the section needing modification also be changed Even after doing this the resulting system will often still be problem ridden It should also be noted that these traditional systems are heavily reliant on the experience of the li
139. st and foremost I would like to thank my mother and brother Maradza for all their support over the duration of this project I would also like to thank my friend Chancemore Matonhodze for his assistance with some of the bugs in the development 2000 version I am also indebted to the following for their contributions at various stages Research Mr B Beira of Mucheke Public Library Mr Muchemwa of the Margaret Sharpe Library Mrs L E John of the Civic Center Library Mrs Beverly and Judith of Mkwasine Country Club mplementation 1998 Mr Ndlovu Mr Mureyani both formerly of Victoria High School mplementation 2000 Mr Madzima Mr Museba and Mr Munodawafa all formerly of Victoria High School Mr Shumbaimwe and Mr Chamboko of Victoria High School Revision 2002 The technical support staff in the Department of Computer Science at the University of Zimbabwe with particular reference to Mr Chinyama and Mr Sidimeli Motsi Tinovimba G ii Motsi Tinovimba G n theloving memory of my F ather iii Q ve always tried to teach you two things first never let them see you bleed Bond A ndthesecond Q A lwayshaveanescapeplan_ from The World is Not Enough Motsi Tinovimba G Prefaeesuxae deer tectae sta ka vides Sa Suche Seabed crease fis ated DIE 1 ACKMOW usnsucse T iaie ii I c MM ETE E E EEREN ii H plem ntation 1998 SR aa e a asiaa ii Iniplementati n 2000s asss sducaccsatsdestesticss eco ipe
140. stence of the backup table Open the backup tables and populate the recordsets Create the main and transaction databases Copy the logs to the transaction databases along with the indexes Restore the Books log Restore the subscription log Restore the main log Update the database paths End if Motsi Tinovimba G Page 115 Restoring the Books log Also applies to Subscriber log If the log is not empty then Sort the records as to time Move to the first record Repeat If the record is a New Book transaction then Add its contents to a new record to the books table Else if it is an Edit record transaction then Locate the concerned book record Overwrite its contents with those in the log entry Else if is a Deregister Book transaction then Locate the book record Copy its contents into a new rec in the Deregistered Books table Add the deregistration details Delete the books table entry End if Until all the records have been read End if Restoring the Main Log If the log is not empty then Sort the records chronologically Move to the first record Repeat If itis a Make loan transaction then Add the record s details to the Borrowed books table Else if it is an Extend loan transaction then Locate the loan entry Overwrite its details with those in the log Else if it a Return or Delete loan transaction then Locate the loan entry Delete it Else if is a Make requisition transaction then Add th
141. ster Menu If the book is on loan or request Abort the deregistration operation Else Call the Global routine Deregister book or subscriber End if Go to first Go to last Menu If the books table is empty Inform the user and Disable all the record manipulation controls Else Move to the First Last record Call the display record routine End if Sort Menu Mark the displayed record Load the sort form Add all the books table indexes to the Sort form s Available Indexes list Specify the index in use to the Sort form Specify the table affected as the books table Display the Sort form Locate Menu Specify the table affected as the Books table Specify the index in use Load the Locate form If the locate form returns a Locate item Mark the displayed record Locate the locate item If the locate item is not found Redisplay the record which was being displayed before the failed location attempt Else Display the located record End if End if Report Menu Transfer the displayed data to a string Add to the string loan and requisition data if available Assign the string to the Report form s Text property Display the Report form Motsi Tinovimba G Page 59 Close Menu Activate the Close button Book number amp Borrowing fee Text Boxes Key Press Events If the key pressed does not represent a digit or the backspace key Then Cancel the Keystroke Else if adding the number represented by the key would result in a n
142. sual Basic Each of the modules will then be subjected to the first stage of testing to ensure that all of the specific objectives will have been met A more comprehensive test plan will be decided upon after I have come to grips with the demands of the design which I believe are still not yet clear but the plan will focus on ensuring that all modules work as to specifications and that the objectives have been met Motsi Tinovimba G Page 36 Choice of Programming Language Given the specific objectives and a choice between Visual Basic and Turbo Pascal I am of the opinion that the solution would be best implemented in Visual Basic because of the following reasons 1 Visual Basic s database management facilities with particular reference to the Visual Basic Jet Engine make it suitable for the development of systems that handle large amounts of data like library systems 2 Visual Basic s windows based Graphical User Interface development toolkit gives it a definite edge over Turbo Pascal s manual drawing methods in the development of user friendly interfaces especially in situations like this one where there is a severe time constraint 3 Visual Basic has an embedded Standard Query Language facility that would ease the achievement of the specific objective on wide database querying 4 Windows dominance in the PC Operating System market implies a significant reduction in training costs for those applications developed for novice users as
143. sword window Enter the password and press enter Enter the password again and press enter If the two entries match the password for that user will be set to the new password If they do not you will be asked to repeat steps 2 amp 3 At any point during the entry you can press Escape to cancel the operation gt For a user to be treated as Existing by the system you must specify both the user s name and password Although you can have a User 2 without a User 3 you cannot have a User 3 without a User 2 Once you have specified the above you should then proceed to use the Access Privileges utility to specify the user s access privileges A user will not be able to use the system until these have been set For more information see Chapter 6 Motsi Tinovimba G Page 160 The Start up Category The start up category allows you to specify the actions that should be undertaken when the system starts up 1 Confirm Date If you enable this property by marking it then the system will always prompt you to confirm the date and time whenever you start Librarius 2000 Plus Since a library system is very time sensitive you are advised to enable this option to ensure that Windows date and time errors do not jeopardise your data 2 Summary Statistics Enabling this option will result in Librarius 2000 giving you a summary of your database statistics as shows below when you start up File Summary stats Saturday 20
144. system variable relating to date formats Close Button Prompt the user to save the information If the user requests a Save operation then activate the Save button Unload the form Motsi Tinovimba G Page 93 Change Password Form Password Text box Keypress Event If the key is neither a letter nor a digit then Cancel the keystroke End if OK Button If the confirm flag is up then Compare the passwords in the text box s tag and text properties If the two passwords are the same then Place the password in the calling button s tag property Else Inform the user of the mismatch Clear the text box s tag and text properties to facilitate re entry Lower the confirm flag End if Else Assign the password in the text box s text property to its tag property Clear the text property Raise the confirm flag End if Motsi Tinovimba G Page 94 The Report Writing Utilities Main Report Form LibadwReprtMaker O File Edit Insert Memo Text Editing Session Motsi Tinovimba G Page 95 General Algorithms Form Activate If the form is loading then Open the main and transactions databases Get the preferred session from the user If the session is a mail merge session then Show the merge menu and hide the report menu Get the SQL source file s filename and open it If the file exists and is not empty then Check the integrity of the SQL Else Report the Error Load the text editing sessi
145. t card from 940 5 Bruckhill Paul eg 940 5 Bruckhill Paul 415 Escape to danger 2253 The dam busters Motsi Tinovimba G Page 18 Catalogue Cards VICTORIA HIGH SCHOUL LIBRARY moo IHEARIM EK S MM H 4578 The Romance of Physics 530 5346 Men of Chemistry 540 oor scH ye TORTA MARY 809 5 L NULL E 1 MAS 5899 Jane Austen s novels hib Jas Ruxtute RISE LA B 24120 In the eyes of Dian Steel S Motsi Tinovimba G Page 19 10953 NEILD MOLLY _ Feathers in The Mountains Motsi Tinovimba G Page 20 Interview Script li Are vou part of any larger orginisation lu 1 If voi are then please specify Name of organisation Nvetcowsex nibh Sereol Tepe Ce en mee 0 Aure oe 2 e 2 Approximately how many books and subscribers do vou have Books 1 OOF m Subscriber y PPS 3 Please specify the following about euch category of the booke von lave utegorv Name x nmed ont Borrowing Lonn Period 4 If vou offer more than one twpe ot membership then please specity tlie following lor each type where applicable Cie zones Borrowing oan Borrowed Fee Duration Motsi Tinovimba G Page 21 j Jo vou allow vour subscribers to request books which will be out so that thes may he the find to horny them when the are renisned we Met h Please state how vonr borrowin
146. t some information will be lost and if your system starts experiencing problems it maybe better to restore a backup file than to work with the repaired databases The repair utility is part of the optimise utility so repairing involves the same steps as Optimisation Motsi Tinovimba G Page 205 If only your main database has been corrupted and if you are sure that the Transactions logs are OK then your can guarantee yourself of a 100 recovery by doing the following 1 Repair the main database 2 Back up your database 3 Restore the backup file You however may still need to make some manual corrections to the Setup table after this Backing up your databases amp Librarius 2000 Backup Backup to Backup Help Close waiting for the name of the backup file Because of the uncertainties that surround the maintenance of databases and the misfortunes that are bound to eventually befall you the need to regularly backup your database can obviously not be over emphasised The Librarius 2000 Plus Backup Utility allows you to make a single compact database roughly the size of your transactions database containing a backup copy of all your databases The backup facility can however not backup your database to more than one disk i e once your transactions database is roughly 1 3MB long you will no longer be in a position to back it up to a 1 44 floppy diskette You can however backup your database to any disks recognised by your s
147. table subscriber id as Requested by Books requested table Date requested Books requested table Expiry Date FROM Books requested table right join Books table LEFT JOIN Books borrowed table ON Books table Book number Books borrowed table Book number ON books requested table book number Books table book number WHERE Books table Book number My Book Number Ss Motsi Tinovimba G Page 80 Book author search PARAMETERS My Book Author Text SELECT Books table Books borrowed table subscriber id as Out to Books borrowed table Date borrowed Books borrowed table Date due Books requested table subscriber id as Requested by Books requested table Date requested Books requested table Expiry Date FROM Books requested table RIGHT JOIN Books table LEFT JOIN Books borrowed table ON Books table Book number Books borrowed table Book number ON books requested table book number Books table book number WHERE Books table Book author My Book Author Book title search PARAMETERS My Book title Text SELECT Books table Books borrowed table subscriber id as Out to Books borrowed table Date borrowed Books borrowed table Date due Books requested table subscriber id as Requested by Books requested table Date requested Books requested table Expiry Date FROM Books requested table RIGHT JOIN Books ta
148. talPages D Jump topage 9 Sd Ok Button Ensure that a page number has been entered and it is not 0 Hide the form Page number Keypress Event Text box If the key is the backspace key then Remove the last character in the text if there is any Else if the key is not a digit Generate an error Else if adding the character to the number in the text box will result in a page greater than the available pages then generate an error Else Add the character to the text in the box End if Cancel the keystroke to stop VB from handling it Motsi Tinovimba G Page 112 Database Management Util ities Repair and Optimise Form Librarius 2000 Plus Repair and Optimise OK Button If the transactions box is marked then Repair and optimise the transaction database End if If the Main database is marked then Repair and Optimise the Main Database End if If the working database is marked then Delete it End if Repairing and optimising a database Get the names of the working and target databases from the initialisation file If the working database exists then Delete it End if Call the BDEngine compactDatabase using the working database as the destination Delete the original database Assign the working database the name of the target database Close Button End the program Motsi Tinovimba G Page 113 Backup Form Librarius 2000 Plus Backup Form Acti
149. ter Try to leave subscriber ID text box Error message blank Enter subscriber ID Enter subscriber ID W234TT67 Error message which does not obey the input mask The first fifth and sixth characters of DDDDDLLL should be identified as invalid Enter valid Subscriber ID 37652xyz The subscriber details should be pasted into the subscriber ID text box Try to loan out a book classified as Error message not loanable to 37652xyz by entering This book is classified as not 10 in the book number text box loanable Check ability to enter the correct title The title Aquifers and the author and author into the respective text Waugh D should appear in the text boxes by entering 5 in the book boxes along with the fixed cost of umber text box and pressing enter 7 in the cost text box Check on ability to record a loan by The books borrowed table should confirming the loan in test 3 06 by have the following entry added pressing Enter The loan period is Date Borr 18 09 2000 fixed at 01M04D Bk number 5 Subsc 37652XYZ Date due 22 10 200 O Motsi Tinovimba G Page 132 Using the Setup facility set the determination of loan period to Membership and cost determination to book Loan out book no 3 to 37652xyz Loan period is 0LM14D Loan period as to Bk Cost of Borr Mem Loan out bk 6 to 37652xyz Loan period is 00M21D Loan period as to Bk Cost of Borr Mem Bk Loan out bk 2 to 37652xyz Loan period is 00M28D Try to loan out b
150. th and year from the list given ChooseOK 5 The due date will be update along with the display Motsi Tinovimba G Page 179 To cancel a loan 1 Place the mouse pointer over the book number of the book whose loan you wish to cancel and hold down the left mouse button 2 Holding the left mouse button down move the mouse pointer towards the bin button The mouse pointer will change to a book 3 When the mouse pointer is directly above the bin release the mouse left button Ran ie uy 4 When you are prompted to confirm the cancelling of the loan choose Yes if you wish to cancel the loan The loan will be cancelled a confirmation message given and the display updated All the above procedures also apply to Requisitions Motsi Tinovimba G Page 180 Chapter 4 Finding Information Librarius 2000 Plus provides you with two methods for quickly finding information These are the Search facility and the SQL utility The Search Facility To gain access to the search facility choose search from the Librarius 2000 Plus Task menu This facility allows you to quickly obtain access to records that match a certain criteria Search of Xx Search On Subscriber s ID Search string Search Type Whole word C Embedded string Figure 26 Search Facility Window To find all the book or subscription records that match a certain criteria 1 From the Search On drop down list choose the
151. that this is a New book operation then Call the save new routine Otherwise Call the save edits routine End if Save New Routine Assign the text box data to a new record Enter the new book operation transaction Save Edits Routine Locate the affected book record Assign the text box data to a record Enter the edit book operation transaction including details of the edited columns Menu Edit If the books table is empty Abort operation Else Mark the Record being displayed Disable the Read Only Mode Reformat the Date registered to a short date Reformat the borrowing fee to cents only Disable access to the Book number text box Disable the find free number text box Enter the unedited property values in the tag properties of the controls Specify in the Save button s tag property that this is an Edit property End if Cancel Button Cancel all updates in progress Enable the read only mode Erase the text box data Reset the sorting index Display the record which was being displayed before the editing operation commenced Find Free Number Button For Trial number 1 to 2 147 483 647 Search for the trial number in the Current and Deregistered books tables If the trial number was not found in both the tables then Enter it in the Book number text box Exit the loop End if Next Motsi Tinovimba G Page 58 Insert Today s date Button Insert today s date in the date registered text box Use Short date format Deregi
152. the users would already be familiar with the Windows environment Motsi Tinovimba G Page 37 Database Design dentification of data items I have decided to categorise the data items that will need to be kept as to the various tasks likely to be performed by a standard library These tasks include Maintenance of book and subscriber records Loaning and returning books Making and processing requisitions Maintenance of data that defines the system Maintenance of a record of all transactions committed to the system Books Records Each book record we will need to maintain the following A unique book number Date registered Title Author International Standard Book Number ISBN Dewey Decimal Classification System Number Its class as to the library s classification system Publisher and place of publication Where the book was obtained i e Supplier Borrowing fee if books are loaned out at different fees Loan period if the loan period varies from one book to another A note as to whether the book can be loaned out or not Any additional notes In addition to the above when a book is de registered the following info which also need to be noted down Date deregistered Standard reason Any additional deregistration notes Motsi Tinovimba G Page 38 Subscription Records The following subscription details will need to be maintained e A unique library identification number The full name of the subscriber i e Title Ini
153. the Title Initials and Surname text boxes Register the unedited field values in the text boxes tag properties Enter Subscriber ID Lost focus event Text box If the control which now has the focus is the Cancel button then Confirm cancellation of the New Subscription operation If confirmed then cancel it by activating the Cancel button Otherwise validate the entered Subscriber ID End if Else if the control is the Help button then Hand over control without validating the subscriber ID Else Validate the subscriber ID End if Motsi Tinovimba G Page 65 Save Button Validate the subscriber ID If the save button s tag property indicates that this is a New subscription operation then If the subscription ID is not unique Give an error Abort the Operation End if End if Validate all the data entered using the Global Validation routines Ensure that the registration date is before the expiry date Confirm the subscription expiry date Confirm the subscription registered on date Confirm the loan duration Confirm the update If it is anew subscription record then Assign the text box data to a new record and save it Enter the new subscription transaction Else Locate the concerned subscription record Update the fields using the text box data Enter the Edit record transaction paying attention to the edited fields End if Books borrowed form link Use the following SQL to find all the books borrowed by the subscriber Paramete
154. tials and Surname A note for additional identification purposes e g National ID or Passport number e The date on which the subscription commenced e The day on which the subscription expires e The subscriber s borrowing limit if borrowing limits vary from one subscription to another e The subscriber s borrowing fee if borrowing fees vary from one subscription class to another e The subscriber s loan duration if the loan duration varies from one subscription to another e Home address and phone number e Contact address and phone number e Any additional notes When the subscription is terminated the following details will need to be added e Date deregistered e Reason for deregistration e Any additional deregistration notes Motsi Tinovimba G Page 39 Book loans For each book loaned out the following details will need to noted down e The date on which the book is loaned out The unique identification number of the book borrowed The unique identification code of the borrower The date on which it will be due The borrowing fee paid if any When the book is returned the following details will have to be noted down e The date on which it is returned e The day on which it was due e The fine paid if any If the loan period is extended or reduced for whatever reason then the following details will need to be noted down e The date on which it is adjusted e The new due date e The period by which the loan period has been adjusted by If
155. to file the catalogue cards At the present moment the library has over 13 000 books Each book has a small envelope stuck to its back cover in which a small card is kept When a book is borrowed its card is taken out of its envelope and placed in the borrower s envelope and the due date stamped on the book s due date form On returning the book the card is simply replaced and if the book is overdue the borrower is suspended for a period determined by the librarian at his own discretion The books in the library fall into four categories namely Fiction Non fiction Reference and Reserved The fiction category is made up of all works of fiction excluding Classics and all works in languages other than English Books considered too valuable to be loaned out like encyclopaedias are kept in the reference section whilst the reserve section is made up of new books which are also not loaned out A pile of requested books is also kept on the librarian s table and these can be taken to form an informal fifth section The requisition system is rather informal with a request being made by simply noting down the title of the book and the name of the person who will be requesting it When the book is returned the librarian ticks the entry and then cancels it when the book is borrowed or when he feels that the book has been on the request list for too long The two type of membership schemes offered by the library are quite similar with the only exception being
156. tons Hide the Save Help and Cancel button Disable access to the Find free number and Insert today s date command buttons Disable the editing capability of all the text boxes and the Loanable check box Allow access to the form s menu Else Hide the Next Previous and Close buttons Show the Save Help and Cancel button Enable access to the Find free number and Insert today s date command buttons Enable the editing capability of all the text boxes and the Loanable check box Disable access to the form s menu End if Save button Ensure that the book number is a valid long integer i e between 1 and 2 147 483 647 inclusive Use the validate numbers routine Global routine If the button s tag property registers that this is a new book operation Ensure that the number has not already been allocated to another book End if Validate the date registered using the Validate date routine Validate all the text entries Use the Validate text routine Global routine Ensure that the Borrowing fee is between 0 and 32 767 inclusive Validate Numbers Validate the loan duration using the global Validate Loan Duration Routine Confirm the loan duration Confirm the registration date Confirm saving the record Save the data Enable the read only mode Erase the text box data Restore the sorting index Locate the record just entered or modified Display the record O Motsi Tinovimba G Page 57 Save Data Routine If the command button s tag property indicates
157. ts record in the Books window to details of this loan and or request If the book has only been borrowed or requested then only the respective link will be shown To gain access the loan or requisition data click the corresponding link and a dialogue box like the one shown below will appear The one for requisitions is similar to the one for loans Loan Data Book No 5 Out to JE0000 k Miss H R Mandoreba Help Borrowed On Sunday 21 April 2002 Due On Sunday 5 May 2002 Close Figure 23 Loan Data Window The above mentioned dialogue boxes will only allow you to look at the data i e you will not be allowed to change it in any way To change the loan or requisition data you must use the dialogue boxes provided by the Subscriptions window The Subscriptions loan and requisition management window allows you to change the due expiry dates and to delete loans and requisitions The one for the loans is shown below Books Borrowed ID 60000jkI Miss H R Mandoreba Book number Date borrowed Due on 5 Sunday 21 April 2002 Sunday 5 May 2002 12 Sunday 21 April 2002 Sunday 5 May 2002 Figure 24 Loan Management Motsi Tinovimba G Page 178 To access either of the two subscription dialog boxes mentioned above 1 Open the Subscriptions window by choosing Subscriptions from the Database menu in Librarius 2000 Plus 2 Browse to the record of the concerned subscriber 3 Click the
158. ubscriber already has this book on loan Error message This book was actually loaned out to Miss H R Mandoreba 60000JKL Page 134 Test the effect of trying to return a book on record as not being on loan Subscriber 37652xyz Bk 37 Test the effect of returning a book on request Subscriber 60000JKL Bks 1 amp 4 Test the effect of borrowing books which you had earlier requested by having 37652xyz return book number 6 to make space for another loan and then borrow 4 which he has on request With a fine of 2 78 per day test the effect of returning an overdue book by simulation a 24 day period using the Windows Control panel and then having 37652xyz return books number 8 and 12 Motsi Tinovimba G Error message This book has not been loaned out 1 amp 4 should be added to the Requested text box The requisition entry for book number 4 should be deleted from the Request table and a loan entry made in the Book borrowed table In the subscriber details text box the following data is expected On loan 7 5 3 2 17 12 8 4 Overdue 2 12 amp 8 Requests 1 Expired 0 A fine of 47 26 17 2 78 for 8 A fine of 27 80 should be added for book number 12 to make the total fine 75 06 Page 135 Test the ability to determine subscription limits given various Setup settings Set the fixed limit to 7 and enter subscriber ID 60000JKL Change the determination to membership and refresh t
159. umber Receipt number A home address which should be in Masvingo In addition to the above the following records are kept about borrowers e National ID number e Business or School address e Contact telephone numbers The borrowers are also required to submit proof of the details they will provided and to fill in a special form which is filed Temporary members are given receipts as proof of payment and only the names and receipt numbers are taken down along with the date O Motsi Tinovimba G Page 6 The cataloguing of books in the library is on a chronological basis and the records are kept in an accession book The following details are kept about each book e Unique accession number Date registered Dewey decimal classification system number Library class Title Author Publisher and place of publication Supplier Remark i e any notes In addition each book has an identification card which acts as an independent record of the above details Dewey Author Class Title Publisher Town Country Year Number of Pages ISEN SBN Remarks The library is audited at irregular intervals by the municipal internal auditors During these audits the records are checked against the books in the library with all discrepancies being noted down for clarification later The librarian also prepares categorised totals of books and types of membership regularly for the municipal accountants along with lists of b
160. umber above the limit Cancel the Keystroke End if Motsi Tinovimba G Page 60 Sort Form Tasks Assign the index chosen by the User to the Global Sort Index variable for reference later by the calling form Algorithms by Controls Ok Assign the chosen Sort Index to the Global Sort Index variable Unload the form Close Unload the form Motsi Tinovimba G Page 61 Locate Form Tasks 1 Facilitate the inputting of the Locate item 2 Validate locate item if it concerns a date 3 Assign the locate item to a Global variable which can be referred to by the calling forms Table Sorted As To Locate DoS Algorithms by Task Ok Button If the index concerned is the Registered on index or the Deregistered on index or the Expires on index Then Use the validate date routine to validate the entered date Assign the locate item to a Global Variable Unload the locate form Cancel Button Unload the Locate form Motsi Tinovimba G Page 62 Report form Task Menu Save Print Help Close Save Button Use the Common Dialog control to obtain the file name Open a text file for output Insert the text in the form s text property in the file Close the file Print Button Use the Common dialog control to obtain the printer options Send the text displayed to the Printer End the Print job Close Button Unload the report form Save menu Activate the Save command button Print menu Activate the
161. vate Open the transactions and main database Backup Path Text Box Click Use the common dialog to obtain the file name Paste the filename in the path text box Backup Button If the backup path has been specified Confirm any pending overwrites Create the backup database Insert the following tables Main transaction log Books transaction log Subscriptions transaction log Users transaction log Setup table End insert Create the catalogue table End if Creating the Catalogue The catalogue should be structured as follows Identifier Variable Created Date Books records Number of records Long integer Subscriber records Number of records Long integer User Records Number of records Long integer Main records Number of records Long integer Finish flag True false Boolean Motsi Tinovimba G Page 114 Restore Utility Program ibrarius 2000 Plus Restore Source File 7 Destination Catalog Info baie C Main 3J Catalogue Info Button If all the filename of the backup file has been specified then Verify the existence of the backup table Open the catalogue table Paste its contents into a message box Append an analysis of the actual data in the database End if Restore Button If all the details have been entered then Ensure that the destinations are unique Ensure that the destinations are different from the source file Verify the exi
162. ve 1 Fixed 2 Fixed less Number borrowed Fixed requisition limit An integral amount between 0 and 20 inclusive Loan duration as to An integer between amp 4 inclusive 1 Fixed 2 Membership scheme 3 Type of book 4 Book Membership Fixed loan duration Standard loan duration format Requisition valid for As above Fixed loan duration User 1 Name 30 character string Password 30 character string User 2 Name 30 character string Password 30 character string Level of a access A binary string where each bit represents the access rights of the user to a specific area If the bit is 1 then access will be granted but if it is 0 access will be denied For example if there are 5 areas A B C D amp E and the string is 10010 then the user will only have access to areas A amp D User 3 Same as for User 2 Same as for User 2 Date format A valid VB date formatting string Motsi Tinovimba G Page 44 Main Transaction Log Table After analysing the data which I had identified as needing to be stored with each loan or requisition related transaction I discovered that all the transactions dealt with the following e the date on which the transaction occurred the book number of the book concerned the subscriber concerned an amount which will either be a fee a fine or a number of days an extra date which will either be a due or expiry date I have decided to ad
163. which each will be dealing with I have therefore decided to develop only one general set of algorithms on it Interface Main Log Form Main Tramsactionbog Subscriber Beokno Extra Date Amount ew e oj Motsi Tinovimba G Page 108 Algorithms Variables Page number _ integer Total pages integer MySQL string Loading flag Form Load Form Event Raise the Loading flag Form Activate Form Event If the form is loading then Verify table data and load first page End if Verify table data and load first page If the Books log is empty then If carrying out a filtering operation then Inform the user that there are no records which meet the specified filter condition End if Disable the next and back buttons and adjust the page indicator Else Specify the column widths and alignments Enter the column headers Repaginate the list Set the page to 1 Display the current page End if Next Button If the current page is not the last page Increment Page by 1 Display the current page End if Back Button If the current page is not the first page Page Page 1 Display the current page End if Motsi Tinovimba G Page 109 Display the current page Ensure that the Grid has 101 rows If the log is empty then Inform the user of the empty log Hide the next and back buttons and adjust the page indicator Else Enable the next and previous buttons Move to the start of the page c
164. wing form Subscriber ID Details Book number Title Author Total Cost Subscriber text box Keypress event If the key pressed was an enter key then Obtain the subscription details and paste them in the Details text box End if Subscriber text box Lostfocus Event If the control with the focus is a command button then Hand over the control of the form to the button Else Validate the subscriber ID End if Motsi Tinovimba G Page 73 Books text box Keypress event If the key pressed was the enter key then If the Confirm flag is down Validate the entered book number Ensure that the book can be loaned successfully Ensure that the subscription is valid Check the limit of the subscriber and ensure that he can borrow more books Enter the books title in the Book title text box Obtain the borrowing fee of the book Add the borrowing fee to the current total cost Enter the new Total cost in the Cost text box Raise the confirm flag Else Ensure that the subscription is valid once again Ensure that the book can be loaned out Make the loan Lower the Confirm flag Clear the Books Title and Author text boxes End if Else If the Confirm flag is up then Lower the Confirm flag Subtract the cost of the last book from the total cost and update the display Clear the Author and Title text boxes End if End if Get the borrowing fee Obtain the basis for the borrowing fee from the set up table If it is a fixed basis then Obtain
165. wira 70000dnh T Mafuva 10000abc T Gurajena 60000jkl H Mandoreba 65502gta G H Rusheil Exponential Functions 1 10 12 15 amp 17 Page 137 Search on Bk Title Search str International Whole word Search on Bk title Search str of Type Embedded Search on Book author Search str Waugh D Type Whole word The art of war 17 Relativity Theory of 2 Aquifers 5 Search on Book author Search str Dr Type Embedded Test the effect of not having a match during a whole word search Search on Subscriber ID Search str 92937Cal Type Whole word Test the effect of not having a match during an embedded string search Search on Book Title Search str zgs Type Embedded Test results window ability to save results in text format Repeat test 4 09 and choose Save from the File menu on the results window s Task menu Save the file as test409 Res and open it in notepad Malakov P Dr Laraka D Dr Andrakatta Error message Match not found Error message Match not found The file should appear as saved Alignment problems are expected due to differences in font sizes Test ability to print results using the data displayed in test 4 17 Motsi Tinovimba G Page 138 Loan requisition subscription and book records The requisition and loan data management share the same code therefore only the results from the loan data tests will be presented The requisition m
166. y and gt The year is a 4 digit number Alternatively you can enter today s date by simply clicking the button alongside the Registered on date Borrowing fee An amount in cents between and 32767 inclusive Loan period The loan duration ranging from 00M00D to 12M31D See the section The limits category under customising your system for more details on the format Loanable If this box is not marked then all attempts to loan it out will be blocked To mark or unmark this box click it or tab to it and press the space bar Library Class The library class to which the book belongs e g Fiction Maybe as long as 10 characters Dewey number The Dewey decimal classification system number for the book Maybe up to 15 characters ISBN The International Standard Book Number for the book Maybe up to 20 characters Publisher Up to 25 characters Supplier Optional Any notes you may wish to make Remark Optional Any notes you may wish to make 3 Choose Save 4 Confirm the details 5 Ifthe record is saved successfully it will be displayed in the browsing window Browsing through the book records The browsing techniques outlined under Current Subscriptions also apply to this section with the only difference being in the sorting indexes available The sorting indexes for the Books window are as follows 1 Title index Book number index 2 3 Author index 4 Registered o
167. ystem including the hard disks After backing up a copy to a location on your hard disk you can transfer it to floppy disks using the Windows backup utility accessible from the Accessories System Tools group For more information on how to use the Windows backup utility refer to the Windows manual To backup your database 1 Click the backup icon in the Librarius 2000 Plus program group 2 Enter your password 3 Click the Backup to text box and enter the filename of the backup utility 4 If you back up you file to the hard disk use the Windows backup utility to backup the backup file to floppy diskettes Motsi Tinovimba G Page 206 Restoring your databases A Librarius 2000 Restore Source file Restore Destinations 4 Catalog Info Transactions NEN Main EE Help Close Starting up If your database should be damaged beyond repair you can replace it with a backed up copy L pude D8 p p To do this If you transferred your backup copy to the floppies using the Windows Backup Utility use the Windows backup utility to move the file back to the hard disk Choose the Restore icon from the Librarius 2000 program group Enter your product password that is at the end of this user manual Click the Source File text box and specify the filename of the backup file Click the Transactions t
168. yy hh nn Else if it is a date filed without time info then Use the mask dd mm yyyy Else if it is a Boolean value then Replace True with Yes and False with No Else Assign the data as it is to a string End if Move the print position to the start position for the filed If the string contains a carriage return then Use the multi line printing routine Set Offset to the number of rows in the string Else Print the string as it is Set offset to 1 End if Add Offset to the Printer s current row position Next Next O Motsi Tinovimba G Page 97 Printing the Column headers For each row in the array Move the Printer s column pointer to the field s start position Print the field name Next Printing multi line text Declare the following All text read Variable for stopping the loop My line Variable for holding the text between 2 carriage returns Current_postn Pointer to the current character being read Start Count Variable for marking the read for the next line Start count 1 Strip the text of any leading spaces carriage returns and line feeds If there is no remaining text after stripping then exit the routine Repeat If the current characters is a carriage return or a line feed then MyLine Text between Start count and Current position 1 Move the x pointer to the field s start position Print MyLine Add 1 to both offset and the printer s current row Skip over line feeds and carriage returns If all the text has been

Download Pdf Manuals

image

Related Search

Related Contents

施工説明書はこちら(PDF 1.6MB)  MF Driver Installation Guide  Progression en français pour le CE2    滋賀県浄化槽取扱要綱事務処理細則  Téléchargement brochure Pacojet 1  navigazione bilance di precisione  

Copyright © All rights reserved.
Failed to retrieve file