ITECH7410 Software Engineering Methodologies Assignment - Formal Specification of a Library System Overview, Federation University, Australia
Task - Develop schema that will model a library - containing only books - and be able to perform the following tasks:
• Add a book
• Add a borrower
• Delete a book
• Delete a borrower
• Lend a book to a borrower
• Return a book from a borrower
• Enquire about a book
• Reserve a book
• Enquire about a reservation
• Cancel a reservation
• Buy a Book
• Receive a Book
• Report of Books on Loan
ORDER NEW ITECH7410 Z SCHEMA - LIBRARY SYSTEM ASSIGNMENT & GET 100% ORIGINAL SOLUTION AND QUALITY WRITTEN CONTENTS IN WELL FORMATS AND PROPER REFERENCING.
Answer - Z schema: Library system
Introduction
Library system has a complex structure and involves multiple datasets which need to be linked properly.
The best method to establish a structure is to apply a Z schema and test it with different inputs to find out if the library system is efficient to handle the customer queries.
Background
The proposed library system is expected to perform 12 operations related to 4 major states - borrower, lend, book and reservation.
Before drafting Z schema, it is essential to know the types of data to be handled and the roles played in this system.
In the subsequent slides, this will be discussed.
Datatypes
Objective is to develop a Z scheme for a simple library system that performs basic operations.
User defined types - [BOOKID, BORROWERID, LENDID, RESERVATIONID, NAME, PHONE_NUM, DATE]
Free types: STATUS :: AVAILABLE LEND SOLD WAITING CONFIRMED CANCELLED
REPORT :: SUCCESS BOOK_ALREADY_KNOWN BOOK_NOT_KNOWN
BORROWER_ALREADY_KNOWN BORROWER_NOT_KNOWN
GET GUARANTEED SATISFACTION OR MONEY BACK UNDER ITECH7410 Z SCHEMA - LIBRARY SYSTEM ASSIGNMENT HELP SERVICES OF EXPERTSMINDS.COM - ORDER TODAY NEW COPY OF THIS ASSIGNMENT!
State spaces
There are 4 states in this library - book, borrower, lend and reservation.
Error handling schemas
There are multiple instances of errors and the Z schemas are mentioned here:
Success: result! : REPORT
result! = SUCCESS
Already_Known_Book: Book
bookID? : BOOKID
result! : REPORT
bookID? books
result! = ALREADY_KNOWN_BOOK
Example: 54
Already known book
Already_Known_Borrower: Borrower
borrowerID? : BORROWERID
result! : REPORT
borrowerID? borrowers
result! = ALREADY_KNOWN_BORROWER
Example: 982
Already known
Not_Known_Book: Book
bookID? : BOOKID
result! : REPORT
bookID? books
result! = NOT_KNOWN_BOOK
Example: 9223
Not known book
Not_Known_Borrower
Borrower
borrowerID? : BORROWERID
result! : REPORT
borrowerID? Borrowers
result! = NOT_KNOWN_BORROWER
Example:
28
Not known
Book_Not_Available
Book
bookID? : BOOKID
result! : REPORT
status(bookID?) AVAILABLE
result! = BOOK_NOT_ AVAILABLE
Example:
53
Not available
DO WANT TO HIRE TUTOR FOR ORIGINAL ITECH7410 Z SCHEMA - LIBRARY SYSTEM ASSIGNMENT SOLUTION? AVAIL QUALITY ITECH7410 Z SCHEMA - LIBRARY SYSTEM ASSIGNMENT WRITING SERVICE AT BEST RATES!
Tasks
Operation 1: Add a book
Add_Book
Book
bookID? : BOOKID
title? : TITLE
authors? : NAME
publisher? : NAME
price? : bookID? Ï books
title = title{ bookID? title? }
authors = authors { bookID? authors?}
price = price { bookID? price?}
publisher = publisher { isbn? publisher?} status = status { bookID? AVAILABLE }
RAdd_Book (Add_Book Success) Already_Known_Book
Example: Input: 54, A guide to the project management, PMI, Pearson, $7.99 Output: Already known book
Operation 2: Add a borrower
Add_Borrower
Borrower
borrowerID? : BORROWERID
name? : NAME
location? : NAME
phone? : PHONE_NUM
borrowerID? Ï borrowers
name = name{ borrowerID? name? }
location = location { borrowerID? location?} phone = phone { borrowerID? phone?}
RAdd_Borrower (Add_ Borrower Success) Already_Known_ Borrower
Example: Inputs: 854, Jonathan, Queensland, 765128 Output: Success
Operation 3: Delete a book
Delete_Book
Book
bookID? : BOOKID
bookID? books
title = title{ bookID? }
authors = authors { bookID? }
publisher = publisher { bookID? } price = price { bookID? }
status = status{ bookID? }
RDelete_Book (Delete_Book Success) Not_Known_Book 4.
Example: Input: 7991 Output: Success
Operation 4: Delete a borrower
Delete_Borrower
Borrower
borrowerID? : BORROWERID
borrowerID? borrowers
name = name { borrowerID? } location = location { borrowerID? } phone = phone { borrowerID? }
RDelete_Borrower (Delete_ Borrower Success) Not_Known_ Borrower
Example: Input: 854 Output: Success
Operation 5: Lend a book to a borrower
Lend_Book
Borrower
Book
Lend
lendID? : LENDID
borrowerID? : BORROWERID
bookID? : BOOKID
borrowDate? : DATE
borrowerID? borrowers bookID? books status(bookID?)==AVAILABLE
status(bookID?) = LEND
book = book{ lendID? bookID?}
borrower = borrower{ lendID? borrowerID?}
borrowDate = borrowDate{ lendID? borrowDate?}
RLend_Book (Lend_Book Success) Not_Known_Borrower Not_Known_Book
Book_Not_Available
Example: Input: 161, 54, 855, 250519 Output: Book_Lended
GETTING STUCK WITH SIMILAR ITECH7410 Z SCHEMA - LIBRARY SYSTEM ASSIGNMENT? ENROL WITH EXPERTSMINDS'S ITECH7410 Z SCHEMA - LIBRARY SYSTEM ASSIGNMENT HELP SERVICES AND GET DISTRESSED WITH YOUR ASSIGNMENT WORRIES!
Operation 6: Return a book from a borrower
Return_Book
Book Lend lendID? : LENDID
returnDate? : DATE
lendID? Lends
returnDate = returnDate { lendID? returnDate} status(book(lendID? )) = AVAILABLE
Example:
Input: 161, 2905
Output: Success
Operation 7: Enquire about a book
Enquire_Book
Book
bookID? : BOOKID
result! : STATUS
bookID? books
result! = status(bookID? )
REnquire_Book Enquire _Book Not_Known_Book 8. Reserve a book
Example: Input: 54 Output: Available
Operation 8: Reserve book
Reserve_Book
Borrower
Book
Reservation
reservationID? : RESERVATIONID
borrowerID? : BORROWERID
bookID? : BOOKID
reserveDate? : DATE
bookID? books borrowerID? borrowers
status(reservationID?) = WAITING
book = book{ reservationID? bookID?}
orrower = borrower{ reservationID? borrowerID?}
reservationDate = reservationDate{ reservationNumber? reserveDate?}
RReserve_Book (Reserve_Book Success) Not_Known_Book Not_Known_Borrower
Example: Input: 6716 Output: Not known book
Operation 9: Enquire about a reservation
Enquire_Reservation
Reservation
reservationID? : RESERVATIONID
result! : STATUS
reservationID? reservations
result! = status(reservationID? )
Not_Known_Reservation
Reservation
reservationID? : RESERVATIONID
result! : STATUS
reservationID? reservations
result! = NOT_KNOWN_RESERVATION
REnquire_ Reservation Enquire _ Reservation Not_Known_ Reservation
Example: Input: 17 Output: Confirmed
Input: 31 Output: Not known reservation
ORDER NEW COPY OF ITECH7410 Z SCHEMA - LIBRARY SYSTEM ASSIGNMENT AND SECURE HIGHER MARKS!
Operation 10: Cancel a reservation
Cancel_Reservation Reservation
reservationID? : RESERVATIONID reservationID? reservations
status(reservationID? ) = CANCELLED
RCancel_ Reservation (Cancel_ Reservation Success) Not_Known_Reservation
Example: Input: 17 Output: Success
Operation 11: Buy a Book
Buy_Book Book
bookID? : BOOKID
bookID? books status(bookID? )== AVAILABLE
status(bookID? ) = SOLD
RBuy_Book (Buy_Book Success) Not_Known_Book
Example:
Input: 54
Output: Sold
Operation 12: Report of Books on Loan
Buy_Book
Book
lendBooks!: BOOKID
lendBooks! = {n:books | status(n)=LEND}
Example:
Input: 53 62 78 54
Output: 53
Predicates
x lends, borrower(x)
For every x in lends there is a borrower for x.
The statement is true
x lend, book(x)
For every x in lends there is a book for x.
The statement is true
x lend, borrowDate(x)
For every x in lends there is a borrow date for x.
The statement is true
Conclusion
The Z schema developed for 12 tasks has error handling efficiencies as well so that the user has a better experience.
Further, the variables are rightly chosen and integrated so that there is no redundancy and it is possible to eliminate data availability problems.
NEVER BE CAUGHT IN PLAGIARISM, AVAIL ITECH7410 Z SCHEMA - LIBRARY SYSTEM ASSIGNMENT HELP SERVICE OF EXPERTSMINDS.COM AND SAVE HIGHER MARKS!
Hire Expertsminds Tutors and get best Federation University, Australia Assignment Help Service for other courses and units such as -
- ITECH7400 - IT Service Management And Professional Culture Assignment Help
- ITECH7401 - Leadership In IT Project Management Assignment Help
- ITECH7402 Professional IT Culture
- ITECH7406 - Business Intelligence And Data Warehousing Assignment Help
- ITECH7407 - Real Time Analytics Assignment Help
- ITECH7408 - Social Media Strategy & Management Assignment Help
- ITECH7409 - Software Testing Assignment Help
- ITECH7413 - Supply Chain Operations And Management Assignment Help
- ITECH7415 - Masters Project Assignment Help
- ITECH7606 - Electronic Commerce Management Assignment Help