ITECH7410 Software Engineering Methodologies, Federation University, Australia
Library Management System
SAVE TOP GRADE USING ITECH7410 SOFTWARE ENGINEERING METHODOLOGIES ASSIGNMENT HELP SERVICE OF EXPERTSMINDS.COM!
Learning Outcomes Assessed: The following course learning outcomes are assessed by completing this assessment:
Skills: S1. Critically analyse and use complex decision making to research and determine the appropriate Software Engineering tools and methodologies to utilize in a given situation.
S2. Apply professional communication skills to support and manage the engineering of a large software system.
S3. Review, critically analyse and develop artefacts to define processes for quality assurance, risk management and communication in large software development projects.
S4. Implement quality assurance activities in order to verify user requirements and validate design decisions.
Application of knowledge and skills: A1. Analysis of a large system development problem to decide upon the best methodological approach.
A2. Development of appropriate artefacts to support and manage the software engineering process such as change control and configuration management.
Abstract: Library is a place with huge collection of books of various categories. Each book has its own features like title, authors, specific knowledge domain etc. So a library can be said as systematic storage and management of books so that it becomes very easy for searching any specific book from the huge space as per the user requirements. There are several activities which can also be called as the transactions in the library like any user registering him into the library, issuing the book, return the book within deadline, librarian maintaining the stock of available books, managing the fines or dues for non-returning book. In addition, the librarian also has the task of adding a new book in to the library, deleting the books. The entire task discussed here are really difficult in the librarian has to do it all manually. There has to be an automated system which a librarian can use for maintaining the different transactions of the library. The librarian will be the admin of the system who will have the access to all the various features of the system and will be responsible for stock maintenance for each type of book may be of different knowledge domain and customer fines for all those books which are not returned by the customer according to the due date.
Here, the library is also located at different locations with each location has its own stock of books available. A customer can also reserve a book if currently not available in the stock. There is also a feature in the system for buying a book if the customer wants to buy it instead of borrowing it. The basic details of all the customers and books are maintained by the system.
Question 1: Students will need to 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
Answer: Identification of Entities and Attributes:
Library_branch(branch_id, branch_name, address)
Book (book_id, book_title)
Book_author(book_id, author_name)
Book_copies(book_id, branch_id, course_id, no_of_copies)
Book_loans(loan_id, book_id, branch_id, card_no, date_out, date_in, due_date)
Reserve(reserve_id, book_title, card_no)
Lend(book_id, card_no)
Fines(loan_id, fine_amt, paid)
Return date(return_id, book_id, card_no, return_date)
Borrower(card_no, fname, lname, email, address, city, state, pincode)
Buy(order_id, card_no, book_title, price)
Date Types Used: Integer: This accepts any positive numeric value. Length range from 0 to 255.
Varchar : it accepts a string of variable length, allows the use of letters, numbers and special characters. Length can range from 0 to 65535.
Date: Accepts the date in the format YYYY-MM-DD.
Question 2: The schema must be consistent and be shown to work using examples.
Answer: E-R Diagram:
WORK TOGETHER WITH EXPERTSMIND'S TUTOR TO ACHIEVE SUCCESS IN ITECH7410 SOFTWARE ENGINEERING METHODOLOGIES ASSIGNMENT!
Question 3: Schema need to be annotated so that the Z statements are clearly expressed in plain language
Answer: Schema Diagram: It is an abstract representation of the ER diagram that will be used in the database design for any system. It also denotes how the different relations in the database are linked to each other using the unique attribute. It denotes the data types of the attributes in which they will be stored in the database. The constraints are shown in pictorially between the entities and attributes.
Demonstration Using Example Queries
1. Add a book
insert into book values(101, "Database Management System");
insert into book values(102, "SQL for practice");
insert into book values(103, "MongoDB");
insert into book values(104, "Transaction Management");
2. Add a borrower
insert into borrower values(10015, "John", "Hastings", "[email protected]", "55 Park Street", "SY", "Sydney", "555-66223");
insert into borrower values(10016, "Tom", "Hopes", "[email protected]", "88 Avenue", "FY", "Sydney", "555-77889");
3. Delete a book
delete from book where book_title ="MongoDB";
4. Delete a borrower
delete from borrower where card_no = 10016;
5. Lend a book to a borrower
insert into lend values("101", 10015);
6. Return a book from borrower
insert into return_book values(501, "101", 10015, "5/25/2019");
7. Enquire about a book
a. select book.book_id, book.book_title, book_authors.author_name from book,book_authors where book.book_id = book_authors.book_id;
b. select book.book_id, book.book_title, book_authors.author_name
frombook,book_authors
wherebook.book_id = book_authors.book_id and book_title = "SQL for practice";
8. Reserve a book
insert into reserve values (111, 10015, "Transaction Management");
9. Enquire about a reservation
selectreserve.reserve_id, reserve.card_no, borrower.fname, borrower.lname
fromreserve,borrower
wherereserve.card_no = borrower.card_no and book_title = "Transaction Management";
10. Cancel the reservation
delete from reserve where card_no = 10015;
11. Buy a book
insert into buy values(1000, 10015, "Transaction Management", 450);
insert into buy values(999, 10015, "Database Management System", 500);
12. Report of book on Loan
selectborrower.fname, borrower.lname, book_loans.card_no, book_loans.loan_id
from borrower, book_loans
whereborrower.card_no = book_loans.card_no;
Question 4: Write three (3) non-trivial predicate statements about your system; explain them and show that they are true.
Answer: Non Trivial Predicate Statements:
1. Everyone who borrows a book,also return book.
∀x (borrow (x, book) →return (x, book))
Explanation: For all values of book in borrower there must exist a value for the same book in return. If both the conditions holds true the final result of predicate also returns a true value.
2. Someone borrows a book and someone buys a book.
(∃x borrows (x) &∃x buy (x)) or (∃x borrows (x) &∃y buy (y))
Explanation: For any value of x in borrower a book can be borrowed and for the same value of x in buy the book can be purchased also. The same stands true even if different variable for borrow and buy are used. The predicate holds a true value for a book which can be borrowed as well as purchased.
3. Every borrower who returns a book after due date pays fines.
∀x ((borrower(x) & x = due_date) →fine( x))
Explanation: If a borrower who returns a book after the due date is over has to pay some fine for the same book. The predicate statement holds a true value for all the value of x in borrower and return and has a due date, also has the entry for the same book x in the fine table.
ORDER NEW ITECH7410 SOFTWARE ENGINEERING METHODOLOGIES ASSIGNMENT AND GET 100% ORIGINAL SOLUTION AND QUALITY WRITTEN CONTENTS IN WELL FORMATS AND PROPER REFERENCING!
Conclusion: The automated system developed for storing and managing the book in any library can reduce the complexity involved in the manual process. The ER diagram for the system is drawn using the tool ‘ERD Plus'. Number of entities is identified and relationship among them is also defined. The conversion or mapping of ER diagram into the corresponding schema diagram with Z notation is created which shows the structured and abstract design of the database. The schema diagram shows the relationship between different tables of the database using the primary and foreign key constraints. The database relations are normalized up to the 3 NF making it consistent.
The tool used for creation of database is mysql query browser, which is a graphical user interface for database design and executing the queries for testing the consistency of the database. For designing the database in MySQL query browser Data Definition Language (DDL) concept is used. Some of the DDL commands used are CREATE, ALTER, and DELETE. For testing the consistency of the database the given queries are executed using the Data Manipulation Language (DML) commands. Finally, few predicate statements for the given system are also framed and are proved for their correctness using the predicate logic concepts.
Access our Federation University, Australia Assignment Help Services for its related courses and academic units such as:
- 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
- ITECH7400 - IT Service Management And Professional Culture Assignment Help
- ITECH7401 - Leadership In IT Project Management Assignment Help
- ITECH7233 - Enterprise Architecture Assignment Help